brighterscript 0.41.2 → 1.0.0-alpha.12
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 +112 -0
- package/README.md +2 -2
- package/dist/DiagnosticCollection.js +2 -2
- package/dist/DiagnosticCollection.js.map +1 -1
- package/dist/DiagnosticFilterer.js +2 -2
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +6 -1
- package/dist/DiagnosticMessages.js +5 -0
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/LanguageServer.d.ts +8 -2
- package/dist/LanguageServer.js +50 -44
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Program.d.ts +61 -45
- package/dist/Program.js +305 -188
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +7 -7
- package/dist/ProgramBuilder.js +60 -51
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +42 -19
- package/dist/Scope.js +261 -129
- package/dist/Scope.js.map +1 -1
- package/dist/SymbolTable.d.ts +73 -0
- package/dist/SymbolTable.js +157 -0
- package/dist/SymbolTable.js.map +1 -0
- package/dist/XmlScope.d.ts +5 -0
- package/dist/XmlScope.js +66 -28
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/creators.d.ts +15 -1
- package/dist/astUtils/creators.js +39 -9
- package/dist/astUtils/creators.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +28 -16
- package/dist/astUtils/reflection.js +52 -30
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +3 -3
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +12 -13
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/astUtils/xml.d.ts +3 -3
- package/dist/astUtils/xml.js +2 -2
- package/dist/astUtils/xml.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +5 -6
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +24 -22
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js +2 -2
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js.map +1 -1
- package/dist/examples/plugins/removePrint.js +1 -1
- package/dist/examples/plugins/removePrint.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +356 -41
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +55 -37
- package/dist/files/BrsFile.js +430 -399
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +199 -158
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.d.ts +20 -9
- package/dist/files/XmlFile.js +36 -31
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +113 -113
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/files/tests/imports.spec.js +32 -32
- package/dist/files/tests/imports.spec.js.map +1 -1
- package/dist/globalCallables.js +17 -6
- package/dist/globalCallables.js.map +1 -1
- package/dist/interfaces.d.ts +155 -39
- package/dist/parser/BrsTranspileState.d.ts +7 -0
- package/dist/parser/BrsTranspileState.js +10 -1
- package/dist/parser/BrsTranspileState.js.map +1 -1
- package/dist/parser/Expression.d.ts +23 -12
- package/dist/parser/Expression.js +45 -30
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +100 -1
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +118 -5
- package/dist/parser/Parser.js +398 -37
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +404 -7
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGParser.d.ts +41 -4
- package/dist/parser/SGParser.js +185 -174
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGParser.spec.js +17 -4
- package/dist/parser/SGParser.spec.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +203 -38
- package/dist/parser/SGTypes.js +464 -160
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/SGTypes.spec.d.ts +1 -0
- package/dist/parser/SGTypes.spec.js +351 -0
- package/dist/parser/SGTypes.spec.js.map +1 -0
- package/dist/parser/Statement.d.ts +37 -26
- package/dist/parser/Statement.js +81 -20
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js +5 -5
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +1 -1
- package/dist/parser/TranspileState.js +15 -7
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +5 -4
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +1 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/types/ArrayType.d.ts +1 -0
- package/dist/types/ArrayType.js +23 -19
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/BooleanType.d.ts +3 -2
- package/dist/types/BooleanType.js +6 -3
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BscType.d.ts +19 -4
- package/dist/types/BscType.js +9 -0
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/CustomType.d.ts +8 -5
- package/dist/types/CustomType.js +12 -12
- package/dist/types/CustomType.js.map +1 -1
- package/dist/types/DoubleType.d.ts +1 -0
- package/dist/types/DoubleType.js +11 -11
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DynamicType.d.ts +1 -0
- package/dist/types/DynamicType.js +4 -0
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/FloatType.d.ts +2 -1
- package/dist/types/FloatType.js +11 -11
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FunctionType.d.ts +13 -10
- package/dist/types/FunctionType.js +34 -18
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/FunctionType.spec.js +8 -2
- package/dist/types/FunctionType.spec.js.map +1 -1
- package/dist/types/IntegerType.d.ts +2 -1
- package/dist/types/IntegerType.js +11 -11
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/InvalidType.d.ts +3 -2
- package/dist/types/InvalidType.js +7 -4
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/LazyType.d.ts +17 -0
- package/dist/types/LazyType.js +44 -0
- package/dist/types/LazyType.js.map +1 -0
- package/dist/types/LongIntegerType.d.ts +2 -1
- package/dist/types/LongIntegerType.js +11 -11
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/ObjectType.d.ts +6 -2
- package/dist/types/ObjectType.js +9 -3
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/StringType.d.ts +3 -2
- package/dist/types/StringType.js +6 -3
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/UninitializedType.d.ts +4 -2
- package/dist/types/UninitializedType.js +8 -3
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/VoidType.d.ts +3 -2
- package/dist/types/VoidType.js +6 -3
- package/dist/types/VoidType.js.map +1 -1
- package/dist/types/helpers.d.ts +42 -0
- package/dist/types/helpers.js +113 -0
- package/dist/types/helpers.js.map +1 -0
- package/dist/util.d.ts +68 -15
- package/dist/util.js +193 -45
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.d.ts +5 -1
- package/dist/validators/ClassValidator.js +31 -17
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +1 -1
- package/dist/FunctionScope.d.ts +0 -27
- package/dist/FunctionScope.js +0 -49
- package/dist/FunctionScope.js.map +0 -1
package/dist/LanguageServer.js
CHANGED
|
@@ -357,10 +357,13 @@ class LanguageServer {
|
|
|
357
357
|
}
|
|
358
358
|
});
|
|
359
359
|
}
|
|
360
|
-
|
|
360
|
+
/**
|
|
361
|
+
* @param srcPath The absolute path to the source file on disk
|
|
362
|
+
*/
|
|
363
|
+
async createStandaloneFileWorkspace(srcPath) {
|
|
361
364
|
//skip this workspace if we already have it
|
|
362
|
-
if (this.standaloneFileWorkspaces[
|
|
363
|
-
return this.standaloneFileWorkspaces[
|
|
365
|
+
if (this.standaloneFileWorkspaces[srcPath]) {
|
|
366
|
+
return this.standaloneFileWorkspaces[srcPath];
|
|
364
367
|
}
|
|
365
368
|
let builder = new ProgramBuilder_1.ProgramBuilder();
|
|
366
369
|
//prevent clearing the console on run...this isn't the CLI so we want to keep a full log of everything
|
|
@@ -368,9 +371,9 @@ class LanguageServer {
|
|
|
368
371
|
//look for files in our in-memory cache before going to the file system
|
|
369
372
|
builder.addFileResolver(this.documentFileResolver.bind(this));
|
|
370
373
|
//get the path to the directory where this file resides
|
|
371
|
-
let cwd = path.dirname(
|
|
374
|
+
let cwd = path.dirname(srcPath);
|
|
372
375
|
//get the closest config file and use most of the settings from that
|
|
373
|
-
let configFilePath = await util_1.util.findClosestConfigFile(
|
|
376
|
+
let configFilePath = await util_1.util.findClosestConfigFile(srcPath);
|
|
374
377
|
let project = {};
|
|
375
378
|
if (configFilePath) {
|
|
376
379
|
project = util_1.util.normalizeAndResolveConfig({ project: configFilePath });
|
|
@@ -378,8 +381,8 @@ class LanguageServer {
|
|
|
378
381
|
//override the rootDir and files array
|
|
379
382
|
project.rootDir = cwd;
|
|
380
383
|
project.files = [{
|
|
381
|
-
src:
|
|
382
|
-
dest: path.basename(
|
|
384
|
+
src: srcPath,
|
|
385
|
+
dest: path.basename(srcPath)
|
|
383
386
|
}];
|
|
384
387
|
let firstRunPromise = builder.run(Object.assign(Object.assign({}, project), { cwd: cwd, project: configFilePath, watch: false, createPackage: false, deploy: false, copyToStaging: false, diagnosticFilters: [
|
|
385
388
|
//hide the "file not referenced by any other file" error..that's expected in a standalone file.
|
|
@@ -390,13 +393,13 @@ class LanguageServer {
|
|
|
390
393
|
let newWorkspace = {
|
|
391
394
|
builder: builder,
|
|
392
395
|
firstRunPromise: firstRunPromise,
|
|
393
|
-
workspacePath:
|
|
396
|
+
workspacePath: srcPath,
|
|
394
397
|
isFirstRunComplete: false,
|
|
395
398
|
isFirstRunSuccessful: false,
|
|
396
399
|
configFilePath: configFilePath,
|
|
397
400
|
isStandaloneFileWorkspace: true
|
|
398
401
|
};
|
|
399
|
-
this.standaloneFileWorkspaces[
|
|
402
|
+
this.standaloneFileWorkspaces[srcPath] = newWorkspace;
|
|
400
403
|
await firstRunPromise.then(() => {
|
|
401
404
|
newWorkspace.isFirstRunComplete = true;
|
|
402
405
|
newWorkspace.isFirstRunSuccessful = true;
|
|
@@ -574,19 +577,19 @@ class LanguageServer {
|
|
|
574
577
|
let changes = params.changes.map(x => {
|
|
575
578
|
return {
|
|
576
579
|
type: x.type,
|
|
577
|
-
|
|
580
|
+
srcPath: (0, util_1.standardizePath) `${vscode_uri_1.URI.parse(x.uri).fsPath}`
|
|
578
581
|
};
|
|
579
582
|
});
|
|
580
|
-
let keys = changes.map(x => x.
|
|
583
|
+
let keys = changes.map(x => x.srcPath);
|
|
581
584
|
//filter the list of changes to only the ones that made it through the debounce unscathed
|
|
582
|
-
changes = changes.filter(x => keys.includes(x.
|
|
585
|
+
changes = changes.filter(x => keys.includes(x.srcPath));
|
|
583
586
|
//if we have changes to work with
|
|
584
587
|
if (changes.length > 0) {
|
|
585
588
|
//reload any workspace whose bsconfig.json file has changed
|
|
586
589
|
{
|
|
587
590
|
let workspacesToReload = [];
|
|
588
591
|
//get the file paths as a string array
|
|
589
|
-
let filePaths = changes.map((x) => x.
|
|
592
|
+
let filePaths = changes.map((x) => x.srcPath);
|
|
590
593
|
for (let workspace of workspaces) {
|
|
591
594
|
if (workspace.configFilePath && filePaths.includes(workspace.configFilePath)) {
|
|
592
595
|
workspacesToReload.push(workspace);
|
|
@@ -605,13 +608,13 @@ class LanguageServer {
|
|
|
605
608
|
//get only creation items
|
|
606
609
|
.filter(change => change.type === node_1.FileChangeType.Created)
|
|
607
610
|
//keep only the directories
|
|
608
|
-
.filter(change => util_1.util.isDirectorySync(change.
|
|
611
|
+
.filter(change => util_1.util.isDirectorySync(change.srcPath));
|
|
609
612
|
//remove the created directories from the changes array (we will add back each of their files next)
|
|
610
613
|
changes = changes.filter(x => !directoryChanges.includes(x));
|
|
611
614
|
//look up every file in each of the newly added directories
|
|
612
615
|
const newFileChanges = directoryChanges
|
|
613
616
|
//take just the path
|
|
614
|
-
.map(x => x.
|
|
617
|
+
.map(x => x.srcPath)
|
|
615
618
|
//exclude the roku deploy staging folder
|
|
616
619
|
.filter(dirPath => !dirPath.includes('.roku-deploy-staging'))
|
|
617
620
|
//get the files for each folder recursively
|
|
@@ -624,7 +627,7 @@ class LanguageServer {
|
|
|
624
627
|
return files.map(x => {
|
|
625
628
|
return {
|
|
626
629
|
type: node_1.FileChangeType.Created,
|
|
627
|
-
|
|
630
|
+
srcPath: (0, util_1.standardizePath) `${x}`
|
|
628
631
|
};
|
|
629
632
|
});
|
|
630
633
|
});
|
|
@@ -645,7 +648,7 @@ class LanguageServer {
|
|
|
645
648
|
//All functions below can handle being given a file path AND a folder path, and will only operate on the one they are looking for
|
|
646
649
|
let consumeCount = 0;
|
|
647
650
|
await Promise.all(changes.map(async (change) => {
|
|
648
|
-
await this.keyedThrottler.run(change.
|
|
651
|
+
await this.keyedThrottler.run(change.srcPath, async () => {
|
|
649
652
|
consumeCount += await this.handleFileChange(workspace, change) ? 1 : 0;
|
|
650
653
|
});
|
|
651
654
|
}));
|
|
@@ -665,10 +668,10 @@ class LanguageServer {
|
|
|
665
668
|
//deleted
|
|
666
669
|
if (change.type === node_1.FileChangeType.Deleted) {
|
|
667
670
|
//try to act on this path as a directory
|
|
668
|
-
workspace.builder.removeFilesInFolder(change.
|
|
671
|
+
workspace.builder.program.removeFilesInFolder(change.srcPath);
|
|
669
672
|
//if this is a file loaded in the program, remove it
|
|
670
|
-
if (program.hasFile(change.
|
|
671
|
-
program.removeFile(change.
|
|
673
|
+
if (program.hasFile(change.srcPath)) {
|
|
674
|
+
program.removeFile(change.srcPath);
|
|
672
675
|
return true;
|
|
673
676
|
}
|
|
674
677
|
else {
|
|
@@ -679,13 +682,13 @@ class LanguageServer {
|
|
|
679
682
|
else if (change.type === node_1.FileChangeType.Created) {
|
|
680
683
|
// thanks to `onDidChangeWatchedFiles`, we can safely assume that all "Created" changes are file paths, (not directories)
|
|
681
684
|
//get the dest path for this file.
|
|
682
|
-
let destPath = rokuDeploy.getDestPath(change.
|
|
685
|
+
let destPath = rokuDeploy.getDestPath(change.srcPath, options.files, rootDir);
|
|
683
686
|
//if we got a dest path, then the program wants this file
|
|
684
687
|
if (destPath) {
|
|
685
|
-
program.
|
|
686
|
-
src: change.
|
|
687
|
-
dest: rokuDeploy.getDestPath(change.
|
|
688
|
-
}, await workspace.builder.getFileContents(change.
|
|
688
|
+
program.setFile({
|
|
689
|
+
src: change.srcPath,
|
|
690
|
+
dest: rokuDeploy.getDestPath(change.srcPath, options.files, rootDir)
|
|
691
|
+
}, await workspace.builder.getFileContents(change.srcPath));
|
|
689
692
|
return true;
|
|
690
693
|
}
|
|
691
694
|
else {
|
|
@@ -694,17 +697,17 @@ class LanguageServer {
|
|
|
694
697
|
}
|
|
695
698
|
//changed
|
|
696
699
|
}
|
|
697
|
-
else if (program.hasFile(change.
|
|
700
|
+
else if (program.hasFile(change.srcPath)) {
|
|
698
701
|
//sometimes "changed" events are emitted on files that were actually deleted,
|
|
699
702
|
//so determine file existance and act accordingly
|
|
700
|
-
if (await util_1.util.pathExists(change.
|
|
701
|
-
program.
|
|
702
|
-
src: change.
|
|
703
|
-
dest: rokuDeploy.getDestPath(change.
|
|
704
|
-
}, await workspace.builder.getFileContents(change.
|
|
703
|
+
if (await util_1.util.pathExists(change.srcPath)) {
|
|
704
|
+
program.setFile({
|
|
705
|
+
src: change.srcPath,
|
|
706
|
+
dest: rokuDeploy.getDestPath(change.srcPath, options.files, rootDir)
|
|
707
|
+
}, await workspace.builder.getFileContents(change.srcPath));
|
|
705
708
|
}
|
|
706
709
|
else {
|
|
707
|
-
program.removeFile(change.
|
|
710
|
+
program.removeFile(change.srcPath);
|
|
708
711
|
}
|
|
709
712
|
return true;
|
|
710
713
|
}
|
|
@@ -712,9 +715,9 @@ class LanguageServer {
|
|
|
712
715
|
async onHover(params) {
|
|
713
716
|
//ensure programs are initialized
|
|
714
717
|
await this.waitAllProgramFirstRuns();
|
|
715
|
-
let
|
|
718
|
+
let srcPath = util_1.util.uriToPath(params.textDocument.uri);
|
|
716
719
|
let workspaces = this.getWorkspaces();
|
|
717
|
-
let hovers = await Promise.all(Array.prototype.concat.call([], workspaces.map(async (x) => x.builder.program.getHover(
|
|
720
|
+
let hovers = await Promise.all(Array.prototype.concat.call([], workspaces.map(async (x) => x.builder.program.getHover(srcPath, params.position))));
|
|
718
721
|
//return the first non-falsey hover. TODO is there a way to handle multiple hover results?
|
|
719
722
|
let hover = hovers.filter((x) => !!x)[0];
|
|
720
723
|
//TODO improve this to support more than just .brs files
|
|
@@ -755,7 +758,7 @@ class LanguageServer {
|
|
|
755
758
|
if (workspace.builder.program.hasFile(filePath)) {
|
|
756
759
|
let rootDir = (_a = workspace.builder.program.options.rootDir) !== null && _a !== void 0 ? _a : workspace.builder.program.options.cwd;
|
|
757
760
|
let dest = rokuDeploy.getDestPath(filePath, workspace.builder.program.options.files, rootDir);
|
|
758
|
-
workspace.builder.program.
|
|
761
|
+
workspace.builder.program.setFile({
|
|
759
762
|
src: filePath,
|
|
760
763
|
dest: dest
|
|
761
764
|
}, documentText);
|
|
@@ -801,9 +804,9 @@ class LanguageServer {
|
|
|
801
804
|
async onDocumentSymbol(params) {
|
|
802
805
|
await this.waitAllProgramFirstRuns();
|
|
803
806
|
await this.keyedThrottler.onIdleOnce(util_1.util.uriToPath(params.textDocument.uri), true);
|
|
804
|
-
const
|
|
807
|
+
const srcPath = util_1.util.uriToPath(params.textDocument.uri);
|
|
805
808
|
for (const workspace of this.getWorkspaces()) {
|
|
806
|
-
const file = workspace.builder.program.
|
|
809
|
+
const file = workspace.builder.program.getFile(srcPath);
|
|
807
810
|
if ((0, reflection_1.isBrsFile)(file)) {
|
|
808
811
|
return file.getDocumentSymbols();
|
|
809
812
|
}
|
|
@@ -811,9 +814,9 @@ class LanguageServer {
|
|
|
811
814
|
}
|
|
812
815
|
async onDefinition(params) {
|
|
813
816
|
await this.waitAllProgramFirstRuns();
|
|
814
|
-
const
|
|
817
|
+
const srcPath = util_1.util.uriToPath(params.textDocument.uri);
|
|
815
818
|
const results = util_1.util.flatMap(await Promise.all(this.getWorkspaces().map(workspace => {
|
|
816
|
-
return workspace.builder.program.getDefinition(
|
|
819
|
+
return workspace.builder.program.getDefinition(srcPath, params.position);
|
|
817
820
|
})), c => c);
|
|
818
821
|
return results;
|
|
819
822
|
}
|
|
@@ -845,9 +848,9 @@ class LanguageServer {
|
|
|
845
848
|
async onReferences(params) {
|
|
846
849
|
await this.waitAllProgramFirstRuns();
|
|
847
850
|
const position = params.position;
|
|
848
|
-
const
|
|
851
|
+
const srcPath = util_1.util.uriToPath(params.textDocument.uri);
|
|
849
852
|
const results = util_1.util.flatMap(await Promise.all(this.getWorkspaces().map(workspace => {
|
|
850
|
-
return workspace.builder.program.getReferences(
|
|
853
|
+
return workspace.builder.program.getReferences(srcPath, position);
|
|
851
854
|
})), c => c);
|
|
852
855
|
return results.filter((r) => r);
|
|
853
856
|
}
|
|
@@ -882,14 +885,17 @@ class LanguageServer {
|
|
|
882
885
|
return this.transpileFile(params.arguments[0]);
|
|
883
886
|
}
|
|
884
887
|
}
|
|
885
|
-
|
|
888
|
+
/**
|
|
889
|
+
* @param srcPath The absolute path to the source file on disk
|
|
890
|
+
*/
|
|
891
|
+
async transpileFile(srcPath) {
|
|
886
892
|
//wait all program first runs
|
|
887
893
|
await this.waitAllProgramFirstRuns();
|
|
888
894
|
let workspaces = this.getWorkspaces();
|
|
889
895
|
//find the first workspace that has this file
|
|
890
896
|
for (let workspace of workspaces) {
|
|
891
|
-
if (workspace.builder.program.hasFile(
|
|
892
|
-
return workspace.builder.program.getTranspiledFileContents(
|
|
897
|
+
if (workspace.builder.program.hasFile(srcPath)) {
|
|
898
|
+
return workspace.builder.program.getTranspiledFileContents(srcPath);
|
|
893
899
|
}
|
|
894
900
|
}
|
|
895
901
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageServer.js","sourceRoot":"","sources":["../src/LanguageServer.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAA6B;AAC7B,6BAA6B;AAC7B,6BAA6B;AAC7B,0CAA0C;AAsB1C,qDASoC;AACpC,2CAAiC;AACjC,2FAAkE;AAElE,yCAAsC;AACtC,6DAA0D;AAC1D,qDAAkD;AAClD,iCAAoD;AACpD,qCAAkC;AAClC,2CAAwC;AACxC,qDAAkD;AAClD,iEAA8D;AAC9D,sDAAkD;AAClD,6DAAkF;AAElF,MAAa,cAAc;IAA3B;QACY,eAAU,GAAG,SAAuB,CAAC;QAEtC,eAAU,GAAG,EAAiB,CAAC;QAEtC;;WAEG;QACK,oBAAe,GAAG,GAAG,CAAC;QAE9B;;;;;WAKG;QACI,6BAAwB,GAAG,EAA+B,CAAC;QAE1D,+BAA0B,GAAG,KAAK,CAAC;QAE3C;;WAEG;QACK,uCAAkC,GAAG,KAAK,CAAC;QAEnD;;;WAGG;QACK,cAAS,GAAG,IAAI,oBAAa,CAAC,iDAAY,CAAC,CAAC;QAQ5C,mBAAc,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE3D,sBAAiB,GAAG,IAAI,qBAAS,CAAC,CAAC,CAAC,CAAC;QACpC,qBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QA6+B/C,yBAAoB,GAAG,IAAI,2CAAoB,EAAE,CAAC;IAwC9D,CAAC;IA9hCW,gBAAgB;QACpB,OAAO,IAAA,uBAAgB,EAAC,uBAAgB,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IASO,oBAAoB;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB;IACT,GAAG;QACN,qFAAqF;QACrF,oDAAoD;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE1C,8FAA8F;QAC9F,IAAI,CAAC,kBAAkB,GAAG,eAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB;QAEnF,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB;QAEzG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB;QAEvG,oEAAoE;QACpE,wEAAwE;QACxE,qFAAqF;QACrF,EAAE;QACF,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/C,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,iCAAiC;QACjC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACvC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,kEAAkE;QAClE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,MAAkC,EAAE,EAAE;YACtE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,wEAAwE;QACxE,uBAAuB;QACvB,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,mFAAmF;QACnF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,4BAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9F;;;;;;;;;;;;;;;;;;UAkBE;QAEF,yDAAyD;QACzD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvC,2BAA2B;QAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IAEI,YAAY,CAAC,MAAwB;QACxC,IAAI,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC;QAE7C,iEAAiE;QACjE,kDAAkD;QAClD,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,IAAI,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACnH,IAAI,CAAC,kCAAkC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,IAAI,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAE9H,uCAAuC;QACvC,OAAO;YACH,YAAY,EAAE;gBACV,gBAAgB,EAAE,2BAAoB,CAAC,IAAI;gBAC3C,2DAA2D;gBAC3D,kBAAkB,EAAE;oBAChB,eAAe,EAAE,IAAI;oBACrB,mEAAmE;oBACnE,iBAAiB,EAAE,CAAC,GAAG,CAAC;oBACxB,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;iBAClC;gBACD,sBAAsB,EAAE,IAAI;gBAC5B,uBAAuB,EAAE,IAAI;gBAC7B,sBAAsB,EAAE;oBACpB,MAAM,EAAE,yCAAoB;oBAC5B,IAAI,EAAE,IAAI;iBACY;gBAC1B,kBAAkB,EAAE,IAAI;gBACxB,kBAAkB,EAAE;oBAChB,eAAe,EAAE,CAAC,qBAAc,CAAC,QAAQ,CAAC;iBAC7C;gBACD,qBAAqB,EAAE;oBACnB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;iBAChC;gBACD,kBAAkB,EAAE,IAAI;gBACxB,aAAa,EAAE,IAAI;gBACnB,sBAAsB,EAAE;oBACpB,QAAQ,EAAE;wBACN,cAAc,CAAC,aAAa;qBAC/B;iBACJ;aACkB;SAC1B,CAAC;IACN,CAAC;IAID;;;OAGG;IAEK,KAAK,CAAC,aAAa;;QACvB,IAAI,wBAAwB,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC9C,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC,OAAO,CAAC;QAEjE,IAAI;YACA,IAAI,IAAI,CAAC,0BAA0B,EAAE;gBACjC,0CAA0C;gBAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CACjC,yCAAkC,CAAC,IAAI,EACvC,SAAS,CACZ,CAAC;aACL;YAED,0CAA0C;YAC1C,IAAI,gBAAgB,GAAG,MAAA,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,mBAAmB,EAAE,mCAAI,EAAE,CAAC;YACnF,IAAI,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5C,OAAO,WAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,kCAAkC,EAAE;gBACzC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBAChE,+CAA+C;oBAC/C,KAAK,IAAI,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE;wBAC7B,IAAI,aAAa,GAAG,WAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAChD,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC;wBAC/E,IAAI,SAAS,EAAE;4BACX,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;4BAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;yBACjE;qBACJ;oBACD,2CAA2C;oBAC3C,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7E,CAAC,CAAC,CAAC;aACN;YACD,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC1C,wBAAwB,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;SAChC;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,mBAAmB,CACpB;;;iCAGiB,CAAC,CAAC,OAAO,EAAE,CAC/B,CAAC;YACF,MAAM,CAAC,CAAC;SACX;IACL,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAAe;QACvC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,qBAAqB,GAAG,IAAI;QAC9D,IAAI,qBAAqB,EAAE;YACvB,MAAM,IAAI,CAAC,wBAAwB,CAAC;SACvC;QAED,IAAI,MAAM,CAAC;QACX,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,KAAK,IAAI,SAAS,IAAI,UAAU,EAAE;YAC9B,IAAI;gBACA,MAAM,SAAS,CAAC,eAAe,CAAC;aACnC;YAAC,OAAO,CAAM,EAAE;gBACb,MAAM,GAAG,gBAAgB,CAAC;gBAC1B,2GAA2G;gBAC3G,mCAAmC;gBACnC,SAAS,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC9C,IAAI,CAAC,mBAAmB,CAAC,qDAAqD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAC9F;SACJ;QACD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClF,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAAC,cAAwB;QACnD,OAAO,OAAO,CAAC,GAAG,CACd,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CACnF,CAAC;IACN,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,OAAe;QACxC,IAAI,OAAO,GAAG,gBAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE;YACV,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;SAC7B;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,aAAqB;QACjD,IAAI,QAAgB,CAAC;QACrB,IAAI,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACnC,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;SAClD;aAAM;YACH,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;SACjD;QACD,6CAA6C;QAC7C,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC;YAC1D,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,cAAc;SAC1B,CAAC,CAAC;QACH,IAAI,cAAsB,CAAC;QAE3B,mFAAmF;QACnF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,EAAE;YACpB,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAChE,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;gBACvC,OAAO,cAAc,CAAC;aACzB;iBAAM;gBACH,IAAI,CAAC,mBAAmB,CAAC,oEAAoE,cAAc,GAAG,CAAC,CAAC;aACnH;SACJ;QAED,gEAAgE;QAChE,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAC9D,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YACvC,OAAO,cAAc,CAAC;SACzB;QAED,+CAA+C;QAC/C,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAC/D,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YACvC,OAAO,cAAc,CAAC;SACzB;QAED,+BAA+B;QAC/B,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,aAAqB;QAC/C,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC;QAC/E,2CAA2C;QAC3C,IAAI,SAAS,EAAE;YACX,OAAO;SACV;QAED,IAAI,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAC;QAEnC,sGAAsG;QACtG,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAErC,uEAAuE;QACvE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAEjE,IAAI,GAAG,GAAG,aAAa,CAAC;QAExB,yDAAyD;QACzD,IAAI,cAAc,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YACzD,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACtC;aAAM;YACH,0EAA0E;YAC1E,cAAc,GAAG,SAAS,CAAC;SAC9B;QAED,IAAI,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;YAC9B,GAAG,EAAE,GAAG;YACR,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,KAAK;YACZ,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,KAAK;YACpB,wBAAwB,EAAE,KAAK;SAClC,CAAC,CAAC;QACH,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,GAAc;YAC1B,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE,eAAe;YAChC,aAAa,EAAE,aAAa;YAC5B,kBAAkB,EAAE,KAAK;YACzB,oBAAoB,EAAE,KAAK;YAC3B,cAAc,EAAE,cAAc;YAC9B,yBAAyB,EAAE,KAAK;SACnC,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEnC,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACvC,YAAY,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC7C,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACV,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACvC,YAAY,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAC9C,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,4EAA4E;YAC5E,IAAI,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,gBAAgB,EAAE;gBACtE,OAAO,CAAC,aAAa,CAAC,cAAc,kCAC7B,uCAAkB,CAAC,yBAAyB,EAAE,KACjD,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IACrC,CAAC;gBACH,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;aACjC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,gBAAwB;QAChE,2CAA2C;QAC3C,IAAI,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,EAAE;YACjD,OAAO,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;SAC1D;QAED,IAAI,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAC;QAEnC,sGAAsG;QACtG,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAErC,uEAAuE;QACvE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,uDAAuD;QACvD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEzC,oEAAoE;QACpE,IAAI,cAAc,GAAG,MAAM,WAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;QACxE,IAAI,OAAO,GAAa,EAAE,CAAC;QAC3B,IAAI,cAAc,EAAE;YAChB,OAAO,GAAG,WAAI,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;SACzE;QACD,sCAAsC;QACtC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QACtB,OAAO,CAAC,KAAK,GAAG,CAAC;gBACb,GAAG,EAAE,gBAAgB;gBACrB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aACxC,CAAC,CAAC;QAEH,IAAI,eAAe,GAAG,OAAO,CAAC,GAAG,iCAC1B,OAAO,KACV,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,KAAK,EACpB,MAAM,EAAE,KAAK,EACb,aAAa,EAAE,KAAK,EACpB,iBAAiB,EAAE;gBACf,+FAA+F;gBAC/F,IAAI;aACP,IACH,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,GAAc;YAC1B,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE,eAAe;YAChC,aAAa,EAAE,gBAAgB;YAC/B,kBAAkB,EAAE,KAAK;YACzB,oBAAoB,EAAE,KAAK;YAC3B,cAAc,EAAE,cAAc;YAC9B,yBAAyB,EAAE,IAAI;SAClC,CAAC;QAEF,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,GAAG,YAAY,CAAC;QAE/D,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACvC,YAAY,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC7C,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACV,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACvC,YAAY,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,aAAa;QACjB,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACzC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC3C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;SACvD;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;OAGG;IAEK,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,QAAkB;QACtD,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,QAAQ,GAAG,WAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEnC,iCAAiC;QACjC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAErD,IAAI,WAAW,GAAG,IAAI;aACjB,aAAa,EAAE;aACf,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAExF,KAAK,IAAI,UAAU,IAAI,WAAW,EAAE;YAChC,UAAU,CAAC,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAC;SACvC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;OAGG;IAEK,mBAAmB,CAAC,IAAoB;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAAC;SACnD;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAAC;SACnD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAGO,KAAK,CAAC,YAAY,CAAC,MAAwB;QAC/C,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAEtD,iCAAiC;QACjC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,IAAI;aACnB,aAAa,EAAE;YAChB,yCAAyC;aACxC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAC,OAAA,MAAA,MAAA,CAAC,CAAC,OAAO,0CAAE,OAAO,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAA,EAAA,CAAC;aACjD,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAE3F,0JAA0J;QAC1J,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YAClC,IAAI,UAAU,CAAC,WAAW,EAAE;gBACxB,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aAClF;SACJ;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,UAAwB;QACnD,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5D,MAAM,OAAO,CAAC,GAAG,CACb,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YAC/B,+CAA+C;YAC/C,IAAI;gBACA,MAAM,SAAS,CAAC,eAAe,CAAC;aACnC;YAAC,OAAO,CAAC,EAAE,GAAG;YAEf,2BAA2B;YAC3B,IAAI,SAAS,CAAC,yBAAyB,KAAK,KAAK,EAAE;gBAC/C,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC7C,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE;oBACV,uBAAuB;oBACvB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC/B,oCAAoC;oBACpC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;iBAC/B;gBAED,oCAAoC;gBACpC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAEpD,uBAAuB;aAC1B;iBAAM;gBACH,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC9D,MAAM,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;aACrE;QACL,CAAC,CAAC,CACL,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,oDAAoD;YACpD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAErC,0BAA0B;YAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,qBAAqB;SACrD;IACL,CAAC;IAEO,UAAU,CAAC,SAAoB;;QACnC,IAAI,OAAO,GAAG,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,CAAC;QACnD,OAAO,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,+BAA+B;;QAEzC,gEAAgE;QAChE,KAAK,IAAI,kBAAkB,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC1D,IAAI,mBAAmB,GAAG,IAAI,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;YAC5E,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnC,MAAM,mBAAmB,CAAC,eAAe,CAAC;gBAE1C,IAAI,IAAI,GAAG,UAAU,CAAC,WAAW,CAC7B,kBAAkB,EAClB,MAAA,MAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,0CAAE,KAAK,mCAAI,EAAE,EACjD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC7B,CAAC;gBACF,kGAAkG;gBAClG,oCAAoC;gBACpC,IAAI,CAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,CAAC,kBAAkB,CAAC,KAAI,IAAI,EAAE;oBAClE,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACtC,OAAO,IAAI,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;iBAC5D;aACJ;SACJ;QAED,2EAA2E;QAC3E,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACzC,KAAK,EAAE,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE;YAC3C,IAAI,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YAClD,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,KAAK,IAAI,SAAS,IAAI,UAAU,EAAE;gBAC9B,IAAI,IAAI,GAAG,UAAU,CAAC,WAAW,CAC7B,QAAQ,EACR,MAAA,MAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,0CAAE,KAAK,mCAAI,EAAE,EACjD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC7B,CAAC;gBACF,wGAAwG;gBACxG,IAAI,CAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,CAAC,QAAQ,CAAC,KAAI,IAAI,EAAE;oBACxD,SAAS,KAAK,CAAC;iBAClB;aACJ;YACD,iFAAiF;YACjF,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;YACnE,MAAM,SAAS,CAAC,eAAe,CAAC;SACnC;IACL,CAAC;IAGO,KAAK,CAAC,wBAAwB;QAClC,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACjC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9B,qCAAqC;SACxC;aAAM;YACH,2CAA2C;YAC3C,sEAAsE;YACtE,KAAK;SACR;IACL,CAAC;IAED;;;;;;OAMG;IAEK,KAAK,CAAC,uBAAuB,CAAC,MAAmC;QACrE,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE7D,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEtC,0CAA0C;QAC1C,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACjC,OAAO;gBACH,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,YAAY,EAAE,IAAA,sBAAC,EAAA,GAAG,gBAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;aAC9C,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAE5C,yFAAyF;QACzF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QAE7D,iCAAiC;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAEpB,2DAA2D;YAC3D;gBACI,IAAI,kBAAkB,GAAG,EAAiB,CAAC;gBAC3C,sCAAsC;gBACtC,IAAI,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBAEnD,KAAK,IAAI,SAAS,IAAI,UAAU,EAAE;oBAC9B,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;wBAC1E,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBACtC;iBACJ;gBACD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,iJAAiJ;oBACjJ,gDAAgD;oBAChD,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;iBACnD;gBAED,uDAAuD;gBACvD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aACxE;YAED,gEAAgE;YAChE,MAAM,gBAAgB,GAAG,OAAO;gBAC5B,yBAAyB;iBACxB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAc,CAAC,OAAO,CAAC;gBACzD,2BAA2B;iBAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YAEjE,mGAAmG;YACnG,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7D,2DAA2D;YAC3D,MAAM,cAAc,GAAG,gBAAgB;gBACnC,oBAAoB;iBACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;gBACzB,wCAAwC;iBACvC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBAC7D,2CAA2C;iBAC1C,OAAO,CAAC,OAAO,CAAC,EAAE;gBACf,0CAA0C;gBAC1C,IAAI,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC;gBAClE,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC3B,QAAQ,EAAE,IAAI;iBACjB,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACjB,OAAO;wBACH,IAAI,EAAE,qBAAc,CAAC,OAAO;wBAC5B,YAAY,EAAE,IAAA,sBAAC,EAAA,GAAG,CAAC,EAAE;qBACxB,CAAC;gBACN,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEP,gDAAgD;YAChD,OAAO,CAAC,IAAI,CAAC,GAAG,cAAqB,CAAC,CAAC;YAEvC,wDAAwD;YACxD,MAAM,OAAO,CAAC,GAAG,CACb,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAC5E,CAAC;SACL;QACD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAAC,SAAoB,EAAE,OAAyD;QAC1G,oGAAoG;QACpG,iIAAiI;QACjI,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;gBAC1D,YAAY,IAAI,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,YAAY,GAAG,CAAC,EAAE;YAClB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACrC;IACL,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAAC,SAAoB,EAAE,MAAsD;QACvG,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAE1C,SAAS;QACT,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAc,CAAC,OAAO,EAAE;YACxC,wCAAwC;YACxC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAE3D,oDAAoD;YACpD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;gBACtC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACxC,OAAO,IAAI,CAAC;aACf;iBAAM;gBACH,OAAO,KAAK,CAAC;aAChB;YAED,SAAS;SACZ;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAc,CAAC,OAAO,EAAE;YAC/C,yHAAyH;YAEzH,kCAAkC;YAClC,IAAI,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEnF,yDAAyD;YACzD,IAAI,QAAQ,EAAE;gBACV,OAAO,CAAC,gBAAgB,CACpB;oBACI,GAAG,EAAE,MAAM,CAAC,YAAY;oBACxB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;iBAC5E,EACD,MAAM,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAC/D,CAAC;gBACF,OAAO,IAAI,CAAC;aACf;iBAAM;gBACH,uDAAuD;gBACvD,OAAO,KAAK,CAAC;aAChB;YAED,SAAS;SACZ;aAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;YAC7C,6EAA6E;YAC7E,iDAAiD;YACjD,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;gBAC5C,OAAO,CAAC,gBAAgB,CACpB;oBACI,GAAG,EAAE,MAAM,CAAC,YAAY;oBACxB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;iBAC5E,EACD,MAAM,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAC/D,CAAC;aACL;iBAAM;gBACH,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aAC3C;YACD,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAGO,KAAK,CAAC,OAAO,CAAC,MAAkC;QACpD,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,YAAY,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAC1B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CACzF,CACO,CAAC;QAEb,0FAA0F;QAC1F,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzC,wDAAwD;QACxD,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE;YACjB,8CAA8C;YAC9C,KAAK,CAAC,QAAQ,GAAG;gBACb,4EAA4E;gBAC5E,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE,KAAK,CAAC,QAAkB;aAClC,CAAC;SACL;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAGO,KAAK,CAAC,eAAe,CAAC,YAA0B;QACpD,IAAI,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAClD,IAAI,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACtE,mCAAmC;QACnC,IAAI,uBAAuB,EAAE;YACzB,MAAM,uBAAuB,CAAC,eAAe,CAAC;YAC9C,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;SAChC;IACL,CAAC;IAGO,KAAK,CAAC,oBAAoB,CAAC,YAA0B;QACzD,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAElD,IAAI;YAEA,+FAA+F;YAC/F,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE;;gBAEzC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gBAE7D,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;oBAC1C,4EAA4E;oBAC5E,yCAAyC;oBACzC,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBAC7C,IAAI,OAAO,GAAG,MAAA,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,mCAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;wBACjG,IAAI,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBAC9F,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC;4BACvC,GAAG,EAAE,QAAQ;4BACb,IAAI,EAAE,IAAI;yBACb,EAAE,YAAY,CAAC,CAAC;qBACpB;iBACJ;YACL,CAAC,CAAC,CAAC;YACH,0BAA0B;YAC1B,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACrC;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,mBAAmB,CAAC,sCAAsC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC5F;IACL,CAAC;IAEO,KAAK,CAAC,WAAW;;QACrB,IAAI;YACA,8EAA8E;YAC9E,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAAC;YAE7C,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAEtC,uBAAuB;YACvB,MAAM,OAAO,CAAC,GAAG,CACb,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CACtD,CAAC;YAEF,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;SAChC;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,mBAAmB,CAAC,wCAAwC,CAAC,CAAC,OAAO,GAAG,MAAA,CAAC,CAAC,KAAK,mCAAI,EAAE,EAAE,CAAC,CAAC;SACjG;QAED,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAGM,KAAK,CAAC,iBAAiB,CAAC,MAA6B;QACxD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,OAAO,GAAG,WAAI,CAAC,OAAO,CACxB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACnD,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC,EACH,CAAC,CAAC,EAAE,CAAC,CAAC,CACT,CAAC;QAEF,oBAAoB;QACpB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;YAC9C,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YAClB,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACR,OAAO,UAAiC,CAAC;IAC7C,CAAC;IAGM,KAAK,CAAC,gBAAgB,CAAC,MAA4B;QACtD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAEpF,MAAM,YAAY,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC7D,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;YAC3E,IAAI,IAAA,sBAAS,EAAC,IAAI,CAAC,EAAE;gBACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACpC;SACJ;IACL,CAAC;IAGO,KAAK,CAAC,YAAY,CAAC,MAAkC;QACzD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,YAAY,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAE7D,MAAM,OAAO,GAAG,WAAI,CAAC,OAAO,CACxB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACnD,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC,EACH,CAAC,CAAC,EAAE,CAAC,CAAC,CACT,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;IAGO,KAAK,CAAC,eAAe,CAAC,MAA2B;;QACrD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAErD,IAAI;YACA,MAAM,UAAU,GAAG,WAAI,CAAC,OAAO,CAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAC5H,CAAC,EACF,CAAC,CAAC,EAAE,CAAC,CAAC,CACT,CAAC;YAEF,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzD,MAAM,eAAe,GAAG,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,MAAA,UAAU,CAAC,eAAe,CAAC,0CAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzF,IAAI,OAAO,GAAkB;gBACzB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9C,eAAe,EAAE,eAAe;gBAChC,eAAe,EAAE,eAAe;aACnC,CAAC;YACF,OAAO,OAAO,CAAC;SAClB;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,MAAA,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,OAAO,mCAAI,CAAC,EAAE,CAAC,CAAC;YACxF,OAAO;gBACH,UAAU,EAAE,EAAE;gBACd,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,CAAC;aACrB,CAAC;SACL;IACL,CAAC;IAGO,KAAK,CAAC,YAAY,CAAC,MAAuB;QAC9C,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,YAAY,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAE7D,MAAM,OAAO,GAAG,WAAI,CAAC,OAAO,CACxB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACnD,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC,EACH,CAAC,CAAC,EAAE,CAAC,CAAC,CACT,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAGO,KAAK,CAAC,oBAAoB,CAAC,MAA4B;QAC3D,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAEpF,MAAM,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACrC,mJAAmJ;YACnJ,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC5C,IAAI,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAC1E,OAAO;oBACH,IAAI,EAAE,IAAA,yCAAoB,EAAC,cAAc,CAAC;iBAC3B,CAAC;aACvB;SACJ;IACL,CAAC;IAIO,KAAK,CAAC,eAAe;QACzB,oFAAoF;QACpF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExE,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE;YACxB,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;gBAC5B,GAAG,EAAE,gBAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;gBAClC,WAAW,EAAE,WAAW;aAC3B,CAAC,CAAC;SACN;IACL,CAAC;IAGM,KAAK,CAAC,gBAAgB,CAAC,MAA4B;QACtD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,CAAC,aAAa,EAAE;YACjD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,YAAoB;QAC5C,6BAA6B;QAC7B,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,6CAA6C;QAC7C,KAAK,IAAI,SAAS,IAAI,UAAU,EAAE;YAC9B,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBACjD,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;aAC5E;SACJ;IACL,CAAC;IAEM,OAAO;;QACV,MAAA,IAAI,CAAC,kBAAkB,+CAAvB,IAAI,CAAuB,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;CACJ;AAn7BG;IADC,sBAAsB;kDA0CtB;AASD;IADC,sBAAsB;mDA+CtB;AAuPD;IADC,sBAAsB;kDAmBtB;AAOD;IADC,sBAAsB;yDAUtB;AAGD;IADC,sBAAsB;kDAuBtB;AAqGD;IADC,sBAAsB;8DAUtB;AAUD;IADC,sBAAsB;6DAsFtB;AAuFD;IADC,sBAAsB;6CA0BtB;AAGD;IADC,sBAAsB;qDAWtB;AAGD;IADC,sBAAsB;0DAiCtB;AAwBD;IADC,sBAAsB;uDAkBtB;AAGD;IADC,sBAAsB;sDAatB;AAGD;IADC,sBAAsB;kDAatB;AAGD;IADC,sBAAsB;qDAgCtB;AAGD;IADC,sBAAsB;kDActB;AAGD;IADC,sBAAsB;0DAetB;AAmBD;IADC,sBAAsB;sDAMtB;AA3iCL,wCA6jCC;AAYD,IAAY,cAEX;AAFD,WAAY,cAAc;IACtB,iDAA+B,CAAA;AACnC,CAAC,EAFW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAEzB;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,MAAW,EAAE,WAAmB,EAAE,UAA8B;IAC5F,IAAI,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IAEtC,8BAA8B;IAC9B,UAAU,CAAC,KAAK,GAAG,SAAS,KAAK,CAAC,GAAG,IAAW;QAC5C,IAAI;YACA,IAAI,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9C,gEAAgE;YAChE,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE;gBACd,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;oBAC9C,IAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE;wBACV,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;qBACvB;oBACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,OAAO,MAAM,CAAC;aACjB;SACJ;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE;gBACV,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;aACvB;YACD,MAAM,CAAC,CAAC;SACX;IACL,CAAC,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"LanguageServer.js","sourceRoot":"","sources":["../src/LanguageServer.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAA6B;AAC7B,6BAA6B;AAC7B,6BAA6B;AAC7B,0CAA0C;AAsB1C,qDASoC;AACpC,2CAAiC;AACjC,2FAAkE;AAElE,yCAAsC;AACtC,6DAA0D;AAC1D,qDAAkD;AAClD,iCAAoD;AACpD,qCAAkC;AAClC,2CAAwC;AACxC,qDAAkD;AAClD,iEAA8D;AAC9D,sDAAkD;AAClD,6DAAkF;AAElF,MAAa,cAAc;IAA3B;QACY,eAAU,GAAG,SAAuB,CAAC;QAEtC,eAAU,GAAG,EAAiB,CAAC;QAEtC;;WAEG;QACK,oBAAe,GAAG,GAAG,CAAC;QAE9B;;;;;WAKG;QACI,6BAAwB,GAAG,EAA+B,CAAC;QAE1D,+BAA0B,GAAG,KAAK,CAAC;QAE3C;;WAEG;QACK,uCAAkC,GAAG,KAAK,CAAC;QAEnD;;;WAGG;QACK,cAAS,GAAG,IAAI,oBAAa,CAAC,iDAAY,CAAC,CAAC;QAQ5C,mBAAc,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE3D,sBAAiB,GAAG,IAAI,qBAAS,CAAC,CAAC,CAAC,CAAC;QACpC,qBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAg/B/C,yBAAoB,GAAG,IAAI,2CAAoB,EAAE,CAAC;IA2C9D,CAAC;IApiCW,gBAAgB;QACpB,OAAO,IAAA,uBAAgB,EAAC,uBAAgB,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IASO,oBAAoB;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB;IACT,GAAG;QACN,qFAAqF;QACrF,oDAAoD;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE1C,8FAA8F;QAC9F,IAAI,CAAC,kBAAkB,GAAG,eAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB;QAEnF,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB;QAEzG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB;QAEvG,oEAAoE;QACpE,wEAAwE;QACxE,qFAAqF;QACrF,EAAE;QACF,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/C,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,iCAAiC;QACjC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACvC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,kEAAkE;QAClE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,MAAkC,EAAE,EAAE;YACtE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,wEAAwE;QACxE,uBAAuB;QACvB,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,mFAAmF;QACnF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,4BAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9F;;;;;;;;;;;;;;;;;;UAkBE;QAEF,yDAAyD;QACzD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvC,2BAA2B;QAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IAEI,YAAY,CAAC,MAAwB;QACxC,IAAI,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC;QAE7C,iEAAiE;QACjE,kDAAkD;QAClD,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,IAAI,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACnH,IAAI,CAAC,kCAAkC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,IAAI,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAE9H,uCAAuC;QACvC,OAAO;YACH,YAAY,EAAE;gBACV,gBAAgB,EAAE,2BAAoB,CAAC,IAAI;gBAC3C,2DAA2D;gBAC3D,kBAAkB,EAAE;oBAChB,eAAe,EAAE,IAAI;oBACrB,mEAAmE;oBACnE,iBAAiB,EAAE,CAAC,GAAG,CAAC;oBACxB,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;iBAClC;gBACD,sBAAsB,EAAE,IAAI;gBAC5B,uBAAuB,EAAE,IAAI;gBAC7B,sBAAsB,EAAE;oBACpB,MAAM,EAAE,yCAAoB;oBAC5B,IAAI,EAAE,IAAI;iBACY;gBAC1B,kBAAkB,EAAE,IAAI;gBACxB,kBAAkB,EAAE;oBAChB,eAAe,EAAE,CAAC,qBAAc,CAAC,QAAQ,CAAC;iBAC7C;gBACD,qBAAqB,EAAE;oBACnB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;iBAChC;gBACD,kBAAkB,EAAE,IAAI;gBACxB,aAAa,EAAE,IAAI;gBACnB,sBAAsB,EAAE;oBACpB,QAAQ,EAAE;wBACN,cAAc,CAAC,aAAa;qBAC/B;iBACJ;aACkB;SAC1B,CAAC;IACN,CAAC;IAID;;;OAGG;IAEK,KAAK,CAAC,aAAa;;QACvB,IAAI,wBAAwB,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC9C,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC,OAAO,CAAC;QAEjE,IAAI;YACA,IAAI,IAAI,CAAC,0BAA0B,EAAE;gBACjC,0CAA0C;gBAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CACjC,yCAAkC,CAAC,IAAI,EACvC,SAAS,CACZ,CAAC;aACL;YAED,0CAA0C;YAC1C,IAAI,gBAAgB,GAAG,MAAA,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,mBAAmB,EAAE,mCAAI,EAAE,CAAC;YACnF,IAAI,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5C,OAAO,WAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,kCAAkC,EAAE;gBACzC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBAChE,+CAA+C;oBAC/C,KAAK,IAAI,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE;wBAC7B,IAAI,aAAa,GAAG,WAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAChD,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC;wBAC/E,IAAI,SAAS,EAAE;4BACX,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;4BAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;yBACjE;qBACJ;oBACD,2CAA2C;oBAC3C,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7E,CAAC,CAAC,CAAC;aACN;YACD,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC1C,wBAAwB,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;SAChC;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,mBAAmB,CACpB;;;iCAGiB,CAAC,CAAC,OAAO,EAAE,CAC/B,CAAC;YACF,MAAM,CAAC,CAAC;SACX;IACL,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAAe;QACvC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,qBAAqB,GAAG,IAAI;QAC9D,IAAI,qBAAqB,EAAE;YACvB,MAAM,IAAI,CAAC,wBAAwB,CAAC;SACvC;QAED,IAAI,MAAM,CAAC;QACX,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,KAAK,IAAI,SAAS,IAAI,UAAU,EAAE;YAC9B,IAAI;gBACA,MAAM,SAAS,CAAC,eAAe,CAAC;aACnC;YAAC,OAAO,CAAM,EAAE;gBACb,MAAM,GAAG,gBAAgB,CAAC;gBAC1B,2GAA2G;gBAC3G,mCAAmC;gBACnC,SAAS,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC9C,IAAI,CAAC,mBAAmB,CAAC,qDAAqD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAC9F;SACJ;QACD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClF,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAAC,cAAwB;QACnD,OAAO,OAAO,CAAC,GAAG,CACd,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CACnF,CAAC;IACN,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,OAAe;QACxC,IAAI,OAAO,GAAG,gBAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE;YACV,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;SAC7B;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,aAAqB;QACjD,IAAI,QAAgB,CAAC;QACrB,IAAI,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACnC,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;SAClD;aAAM;YACH,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;SACjD;QACD,6CAA6C;QAC7C,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC;YAC1D,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,cAAc;SAC1B,CAAC,CAAC;QACH,IAAI,cAAsB,CAAC;QAE3B,mFAAmF;QACnF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,EAAE;YACpB,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAChE,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;gBACvC,OAAO,cAAc,CAAC;aACzB;iBAAM;gBACH,IAAI,CAAC,mBAAmB,CAAC,oEAAoE,cAAc,GAAG,CAAC,CAAC;aACnH;SACJ;QAED,gEAAgE;QAChE,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAC9D,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YACvC,OAAO,cAAc,CAAC;SACzB;QAED,+CAA+C;QAC/C,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAC/D,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YACvC,OAAO,cAAc,CAAC;SACzB;QAED,+BAA+B;QAC/B,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,aAAqB;QAC/C,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC;QAC/E,2CAA2C;QAC3C,IAAI,SAAS,EAAE;YACX,OAAO;SACV;QAED,IAAI,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAC;QAEnC,sGAAsG;QACtG,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAErC,uEAAuE;QACvE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAEjE,IAAI,GAAG,GAAG,aAAa,CAAC;QAExB,yDAAyD;QACzD,IAAI,cAAc,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YACzD,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACtC;aAAM;YACH,0EAA0E;YAC1E,cAAc,GAAG,SAAS,CAAC;SAC9B;QAED,IAAI,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;YAC9B,GAAG,EAAE,GAAG;YACR,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,KAAK;YACZ,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,KAAK;YACpB,wBAAwB,EAAE,KAAK;SAClC,CAAC,CAAC;QACH,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,GAAc;YAC1B,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE,eAAe;YAChC,aAAa,EAAE,aAAa;YAC5B,kBAAkB,EAAE,KAAK;YACzB,oBAAoB,EAAE,KAAK;YAC3B,cAAc,EAAE,cAAc;YAC9B,yBAAyB,EAAE,KAAK;SACnC,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEnC,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACvC,YAAY,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC7C,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACV,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACvC,YAAY,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAC9C,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,4EAA4E;YAC5E,IAAI,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,gBAAgB,EAAE;gBACtE,OAAO,CAAC,aAAa,CAAC,cAAc,kCAC7B,uCAAkB,CAAC,yBAAyB,EAAE,KACjD,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IACrC,CAAC;gBACH,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;aACjC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,6BAA6B,CAAC,OAAe;QACvD,2CAA2C;QAC3C,IAAI,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE;YACxC,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;SACjD;QAED,IAAI,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAC;QAEnC,sGAAsG;QACtG,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAErC,uEAAuE;QACvE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,uDAAuD;QACvD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEhC,oEAAoE;QACpE,IAAI,cAAc,GAAG,MAAM,WAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,OAAO,GAAa,EAAE,CAAC;QAC3B,IAAI,cAAc,EAAE;YAChB,OAAO,GAAG,WAAI,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;SACzE;QACD,sCAAsC;QACtC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QACtB,OAAO,CAAC,KAAK,GAAG,CAAC;gBACb,GAAG,EAAE,OAAO;gBACZ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;aAC/B,CAAC,CAAC;QAEH,IAAI,eAAe,GAAG,OAAO,CAAC,GAAG,iCAC1B,OAAO,KACV,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,KAAK,EACpB,MAAM,EAAE,KAAK,EACb,aAAa,EAAE,KAAK,EACpB,iBAAiB,EAAE;gBACf,+FAA+F;gBAC/F,IAAI;aACP,IACH,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,GAAc;YAC1B,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE,eAAe;YAChC,aAAa,EAAE,OAAO;YACtB,kBAAkB,EAAE,KAAK;YACzB,oBAAoB,EAAE,KAAK;YAC3B,cAAc,EAAE,cAAc;YAC9B,yBAAyB,EAAE,IAAI;SAClC,CAAC;QAEF,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;QAEtD,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACvC,YAAY,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC7C,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACV,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACvC,YAAY,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,aAAa;QACjB,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACzC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC3C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;SACvD;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;OAGG;IAEK,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,QAAkB;QACtD,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,QAAQ,GAAG,WAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEnC,iCAAiC;QACjC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAErD,IAAI,WAAW,GAAG,IAAI;aACjB,aAAa,EAAE;aACf,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAExF,KAAK,IAAI,UAAU,IAAI,WAAW,EAAE;YAChC,UAAU,CAAC,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAC;SACvC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;OAGG;IAEK,mBAAmB,CAAC,IAAoB;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAAC;SACnD;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAAC;SACnD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAGO,KAAK,CAAC,YAAY,CAAC,MAAwB;QAC/C,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAEtD,iCAAiC;QACjC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,IAAI;aACnB,aAAa,EAAE;YAChB,yCAAyC;aACxC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAC,OAAA,MAAA,MAAA,CAAC,CAAC,OAAO,0CAAE,OAAO,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAA,EAAA,CAAC;aACjD,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAE3F,0JAA0J;QAC1J,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YAClC,IAAI,UAAU,CAAC,WAAW,EAAE;gBACxB,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aAClF;SACJ;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,UAAwB;QACnD,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5D,MAAM,OAAO,CAAC,GAAG,CACb,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YAC/B,+CAA+C;YAC/C,IAAI;gBACA,MAAM,SAAS,CAAC,eAAe,CAAC;aACnC;YAAC,OAAO,CAAC,EAAE,GAAG;YAEf,2BAA2B;YAC3B,IAAI,SAAS,CAAC,yBAAyB,KAAK,KAAK,EAAE;gBAC/C,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC7C,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE;oBACV,uBAAuB;oBACvB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC/B,oCAAoC;oBACpC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;iBAC/B;gBAED,oCAAoC;gBACpC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAEpD,uBAAuB;aAC1B;iBAAM;gBACH,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC9D,MAAM,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;aACrE;QACL,CAAC,CAAC,CACL,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,oDAAoD;YACpD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAErC,0BAA0B;YAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,qBAAqB;SACrD;IACL,CAAC;IAEO,UAAU,CAAC,SAAoB;;QACnC,IAAI,OAAO,GAAG,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,CAAC;QACnD,OAAO,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,+BAA+B;;QAEzC,gEAAgE;QAChE,KAAK,IAAI,kBAAkB,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC1D,IAAI,mBAAmB,GAAG,IAAI,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;YAC5E,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnC,MAAM,mBAAmB,CAAC,eAAe,CAAC;gBAE1C,IAAI,IAAI,GAAG,UAAU,CAAC,WAAW,CAC7B,kBAAkB,EAClB,MAAA,MAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,0CAAE,KAAK,mCAAI,EAAE,EACjD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC7B,CAAC;gBACF,kGAAkG;gBAClG,oCAAoC;gBACpC,IAAI,CAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,CAAC,kBAAkB,CAAC,KAAI,IAAI,EAAE;oBAClE,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACtC,OAAO,IAAI,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;iBAC5D;aACJ;SACJ;QAED,2EAA2E;QAC3E,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACzC,KAAK,EAAE,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE;YAC3C,IAAI,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YAClD,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,KAAK,IAAI,SAAS,IAAI,UAAU,EAAE;gBAC9B,IAAI,IAAI,GAAG,UAAU,CAAC,WAAW,CAC7B,QAAQ,EACR,MAAA,MAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,0CAAE,KAAK,mCAAI,EAAE,EACjD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC7B,CAAC;gBACF,wGAAwG;gBACxG,IAAI,CAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,CAAC,QAAQ,CAAC,KAAI,IAAI,EAAE;oBACxD,SAAS,KAAK,CAAC;iBAClB;aACJ;YACD,iFAAiF;YACjF,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;YACnE,MAAM,SAAS,CAAC,eAAe,CAAC;SACnC;IACL,CAAC;IAGO,KAAK,CAAC,wBAAwB;QAClC,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACjC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9B,qCAAqC;SACxC;aAAM;YACH,2CAA2C;YAC3C,sEAAsE;YACtE,KAAK;SACR;IACL,CAAC;IAED;;;;;;OAMG;IAEK,KAAK,CAAC,uBAAuB,CAAC,MAAmC;QACrE,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE7D,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEtC,0CAA0C;QAC1C,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACjC,OAAO;gBACH,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,IAAA,sBAAC,EAAA,GAAG,gBAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;aACzC,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEvC,yFAAyF;QACzF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAExD,iCAAiC;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAEpB,2DAA2D;YAC3D;gBACI,IAAI,kBAAkB,GAAG,EAAiB,CAAC;gBAC3C,sCAAsC;gBACtC,IAAI,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAE9C,KAAK,IAAI,SAAS,IAAI,UAAU,EAAE;oBAC9B,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;wBAC1E,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBACtC;iBACJ;gBACD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,iJAAiJ;oBACjJ,gDAAgD;oBAChD,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;iBACnD;gBAED,uDAAuD;gBACvD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aACxE;YAED,gEAAgE;YAChE,MAAM,gBAAgB,GAAG,OAAO;gBAC5B,yBAAyB;iBACxB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAc,CAAC,OAAO,CAAC;gBACzD,2BAA2B;iBAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAE5D,mGAAmG;YACnG,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7D,2DAA2D;YAC3D,MAAM,cAAc,GAAG,gBAAgB;gBACnC,oBAAoB;iBACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpB,wCAAwC;iBACvC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBAC7D,2CAA2C;iBAC1C,OAAO,CAAC,OAAO,CAAC,EAAE;gBACf,0CAA0C;gBAC1C,IAAI,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC;gBAClE,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC3B,QAAQ,EAAE,IAAI;iBACjB,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACjB,OAAO;wBACH,IAAI,EAAE,qBAAc,CAAC,OAAO;wBAC5B,OAAO,EAAE,IAAA,sBAAC,EAAA,GAAG,CAAC,EAAE;qBACnB,CAAC;gBACN,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEP,gDAAgD;YAChD,OAAO,CAAC,IAAI,CAAC,GAAG,cAAqB,CAAC,CAAC;YAEvC,wDAAwD;YACxD,MAAM,OAAO,CAAC,GAAG,CACb,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAC5E,CAAC;SACL;QACD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAAC,SAAoB,EAAE,OAAoD;QACrG,oGAAoG;QACpG,iIAAiI;QACjI,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;gBACrD,YAAY,IAAI,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,YAAY,GAAG,CAAC,EAAE;YAClB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACrC;IACL,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAAC,SAAoB,EAAE,MAAiD;QAClG,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAE1C,SAAS;QACT,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAc,CAAC,OAAO,EAAE;YACxC,wCAAwC;YACxC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE9D,oDAAoD;YACpD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBACjC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnC,OAAO,IAAI,CAAC;aACf;iBAAM;gBACH,OAAO,KAAK,CAAC;aAChB;YAED,SAAS;SACZ;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAc,CAAC,OAAO,EAAE;YAC/C,yHAAyH;YAEzH,kCAAkC;YAClC,IAAI,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAE9E,yDAAyD;YACzD,IAAI,QAAQ,EAAE;gBACV,OAAO,CAAC,OAAO,CACX;oBACI,GAAG,EAAE,MAAM,CAAC,OAAO;oBACnB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;iBACvE,EACD,MAAM,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAC1D,CAAC;gBACF,OAAO,IAAI,CAAC;aACf;iBAAM;gBACH,uDAAuD;gBACvD,OAAO,KAAK,CAAC;aAChB;YAED,SAAS;SACZ;aAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACxC,6EAA6E;YAC7E,iDAAiD;YACjD,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBACvC,OAAO,CAAC,OAAO,CACX;oBACI,GAAG,EAAE,MAAM,CAAC,OAAO;oBACnB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;iBACvE,EACD,MAAM,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAC1D,CAAC;aACL;iBAAM;gBACH,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACtC;YACD,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAGO,KAAK,CAAC,OAAO,CAAC,MAAkC;QACpD,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAC1B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CACpF,CACO,CAAC;QAEb,0FAA0F;QAC1F,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzC,wDAAwD;QACxD,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE;YACjB,8CAA8C;YAC9C,KAAK,CAAC,QAAQ,GAAG;gBACb,4EAA4E;gBAC5E,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE,KAAK,CAAC,QAAkB;aAClC,CAAC;SACL;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAGO,KAAK,CAAC,eAAe,CAAC,YAA0B;QACpD,IAAI,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAClD,IAAI,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACtE,mCAAmC;QACnC,IAAI,uBAAuB,EAAE;YACzB,MAAM,uBAAuB,CAAC,eAAe,CAAC;YAC9C,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;SAChC;IACL,CAAC;IAGO,KAAK,CAAC,oBAAoB,CAAC,YAA0B;QACzD,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAElD,IAAI;YAEA,+FAA+F;YAC/F,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE;;gBAEzC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gBAE7D,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;oBAC1C,4EAA4E;oBAC5E,yCAAyC;oBACzC,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBAC7C,IAAI,OAAO,GAAG,MAAA,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,mCAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;wBACjG,IAAI,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBAC9F,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;4BAC9B,GAAG,EAAE,QAAQ;4BACb,IAAI,EAAE,IAAI;yBACb,EAAE,YAAY,CAAC,CAAC;qBACpB;iBACJ;YACL,CAAC,CAAC,CAAC;YACH,0BAA0B;YAC1B,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACrC;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,mBAAmB,CAAC,sCAAsC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC5F;IACL,CAAC;IAEO,KAAK,CAAC,WAAW;;QACrB,IAAI;YACA,8EAA8E;YAC9E,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAAC;YAE7C,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAEtC,uBAAuB;YACvB,MAAM,OAAO,CAAC,GAAG,CACb,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CACtD,CAAC;YAEF,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;SAChC;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,mBAAmB,CAAC,wCAAwC,CAAC,CAAC,OAAO,GAAG,MAAA,CAAC,CAAC,KAAK,mCAAI,EAAE,EAAE,CAAC,CAAC;SACjG;QAED,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAGM,KAAK,CAAC,iBAAiB,CAAC,MAA6B;QACxD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,OAAO,GAAG,WAAI,CAAC,OAAO,CACxB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACnD,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC,EACH,CAAC,CAAC,EAAE,CAAC,CAAC,CACT,CAAC;QAEF,oBAAoB;QACpB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;YAC9C,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YAClB,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACR,OAAO,UAAiC,CAAC;IAC7C,CAAC;IAGM,KAAK,CAAC,gBAAgB,CAAC,MAA4B;QACtD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAEpF,MAAM,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,IAAA,sBAAS,EAAC,IAAI,CAAC,EAAE;gBACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACpC;SACJ;IACL,CAAC;IAGO,KAAK,CAAC,YAAY,CAAC,MAAkC;QACzD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,WAAI,CAAC,OAAO,CACxB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACnD,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC,EACH,CAAC,CAAC,EAAE,CAAC,CAAC,CACT,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;IAGO,KAAK,CAAC,eAAe,CAAC,MAA2B;;QACrD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAErD,IAAI;YACA,MAAM,UAAU,GAAG,WAAI,CAAC,OAAO,CAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAC5H,CAAC,EACF,CAAC,CAAC,EAAE,CAAC,CAAC,CACT,CAAC;YAEF,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzD,MAAM,eAAe,GAAG,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,MAAA,UAAU,CAAC,eAAe,CAAC,0CAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzF,IAAI,OAAO,GAAkB;gBACzB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9C,eAAe,EAAE,eAAe;gBAChC,eAAe,EAAE,eAAe;aACnC,CAAC;YACF,OAAO,OAAO,CAAC;SAClB;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,MAAA,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,OAAO,mCAAI,CAAC,EAAE,CAAC,CAAC;YACxF,OAAO;gBACH,UAAU,EAAE,EAAE;gBACd,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,CAAC;aACrB,CAAC;SACL;IACL,CAAC;IAGO,KAAK,CAAC,YAAY,CAAC,MAAuB;QAC9C,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,WAAI,CAAC,OAAO,CACxB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACnD,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC,EACH,CAAC,CAAC,EAAE,CAAC,CAAC,CACT,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAGO,KAAK,CAAC,oBAAoB,CAAC,MAA4B;QAC3D,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAEpF,MAAM,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACrC,mJAAmJ;YACnJ,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC5C,IAAI,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAC1E,OAAO;oBACH,IAAI,EAAE,IAAA,yCAAoB,EAAC,cAAc,CAAC;iBAC3B,CAAC;aACvB;SACJ;IACL,CAAC;IAIO,KAAK,CAAC,eAAe;QACzB,oFAAoF;QACpF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExE,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE;YACxB,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;gBAC5B,GAAG,EAAE,gBAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;gBAClC,WAAW,EAAE,WAAW;aAC3B,CAAC,CAAC;SACN;IACL,CAAC;IAGM,KAAK,CAAC,gBAAgB,CAAC,MAA4B;QACtD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,CAAC,aAAa,EAAE;YACjD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,OAAe;QACvC,6BAA6B;QAC7B,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,6CAA6C;QAC7C,KAAK,IAAI,SAAS,IAAI,UAAU,EAAE;YAC9B,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC5C,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;aACvE;SACJ;IACL,CAAC;IAEM,OAAO;;QACV,MAAA,IAAI,CAAC,kBAAkB,+CAAvB,IAAI,CAAuB,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;CACJ;AAz7BG;IADC,sBAAsB;kDA0CtB;AASD;IADC,sBAAsB;mDA+CtB;AA0PD;IADC,sBAAsB;kDAmBtB;AAOD;IADC,sBAAsB;yDAUtB;AAGD;IADC,sBAAsB;kDAuBtB;AAqGD;IADC,sBAAsB;8DAUtB;AAUD;IADC,sBAAsB;6DAsFtB;AAuFD;IADC,sBAAsB;6CA0BtB;AAGD;IADC,sBAAsB;qDAWtB;AAGD;IADC,sBAAsB;0DAiCtB;AAwBD;IADC,sBAAsB;uDAkBtB;AAGD;IADC,sBAAsB;sDAatB;AAGD;IADC,sBAAsB;kDAatB;AAGD;IADC,sBAAsB;qDAgCtB;AAGD;IADC,sBAAsB;kDActB;AAGD;IADC,sBAAsB;0DAetB;AAmBD;IADC,sBAAsB;sDAMtB;AA9iCL,wCAmkCC;AAYD,IAAY,cAEX;AAFD,WAAY,cAAc;IACtB,iDAA+B,CAAA;AACnC,CAAC,EAFW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAEzB;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,MAAW,EAAE,WAAmB,EAAE,UAA8B;IAC5F,IAAI,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IAEtC,8BAA8B;IAC9B,UAAU,CAAC,KAAK,GAAG,SAAS,KAAK,CAAC,GAAG,IAAW;QAC5C,IAAI;YACA,IAAI,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9C,gEAAgE;YAChE,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE;gBACd,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;oBAC9C,IAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE;wBACV,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;qBACvB;oBACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,OAAO,MAAM,CAAC;aACjB;SACJ;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE;gBACV,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;aACvB;YACD,MAAM,CAAC,CAAC;SACX;IACL,CAAC,CAAC;AACN,CAAC"}
|
package/dist/Program.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import type { CodeAction, CompletionItem, Position, Range, SignatureInformation } from 'vscode-languageserver';
|
|
1
|
+
import type { CodeAction, CompletionItem, Position, Range, SignatureInformation, SymbolInformation } from 'vscode-languageserver';
|
|
2
2
|
import { Location } from 'vscode-languageserver';
|
|
3
3
|
import type { BsConfig } from './BsConfig';
|
|
4
4
|
import { Scope } from './Scope';
|
|
5
5
|
import { BrsFile } from './files/BrsFile';
|
|
6
6
|
import { XmlFile } from './files/XmlFile';
|
|
7
|
-
import type { BsDiagnostic,
|
|
7
|
+
import type { BsDiagnostic, FileReference, FileObj, BscFile, SemanticToken } from './interfaces';
|
|
8
8
|
import { XmlScope } from './XmlScope';
|
|
9
9
|
import { Logger } from './Logger';
|
|
10
10
|
import type { ManifestValue } from './preprocessor/Manifest';
|
|
11
11
|
import PluginInterface from './PluginInterface';
|
|
12
12
|
import type { FunctionStatement, Statement } from './parser/Statement';
|
|
13
13
|
export interface SourceObj {
|
|
14
|
-
|
|
14
|
+
srcPath: string;
|
|
15
15
|
source: string;
|
|
16
16
|
definitions?: string;
|
|
17
17
|
}
|
|
@@ -65,13 +65,20 @@ export declare class Program {
|
|
|
65
65
|
/**
|
|
66
66
|
* The path to bslib.brs (the BrightScript runtime for certain BrighterScript features)
|
|
67
67
|
*/
|
|
68
|
-
get bslibPkgPath():
|
|
68
|
+
get bslibPkgPath(): "pkg:/source/roku_modules/bslib/bslib.brs" | "pkg:/source/roku_modules/rokucommunity_bslib/bslib.brs" | "pkg:/source/bslib.brs";
|
|
69
69
|
get bslibPrefix(): "rokucommunity_bslib" | "bslib";
|
|
70
70
|
/**
|
|
71
|
-
* A map of every file loaded
|
|
71
|
+
* A map of every file loaded ino this program, indexed by its lower-case pkgPath
|
|
72
72
|
*/
|
|
73
|
-
files: Record<string, BscFile>;
|
|
74
73
|
private pkgMap;
|
|
74
|
+
/**
|
|
75
|
+
* A map of every file loaded into this program, indexed by its lower-case srcPath
|
|
76
|
+
*/
|
|
77
|
+
private files;
|
|
78
|
+
/**
|
|
79
|
+
* Get a copy of the list of files currently loaded in the program
|
|
80
|
+
*/
|
|
81
|
+
getFiles(): BscFile[];
|
|
75
82
|
private scopes;
|
|
76
83
|
protected addScope(scope: Scope): void;
|
|
77
84
|
/**
|
|
@@ -106,7 +113,7 @@ export declare class Program {
|
|
|
106
113
|
* Get a list of all files that are included in the project but are not referenced
|
|
107
114
|
* by any scope in the program.
|
|
108
115
|
*/
|
|
109
|
-
getUnreferencedFiles():
|
|
116
|
+
getUnreferencedFiles(): BscFile[];
|
|
110
117
|
/**
|
|
111
118
|
* Get the list of errors for the entire program. It's calculated on the fly
|
|
112
119
|
* by walking through every file, so call this sparingly.
|
|
@@ -116,9 +123,9 @@ export declare class Program {
|
|
|
116
123
|
/**
|
|
117
124
|
* Determine if the specified file is loaded in this program right now.
|
|
118
125
|
* @param filePath
|
|
126
|
+
* @param normalizePath should the provided path be normalized before use
|
|
119
127
|
*/
|
|
120
|
-
hasFile(filePath: string): boolean;
|
|
121
|
-
getPkgPath(...args: any[]): any;
|
|
128
|
+
hasFile(filePath: string, normalizePath?: boolean): boolean;
|
|
122
129
|
/**
|
|
123
130
|
* roku filesystem is case INsensitive, so find the scope by key case insensitive
|
|
124
131
|
* @param scopeName
|
|
@@ -132,51 +139,50 @@ export declare class Program {
|
|
|
132
139
|
* Find the scope for the specified component
|
|
133
140
|
*/
|
|
134
141
|
getComponentScope(componentName: string): XmlScope;
|
|
142
|
+
/**
|
|
143
|
+
* Update internal maps with this file reference
|
|
144
|
+
*/
|
|
145
|
+
private assignFile;
|
|
146
|
+
/**
|
|
147
|
+
* Remove this file from internal maps
|
|
148
|
+
*/
|
|
149
|
+
private unassignFile;
|
|
135
150
|
/**
|
|
136
151
|
* Load a file into the program. If that file already exists, it is replaced.
|
|
137
152
|
* If file contents are provided, those are used, Otherwise, the file is loaded from the file system
|
|
138
|
-
* @param
|
|
153
|
+
* @param srcDestOrPkgPath the absolute path, or the pkg path (i.e. `pkg:/path/to/file.brs`) or the destPath (i.e. `path/to/file.brs` relative to `pkg:/`)
|
|
139
154
|
* @param fileContents the file contents
|
|
140
155
|
*/
|
|
141
|
-
|
|
156
|
+
setFile<T extends BscFile>(srcDestOrPkgPath: string, fileContents: string): T;
|
|
142
157
|
/**
|
|
143
158
|
* Load a file into the program. If that file already exists, it is replaced.
|
|
144
159
|
* @param fileEntry an object that specifies src and dest for the file.
|
|
145
160
|
* @param fileContents the file contents. If not provided, the file will be loaded from disk
|
|
146
161
|
*/
|
|
147
|
-
|
|
162
|
+
setFile<T extends BscFile>(fileEntry: FileObj, fileContents: string): T;
|
|
148
163
|
/**
|
|
149
164
|
* Ensure source scope is created.
|
|
150
165
|
* Note: automatically called internally, and no-op if it exists already.
|
|
151
166
|
*/
|
|
152
167
|
createSourceScope(): void;
|
|
153
|
-
/**
|
|
154
|
-
* Find the file by its absolute path. This is case INSENSITIVE, since
|
|
155
|
-
* Roku is a case insensitive file system. It is an error to have multiple files
|
|
156
|
-
* with the same path with only case being different.
|
|
157
|
-
* @param pathAbsolute
|
|
158
|
-
*/
|
|
159
|
-
getFileByPathAbsolute<T extends BrsFile | XmlFile>(pathAbsolute: string): T;
|
|
160
|
-
/**
|
|
161
|
-
* Get a list of files for the given (platform-normalized) pkgPath array.
|
|
162
|
-
* Missing files are just ignored.
|
|
163
|
-
*/
|
|
164
|
-
getFilesByPkgPaths<T extends BscFile[]>(pkgPaths: string[]): T;
|
|
165
|
-
/**
|
|
166
|
-
* Get a file with the specified (platform-normalized) pkg path.
|
|
167
|
-
* If not found, return undefined
|
|
168
|
-
*/
|
|
169
|
-
getFileByPkgPath<T extends BscFile>(pkgPath: string): T;
|
|
170
168
|
/**
|
|
171
169
|
* Remove a set of files from the program
|
|
172
|
-
* @param
|
|
170
|
+
* @param srcPaths
|
|
173
171
|
*/
|
|
174
|
-
removeFiles(
|
|
172
|
+
removeFiles(srcPaths: string[]): void;
|
|
175
173
|
/**
|
|
176
174
|
* Remove a file from the program
|
|
177
|
-
* @param
|
|
175
|
+
* @param filePath can be a srcPath, a pkgPath, or a destPath (same as pkgPath but without `pkg:/`)
|
|
176
|
+
* @param normalizePath should this function repair and standardize the path? Passing false should have a performance boost if you can guarantee your path is already sanitized
|
|
177
|
+
|
|
178
|
+
*/
|
|
179
|
+
removeFile(filePath: string, normalizePath?: boolean): void;
|
|
180
|
+
/**
|
|
181
|
+
* Remove all files from the program that are in the specified folder path (recursive)
|
|
182
|
+
* @param folderSrcPath The absolute path to the folder on disk
|
|
183
|
+
* @param normalizePath should the provided path be normalized before use?
|
|
178
184
|
*/
|
|
179
|
-
|
|
185
|
+
removeFilesInFolder(folderSrcPath: string, normalizePath?: boolean): void;
|
|
180
186
|
/**
|
|
181
187
|
* Traverse the entire project, and validate all scopes
|
|
182
188
|
* @param force - if true, then all scopes are force to validate, even if they aren't marked as dirty
|
|
@@ -187,14 +193,15 @@ export declare class Program {
|
|
|
187
193
|
*/
|
|
188
194
|
private detectDuplicateComponentNames;
|
|
189
195
|
/**
|
|
190
|
-
* Determine
|
|
196
|
+
* Determine at least one scope has the file
|
|
191
197
|
*/
|
|
192
198
|
private fileIsIncludedInAnyScope;
|
|
193
199
|
/**
|
|
194
200
|
* Get the file at the given path
|
|
195
|
-
* @param
|
|
201
|
+
* @param filePath can be a srcPath, a pkgPath, or a destPath (same as pkgPath but without `pkg:/`)
|
|
202
|
+
* @param normalizePath should this function repair and standardize the path? Passing false should have a performance boost if you can guarantee your path is already sanitized
|
|
196
203
|
*/
|
|
197
|
-
|
|
204
|
+
getFile<T extends BscFile>(filePath: string, normalizePath?: boolean): T;
|
|
198
205
|
/**
|
|
199
206
|
* Get a list of all scopes the file is loaded into
|
|
200
207
|
* @param file
|
|
@@ -204,25 +211,30 @@ export declare class Program {
|
|
|
204
211
|
getStatementsForXmlFile(scope: XmlScope, filterName?: string): FileLink<FunctionStatement>[];
|
|
205
212
|
/**
|
|
206
213
|
* Find all available completion items at the given position
|
|
207
|
-
* @param
|
|
214
|
+
* @param srcPath The absolute path to the source file on disk
|
|
208
215
|
* @param lineIndex
|
|
209
216
|
* @param columnIndex
|
|
210
217
|
*/
|
|
211
|
-
getCompletions(
|
|
218
|
+
getCompletions(srcPath: string, position: Position): CompletionItem[];
|
|
212
219
|
/**
|
|
213
220
|
* Goes through each file and builds a list of workspace symbols for the program. Used by LanguageServer's onWorkspaceSymbol functionality
|
|
214
221
|
*/
|
|
215
|
-
getWorkspaceSymbols():
|
|
222
|
+
getWorkspaceSymbols(): SymbolInformation[];
|
|
216
223
|
/**
|
|
217
224
|
* Given a position in a file, if the position is sitting on some type of identifier,
|
|
218
225
|
* go to the definition of that identifier (where this thing was first defined)
|
|
226
|
+
* @param srcPath The absolute path to the source file on disk
|
|
227
|
+
*/
|
|
228
|
+
getDefinition(srcPath: string, position: Position): Location[];
|
|
229
|
+
/**
|
|
230
|
+
* @param srcPath The absolute path to the source file on disk
|
|
219
231
|
*/
|
|
220
|
-
|
|
221
|
-
getHover(pathAbsolute: string, position: Position): Promise<import("vscode-languageserver-types").Hover>;
|
|
232
|
+
getHover(srcPath: string, position: Position): Promise<import("vscode-languageserver-types").Hover>;
|
|
222
233
|
/**
|
|
223
234
|
* Compute code actions for the given file and range
|
|
235
|
+
* @param srcPath The absolute path to the source file on disk
|
|
224
236
|
*/
|
|
225
|
-
getCodeActions(
|
|
237
|
+
getCodeActions(srcPath: string, range: Range): CodeAction[];
|
|
226
238
|
/**
|
|
227
239
|
* Get semantic tokens for the specified file
|
|
228
240
|
*/
|
|
@@ -230,7 +242,10 @@ export declare class Program {
|
|
|
230
242
|
getSignatureHelp(filepath: string, position: Position): SignatureInfoObj[];
|
|
231
243
|
private getPartialStatementInfo;
|
|
232
244
|
private getPartialItemCounts;
|
|
233
|
-
|
|
245
|
+
/**
|
|
246
|
+
* @param srcPath The absolute path to the source file on disk
|
|
247
|
+
*/
|
|
248
|
+
getReferences(srcPath: string, position: Position): Location[] | Promise<Location[]>;
|
|
234
249
|
/**
|
|
235
250
|
* Get a list of all script imports, relative to the specified pkgPath
|
|
236
251
|
* @param sourcePkgPath - the pkgPath of the source that wants to resolve script imports.
|
|
@@ -239,9 +254,10 @@ export declare class Program {
|
|
|
239
254
|
/**
|
|
240
255
|
* Transpile a single file and get the result as a string.
|
|
241
256
|
* This does not write anything to the file system.
|
|
257
|
+
* @param srcPath The absolute path to the source file on disk
|
|
242
258
|
*/
|
|
243
|
-
getTranspiledFileContents(
|
|
244
|
-
|
|
259
|
+
getTranspiledFileContents(srcPath: string): {
|
|
260
|
+
srcPath: string;
|
|
245
261
|
pkgPath: string;
|
|
246
262
|
code: string;
|
|
247
263
|
map: import("source-map").SourceMapGenerator;
|