@typespec/compiler 0.61.0-dev.2 → 0.61.0-dev.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "0.61.0-dev.2",
3
- "commit": "3d14d7c2c92ca598d818de213fd8b3a6d7f36124"
2
+ "version": "0.61.0-dev.4",
3
+ "commit": "3eed29834600d02c6a1ab3dd039188edf0fb2951"
4
4
  };
@@ -23,8 +23,7 @@ import { NoTarget, SyntaxKind, } from "./types.js";
23
23
  export function projectProgram(program, projections, startNode) {
24
24
  return createProjector(program, projections, startNode);
25
25
  }
26
- export async function compile(host, mainFile, options = {}, oldProgram // NOTE: deliberately separate from options to avoid memory leak by chaining all old programs together.
27
- ) {
26
+ export async function compile(host, mainFile, options = {}, oldProgram) {
28
27
  const validateCbs = [];
29
28
  const stateMaps = new Map();
30
29
  const stateSets = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { unsafe_useStateMap, unsafe_useStateSet } from "./state-accessor.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experimental/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { unsafe_useStateMap, unsafe_useStateSet } from "./state-accessor.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/experimental/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Program } from "../core/program.js";
2
+ import type { Type } from "../core/types.js";
3
+ type StateMapGetter<K extends Type, V> = (program: Program, type: K) => V | undefined;
4
+ type StateMapSetter<K extends Type, V> = (program: Program, type: K, value: V) => void;
5
+ type StateMapMapGetter<K extends Type, V> = (program: Program) => Map<K, V>;
6
+ /** @experimental */
7
+ export declare function unsafe_useStateMap<K extends Type, V>(key: symbol): [StateMapGetter<K, V>, StateMapSetter<K, V>, StateMapMapGetter<K, V>];
8
+ type StateSetGetter<K extends Type> = (program: Program, type: K) => boolean;
9
+ type StateSetSetter<K extends Type> = (program: Program, type: K) => void;
10
+ /** @experimental */
11
+ export declare function unsafe_useStateSet<K extends Type>(key: symbol): [StateSetGetter<K>, StateSetSetter<K>];
12
+ export {};
13
+ //# sourceMappingURL=state-accessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-accessor.d.ts","sourceRoot":"","sources":["../../../src/experimental/state-accessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,KAAK,cAAc,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;AACtF,KAAK,cAAc,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AACvF,KAAK,iBAAiB,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5E,oBAAoB;AACpB,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAClD,GAAG,EAAE,MAAM,GACV,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAMvE;AAED,KAAK,cAAc,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;AAC7E,KAAK,cAAc,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAE1E,oBAAoB;AACpB,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,IAAI,EAC/C,GAAG,EAAE,MAAM,GACV,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAKxC"}
@@ -0,0 +1,14 @@
1
+ /** @experimental */
2
+ export function unsafe_useStateMap(key) {
3
+ const getter = (program, target) => program.stateMap(key).get(target);
4
+ const setter = (program, target, value) => program.stateMap(key).set(target, value);
5
+ const mapGetter = (program) => program.stateMap(key);
6
+ return [getter, setter, mapGetter];
7
+ }
8
+ /** @experimental */
9
+ export function unsafe_useStateSet(key) {
10
+ const getter = (program, target) => program.stateSet(key).has(target);
11
+ const setter = (program, target) => program.stateSet(key).add(target);
12
+ return [getter, setter];
13
+ }
14
+ //# sourceMappingURL=state-accessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-accessor.js","sourceRoot":"","sources":["../../../src/experimental/state-accessor.ts"],"names":[],"mappings":"AAOA,oBAAoB;AACpB,MAAM,UAAU,kBAAkB,CAChC,GAAW;IAEX,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,MAAS,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,MAAS,EAAE,KAAQ,EAAE,EAAE,CACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9D,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAgB,CAAC,CAAC;AAC5C,CAAC;AAKD,oBAAoB;AACpB,MAAM,UAAU,kBAAkB,CAChC,GAAW;IAEX,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,MAAS,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,MAAS,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAElF,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1B,CAAC"}
@@ -7,6 +7,7 @@ export { serializeValueAsJson } from "./examples.js";
7
7
  export * from "./service.js";
8
8
  export { ExampleOptions };
9
9
  export declare const namespace = "TypeSpec";
10
+ declare const getSummary: (program: Program, type: Type) => string | undefined;
10
11
  /**
11
12
  * @summary attaches a documentation string. It is typically used to give a short, single-line
12
13
  * description, and can be used in combination with or instead of @doc.
@@ -17,7 +18,7 @@ export declare const namespace = "TypeSpec";
17
18
  * @summary can be specified on any language element -- a model, an operation, a namespace, etc.
18
19
  */
19
20
  export declare const $summary: SummaryDecorator;
20
- export declare function getSummary(program: Program, type: Type): string | undefined;
21
+ export { getSummary };
21
22
  /**
22
23
  * @doc attaches a documentation string. Works great with multi-line string literals.
23
24
  *
@@ -77,6 +78,7 @@ export declare const $error: ErrorDecorator;
77
78
  * Check if the type is an error model or a descendant of an error model.
78
79
  */
79
80
  export declare function isErrorModel(program: Program, target: Type): boolean;
81
+ declare const getFormat: (program: Program, type: Type) => string | undefined;
80
82
  /**
81
83
  * `@format` - specify the data format hint for a string type
82
84
  *
@@ -91,7 +93,8 @@ export declare function isErrorModel(program: Program, target: Type): boolean;
91
93
  * `@format` can be specified on a type that extends from `string` or a `string`-typed model property.
92
94
  */
93
95
  export declare const $format: FormatDecorator;
94
- export declare function getFormat(program: Program, target: Type): string | undefined;
96
+ export { getFormat };
97
+ declare const getPatternData: (program: Program, type: Type) => PatternData | undefined;
95
98
  export interface PatternData {
96
99
  readonly pattern: string;
97
100
  readonly validationMessage?: string;
@@ -107,6 +110,7 @@ export declare const $pattern: PatternDecorator;
107
110
  * @returns the pattern string, if one was set
108
111
  */
109
112
  export declare function getPattern(program: Program, target: Type): string | undefined;
113
+ export {
110
114
  /**
111
115
  * Gets the associated pattern data, including the pattern regular expression and optional validation message, if any
112
116
  * has been set.
@@ -115,7 +119,7 @@ export declare function getPattern(program: Program, target: Type): string | und
115
119
  * @param target - the type to get the pattern data for
116
120
  * @returns the pattern data, if any was set
117
121
  */
118
- export declare function getPatternData(program: Program, target: Type): PatternData | undefined;
122
+ getPatternData, };
119
123
  export declare const $minLength: MinLengthDecorator;
120
124
  export declare const $maxLength: MaxLengthDecorator;
121
125
  export declare const $minItems: MinItemsDecorator;
@@ -124,13 +128,14 @@ export declare const $minValue: MinValueDecorator;
124
128
  export declare const $maxValue: MaxValueDecorator;
125
129
  export declare const $minValueExclusive: MinValueExclusiveDecorator;
126
130
  export declare const $maxValueExclusive: MaxValueExclusiveDecorator;
131
+ declare const isSecret: (program: Program, type: Type) => boolean;
127
132
  /**
128
133
  * Mark a string as a secret value that should be treated carefully to avoid exposure
129
134
  * @param context Decorator context
130
135
  * @param target Decorator target, either a string model or a property with type string.
131
136
  */
132
137
  export declare const $secret: SecretDecorator;
133
- export declare function isSecret(program: Program, target: Type): boolean | undefined;
138
+ export { isSecret };
134
139
  export type DateTimeKnownEncoding = "rfc3339" | "rfc7231" | "unixTimestamp";
135
140
  export type DurationKnownEncoding = "ISO8601" | "seconds";
136
141
  export type BytesKnownEncoding = "base64" | "base64url";
@@ -142,10 +147,12 @@ export interface EncodeData {
142
147
  encoding?: DateTimeKnownEncoding | DurationKnownEncoding | BytesKnownEncoding | string;
143
148
  type: Scalar;
144
149
  }
150
+ declare const getEncode: (program: Program, type: ModelProperty | Scalar) => EncodeData | undefined;
145
151
  export declare const $encode: EncodeDecorator;
146
- export declare function getEncode(program: Program, target: Scalar | ModelProperty): EncodeData | undefined;
152
+ export { getEncode };
153
+ declare const getVisibility: (program: Program, type: Type) => string[] | undefined;
147
154
  export declare const $visibility: VisibilityDecorator;
148
- export declare function getVisibility(program: Program, target: Type): string[] | undefined;
155
+ export { getVisibility };
149
156
  export declare const $withVisibility: WithVisibilityDecorator;
150
157
  export declare function isVisible(program: Program, property: ModelProperty, visibilities: readonly string[]): boolean;
151
158
  export declare const $withOptionalProperties: WithOptionalPropertiesDecorator;
@@ -168,8 +175,10 @@ export declare function isListOperation(program: Program, target: Operation): bo
168
175
  export declare const $tag: TagDecorator;
169
176
  export declare function getTags(program: Program, target: Type): string[];
170
177
  export declare function getAllTags(program: Program, target: Namespace | Interface | Operation): string[] | undefined;
178
+ declare const getFriendlyName: (program: Program, type: Type) => string | undefined;
171
179
  export declare const $friendlyName: FriendlyNameDecorator;
172
- export declare function getFriendlyName(program: Program, target: Type): string;
180
+ export { getFriendlyName };
181
+ declare const getKnownValues: (program: Program, type: Type) => Enum | undefined;
173
182
  /**
174
183
  * `@knownValues` marks a string type with an enum that contains all known values
175
184
  *
@@ -182,7 +191,7 @@ export declare function getFriendlyName(program: Program, target: Type): string;
182
191
  * @param knownValues Must be an enum.
183
192
  */
184
193
  export declare const $knownValues: (context: DecoratorContext, target: Scalar | ModelProperty, knownValues: Enum) => void;
185
- export declare function getKnownValues(program: Program, target: Scalar | ModelProperty): Enum | undefined;
194
+ export { getKnownValues };
186
195
  /**
187
196
  * `@key` - mark a model property as the key to identify instances of that type
188
197
  *
@@ -213,6 +222,8 @@ export declare const $deprecated: DeprecatedDecorator;
213
222
  * @param type Type
214
223
  */
215
224
  export declare function getDeprecated(program: Program, type: Type): string | undefined;
225
+ declare const getOverloads: (program: Program, type: Operation) => Operation[] | undefined;
226
+ declare const getOverloadedOperation: (program: Program, type: Operation) => Operation | undefined;
216
227
  /**
217
228
  * `@overload` - Indicate that the target overloads (specializes) the overloads type.
218
229
  * @param context DecoratorContext
@@ -220,20 +231,21 @@ export declare function getDeprecated(program: Program, type: Type): string | un
220
231
  * @param overloadBase The operation to be overloaded.
221
232
  */
222
233
  export declare const $overload: OverloadDecorator;
223
- /**
224
- * Get all operations that are marked as overloads of the given operation
225
- * @param program Program
226
- * @param operation Operation
227
- * @returns An array of operations that overload the given operation.
228
- */
229
- export declare function getOverloads(program: Program, operation: Operation): Operation[] | undefined;
234
+ export {
230
235
  /**
231
236
  * If the given operation overloads another operation, return that operation.
232
237
  * @param program Program
233
238
  * @param operation The operation to check for an overload target.
234
239
  * @returns The operation this operation overloads, if any.
235
240
  */
236
- export declare function getOverloadedOperation(program: Program, operation: Operation): Operation | undefined;
241
+ getOverloadedOperation,
242
+ /**
243
+ * Get all operations that are marked as overloads of the given operation
244
+ * @param program Program
245
+ * @param operation Operation
246
+ * @returns An array of operations that overload the given operation.
247
+ */
248
+ getOverloads, };
237
249
  /**
238
250
  * `@projectedName` - Indicate that this entity should be renamed according to the given projection.
239
251
  * @param context DecoratorContext
@@ -263,20 +275,24 @@ export declare function getProjectedName(program: Program, target: Type, project
263
275
  */
264
276
  export declare function hasProjectedName(program: Program, target: Type, projectionName: string): boolean;
265
277
  export declare const $discriminator: DiscriminatorDecorator;
278
+ declare const getParameterVisibility: (program: Program, type: Type) => string[] | undefined;
266
279
  export declare const $parameterVisibility: ParameterVisibilityDecorator;
280
+ export {
267
281
  /**
268
282
  * Returns the visibilities of the parameters of the given operation, if provided with `@parameterVisibility`.
269
283
  *
270
284
  * @see {@link $parameterVisibility}
271
285
  */
272
- export declare function getParameterVisibility(program: Program, entity: Operation): string[] | undefined;
286
+ getParameterVisibility, };
287
+ declare const getReturnTypeVisibility: (program: Program, type: Type) => string[] | undefined;
273
288
  export declare const $returnTypeVisibility: ReturnTypeVisibilityDecorator;
289
+ export {
274
290
  /**
275
291
  * Returns the visibilities of the return type of the given operation, if provided with `@returnTypeVisibility`.
276
292
  *
277
293
  * @see {@link $returnTypeVisibility}
278
294
  */
279
- export declare function getReturnTypeVisibility(program: Program, entity: Operation): string[] | undefined;
295
+ getReturnTypeVisibility, };
280
296
  export interface Example extends ExampleOptions {
281
297
  readonly value: Value;
282
298
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../src/lib/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,iCAAiC,EACjC,+BAA+B,EAC/B,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,EACvB,6BAA6B,EAC7B,iCAAiC,EAClC,MAAM,kCAAkC,CAAC;AAoB1C,OAAO,EAEL,OAAO,EAoBR,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAEL,gBAAgB,EAGhB,IAAI,EAGJ,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EAGT,SAAS,EACT,MAAM,EAEN,IAAI,EACJ,KAAK,EAEL,KAAK,EACN,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,eAAO,MAAM,SAAS,aAAa,CAAC;AAkBpC;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,EAAE,gBAWtB,CAAC;AAEF,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE3E;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,EAAE,YAWlB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAEzE;AAED,eAAO,MAAM,WAAW,EAAE,mBAOzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAE1F;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAErF;AAED,eAAO,MAAM,UAAU,EAAE,kBAOxB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAEzF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAEpF;AAED,eAAO,MAAM,YAAY,EAAE,oBAK1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,wBAK9B,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,IAAI,MAAM,CAMhG;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,IAAI,MAAM,CAMjG;AA6DD;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,cAGpB,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAYpE;AAMD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,EAAE,eAoBrB,CAAC;AAEF,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE5E;AAMD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,eAAO,MAAM,QAAQ,EAAE,gBAkBtB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,WAAW,GAAG,SAAS,CAEtF;AAID,eAAO,MAAM,UAAU,EAAE,kBAcxB,CAAC;AAIF,eAAO,MAAM,UAAU,EAAE,kBAexB,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,iBAuBvB,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,iBAsBvB,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,iBAwBvB,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,iBAuBvB,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,0BAwBhC,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,0BAuBhC,CAAC;AAKF;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,eAUrB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAE5E;AAED,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,CAAC;AAC5E,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,CAAC;AAC1D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,MAAM,CAAC;IACvF,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,eAAO,MAAM,OAAO,EAAE,eAerB,CAAC;AAsGF,wBAAgB,SAAS,CACvB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GAAG,aAAa,GAC7B,UAAU,GAAG,SAAS,CAExB;AAMD,eAAO,MAAM,WAAW,EAAE,mBAQzB,CAAC;AAEF,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,SAAS,CAElF;AAMD,eAAO,MAAM,eAAe,EAAE,uBAO7B,CAAC;AAEF,wBAAgB,SAAS,CACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,SAAS,MAAM,EAAE,WAIhC;AAYD,eAAO,MAAM,uBAAuB,EAAE,+BAMrC,CAAC;AAIF,eAAO,MAAM,yBAAyB,EAAE,iCASvC,CAAC;AAIF,eAAO,MAAM,yBAAyB,EAAE,iCAmBvC,CAAC;AAIF,eAAO,MAAM,qBAAqB,EAAE,6BAmBnC,CAAC;AAIF,eAAO,MAAM,qBAAqB,EAAE,6BAUnC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,aAkBnB,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS,CAEtF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAG5E;AAOD,eAAO,MAAM,IAAI,EAAE,YAWlB,CAAC;AAGF,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,CAEhE;AAID,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GACxC,MAAM,EAAE,GAAG,SAAS,CAmBtB;AAMD,eAAO,MAAM,aAAa,EAAE,qBAiC3B,CAAC;AAEF,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,CAEtE;AAGD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,YACd,gBAAgB,UACjB,MAAM,GAAG,aAAa,eACjB,IAAI,SA6BlB,CAAC;AAcF,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,SAAS,CAEjG;AAID;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,EAAE,YAkBlB,CAAC;AAEF,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,WAE9D;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,CAE5E;AAED,eAAO,MAAM,yBAAyB,EAAE,iCA+BvC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,mBAMzB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE9E;AAKD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,iBA8BvB,CAAC;AA0BF;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,SAAS,CAE5F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,SAAS,GAAG,SAAS,CAEvB;AAID;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,sBAY5B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,IAAI,GACX,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,IAAI,EACZ,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,SAAS,CAEpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAEhG;AAqBD,eAAO,MAAM,cAAc,EAAE,sBAgB5B,CAAC;AAIF,eAAO,MAAM,oBAAoB,EAAE,4BAOlC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAEhG;AAID,eAAO,MAAM,qBAAqB,EAAE,6BAOnC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAEjG;AAED,MAAM,WAAW,OAAQ,SAAQ,cAAc;IAC7C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AACD,MAAM,WAAW,SAAU,SAAQ,cAAc;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;CAC7B;AAGD,eAAO,MAAM,QAAQ,EAAE,gBA+BtB,CAAC;AAEF,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,aAAa,GACpD,SAAS,OAAO,EAAE,CAEpB;AAGD,eAAO,MAAM,UAAU,EAAE,kBA8CxB,CAAC;AAoBF,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,CAE9E"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../src/lib/decorators.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { compilerAssert, getDiscriminatedUnion, getTypeName, ignoreDiagnostics,
4
4
  import { getDocDataInternal, getMaxItemsAsNumeric, getMaxLengthAsNumeric, getMaxValueAsNumeric, getMaxValueExclusiveAsNumeric, getMinItemsAsNumeric, getMinLengthAsNumeric, getMinValueAsNumeric, getMinValueExclusiveAsNumeric, setDiscriminator, setDocData, setMaxItems, setMaxLength, setMaxValue, setMaxValueExclusive, setMinItems, setMinLength, setMinValue, setMinValueExclusive, } from "../core/intrinsic-type-state.js";
5
5
  import { createDiagnostic, reportDiagnostic } from "../core/messages.js";
6
6
  import { SyntaxKind, } from "../core/types.js";
7
+ import { useStateMap, useStateSet } from "./utils.js";
7
8
  export { $encodedName, resolveEncodedName } from "./encoded-names.js";
8
9
  export { serializeValueAsJson } from "./examples.js";
9
10
  export * from "./service.js";
@@ -20,7 +21,7 @@ function replaceTemplatedStringFromProperties(formatString, sourceObject) {
20
21
  function createStateSymbol(name) {
21
22
  return Symbol.for(`TypeSpec.${name}`);
22
23
  }
23
- const summaryKey = createStateSymbol("summary");
24
+ const [getSummary, setSummary] = useStateMap("summary");
24
25
  /**
25
26
  * @summary attaches a documentation string. It is typically used to give a short, single-line
26
27
  * description, and can be used in combination with or instead of @doc.
@@ -34,11 +35,9 @@ export const $summary = (context, target, text, sourceObject) => {
34
35
  if (sourceObject) {
35
36
  text = replaceTemplatedStringFromProperties(text, sourceObject);
36
37
  }
37
- context.program.stateMap(summaryKey).set(target, text);
38
+ setSummary(context.program, target, text);
38
39
  };
39
- export function getSummary(program, type) {
40
- return program.stateMap(summaryKey).get(type);
41
- }
40
+ export { getSummary };
42
41
  /**
43
42
  * @doc attaches a documentation string. Works great with multi-line string literals.
44
43
  *
@@ -175,14 +174,14 @@ function validateTargetingAString(context, target, decoratorName) {
175
174
  return valid;
176
175
  }
177
176
  // -- @error decorator ----------------------
178
- const errorKey = createStateSymbol("error");
177
+ const [getErrorState, setErrorState] = useStateSet("error");
179
178
  /**
180
179
  * `@error` decorator marks a model as an error type.
181
180
  * Any derived models (using extends) will also be seen as error types.
182
181
  */
183
182
  export const $error = (context, entity) => {
184
183
  validateDecoratorUniqueOnNode(context, entity, $error);
185
- context.program.stateSet(errorKey).add(entity);
184
+ setErrorState(context.program, entity);
186
185
  };
187
186
  /**
188
187
  * Check if the type is an error model or a descendant of an error model.
@@ -193,7 +192,7 @@ export function isErrorModel(program, target) {
193
192
  }
194
193
  let current = target;
195
194
  while (current) {
196
- if (program.stateSet(errorKey).has(current)) {
195
+ if (getErrorState(program, current)) {
197
196
  return true;
198
197
  }
199
198
  current = current.baseModel;
@@ -201,7 +200,7 @@ export function isErrorModel(program, target) {
201
200
  return false;
202
201
  }
203
202
  // -- @format decorator ---------------------
204
- const formatValuesKey = createStateSymbol("formatValues");
203
+ const [getFormat, setFormat] = useStateMap("format");
205
204
  /**
206
205
  * `@format` - specify the data format hint for a string type
207
206
  *
@@ -224,13 +223,11 @@ export const $format = (context, target, format) => {
224
223
  if (targetType.kind === "Scalar" && isIntrinsicType(context.program, targetType, "bytes")) {
225
224
  reportDeprecated(context.program, "Using `@format` on a bytes scalar is deprecated. Use `@encode` instead. https://github.com/microsoft/typespec/issues/1873", target);
226
225
  }
227
- context.program.stateMap(formatValuesKey).set(target, format);
226
+ setFormat(context.program, target, format);
228
227
  };
229
- export function getFormat(program, target) {
230
- return program.stateMap(formatValuesKey).get(target);
231
- }
228
+ export { getFormat };
232
229
  // -- @pattern decorator ---------------------
233
- const patternValuesKey = createStateSymbol("patternValues");
230
+ const [getPatternData, setPatternData] = useStateMap("patternValues");
234
231
  export const $pattern = (context, target, pattern, validationMessage) => {
235
232
  validateDecoratorUniqueOnNode(context, target, $pattern);
236
233
  if (!validateTargetingAString(context, target, "@pattern")) {
@@ -240,7 +237,7 @@ export const $pattern = (context, target, pattern, validationMessage) => {
240
237
  pattern,
241
238
  validationMessage,
242
239
  };
243
- context.program.stateMap(patternValuesKey).set(target, patternData);
240
+ setPatternData(context.program, target, patternData);
244
241
  };
245
242
  /**
246
243
  * Gets the pattern regular expression associated with a given type, if one has been set.
@@ -254,6 +251,7 @@ export const $pattern = (context, target, pattern, validationMessage) => {
254
251
  export function getPattern(program, target) {
255
252
  return getPatternData(program, target)?.pattern;
256
253
  }
254
+ export {
257
255
  /**
258
256
  * Gets the associated pattern data, including the pattern regular expression and optional validation message, if any
259
257
  * has been set.
@@ -262,9 +260,7 @@ export function getPattern(program, target) {
262
260
  * @param target - the type to get the pattern data for
263
261
  * @returns the pattern data, if any was set
264
262
  */
265
- export function getPatternData(program, target) {
266
- return program.stateMap(patternValuesKey).get(target);
267
- }
263
+ getPatternData, };
268
264
  // -- @minLength decorator ---------------------
269
265
  export const $minLength = (context, target, minLength) => {
270
266
  validateDecoratorUniqueOnNode(context, target, $minLength);
@@ -376,7 +372,7 @@ export const $maxValueExclusive = (context, target, maxValueExclusive) => {
376
372
  setMaxValueExclusive(program, target, maxValueExclusive);
377
373
  };
378
374
  // -- @secret decorator ---------------------
379
- const secretTypesKey = createStateSymbol("secretTypes");
375
+ const [isSecret, markSecret] = useStateSet("secretTypes");
380
376
  /**
381
377
  * Mark a string as a secret value that should be treated carefully to avoid exposure
382
378
  * @param context Decorator context
@@ -387,12 +383,10 @@ export const $secret = (context, target) => {
387
383
  if (!validateTargetingAString(context, target, "@secret")) {
388
384
  return;
389
385
  }
390
- context.program.stateMap(secretTypesKey).set(target, true);
386
+ markSecret(context.program, target);
391
387
  };
392
- export function isSecret(program, target) {
393
- return program.stateMap(secretTypesKey).get(target);
394
- }
395
- const encodeKey = createStateSymbol("encode");
388
+ export { isSecret };
389
+ const [getEncode, setEncodeData] = useStateMap("encode");
396
390
  export const $encode = (context, target, encoding, encodeAs) => {
397
391
  validateDecoratorUniqueOnNode(context, target, $encode);
398
392
  const encodeData = computeEncoding(context.program, encoding, encodeAs);
@@ -401,7 +395,7 @@ export const $encode = (context, target, encoding, encodeAs) => {
401
395
  }
402
396
  const targetType = getPropertyType(target);
403
397
  validateEncodeData(context, targetType, encodeData);
404
- context.program.stateMap(encodeKey).set(target, encodeData);
398
+ setEncodeData(context.program, target, encodeData);
405
399
  };
406
400
  function computeEncoding(program, encodingOrEncodeAs, encodeAs) {
407
401
  const strType = program.checker.getStdType("string");
@@ -486,20 +480,16 @@ function validateEncodeData(context, target, encodeData) {
486
480
  return check(["numeric"], ["string"]);
487
481
  }
488
482
  }
489
- export function getEncode(program, target) {
490
- return program.stateMap(encodeKey).get(target);
491
- }
483
+ export { getEncode };
492
484
  // -- @visibility decorator ---------------------
493
- const visibilitySettingsKey = createStateSymbol("visibilitySettings");
485
+ const [getVisibility, setVisibility, getVisibilityStateMap] = useStateMap("visibilitySettings");
494
486
  export const $visibility = (context, target, ...visibilities) => {
495
487
  validateDecoratorUniqueOnNode(context, target, $visibility);
496
- context.program.stateMap(visibilitySettingsKey).set(target, visibilities);
488
+ setVisibility(context.program, target, visibilities);
497
489
  };
498
- export function getVisibility(program, target) {
499
- return program.stateMap(visibilitySettingsKey).get(target);
500
- }
490
+ export { getVisibility };
501
491
  function clearVisibilities(program, target) {
502
- program.stateMap(visibilitySettingsKey).delete(target);
492
+ getVisibilityStateMap(program).delete(target);
503
493
  }
504
494
  export const $withVisibility = (context, target, ...visibilities) => {
505
495
  filterModelPropertiesInPlace(target, (p) => isVisible(context.program, p, visibilities));
@@ -604,21 +594,21 @@ export function isListOperation(program, target) {
604
594
  return program.stateMap(listPropertiesKey).has(target);
605
595
  }
606
596
  // -- @tag decorator ---------------------
607
- const tagPropertiesKey = createStateSymbol("tagProperties");
597
+ const [getTagsState, setTags] = useStateMap("tagProperties");
608
598
  // Set a tag on an operation, interface, or namespace. There can be multiple tags on an
609
599
  // operation, interface, or namespace.
610
600
  export const $tag = (context, target, tag) => {
611
- const tags = context.program.stateMap(tagPropertiesKey).get(target);
601
+ const tags = getTagsState(context.program, target);
612
602
  if (tags) {
613
603
  tags.push(tag);
614
604
  }
615
605
  else {
616
- context.program.stateMap(tagPropertiesKey).set(target, [tag]);
606
+ setTags(context.program, target, [tag]);
617
607
  }
618
608
  };
619
609
  // Return the tags set on an operation or namespace
620
610
  export function getTags(program, target) {
621
- return program.stateMap(tagPropertiesKey).get(target) || [];
611
+ return getTagsState(program, target) || [];
622
612
  }
623
613
  // Merge the tags for a operation with the tags that are on the namespace or
624
614
  // interface it resides within.
@@ -641,7 +631,7 @@ export function getAllTags(program, target) {
641
631
  return tags.size > 0 ? Array.from(tags).reverse() : undefined;
642
632
  }
643
633
  // -- @friendlyName decorator ---------------------
644
- const friendlyNamesKey = createStateSymbol("friendlyNames");
634
+ const [getFriendlyName, setFriendlyName] = useStateMap("friendlyNames");
645
635
  export const $friendlyName = (context, target, friendlyName, sourceObject) => {
646
636
  // workaround for current lack of functionality in compiler
647
637
  // https://github.com/microsoft/typespec/issues/2717
@@ -661,12 +651,10 @@ export const $friendlyName = (context, target, friendlyName, sourceObject) => {
661
651
  if (sourceObject) {
662
652
  friendlyName = replaceTemplatedStringFromProperties(friendlyName, sourceObject);
663
653
  }
664
- context.program.stateMap(friendlyNamesKey).set(target, friendlyName);
654
+ setFriendlyName(context.program, target, friendlyName);
665
655
  };
666
- export function getFriendlyName(program, target) {
667
- return program.stateMap(friendlyNamesKey).get(target);
668
- }
669
- const knownValuesKey = createStateSymbol("knownValues");
656
+ export { getFriendlyName };
657
+ const [getKnownValues, setKnownValues] = useStateMap("knownValues");
670
658
  /**
671
659
  * `@knownValues` marks a string type with an enum that contains all known values
672
660
  *
@@ -702,7 +690,7 @@ export const $knownValues = (context, target, knownValues) => {
702
690
  return;
703
691
  }
704
692
  }
705
- context.program.stateMap(knownValuesKey).set(target, knownValues);
693
+ setKnownValues(context.program, target, knownValues);
706
694
  };
707
695
  function isEnumMemberAssignableToType(program, typeName, member) {
708
696
  const memberType = member.value !== undefined ? typeof member.value : "string";
@@ -715,10 +703,8 @@ function isEnumMemberAssignableToType(program, typeName, member) {
715
703
  return false;
716
704
  }
717
705
  }
718
- export function getKnownValues(program, target) {
719
- return program.stateMap(knownValuesKey).get(target);
720
- }
721
- const keyKey = createStateSymbol("key");
706
+ export { getKnownValues };
707
+ const [getKey, setKey] = useStateMap("key");
722
708
  /**
723
709
  * `@key` - mark a model property as the key to identify instances of that type
724
710
  *
@@ -738,13 +724,13 @@ export const $key = (context, entity, altName) => {
738
724
  return;
739
725
  }
740
726
  // Register the key property
741
- context.program.stateMap(keyKey).set(entity, altName || entity.name);
727
+ setKey(context.program, entity, altName || entity.name);
742
728
  };
743
729
  export function isKey(program, property) {
744
- return program.stateMap(keyKey).has(property);
730
+ return getKey(program, property) !== undefined;
745
731
  }
746
732
  export function getKeyName(program, property) {
747
- return program.stateMap(keyKey).get(property);
733
+ return getKey(program, property) || property.name;
748
734
  }
749
735
  export const $withDefaultKeyVisibility = (context, entity, visibility) => {
750
736
  const keyProperties = [];
@@ -792,8 +778,8 @@ export const $deprecated = (context, target, message) => {
792
778
  export function getDeprecated(program, type) {
793
779
  return getDeprecationDetails(program, type)?.message;
794
780
  }
795
- const overloadedByKey = createStateSymbol("overloadedByKey");
796
- const overloadsOperationKey = createStateSymbol("overloadsOperation");
781
+ const [getOverloads, setOverloads] = useStateMap("overloadedByKey");
782
+ const [getOverloadedOperation, setOverloadBase] = useStateMap("overloadsOperation");
797
783
  /**
798
784
  * `@overload` - Indicate that the target overloads (specializes) the overloads type.
799
785
  * @param context DecoratorContext
@@ -815,9 +801,9 @@ export const $overload = (context, target, overloadBase) => {
815
801
  });
816
802
  }
817
803
  // Save the information about the overloaded operation
818
- context.program.stateMap(overloadsOperationKey).set(target, overloadBase);
804
+ setOverloadBase(context.program, target, overloadBase);
819
805
  const existingOverloads = getOverloads(context.program, overloadBase) || new Array();
820
- context.program.stateMap(overloadedByKey).set(overloadBase, existingOverloads.concat(target));
806
+ setOverloads(context.program, overloadBase, existingOverloads.concat(target));
821
807
  };
822
808
  function areOperationsInSameContainer(op1, op2) {
823
809
  return op1.interface || op2.interface
@@ -838,24 +824,21 @@ function getBaseInterface(int1) {
838
824
  ? int1
839
825
  : getBaseInterface(int1.projectionSource);
840
826
  }
841
- /**
842
- * Get all operations that are marked as overloads of the given operation
843
- * @param program Program
844
- * @param operation Operation
845
- * @returns An array of operations that overload the given operation.
846
- */
847
- export function getOverloads(program, operation) {
848
- return program.stateMap(overloadedByKey).get(operation);
849
- }
827
+ export {
850
828
  /**
851
829
  * If the given operation overloads another operation, return that operation.
852
830
  * @param program Program
853
831
  * @param operation The operation to check for an overload target.
854
832
  * @returns The operation this operation overloads, if any.
855
833
  */
856
- export function getOverloadedOperation(program, operation) {
857
- return program.stateMap(overloadsOperationKey).get(operation);
858
- }
834
+ getOverloadedOperation,
835
+ /**
836
+ * Get all operations that are marked as overloads of the given operation
837
+ * @param program Program
838
+ * @param operation Operation
839
+ * @returns An array of operations that overload the given operation.
840
+ */
841
+ getOverloads, };
859
842
  const projectedNameKey = createStateSymbol("projectedNameKey");
860
843
  /**
861
844
  * `@projectedName` - Indicate that this entity should be renamed according to the given projection.
@@ -924,33 +907,31 @@ export const $discriminator = (context, entity, propertyName) => {
924
907
  }
925
908
  setDiscriminator(context.program, entity, discriminator);
926
909
  };
927
- const parameterVisibilityKey = createStateSymbol("parameterVisibility");
910
+ const [getParameterVisibility, setParameterVisibility] = useStateMap("parameterVisibility");
928
911
  export const $parameterVisibility = (context, entity, ...visibilities) => {
929
912
  validateDecoratorUniqueOnNode(context, entity, $parameterVisibility);
930
- context.program.stateMap(parameterVisibilityKey).set(entity, visibilities);
913
+ setParameterVisibility(context.program, entity, visibilities);
931
914
  };
915
+ export {
932
916
  /**
933
917
  * Returns the visibilities of the parameters of the given operation, if provided with `@parameterVisibility`.
934
918
  *
935
919
  * @see {@link $parameterVisibility}
936
920
  */
937
- export function getParameterVisibility(program, entity) {
938
- return program.stateMap(parameterVisibilityKey).get(entity);
939
- }
940
- const returnTypeVisibilityKey = createStateSymbol("returnTypeVisibility");
921
+ getParameterVisibility, };
922
+ const [getReturnTypeVisibility, setReturnTypeVisibility] = useStateMap("returnTypeVisibility");
941
923
  export const $returnTypeVisibility = (context, entity, ...visibilities) => {
942
924
  validateDecoratorUniqueOnNode(context, entity, $returnTypeVisibility);
943
- context.program.stateMap(returnTypeVisibilityKey).set(entity, visibilities);
925
+ setReturnTypeVisibility(context.program, entity, visibilities);
944
926
  };
927
+ export {
945
928
  /**
946
929
  * Returns the visibilities of the return type of the given operation, if provided with `@returnTypeVisibility`.
947
930
  *
948
931
  * @see {@link $returnTypeVisibility}
949
932
  */
950
- export function getReturnTypeVisibility(program, entity) {
951
- return program.stateMap(returnTypeVisibilityKey).get(entity);
952
- }
953
- const exampleKey = createStateSymbol("examples");
933
+ getReturnTypeVisibility, };
934
+ const [getExamplesState, setExamples] = useStateMap("examples");
954
935
  export const $example = (context, target, _example, options) => {
955
936
  const decorator = target.decorators.find((d) => d.decorator === $example && d.node === context.decoratorTarget);
956
937
  compilerAssert(decorator, `Couldn't find @example decorator`, context.decoratorTarget);
@@ -961,19 +942,18 @@ export const $example = (context, target, _example, options) => {
961
942
  return;
962
943
  }
963
944
  }
964
- let list = context.program.stateMap(exampleKey).get(target);
945
+ let list = getExamplesState(context.program, target);
965
946
  if (list === undefined) {
966
947
  list = [];
967
- context.program.stateMap(exampleKey).set(target, list);
948
+ setExamples(context.program, target, list);
968
949
  }
969
950
  list.push({ value: rawExample, ...options });
970
951
  };
971
952
  export function getExamples(program, target) {
972
- return program.stateMap(exampleKey).get(target) ?? [];
953
+ return getExamplesState(program, target) ?? [];
973
954
  }
974
- const opExampleKey = createStateSymbol("opExamples");
975
- export const $opExample = (context, target, _example, options // TODO: change `options?: ExampleOptions` when tspd supports it
976
- ) => {
955
+ const [getOpExamplesState, setOpExamples] = useStateMap("opExamples");
956
+ export const $opExample = (context, target, _example, options) => {
977
957
  const decorator = target.decorators.find((d) => d.decorator === $opExample && d.node === context.decoratorTarget);
978
958
  compilerAssert(decorator, `Couldn't find @opExample decorator`, context.decoratorTarget);
979
959
  const rawExampleConfig = decorator.args[0].value;
@@ -990,10 +970,10 @@ export const $opExample = (context, target, _example, options // TODO: change `o
990
970
  return;
991
971
  }
992
972
  }
993
- let list = context.program.stateMap(opExampleKey).get(target);
973
+ let list = getOpExamplesState(context.program, target);
994
974
  if (list === undefined) {
995
975
  list = [];
996
- context.program.stateMap(opExampleKey).set(target, list);
976
+ setOpExamples(context.program, target, list);
997
977
  }
998
978
  list.push({ parameters, returnType, ...options });
999
979
  };
@@ -1006,6 +986,6 @@ function checkExampleValid(program, value, target, diagnosticTarget) {
1006
986
  return assignable;
1007
987
  }
1008
988
  export function getOpExamples(program, target) {
1009
- return program.stateMap(opExampleKey).get(target) ?? [];
989
+ return getOpExamplesState(program, target) ?? [];
1010
990
  }
1011
991
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/lib/decorators.ts"],"names":[],"mappings":"AA0CA,OAAO,EACL,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAGL,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,EACP,gBAAgB,EAChB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAgBL,UAAU,GAKX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,cAAc,cAAc,CAAC;AAG7B,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;AAEpC,SAAS,oCAAoC,CAAC,YAAoB,EAAE,YAAkB;IACpF,mEAAmE;IACnE,IAAI,YAAY,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC9C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE;QACtD,OAAQ,YAAoB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAChD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAqB,CACxC,OAAyB,EACzB,MAAY,EACZ,IAAY,EACZ,YAAmB,EACnB,EAAE;IACF,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,GAAG,oCAAoC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,IAAU;IACrD,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,IAAI,GAAiB,CAChC,OAAyB,EACzB,MAAY,EACZ,IAAY,EACZ,YAAmB,EACnB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,GAAG,oCAAoC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IACD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;AACpF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,OAAgB,EAAE,MAAY;IACnD,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAwB,CAC9C,OAAyB,EACzB,MAAiB,EACjB,IAAY,EACZ,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;AACvF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,MAAiB;IACnE,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAiB;IAC/D,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAuB,CAC5C,OAAyB,EACzB,MAAiB,EACjB,IAAY,EACZ,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;AACtF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAiB;IAClE,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAiB;IAC9D,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAyB,CAAC,OAAO,EAAE,MAAY,EAAE,IAAY,EAAE,EAAE;IACxF,sCAAsC;IACtC,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA6B,CAAC,OAAO,EAAE,MAAY,EAAE,IAAY,EAAE,EAAE;IAChG,sCAAsC;IACtC,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,OAAmC,EAAE,MAAY;IAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxF,OAAO,CACL,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAC9F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAmC,EAAE,MAAY;IAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzF,OAAO,CACL,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAC/F,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,IAAU,EAAE,SAAkC;IAC9D,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAyB,EACzB,MAA8B,EAC9B,aAAqB;IAErB,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE;gBACN,SAAS,EAAE,aAAa;gBACxB,EAAE,EAAE,0BAA0B;aAC/B;YACD,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAC/B,OAAyB,EACzB,MAA8B,EAC9B,aAAqB;IAErB,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACzF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE;gBACN,SAAS,EAAE,aAAa;gBACxB,EAAE,EAAE,yBAAyB;aAC9B;YACD,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6CAA6C;AAE7C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAmB,CAAC,OAAyB,EAAE,MAAa,EAAE,EAAE;IACjF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAY;IACzD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,GAAsB,MAAM,CAAC;IACxC,OAAO,OAAO,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6CAA6C;AAE7C,MAAM,eAAe,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,OAAO,GAAoB,CACtC,OAAyB,EACzB,MAA8B,EAC9B,MAAc,EACd,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;QAC1F,gBAAgB,CACd,OAAO,CAAC,OAAO,EACf,2HAA2H,EAC3H,MAAM,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,MAAY;IACtD,OAAO,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,8CAA8C;AAE9C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAO5D,MAAM,CAAC,MAAM,QAAQ,GAAqB,CACxC,OAAyB,EACzB,MAA8B,EAC9B,OAAe,EACf,iBAA0B,EAC1B,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEzD,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAgB;QAC/B,OAAO;QACP,iBAAiB;KAClB,CAAC;IAEF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAAY;IACvD,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,MAAY;IAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,gDAAgD;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAuB,CAC5C,OAAyB,EACzB,MAA8B,EAC9B,SAAkB,EAClB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAE3D,IACE,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;QACxD,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAClF,CAAC;QACD,OAAO;IACT,CAAC;IACD,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,gDAAgD;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAuB,CAC5C,OAAyB,EACzB,MAA8B,EAC9B,SAAkB,EAClB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAE3D,IACE,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;QACxD,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,EAClF,CAAC;QACD,OAAO;IACT,CAAC;IAED,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,+CAA+C;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAsB,CAC1C,OAAyB,EACzB,MAAY,EACZ,QAAiB,EACjB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAE1D,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE;gBACN,SAAS,EAAE,WAAW;gBACtB,EAAE,EAAE,gBAAgB;aACrB;YACD,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO;IACT,CAAC;IAED,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,gDAAgD;AAEhD,MAAM,CAAC,MAAM,SAAS,GAAsB,CAC1C,OAAyB,EACzB,MAAY,EACZ,QAAiB,EACjB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAE1D,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE;gBACN,SAAS,EAAE,WAAW;gBACtB,EAAE,EAAE,gBAAgB;aACrB;YACD,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;QACrF,OAAO;IACT,CAAC;IAED,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,+CAA+C;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAsB,CAC1C,OAAyB,EACzB,MAA8B,EAC9B,QAAiB,EACjB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1D,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,IACE,CAAC,aAAa,CACZ,OAAO,EACP,QAAQ,EACR,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;QAC3C,6BAA6B,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CACzD,EACD,CAAC;QACD,OAAO;IACT,CAAC;IACD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,+CAA+C;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAsB,CAC1C,OAAyB,EACzB,MAA8B,EAC9B,QAAiB,EACjB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1D,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,IACE,CAAC,aAAa,CACZ,OAAO,EACP,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;QAC3C,6BAA6B,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EACxD,QAAQ,CACT,EACD,CAAC;QACD,OAAO;IACT,CAAC;IACD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,wDAAwD;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAA+B,CAC5D,OAAyB,EACzB,MAA8B,EAC9B,iBAA0B,EAC1B,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACnE,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC;QACtE,OAAO;IACT,CAAC;IAED,IACE,CAAC,aAAa,CACZ,OAAO,EACP,iBAAiB,EACjB,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;QAC3C,6BAA6B,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CACzD,EACD,CAAC;QACD,OAAO;IACT,CAAC;IACD,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,wDAAwD;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAA+B,CAC5D,OAAyB,EACzB,MAA8B,EAC9B,iBAA0B,EAC1B,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACnE,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC;QACtE,OAAO;IACT,CAAC;IAED,IACE,CAAC,aAAa,CACZ,OAAO,EACP,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;QAC3C,6BAA6B,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EACxD,iBAAiB,CAClB,EACD,CAAC;QACD,OAAO;IACT,CAAC;IACD,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC3D,CAAC,CAAC;AACF,6CAA6C;AAE7C,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAoB,CACtC,OAAyB,EACzB,MAA8B,EAC9B,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,OAAgB,EAAE,MAAY;IACrD,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAeD,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,OAAO,GAAoB,CACtC,OAAyB,EACzB,MAA8B,EAC9B,QAAqC,EACrC,QAAiB,EACjB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACpD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,SAAS,eAAe,CACtB,OAAgB,EAChB,kBAA+C,EAC/C,QAA4B;IAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,QAAQ,IAAI,OAAO,CAAC;IAC7C,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAClE,CAAC;SAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC;QACxC,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,kBAAkB,CAAC,cAAc,IAAI,kBAAkB,CAAC;QAC7E,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;YAC7B,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,UAAU;gBACrB,MAAM,EAAE,kBAAkB;aAC3B,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IACtC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAyB,EAAE,MAAY,EAAE,UAAsB;IACzF,SAAS,KAAK,CAAC,YAA2B,EAAE,gBAA+B;QACzE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACvE,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YAChC,OAAO,iBAAiB,CACtB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAC1E,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,WAAW;gBACtB,MAAM,EAAE;oBACN,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,QAAQ;oBACzC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;oBACzB,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;iBAClC;gBACD,MAAM,EAAE,OAAO,CAAC,eAAe;aAChC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;YAClE,OAAO,iBAAiB,CACtB,OAAO,CAAC,kBAAkB,CACxB,UAAU,CAAC,IAAI,CAAC,cAAc,IAAI,UAAU,CAAC,IAAI,EACjD,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EACjC,MAAM,CACP,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;YAChF,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,IAAI,QAAQ,CAAC;oBAC/E,CAAC,CAAC,0BAA0B;oBAC5B,CAAC,CAAC,mBAAmB;gBACvB,MAAM,EAAE;oBACN,QAAQ,EAAE,UAAU,CAAC,QAAS;oBAC9B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;oBACzB,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrC,MAAM,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,OAAO,CAAC,eAAe;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,QAAQ,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,KAAK,eAAe;YAClB,OAAO,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7C,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,OAAgB,EAChB,MAA8B;IAE9B,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,iDAAiD;AAEjD,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,WAAW,GAAwB,CAC9C,OAAyB,EACzB,MAAqB,EACrB,GAAG,YAAsB,EACzB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAE5D,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAY;IAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB,EAAE,MAAY;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAA4B,CACtD,OAAyB,EACzB,MAAa,EACb,GAAG,YAAsB,EACzB,EAAE;IACF,4BAA4B,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IACzF,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,UAAU,SAAS,CACvB,OAAgB,EAChB,QAAuB,EACvB,YAA+B;IAE/B,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9D,OAAO,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAY,EAAE,MAAwC;IAC1F,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AAED,6DAA6D;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAoC,CACtE,OAAyB,EACzB,MAAa,EACb,EAAE;IACF,kDAAkD;IAClD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,yBAAyB,GAAsC,CAC1E,OAAyB,EACzB,MAAY,EACZ,EAAE;IACF,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,CAAC;QACpF,OAAO;IACT,CAAC;IAED,4BAA4B,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,yBAAyB,GAAsC,CAC1E,OAAyB,EACzB,MAAa,EACb,cAAoB,EACpB,EAAE;IACF,yCAAyC;IACzC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,4BAA4B,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,4DAA4D;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAkC,CAClE,OAAyB,EACzB,MAAa,EACb,gBAAsB,EACtB,EAAE;IACF,yCAAyC;IACzC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,IAAI,gBAAgB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,gBAAgB,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7C,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,4BAA4B,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,4DAA4D;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAkC,CAClE,OAAyB,EACzB,MAAa,EACb,EAAE;IACF,uDAAuD;IACvD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9B,4DAA4D;QAC5D,OAAO,CAAC,CAAC,OAAO,CAAC;QACjB,OAAO,CAAC,CAAC,YAAY,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,2CAA2C;AAE3C,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAkB,CAClC,OAAyB,EACzB,MAAiB,EACjB,UAAiB,EACjB,EAAE;IACF,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC1D,+EAA+E;QAC/E,OAAO;IACT,CAAC;IACD,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9C,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;SACtC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,MAAY;IACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,MAAiB;IACjE,oCAAoC;IACpC,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,0CAA0C;AAC1C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAE5D,wFAAwF;AACxF,sCAAsC;AACtC,MAAM,CAAC,MAAM,IAAI,GAAiB,CAChC,OAAyB,EACzB,MAAyC,EACzC,GAAW,EACX,EAAE;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpE,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC,CAAC;AAEF,mDAAmD;AACnD,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,MAAY;IACpD,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,4EAA4E;AAC5E,+BAA+B;AAC/B,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,MAAyC;IAEzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,IAAI,OAAO,GAAkD,MAAM,CAAC;IACpE,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QAED,wBAAwB;QACxB,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED,mDAAmD;AAEnD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,aAAa,GAA0B,CAClD,OAAyB,EACzB,MAAY,EACZ,YAAoB,EACpB,YAA8B,EAC9B,EAAE;IACF,2DAA2D;IAC3D,oDAAoD;IACpD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC3D,IAAK,OAAO,CAAC,eAAwB,CAAC,IAAI,KAAK,UAAU,CAAC,yBAAyB,EAAE,CAAC;YACpF,IACE,iBAAiB,CACf,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CACzC,OAAO,CAAC,eAAiD,CAAC,UAAU,CACtE,CACF,EAAE,IAAI,KAAK,MAAM,CAAC,IAAI,EACvB,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAK,OAAO,CAAC,eAAwB,CAAC,IAAI,KAAK,UAAU,CAAC,mBAAmB,EAAE,CAAC;YAC9E,IAAK,OAAO,CAAC,eAA2C,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChF,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,GAAG,oCAAoC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,MAAY;IAC5D,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACxD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,OAAyB,EACzB,MAA8B,EAC9B,WAAiB,EACjB,EAAE;IACF,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QAClF,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAC9B,gBAAgB,CAAC;YACf,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,sCAAsC,EAAE;YACjF,MAAM;SACP,CAAC,CACH,CAAC;QACF,OAAO;IACT,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAClD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;YACzE,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;gBAChC,IAAI,EAAE,2BAA2B;gBACjC,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM,CAAC,IAAI;oBACnB,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC;iBAChC;gBACD,MAAM;aACP,CAAC,CAAC;YACH,OAAO;QACT,CAAC;IACH,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,SAAS,4BAA4B,CAAC,OAAgB,EAAE,QAAc,EAAE,MAAkB;IACxF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/E,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzC,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,MAA8B;IAC7E,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,IAAI,GAAiB,CAChC,OAAyB,EACzB,MAAqB,EACrB,OAAgB,EAChB,EAAE;IACF,yDAAyD;IACzD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE;YACrC,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,OAAO;IACT,CAAC;IAED,4BAA4B;IAC5B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,UAAU,KAAK,CAAC,OAAgB,EAAE,QAAuB;IAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,QAAuB;IAClE,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAsC,CAC1E,OAAyB,EACzB,MAAa,EACb,UAAkB,EAClB,EAAE;IACF,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAmB,EAAE,EAAE;QAChD,sDAAsD;QACtD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1E,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,2BAA2B;IAC3B,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAChC,MAAM,CAAC,UAAU,CAAC,GAAG,CACnB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;YACzC,UAAU,EAAE;gBACV,GAAG,OAAO,CAAC,UAAU;gBACrB;oBACE,SAAS,EAAE,WAAW;oBACtB,IAAI,EAAE;wBACJ,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE;qBACtF;iBACF;aACF;SACF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,WAAW,GAAwB,CAC9C,OAAyB,EACzB,MAAY,EACZ,OAAe,EACf,EAAE;IACF,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,IAAU;IACxD,OAAO,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC;AACvD,CAAC;AAED,MAAM,eAAe,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAC7D,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAsB,CAC1C,OAAyB,EACzB,MAAiB,EACjB,YAAuB,EACvB,EAAE;IACF,uFAAuF;IACvF,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAC/E,MAAM,CAAC,UAAU,CAAC,cAAc,IAAI,MAAM,CAAC,UAAU,EACrD,YAAY,CAAC,UAAU,CAAC,cAAc,IAAI,YAAY,CAAC,UAAU,EACjE,MAAM,CACP,CAAC;IACF,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAErE,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CACzF,MAAM,CAAC,UAAU,CAAC,cAAc,IAAI,MAAM,CAAC,UAAU,EACrD,YAAY,CAAC,UAAU,CAAC,cAAc,IAAI,YAAY,CAAC,UAAU,EACjE,MAAM,CACP,CAAC;IACF,IAAI,CAAC,eAAe;QAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAE/E,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;QACxD,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;IACL,CAAC;IACD,sDAAsD;IACtD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1E,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,IAAI,KAAK,EAAa,CAAC;IAChG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAChG,CAAC,CAAC;AAEF,SAAS,4BAA4B,CAAC,GAAc,EAAE,GAAc;IAClE,OAAO,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS;QACnC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC;QACvD,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,CAAC;AACtC,CAAC;AAED,mFAAmF;AACnF,wFAAwF;AACxF,oFAAoF;AACpF,8DAA8D;AAC9D,SAAS,uBAAuB,CAC9B,UAAiC,EACjC,UAAiC;IAEjC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACvE,OAAO,gBAAgB,CAAC,UAAU,CAAC,KAAK,gBAAgB,CAAC,UAAU,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAe;IACvC,OAAO,IAAI,CAAC,gBAAgB,KAAK,SAAS;QACxC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAA6B,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,SAAoB;IACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAgB,EAChB,SAAoB;IAEpB,OAAO,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAA2B,CACpD,OAAyB,EACzB,MAAY,EACZ,cAAsB,EACtB,aAAqB,EACrB,EAAE;IACF,IAAI,GAAG,GAAwB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,MAAY;IAEZ,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,MAAY,EACZ,cAAsB;IAEtB,OAAO,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAY,EAAE,cAAsB;IACrF,OAAO,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC;AAC1E,CAAC;AAED,SAAS,aAAa,CACpB,OAAyB,EACzB,GAAwB,EACxB,GAAwB;IAExB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QAChB,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtD,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA2B,CACpD,OAAyB,EACzB,MAAqB,EACrB,YAAoB,EACpB,EAAE;IACF,MAAM,aAAa,GAAkB,EAAE,YAAY,EAAE,CAAC;IAEtD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,gKAAgK;QAChK,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACrE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;IACH,CAAC;IACD,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,oBAAoB,GAAiC,CAChE,OAAyB,EACzB,MAAiB,EACjB,GAAG,YAAsB,EACzB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACrE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB,EAAE,MAAiB;IACxE,OAAO,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,qBAAqB,GAAkC,CAClE,OAAyB,EACzB,MAAiB,EACjB,GAAG,YAAsB,EACzB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACtE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,MAAiB;IACzE,OAAO,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAUD,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,QAAQ,GAAqB,CACxC,OAAyB,EACzB,MAAoE,EACpE,QAAiB,EACjB,OAAwB,EACxB,EAAE;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,eAAe,CACtE,CAAC;IACF,cAAc,CAAC,SAAS,EAAE,kCAAkC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,CAAC;IACpD,iCAAiC;IACjC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,IACE,CAAC,iBAAiB,CAChB,OAAO,CAAC,OAAO,EACf,UAAU,EACV,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EACtD,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAC9B,EACD,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG,EAAE,CAAC;QACV,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,UAAU,WAAW,CACzB,OAAgB,EAChB,MAAqD;IAErD,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,UAAU,GAAuB,CAC5C,OAAyB,EACzB,MAAiB,EACjB,QAAiB,EACjB,OAAiB,CAAC,gEAAgE;EAClF,EAAE;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,eAAe,CACxE,CAAC;IACF,cAAc,CAAC,SAAS,EAAE,oCAAoC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACzF,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAoB,CAAC;IAChE,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;IACxE,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;IAExE,iCAAiC;IACjC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,IACE,UAAU;YACV,CAAC,iBAAiB,CAChB,OAAO,CAAC,OAAO,EACf,UAAU,EACV,MAAM,CAAC,UAAU,EACjB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAC9B,EACD,CAAC;YACD,OAAO;QACT,CAAC;QACD,IACE,UAAU;YACV,CAAC,iBAAiB,CAChB,OAAO,CAAC,OAAO,EACf,UAAU,EACV,MAAM,CAAC,UAAU,EACjB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAC9B,EACD,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG,EAAE,CAAC;QACV,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,GAAI,OAAe,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,SAAS,iBAAiB,CACxB,OAAgB,EAChB,KAAY,EACZ,MAAY,EACZ,gBAAkC;IAElC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAClE,SAAS,IAAI,KAAK,CAAC,IAAI,EACvB,MAAM,EACN,gBAAgB,CACjB,CAAC;IACF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAiB;IAC/D,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/lib/decorators.ts"],"names":[],"mappings":"AA0CA,OAAO,EACL,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAGL,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,EACP,gBAAgB,EAChB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAgBL,UAAU,GAKX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,cAAc,cAAc,CAAC;AAG7B,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;AAEpC,SAAS,oCAAoC,CAAC,YAAoB,EAAE,YAAkB;IACpF,mEAAmE;IACnE,IAAI,YAAY,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC9C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE;QACtD,OAAQ,YAAoB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,WAAW,CAAe,SAAS,CAAC,CAAC;AACtE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAqB,CACxC,OAAyB,EACzB,MAAY,EACZ,IAAY,EACZ,YAAmB,EACnB,EAAE;IACF,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,GAAG,oCAAoC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAED,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,IAAI,GAAiB,CAChC,OAAyB,EACzB,MAAY,EACZ,IAAY,EACZ,YAAmB,EACnB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,GAAG,oCAAoC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IACD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;AACpF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,OAAgB,EAAE,MAAY;IACnD,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAwB,CAC9C,OAAyB,EACzB,MAAiB,EACjB,IAAY,EACZ,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;AACvF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,MAAiB;IACnE,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAiB;IAC/D,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAuB,CAC5C,OAAyB,EACzB,MAAiB,EACjB,IAAY,EACZ,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;AACtF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAiB;IAClE,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAiB;IAC9D,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAyB,CAAC,OAAO,EAAE,MAAY,EAAE,IAAY,EAAE,EAAE;IACxF,sCAAsC;IACtC,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA6B,CAAC,OAAO,EAAE,MAAY,EAAE,IAAY,EAAE,EAAE;IAChG,sCAAsC;IACtC,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,OAAmC,EAAE,MAAY;IAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxF,OAAO,CACL,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAC9F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAmC,EAAE,MAAY;IAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzF,OAAO,CACL,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAC/F,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,IAAU,EAAE,SAAkC;IAC9D,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAyB,EACzB,MAA8B,EAC9B,aAAqB;IAErB,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE;gBACN,SAAS,EAAE,aAAa;gBACxB,EAAE,EAAE,0BAA0B;aAC/B;YACD,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAC/B,OAAyB,EACzB,MAA8B,EAC9B,aAAqB;IAErB,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACzF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE;gBACN,SAAS,EAAE,aAAa;gBACxB,EAAE,EAAE,yBAAyB;aAC9B;YACD,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6CAA6C;AAE7C,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,WAAW,CAAQ,OAAO,CAAC,CAAC;AACnE;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAmB,CAAC,OAAyB,EAAE,MAAa,EAAE,EAAE;IACjF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAY;IACzD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,GAAsB,MAAM,CAAC;IACxC,OAAO,OAAO,EAAE,CAAC;QACf,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6CAA6C;AAE7C,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,WAAW,CAAe,QAAQ,CAAC,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,OAAO,GAAoB,CACtC,OAAyB,EACzB,MAA8B,EAC9B,MAAc,EACd,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;QAC1F,gBAAgB,CACd,OAAO,CAAC,OAAO,EACf,2HAA2H,EAC3H,MAAM,CACP,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,8CAA8C;AAC9C,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,GAAG,WAAW,CAAoB,eAAe,CAAC,CAAC;AAOzF,MAAM,CAAC,MAAM,QAAQ,GAAqB,CACxC,OAAyB,EACzB,MAA8B,EAC9B,OAAe,EACf,iBAA0B,EAC1B,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEzD,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAgB;QAC/B,OAAO;QACP,iBAAiB;KAClB,CAAC;IAEF,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAAY;IACvD,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC;AAClD,CAAC;AAED,OAAO;AACL;;;;;;;GAOG;AACH,cAAc,GACf,CAAC;AAEF,gDAAgD;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAuB,CAC5C,OAAyB,EACzB,MAA8B,EAC9B,SAAkB,EAClB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAE3D,IACE,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;QACxD,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAClF,CAAC;QACD,OAAO;IACT,CAAC;IACD,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,gDAAgD;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAuB,CAC5C,OAAyB,EACzB,MAA8B,EAC9B,SAAkB,EAClB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAE3D,IACE,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;QACxD,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,EAClF,CAAC;QACD,OAAO;IACT,CAAC;IAED,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,+CAA+C;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAsB,CAC1C,OAAyB,EACzB,MAAY,EACZ,QAAiB,EACjB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAE1D,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE;gBACN,SAAS,EAAE,WAAW;gBACtB,EAAE,EAAE,gBAAgB;aACrB;YACD,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO;IACT,CAAC;IAED,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,gDAAgD;AAEhD,MAAM,CAAC,MAAM,SAAS,GAAsB,CAC1C,OAAyB,EACzB,MAAY,EACZ,QAAiB,EACjB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAE1D,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE;gBACN,SAAS,EAAE,WAAW;gBACtB,EAAE,EAAE,gBAAgB;aACrB;YACD,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;QACrF,OAAO;IACT,CAAC;IAED,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,+CAA+C;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAsB,CAC1C,OAAyB,EACzB,MAA8B,EAC9B,QAAiB,EACjB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1D,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,IACE,CAAC,aAAa,CACZ,OAAO,EACP,QAAQ,EACR,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;QAC3C,6BAA6B,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CACzD,EACD,CAAC;QACD,OAAO;IACT,CAAC;IACD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,+CAA+C;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAsB,CAC1C,OAAyB,EACzB,MAA8B,EAC9B,QAAiB,EACjB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1D,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,IACE,CAAC,aAAa,CACZ,OAAO,EACP,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;QAC3C,6BAA6B,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EACxD,QAAQ,CACT,EACD,CAAC;QACD,OAAO;IACT,CAAC;IACD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,wDAAwD;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAA+B,CAC5D,OAAyB,EACzB,MAA8B,EAC9B,iBAA0B,EAC1B,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACnE,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC;QACtE,OAAO;IACT,CAAC;IAED,IACE,CAAC,aAAa,CACZ,OAAO,EACP,iBAAiB,EACjB,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;QAC3C,6BAA6B,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CACzD,EACD,CAAC;QACD,OAAO;IACT,CAAC;IACD,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,wDAAwD;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAA+B,CAC5D,OAAyB,EACzB,MAA8B,EAC9B,iBAA0B,EAC1B,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACnE,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC;QACtE,OAAO;IACT,CAAC;IAED,IACE,CAAC,aAAa,CACZ,OAAO,EACP,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;QAC3C,6BAA6B,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EACxD,iBAAiB,CAClB,EACD,CAAC;QACD,OAAO;IACT,CAAC;IACD,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC3D,CAAC,CAAC;AACF,6CAA6C;AAE7C,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AAE1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAoB,CACtC,OAAyB,EACzB,MAA8B,EAC9B,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IACD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC;AAepB,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG,WAAW,CAAqC,QAAQ,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,OAAO,GAAoB,CACtC,OAAyB,EACzB,MAA8B,EAC9B,QAAqC,EACrC,QAAiB,EACjB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACpD,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,SAAS,eAAe,CACtB,OAAgB,EAChB,kBAA+C,EAC/C,QAA4B;IAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,QAAQ,IAAI,OAAO,CAAC;IAC7C,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAClE,CAAC;SAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC;QACxC,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,kBAAkB,CAAC,cAAc,IAAI,kBAAkB,CAAC;QAC7E,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;YAC7B,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,UAAU;gBACrB,MAAM,EAAE,kBAAkB;aAC3B,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IACtC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAyB,EAAE,MAAY,EAAE,UAAsB;IACzF,SAAS,KAAK,CAAC,YAA2B,EAAE,gBAA+B;QACzE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACvE,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YAChC,OAAO,iBAAiB,CACtB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAC1E,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,WAAW;gBACtB,MAAM,EAAE;oBACN,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,QAAQ;oBACzC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;oBACzB,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;iBAClC;gBACD,MAAM,EAAE,OAAO,CAAC,eAAe;aAChC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;YAClE,OAAO,iBAAiB,CACtB,OAAO,CAAC,kBAAkB,CACxB,UAAU,CAAC,IAAI,CAAC,cAAc,IAAI,UAAU,CAAC,IAAI,EACjD,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EACjC,MAAM,CACP,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;YAChF,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,IAAI,QAAQ,CAAC;oBAC/E,CAAC,CAAC,0BAA0B;oBAC5B,CAAC,CAAC,mBAAmB;gBACvB,MAAM,EAAE;oBACN,QAAQ,EAAE,UAAU,CAAC,QAAS;oBAC9B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;oBACzB,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrC,MAAM,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,OAAO,CAAC,eAAe;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,QAAQ,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,KAAK,eAAe;YAClB,OAAO,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7C,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,iDAAiD;AAEjD,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,qBAAqB,CAAC,GAAG,WAAW,CACvE,oBAAoB,CACrB,CAAC;AACF,MAAM,CAAC,MAAM,WAAW,GAAwB,CAC9C,OAAyB,EACzB,MAAqB,EACrB,GAAG,YAAsB,EACzB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAE5D,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,SAAS,iBAAiB,CAAC,OAAgB,EAAE,MAAY;IACvD,qBAAqB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAA4B,CACtD,OAAyB,EACzB,MAAa,EACb,GAAG,YAAsB,EACzB,EAAE;IACF,4BAA4B,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IACzF,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,UAAU,SAAS,CACvB,OAAgB,EAChB,QAAuB,EACvB,YAA+B;IAE/B,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9D,OAAO,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAY,EAAE,MAAwC;IAC1F,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AAED,6DAA6D;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAoC,CACtE,OAAyB,EACzB,MAAa,EACb,EAAE;IACF,kDAAkD;IAClD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,yBAAyB,GAAsC,CAC1E,OAAyB,EACzB,MAAY,EACZ,EAAE;IACF,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,CAAC;QACpF,OAAO;IACT,CAAC;IAED,4BAA4B,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,yBAAyB,GAAsC,CAC1E,OAAyB,EACzB,MAAa,EACb,cAAoB,EACpB,EAAE;IACF,yCAAyC;IACzC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,4BAA4B,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,4DAA4D;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAkC,CAClE,OAAyB,EACzB,MAAa,EACb,gBAAsB,EACtB,EAAE;IACF,yCAAyC;IACzC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,IAAI,gBAAgB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,gBAAgB,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7C,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,4BAA4B,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,4DAA4D;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAkC,CAClE,OAAyB,EACzB,MAAa,EACb,EAAE;IACF,uDAAuD;IACvD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9B,4DAA4D;QAC5D,OAAO,CAAC,CAAC,OAAO,CAAC;QACjB,OAAO,CAAC,CAAC,YAAY,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,2CAA2C;AAE3C,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAkB,CAClC,OAAyB,EACzB,MAAiB,EACjB,UAAiB,EACjB,EAAE;IACF,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC1D,+EAA+E;QAC/E,OAAO;IACT,CAAC;IACD,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9C,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;SACtC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,MAAY;IACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,MAAiB;IACjE,oCAAoC;IACpC,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,0CAA0C;AAE1C,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,WAAW,CAAiB,eAAe,CAAC,CAAC;AAE7E,wFAAwF;AACxF,sCAAsC;AACtC,MAAM,CAAC,MAAM,IAAI,GAAiB,CAChC,OAAyB,EACzB,MAAyC,EACzC,GAAW,EACX,EAAE;IACF,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC,CAAC;AAEF,mDAAmD;AACnD,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,MAAY;IACpD,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,4EAA4E;AAC5E,+BAA+B;AAC/B,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,MAAyC;IAEzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,IAAI,OAAO,GAAkD,MAAM,CAAC;IACpE,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QAED,wBAAwB;QACxB,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED,mDAAmD;AAEnD,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,WAAW,CAAe,eAAe,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,aAAa,GAA0B,CAClD,OAAyB,EACzB,MAAY,EACZ,YAAoB,EACpB,YAA8B,EAC9B,EAAE;IACF,2DAA2D;IAC3D,oDAAoD;IACpD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC3D,IAAK,OAAO,CAAC,eAAwB,CAAC,IAAI,KAAK,UAAU,CAAC,yBAAyB,EAAE,CAAC;YACpF,IACE,iBAAiB,CACf,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CACzC,OAAO,CAAC,eAAiD,CAAC,UAAU,CACtE,CACF,EAAE,IAAI,KAAK,MAAM,CAAC,IAAI,EACvB,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAK,OAAO,CAAC,eAAwB,CAAC,IAAI,KAAK,UAAU,CAAC,mBAAmB,EAAE,CAAC;YAC9E,IAAK,OAAO,CAAC,eAA2C,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChF,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,GAAG,oCAAoC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAClF,CAAC;IAED,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,GAAG,WAAW,CAAa,aAAa,CAAC,CAAC;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,OAAyB,EACzB,MAA8B,EAC9B,WAAiB,EACjB,EAAE;IACF,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QAClF,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAC9B,gBAAgB,CAAC;YACf,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,sCAAsC,EAAE;YACjF,MAAM;SACP,CAAC,CACH,CAAC;QACF,OAAO;IACT,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAClD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;YACzE,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;gBAChC,IAAI,EAAE,2BAA2B;gBACjC,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM,CAAC,IAAI;oBACnB,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC;iBAChC;gBACD,MAAM;aACP,CAAC,CAAC;YACH,OAAO;QACT,CAAC;IACH,CAAC;IACD,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,SAAS,4BAA4B,CAAC,OAAgB,EAAE,QAAc,EAAE,MAAkB;IACxF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/E,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzC,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AACD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CAAe,KAAK,CAAC,CAAC;AAE1D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,IAAI,GAAiB,CAChC,OAAyB,EACzB,MAAqB,EACrB,OAAgB,EAChB,EAAE;IACF,yDAAyD;IACzD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE;YACrC,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,OAAO;IACT,CAAC;IAED,4BAA4B;IAC5B,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,UAAU,KAAK,CAAC,OAAgB,EAAE,QAAuB;IAC7D,OAAO,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,QAAuB;IAClE,OAAO,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAsC,CAC1E,OAAyB,EACzB,MAAa,EACb,UAAkB,EAClB,EAAE;IACF,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAmB,EAAE,EAAE;QAChD,sDAAsD;QACtD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1E,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,2BAA2B;IAC3B,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAChC,MAAM,CAAC,UAAU,CAAC,GAAG,CACnB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;YACzC,UAAU,EAAE;gBACV,GAAG,OAAO,CAAC,UAAU;gBACrB;oBACE,SAAS,EAAE,WAAW;oBACtB,IAAI,EAAE;wBACJ,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE;qBACtF;iBACF;aACF;SACF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,WAAW,GAAwB,CAC9C,OAAyB,EACzB,MAAY,EACZ,OAAe,EACf,EAAE;IACF,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,IAAU;IACxD,OAAO,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,WAAW,CAAyB,iBAAiB,CAAC,CAAC;AAC5F,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC,GAAG,WAAW,CAC3D,oBAAoB,CACrB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAsB,CAC1C,OAAyB,EACzB,MAAiB,EACjB,YAAuB,EACvB,EAAE;IACF,uFAAuF;IACvF,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAC/E,MAAM,CAAC,UAAU,CAAC,cAAc,IAAI,MAAM,CAAC,UAAU,EACrD,YAAY,CAAC,UAAU,CAAC,cAAc,IAAI,YAAY,CAAC,UAAU,EACjE,MAAM,CACP,CAAC;IACF,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAErE,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CACzF,MAAM,CAAC,UAAU,CAAC,cAAc,IAAI,MAAM,CAAC,UAAU,EACrD,YAAY,CAAC,UAAU,CAAC,cAAc,IAAI,YAAY,CAAC,UAAU,EACjE,MAAM,CACP,CAAC;IACF,IAAI,CAAC,eAAe;QAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAE/E,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;QACxD,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;IACL,CAAC;IACD,sDAAsD;IAEtD,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,IAAI,KAAK,EAAa,CAAC;IAChG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF,SAAS,4BAA4B,CAAC,GAAc,EAAE,GAAc;IAClE,OAAO,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS;QACnC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC;QACvD,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,CAAC;AACtC,CAAC;AAED,mFAAmF;AACnF,wFAAwF;AACxF,oFAAoF;AACpF,8DAA8D;AAC9D,SAAS,uBAAuB,CAC9B,UAAiC,EACjC,UAAiC;IAEjC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACvE,OAAO,gBAAgB,CAAC,UAAU,CAAC,KAAK,gBAAgB,CAAC,UAAU,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAe;IACvC,OAAO,IAAI,CAAC,gBAAgB,KAAK,SAAS;QACxC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAA6B,CAAC,CAAC;AAC3D,CAAC;AAED,OAAO;AACL;;;;;GAKG;AACH,sBAAsB;AAEtB;;;;;GAKG;AACH,YAAY,GACb,CAAC;AAEF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAA2B,CACpD,OAAyB,EACzB,MAAY,EACZ,cAAsB,EACtB,aAAqB,EACrB,EAAE;IACF,IAAI,GAAG,GAAwB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,MAAY;IAEZ,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,MAAY,EACZ,cAAsB;IAEtB,OAAO,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAY,EAAE,cAAsB;IACrF,OAAO,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC;AAC1E,CAAC;AAED,SAAS,aAAa,CACpB,OAAyB,EACzB,GAAwB,EACxB,GAAwB;IAExB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QAChB,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtD,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA2B,CACpD,OAAyB,EACzB,MAAqB,EACrB,YAAoB,EACpB,EAAE;IACF,MAAM,aAAa,GAAkB,EAAE,YAAY,EAAE,CAAC;IAEtD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,gKAAgK;QAChK,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACrE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;IACH,CAAC;IACD,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,GAAG,WAAW,CAClE,qBAAqB,CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAiC,CAChE,OAAyB,EACzB,MAAiB,EACjB,GAAG,YAAsB,EACzB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACrE,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,OAAO;AACL;;;;GAIG;AACH,sBAAsB,GACvB,CAAC;AAEF,MAAM,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,GAAG,WAAW,CACpE,sBAAsB,CACvB,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAkC,CAClE,OAAyB,EACzB,MAAiB,EACjB,GAAG,YAAsB,EACzB,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACtE,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,OAAO;AACL;;;;GAIG;AACH,uBAAuB,GACxB,CAAC;AAUF,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAAG,WAAW,CAGjD,UAAU,CAAC,CAAC;AACd,MAAM,CAAC,MAAM,QAAQ,GAAqB,CACxC,OAAyB,EACzB,MAAoE,EACpE,QAAiB,EACjB,OAAwB,EACxB,EAAE;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,eAAe,CACtE,CAAC;IACF,cAAc,CAAC,SAAS,EAAE,kCAAkC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,CAAC;IACpD,iCAAiC;IACjC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,IACE,CAAC,iBAAiB,CAChB,OAAO,CAAC,OAAO,EACf,UAAU,EACV,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EACtD,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAC9B,EACD,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG,EAAE,CAAC;QACV,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,UAAU,WAAW,CACzB,OAAgB,EAChB,MAAqD;IAErD,OAAO,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC,GAAG,WAAW,CAAyB,YAAY,CAAC,CAAC;AAC9F,MAAM,CAAC,MAAM,UAAU,GAAuB,CAC5C,OAAyB,EACzB,MAAiB,EACjB,QAAiB,EACjB,OAAiB,EACjB,EAAE;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,eAAe,CACxE,CAAC;IACF,cAAc,CAAC,SAAS,EAAE,oCAAoC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACzF,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAoB,CAAC;IAChE,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;IACxE,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;IAExE,iCAAiC;IACjC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,IACE,UAAU;YACV,CAAC,iBAAiB,CAChB,OAAO,CAAC,OAAO,EACf,UAAU,EACV,MAAM,CAAC,UAAU,EACjB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAC9B,EACD,CAAC;YACD,OAAO;QACT,CAAC;QACD,IACE,UAAU;YACV,CAAC,iBAAiB,CAChB,OAAO,CAAC,OAAO,EACf,UAAU,EACV,MAAM,CAAC,UAAU,EACjB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAC9B,EACD,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG,EAAE,CAAC;QACV,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,GAAI,OAAe,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,SAAS,iBAAiB,CACxB,OAAgB,EAChB,KAAY,EACZ,MAAY,EACZ,gBAAkC;IAElC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAClE,SAAS,IAAI,KAAK,CAAC,IAAI,EACvB,MAAM,EACN,gBAAgB,CACjB,CAAC;IACF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAiB;IAC/D,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC"}
@@ -1,15 +1,13 @@
1
1
  import { reportDiagnostic } from "../core/messages.js";
2
2
  import { parseMimeType } from "../core/mime-type.js";
3
3
  import { DuplicateTracker } from "../utils/index.js";
4
- function createStateSymbol(name) {
5
- return Symbol.for(`TypeSpec.${name}`);
6
- }
7
- const encodedNameKey = createStateSymbol("encodedName");
4
+ import { useStateMap } from "./utils.js";
5
+ const [getEncodedNamesMap, setEncodedNamesMap, getEncodedNamesStateMap] = useStateMap("encodedName");
8
6
  export function $encodedName(context, target, mimeType, name) {
9
- let existing = context.program.stateMap(encodedNameKey).get(target);
7
+ let existing = getEncodedNamesMap(context.program, target);
10
8
  if (existing === undefined) {
11
9
  existing = new Map();
12
- context.program.stateMap(encodedNameKey).set(target, existing);
10
+ setEncodedNamesMap(context.program, target, existing);
13
11
  }
14
12
  const mimeTypeObj = parseMimeType(mimeType);
15
13
  if (mimeTypeObj === undefined) {
@@ -36,7 +34,7 @@ function getEncodedName(program, target, mimeType) {
36
34
  const resolvedMimeType = mimeTypeObj?.suffix
37
35
  ? `${mimeTypeObj.type}/${mimeTypeObj.suffix}`
38
36
  : mimeType;
39
- return program.stateMap(encodedNameKey).get(target)?.get(resolvedMimeType);
37
+ return getEncodedNamesMap(program, target)?.get(resolvedMimeType);
40
38
  }
41
39
  /**
42
40
  * Resolve the encoded name for the given type when serialized to the given mime type.
@@ -83,7 +81,7 @@ export function validateEncodedNamesConflicts(program) {
83
81
  }
84
82
  return tracker;
85
83
  }
86
- for (const [target, map] of program.stateMap(encodedNameKey).entries()) {
84
+ for (const [target, map] of getEncodedNamesStateMap(program).entries()) {
87
85
  const scope = getScope(target);
88
86
  if (scope === undefined) {
89
87
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"encoded-names.js","sourceRoot":"","sources":["../../../src/lib/encoded-names.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoded-names.js","sourceRoot":"","sources":["../../../src/lib/encoded-names.ts"],"names":[],"mappings":"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"}
@@ -9,19 +9,21 @@ export interface ServiceDetails {
9
9
  export interface Service extends ServiceDetails {
10
10
  type: Namespace;
11
11
  }
12
+ declare const getService: (program: Program, type: Namespace) => Service | undefined;
12
13
  /**
13
14
  * List all the services defined in the TypeSpec program
14
15
  * @param program Program
15
16
  * @returns List of service.
16
17
  */
17
18
  export declare function listServices(program: Program): Service[];
19
+ export {
18
20
  /**
19
21
  * Get the service information for the given namespace.
20
22
  * @param program Program
21
23
  * @param namespace Service namespace
22
24
  * @returns Service information or undefined if namespace is not a service namespace.
23
25
  */
24
- export declare function getService(program: Program, namespace: Namespace): Service | undefined;
26
+ getService, };
25
27
  /**
26
28
  * Check if the namespace is defined as a service.
27
29
  * @param program Program
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/lib/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAIpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAoB,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6NAA6N;IAC7N,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAQ,SAAQ,cAAc;IAC7C,IAAI,EAAE,SAAS,CAAC;CACjB;AAOD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAEtF;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,cAAmB,GAC3B,IAAI,CAIN;AAED,eAAO,MAAM,QAAQ,EAAE,gBAiDtB,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/lib/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAIpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAoB,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG/D,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6NAA6N;IAC7N,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAQ,SAAQ,cAAc;IAC7C,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,QAAA,MAAO,UAAU,4DAEhB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAExD;AAED,OAAO;AACL;;;;;GAKG;AACH,UAAU,GACX,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,cAAmB,GAC3B,IAAI,CAIN;AAED,eAAO,MAAM,QAAQ,EAAE,gBAiDtB,CAAC"}
@@ -1,10 +1,8 @@
1
1
  import { validateDecoratorUniqueOnNode } from "../core/decorator-utils.js";
2
2
  import { getTypeName, reportDeprecated } from "../core/index.js";
3
3
  import { reportDiagnostic } from "../core/messages.js";
4
- const serviceDetailsKey = Symbol.for("@typespec/compiler.services");
5
- function getServiceMap(program) {
6
- return program.stateMap(serviceDetailsKey);
7
- }
4
+ import { useStateMap } from "./utils.js";
5
+ const [getService, setService, getServiceMap] = useStateMap("@typespec/compiler.services");
8
6
  /**
9
7
  * List all the services defined in the TypeSpec program
10
8
  * @param program Program
@@ -13,15 +11,14 @@ function getServiceMap(program) {
13
11
  export function listServices(program) {
14
12
  return [...getServiceMap(program).values()];
15
13
  }
14
+ export {
16
15
  /**
17
16
  * Get the service information for the given namespace.
18
17
  * @param program Program
19
18
  * @param namespace Service namespace
20
19
  * @returns Service information or undefined if namespace is not a service namespace.
21
20
  */
22
- export function getService(program, namespace) {
23
- return getServiceMap(program).get(namespace);
24
- }
21
+ getService, };
25
22
  /**
26
23
  * Check if the namespace is defined as a service.
27
24
  * @param program Program
@@ -40,7 +37,7 @@ export function isService(program, namespace) {
40
37
  export function addService(program, namespace, details = {}) {
41
38
  const serviceMap = getServiceMap(program);
42
39
  const existing = serviceMap.get(namespace) ?? {};
43
- serviceMap.set(namespace, { ...existing, ...details, type: namespace });
40
+ setService(program, namespace, { ...existing, ...details, type: namespace });
44
41
  }
45
42
  export const $service = (context, target, options) => {
46
43
  validateDecoratorUniqueOnNode(context, target, $service);
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/lib/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/lib/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Type } from "../core/types.js";
2
+ export declare function useStateMap<K extends Type, V>(key: string): [(program: import("../index.js").Program, type: K) => V | undefined, (program: import("../index.js").Program, type: K, value: V) => void, (program: import("../index.js").Program) => Map<K, V>];
3
+ export declare function useStateSet<K extends Type>(key: string): [(program: import("../index.js").Program, type: K) => boolean, (program: import("../index.js").Program, type: K) => void];
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAO7C,wBAAgB,WAAW,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,oMAEzD;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,IAAI,EAAE,GAAG,EAAE,MAAM,6HAEtD"}
@@ -0,0 +1,11 @@
1
+ import { unsafe_useStateMap, unsafe_useStateSet } from "../experimental/state-accessor.js";
2
+ function createStateSymbol(name) {
3
+ return Symbol.for(`TypeSpec.${name}`);
4
+ }
5
+ export function useStateMap(key) {
6
+ return unsafe_useStateMap(createStateSymbol(key));
7
+ }
8
+ export function useStateSet(key) {
9
+ return unsafe_useStateSet(createStateSymbol(key));
10
+ }
11
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAE3F,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,WAAW,CAAoB,GAAW;IACxD,OAAO,kBAAkB,CAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,WAAW,CAAiB,GAAW;IACrD,OAAO,kBAAkB,CAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/compiler",
3
- "version": "0.61.0-dev.2",
3
+ "version": "0.61.0-dev.4",
4
4
  "description": "TypeSpec Compiler Preview",
5
5
  "author": "Microsoft Corporation",
6
6
  "license": "MIT",
@@ -40,6 +40,10 @@
40
40
  "./emitter-framework": {
41
41
  "types": "./dist/src/emitter-framework/index.d.ts",
42
42
  "default": "./dist/src/emitter-framework/index.js"
43
+ },
44
+ "./experimental": {
45
+ "types": "./dist/src/experimental/index.d.ts",
46
+ "default": "./dist/src/experimental/index.js"
43
47
  }
44
48
  },
45
49
  "browser": {
@@ -7,5 +7,5 @@ export default tsEslint.config(
7
7
  ignores: ["**/dist/**/*", "**/.temp/**/*"],
8
8
  },
9
9
  eslint.configs.recommended,
10
- ...tsEslint.configs.recommended
10
+ ...tsEslint.configs.recommended,
11
11
  );
@@ -7,5 +7,5 @@ export default tsEslint.config(
7
7
  ignores: ["**/dist/**/*", "**/.temp/**/*"],
8
8
  },
9
9
  eslint.configs.recommended,
10
- ...tsEslint.configs.recommended
10
+ ...tsEslint.configs.recommended,
11
11
  );