@platformos/platformos-language-server-common 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/dist/PropertyShapeInference.d.ts +5 -0
- package/dist/PropertyShapeInference.js +28 -0
- package/dist/PropertyShapeInference.js.map +1 -1
- package/dist/TypeSystem.js +106 -55
- package/dist/TypeSystem.js.map +1 -1
- package/dist/VariableShapeExtractor.js +2 -4
- package/dist/VariableShapeExtractor.js.map +1 -1
- package/dist/completions/CompletionsProvider.d.ts +1 -0
- package/dist/completions/CompletionsProvider.js +6 -0
- package/dist/completions/CompletionsProvider.js.map +1 -1
- package/dist/completions/providers/GraphQLFieldCompletionProvider.d.ts +12 -0
- package/dist/completions/providers/GraphQLFieldCompletionProvider.js +75 -0
- package/dist/completions/providers/GraphQLFieldCompletionProvider.js.map +1 -0
- package/dist/definitions/DefinitionProvider.d.ts +19 -1
- package/dist/definitions/DefinitionProvider.js +33 -1
- package/dist/definitions/DefinitionProvider.js.map +1 -1
- package/dist/definitions/providers/PageRouteDefinitionProvider.d.ts +51 -0
- package/dist/definitions/providers/PageRouteDefinitionProvider.js +204 -0
- package/dist/definitions/providers/PageRouteDefinitionProvider.js.map +1 -0
- package/dist/definitions/providers/RenderPartialDefinitionProvider.d.ts +14 -0
- package/dist/definitions/providers/RenderPartialDefinitionProvider.js +50 -0
- package/dist/definitions/providers/RenderPartialDefinitionProvider.js.map +1 -0
- package/dist/diagnostics/runChecks.d.ts +3 -1
- package/dist/diagnostics/runChecks.js +2 -1
- package/dist/diagnostics/runChecks.js.map +1 -1
- package/dist/documentLinks/DocumentLinksProvider.d.ts +3 -1
- package/dist/documentLinks/DocumentLinksProvider.js +16 -20
- package/dist/documentLinks/DocumentLinksProvider.js.map +1 -1
- package/dist/hover/HoverProvider.d.ts +1 -0
- package/dist/hover/HoverProvider.js +6 -0
- package/dist/hover/HoverProvider.js.map +1 -1
- package/dist/hover/providers/GraphQLFieldHoverProvider.d.ts +12 -0
- package/dist/hover/providers/GraphQLFieldHoverProvider.js +85 -0
- package/dist/hover/providers/GraphQLFieldHoverProvider.js.map +1 -0
- package/dist/server/AppGraphManager.js +3 -4
- package/dist/server/AppGraphManager.js.map +1 -1
- package/dist/server/CachedFileSystem.js +7 -2
- package/dist/server/CachedFileSystem.js.map +1 -1
- package/dist/server/startServer.js +71 -5
- package/dist/server/startServer.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/searchPaths.d.ts +21 -0
- package/dist/utils/searchPaths.js +34 -0
- package/dist/utils/searchPaths.js.map +1 -0
- package/package.json +6 -4
- package/src/PropertyShapeInference.spec.ts +44 -0
- package/src/PropertyShapeInference.ts +27 -0
- package/src/TypeSystem.spec.ts +59 -0
- package/src/TypeSystem.ts +119 -58
- package/src/VariableShapeExtractor.ts +2 -4
- package/src/completions/CompletionsProvider.ts +11 -0
- package/src/completions/providers/GraphQLFieldCompletionProvider.ts +78 -0
- package/src/definitions/DefinitionProvider.ts +52 -0
- package/src/definitions/providers/PageRouteDefinitionProvider.spec.ts +753 -0
- package/src/definitions/providers/PageRouteDefinitionProvider.ts +250 -0
- package/src/definitions/providers/RenderPartialDefinitionProvider.spec.ts +191 -0
- package/src/definitions/providers/RenderPartialDefinitionProvider.ts +70 -0
- package/src/diagnostics/runChecks.ts +4 -0
- package/src/documentLinks/DocumentLinksProvider.spec.ts +131 -10
- package/src/documentLinks/DocumentLinksProvider.ts +23 -32
- package/src/hover/HoverProvider.ts +11 -0
- package/src/hover/providers/GraphQLFieldHoverProvider.spec.ts +124 -0
- package/src/hover/providers/GraphQLFieldHoverProvider.ts +90 -0
- package/src/server/AppGraphManager.ts +3 -5
- package/src/server/CachedFileSystem.ts +11 -2
- package/src/server/startServer.ts +85 -5
- package/src/utils/searchPaths.spec.ts +101 -0
- package/src/utils/searchPaths.ts +32 -0
|
@@ -7,11 +7,12 @@ const vscode_languageserver_1 = require("vscode-languageserver");
|
|
|
7
7
|
const vscode_uri_1 = require("vscode-uri");
|
|
8
8
|
const platformos_check_common_2 = require("@platformos/platformos-check-common");
|
|
9
9
|
class DocumentLinksProvider {
|
|
10
|
-
constructor(documentManager, findAppRootURI, documentsLocator, translationProvider) {
|
|
10
|
+
constructor(documentManager, findAppRootURI, documentsLocator, translationProvider, searchPathsCache) {
|
|
11
11
|
this.documentManager = documentManager;
|
|
12
12
|
this.findAppRootURI = findAppRootURI;
|
|
13
13
|
this.documentsLocator = documentsLocator;
|
|
14
14
|
this.translationProvider = translationProvider;
|
|
15
|
+
this.searchPathsCache = searchPathsCache;
|
|
15
16
|
}
|
|
16
17
|
async documentLinks(uriString) {
|
|
17
18
|
const sourceCode = this.documentManager.get(uriString);
|
|
@@ -24,32 +25,27 @@ class DocumentLinksProvider {
|
|
|
24
25
|
if (!rootUri) {
|
|
25
26
|
return [];
|
|
26
27
|
}
|
|
27
|
-
const
|
|
28
|
+
const root = vscode_uri_1.URI.parse(rootUri);
|
|
29
|
+
const searchPaths = await this.searchPathsCache.get(root);
|
|
30
|
+
const visitor = documentLinksVisitor(sourceCode.textDocument, root, this.documentsLocator, this.translationProvider, searchPaths);
|
|
28
31
|
return (0, platformos_check_common_2.visit)(sourceCode.ast, visitor);
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
exports.DocumentLinksProvider = DocumentLinksProvider;
|
|
32
|
-
function documentLinksVisitor(textDocument, root, documentsLocator, translationProvider) {
|
|
35
|
+
function documentLinksVisitor(textDocument, root, documentsLocator, translationProvider, searchPaths) {
|
|
33
36
|
return {
|
|
34
37
|
async LiquidTag(node) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
typeof node.markup !== 'string' &&
|
|
43
|
-
isLiquidString(node.markup.partial)) {
|
|
44
|
-
const partial = node.markup.partial;
|
|
45
|
-
return vscode_languageserver_1.DocumentLink.create(range(textDocument, partial), await documentsLocator.locate(root, node.name, partial.value));
|
|
38
|
+
const markup = node.markup;
|
|
39
|
+
if (typeof markup === 'string' || markup === null)
|
|
40
|
+
return;
|
|
41
|
+
const name = node.name;
|
|
42
|
+
// render, include, function, theme_render_rc all have a .partial field
|
|
43
|
+
if ('partial' in markup && isLiquidString(markup.partial)) {
|
|
44
|
+
return vscode_languageserver_1.DocumentLink.create(range(textDocument, markup.partial), await documentsLocator.locate(root, name, markup.partial.value, searchPaths));
|
|
46
45
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
isLiquidString(node.markup.graphql)) {
|
|
51
|
-
const snippet = node.markup.graphql;
|
|
52
|
-
return vscode_languageserver_1.DocumentLink.create(range(textDocument, snippet), await documentsLocator.locate(root, node.name, snippet.value));
|
|
46
|
+
// graphql has a .graphql field
|
|
47
|
+
if ('graphql' in markup && isLiquidString(markup.graphql)) {
|
|
48
|
+
return vscode_languageserver_1.DocumentLink.create(range(textDocument, markup.graphql), await documentsLocator.locate(root, name, markup.graphql.value));
|
|
53
49
|
}
|
|
54
50
|
},
|
|
55
51
|
async LiquidVariable(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentLinksProvider.js","sourceRoot":"","sources":["../../src/documentLinks/DocumentLinksProvider.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"DocumentLinksProvider.js","sourceRoot":"","sources":["../../src/documentLinks/DocumentLinksProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export declare class HoverProvider {
|
|
|
12
12
|
readonly getDocDefinitionForURI: GetDocDefinitionForURI;
|
|
13
13
|
readonly findAppRootURI: FindAppRootURI;
|
|
14
14
|
private providers;
|
|
15
|
+
private graphqlFieldHoverProvider;
|
|
15
16
|
constructor(documentManager: DocumentManager, platformosDocset: PlatformOSDocset, translationProvider: TranslationProvider, getTranslationsForURI?: GetTranslationsForURI, getDocDefinitionForURI?: GetDocDefinitionForURI, findAppRootURI?: FindAppRootURI);
|
|
16
17
|
hover(params: HoverParams): Promise<Hover | null>;
|
|
17
18
|
}
|
|
@@ -7,6 +7,7 @@ const providers_1 = require("./providers");
|
|
|
7
7
|
const HtmlAttributeValueHoverProvider_1 = require("./providers/HtmlAttributeValueHoverProvider");
|
|
8
8
|
const platformos_check_common_2 = require("@platformos/platformos-check-common");
|
|
9
9
|
const LiquidDocTagHoverProvider_1 = require("./providers/LiquidDocTagHoverProvider");
|
|
10
|
+
const GraphQLFieldHoverProvider_1 = require("./providers/GraphQLFieldHoverProvider");
|
|
10
11
|
class HoverProvider {
|
|
11
12
|
constructor(documentManager, platformosDocset, translationProvider, getTranslationsForURI = async () => ({}), getDocDefinitionForURI = async () => undefined, findAppRootURI = async () => null) {
|
|
12
13
|
this.documentManager = documentManager;
|
|
@@ -17,6 +18,7 @@ class HoverProvider {
|
|
|
17
18
|
this.findAppRootURI = findAppRootURI;
|
|
18
19
|
this.providers = [];
|
|
19
20
|
const typeSystem = new TypeSystem_1.TypeSystem(platformosDocset);
|
|
21
|
+
this.graphqlFieldHoverProvider = new GraphQLFieldHoverProvider_1.GraphQLFieldHoverProvider(platformosDocset, documentManager);
|
|
20
22
|
this.providers = [
|
|
21
23
|
new providers_1.LiquidTagHoverProvider(platformosDocset),
|
|
22
24
|
new providers_1.LiquidFilterArgumentHoverProvider(platformosDocset),
|
|
@@ -35,6 +37,10 @@ class HoverProvider {
|
|
|
35
37
|
async hover(params) {
|
|
36
38
|
const uri = params.textDocument.uri;
|
|
37
39
|
const document = this.documentManager.get(uri);
|
|
40
|
+
// GraphQL files get dedicated hover support
|
|
41
|
+
if (document?.type === platformos_check_common_1.SourceCodeType.GraphQL) {
|
|
42
|
+
return this.graphqlFieldHoverProvider.hover(params);
|
|
43
|
+
}
|
|
38
44
|
// Supports only Liquid resources
|
|
39
45
|
if (document?.type !== platformos_check_common_1.SourceCodeType.LiquidHtml || document.ast instanceof Error) {
|
|
40
46
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HoverProvider.js","sourceRoot":"","sources":["../../src/hover/HoverProvider.ts"],"names":[],"mappings":";;;AAAA,iFAI6C;AAE7C,8CAA2C;AAI3C,2CAWqB;AACrB,iGAA8F;AAC9F,iFAAsE;AACtE,qFAAkF;AAGlF,MAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"HoverProvider.js","sourceRoot":"","sources":["../../src/hover/HoverProvider.ts"],"names":[],"mappings":";;;AAAA,iFAI6C;AAE7C,8CAA2C;AAI3C,2CAWqB;AACrB,iGAA8F;AAC9F,iFAAsE;AACtE,qFAAkF;AAClF,qFAAkF;AAGlF,MAAa,aAAa;IAIxB,YACW,eAAgC,EAChC,gBAAkC,EAClC,mBAAwC,EACxC,wBAA+C,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAC/D,yBAAiD,KAAK,IAAI,EAAE,CAAC,SAAS,EACtE,iBAAiC,KAAK,IAAI,EAAE,CAAC,IAAI;QALjD,oBAAe,GAAf,eAAe,CAAiB;QAChC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,0BAAqB,GAArB,qBAAqB,CAA0C;QAC/D,2BAAsB,GAAtB,sBAAsB,CAAgD;QACtE,mBAAc,GAAd,cAAc,CAAmC;QATpD,cAAS,GAAwB,EAAE,CAAC;QAW1C,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,yBAAyB,GAAG,IAAI,qDAAyB,CAC5D,gBAAgB,EAChB,eAAe,CAChB,CAAC;QACF,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,kCAAsB,CAAC,gBAAgB,CAAC;YAC5C,IAAI,6CAAiC,CAAC,gBAAgB,CAAC;YACvD,IAAI,qCAAyB,CAAC,gBAAgB,CAAC;YAC/C,IAAI,qCAAyB,CAAC,UAAU,CAAC;YACzC,IAAI,8CAAkC,CAAC,UAAU,CAAC;YAClD,IAAI,gCAAoB,EAAE;YAC1B,IAAI,sCAA0B,EAAE;YAChC,IAAI,iEAA+B,EAAE;YACrC,IAAI,oCAAwB,CAAC,eAAe,EAAE,mBAAmB,EAAE,cAAc,CAAC;YAClF,IAAI,sCAA0B,CAAC,sBAAsB,CAAC;YACtD,IAAI,+CAAmC,CAAC,sBAAsB,CAAC;YAC/D,IAAI,qDAAyB,CAAC,eAAe,CAAC;SAC/C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAmB;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE/C,4CAA4C;QAC5C,IAAI,QAAQ,EAAE,IAAI,KAAK,wCAAc,CAAC,OAAO,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,iCAAiC;QACjC,IAAI,QAAQ,EAAE,IAAI,KAAK,wCAAc,CAAC,UAAU,IAAI,QAAQ,CAAC,GAAG,YAAY,KAAK,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,IAAA,yCAAe,EAC9C,QAAQ,CAAC,GAAG,EACZ,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAChD,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC;CACF;AAxDD,sCAwDC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Hover, HoverParams } from 'vscode-languageserver';
|
|
2
|
+
import { DocumentManager } from '../../documents';
|
|
3
|
+
import { PlatformOSDocset } from '@platformos/platformos-check-common';
|
|
4
|
+
export declare class GraphQLFieldHoverProvider {
|
|
5
|
+
private platformosDocset;
|
|
6
|
+
private documentManager;
|
|
7
|
+
private schemaCache;
|
|
8
|
+
private schemaLoaded;
|
|
9
|
+
constructor(platformosDocset: PlatformOSDocset, documentManager: DocumentManager);
|
|
10
|
+
private getSchema;
|
|
11
|
+
hover(params: HoverParams): Promise<Hover | null>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GraphQLFieldHoverProvider = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* graphql-language-service and graphql must be loaded dynamically to avoid
|
|
6
|
+
* the "Cannot use GraphQLList from another module or realm" error that occurs
|
|
7
|
+
* when vitest transforms the graphql ESM module into separate instances.
|
|
8
|
+
* By requiring at runtime, we ensure a single shared module instance.
|
|
9
|
+
*/
|
|
10
|
+
let _glsMod;
|
|
11
|
+
function getGLS() {
|
|
12
|
+
if (!_glsMod)
|
|
13
|
+
_glsMod = require('graphql-language-service');
|
|
14
|
+
return _glsMod;
|
|
15
|
+
}
|
|
16
|
+
let _graphqlMod;
|
|
17
|
+
function getGraphQL() {
|
|
18
|
+
if (!_graphqlMod)
|
|
19
|
+
_graphqlMod = require('graphql');
|
|
20
|
+
return _graphqlMod;
|
|
21
|
+
}
|
|
22
|
+
class GraphQLFieldHoverProvider {
|
|
23
|
+
constructor(platformosDocset, documentManager) {
|
|
24
|
+
this.platformosDocset = platformosDocset;
|
|
25
|
+
this.documentManager = documentManager;
|
|
26
|
+
this.schemaLoaded = false;
|
|
27
|
+
}
|
|
28
|
+
async getSchema() {
|
|
29
|
+
if (!this.schemaLoaded) {
|
|
30
|
+
const sdl = await this.platformosDocset.graphQL();
|
|
31
|
+
if (sdl) {
|
|
32
|
+
try {
|
|
33
|
+
this.schemaCache = getGraphQL().buildSchema(sdl);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// Invalid schema SDL
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
this.schemaLoaded = true;
|
|
40
|
+
}
|
|
41
|
+
return this.schemaCache;
|
|
42
|
+
}
|
|
43
|
+
async hover(params) {
|
|
44
|
+
const uri = params.textDocument.uri;
|
|
45
|
+
const document = this.documentManager.get(uri);
|
|
46
|
+
if (!document)
|
|
47
|
+
return null;
|
|
48
|
+
const schema = await this.getSchema();
|
|
49
|
+
if (!schema)
|
|
50
|
+
return null;
|
|
51
|
+
const content = document.textDocument.getText();
|
|
52
|
+
const gls = getGLS();
|
|
53
|
+
// graphql-language-service's getHoverInformation uses the character *before* the cursor
|
|
54
|
+
// position to identify the token. We try offset +1 first, then the original position,
|
|
55
|
+
// to handle the case where the cursor is at the start of a token.
|
|
56
|
+
const positions = [
|
|
57
|
+
new gls.Position(params.position.line, params.position.character + 1),
|
|
58
|
+
new gls.Position(params.position.line, params.position.character),
|
|
59
|
+
];
|
|
60
|
+
try {
|
|
61
|
+
let hoverInfo;
|
|
62
|
+
for (const position of positions) {
|
|
63
|
+
const info = gls.getHoverInformation(schema, content, position);
|
|
64
|
+
if (info && info !== '' && info !== 'null') {
|
|
65
|
+
hoverInfo = typeof info === 'string' ? info : String(info);
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (!hoverInfo) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
contents: {
|
|
74
|
+
kind: 'markdown',
|
|
75
|
+
value: hoverInfo,
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.GraphQLFieldHoverProvider = GraphQLFieldHoverProvider;
|
|
85
|
+
//# sourceMappingURL=GraphQLFieldHoverProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphQLFieldHoverProvider.js","sourceRoot":"","sources":["../../../src/hover/providers/GraphQLFieldHoverProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,9 +22,7 @@ class AppGraphManager {
|
|
|
22
22
|
const rootUri = await this.findAppRootURI(anyUri);
|
|
23
23
|
if (!rootUri)
|
|
24
24
|
return;
|
|
25
|
-
|
|
26
|
-
if (!graph)
|
|
27
|
-
return;
|
|
25
|
+
// Delete existing graph to force rebuild
|
|
28
26
|
this.graphs.delete(rootUri);
|
|
29
27
|
await this.getAppGraphForURI(rootUri);
|
|
30
28
|
this.connection.sendNotification(types_1.AppGraphDidUpdateNotification.type, { uri: rootUri });
|
|
@@ -33,7 +31,8 @@ class AppGraphManager {
|
|
|
33
31
|
const { documentManager } = this;
|
|
34
32
|
await documentManager.preload(rootUri);
|
|
35
33
|
const dependencies = await this.graphDependencies(rootUri);
|
|
36
|
-
|
|
34
|
+
const graph = await (0, platformos_graph_1.buildAppGraph)(rootUri, dependencies, entryPoints);
|
|
35
|
+
return graph;
|
|
37
36
|
};
|
|
38
37
|
this.getSourceCode = async (uri) => {
|
|
39
38
|
const doc = this.documentManager.get(uri);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppGraphManager.js","sourceRoot":"","sources":["../../src/server/AppGraphManager.ts"],"names":[],"mappings":";;;AAEA,mEAOsC;AACtC,6EAAoD;AAEpD,2FAAkE;AAElE,oCAKkB;AAClB,oCAAoC;AAGpC,MAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"AppGraphManager.js","sourceRoot":"","sources":["../../src/server/AppGraphManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,15 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CachedFileSystem = void 0;
|
|
4
4
|
class CachedFileSystem {
|
|
5
5
|
constructor(fs) {
|
|
6
|
-
this.readFile = cachedByUri(fs.readFile.bind(fs)
|
|
6
|
+
this.readFile = cachedByUri(fs.readFile.bind(fs),
|
|
7
|
+
// app/config.yml can change externally (e.g. vim) without a file watcher
|
|
8
|
+
// notification. Always read it fresh — it's small and rarely accessed.
|
|
9
|
+
(uri) => uri.endsWith('/app/config.yml'));
|
|
7
10
|
this.readDirectory = cachedByUri(fs.readDirectory.bind(fs));
|
|
8
11
|
this.stat = cachedByUri(fs.stat.bind(fs));
|
|
9
12
|
}
|
|
10
13
|
}
|
|
11
14
|
exports.CachedFileSystem = CachedFileSystem;
|
|
12
|
-
function cachedByUri(fn) {
|
|
15
|
+
function cachedByUri(fn, skipCache) {
|
|
13
16
|
const cache = new Map();
|
|
14
17
|
function cached(uri) {
|
|
18
|
+
if (skipCache?.(uri))
|
|
19
|
+
return fn(uri);
|
|
15
20
|
if (!cache.has(uri)) {
|
|
16
21
|
// I'm intentionally leaving this comment here for debugging purposes :)
|
|
17
22
|
// console.error('cache miss', fn.name, uri);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CachedFileSystem.js","sourceRoot":"","sources":["../../src/server/CachedFileSystem.ts"],"names":[],"mappings":";;;AAEA,MAAa,gBAAgB;IAK3B,YAAY,EAAsB;QAChC,IAAI,CAAC,QAAQ,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"CachedFileSystem.js","sourceRoot":"","sources":["../../src/server/CachedFileSystem.ts"],"names":[],"mappings":";;;AAEA,MAAa,gBAAgB;IAK3B,YAAY,EAAsB;QAChC,IAAI,CAAC,QAAQ,GAAG,WAAW,CACzB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,yEAAyE;QACzE,uEAAuE;QACvE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;CACF;AAfD,4CAeC;AAOD,SAAS,WAAW,CAClB,EAA+B,EAC/B,SAAoC;IAEpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5C,SAAS,MAAM,CAAC,GAAW;QACzB,IAAI,SAAS,EAAE,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,wEAAwE;YACxE,6CAA6C;YAC7C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;QAClC,wEAAwE;QACxE,mDAAmD;QACnD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -22,6 +22,7 @@ const RenameProvider_1 = require("../rename/RenameProvider");
|
|
|
22
22
|
const RenameHandler_1 = require("../renamed/RenameHandler");
|
|
23
23
|
const types_1 = require("../types");
|
|
24
24
|
const utils_1 = require("../utils");
|
|
25
|
+
const searchPaths_1 = require("../utils/searchPaths");
|
|
25
26
|
const version_1 = require("../version");
|
|
26
27
|
const CachedFileSystem_1 = require("./CachedFileSystem");
|
|
27
28
|
const Configuration_1 = require("./Configuration");
|
|
@@ -30,6 +31,12 @@ const AppGraphManager_1 = require("./AppGraphManager");
|
|
|
30
31
|
const platformos_common_2 = require("@platformos/platformos-common");
|
|
31
32
|
const vscode_uri_1 = require("vscode-uri");
|
|
32
33
|
const defaultLogger = () => { };
|
|
34
|
+
/**
|
|
35
|
+
* When a file-watcher batch contains this many page-file changes, we
|
|
36
|
+
* assume a bulk operation (git checkout, branch switch, stash pop) and
|
|
37
|
+
* fully rebuild the route table instead of applying incremental updates.
|
|
38
|
+
*/
|
|
39
|
+
const BULK_PAGE_CHANGE_THRESHOLD = 10;
|
|
33
40
|
/**
|
|
34
41
|
* The `git:` VFS does not support the `fs.readDirectory` call and makes most things break.
|
|
35
42
|
* `git` URIs are the ones you'd encounter when doing a git diff in VS Code. They're not
|
|
@@ -65,7 +72,8 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
|
|
|
65
72
|
const diagnosticsManager = new diagnostics_1.DiagnosticsManager(connection);
|
|
66
73
|
const documentsLocator = new platformos_common_2.DocumentsLocator(fs);
|
|
67
74
|
const translationProvider = new platformos_common_1.TranslationProvider(fs);
|
|
68
|
-
const
|
|
75
|
+
const searchPathsCache = new searchPaths_1.SearchPathsLoader(fs);
|
|
76
|
+
const documentLinksProvider = new documentLinks_1.DocumentLinksProvider(documentManager, findAppRootURI, documentsLocator, translationProvider, searchPathsCache);
|
|
69
77
|
const codeActionsProvider = new codeActions_1.CodeActionsProvider(documentManager, diagnosticsManager);
|
|
70
78
|
const onTypeFormattingProvider = new formatting_1.OnTypeFormattingProvider(documentManager, async function setCursorPosition(textDocument, position) {
|
|
71
79
|
if (!clientCapabilities.hasShowDocumentSupport)
|
|
@@ -99,6 +107,7 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
|
|
|
99
107
|
jsonValidationSet,
|
|
100
108
|
appGraphManager,
|
|
101
109
|
includeFilesFromDisk: () => configuration[Configuration_1.INCLUDE_FILES_FROM_DISK],
|
|
110
|
+
getRouteTable: () => definitionsProvider.getRouteTable(),
|
|
102
111
|
}), 100);
|
|
103
112
|
// In platformOS, there are no built-in system translations. User-defined translations
|
|
104
113
|
// are resolved via TranslationProvider at the point of lookup.
|
|
@@ -137,7 +146,7 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
|
|
|
137
146
|
return null;
|
|
138
147
|
return documentManager.get(defaultLocaleFileUri) ?? null;
|
|
139
148
|
}
|
|
140
|
-
const definitionsProvider = new DefinitionProvider_1.DefinitionProvider(documentManager, getDefaultLocaleSourceCode);
|
|
149
|
+
const definitionsProvider = new DefinitionProvider_1.DefinitionProvider(documentManager, getDefaultLocaleSourceCode, fs, findAppRootURI, documentsLocator, searchPathsCache);
|
|
141
150
|
const jsonLanguageService = new JSONLanguageService_1.JSONLanguageService(documentManager, jsonValidationSet);
|
|
142
151
|
const cssLanguageService = new CSSLanguageService_1.CSSLanguageService(documentManager);
|
|
143
152
|
const completionsProvider = new completions_1.CompletionsProvider({
|
|
@@ -243,6 +252,9 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
|
|
|
243
252
|
{
|
|
244
253
|
globPattern: '**/*.css',
|
|
245
254
|
},
|
|
255
|
+
{
|
|
256
|
+
globPattern: '**/app/config.yml',
|
|
257
|
+
},
|
|
246
258
|
],
|
|
247
259
|
});
|
|
248
260
|
});
|
|
@@ -287,7 +299,11 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
|
|
|
287
299
|
cssLanguageService.change(uri, params.contentChanges[0].text, version);
|
|
288
300
|
return;
|
|
289
301
|
}
|
|
290
|
-
|
|
302
|
+
const text = params.contentChanges[0].text;
|
|
303
|
+
documentManager.change(uri, text, version);
|
|
304
|
+
if ((0, platformos_common_1.isPage)(uri)) {
|
|
305
|
+
definitionsProvider.onPageFileChanged(uri, text);
|
|
306
|
+
}
|
|
291
307
|
if (await configuration.shouldCheckOnChange()) {
|
|
292
308
|
runChecks([uri]);
|
|
293
309
|
}
|
|
@@ -300,6 +316,13 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
|
|
|
300
316
|
if (hasUnsupportedDocument(params))
|
|
301
317
|
return;
|
|
302
318
|
const { uri } = params.textDocument;
|
|
319
|
+
// onDidChangeWatchedFiles also fires for in-editor saves, but it arrives after
|
|
320
|
+
// onDidSaveTextDocument. Invalidate the search-paths cache here immediately so
|
|
321
|
+
// that go-to-definition requests triggered by the same save don't see stale data
|
|
322
|
+
// while waiting for the file-watcher notification.
|
|
323
|
+
if (uri.endsWith('/app/config.yml')) {
|
|
324
|
+
searchPathsCache.invalidate();
|
|
325
|
+
}
|
|
303
326
|
if (await configuration.shouldCheckOnSave()) {
|
|
304
327
|
runChecks([uri]);
|
|
305
328
|
}
|
|
@@ -418,6 +441,14 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
|
|
|
418
441
|
if (params.changes.length === 0)
|
|
419
442
|
return;
|
|
420
443
|
const triggerUris = params.changes.map((change) => change.uri);
|
|
444
|
+
// When many page files change at once (e.g., git checkout, branch switch, stash pop),
|
|
445
|
+
// incremental updates aren't reliable — files not open in the editor won't get
|
|
446
|
+
// individual onDidChangeTextDocument events. VS Code reports branch-switch changes
|
|
447
|
+
// as FileChangeType.Changed, so we count all change types.
|
|
448
|
+
const bulkPageChanges = params.changes.filter((c) => (0, platformos_common_1.isPage)(c.uri));
|
|
449
|
+
if (bulkPageChanges.length >= BULK_PAGE_CHANGE_THRESHOLD) {
|
|
450
|
+
definitionsProvider.invalidateRouteTable();
|
|
451
|
+
}
|
|
421
452
|
const updates = [];
|
|
422
453
|
for (const change of params.changes) {
|
|
423
454
|
// App Check config changes should clear the config cache
|
|
@@ -425,6 +456,19 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
|
|
|
425
456
|
loadConfig.clearCache();
|
|
426
457
|
continue;
|
|
427
458
|
}
|
|
459
|
+
// app/config.yml changes should clear expanded search paths cache
|
|
460
|
+
// and force re-check of all open documents.
|
|
461
|
+
// Note: readFile for config.yml bypasses the CachedFileSystem cache,
|
|
462
|
+
// so we don't need to invalidate it — reads are always fresh.
|
|
463
|
+
if (change.uri.endsWith('/app/config.yml')) {
|
|
464
|
+
documentsLocator.clearExpandedPathsCache();
|
|
465
|
+
searchPathsCache.invalidate();
|
|
466
|
+
// Ensure open liquid files are re-checked with the new search paths
|
|
467
|
+
for (const doc of documentManager.openDocuments) {
|
|
468
|
+
triggerUris.push(doc.uri);
|
|
469
|
+
}
|
|
470
|
+
continue;
|
|
471
|
+
}
|
|
428
472
|
// Rename cache invalidation is handled by onDidRenameFiles
|
|
429
473
|
if (documentManager.hasRecentRename(change.uri)) {
|
|
430
474
|
documentManager.clearRecentRename(change.uri);
|
|
@@ -438,7 +482,13 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
|
|
|
438
482
|
fs.stat.invalidate(change.uri);
|
|
439
483
|
appGraphManager.create(change.uri);
|
|
440
484
|
// If a file is created under out feet, we update its contents.
|
|
441
|
-
updates.push(documentManager.changeFromDisk(change.uri))
|
|
485
|
+
updates.push(documentManager.changeFromDisk(change.uri).then(() => {
|
|
486
|
+
if ((0, platformos_common_1.isPage)(change.uri)) {
|
|
487
|
+
const doc = documentManager.get(change.uri);
|
|
488
|
+
if (doc)
|
|
489
|
+
definitionsProvider.onPageFileChanged(change.uri, doc.source);
|
|
490
|
+
}
|
|
491
|
+
}));
|
|
442
492
|
break;
|
|
443
493
|
case vscode_languageserver_1.FileChangeType.Changed:
|
|
444
494
|
// A changed file invalidates readFile and stat (but not readDirectory)
|
|
@@ -449,7 +499,21 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
|
|
|
449
499
|
// If it is open, then we don't need to update it because the document manager
|
|
450
500
|
// will have the version from the editor.
|
|
451
501
|
if (documentManager.get(change.uri)?.version === undefined) {
|
|
452
|
-
updates.push(documentManager.changeFromDisk(change.uri))
|
|
502
|
+
updates.push(documentManager.changeFromDisk(change.uri).then(() => {
|
|
503
|
+
if ((0, platformos_common_1.isPage)(change.uri)) {
|
|
504
|
+
const doc = documentManager.get(change.uri);
|
|
505
|
+
if (doc)
|
|
506
|
+
definitionsProvider.onPageFileChanged(change.uri, doc.source);
|
|
507
|
+
}
|
|
508
|
+
}));
|
|
509
|
+
}
|
|
510
|
+
else if ((0, platformos_common_1.isPage)(change.uri)) {
|
|
511
|
+
// File is open in editor but changed externally (e.g. git checkout).
|
|
512
|
+
// The doc manager already has the editor version, but the route table
|
|
513
|
+
// may be stale — update it from whatever the doc manager holds.
|
|
514
|
+
const doc = documentManager.get(change.uri);
|
|
515
|
+
if (doc)
|
|
516
|
+
definitionsProvider.onPageFileChanged(change.uri, doc.source);
|
|
453
517
|
}
|
|
454
518
|
break;
|
|
455
519
|
case vscode_languageserver_1.FileChangeType.Deleted:
|
|
@@ -458,6 +522,8 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
|
|
|
458
522
|
fs.readFile.invalidate(change.uri);
|
|
459
523
|
fs.stat.invalidate(change.uri);
|
|
460
524
|
appGraphManager.delete(change.uri);
|
|
525
|
+
if ((0, platformos_common_1.isPage)(change.uri))
|
|
526
|
+
definitionsProvider.onPageFileDeleted(change.uri);
|
|
461
527
|
// If a file is deleted, it's removed from the document manager
|
|
462
528
|
documentManager.delete(change.uri);
|
|
463
529
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startServer.js","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"startServer.js","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":";;AA4FA,kCA8lBC;AA1rBD,iFAW6C;AAC7C,qEAA4E;AAC5E,iEAO+B;AAC/B,8DAA2D;AAC3D,gDAAsE;AACtE,0CAA+D;AAC/D,gDAAqD;AAErD,0EAAuE;AACvE,gDAAmE;AACnE,iGAA8F;AAC9F,oDAAyD;AACzD,4CAAwE;AACxE,8CAAyD;AACzD,oCAAyC;AACzC,kEAA+D;AAC/D,qEAAkE;AAClE,oGAAiG;AACjG,6DAA0D;AAC1D,4DAAyD;AAEzD,oCAKkB;AAClB,oCAAoC;AACpC,sDAAyD;AACzD,wCAAqC;AACrC,yDAAsD;AACtD,mDAAyE;AACzE,iCAA8B;AAC9B,uDAAoD;AACpD,qEAAiE;AAEjE,2CAAiC;AAEjC,MAAM,aAAa,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAE/B;;;;GAIG;AACH,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,CAAC,MAAW,EAAE,EAAE;IAC7C,OAAO,CACL,cAAc,IAAI,MAAM;QACxB,KAAK,IAAI,MAAM,CAAC,YAAY;QAC5B,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,QAAQ;QAC3C,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAC9F,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,SAAgB,WAAW,CACzB,UAAsB,EACtB,EACE,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,kBAAkB,EAC9B,GAAG,GAAG,aAAa,EACnB,iBAAiB,EACjB,gBAAgB,EAAE,sBAAsB,GAC3B;IAEf,MAAM,EAAE,GAAG,IAAI,mCAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAA,wCAAc,EAAC,EAAE,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAA,iCAAO,EAAC,kBAAkB,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAExE,MAAM,eAAe,GAAoB,IAAI,2BAAe,CAC1D,EAAE,EACF,UAAU,EACV,kBAAkB,EAClB,aAAa,CACd,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;IAC7F,MAAM,kBAAkB,GAAG,IAAI,gCAAkB,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,EAAE,CAAC,CAAC;IAClD,MAAM,mBAAmB,GAAG,IAAI,uCAAmB,CAAC,EAAE,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,IAAI,+BAAiB,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,qBAAqB,GAAG,IAAI,qCAAqB,CACrD,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,CACjB,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAI,iCAAmB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IACzF,MAAM,wBAAwB,GAAG,IAAI,qCAAwB,CAC3D,eAAe,EACf,KAAK,UAAU,iBAAiB,CAAC,YAAY,EAAE,QAAQ;QACrD,IAAI,CAAC,kBAAkB,CAAC,sBAAsB;YAAE,OAAO;QACvD,UAAU,CAAC,WAAW,CAAC,2CAAmB,CAAC,IAAI,EAAE;YAC/C,GAAG,EAAE,YAAY,CAAC,GAAG;YACrB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE;gBACT,KAAK,EAAE,QAAQ;gBACf,GAAG,EAAE,QAAQ;aACd;SACF,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IACF,MAAM,2BAA2B,GAAG,IAAI,yDAA2B,CAAC,eAAe,CAAC,CAAC;IACrF,MAAM,yBAAyB,GAAG,IAAI,uDAA0B,CAAC,eAAe,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,IAAI,+BAAc,CACvC,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,cAAc,CACf,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,6BAAa,CACrC,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,cAAc,CACf,CAAC;IAEF,KAAK,UAAU,cAAc,CAAC,GAAW;QACvC,MAAM,OAAO,GAAG,MAAM,IAAA,kCAAkB,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,kFAAkF;IAClF,MAAM,gBAAgB,GAAG,IAAI,mDAAyB,CAAC,sBAAsB,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,IAAA,gBAAQ,EACxB,IAAA,2BAAa,EAAC,eAAe,EAAE,kBAAkB,EAAE;QACjD,EAAE;QACF,UAAU;QACV,gBAAgB;QAChB,iBAAiB;QACjB,eAAe;QACf,oBAAoB,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,uCAAuB,CAAC;QAClE,aAAa,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE;KACzD,CAAC,EACF,GAAG,CACJ,CAAC;IAEF,sFAAsF;IACtF,+DAA+D;IAC/D,MAAM,qBAAqB,GAA0B,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAE1E,MAAM,sBAAsB,GAAG,KAAK,EAClC,GAAc,EACd,IAAY,EACwB,EAAE;QACtC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,gBAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,wCAAc,CAAC,UAAU,IAAI,IAAA,iCAAO,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1E,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAA0B,IAAA,WAAI,EACvD,KAAK,EAAE,GAAW,EAAE,OAAe,EAAE,IAAwB,EAAE,EAAE;QAC/D,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,OAAO,MAAM,gBAAgB,CAAC,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC,EACD,EAAE,CACH,CAAC;IAEF,2EAA2E;IAC3E,qCAAqC;IACrC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,UAAkB;QAC1D,OAAO,mBAAmB,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,uBAAuB,GAAG,IAAA,qDAA2B,EAAC,EAAE,CAAC,CAAC;IAChE,KAAK,UAAU,0BAA0B,CAAC,GAAW;QACnD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAEvC,OAAQ,eAAe,CAAC,GAAG,CAAC,oBAAoB,CAA6B,IAAI,IAAI,CAAC;IACxF,CAAC;IAED,MAAM,mBAAmB,GAAG,IAAI,uCAAkB,CAChD,eAAe,EACf,0BAA0B,EAC1B,EAAE,EACF,cAAc,EACd,gBAAgB,EAChB,gBAAgB,CACjB,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAI,yCAAmB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IACxF,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,eAAe,CAAC,CAAC;IACnE,MAAM,mBAAmB,GAAG,IAAI,iCAAmB,CAAC;QAClD,eAAe;QACf,gBAAgB;QAChB,qBAAqB;QACrB,qBAAqB;QACrB,GAAG;QACH,sBAAsB;QACtB,EAAE;QACF,gBAAgB;QAChB,cAAc;QACd,6BAA6B,EAAE,CAAC,YAAoB,EAAE,EAAE;YACtD,UAAU,CAAC,MAAM,CAAC,sBAAsB,CACtC,mCAAmC,YAAY,8FAA8F,CAC9I,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,IAAI,qBAAa,CACrC,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,CACf,CAAC;IAEF,MAAM,sBAAsB,GAAG,IAAI,iCAAsB,CACvD,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,UAAU,CACX,CAAC;IAEF,UAAU,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;QACjC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC5E,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC/C,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC9C,aAAa,CAAC,KAAK,EAAE,CAAC;QAEtB,MAAM,gCAAgC,GAAqC;YACzE,OAAO,EAAE;gBACP;oBACE,OAAO,EAAE;wBACP,IAAI,EAAE,4BAA4B;qBACnC;iBACF;gBACD;oBACE,OAAO,EAAE;wBACP,IAAI,EAAE,aAAa;qBACpB;iBACF;aACF;SACF,CAAC;QAEF,MAAM,MAAM,GAAqB;YAC/B,YAAY,EAAE;gBACZ,gBAAgB,EAAE;oBAChB,MAAM,EAAE,4CAAoB,CAAC,IAAI;oBACjC,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,IAAI;iBAChB;gBACD,kBAAkB,EAAE;oBAClB,eAAe,EAAE,CAAC,GAAG,6BAAe,CAAC;iBACtC;gBACD,kBAAkB,EAAE;oBAClB,iBAAiB,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;iBAC1E;gBACD,kBAAkB,EAAE,IAAI;gBACxB,gCAAgC,EAAE;oBAChC,qBAAqB,EAAE,GAAG;oBAC1B,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;iBAC3C;gBACD,oBAAoB,EAAE;oBACpB,eAAe,EAAE,KAAK;oBACtB,gBAAgB,EAAE,KAAK;iBACxB;gBACD,yBAAyB,EAAE,IAAI;gBAC/B,0BAA0B,EAAE,IAAI;gBAChC,cAAc,EAAE;oBACd,eAAe,EAAE,IAAI;iBACtB;gBACD,sBAAsB,EAAE;oBACtB,QAAQ,EAAE,CAAC,GAAG,mBAAQ,CAAC;iBACxB;gBACD,aAAa,EAAE;oBACb,gBAAgB,EAAE,KAAK;iBACxB;gBACD,SAAS,EAAE;oBACT,gBAAgB,EAAE;wBAChB,SAAS,EAAE,IAAI;wBACf,mBAAmB,EAAE,IAAI;qBAC1B;oBACD,cAAc,EAAE;wBACd,SAAS,EAAE,gCAAgC;qBAC5C;iBACF;aACF;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,4BAA4B;gBAClC,OAAO,EAAE,iBAAO;aACjB;SACF,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;QAC5B,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC5B,aAAa,CAAC,kBAAkB,EAAE,CAAC;QACnC,aAAa,CAAC,2BAA2B,EAAE,CAAC;QAC5C,aAAa,CAAC,yCAAyC,CAAC;YACtD,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,aAAa;iBAC3B;gBACD;oBACE,WAAW,EAAE,0BAA0B;iBACxC;gBACD;oBACE,WAAW,EAAE,cAAc;iBAC5B;gBACD;oBACE,WAAW,EAAE,UAAU;iBACxB;gBACD;oBACE,WAAW,EAAE,mBAAmB;iBACjC;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9C,aAAa,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAChD,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO;QAC3C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;QACnD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,MAAM,aAAa,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC5C,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnB,CAAC;QAED,6EAA6E;QAC7E,oCAAoC;QACpC,EAAE;QACF,uEAAuE;QACvE,oEAAoE;QACpE,2EAA2E;QAC3E,8DAA8D;QAC9D,mCAAmC;QACnC,EAAE;QACF,0EAA0E;QAC1E,iDAAiD;QACjD,IAAI,MAAM,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,OAAO,EAAE,CAAC;gBACZ,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAClD,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO;QAC3C,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;QAC7C,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,IAAA,0BAAM,EAAC,GAAG,CAAC,EAAE,CAAC;YAChB,mBAAmB,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,MAAM,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC9C,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,0CAA0C;YAC1C,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAChD,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO;QAC3C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;QAEpC,+EAA+E;QAC/E,+EAA+E;QAC/E,iFAAiF;QACjF,mDAAmD;QACnD,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACpC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,MAAM,aAAa,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC5C,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3C,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO;QAC3C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;QACpC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC1C,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAE9C,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjD,qBAAqB,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;YAC5D,mBAAmB,CAAC,aAAa,CAAC,MAAM,CAAC;SAC1C,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACvC,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAC9C,OAAO,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACvC,OAAO,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACvC,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAC9C,OAAO,CACL,CAAC,MAAM,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC,MAAM,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC,MAAM,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAChD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAClC,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,CACL,CAAC,MAAM,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACpC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrD,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,wBAAwB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC9C,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAC9C,OAAO,yBAAyB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC1C,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC1C,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACzD,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,2BAA2B,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAExE,wCAAwC;QACxC,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9C,wEAAwE;YACxE,wEAAwE;YACxE,8CAA8C;YAC9C,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEvC,6EAA6E;YAC7E,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,8BAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,8BAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAElD,2FAA2F;YAC3F,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC/B,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC/B,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC3B,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAE3B,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE7C,sEAAsE;QACtE,8CAA8C;QAC9C,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAClD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAExC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/D,sFAAsF;QACtF,+EAA+E;QAC/E,mFAAmF;QACnF,2DAA2D;QAC3D,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAM,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,eAAe,CAAC,MAAM,IAAI,0BAA0B,EAAE,CAAC;YACzD,mBAAmB,CAAC,oBAAoB,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,yDAAyD;YACzD,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBACjD,UAAU,CAAC,UAAU,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,kEAAkE;YAClE,4CAA4C;YAC5C,qEAAqE;YACrE,8DAA8D;YAC9D,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC3C,gBAAgB,CAAC,uBAAuB,EAAE,CAAC;gBAC3C,gBAAgB,CAAC,UAAU,EAAE,CAAC;gBAE9B,oEAAoE;gBACpE,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC;oBAChD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;gBACD,SAAS;YACX,CAAC;YAED,2DAA2D;YAC3D,IAAI,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChD,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC9C,SAAS;YACX,CAAC;YAED,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,sCAAc,CAAC,OAAO;oBACzB,8DAA8D;oBAC9D,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,8BAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtD,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC/B,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnC,+DAA+D;oBAC/D,OAAO,CAAC,IAAI,CACV,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wBACnD,IAAI,IAAA,0BAAM,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;4BACvB,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BAC5C,IAAI,GAAG;gCAAE,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;wBACzE,CAAC;oBACH,CAAC,CAAC,CACH,CAAC;oBACF,MAAM;gBAER,KAAK,sCAAc,CAAC,OAAO;oBACzB,uEAAuE;oBACvE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC/B,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnC,qEAAqE;oBACrE,8EAA8E;oBAC9E,yCAAyC;oBACzC,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC3D,OAAO,CAAC,IAAI,CACV,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;4BACnD,IAAI,IAAA,0BAAM,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gCACvB,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gCAC5C,IAAI,GAAG;oCAAE,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;4BACzE,CAAC;wBACH,CAAC,CAAC,CACH,CAAC;oBACJ,CAAC;yBAAM,IAAI,IAAA,0BAAM,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC9B,qEAAqE;wBACrE,sEAAsE;wBACtE,gEAAgE;wBAChE,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC5C,IAAI,GAAG;4BAAE,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBACzE,CAAC;oBACD,MAAM;gBAER,KAAK,sCAAc,CAAC,OAAO;oBACzB,6DAA6D;oBAC7D,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,8BAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtD,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC/B,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnC,IAAI,IAAA,0BAAM,EAAC,MAAM,CAAC,GAAG,CAAC;wBAAE,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC1E,+DAA+D;oBAC/D,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnC,MAAM;YACV,CAAC;YAED,kCAAkC;QACpC,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE3B,sEAAsE;QACtE,uDAAuD;QACvD,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,SAAS,CAAC,gCAAwB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACnE,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;QAChD,OAAO,eAAe,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,SAAS,CAAC,mCAA2B,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACtE,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;QAChD,OAAO,eAAe,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,SAAS,CAAC,2BAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC9D,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,IAAI,8BAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC;YAClD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,MAAM,EAAE,CAAC;AACtB,CAAC"}
|