@hydranium/core 1.0.0-next.376 → 1.0.0-next.378

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/lib/documents/client-session-errors.d.ts +1 -1
  2. package/lib/documents/client-session-errors.d.ts.map +1 -1
  3. package/lib/documents/client-session-errors.js +1 -1
  4. package/lib/documents/client-session-errors.js.map +1 -1
  5. package/lib/langium/integrity/integrity-rule.d.ts +5 -0
  6. package/lib/langium/integrity/integrity-rule.d.ts.map +1 -1
  7. package/lib/langium/integrity/integrity-rule.js.map +1 -1
  8. package/lib/langium/integrity/integrity-service.d.ts +9 -0
  9. package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
  10. package/lib/langium/integrity/integrity-service.js +16 -2
  11. package/lib/langium/integrity/integrity-service.js.map +1 -1
  12. package/lib/langium/model-service/client-session.d.ts +39 -17
  13. package/lib/langium/model-service/client-session.d.ts.map +1 -1
  14. package/lib/langium/model-service/client-session.js +39 -15
  15. package/lib/langium/model-service/client-session.js.map +1 -1
  16. package/lib/langium/model-service/model-service.d.ts +2 -1
  17. package/lib/langium/model-service/model-service.d.ts.map +1 -1
  18. package/lib/langium/model-service/model-service.js +4 -3
  19. package/lib/langium/model-service/model-service.js.map +1 -1
  20. package/lib/langium/trivia/comment-preserver.d.ts.map +1 -1
  21. package/lib/langium/trivia/comment-preserver.js +2 -1
  22. package/lib/langium/trivia/comment-preserver.js.map +1 -1
  23. package/lib/langium/workspace/index.d.ts +1 -0
  24. package/lib/langium/workspace/index.d.ts.map +1 -1
  25. package/lib/langium/workspace/index.js +1 -0
  26. package/lib/langium/workspace/index.js.map +1 -1
  27. package/lib/langium/workspace/syntax-errors.d.ts +23 -0
  28. package/lib/langium/workspace/syntax-errors.d.ts.map +1 -0
  29. package/lib/langium/workspace/syntax-errors.js +29 -0
  30. package/lib/langium/workspace/syntax-errors.js.map +1 -0
  31. package/package.json +5 -5
  32. package/src/documents/client-session-errors.ts +2 -0
  33. package/src/langium/integrity/integrity-rule.ts +5 -0
  34. package/src/langium/integrity/integrity-service.ts +16 -2
  35. package/src/langium/model-service/client-session.ts +66 -23
  36. package/src/langium/model-service/model-service.ts +6 -8
  37. package/src/langium/trivia/comment-preserver.ts +2 -1
  38. package/src/langium/workspace/index.ts +1 -0
  39. package/src/langium/workspace/syntax-errors.ts +34 -0
@@ -11,5 +11,5 @@
11
11
  * recognise them is the client. They are defined in `@hydranium/protocol` so a
12
12
  * frontend can name them without depending on the server tier.
13
13
  */
14
- export { DocumentNotOpenError, DuplicateClientIdError, ReservedClientIdError, SessionClosedError, isDocumentNotOpenError, isDuplicateClientIdError, isReservedClientIdError, isSessionClosedError } from '@hydranium/protocol';
14
+ export { DocumentNotOpenError, DocumentSyntaxError, DuplicateClientIdError, ReservedClientIdError, SessionClosedError, isDocumentNotOpenError, isDocumentSyntaxError, isDuplicateClientIdError, isReservedClientIdError, isSessionClosedError } from '@hydranium/protocol';
15
15
  //# sourceMappingURL=client-session-errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-session-errors.d.ts","sourceRoot":"","sources":["../../src/documents/client-session-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;GAIG;AACH,OAAO,EACJ,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACtB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"client-session-errors.d.ts","sourceRoot":"","sources":["../../src/documents/client-session-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;GAIG;AACH,OAAO,EACJ,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACtB,MAAM,qBAAqB,CAAC"}
@@ -11,5 +11,5 @@
11
11
  * recognise them is the client. They are defined in `@hydranium/protocol` so a
12
12
  * frontend can name them without depending on the server tier.
13
13
  */
14
- export { DocumentNotOpenError, DuplicateClientIdError, ReservedClientIdError, SessionClosedError, isDocumentNotOpenError, isDuplicateClientIdError, isReservedClientIdError, isSessionClosedError } from '@hydranium/protocol';
14
+ export { DocumentNotOpenError, DocumentSyntaxError, DuplicateClientIdError, ReservedClientIdError, SessionClosedError, isDocumentNotOpenError, isDocumentSyntaxError, isDuplicateClientIdError, isReservedClientIdError, isSessionClosedError } from '@hydranium/protocol';
15
15
  //# sourceMappingURL=client-session-errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-session-errors.js","sourceRoot":"","sources":["../../src/documents/client-session-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;GAIG;AACH,OAAO,EACJ,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACtB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"client-session-errors.js","sourceRoot":"","sources":["../../src/documents/client-session-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;GAIG;AACH,OAAO,EACJ,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACtB,MAAM,qBAAqB,CAAC"}
@@ -67,6 +67,11 @@ export interface IntegrityRule<T extends AstNode = AstNode> extends RegistryItem
67
67
  /**
68
68
  * Apply the rule. Returns `true` if the AST was mutated.
69
69
  *
70
+ * The build does not call it for a document whose parse lacks some of its
71
+ * text, see `hasSkippedText`, unless an override of `isStructurallyBroken`
72
+ * says otherwise, since a repair is written back by serializing the AST. A
73
+ * direct call of `IntegrityService.enforceIntegrity` has no such check.
74
+ *
70
75
  * Mirrors Langium's `ValidationCheck` shape (`MaybePromise<void>`) so a
71
76
  * rule that must consult an external system can return a promise without
72
77
  * forcing every sync rule to pay a microtask tick per node. The
@@ -1 +1 @@
1
- {"version":3,"file":"integrity-rule.d.ts","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,KAAK,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;AAEzE,yBAAiB,cAAc,CAAC;IACtB,MAAM,MAAM,EAAE,cAAqC,CAAC;IACpD,MAAM,MAAM,EAAE,cAAqC,CAAC;IAE3D;;;;;;;;OAQG;IACH,SAAgB,GAAG,IAAI,SAAS,cAAc,EAAE,CAE/C;IAED,SAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CASrD;CACH;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,YAAY;IAC7E,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2HAA2H;IAC3H,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CACrF;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,cAAc,CAAC"}
1
+ {"version":3,"file":"integrity-rule.d.ts","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,KAAK,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;AAEzE,yBAAiB,cAAc,CAAC;IACtB,MAAM,MAAM,EAAE,cAAqC,CAAC;IACpD,MAAM,MAAM,EAAE,cAAqC,CAAC;IAE3D;;;;;;;;OAQG;IACH,SAAgB,GAAG,IAAI,SAAS,cAAc,EAAE,CAE/C;IAED,SAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CASrD;CACH;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,YAAY;IAC7E,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2HAA2H;IAC3H,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CACrF;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"integrity-rule.js","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAAgB,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AAWvF,MAAM,KAAW,cAAc,CA2B9B;AA3BD,WAAiB,cAAc;IACf,qBAAM,GAAmB,aAAa,CAAC,MAAM,CAAC;IAC9C,qBAAM,GAAmB,aAAa,CAAC,MAAM,CAAC;IAE3D;;;;;;;;OAQG;IACH,SAAgB,GAAG;QAChB,OAAO,CAAC,qBAAM,EAAE,qBAAM,CAAC,CAAC;IAC3B,CAAC;IAFe,eAAA,GAAG,MAElB,CAAA;IAED,SAAgB,QAAQ,CAAC,KAAoB;QAC1C,QAAQ,KAAK,EAAE,CAAC;YACb,KAAK,aAAa,CAAC,MAAM;gBACtB,OAAO,QAAQ,CAAC;YACnB,KAAK,aAAa,CAAC,MAAM;gBACtB,OAAO,QAAQ,CAAC;YACnB;gBACG,OAAO,WAAW,KAAK,GAAG,CAAC;QACjC,CAAC;IACJ,CAAC;IATe,eAAA,QAAQ,WASvB,CAAA;AACJ,CAAC,EA3BgB,cAAc,KAAd,cAAc,QA2B9B;AAgDD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"integrity-rule.js","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAAgB,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AAWvF,MAAM,KAAW,cAAc,CA2B9B;AA3BD,WAAiB,cAAc;IACf,qBAAM,GAAmB,aAAa,CAAC,MAAM,CAAC;IAC9C,qBAAM,GAAmB,aAAa,CAAC,MAAM,CAAC;IAE3D;;;;;;;;OAQG;IACH,SAAgB,GAAG;QAChB,OAAO,CAAC,qBAAM,EAAE,qBAAM,CAAC,CAAC;IAC3B,CAAC;IAFe,eAAA,GAAG,MAElB,CAAA;IAED,SAAgB,QAAQ,CAAC,KAAoB;QAC1C,QAAQ,KAAK,EAAE,CAAC;YACb,KAAK,aAAa,CAAC,MAAM;gBACtB,OAAO,QAAQ,CAAC;YACnB,KAAK,aAAa,CAAC,MAAM;gBACtB,OAAO,QAAQ,CAAC;YACnB;gBACG,OAAO,WAAW,KAAK,GAAG,CAAC;QACjC,CAAC;IACJ,CAAC;IATe,eAAA,QAAQ,WASvB,CAAA;AACJ,CAAC,EA3BgB,cAAc,KAAd,cAAc,QA2B9B;AAqDD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC"}
@@ -67,6 +67,9 @@ export declare namespace IntegrityService {
67
67
  * at `DocumentState.Validated` and delivered separately via `publishDiagnostics`
68
68
  * or the `onModelUpdated` event.
69
69
  *
70
+ * A document whose parse lacks some of its text reaches this state
71
+ * unrepaired: no rule runs on it until it parses.
72
+ *
70
73
  * The AST is what this guarantees, not the text. For a closed document whose
71
74
  * repair was STAGED rather than written (`'editor'` sync mode),
72
75
  * `textDocument` still mirrors disk — read the repair off the AST, or from
@@ -159,6 +162,12 @@ export declare class DefaultIntegrityService<TRoot extends AstNode = AstNode> im
159
162
  register<T extends AstNode>(rule: IntegrityRule<T>): Disposable;
160
163
  /** Remove a rule by id. Returns `true` if a rule was removed. Useful for adopters that want to swap a built-in rule. */
161
164
  unregister(id: string): boolean;
165
+ /**
166
+ * Seam: does the parse of `document` lack some of its text? {@link enforceBatch}
167
+ * runs no rule on such a document, because a repair is written back by
168
+ * serializing the AST, and a recovered AST lacks what the parser skipped.
169
+ */
170
+ protected isStructurallyBroken(document: LangiumDocument): boolean;
162
171
  /**
163
172
  * Run all rules for the given phase against matching AST nodes. Returns
164
173
  * `true` if any rule mutated the AST.
@@ -1 +1 @@
1
- {"version":3,"file":"integrity-service.d.ts","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integrity-service.d.ts","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-service.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { isPromiseLike, Logger } from '@hydranium/protocol';
10
10
  import { AstUtils, DocumentState, interruptAndCheck, isOperationCancelled, UriUtils } from '@hydranium/langium';
11
11
  import { CancellationToken } from 'vscode-languageserver';
12
12
  import { Registry } from '../../util/registry.js';
13
+ import { hasSkippedText } from '../workspace/syntax-errors.js';
13
14
  import { isVirtualUri } from '../workspace/virtual-document.js';
14
15
  import { IntegrityPhase } from './integrity-rule.js';
15
16
  export var IntegrityService;
@@ -25,6 +26,9 @@ export var IntegrityService;
25
26
  * at `DocumentState.Validated` and delivered separately via `publishDiagnostics`
26
27
  * or the `onModelUpdated` event.
27
28
  *
29
+ * A document whose parse lacks some of its text reaches this state
30
+ * unrepaired: no rule runs on it until it parses.
31
+ *
28
32
  * The AST is what this guarantees, not the text. For a closed document whose
29
33
  * repair was STAGED rather than written (`'editor'` sync mode),
30
34
  * `textDocument` still mirrors disk — read the repair off the AST, or from
@@ -129,8 +133,10 @@ export class DefaultIntegrityService {
129
133
  // nothing and the hot rule loop stays a single const-branch off `session`.
130
134
  const session = Logger.isLevelEnabled('debug') ? this.tracer.profile(`integrity ${DocumentState[phase]}`) : undefined;
131
135
  for (const document of documents) {
132
- const changed = await this.enforceIntegrity(document, phase, cancelToken, session);
133
- if (changed) {
136
+ if (this.isStructurallyBroken(document)) {
137
+ this.tracer.with(document.uri.toString()).debug('Parse errors: rules skipped until the document parses');
138
+ }
139
+ else if (await this.enforceIntegrity(document, phase, cancelToken, session)) {
134
140
  mutatedCount++;
135
141
  // Not cancellable: see `resyncDocument`.
136
142
  await this.resyncDocument(document, CancellationToken.None);
@@ -181,6 +187,14 @@ export class DefaultIntegrityService {
181
187
  }
182
188
  return removed;
183
189
  }
190
+ /**
191
+ * Seam: does the parse of `document` lack some of its text? {@link enforceBatch}
192
+ * runs no rule on such a document, because a repair is written back by
193
+ * serializing the AST, and a recovered AST lacks what the parser skipped.
194
+ */
195
+ isStructurallyBroken(document) {
196
+ return hasSkippedText(document);
197
+ }
184
198
  /**
185
199
  * Run all rules for the given phase against matching AST nodes. Returns
186
200
  * `true` if any rule mutated the AST.
@@ -1 +1 @@
1
- {"version":3,"file":"integrity-service.js","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,EAAoC,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAEJ,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EAEpB,QAAQ,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAmB,MAAM,uBAAuB,CAAC;AAM3E,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAA8C,MAAM,qBAAqB,CAAC;AA6CjG,MAAM,KAAW,gBAAgB,CAwBhC;AAxBD,WAAiB,gBAAgB;IAC9B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACU,6BAAY,GAAkB,aAAa,CAAC,iBAAiB,CAAC;AAC9E,CAAC,EAxBgB,gBAAgB,KAAhB,gBAAgB,QAwBhC;AAED;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAwB,CAAC;AAiBhE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,uBAAuB;IAgCX,QAAQ;IA/B9B,uGAAuG;IACpF,KAAK,GAAG,IAAI,QAAQ,EAAiB,CAAC;IACzD,8EAA8E;IACpE,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAElD;;;;;;;;;OASG;IACO,YAAY,GAAG,IAAI,GAAG,EAAgE,CAAC;IACvF,eAAe,CAAuC;IAEhE,8FAA8F;IAC3E,QAAQ,CAAoB;IAE5B,aAAa,CAAuC;IACpD,kBAAkB,CAA6B;IAC/C,MAAM,CAAS;IAClC;;;OAGG;IACgB,eAAe,CAA2B;IAE7D,YACsB,QAAgC,EACnD,OAAO,GAA4B,EAAE;wBADlB,QAAQ;QAG3B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;QAC7D,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/F,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC;QAE7C,mEAAmE;QACnE,oEAAoE;QACpE,sEAAsE;QACtE,gEAAgE;QAChE,oEAAoE;QACpE,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC;QACtD,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACvD,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,YAAY,CAAC,SAAqC,EAAE,KAAoB,EAAE,WAA8B;QAC3G,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAC/D,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,0EAA0E;QAC1E,qEAAqE;QACrE,2EAA2E;QAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YACnF,IAAI,OAAO,EAAE,CAAC;gBACX,YAAY,EAAE,CAAC;gBACf,yCAAyC;gBACzC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACtD,wEAAwE;QACxE,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,aAAa,CAAC,KAAK,CAAC,UAAU,SAAS,CAAC,MAAM,aAAa,YAAY,KAAK,OAAO,KAAK,CAAC,CAAC;QACzH,CAAC;aAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,aAAa,CAAC,KAAK,CAAC,UAAU,SAAS,CAAC,MAAM,aAAa,YAAY,KAAK,OAAO,KAAK,CAAC,CAAC;QAC1H,CAAC;QACD,sFAAsF;QACtF,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,uFAAuF;IACvF,QAAQ,CAAoB,IAAsB;QAC/C,yFAAyF;QACzF,sFAAsF;QACtF,8DAA8D;QAC9D,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACZ,mBAAmB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,wBAAwB;gBAC7D,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,mDAAmD;gBAC/E,uCAAuC,CAC5C,CAAC;QACL,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,wEAAwE;QACxE,gFAAgF;QAChF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CACb,mBAAmB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,QAAQ,KAAK;gBACnF,uEAAuE,CAC5E,CAAC;QACL,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/G,OAAO;YACJ,OAAO,EAAE,GAAG,EAAE;gBACX,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;SACH,CAAC;IACL,CAAC;IAED,wHAAwH;IACxH,UAAU,CAAC,EAAU;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,OAAO,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,gBAAgB,CACnB,QAAyB,EACzB,KAAoB,EACpB,WAA+B,EAC/B,OAAwB;QAExB,IAAI,WAAW,EAAE,uBAAuB,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QAChB,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjG,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACpE,2EAA2E;gBAC3E,6EAA6E;gBAC7E,MAAM,QAAQ,GAAG,OAAO;oBACrB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;oBACxE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACpE,IAAI,OAAO,EAAE,CAAC;oBACX,UAAU,CAAC,KAAK,CAAC,IAAI,WAAW,aAAa,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzE,CAAC;gBACD,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC;YAChC,CAAC;YACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACF,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACrB,IAAI,OAAO,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;wBACxC,OAAO,IAAI,CAAC;oBACf,CAAC;oBACD,MAAM,GAAG,CAAC;gBACb,CAAC;YACJ,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACO,KAAK,CAAC,cAAc,CAAC,QAAyB,EAAE,WAA+B;QACtF,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAc,CAAC;QACjD,uEAAuE;QACvE,qEAAqE;QACrE,uEAAuE;QACvE,2DAA2D;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChF,MAAM,OAAO,GACV,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAO,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1H,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAChD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO;QACV,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;QAC9C,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,4EAA4E;QAC5E,4EAA4E;QAC5E,sEAAsE;QACtE,0EAA0E;QAC1E,EAAE;QACF,4EAA4E;QAC5E,uEAAuE;QACvE,0EAA0E;QAC1E,4EAA4E;QAC5E,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,gCAAgC;QAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC;QACjF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/F,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC7B,sEAAsE;YACtE,wEAAwE;YACxE,qEAAqE;YACrE,uEAAuE;YACvE,wEAAwE;YACxE,0BAA0B;YAC1B,EAAE;YACF,uEAAuE;YACvE,mEAAmE;YACnE,wEAAwE;YACxE,sEAAsE;YACtE,sEAAsE;YACtE,2DAA2D;YAC3D,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACpD,OAAO;QACV,CAAC;QAED,2EAA2E;QAC3E,uEAAuE;QACvE,mEAAmE;QACnE,yEAAyE;QACzE,yCAAyC;QACzC,MAAM,YAAY,GACf,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAEpI,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAErD,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAEpD,2EAA2E;QAC3E,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,uEAAuE;QACvE,oEAAoE;QACpE,oBAAoB;QACpB,EAAE;QACF,2EAA2E;QAC3E,0EAA0E;QAC1E,wEAAwE;QACxE,gCAAgC;QAChC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,sEAAsE;YACtE,oEAAoE;YACpE,qEAAqE;YACrE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAChG,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,iBAAiB,CAAC,QAAyB,EAAE,WAA+B;QACzF,IAAI,QAAQ,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1C,wEAAwE;YACxE,4EAA4E;YAC5E,gEAAgE;YAChE,EAAE;YACF,4EAA4E;YAC5E,6EAA6E;YAC7E,yEAAyE;YACzE,2EAA2E;YAC3E,oEAAoE;YACpE,0EAA0E;YAC1E,+CAA+C;YAC/C,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACL,4EAA4E;YAC5E,qEAAqE;YACrE,wEAAwE;YACxE,0EAA0E;YAC1E,wEAAwE;YACxE,mEAAmE;YACnE,0EAA0E;YAC1E,4EAA4E;YAC5E,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACtE,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACO,KAAK,CAAC,eAAe,CAAC,QAAsB,EAAE,UAAmB;QACxE,gEAAgE;QAChE,yEAAyE;QACzE,UAAU;QACV,IAAI,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,OAAO;QACV,CAAC;QAED,oEAAoE;QACpE,2EAA2E;QAC3E,yEAAyE;QACzE,qEAAqE;QACrE,0EAA0E;QAC1E,2EAA2E;QAC3E,uEAAuE;QACvE,4DAA4D;QAC5D,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACxG,OAAO;QACV,CAAC;QAED,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5G,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC1D,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACzD,CAAC;YACD,OAAO;QACV,CAAC;QAED,qDAAqD;QACrD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpC,wFAAwF;YACxF,oEAAoE;YACpE,+DAA+D;YAC/D,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CACjF,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAC3E,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO;QACV,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACO,KAAK,CAAC,oBAAoB,CAAC,QAAsB,EAAE,UAAkB;QAC5E,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;YACvF,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACF,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,mEAAmE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACzH,OAAO;YACV,CAAC;YACD,qEAAqE;YACrE,mEAAmE;YACnE,oEAAoE;YACpE,qEAAqE;YACrE,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBACzB,OAAO;YACV,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;gBAC9G,OAAO;YACV,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;gBACrG,OAAO;YACV,CAAC;YACD,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACO,eAAe,CAAC,GAAW;QAClC,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,OAAO;QACV,CAAC;QACD,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACO,iBAAiB,CAAC,GAAW;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CACb,gCAAgC,GAAG,yDAAyD;YACzF,wGAAwG,CAC7G,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACO,UAAU,CAAC,IAAmB;QACrC,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACO,UAAU,CAAC,IAAa;QAC/B,MAAM,KAAK,GAAG,IAAkD,CAAC;QACjE,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,KAAK,GAAG,QAAQ,IAAI,MAAM,CAAC;QACjC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACO,YAAY,CAAC,IAAmB;QACvC,4DAA4D;QAC5D,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/F,CAAC;IAES,cAAc,CAAC,KAAoB;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,GAAG,EAA+C,CAAC;YACpE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACX,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAChC,CAAC;gBACD,gEAAgE;gBAChE,KAAK,MAAM,QAAQ,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACvD,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACjC,IAAI,CAAC,KAAK,EAAE,CAAC;wBACV,KAAK,GAAG,EAAE,CAAC;wBACX,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC/B,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC;IAC7D,CAAC;CACH;AAED,sFAAsF;AACtF,MAAM,kBAAkB,GAAkD,IAAI,GAAG,EAAE,CAAC;AACpF,MAAM,QAAQ,GAA6B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"integrity-service.js","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-service.ts"],"names":[],"mappings":"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"}
@@ -26,11 +26,17 @@ export interface ClientSessionWriteArgs<TTransfer> {
26
26
  * makes rather than a field it forgot.
27
27
  */
28
28
  baseVersion: BaseVersion;
29
+ /**
30
+ * Set when the write restores one the session made before a reconnect. Its
31
+ * model was written over text that parsed, so it is not refused when the
32
+ * text no longer does.
33
+ */
34
+ restore?: boolean;
29
35
  }
30
36
  /** What a session's `persist` writes: the text the store holds for `uri`. */
31
- export type ClientSessionPersistArgs = Omit<ClientSessionWriteArgs<never>, 'model'>;
37
+ export type ClientSessionPersistArgs = Omit<ClientSessionWriteArgs<never>, 'model' | 'restore'>;
32
38
  /** What a session's `delete` removes: the document at `uri`, at the version it was based on. */
33
- export type ClientSessionDeleteArgs = Omit<ClientSessionWriteArgs<never>, 'model'>;
39
+ export type ClientSessionDeleteArgs = Omit<ClientSessionWriteArgs<never>, 'model' | 'restore'>;
34
40
  /** What a session's `updateAll` writes, all or none. */
35
41
  export interface ClientSessionUpdateAllArgs<TTransfer> {
36
42
  updates: ClientSessionWriteArgs<TTransfer>[];
@@ -92,17 +98,23 @@ export interface ClientSession<TAst extends AstNode, TDiagnostic extends AstDiag
92
98
  * write, so the answer holds every diagnostic its update event does: that
93
99
  * event names this session, and a client dropping its own echo would
94
100
  * otherwise never see them. `written` names the version the text took.
101
+ * A model, not text, written to a document whose last build lacks some of
102
+ * its text, see `hasSkippedText`, fails with `DocumentSyntaxError`, unless
103
+ * the write is a `restore`.
95
104
  */
96
105
  update(args: ClientSessionWriteArgs<TTransfer>, cancelToken?: CancellationToken): Promise<WrittenAstDocument<TAst, TDiagnostic>>;
97
106
  /**
98
107
  * Write several documents this session has open, all or none: a
99
- * `ConflictError` or `DocumentNotOpenError` for any of them is thrown before
100
- * any text applies. Resolves to the rebuilt documents, in the order given,
101
- * each validated as {@link update}'s is.
108
+ * `ConflictError`, `DocumentNotOpenError` or `DocumentSyntaxError` for any
109
+ * of them is thrown before any text applies. Resolves to the rebuilt
110
+ * documents, in the order given, each validated as {@link update}'s is.
102
111
  */
103
112
  updateAll(args: ClientSessionUpdateAllArgs<TTransfer>, cancelToken?: CancellationToken): Promise<WrittenAstDocument<TAst, TDiagnostic>[]>;
104
- /** Write `args.model` as {@link update} does, then persist the document. */
105
- save(args: ClientSessionWriteArgs<TTransfer>, cancelToken?: CancellationToken): Promise<SavedAstDocument<TAst, TDiagnostic>>;
113
+ /**
114
+ * Write `args.model` as {@link update} does, then persist the document. A
115
+ * save is never a `restore`, so its model is always checked.
116
+ */
117
+ save(args: Omit<ClientSessionWriteArgs<TTransfer>, 'restore'>, cancelToken?: CancellationToken): Promise<SavedAstDocument<TAst, TDiagnostic>>;
106
118
  /**
107
119
  * Persist the text the store holds for `args.uri` as it is, with no update
108
120
  * and no serialisation. Resolves with the version of the text written, once
@@ -201,7 +213,7 @@ export declare class DefaultClientSession<TAst extends AstNode, TDiagnostic exte
201
213
  create(uri: string, text: string): Promise<TextVersion>;
202
214
  update(args: ClientSessionWriteArgs<TTransfer>, cancelToken?: CancellationToken): Promise<WrittenAstDocument<TAst, TDiagnostic>>;
203
215
  updateAll(args: ClientSessionUpdateAllArgs<TTransfer>, cancelToken?: CancellationToken): Promise<WrittenAstDocument<TAst, TDiagnostic>[]>;
204
- save(args: ClientSessionWriteArgs<TTransfer>, cancelToken?: CancellationToken): Promise<SavedAstDocument<TAst, TDiagnostic>>;
216
+ save(args: Omit<ClientSessionWriteArgs<TTransfer>, 'restore'>, cancelToken?: CancellationToken): Promise<SavedAstDocument<TAst, TDiagnostic>>;
205
217
  persist(args: ClientSessionPersistArgs): Promise<TextVersion>;
206
218
  close(uri: string): Promise<void>;
207
219
  delete(args: ClientSessionDeleteArgs): Promise<void>;
@@ -220,16 +232,23 @@ export declare class DefaultClientSession<TAst extends AstNode, TDiagnostic exte
220
232
  * on one version both apply.
221
233
  */
222
234
  protected assertBaseVersion(uri: string, baseVersion: BaseVersion, currentVersion: number): void;
235
+ /**
236
+ * Throw `DocumentSyntaxError` when the parse of `uri`'s last build lacks
237
+ * some of its text, see `hasSkippedText`. A write of a model calls it beside
238
+ * {@link assertBaseVersion}: the model is serialized over the whole text,
239
+ * and one read from such a document lacks what the parser skipped.
240
+ */
241
+ protected assertParses(uri: string): void;
223
242
  /**
224
243
  * Serialise `args.model`, apply it to the store under this session's id,
225
244
  * rebuild, and resolve to the rebuilt document.
226
245
  *
227
- * The open check and the `baseVersion` gate run at the door, so a write that
228
- * cannot land is refused before any adopter serialiser runs, and again in
229
- * the synchronous step that applies the text: made only before the
230
- * serialiser's await, a close during it lets the write land on a document
231
- * this session no longer has open, and two writes based on one version
232
- * both apply.
246
+ * The open check, the `baseVersion` gate and, for a model, the parse check
247
+ * run at the door, so a write that cannot land is refused before any
248
+ * adopter serialiser runs, and again in the synchronous step that applies
249
+ * the text: made only before the serialiser's await, a close during it
250
+ * lets the write land on a document this session no longer has open, and
251
+ * two writes based on one version both apply.
233
252
  *
234
253
  * Resolves with the latest build of the document, which may already carry
235
254
  * a newer write; that is logged at debug, and a slow update at warn when
@@ -241,9 +260,10 @@ export declare class DefaultClientSession<TAst extends AstNode, TDiagnostic exte
241
260
  protected updateDocument(args: ClientSessionWriteArgs<TTransfer>, cancelToken?: CancellationToken): Promise<WrittenAstDocument<TAst, TDiagnostic>>;
242
261
  /**
243
262
  * Write every document of `args.updates`, all or none: every model is
244
- * serialised first, then every open check and `baseVersion` gate runs and every
245
- * text is applied in one synchronous step. Checked at the door as well, so
246
- * a stale set is refused before any adopter serialiser runs.
263
+ * serialised first, then every open check, `baseVersion` gate and parse
264
+ * check runs and every text is applied in one synchronous step. Checked at
265
+ * the door as well, so a stale set is refused before any adopter serialiser
266
+ * runs.
247
267
  *
248
268
  * The apply step relies on `AstDocumentManager.update` applying its text
249
269
  * before its first await, as the default does: an override that awaits first
@@ -257,6 +277,8 @@ export declare class DefaultClientSession<TAst extends AstNode, TDiagnostic exte
257
277
  * Fails with `DocumentNotOpenError` and writes nothing when this session
258
278
  * closes the URI while the text is being built. Persisted at `'any'`: the
259
279
  * update already gated on `args.baseVersion` and moved the text past it.
280
+ * A `restore` in `args` is dropped: a save puts the model on disk, so
281
+ * it is always checked.
260
282
  */
261
283
  protected saveDocument(args: ClientSessionWriteArgs<TTransfer>, cancelToken?: CancellationToken): Promise<SavedAstDocument<TAst, TDiagnostic>>;
262
284
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client-session.d.ts","sourceRoot":"","sources":["../../../src/langium/model-service/client-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-session.d.ts","sourceRoot":"","sources":["../../../src/langium/model-service/client-session.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,8 @@
9
9
  import { ConflictError, isModelVersion, Logger, ObservableValue, describeErrorWithStack } from '@hydranium/protocol';
10
10
  import { isOperationCancelled, UriUtils } from '@hydranium/langium';
11
11
  import { Emitter } from 'vscode-languageserver';
12
- import { DocumentNotOpenError, SessionClosedError } from '../../documents/client-session-errors.js';
12
+ import { DocumentNotOpenError, DocumentSyntaxError, SessionClosedError } from '../../documents/client-session-errors.js';
13
+ import { hasSkippedText } from '../workspace/syntax-errors.js';
13
14
  /**
14
15
  * The framework's {@link ClientSession}, built by
15
16
  * {@link DefaultClientSessionFactory}.
@@ -155,16 +156,28 @@ export class DefaultClientSession {
155
156
  throw new ConflictError(uri, baseVersion, currentVersion);
156
157
  }
157
158
  }
159
+ /**
160
+ * Throw `DocumentSyntaxError` when the parse of `uri`'s last build lacks
161
+ * some of its text, see `hasSkippedText`. A write of a model calls it beside
162
+ * {@link assertBaseVersion}: the model is serialized over the whole text,
163
+ * and one read from such a document lacks what the parser skipped.
164
+ */
165
+ assertParses(uri) {
166
+ const document = this.modelService.getDocument(uri);
167
+ if (document && hasSkippedText(document)) {
168
+ throw new DocumentSyntaxError(uri);
169
+ }
170
+ }
158
171
  /**
159
172
  * Serialise `args.model`, apply it to the store under this session's id,
160
173
  * rebuild, and resolve to the rebuilt document.
161
174
  *
162
- * The open check and the `baseVersion` gate run at the door, so a write that
163
- * cannot land is refused before any adopter serialiser runs, and again in
164
- * the synchronous step that applies the text: made only before the
165
- * serialiser's await, a close during it lets the write land on a document
166
- * this session no longer has open, and two writes based on one version
167
- * both apply.
175
+ * The open check, the `baseVersion` gate and, for a model, the parse check
176
+ * run at the door, so a write that cannot land is refused before any
177
+ * adopter serialiser runs, and again in the synchronous step that applies
178
+ * the text: made only before the serialiser's await, a close during it
179
+ * lets the write land on a document this session no longer has open, and
180
+ * two writes based on one version both apply.
168
181
  *
169
182
  * Resolves with the latest build of the document, which may already carry
170
183
  * a newer write; that is logged at debug, and a slow update at warn when
@@ -180,13 +193,18 @@ export class DefaultClientSession {
180
193
  const profile = Logger.isLevelEnabled('debug') ? this.tracer.profile(`model-update ${uri}`) : undefined;
181
194
  const run = async (stage, fn) => (profile ? profile.scope(stage, fn) : fn());
182
195
  const textDocuments = this.services.workspace.TextDocuments;
183
- this.assertOpen(uri);
184
- this.assertBaseVersion(uri, args.baseVersion, textDocuments.version(uri));
196
+ const check = () => {
197
+ this.assertOpen(uri);
198
+ this.assertBaseVersion(uri, args.baseVersion, textDocuments.version(uri));
199
+ if (typeof args.model !== 'string' && !args.restore) {
200
+ this.assertParses(uri);
201
+ }
202
+ };
203
+ check();
185
204
  service.assertCanBuild(uri);
186
205
  const text = await run('serialize', () => service.modelToText(uri, args.model, cancelToken));
187
206
  const appliedVersion = await run('apply', () => {
188
- this.assertOpen(uri);
189
- this.assertBaseVersion(uri, args.baseVersion, textDocuments.version(uri));
207
+ check();
190
208
  return this.services.workspace.AstDocumentManager.update(uri, text, this.clientId);
191
209
  });
192
210
  // Through the public `rebuild`, so an override of it stays in the path.
@@ -213,9 +231,10 @@ export class DefaultClientSession {
213
231
  }
214
232
  /**
215
233
  * Write every document of `args.updates`, all or none: every model is
216
- * serialised first, then every open check and `baseVersion` gate runs and every
217
- * text is applied in one synchronous step. Checked at the door as well, so
218
- * a stale set is refused before any adopter serialiser runs.
234
+ * serialised first, then every open check, `baseVersion` gate and parse
235
+ * check runs and every text is applied in one synchronous step. Checked at
236
+ * the door as well, so a stale set is refused before any adopter serialiser
237
+ * runs.
219
238
  *
220
239
  * The apply step relies on `AstDocumentManager.update` applying its text
221
240
  * before its first await, as the default does: an override that awaits first
@@ -232,6 +251,9 @@ export class DefaultClientSession {
232
251
  const check = () => updates.forEach((update, i) => {
233
252
  this.assertOpen(uris[i]);
234
253
  this.assertBaseVersion(uris[i], update.baseVersion, textDocuments.version(uris[i]));
254
+ if (typeof update.model !== 'string' && !update.restore) {
255
+ this.assertParses(uris[i]);
256
+ }
235
257
  service.assertCanBuild(uris[i]);
236
258
  });
237
259
  check();
@@ -272,9 +294,11 @@ export class DefaultClientSession {
272
294
  * Fails with `DocumentNotOpenError` and writes nothing when this session
273
295
  * closes the URI while the text is being built. Persisted at `'any'`: the
274
296
  * update already gated on `args.baseVersion` and moved the text past it.
297
+ * A `restore` in `args` is dropped: a save puts the model on disk, so
298
+ * it is always checked.
275
299
  */
276
300
  async saveDocument(args, cancelToken) {
277
- const doc = await this.updateDocument(args, cancelToken);
301
+ const doc = await this.updateDocument({ ...args, restore: undefined }, cancelToken);
278
302
  const version = await this.persistDocument({ uri: args.uri, baseVersion: 'any' });
279
303
  return { ...doc, persisted: { version } };
280
304
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client-session.js","sourceRoot":"","sources":["../../../src/langium/model-service/client-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-session.js","sourceRoot":"","sources":["../../../src/langium/model-service/client-session.ts"],"names":[],"mappings":"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"}
@@ -77,7 +77,8 @@ export interface ModelServiceOptions extends LogNameOptions {
77
77
  * Costs a parse, an encode and a serialization per write whose text
78
78
  * differs; remembering the text last written instead would not cover a
79
79
  * file formatted outside the framework. Text with lexer or parser errors is
80
- * replaced as usual.
80
+ * replaced as usual by {@link ModelService.modelToText}, though a session
81
+ * refuses to write a model there.
81
82
  *
82
83
  * Accepts a {@link MaybeObservableValue} so it can be bound to a setting.
83
84
  */
@@ -1 +1 @@
1
- {"version":3,"file":"model-service.d.ts","sourceRoot":"","sources":["../../../src/langium/model-service/model-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,YAAY,EAEjB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,eAAe,EAGf,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,MAAM,EAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACJ,KAAK,OAAO,EACZ,aAAa,EACb,KAAK,eAAe,EAIpB,KAAK,GAAG,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAiC,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAEtE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI/D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACJ,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACxB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,iEAAoE,CAAC;AAUnG;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9D;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;CAC7D;AAED,2GAA2G;AAC3G,MAAM,WAAW,qBAAqB,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,SAAS,aAAa,GAAG,aAAa;IAC3G,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC;CAC3E;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4GG;AACH,MAAM,WAAW,YAAY,CAC1B,IAAI,SAAS,OAAO,EACpB,WAAW,SAAS,aAAa,GAAG,aAAa,EACjD,SAAS,SAAS,eAAe,GAAG,eAAe;IAEnD;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAG9B,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAClI,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACxG,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG1F,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAClI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IACtH;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACxF,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACzF,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAEjG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B;;;OAGG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IAClE;;;;;;;;OAQG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IACtD;;;;;;;OAOG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF;;;;OAIG;IACH,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAElD;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC;IACvH;;;OAGG;IACH,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC;IACjH;;;;OAIG;IACH,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC;IACnH;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC;IACpG,4EAA4E;IAC5E,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC;IACzG;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC;IACtG,qFAAqF;IACrF,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC;IAE9G;;;;;;;;;;;;;;;;;;;OAmBG;IACH,aAAa,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EACzD,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC7D,wGAAwG;IACxG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;CACxF;AAED,qBAAa,mBAAmB,CAC7B,IAAI,SAAS,OAAO,EACpB,WAAW,SAAS,aAAa,GAAG,aAAa;AACjD;;;;;;;;GAQG;AACH,SAAS,SAAS,eAAe,GAAG,eAAe,CACpD,YAAW,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC;IAoFjD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB;IAnFpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAChD,iFAAiF;IACjF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAClE,8EAA8E;IAC9E,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAE/D;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,6BAAoC;IACjE,SAAS,CAAC,QAAQ,CAAC,WAAW,sBAA6B;IAC3D;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,yBAAgC;IAErE,oFAAoF;IACpF,SAAS,CAAC,QAAQ,CAAC,QAAQ,mEAAkE;IAC7F;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAC5C,2GAA2G;IAC3G,SAAS,CAAC,QAAQ,CAAC,YAAY,sBAA6B;IAC5D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,oEAA2E;IAE/G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B,YACsB,QAAQ,EAAE,oBAAoB,EACjD,OAAO,GAAE,mBAAwB,EAuCnC;IAMD;;;;;;;;;;;OAWG;IACG,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAEtI;IAED;;;;;OAKG;IACG,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAI5G;IAED;;;;;;;;;;;;;;OAcG;IACH,UAAgB,6BAA6B,CAC1C,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,aAAa,EACpB,WAAW,CAAC,EAAE,iBAAiB,EAC/B,OAAO,GAAE,iBAAsB,GAC/B,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAazC;IAED;;;;;;;;OAQG;IACH,UAAgB,eAAe,CAC5B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,WAAW,CAAC,EAAE,iBAAiB,EAC/B,OAAO,GAAE,iBAAsB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAgBf;IAED;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,GAAE,iBAA0C,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDrI;IAED;;;;;;;;OAQG;IACG,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9F;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAE1H;IAED;;;;;;;;OAQG;IACH,UAAgB,gBAAgB,CAC7B,GAAG,EAAE,YAAY,EACjB,KAAK,CAAC,EAAE,aAAa,EACrB,WAAW,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CA4BzC;IAED,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIhC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAE5F;IAEK,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAE5F;IAEK,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAE7F;IAEK,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAE7F;IAEK,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAErG;IAED;;;;;;;;;;OAUG;IACG,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAEtI;IAED;;;;;;;;;OASG;IACH,UAAgB,4BAA4B,CACzC,GAAG,EAAE,YAAY,EACjB,KAAK,CAAC,EAAE,aAAa,EACrB,WAAW,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAMzC;IAED;;;;;;;;;;;;;;;;OAgBG;IACG,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCtF;IAED,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGhD;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE3B;IAED,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAElD;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,SAAS,CAOhE;IAED;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEpD;IAMD,aAAa,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EACzD,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAC/C,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAsC3D;IAED,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,GAAG,SAAS,CAEpF;IAED;;;;;;;;;;;;;;;;OAgBG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkD1G;IAMD;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAe9D;IAED;;;;;;;;;;OAUG;IACH,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAE1D;IAED;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAsBnD;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,SAAS,IAAI,MAAM,CAE5B;IAED,UAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DzD;IAMD,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE,MAAM,GAAE,gBAAqB,GAAG,UAAU,CAkBzH;IAED,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,EAAE,MAAM,GAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAM,GAAG,UAAU,CAYnH;IAED,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE,MAAM,GAAE,gBAAqB,GAAG,UAAU,CAUrH;IAED,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,EAAE,MAAM,GAAE,gBAAqB,GAAG,UAAU,CAUtG;IAED,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,EAAE,MAAM,GAAE,gBAAqB,GAAG,UAAU,CAO3G;IAED,eAAe,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,EAAE,MAAM,GAAE,gBAAqB,GAAG,UAAU,CAOxG;IAED,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAO5G;IAED,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,GAAG,SAAS,CAEtE;IAED,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAE9E;IAED;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CACpB,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAClE,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,iBAAiB,GAC9B,IAAI,CAiCN;IAMD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAGtE;IAMD;;;;;;;OAOG;IACH,UAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE3F;IAED;;;;;;OAMG;IACH,UAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,CAU/G;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAKhE;IAED;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAG/F;CACH"}
1
+ {"version":3,"file":"model-service.d.ts","sourceRoot":"","sources":["../../../src/langium/model-service/model-service.ts"],"names":[],"mappings":"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"}