@docupace/ihub-config 1.1.24-admin.0 → 1.1.24-admin.2

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.
@@ -11,11 +11,46 @@ export interface ConfigurationOverrideResult {
11
11
  /** The whole-object override for `configPath`, if one is set. */
12
12
  whole: ConfigurationOverride | null;
13
13
  /**
14
- * One winning value per distinct JSONPath found for `configPath` (e.g.
15
- * `{ '$.columns': [...] }`), scope-resolved for the current identity.
16
- * `null` when there are no sub-path override rows for `configPath` at all.
14
+ * Per distinct JSONPath found for `configPath` (e.g. `'$.columns'`), every
15
+ * matching override layer for the current identity, ordered broadest to
16
+ * narrowest (GENERAL, TENANT, ROLE, USER only tiers with an actual
17
+ * matching row included). `applyConfigPathOverride` folds these onto the
18
+ * base config in order, so the narrowest present tier (last in the array)
19
+ * ends up most specific, exactly like today's single-winner precedence,
20
+ * but every broader tier a name isn't touched by still shows through
21
+ * instead of being discarded. `null` when there are no sub-path override
22
+ * rows for `configPath` at all.
17
23
  */
18
- subPaths: Record<string, unknown> | null;
24
+ subPaths: Record<string, unknown[]> | null;
25
+ /**
26
+ * The same map as `subPaths`, minus every layer stored at the identity's
27
+ * *own* scope tier — the tier a save by this identity would write to
28
+ * (USER for a real user, ROLE/GENERAL when previewing as a role/everyone),
29
+ * whether or not a row actually exists there yet. This is the reference
30
+ * fold `applyConfigPathOverride` stamps `inherited` against: "what this
31
+ * identity would see if it had no override of its own".
32
+ *
33
+ * Optional, and `null`/absent means "not reported" — resolution then falls
34
+ * back to approximating it as every layer but the narrowest, which is only
35
+ * correct when a row happens to exist at the identity's own tier. A
36
+ * provider that can tell the tiers apart should always report this: the
37
+ * approximation is exactly wrong in the common "hidden for everyone, no
38
+ * personal override yet" case, where the narrowest layer *is* the broader
39
+ * (GENERAL) one being dropped.
40
+ */
41
+ inheritedSubPaths?: Record<string, unknown[]> | null;
42
+ }
43
+ /**
44
+ * The two folds `applyConfigPathOverride` needs for one config path, threaded
45
+ * together wherever a caller resolves overrides ahead of time (see
46
+ * `ConfigService.getConfigFromStore`/`processConfig`).
47
+ */
48
+ export interface SubPathOverrideLayers {
49
+ /** `ConfigurationOverrideResult.subPaths` — every applicable layer. */
50
+ all: Record<string, unknown[]>;
51
+ /** `ConfigurationOverrideResult.inheritedSubPaths`, or `null` when the
52
+ * provider doesn't report it. */
53
+ inherited: Record<string, unknown[]> | null;
19
54
  }
20
55
  export interface ConfigurationOverrideProvider {
21
56
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config-extension.d.ts","sourceRoot":"","sources":["../src/config-extension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAwB,MAAM,qBAAqB,CAAC;AAE9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAEvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,iEAAiE;IACjE,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACpC;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,2BAA2B,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACrC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;CAC/D;AA+BD,eAAO,MAAM,kBAAkB,GAC7B,UAAS,sBAA2B,KACnC,OAAO,CAAC,eAAe,CA4BzB,CAAC"}
1
+ {"version":3,"file":"config-extension.d.ts","sourceRoot":"","sources":["../src/config-extension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAwB,MAAM,qBAAqB,CAAC;AAE9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAEvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,iEAAiE;IACjE,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACpC;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAC3C;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;CACtD;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/B;qCACiC;IACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,2BAA2B,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACrC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;CAC/D;AA+BD,eAAO,MAAM,kBAAkB,GAC7B,UAAS,sBAA2B,KACnC,OAAO,CAAC,eAAe,CA4BzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-extension.js","sourceRoot":"","sources":["../src/config-extension.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAqB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAsCrD,MAAM,qBAAqB,GAAG,CAAC,YAAiC,EAAE,EAAE;IAClE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACxC,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC;QACvD,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,YAAY,EAAE,WAAW,CAAC,YAAY;KACvC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,KAAK,EAAE,YAAiC,EAAE,EAAE;IACzE,GAAG,CAAC,IAAI,CAAC;QACP,YAAY,EAAE,qBAAqB,CAAC,YAAY,CAAC;KAClD,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,oBAAoB,CAAC;QACzC,KAAK,EAAE,SAAS;QAChB,YAAY;QACZ,uBAAuB,EAAE,SAAS;QAClC,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,6BAA6B,EAAE,SAAS;KACzC,CAAC,CAAC;IAEH,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,UAAkC,EAAE,EACV,EAAE;IAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,EAAE,CAAC;IAE/D,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAE3C,MAAM,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACxD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAC7C,CAAC;IAEF,MAAM,WAAW,GAAG,uBAAuB,CAAC;QAC1C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;QACxD,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY;QACZ,6BAA6B,EAAE,OAAO,CAAC,6BAA6B;KACrE,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,CAAC,mBAAmB,EAAE,EAAE,GAAG,gBAAgB,CAAC;QACxD,OAAO,EAAE;YACP;gBACE,WAAW;aACZ;SACF;QACD,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"config-extension.js","sourceRoot":"","sources":["../src/config-extension.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAqB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AA0ErD,MAAM,qBAAqB,GAAG,CAAC,YAAiC,EAAE,EAAE;IAClE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACxC,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC;QACvD,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,YAAY,EAAE,WAAW,CAAC,YAAY;KACvC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,KAAK,EAAE,YAAiC,EAAE,EAAE;IACzE,GAAG,CAAC,IAAI,CAAC;QACP,YAAY,EAAE,qBAAqB,CAAC,YAAY,CAAC;KAClD,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,oBAAoB,CAAC;QACzC,KAAK,EAAE,SAAS;QAChB,YAAY;QACZ,uBAAuB,EAAE,SAAS;QAClC,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,6BAA6B,EAAE,SAAS;KACzC,CAAC,CAAC;IAEH,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,UAAkC,EAAE,EACV,EAAE;IAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,EAAE,CAAC;IAE/D,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAE3C,MAAM,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACxD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAC7C,CAAC;IAEF,MAAM,WAAW,GAAG,uBAAuB,CAAC;QAC1C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;QACxD,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY;QACZ,6BAA6B,EAAE,OAAO,CAAC,6BAA6B;KACrE,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,CAAC,mBAAmB,EAAE,EAAE,GAAG,gBAAgB,CAAC;QACxD,OAAO,EAAE;YACP;gBACE,WAAW;aACZ;SACF;QACD,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ConfigExtensionOptions } from './config-extension.js';
1
+ import type { ConfigExtensionOptions, SubPathOverrideLayers } from './config-extension.js';
2
2
  import { Model } from '@docupace/ihub-core';
3
3
  export interface ConfigStore {
4
4
  supportsRefresh(): boolean;
@@ -64,7 +64,7 @@ declare class ConfigService {
64
64
  private processReferencedObject;
65
65
  private injectConfigValue;
66
66
  generateResolvers(): void;
67
- processConfig(config: any, context: any, processProviders?: boolean, rootSubPathOverrides?: Record<string, unknown> | null): Promise<any>;
67
+ processConfig(config: any, context: any, processProviders?: boolean, rootSubPathOverrides?: SubPathOverrideLayers | null): Promise<any>;
68
68
  private processConfigTree;
69
69
  private applyConfigPathOverride;
70
70
  private applyTypenameProvider;
@@ -77,7 +77,7 @@ declare class ConfigService {
77
77
  private getFileMimeType;
78
78
  getConfigFromStore(configPath: string, context?: any): Promise<{
79
79
  config: any;
80
- subPathOverrides: Record<string, unknown> | null;
80
+ subPathOverrides: SubPathOverrideLayers | null;
81
81
  }>;
82
82
  hasConfig(configPath: string): Promise<boolean>;
83
83
  getConfig(configPath: string, context: any, values?: any, processProviders?: boolean): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"config-service.d.ts","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-service.d.ts","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"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"}
@@ -24,10 +24,15 @@ function isNamedObjectArray(value) {
24
24
  // its own definition to render on its own — a real attribute path (or paths)
25
25
  // or a computed expression — as opposed to a thin `{ name, visible }`-style
26
26
  // reference that only makes sense resolved against a base/predefined
27
- // counterpart of the same name.
27
+ // counterpart of the same name. `paths` (plural) is `Column`'s shape;
28
+ // `path` (singular) is `TableCriteria`'s — both must count, or a resolved
29
+ // filter-criterion `$ref` (which only ever has a singular `path`) is wrongly
30
+ // treated as a dangling reference and silently dropped, even though it just
31
+ // resolved successfully.
28
32
  function isSelfContainedOverrideElement(item) {
29
33
  const paths = item.paths;
30
34
  return ((Array.isArray(paths) && paths.length > 0) ||
35
+ (typeof item.path === 'string' && item.path.length > 0) ||
31
36
  (typeof item.expression === 'string' && item.expression.length > 0));
32
37
  }
33
38
  /**
@@ -84,6 +89,46 @@ function mergeSubPathOverrideValue(base, override) {
84
89
  const untouchedBaseItems = base.filter((item) => !mergedNames.has(item.name));
85
90
  return [...merged, ...untouchedBaseItems];
86
91
  }
92
+ // Marks each element of a fully-folded named-object array with whether it
93
+ // would still show up — present *and* not hidden — without the layer stored
94
+ // at the identity's own scope tier (`withoutOwnScope`, the same
95
+ // broadest-to-narrowest fold as `mergedValue` minus that one layer; see
96
+ // `applyConfigPathOverride`, where both folds are computed).
97
+ //
98
+ // This drives two decisions in the editing client, both about what its own
99
+ // scope's override has to say explicitly to get the effect the user asked
100
+ // for:
101
+ // - Removing an entry: `inherited` means hiding it (`visible: false`) is
102
+ // required, since deleting it from this scope's override would just have
103
+ // the next resolution fold bring it back from a broader layer. Not
104
+ // inherited means a plain delete suffices.
105
+ // - Adding/re-showing an entry: not inherited means the client must pin
106
+ // `visible: true` on it, since the broader fold either doesn't have it at
107
+ // all or has it hidden — and per-attribute merge semantics would otherwise
108
+ // inherit that `visible: false` straight through this scope's own
109
+ // override, leaving the entry invisible no matter how it's re-added.
110
+ // Hidden-ness is folded into `inherited` (rather than reported as a separate
111
+ // flag) precisely because both decisions only ever care whether the entry
112
+ // would be *there*, and a broader-hidden entry is exactly as absent from the
113
+ // user's view as a missing one.
114
+ //
115
+ // Only stamps when both values are named-object arrays; any other shape
116
+ // (scalar, plain object, unnamed array) is returned unchanged, mirroring
117
+ // `mergeSubPathOverrideValue`'s own shape guard.
118
+ function stampInherited(mergedValue, withoutOwnScope) {
119
+ if (!isNamedObjectArray(mergedValue) ||
120
+ !isNamedObjectArray(withoutOwnScope)) {
121
+ return mergedValue;
122
+ }
123
+ const inheritedByName = new Map(withoutOwnScope.map((item) => [item.name, item]));
124
+ return mergedValue.map((item) => {
125
+ const counterpart = inheritedByName.get(item.name);
126
+ return {
127
+ ...item,
128
+ inherited: !!counterpart && counterpart.visible !== false,
129
+ };
130
+ });
131
+ }
87
132
  function isRefElement(item) {
88
133
  return (item !== null &&
89
134
  typeof item === 'object' &&
@@ -153,16 +198,41 @@ function expandRefOverrideElements(value, refRoot) {
153
198
  // overlaid — nested subPaths (`$.filter.criteria`) fall back to whatever
154
199
  // value is already on `config`, which is fine since nothing currently
155
200
  // needs to `$ref` into a nested subPath.
201
+ //
202
+ // `subPathPatch` (the `all` half of `SubPathOverrideLayers`) carries an
203
+ // *ordered* array of layers per jsonPath
204
+ // (broadest to narrowest — see `ConfigurationOverrideResult.subPaths`), not
205
+ // a single already-resolved value. The overlay uses only the narrowest
206
+ // (last) layer, same approximation as before cascading existed: a catalog
207
+ // like `$.predefinedColumns`/`$.predefinedFilters` is always saved as a full
208
+ // replacement at a single scope in practice (never a partial patch spread
209
+ // across tiers), so the narrowest present layer already *is* effectively
210
+ // the whole value — exactly what this overlay used before this function
211
+ // took an array at all.
156
212
  function buildRefResolutionRoot(config, subPathPatch) {
157
213
  const overlay = {};
158
- for (const [jsonPath, value] of Object.entries(subPathPatch)) {
214
+ for (const [jsonPath, layers] of Object.entries(subPathPatch)) {
159
215
  const topLevelMatch = /^\$\.([^.[]+)$/.exec(jsonPath);
160
- if (topLevelMatch) {
161
- overlay[topLevelMatch[1]] = value;
216
+ if (topLevelMatch && layers.length) {
217
+ overlay[topLevelMatch[1]] = layers[layers.length - 1];
162
218
  }
163
219
  }
164
220
  return { ...config, ...overlay };
165
221
  }
222
+ // Normalizes a provider's resolve() result into the pair of folds
223
+ // `applyConfigPathOverride` works with. `inherited` stays `null` (rather
224
+ // than defaulting to `{}`) when the provider doesn't report it, so the
225
+ // fallback there stays distinguishable from "reported, but this path has no
226
+ // broader layer".
227
+ function toSubPathOverrideLayers(override) {
228
+ if (!override.subPaths) {
229
+ return null;
230
+ }
231
+ return {
232
+ all: override.subPaths,
233
+ inherited: override.inheritedSubPaths ?? null,
234
+ };
235
+ }
166
236
  export class ConfigFileStore {
167
237
  localPath;
168
238
  remotePath;
@@ -591,10 +661,10 @@ class ConfigService {
591
661
  const subPathPatch = preFetchedSubPaths !== undefined
592
662
  ? preFetchedSubPaths
593
663
  : result.configPath && this.configurationOverrideProvider
594
- ? (await this.configurationOverrideProvider.resolve(result.configPath, context)).subPaths
664
+ ? toSubPathOverrideLayers(await this.configurationOverrideProvider.resolve(result.configPath, context))
595
665
  : null;
596
666
  if (subPathPatch) {
597
- const refRoot = buildRefResolutionRoot(result, subPathPatch);
667
+ const refRoot = buildRefResolutionRoot(result, subPathPatch.all);
598
668
  // Deep-clone once, up front — `jp.value` mutates its target in
599
669
  // place, and a shallow `{ ...result }` per jsonPath only protects
600
670
  // the top level. A nested subPath (e.g. `$.filter.criteria`) would
@@ -608,7 +678,7 @@ class ConfigService {
608
678
  // package — when the calling code runs in a different VM
609
679
  // realm/context, as test sandboxes commonly do).
610
680
  result = JSON.parse(JSON.stringify(result));
611
- for (const [jsonPath, value] of Object.entries(subPathPatch)) {
681
+ for (const [jsonPath, layers] of Object.entries(subPathPatch.all)) {
612
682
  // A single malformed override (an unparseable `$ref` JSONPath, or
613
683
  // a jsonPath that doesn't resolve to a settable location) must not
614
684
  // abort resolution of the rest of this config tree — that would
@@ -616,9 +686,30 @@ class ConfigService {
616
686
  // row. Log and skip just this jsonPath instead.
617
687
  try {
618
688
  const currentValue = jp.value(result, jsonPath);
619
- const expandedValue = expandRefOverrideElements(value, refRoot);
620
- const mergedValue = mergeSubPathOverrideValue(currentValue, expandedValue);
621
- const applied = jp.value(result, jsonPath, mergedValue);
689
+ const expandedLayers = layers.map((layer) => expandRefOverrideElements(layer, refRoot));
690
+ // `layers` is ordered broadest to narrowest (general, tenant,
691
+ // role, user — see `ConfigurationOverrideResult.subPaths`), so
692
+ // folding them in order onto `currentValue` cascades correctly:
693
+ // each layer only patches what it mentions, inheriting
694
+ // everything else from the fold so far.
695
+ const mergedValue = expandedLayers.reduce(mergeSubPathOverrideValue, currentValue);
696
+ // The same fold minus the identity's own-scope layer — "what
697
+ // this identity would see with no override of its own", which
698
+ // is what `inherited` is stamped against. The provider reports
699
+ // those layers explicitly (`inheritedSubPaths`) because the
700
+ // tier a layer is stored at isn't recoverable from the values
701
+ // alone; dropping the last layer is only a fallback for a
702
+ // provider that doesn't, and is wrong whenever the identity has
703
+ // no row of its own yet (the layer dropped is then a broader
704
+ // one that very much still applies).
705
+ const inheritedLayers = subPathPatch.inherited
706
+ ? (subPathPatch.inherited[jsonPath] ?? [])
707
+ : layers.slice(0, -1);
708
+ const withoutOwnScope = inheritedLayers
709
+ .map((layer) => expandRefOverrideElements(layer, refRoot))
710
+ .reduce(mergeSubPathOverrideValue, currentValue);
711
+ const finalValue = stampInherited(mergedValue, withoutOwnScope);
712
+ const applied = jp.value(result, jsonPath, finalValue);
622
713
  if (applied === undefined) {
623
714
  throw new Error(`does not resolve to a settable location: "${jsonPath}"`);
624
715
  }
@@ -805,7 +896,9 @@ class ConfigService {
805
896
  // thread them into processConfig rather than re-resolving them later.
806
897
  async getConfigFromStore(configPath, context) {
807
898
  const override = await this.configurationOverrideProvider?.resolve(configPath, context);
808
- const subPathOverrides = override?.subPaths ?? null;
899
+ const subPathOverrides = override
900
+ ? toSubPathOverrideLayers(override)
901
+ : null;
809
902
  if (override?.whole && !override.whole.contentType) {
810
903
  return { config: load(override.whole.value), subPathOverrides };
811
904
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-service.js","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-service.js","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAc,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAa,MAAM,YAAY,CAAC;AAQlD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,6BAA6B,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,iBAAiB,GAElB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAwB,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,MAAM,8BAA8B,GAAG,aAAa,CAAC;AACrD,MAAM,gCAAgC,GAAG,YAAY,CAAC;AAItD,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,KAAK,CACT,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,KAAK,IAAI;YACb,OAAO,IAAI,KAAK,QAAQ;YACxB,OAAQ,IAAgC,CAAC,IAAI,KAAK,QAAQ,CAC7D,CACF,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,qEAAqE;AACrE,sEAAsE;AACtE,0EAA0E;AAC1E,6EAA6E;AAC7E,4EAA4E;AAC5E,yBAAyB;AACzB,SAAS,8BAA8B,CAAC,IAAiB;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,OAAO,CACL,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1C,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACvD,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CACpE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,yBAAyB,CAAC,IAAa,EAAE,QAAiB;IACjE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE,CAAC;QACpC,oEAAoE;QACpE,sEAAsE;QACtE,oCAAoC;QACpC,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,SAAS;QACX,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,8BAA8B,CAAC,YAAY,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QACD,sEAAsE;IACxE,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9E,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC;AAC5C,CAAC;AAED,0EAA0E;AAC1E,4EAA4E;AAC5E,gEAAgE;AAChE,wEAAwE;AACxE,6DAA6D;AAC7D,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,OAAO;AACP,yEAAyE;AACzE,2EAA2E;AAC3E,qEAAqE;AACrE,6CAA6C;AAC7C,wEAAwE;AACxE,4EAA4E;AAC5E,6EAA6E;AAC7E,oEAAoE;AACpE,uEAAuE;AACvE,6EAA6E;AAC7E,0EAA0E;AAC1E,6EAA6E;AAC7E,gCAAgC;AAChC,EAAE;AACF,wEAAwE;AACxE,yEAAyE;AACzE,iDAAiD;AACjD,SAAS,cAAc,CACrB,WAAoB,EACpB,eAAwB;IAExB,IACE,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAChC,CAAC,kBAAkB,CAAC,eAAe,CAAC,EACpC,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACjD,CAAC;IACF,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO;YACL,GAAG,IAAI;YACP,SAAS,EAAE,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,OAAO,KAAK,KAAK;SAC1D,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CACnB,IAAa;IAEb,OAAO,CACL,IAAI,KAAK,IAAI;QACb,OAAO,IAAI,KAAK,QAAQ;QACxB,OAAQ,IAAgC,CAAC,IAAI,KAAK,QAAQ,CAC3D,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,0EAA0E;AAC1E,kEAAkE;AAClE,oEAAoE;AACpE,uEAAuE;AACvE,uEAAuE;AACvE,qEAAqE;AACrE,qEAAqE;AACrE,uEAAuE;AACvE,uEAAuE;AACvE,wEAAwE;AACxE,0EAA0E;AAC1E,qEAAqE;AACrE,EAAE;AACF,0EAA0E;AAC1E,0EAA0E;AAC1E,yEAAyE;AACzE,sEAAsE;AACtE,0EAA0E;AAC1E,2EAA2E;AAC3E,4EAA4E;AAC5E,2EAA2E;AAC3E,SAAS,yBAAyB,CAChC,IAA6B,EAC7B,OAAgB;IAEhB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAc,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC;IACrD,OAAO;QACL,GAAI,KAAiC;QACrC,GAAG,cAAc;QACjB,GAAG;KACsB,CAAC;AAC9B,CAAC;AAED,uEAAuE;AACvE,uEAAuE;AACvE,wEAAwE;AACxE,uEAAuE;AACvE,2EAA2E;AAC3E,yEAAyE;AACzE,oCAAoC;AACpC,SAAS,yBAAyB,CAAC,KAAc,EAAE,OAAgB;IACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE;SACA,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED,sEAAsE;AACtE,yEAAyE;AACzE,yEAAyE;AACzE,wEAAwE;AACxE,mDAAmD;AACnD,uEAAuE;AACvE,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,sEAAsE;AACtE,yCAAyC;AACzC,EAAE;AACF,wEAAwE;AACxE,yCAAyC;AACzC,4EAA4E;AAC5E,uEAAuE;AACvE,0EAA0E;AAC1E,6EAA6E;AAC7E,0EAA0E;AAC1E,yEAAyE;AACzE,wEAAwE;AACxE,wBAAwB;AACxB,SAAS,sBAAsB,CAC7B,MAA+B,EAC/B,YAAuC;IAEvC,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9D,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,kEAAkE;AAClE,yEAAyE;AACzE,uEAAuE;AACvE,4EAA4E;AAC5E,kBAAkB;AAClB,SAAS,uBAAuB,CAC9B,QAAqC;IAErC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,QAAQ;QACtB,SAAS,EAAE,QAAQ,CAAC,iBAAiB,IAAI,IAAI;KAC9C,CAAC;AACJ,CAAC;AA8BD,MAAM,OAAO,eAAe;IACT,SAAS,CAAS;IAClB,UAAU,CAAU;IACpB,YAAY,CAAU;IAEvC,YAAY,MAAyB;QACnC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC1C,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,eAAe;QACpB,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,SAAiB;QAC3D,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,EAAE,CAAC;QAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,iEAAiE;YACjE,oHAAoH;YACpH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACzD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,CAAC,GAAG,EAAE,CAAC;gBAChB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAgB;QACxC,IAAI,CAAC;YACH,MAAM,KAAK,GAAU,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,mCAAmC;gBACnC,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC,CAAC,0BAA0B;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,IAAI,SAAS,CAAC;QACd,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;YACpC,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;YACpC,IAAI,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,IAAI,YAAY,CACpB,yDAAyD,CAC1D,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,CAAC,MAAM,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;oBAChD,CAAC,CAAC,QAAQ,GAAG,OAAO;oBACpB,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAW,MAAM,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAkB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACvD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAkB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEvD,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,CAAC,MAAM,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;YACtC,CAAC,MAAM,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,MAAW;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrC,GAAG,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;oBACjD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;oBAChD,MAAM,GAAG,GAAc,SAAS,CAAC;wBAC/B,MAAM,EAAE,CAAC,kBAAkB,CAAC;qBAC7B,CAAC,CAAC;oBACH,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBACjD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtB,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,YAAY,oBAAoB,CAAC,CAAC;wBAChE,MAAM,GAAG,GAAc,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACjD,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAc,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;CACF;AAED,MAAM,aAAa;IACA,YAAY,CAAgB;IAC5B,KAAK,CAAS;IACd,uBAAuB,CAA0B;IACjD,SAAS,CAAkB;IAC3B,SAAS,CAAwB;IACjC,6BAA6B,CAA0D;IAExG,YACE,KAAwB,EACxB,YAA2B,EAC3B,mBAA2C,EAAE;QAE7C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,uBAAuB;YACrE,CAAC,CAAC,EAAE,GAAG,gBAAgB,CAAC,uBAAuB,EAAE;YACjD,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS;YACzC,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,SAAS,EAAE;YACxD,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS;YACzC,CAAC,CAAC,EAAE,GAAG,gBAAgB,CAAC,SAAS,EAAE;YACnC,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,6BAA6B;YAChC,gBAAgB,CAAC,6BAA6B,CAAC;QACjD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,qBAAqB,CAC3B,OAAY,EACZ,MAA0B,EAC1B,MAAgB;QAEhB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE9C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACpB,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CACxD,CACF,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,KAAY,EAAE,QAAgB;QAC1D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,GAAG,IAAI;YACP,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;SACjD,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,cAAc,CAAC,MAAa;QAClC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,gEAAgE;YAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;YAErC,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,QAAQ;aACjB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,GAAQ,EAAE,MAAW;QAC1C,MAAM,gBAAgB,GAAG,MAAM,IAAI,EAAE,CAAC;QAEtC,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACtB,OAAO;gBACL,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM;gBAClB,GAAG,gBAAgB;aACpB,CAAC;QACJ,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,cAAc,CAAC,KAAU;QAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;IACrD,CAAC;IAEO,MAAM,CAAC,GAAwB;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,UAAkB,EAClB,GAAU,EACV,OAAY,EACZ,MAAW;QAEX,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CACnC,UAAU,EACV,GAAG,CAAC,KAAK,CAAC,EACV,OAAO,EACP,MAAM,CACP,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,UAAkB,EAClB,GAAwB,EACxB,OAAY,EACZ,MAAW;QAEX,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CACjC,UAAU,EACV,GAAG,CAAC,GAAG,CAAC,EACR,OAAO,EACP,MAAM,CACP,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,uBAAuB,CAC7B,aAAkB,EAClB,eAAoB;QAEpB,IAAI,OAAO,eAAe,EAAE,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,aAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,wBAAwB,CAC9B,aAAkB,EAClB,eAAoB;QAEpB,IAAI,OAAO,eAAe,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChD,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,YAAY,CACpB,eAAe,GAAG,+BAA+B,OAAO,cAAc,EAAE,CACzE,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,aAAa,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;gBACpC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,YAAY,CACpB,eAAe,GAAG,wCAAwC,GAAG,iBAAiB,OAAO,SAAS,EAAE,CACjG,CAAC;YACJ,CAAC;YAED,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,cAAc,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,UAAkB,EAClB,GAAwB,EACxB,OAAY,EACZ,MAAW;QAEX,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC;QACjC,MAAM,aAAa,GACjB,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,CAAC,OAAO;YAC5D,CAAC,CAAC,eAAe,CAAC,OAAO;YACzB,CAAC,CAAC,eAAe,CAAC;QAEtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC3E,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAC5C,UAAU,EACV,aAAa,EACb,OAAO,EACP,MAAM,CACP,CAAC;QACF,IAAI,aAAa,GACf,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI;YACzD,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC;YAC7D,CAAC,CAAC,cAAc,CAAC;QAErB,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAC1C,aAAa,EACb,eAAe,CAChB,CAAC;QACF,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAC3C,aAAa,EACb,eAAe,CAChB,CAAC;QACF,aAAa,GAAG,MAAM,IAAI,CAAC,wBAAwB,CACjD,aAAa,EACb,MAAM,EACN,OAAO,CACR,CAAC;QAEF,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAI,WAAc,EAAE,OAAY;QAC7D,OAAO,MAAM,iBAAiB,CAC5B,WAAW,EACX,OAAO,EACP,IAAI,CAAC,uBAAuB,CAC7B,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GACjB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9D,aAAa,CAAC,MAAM,GAAG,GAAG,EAAE;YAC1B,MAAM,qBAAqB,GAAG;gBAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBACZ,aAAa,EAAE,KAAK,EAAE,GAAQ,EAAE,OAAY,EAAE,EAAE;wBAC9C,uDAAuD;wBACvD,8DAA8D;wBAC9D,6DAA6D;wBAC7D,2DAA2D;wBAC3D,MAAM,aAAa,GAAG,GAAG,CAAC,iBAAiB;4BACzC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,EAAE;4BAC9C,CAAC,CAAC,GAAG,CAAC,kBAAkB;gCACtB,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE;gCAC9B,CAAC,CAAC,IAAI,CAAC;wBACX,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CACzC,GAAG,CAAC,IAAI,EACR,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,OAAO,EAC1D,IAAI,EACJ,GAAG,CAAC,OAAO,CACZ,CAAC;wBACF,OAAO,UAAU,CAAC;oBACpB,CAAC;oBACD,WAAW,EAAE,KAAK,EAAE,GAAQ,EAAE,OAAY,EAAE,EAAE;wBAC5C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CACzC,GAAG,CAAC,IAAI,EACR,OAAO,EACP,IAAI,EACJ,GAAG,CAAC,OAAO,CACZ,CAAC;wBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,wBAAwB,CACjD,UAAU,EACV,OAAO,CACR,CAAC;wBACF,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;oBAC1C,CAAC;iBACF,CAAC;gBACF,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBACZ,aAAa,EAAE,KAAK,EAClB,GAAgC,EAChC,OAAY,EACZ,EAAE;wBACF,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACxD,CAAC;iBACF,CAAC;gBACF,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBACd,IAAI,EAAE,KAAK,EAAE,GAAQ,EAAE,OAAY,EAAE,EAAE;wBACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAClC,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;wBACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;4BACrD,OAAO;4BACP,aAAa;yBACd,CAAC,CAAC;oBACL,CAAC;oBACD,GAAG,EAAE,KAAK,EAAE,IAAS,EAAE,OAAY,EAAE,EAAE;wBACrC,OAAO,MAAM,IAAI,CAAC,SAAS,CACzB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,EACvC,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;oBACJ,CAAC;iBACF,CAAC;gBACF,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBACZ,IAAI,EAAE,KAAK,EACT,GAAsC,EACtC,OAAY,EACZ,EAAE;wBACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAC5B,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;wBACF,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAC9C,KAAK,EACL,GAAG,CAAC,MAAM,EACV,CAAC,MAAM,EAAE,aAAa,CAAC,CACxB,CAAC;wBACF,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAC/C,aAAa,EACb,GAAG,CAAC,IAAI,CACT,CAAC;wBAEF,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;oBACnC,CAAC;oBACD,SAAS,EAAE,KAAK,EAAE,GAAqB,EAAE,OAAY,EAAE,EAAE;wBACvD,OAAO,MAAM,IAAI,CAAC,SAAS,CACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAC5B,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;oBACJ,CAAC;iBACF,CAAC;gBACF,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;oBACb,GAAG,EAAE,KAAK,EAAE,GAAqB,EAAE,OAAY,EAAE,EAAE;wBACjD,OAAO,MAAM,IAAI,CAAC,SAAS,CACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,EAC7B,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;oBACJ,CAAC;iBACF,CAAC;gBACF,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;oBACX,IAAI,EAAE,KAAK,EAAE,GAAqB,EAAE,EAAE;wBACpC,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;oBACnE,CAAC;oBACD,GAAG,EAAE,KAAK,EAAE,GAAqB,EAAE,OAAY,EAAE,EAAE;wBACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAC3B,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;wBAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;4BAC3B,OAAO,IAAI,CAAC;wBACd,CAAC;wBAED,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBACrC,CAAC;oBACD,aAAa,EAAE,KAAK,EAAE,GAAqB,EAAE,OAAY,EAAE,EAAE;wBAC3D,OAAO,MAAM,IAAI,CAAC,eAAe,CAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAC3B,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;oBACJ,CAAC;iBACF,CAAC;aACH,CAAC;YAEF,MAAM,kBAAkB,GACtB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAExD,OAAO,kBAAkB,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;QACvE,CAAC,CAAC;QAEF,MAAM,gBAAgB,GACpB,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QACpE,gBAAgB,CAAC,MAAM,GAAG,GAAG,EAAE;YAC7B,MAAM,wBAAwB,GAAG;gBAC/B,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,YAAY;yBACd,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;yBACtD,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAC/C,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBACZ,eAAe,EAAE,KAAK,EAAE,GAAQ,EAAE,OAAY,EAAE,EAAE;wBAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;wBACnD,OAAO,MAAM,IAAI,CAAC,YAAY,CAC5B,UAAU,EACV;4BACE,UAAU,EAAE,eAAe;4BAC3B,GAAG,GAAG,CAAC,KAAK;yBACb,EACD,OAAO,CACR,CAAC;oBACJ,CAAC;iBACF,CAAC;aACH,CAAC;YAEF,MAAM,qBAAqB,GACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAE3D,OAAO,kBAAkB,CACvB,wBAAwB,EACxB,qBAAqB,CACtB,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,kEAAkE;IAClE,wDAAwD;IACxD,EAAE;IACF,yEAAyE;IACzE,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,uEAAuE;IACvE,uEAAuE;IACvE,KAAK,CAAC,aAAa,CACjB,MAAW,EACX,OAAY,EACZ,gBAA0B,EAC1B,oBAAmD;QAEnD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACzD,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,oBAAoB,CACrB,CAAC;QACF,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,MAAW,EACX,OAAY,EACZ,gBAA0B;QAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,gBAAgB;QAChB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,CACxD,CACF,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,+CAA+C;YAC/C,IAAI,eAAe,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;YACpC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBAClC,eAAe,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACjD,eAAe,CAAC,GAAG,CAAC,EACpB,OAAO,EACP,gBAAgB,CACjB,CAAC;YACJ,CAAC;YAED,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAChD,eAAe,EACf,OAAO,EACP,gBAAgB,CACjB,CAAC;YAEF,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,yEAAyE;IACzE,sEAAsE;IACtE,iEAAiE;IACjE,EAAE;IACF,wEAAwE;IACxE,uEAAuE;IACvE,uDAAuD;IAC/C,KAAK,CAAC,uBAAuB,CACnC,MAAW,EACX,OAAY,EACZ,gBAA0B,EAC1B,kBAAiD;QAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CACvB,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAC9D,CACF,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,YAAY,GAChB,kBAAkB,KAAK,SAAS;gBAC9B,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,6BAA6B;oBACvD,CAAC,CAAC,uBAAuB,CACrB,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAC9C,MAAM,CAAC,UAAU,EACjB,OAAO,CACR,CACF;oBACH,CAAC,CAAC,IAAI,CAAC;YAEb,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;gBACjE,+DAA+D;gBAC/D,kEAAkE;gBAClE,mEAAmE;gBACnE,8DAA8D;gBAC9D,8DAA8D;gBAC9D,iEAAiE;gBACjE,kEAAkE;gBAClE,sDAAsD;gBACtD,oEAAoE;gBACpE,gEAAgE;gBAChE,yDAAyD;gBACzD,iDAAiD;gBACjD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5C,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClE,kEAAkE;oBAClE,mEAAmE;oBACnE,gEAAgE;oBAChE,gEAAgE;oBAChE,gDAAgD;oBAChD,IAAI,CAAC;wBACH,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;wBAChD,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1C,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1C,CAAC;wBACF,8DAA8D;wBAC9D,+DAA+D;wBAC/D,gEAAgE;wBAChE,uDAAuD;wBACvD,wCAAwC;wBACxC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CACvC,yBAAyB,EACzB,YAAY,CACb,CAAC;wBACF,6DAA6D;wBAC7D,8DAA8D;wBAC9D,+DAA+D;wBAC/D,4DAA4D;wBAC5D,8DAA8D;wBAC9D,0DAA0D;wBAC1D,gEAAgE;wBAChE,6DAA6D;wBAC7D,qCAAqC;wBACrC,MAAM,eAAe,GAAG,YAAY,CAAC,SAAS;4BAC5C,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;4BAC1C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACxB,MAAM,eAAe,GAAG,eAAe;6BACpC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;6BACzD,MAAM,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;wBACnD,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;wBAChE,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;wBACvD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;4BAC1B,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,GAAG,CACzD,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,GAAG,CAAC,IAAI,CACN,wCAAwC,MAAM,CAAC,UAAU,SAAS,QAAQ,MAAO,KAAe,CAAC,OAAO,EAAE,CAC3G,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACjD,GAAG;YACH,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC;SACrE,CAAC,CACH,CAAC;QACF,OAAO,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,eAAoB,EACpB,OAAY,EACZ,gBAA0B;QAE1B,IAAI,CAAC,eAAe,EAAE,UAAU,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtD,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,MAAM,QAAQ,GAAmB,IAAI,aAAa,EAAE,CAAC;QACrD,OAAO,MAAM,QAAQ,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,aAAqB,EACrB,OAAY,EACZ,MAAY;QAEZ,IAAI,QAAgB,CAAC;QACrB,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3C,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,aAAa,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,gBAAgB,CAAC,GAAQ,EAAE,SAAiB;QAC1C,MAAM,YAAY,GAAG,CAAC,UAAe,EAAE,EAAE;YACvC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;oBACnB,qDAAqD;oBACrD,UAAU,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBACtD,CAAC;qBAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,UAAU,CAAC,GAAG,CAAC;wBACb,6BAA6B,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBACrE,CAAC;qBAAM,IACL,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,QAAQ;oBACnC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,EACxB,CAAC;oBACD,oCAAoC;oBACpC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,YAAY,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,YAAY,CAAC,GAAU;QACrB,MAAM,SAAS,GAAU,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,MAAW,EACX,WAAgB,EAChB,OAAY;QAEZ,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAE,MAAW,EAAE,EAAE;YAC7D,IAAI,CAAC;gBACH,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,UAAU,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,YAAY,CACpB,kCAAkC,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,CACjE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,sCAAsC;QACtC,MAAM,YAAY,GAAG,KAAK,EAAE,KAAU,EAAgB,EAAE;YACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACtD,UAAU,EACV,OAAO,CACR,CAAC;oBACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;oBACtE,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBACpE,OAAO,cAAc,CAAC,UAAU,CAC9B,gCAAgC,EAChC,CAAC,MAAc,EAAE,UAAkB,EAAE,EAAE,CACrC,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,CAC9C,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,cAAc,GAAG,EAAE,CAAC;gBAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,cAAc,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChD,CAAC;gBACD,OAAO,cAAc,CAAC;YACxB,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACvD,MAAM,eAAe,GAAQ,EAAE,CAAC;gBAChC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/C,eAAe,CAAC,GAAG,CAAC,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;gBACD,OAAO,eAAe,CAAC;YACzB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,OAAO,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,aAAqB,EACrB,OAAY;QAEZ,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAElE,0CAA0C;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAChE,aAAa,EACb,OAAO,CACR,CAAC;QACF,IAAI,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YACjC,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK;gBAC1B,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW;gBACpC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aACtE,CAAC;QACJ,CAAC;QAED,IAAI,aAA0C,CAAC;QAC/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAE/D,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,aAAa,GAAG,KAAK,CAAC;oBACtB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,YAAY,CACpB,uCAAuC,aAAa,EAAE,CACvD,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE9D,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAE3C,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC7D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,GAAQ,EACR,OAAY,EACZ,SAAc,EAAE;QAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEnD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC;IAEO,eAAe,CAAC,GAAW;QACjC,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO;gBACV,OAAO,YAAY,CAAC;YACtB,KAAK,MAAM;gBACT,OAAO,WAAW,CAAC;YACrB,KAAK,MAAM;gBACT,OAAO,eAAe,CAAC;YACzB;gBACE,OAAO,0BAA0B,CAAC;QACtC,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,uEAAuE;IACvE,sEAAsE;IACtE,yEAAyE;IACzE,sEAAsE;IACtE,KAAK,CAAC,kBAAkB,CACtB,UAAkB,EAClB,OAAa;QAKb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAChE,UAAU,EACV,OAAO,CACR,CAAC;QACF,MAAM,gBAAgB,GAAG,QAAQ;YAC/B,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACnD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAClE,CAAC;QAED,MAAM,UAAU,GAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACvD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;YACtC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,YAAY,CACpB,0CAA0C,UAAU,EAAE,EACtD,EAAE,aAAa,EAAE,UAAU,EAAE,CAC9B,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAkB;QAChC,OAAO,CACL,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACpC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAClC,CACF,CACF,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,SAAS,CACb,UAAkB,EAClB,OAAY,EACZ,MAAY,EACZ,gBAA0B;QAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAAkB,EAClB,OAAY,EACZ,MAAY,EACZ,gBAA0B;QAE1B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACrE,UAAU,EACV,OAAO,CACR,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAC3C,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,gBAAgB,CACjB,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QACxC,MAAM,OAAO,GAAU,MAAM,OAAO,CAAC,GAAG,CACtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACpC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CACpC,CACF,CAAC;QACF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,MAAW,EACX,OAAY;QAEZ,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5D,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAEO,wBAAwB,CAAC,SAAiB;QAChD,OAAO,SAAS;aACb,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAEO,uBAAuB,CAAC,OAAY,EAAE,SAAc;QAC1D,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAE9B,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,UAAkB,QAAQ,EAAE,EAAE;YACxE,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;gBAC7D,SAAS,CAAC,OAAO,CAAC,KAAK,SAAS,EAChC,CAAC;gBACD,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC;QAEF,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC7B,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC7B,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACjC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACjC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QACtC,gBAAgB,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;QACjE,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC9B,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC9B,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC/B,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5B,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAE5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,sBAAsB,CAC5B,MAAW,EACX,YAA8B;QAE9B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzB,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,YAAY,CAAC,CAChD,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAE3B,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,aAAkB,EAClB,OAAY;QAEZ,6EAA6E;QAC7E,IACE,CAAC,IAAI,CAAC,KAAK;YACX,aAAa,CAAC,aAAa;YAC3B,aAAa,CAAC,oBAAoB,EAClC,CAAC;YACD,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,IAAI,CAAC;YACH,yEAAyE;YACzE,yEAAyE;YACzE,qEAAqE;YACrE,MAAM,mBAAmB,GACvB,aAAa,CAAC,kBAAkB;gBAChC,CAAC,UAAU,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAEtD,MAAM,KAAK,GAAG,UAAU,CAAC;gBACvB,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,aAAa,EAAE,aAAa,CAAC,aAAa,IAAI,eAAe;gBAC7D,KAAK,EAAE,aAAa,CAAC,KAAK,IAAI,EAAE;gBAChC,mBAAmB,EAAE,aAAa,CAAC,mBAAmB;gBACtD,UAAU,EAAE,mBAAmB;aAChC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC9C,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,IAAI,EAAE,EAAE,EACnD,OAAO,CACR,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,GAAG,CAAC,IAAI,CACN,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EACzB,sCAAsC,CACvC,CAAC;gBACF,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,MAAM,OAAO,GAAG,mBAAmB;gBACjC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,IAAI,mBAAmB,EAAE;gBACrD,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC;YAE5B,IAAI,IAAI,GAAQ,MAAM,CAAC,IAAI,CAAC;YAC5B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,IAAI,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,sCAAsC,CAAC,CAAC;YAC5D,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,MAAW,EACX,OAAY;QAEZ,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CACnE,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,MAAM,CAAC,UAAU,KAAK,oBAAoB,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CACxB,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAC9C,CACF,CAAC;YACF,OAAO,MAAM,CAAC,WAAW,CACvB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAC7D,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,UAAU,CAAC,GAAQ;QACzB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG;iBACP,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;iBACpC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAwB,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,uBAAuB,CAAC,MAAW,EAAE,kBAAyB;QACpE,gEAAgE;QAChE,MAAM,MAAM,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAChD,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,GAAG,EAA2C,CAAC;QAExE,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAC;YACzC,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;gBACnD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;oBACpB,SAAS;gBACX,CAAC;gBACD,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAElD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE;wBAC/B,IAAI,EAAE,EAAE,GAAG,SAAS,EAAE;wBACtB,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC1C,sDAAsD;oBACtD,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE;wBAC/B,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;wBAClE,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,8EAA8E;oBAC9E,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE;wBAC/B,IAAI,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,SAAS,EAAE;wBACxC,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,2DAA2D;QAC3D,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;QAEF,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAEO,iBAAiB,CACvB,SAAiB,EACjB,GAAwB;QAExB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,IAAI,EAAE,UAAU,SAAS,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,sBAAsB,CAC5B,CAAqB,EACrB,CAAqB;QAErB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,iEAAiE;QACjE,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,0CAA0C;QAC5C,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,6CAA6C;IACrE,CAAC;IAEO,sBAAsB,CAC5B,CAAqB,EACrB,CAAqB;QAErB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,uEAAuE;QACvE,+EAA+E;QAC/E,6EAA6E;QAC7E,yDAAyD;QACzD,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YAC/B,gFAAgF;YAChF,wFAAwF;YACxF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC;IACxD,CAAC;IAEO,oBAAoB,CAC1B,MAAW,EACX,QAAa,EACb,QAAa;QAEb,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAU,EAAE,CAAC;YACpD,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,sBAAsB,CAC5B,MAAW,EACX,QAAa,EACb,QAAa;QAEb,KAAK,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,uBAAuB,CAAU,EAAE,CAAC;YAC1E,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;oBACzB,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG;oBAC5C,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,MAAW,EAAE,QAAa,EAAE,QAAa;QACjE,IACE,QAAQ,CAAC,YAAY,KAAK,SAAS;YACnC,QAAQ,CAAC,YAAY,KAAK,SAAS,EACnC,CAAC;YACD,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GACf,QAAQ,CAAC,YAAY,KAAK,SAAS;YACnC,QAAQ,CAAC,YAAY,KAAK,SAAS;YACnC,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY,CAAC;QAClD,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CACN;gBACE,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,CAAC,EAAE,QAAQ,CAAC,YAAY;gBACxB,CAAC,EAAE,QAAQ,CAAC,YAAY;aACzB,EACD,2FAA2F,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,MAAW,EAAE,QAAa,EAAE,QAAa;QACjE,IACE,QAAQ,CAAC,YAAY,KAAK,SAAS;YACnC,QAAQ,CAAC,YAAY,KAAK,SAAS,EACnC,CAAC;YACD,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,MAAW,EAAE,QAAa,EAAE,QAAa;QAC/D,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU;gBACrC,CAAC,CAAC,IAAI,QAAQ,CAAC,UAAU,SAAS,QAAQ,CAAC,UAAU,GAAG;gBACxD,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,sBAAsB,CAC5B,MAAW,EACX,QAAa,EACb,QAAa;QAEb,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,SAAS;gBACd,QAAQ,CAAC,SAAS,KAAK,SAAS;oBAC9B,CAAC,CAAC,QAAQ,CAAC,SAAS;oBACpB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,SAAS;gBACd,QAAQ,CAAC,SAAS,KAAK,SAAS;oBAC9B,CAAC,CAAC,QAAQ,CAAC,SAAS;oBACpB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEO,oBAAoB,CAC1B,MAAW,EACX,QAAa,EACb,QAAa;QAEb,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAC/C,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,OAAO,CACjB,CAAC;QACF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC;QACjC,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAC/C,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,OAAO,CACjB,CAAC;QACF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC;QACjC,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,mEAAmE;IACnE,sEAAsE;IACtE,2CAA2C;IACnC,6BAA6B,CAAC,QAAa,EAAE,QAAa;QAChE,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAE/B,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEtD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,qBAAqB,CAAC,YAAiB;QAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,YAAiB,EAAE,OAAY;QACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAE/D,MAAM,aAAa,GAAU,EAAE,CAAC;QAChC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EACtC,OAAO,EACP,IAAI,EACJ,KAAK,CACN,CAAC;gBACF,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAE1D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;YACxC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CACjD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,OAAY,EACZ,aAAuB,EACvB,YAAkB;QAElB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACrE,UAAU,EACV,OAAO,CACR,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAEzE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAClD,OAAO,EACP,kBAAkB,CACnB,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,aAAa,CAC7B,eAAe,EACf,OAAO,EACP,aAAa,EACb,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAC3D,CAAC;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,KAAK,EACL,YAAY,EACZ,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,6BAA6B,GACF,EAAiB,EAAE;IAC9C,MAAM,gBAAgB,GAA2B;QAC/C,uBAAuB;QACvB,SAAS;QACT,SAAS;QACT,6BAA6B;KAC9B,CAAC;IAEF,OAAO,IAAI,aAAa,CACtB,KAAK,EACL,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC,EACnE,gBAAgB,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -38,6 +38,8 @@ interface ITable {
38
38
  configurableAttributes: [ConfigurableAttribute!]
39
39
  """Admin-defined columns not present in this table's own base `columns`, available to add via the Configure Columns dialog. Site/tenant-scoped catalog — see `$.predefinedColumns` under `configurableAttributes`."""
40
40
  predefinedColumns: [Column!]
41
+ """Admin-defined filter criteria not present in this table's own base `filter.criteria`, available to add via the Configure Filters dialog. Site/tenant-scoped catalog — see `$.predefinedFilters` under `configurableAttributes`."""
42
+ predefinedFilters: [TableCriteria!]
41
43
  }
42
44
 
43
45
  """One overridable sub-element of a config object identified by `configPath` — see the parent's own `configPath` field for how the two combine (`${configPath}#${configSubPath}`)."""
@@ -170,6 +172,11 @@ type TableCriteria {
170
172
  selectOptions: ISelectOptions
171
173
  min: Float
172
174
  max: Float
175
+ visible: Boolean
176
+ """Set when this criterion was added by `$ref`-referencing a predefined/base criterion (e.g. `"#$.predefinedFilters[?(@.name=='status')]"`) rather than being copied inline — see the config-path override merge in `config-service.ts`. Clients that re-save this criterion unchanged should keep sending the same `$ref` (as this value) rather than flattening it into a full copy."""
177
+ ref: String
178
+ """True when this criterion would still show up — present by name *and* not hidden — without the current scope's own override, i.e. from a broader layer (a role/site override, or the table's own base template `filter.criteria`). Drives two things in the Configure Filters editor. Hide-vs-delete: "remove" must hide (`visible: false`) an inherited criterion, since deleting it from the override would just have it reappear from the broader layer on the next read, while a non-inherited one can be deleted outright. And pin-on-add: re-adding a *non*-inherited criterion must write an explicit `visible: true`, or the broader layer's `visible: false` is inherited per-attribute by the name-keyed merge and the criterion stays invisible however it's re-added. Computed fresh on every read in `config-service.ts`'s `applyConfigPathOverride` against the layers below the identity's own scope tier (`ConfigurationOverrideResult.inheritedSubPaths`), never persisted."""
179
+ inherited: Boolean
173
180
  }
174
181
 
175
182
  enum TableFilterVariant {
@@ -193,6 +200,8 @@ type Column {
193
200
  filter: ColumnFilter
194
201
  """Set when this column was added by `$ref`-referencing a predefined/base column (e.g. `"#$.predefinedColumns[?(@.name=='email')]"`) rather than being copied inline — see the config-path override merge in `config-service.ts`. Clients that re-save this column unchanged should keep sending the same `$ref` (as this value) rather than flattening it into a full copy."""
195
202
  ref: String
203
+ """True when this column would still show up — present by name *and* not hidden — without the current scope's own override, i.e. from a broader layer (a role/site override, or the table's own base template `columns`). Drives hide-vs-delete and pin-on-add in the Configure Columns editor — see `TableCriteria.inherited`'s doc comment for the full reasoning, identical here."""
204
+ inherited: Boolean
196
205
  }
197
206
 
198
207
  type ColumnFilter {
@@ -38,6 +38,8 @@ interface ITable {
38
38
  configurableAttributes: [ConfigurableAttribute!]
39
39
  """Admin-defined columns not present in this table's own base `columns`, available to add via the Configure Columns dialog. Site/tenant-scoped catalog — see `$.predefinedColumns` under `configurableAttributes`."""
40
40
  predefinedColumns: [Column!]
41
+ """Admin-defined filter criteria not present in this table's own base `filter.criteria`, available to add via the Configure Filters dialog. Site/tenant-scoped catalog — see `$.predefinedFilters` under `configurableAttributes`."""
42
+ predefinedFilters: [TableCriteria!]
41
43
  }
42
44
 
43
45
  """One overridable sub-element of a config object identified by `configPath` — see the parent's own `configPath` field for how the two combine (`${configPath}#${configSubPath}`)."""
@@ -170,6 +172,11 @@ type TableCriteria {
170
172
  selectOptions: ISelectOptions
171
173
  min: Float
172
174
  max: Float
175
+ visible: Boolean
176
+ """Set when this criterion was added by `$ref`-referencing a predefined/base criterion (e.g. `"#$.predefinedFilters[?(@.name=='status')]"`) rather than being copied inline — see the config-path override merge in `config-service.ts`. Clients that re-save this criterion unchanged should keep sending the same `$ref` (as this value) rather than flattening it into a full copy."""
177
+ ref: String
178
+ """True when this criterion would still show up — present by name *and* not hidden — without the current scope's own override, i.e. from a broader layer (a role/site override, or the table's own base template `filter.criteria`). Drives two things in the Configure Filters editor. Hide-vs-delete: "remove" must hide (`visible: false`) an inherited criterion, since deleting it from the override would just have it reappear from the broader layer on the next read, while a non-inherited one can be deleted outright. And pin-on-add: re-adding a *non*-inherited criterion must write an explicit `visible: true`, or the broader layer's `visible: false` is inherited per-attribute by the name-keyed merge and the criterion stays invisible however it's re-added. Computed fresh on every read in `config-service.ts`'s `applyConfigPathOverride` against the layers below the identity's own scope tier (`ConfigurationOverrideResult.inheritedSubPaths`), never persisted."""
179
+ inherited: Boolean
173
180
  }
174
181
 
175
182
  enum TableFilterVariant {
@@ -193,6 +200,8 @@ type Column {
193
200
  filter: ColumnFilter
194
201
  """Set when this column was added by `$ref`-referencing a predefined/base column (e.g. `"#$.predefinedColumns[?(@.name=='email')]"`) rather than being copied inline — see the config-path override merge in `config-service.ts`. Clients that re-save this column unchanged should keep sending the same `$ref` (as this value) rather than flattening it into a full copy."""
195
202
  ref: String
203
+ """True when this column would still show up — present by name *and* not hidden — without the current scope's own override, i.e. from a broader layer (a role/site override, or the table's own base template `columns`). Drives hide-vs-delete and pin-on-add in the Configure Columns editor — see `TableCriteria.inherited`'s doc comment for the full reasoning, identical here."""
204
+ inherited: Boolean
196
205
  }
197
206
 
198
207
  type ColumnFilter {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docupace/ihub-config",
3
- "version": "1.1.24-admin.0",
3
+ "version": "1.1.24-admin.2",
4
4
  "description": "Reusable config GraphQL extension and standalone server",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",