@aws/lsp-codewhisperer 0.0.65 → 0.0.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +5 -0
  3. package/out/language-server/agenticChat/agenticChatController.d.ts +9 -2
  4. package/out/language-server/agenticChat/agenticChatController.js +512 -136
  5. package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
  6. package/out/language-server/agenticChat/constants/constants.d.ts +17 -0
  7. package/out/language-server/agenticChat/constants/constants.js +79 -1
  8. package/out/language-server/agenticChat/constants/constants.js.map +1 -1
  9. package/out/language-server/agenticChat/constants/toolConstants.d.ts +24 -0
  10. package/out/language-server/agenticChat/constants/toolConstants.js +35 -0
  11. package/out/language-server/agenticChat/constants/toolConstants.js.map +1 -0
  12. package/out/language-server/agenticChat/context/additionalContextProvider.d.ts +9 -1
  13. package/out/language-server/agenticChat/context/additionalContextProvider.js +92 -34
  14. package/out/language-server/agenticChat/context/additionalContextProvider.js.map +1 -1
  15. package/out/language-server/agenticChat/context/agenticChatTriggerContext.d.ts +11 -2
  16. package/out/language-server/agenticChat/context/agenticChatTriggerContext.js +36 -2
  17. package/out/language-server/agenticChat/context/agenticChatTriggerContext.js.map +1 -1
  18. package/out/language-server/agenticChat/context/contextCommandsProvider.js +1 -1
  19. package/out/language-server/agenticChat/context/contextCommandsProvider.js.map +1 -1
  20. package/out/language-server/agenticChat/context/contextUtils.d.ts +16 -0
  21. package/out/language-server/agenticChat/context/contextUtils.js +29 -0
  22. package/out/language-server/agenticChat/context/contextUtils.js.map +1 -1
  23. package/out/language-server/agenticChat/qAgenticChatServer.d.ts +2 -0
  24. package/out/language-server/agenticChat/qAgenticChatServer.js +18 -2
  25. package/out/language-server/agenticChat/qAgenticChatServer.js.map +1 -1
  26. package/out/language-server/agenticChat/tools/chatDb/chatDb.d.ts +11 -3
  27. package/out/language-server/agenticChat/tools/chatDb/chatDb.js +115 -31
  28. package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
  29. package/out/language-server/agenticChat/tools/chatDb/util.d.ts +15 -1
  30. package/out/language-server/agenticChat/tools/chatDb/util.js +17 -0
  31. package/out/language-server/agenticChat/tools/chatDb/util.js.map +1 -1
  32. package/out/language-server/agenticChat/tools/executeBash.d.ts +0 -11
  33. package/out/language-server/agenticChat/tools/executeBash.js +16 -35
  34. package/out/language-server/agenticChat/tools/executeBash.js.map +1 -1
  35. package/out/language-server/agenticChat/tools/grepSearch.js +3 -1
  36. package/out/language-server/agenticChat/tools/grepSearch.js.map +1 -1
  37. package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js +208 -170
  38. package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js.map +1 -1
  39. package/out/language-server/agenticChat/tools/mcp/mcpManager.d.ts +12 -18
  40. package/out/language-server/agenticChat/tools/mcp/mcpManager.js +353 -216
  41. package/out/language-server/agenticChat/tools/mcp/mcpManager.js.map +1 -1
  42. package/out/language-server/agenticChat/tools/mcp/mcpTypes.d.ts +29 -0
  43. package/out/language-server/agenticChat/tools/mcp/mcpTypes.js +60 -1
  44. package/out/language-server/agenticChat/tools/mcp/mcpTypes.js.map +1 -1
  45. package/out/language-server/agenticChat/tools/mcp/mcpUtils.d.ts +27 -4
  46. package/out/language-server/agenticChat/tools/mcp/mcpUtils.js +464 -2
  47. package/out/language-server/agenticChat/tools/mcp/mcpUtils.js.map +1 -1
  48. package/out/language-server/agenticChat/tools/toolServer.js +8 -10
  49. package/out/language-server/agenticChat/tools/toolServer.js.map +1 -1
  50. package/out/language-server/agenticChat/tools/toolShared.js +6 -2
  51. package/out/language-server/agenticChat/tools/toolShared.js.map +1 -1
  52. package/out/language-server/chat/chatController.d.ts +1 -1
  53. package/out/language-server/chat/chatController.js.map +1 -1
  54. package/out/language-server/chat/chatSessionService.d.ts +1 -0
  55. package/out/language-server/chat/chatSessionService.js +5 -2
  56. package/out/language-server/chat/chatSessionService.js.map +1 -1
  57. package/out/language-server/chat/contexts/triggerContext.js +11 -2
  58. package/out/language-server/chat/contexts/triggerContext.js.map +1 -1
  59. package/out/language-server/chat/quickActions.d.ts +7 -1
  60. package/out/language-server/chat/quickActions.js +7 -1
  61. package/out/language-server/chat/quickActions.js.map +1 -1
  62. package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +1 -0
  63. package/out/language-server/chat/telemetry/chatTelemetryController.js +9 -0
  64. package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
  65. package/out/language-server/configuration/qConfigurationServer.d.ts +2 -0
  66. package/out/language-server/configuration/qConfigurationServer.js.map +1 -1
  67. package/out/language-server/inline-completion/auto-trigger/autoTrigger.d.ts +3 -0
  68. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js +105 -1
  69. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js.map +1 -1
  70. package/out/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.js +6 -1
  71. package/out/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.js.map +1 -1
  72. package/out/language-server/inline-completion/auto-trigger/editPredictionConfig.d.ts +1 -0
  73. package/out/language-server/inline-completion/auto-trigger/editPredictionConfig.js +1 -0
  74. package/out/language-server/inline-completion/auto-trigger/editPredictionConfig.js.map +1 -1
  75. package/out/language-server/inline-completion/codeWhispererServer.js +53 -52
  76. package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
  77. package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.d.ts +4 -1
  78. package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js +36 -2
  79. package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js.map +1 -1
  80. package/out/language-server/workspaceContext/dependency/dependencyEventBundler.d.ts +11 -5
  81. package/out/language-server/workspaceContext/dependency/dependencyEventBundler.js +37 -10
  82. package/out/language-server/workspaceContext/dependency/dependencyEventBundler.js.map +1 -1
  83. package/out/language-server/workspaceContext/dependency/dependencyHandler/JSTSDependencyHandler.d.ts +1 -1
  84. package/out/language-server/workspaceContext/dependency/dependencyHandler/JSTSDependencyHandler.js +8 -3
  85. package/out/language-server/workspaceContext/dependency/dependencyHandler/JSTSDependencyHandler.js.map +1 -1
  86. package/out/language-server/workspaceContext/dependency/dependencyHandler/JavaDependencyHandler.js +3 -4
  87. package/out/language-server/workspaceContext/dependency/dependencyHandler/JavaDependencyHandler.js.map +1 -1
  88. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.d.ts +4 -3
  89. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.js +5 -9
  90. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.js.map +1 -1
  91. package/out/language-server/workspaceContext/dependency/dependencyHandler/PythonDependencyHandler.js +3 -4
  92. package/out/language-server/workspaceContext/dependency/dependencyHandler/PythonDependencyHandler.js.map +1 -1
  93. package/out/language-server/workspaceContext/workspaceContextServer.js +12 -8
  94. package/out/language-server/workspaceContext/workspaceContextServer.js.map +1 -1
  95. package/out/shared/activeUserTracker.d.ts +52 -0
  96. package/out/shared/activeUserTracker.js +164 -0
  97. package/out/shared/activeUserTracker.js.map +1 -0
  98. package/out/shared/amazonQServiceManager/configurationUtils.d.ts +4 -0
  99. package/out/shared/amazonQServiceManager/configurationUtils.js +6 -0
  100. package/out/shared/amazonQServiceManager/configurationUtils.js.map +1 -1
  101. package/out/shared/codeWhispererService.js +3 -1
  102. package/out/shared/codeWhispererService.js.map +1 -1
  103. package/out/shared/streamingClientService.js +12 -1
  104. package/out/shared/streamingClientService.js.map +1 -1
  105. package/out/shared/telemetry/telemetryService.js +1 -2
  106. package/out/shared/telemetry/telemetryService.js.map +1 -1
  107. package/out/shared/telemetry/types.d.ts +7 -1
  108. package/out/shared/telemetry/types.js +1 -0
  109. package/out/shared/telemetry/types.js.map +1 -1
  110. package/out/shared/utils.d.ts +1 -7
  111. package/out/shared/utils.js +39 -36
  112. package/out/shared/utils.js.map +1 -1
  113. package/package.json +7 -6
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.autoTrigger = exports.triggerType = void 0;
3
+ exports.autoTrigger = exports.getAutoTriggerType = exports.triggerType = void 0;
4
+ exports.getNormalizeOsName = getNormalizeOsName;
5
+ const os = require("os");
4
6
  const typedCoefficients = require("./coefficients.json");
5
7
  /**
6
8
  * Add a string indexer to each category coefficient so we can accept string inputs
@@ -43,6 +45,108 @@ const triggerType = (fileContext) => {
43
45
  return 'Classifier';
44
46
  };
45
47
  exports.triggerType = triggerType;
48
+ // Enter key should always start with ONE '\n' or '\r\n' and potentially following spaces due to IDE reformat
49
+ function isEnterKey(str) {
50
+ if (str.length === 0) {
51
+ return false;
52
+ }
53
+ return ((str.startsWith('\r\n') && str.substring(2).trim() === '') ||
54
+ (str[0] === '\n' && str.substring(1).trim() === ''));
55
+ }
56
+ function isSingleLine(str) {
57
+ let newLineCounts = 0;
58
+ for (const ch of str) {
59
+ if (ch === '\n') {
60
+ newLineCounts += 1;
61
+ }
62
+ }
63
+ // since pressing Enter key possibly will generate string like '\n ' due to indention
64
+ if (isEnterKey(str)) {
65
+ return true;
66
+ }
67
+ if (newLineCounts >= 1) {
68
+ return false;
69
+ }
70
+ return true;
71
+ }
72
+ function isUserTypingSpecialChar(str) {
73
+ return ['(', '()', '[', '[]', '{', '{}', ':'].includes(str);
74
+ }
75
+ function isTabKey(str) {
76
+ const tabSize = 4; // TODO: Use IDE real tab size
77
+ if (str.length % tabSize === 0 && str.trim() === '') {
78
+ return true;
79
+ }
80
+ return false;
81
+ }
82
+ // Reference: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/keyStrokeHandler.ts#L222
83
+ // Enter, Special character guarantees a trigger
84
+ // Regular keystroke input will be evaluated by classifier
85
+ const getAutoTriggerType = (contentChanges) => {
86
+ if (contentChanges.length !== 1) {
87
+ // Won't trigger cwspr on multi-line changes
88
+ // event.contentChanges.length will be 2 when user press Enter key multiple times
89
+ return undefined;
90
+ }
91
+ const changedText = contentChanges[0].text;
92
+ if (isSingleLine(changedText)) {
93
+ if (changedText.length === 0) {
94
+ return undefined;
95
+ }
96
+ else if (isEnterKey(changedText)) {
97
+ return 'Enter';
98
+ }
99
+ else if (isTabKey(changedText)) {
100
+ return undefined;
101
+ }
102
+ else if (isUserTypingSpecialChar(changedText)) {
103
+ return 'SpecialCharacters';
104
+ }
105
+ else if (changedText.length === 1) {
106
+ return 'Classifier';
107
+ }
108
+ else if (new RegExp('^[ ]+$').test(changedText)) {
109
+ // single line && single place reformat should consist of space chars only
110
+ return undefined;
111
+ }
112
+ }
113
+ return undefined;
114
+ };
115
+ exports.getAutoTriggerType = getAutoTriggerType;
116
+ // reference: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/classifierTrigger.ts#L579
117
+ function getNormalizeOsName() {
118
+ const name = os.platform();
119
+ const version = os.version();
120
+ const lowercaseName = name.toLowerCase();
121
+ if (lowercaseName.includes('windows')) {
122
+ if (!version) {
123
+ return 'Windows';
124
+ }
125
+ else if (version.includes('Windows NT 10') || version.startsWith('10')) {
126
+ return 'Windows 10';
127
+ }
128
+ else if (version.includes('6.1')) {
129
+ return 'Windows 7';
130
+ }
131
+ else if (version.includes('6.3')) {
132
+ return 'Windows 8.1';
133
+ }
134
+ else {
135
+ return 'Windows';
136
+ }
137
+ }
138
+ else if (lowercaseName.includes('macos') ||
139
+ lowercaseName.includes('mac os') ||
140
+ lowercaseName.includes('darwin')) {
141
+ return 'Mac OS X';
142
+ }
143
+ else if (lowercaseName.includes('linux')) {
144
+ return 'Linux';
145
+ }
146
+ else {
147
+ return name;
148
+ }
149
+ }
46
150
  // Normalize values based on minn and maxx values in the coefficients.
47
151
  const normalize = (val, field) => (val - typedCoefficients.minn[field]) / (typedCoefficients.maxx[field] - typedCoefficients.minn[field]);
48
152
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"autoTrigger.js","sourceRoot":"","sources":["../../../../src/language-server/inline-completion/auto-trigger/autoTrigger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoTrigger.js","sourceRoot":"","sources":["../../../../src/language-server/inline-completion/auto-trigger/autoTrigger.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,12 @@ const editPredictionAutoTrigger = ({ fileContext, lineNum, char, previousDecisio
21
21
  // [condition 1] Recent Edit Detection
22
22
  const hasRecentEdit = recentEdits?.hasRecentEditInLine(fileContext.fileUri, lineNum, config.recentEditThresholdMs, config.editAdjacentLineRange);
23
23
  // [condition 2] Non-empty content in one of the lines following the current line
24
- const hasNonEmptySuffix = rightContextLines.length > 1 && rightContextLines[1].trim().length > 0;
24
+ let hasNonEmptySuffix = false;
25
+ const maxLinesToScanForContent = Math.min(rightContextLines.length, config.maxLinesToScanForContent + 1);
26
+ if (maxLinesToScanForContent > 0) {
27
+ const linesToScanForContent = rightContextLines.slice(1, maxLinesToScanForContent);
28
+ hasNonEmptySuffix = linesToScanForContent.some(line => line.trim().length > 0);
29
+ }
25
30
  const shouldTrigger = hasRecentEdit && hasNonEmptySuffix;
26
31
  return { shouldTrigger };
27
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"editPredictionAutoTrigger.js","sourceRoot":"","sources":["../../../../src/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAOH,iEAAoE;AAcpE;;;;;;GAMG;AACI,MAAM,yBAAyB,GAAG,CAAC,EACtC,WAAW,EACX,OAAO,EACP,IAAI,EACJ,gBAAgB,EAChB,aAAa,EACb,WAAW,GACmB,EAEhC,EAAE;IACA,oBAAoB;IACpB,MAAM,MAAM,GAAG,kDAA2B,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAA;IAEpE,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAErE,sCAAsC;IACtC,MAAM,aAAa,GAAG,WAAW,EAAE,mBAAmB,CAClD,WAAW,CAAC,OAAO,EACnB,OAAO,EACP,MAAM,CAAC,qBAAqB,EAC5B,MAAM,CAAC,qBAAqB,CAC/B,CAAA;IAED,iFAAiF;IACjF,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;IAEhG,MAAM,aAAa,GAAG,aAAa,IAAI,iBAAiB,CAAA;IAExD,OAAO,EAAE,aAAa,EAAE,CAAA;AAC5B,CAAC,CAAA;AA9BY,QAAA,yBAAyB,6BA8BrC"}
1
+ {"version":3,"file":"editPredictionAutoTrigger.js","sourceRoot":"","sources":["../../../../src/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAOH,iEAAoE;AAcpE;;;;;;GAMG;AACI,MAAM,yBAAyB,GAAG,CAAC,EACtC,WAAW,EACX,OAAO,EACP,IAAI,EACJ,gBAAgB,EAChB,aAAa,EACb,WAAW,GACmB,EAEhC,EAAE;IACA,oBAAoB;IACpB,MAAM,MAAM,GAAG,kDAA2B,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAA;IAEpE,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAErE,sCAAsC;IACtC,MAAM,aAAa,GAAG,WAAW,EAAE,mBAAmB,CAClD,WAAW,CAAC,OAAO,EACnB,OAAO,EACP,MAAM,CAAC,qBAAqB,EAC5B,MAAM,CAAC,qBAAqB,CAC/B,CAAA;IAED,iFAAiF;IACjF,IAAI,iBAAiB,GAAG,KAAK,CAAA;IAC7B,MAAM,wBAAwB,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAA;IACxG,IAAI,wBAAwB,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAA;QAClF,iBAAiB,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAClF,CAAC;IAED,MAAM,aAAa,GAAG,aAAa,IAAI,iBAAiB,CAAA;IAExD,OAAO,EAAE,aAAa,EAAE,CAAA;AAC5B,CAAC,CAAA;AAnCY,QAAA,yBAAyB,6BAmCrC"}
@@ -12,6 +12,7 @@ export interface EditPredictionConfig {
12
12
  cursorUpdateIntervalMs: number;
13
13
  editHistoryDurationMs: number;
14
14
  editAdjacentLineRange: number;
15
+ maxLinesToScanForContent: number;
15
16
  enableLanguageKeywordTrigger: boolean;
16
17
  enableOperatorDelimiterTrigger: boolean;
17
18
  enableUserPauseTrigger: boolean;
@@ -15,6 +15,7 @@ exports.DEFAULT_EDIT_PREDICTION_CONFIG = {
15
15
  cursorUpdateIntervalMs: 250, // 250 milliseconds
16
16
  editHistoryDurationMs: 300000, // 5 minutes
17
17
  editAdjacentLineRange: 3,
18
+ maxLinesToScanForContent: 3,
18
19
  enableLanguageKeywordTrigger: true,
19
20
  enableOperatorDelimiterTrigger: true,
20
21
  enableUserPauseTrigger: true,
@@ -1 +1 @@
1
- {"version":3,"file":"editPredictionConfig.js","sourceRoot":"","sources":["../../../../src/language-server/inline-completion/auto-trigger/editPredictionConfig.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAyBH;;GAEG;AACU,QAAA,8BAA8B,GAAyB;IAChE,qBAAqB,EAAE,KAAK,EAAE,aAAa;IAC3C,oBAAoB,EAAE,KAAK,EAAE,aAAa;IAC1C,0BAA0B,EAAE,KAAK,EAAE,aAAa;IAChD,sBAAsB,EAAE,GAAG,EAAE,mBAAmB;IAChD,qBAAqB,EAAE,MAAM,EAAE,YAAY;IAC3C,qBAAqB,EAAE,CAAC;IACxB,4BAA4B,EAAE,IAAI;IAClC,8BAA8B,EAAE,IAAI;IACpC,sBAAsB,EAAE,IAAI;IAC5B,0BAA0B,EAAE,IAAI;CACnC,CAAA;AAED;;GAEG;AACH,MAAa,2BAA2B;IAC5B,MAAM,CAAC,QAAQ,CAA6B;IAC5C,MAAM,CAAsB;IAEpC;QACI,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,sCAA8B,EAAE,CAAA;IACvD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,CAAC;YACxC,2BAA2B,CAAC,QAAQ,GAAG,IAAI,2BAA2B,EAAE,CAAA;QAC5E,CAAC;QACD,OAAO,2BAA2B,CAAC,QAAQ,CAAA;IAC/C,CAAC;IAED;;OAEG;IACI,SAAS;QACZ,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC7B,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,OAAsC;QACtD,IAAI,CAAC,MAAM,GAAG;YACV,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,OAAO;SACb,CAAA;IACL,CAAC;IAED;;OAEG;IACI,eAAe;QAClB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,sCAA8B,EAAE,CAAA;IACvD,CAAC;CACJ;AA3CD,kEA2CC"}
1
+ {"version":3,"file":"editPredictionConfig.js","sourceRoot":"","sources":["../../../../src/language-server/inline-completion/auto-trigger/editPredictionConfig.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA0BH;;GAEG;AACU,QAAA,8BAA8B,GAAyB;IAChE,qBAAqB,EAAE,KAAK,EAAE,aAAa;IAC3C,oBAAoB,EAAE,KAAK,EAAE,aAAa;IAC1C,0BAA0B,EAAE,KAAK,EAAE,aAAa;IAChD,sBAAsB,EAAE,GAAG,EAAE,mBAAmB;IAChD,qBAAqB,EAAE,MAAM,EAAE,YAAY;IAC3C,qBAAqB,EAAE,CAAC;IACxB,wBAAwB,EAAE,CAAC;IAC3B,4BAA4B,EAAE,IAAI;IAClC,8BAA8B,EAAE,IAAI;IACpC,sBAAsB,EAAE,IAAI;IAC5B,0BAA0B,EAAE,IAAI;CACnC,CAAA;AAED;;GAEG;AACH,MAAa,2BAA2B;IAC5B,MAAM,CAAC,QAAQ,CAA6B;IAC5C,MAAM,CAAsB;IAEpC;QACI,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,sCAA8B,EAAE,CAAA;IACvD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,CAAC;YACxC,2BAA2B,CAAC,QAAQ,GAAG,IAAI,2BAA2B,EAAE,CAAA;QAC5E,CAAC;QACD,OAAO,2BAA2B,CAAC,QAAQ,CAAA;IAC/C,CAAC;IAED;;OAEG;IACI,SAAS;QACZ,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC7B,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,OAAsC;QACtD,IAAI,CAAC,MAAM,GAAG;YACV,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,OAAO;SACb,CAAA;IACL,CAAC;IAED;;OAEG;IACI,eAAe;QAClB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,sCAA8B,EAAE,CAAA;IACvD,CAAC;CACJ;AA3CD,kEA2CC"}
@@ -185,8 +185,6 @@ const mergeSuggestionsWithRightContext = (rightFileContext, suggestions, include
185
185
  const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, lsp, workspace, telemetry, logging, runtime, sdkInitializator }) => {
186
186
  let lastUserModificationTime;
187
187
  let timeSinceLastUserModification = 0;
188
- // Threshold to avoid getting the same suggestion type due to unexpected issue
189
- const timeSinceCloseTimeEditStreakThreshold = 2000;
190
188
  const sessionManager = sessionManager_1.SessionManager.getInstance();
191
189
  // AmazonQTokenServiceManager and TelemetryService are initialized in `onInitialized` handler to make sure Language Server connection is started
192
190
  let amazonQServiceManager;
@@ -276,25 +274,38 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
276
274
  const workspaceId = workspaceState?.webSocketClient?.isConnected()
277
275
  ? workspaceState.workspaceId
278
276
  : undefined;
279
- // TODO: Can we get this derived from a keyboard event in the future?
280
- // This picks the last non-whitespace character, if any, before the cursor
281
- const triggerCharacter = fileContext.leftFileContent.trim().at(-1) ?? '';
282
- const codewhispererAutoTriggerType = (0, autoTrigger_1.triggerType)(fileContext);
277
+ let triggerCharacters = '';
278
+ let codewhispererAutoTriggerType = undefined;
279
+ // Reference: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/classifierTrigger.ts#L477
280
+ if (params.documentChangeParams?.contentChanges &&
281
+ params.documentChangeParams.contentChanges.length > 0 &&
282
+ params.documentChangeParams.contentChanges[0].text !== undefined) {
283
+ triggerCharacters = params.documentChangeParams.contentChanges[0].text;
284
+ codewhispererAutoTriggerType = (0, autoTrigger_1.getAutoTriggerType)(params.documentChangeParams.contentChanges);
285
+ }
286
+ else {
287
+ // if the client does not emit document change for the trigger, use left most character.
288
+ triggerCharacters = fileContext.leftFileContent.trim().at(-1) ?? '';
289
+ codewhispererAutoTriggerType = (0, autoTrigger_1.triggerType)(fileContext);
290
+ }
283
291
  const previousSession = sessionManager.getPreviousSession();
284
292
  const previousDecision = previousSession?.getAggregatedUserTriggerDecision() ?? '';
285
- const previousSuggestionType = previousSession?.suggestionType ?? '';
286
- const previousCloseTime = previousSession?.closeTime;
287
293
  let ideCategory = '';
288
294
  const initializeParams = lsp.getClientInitializeParams();
289
295
  if (initializeParams !== undefined) {
290
296
  ideCategory = (0, telemetryUtils_1.getIdeCategory)(initializeParams);
291
297
  }
298
+ // See: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/keyStrokeHandler.ts#L132
299
+ // In such cases, do not auto trigger.
300
+ if (codewhispererAutoTriggerType === undefined) {
301
+ return EMPTY_RESULT;
302
+ }
292
303
  const autoTriggerResult = (0, autoTrigger_1.autoTrigger)({
293
304
  fileContext, // The left/right file context and programming language
294
305
  lineNum: params.position.line, // the line number of the invocation, this is the line of the cursor
295
- char: triggerCharacter, // Add the character just inserted, if any, before the invication position
306
+ char: triggerCharacters, // Add the character just inserted, if any, before the invication position
296
307
  ide: ideCategory ?? '',
297
- os: '', // TODO: We should get this in a platform-agnostic way (i.e., compatible with the browser)
308
+ os: (0, autoTrigger_1.getNormalizeOsName)(),
298
309
  previousDecision, // The last decision by the user on the previous invocation
299
310
  triggerType: codewhispererAutoTriggerType, // The 2 trigger types currently influencing the Auto-Trigger are SpecialCharacter and Enter
300
311
  }, logging);
@@ -327,37 +338,29 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
327
338
  ];
328
339
  if (editsEnabled) {
329
340
  const predictionTypes = [];
330
- if (previousDecision === 'Accept' &&
331
- previousSuggestionType === codeWhispererService_1.SuggestionType.EDIT &&
332
- previousCloseTime &&
333
- new Date().getTime() - previousCloseTime < timeSinceCloseTimeEditStreakThreshold) {
334
- predictionTypes.push(['EDITS']);
341
+ /**
342
+ * Manual trigger - should always have 'Completions'
343
+ * Auto trigger
344
+ * - Classifier - should have 'Completions' when classifier evalualte to true given the editor's states
345
+ * - Others - should always have 'Completions'
346
+ */
347
+ if (!isAutomaticLspTriggerKind ||
348
+ (isAutomaticLspTriggerKind && codewhispererAutoTriggerType !== 'Classifier') ||
349
+ (isAutomaticLspTriggerKind &&
350
+ codewhispererAutoTriggerType === 'Classifier' &&
351
+ autoTriggerResult.shouldTrigger)) {
352
+ predictionTypes.push(['COMPLETIONS']);
335
353
  }
336
- else {
337
- /**
338
- * Manual trigger - should always have 'Completions'
339
- * Auto trigger
340
- * - Classifier - should have 'Completions' when classifier evalualte to true given the editor's states
341
- * - Others - should always have 'Completions'
342
- */
343
- if (!isAutomaticLspTriggerKind ||
344
- (isAutomaticLspTriggerKind && codewhispererAutoTriggerType !== 'Classifier') ||
345
- (isAutomaticLspTriggerKind &&
346
- codewhispererAutoTriggerType === 'Classifier' &&
347
- autoTriggerResult.shouldTrigger)) {
348
- predictionTypes.push(['COMPLETIONS']);
349
- }
350
- const editPredictionAutoTriggerResult = editPredictionAutoTrigger({
351
- fileContext: fileContext,
352
- lineNum: params.position.line,
353
- char: triggerCharacter,
354
- previousDecision: previousDecision,
355
- cursorHistory: cursorTracker,
356
- recentEdits: recentEditTracker,
357
- });
358
- if (editPredictionAutoTriggerResult.shouldTrigger) {
359
- predictionTypes.push(['EDITS']);
360
- }
354
+ const editPredictionAutoTriggerResult = editPredictionAutoTrigger({
355
+ fileContext: fileContext,
356
+ lineNum: params.position.line,
357
+ char: triggerCharacters,
358
+ previousDecision: previousDecision,
359
+ cursorHistory: cursorTracker,
360
+ recentEdits: recentEditTracker,
361
+ });
362
+ if (editPredictionAutoTriggerResult.shouldTrigger) {
363
+ predictionTypes.push(['EDITS']);
361
364
  }
362
365
  if (predictionTypes.length === 0) {
363
366
  return EMPTY_RESULT;
@@ -386,7 +389,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
386
389
  document: {
387
390
  relativeFilePath: textDocument.uri,
388
391
  programmingLanguage: {
389
- languageName: textDocument.languageId,
392
+ languageName: requestContext.fileContext.programmingLanguage.languageName,
390
393
  },
391
394
  text: textDocument.getText(),
392
395
  },
@@ -412,9 +415,8 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
412
415
  }
413
416
  // Emit user trigger decision at session close time for active session
414
417
  sessionManager.discardSession(currentSession);
415
- // TODO add streakLength back once the model is updated
416
- // const streakLength = editsEnabled ? sessionManager.getAndUpdateStreakLength(false) : 0
417
- await emitUserTriggerDecisionTelemetry(telemetry, telemetryService, currentSession, timeSinceLastUserModification, 0, 0, [], []);
418
+ const streakLength = editsEnabled ? sessionManager.getAndUpdateStreakLength(false) : 0;
419
+ await emitUserTriggerDecisionTelemetry(telemetry, telemetryService, currentSession, timeSinceLastUserModification, 0, 0, [], [], streakLength);
418
420
  }
419
421
  const supplementalMetadata = editsEnabled
420
422
  ? {
@@ -440,7 +442,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
440
442
  language: fileContext.programmingLanguage.languageName,
441
443
  requestContext: requestContext,
442
444
  autoTriggerType: isAutomaticLspTriggerKind ? codewhispererAutoTriggerType : undefined,
443
- triggerCharacter: triggerCharacter,
445
+ triggerCharacter: triggerCharacters,
444
446
  classifierResult: autoTriggerResult?.classifierResult,
445
447
  classifierThreshold: autoTriggerResult?.classifierThreshold,
446
448
  credentialStartUrl: credentialsProvider.getConnectionMetadata?.()?.sso?.startUrl ?? undefined,
@@ -501,12 +503,12 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
501
503
  if (session.discardInflightSessionOnNewInvocation) {
502
504
  session.discardInflightSessionOnNewInvocation = false;
503
505
  sessionManager.discardSession(session);
504
- // TODO add streakLength back once the model is updated
505
- // const streakLength = editsEnabled ? sessionManager.getAndUpdateStreakLength(false) : 0
506
- await emitUserTriggerDecisionTelemetry(telemetry, telemetryService, session, timeSinceLastUserModification);
506
+ const streakLength = editsEnabled ? sessionManager.getAndUpdateStreakLength(false) : 0;
507
+ await emitUserTriggerDecisionTelemetry(telemetry, telemetryService, session, timeSinceLastUserModification, 0, 0, [], [], streakLength);
507
508
  }
508
509
  // session was closed by user already made decisions consequent completion request before new paginated API response was received
509
- if (session.state === 'CLOSED' || session.state === 'DISCARD') {
510
+ if (session.suggestionType !== codeWhispererService_1.SuggestionType.EDIT && // TODO: this is a shorterm fix to allow Edits tabtabtab experience, however the real solution is to manage such sessions correctly
511
+ (session.state === 'CLOSED' || session.state === 'DISCARD')) {
510
512
  return EMPTY_RESULT;
511
513
  }
512
514
  // API response was recieved, we can activate session now
@@ -701,9 +703,8 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
701
703
  emitPerceivedLatencyTelemetry(telemetry, session);
702
704
  // Always emit user trigger decision at session close
703
705
  sessionManager.closeSession(session);
704
- // TODO add streakLength back once the model is updated
705
- // const streakLength = editsEnabled ? sessionManager.getAndUpdateStreakLength(isAccepted) : 0
706
- await emitUserTriggerDecisionTelemetry(telemetry, telemetryService, session, timeSinceLastUserModification, addedCharactersForEditSuggestion.length, deletedCharactersForEditSuggestion.length, addedDiagnostics, removedDiagnostics);
706
+ const streakLength = editsEnabled ? sessionManager.getAndUpdateStreakLength(isAccepted) : 0;
707
+ await emitUserTriggerDecisionTelemetry(telemetry, telemetryService, session, timeSinceLastUserModification, addedCharactersForEditSuggestion.length, deletedCharactersForEditSuggestion.length, addedDiagnostics, removedDiagnostics, streakLength);
707
708
  };
708
709
  const updateConfiguration = (updatedConfig) => {
709
710
  logging.debug('Updating configuration of inline complete server.');
@@ -1 +1 @@
1
- {"version":3,"file":"codeWhispererServer.js","sourceRoot":"","sources":["../../../src/language-server/inline-completion/codeWhispererServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeWhispererServer.js","sourceRoot":"","sources":["../../../src/language-server/inline-completion/codeWhispererServer.ts"],"names":[],"mappings":";;;AAAA,qFAiBuD;AAEvD,4DAA6G;AAC7G,4EAM0C;AAC1C,sEAAkH;AAClH,uDAAwG;AACxG,6DAA+E;AAC/E,qDAAwD;AAExD,8CAM2B;AAC3B,gEAAmF;AACnF,0GAAuG;AACvG,4CAAyC;AACzC,8EAA0E;AAC1E,uDAA4E;AAC5E,sEAIkD;AAKlD,8GAAiH;AAEjH,8CAAyD;AACzD,0GAA6G;AAC7G,uFAAmF;AACnF,6BAA6B;AAC7B,mDAA0D;AAC1D,gFAA4E;AAC5E,+DAA6F;AAC7F,2DAAuD;AACvD,uEAAyG;AACzG,2CAAqD;AACrD,MAAM,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,0CAA0C,CAAC,CAAA;AAEzF,MAAM,YAAY,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;AACpC,QAAA,oBAAoB,GAAG,IAAI,CAAA;AAC3B,QAAA,oBAAoB,GAAG,IAAI,CAAA;AAC3B,QAAA,wBAAwB,GAAG,KAAK,CAAA;AAE7C,qGAAqG;AACrG,MAAM,cAAc,GAAG,CAAC,MAKvB,EAQC,EAAE;IACA,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;QACrC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;QAChC,GAAG,EAAE,MAAM,CAAC,QAAQ;KACvB,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;QACtC,KAAK,EAAE,MAAM,CAAC,QAAQ;QACtB,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;KAC5E,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,eAAe;QAC3C,CAAC,CAAC,IAAA,sBAAe,EAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;QAClE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAE5C,OAAO;QACH,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,4BAAoB,CAAC;QACnE,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,4BAAoB,CAAC;QAC7D,mBAAmB,EAAE;YACjB,YAAY,EAAE,IAAA,sCAAkB,EAAC,MAAM,CAAC,kBAAkB,CAAC;SAC9D;QACD,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,KAAK;KAC1B,CAAA;AACL,CAAC,CAAA;AAED,MAAM,8BAA8B,GAAG,CAAC,SAAoB,EAAE,OAA6B,EAAE,SAAiB,EAAE,EAAE;IAC9G,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAA;IACzD,MAAM,IAAI,GAAwC;QAC9C,sBAAsB,EAAE,SAAS;QACjC,sBAAsB,EAAE,OAAO,CAAC,eAAe,EAAE,sBAAsB;QACvE,gCAAgC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAChE,2BAA2B,EACvB,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAiB,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1F,wBAAwB,EAAE,OAAO,CAAC,WAAW;QAC7C,iCAAiC,EAAE,OAAO,CAAC,eAAe;QAC1D,QAAQ;QACR,uBAAuB,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI;QACnD,yBAAyB,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS;QAC1D,qBAAqB,EAAE,OAAO,CAAC,QAAQ;QACvC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,uCAAuC,EAAE,OAAO,CAAC,oBAAoB,EAAE,gBAAgB;QACvF,qCAAqC,EAAE,OAAO,CAAC,oBAAoB,EAAE,KAAK;QAC1E,uCAAuC,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO;QAC9E,sCAAsC,EAAE,OAAO,CAAC,oBAAoB,EAAE,cAAc;QACpF,6BAA6B,EAAE,OAAO,CAAC,gBAAgB;QACvD,MAAM,EAAE,WAAW;QACnB,wCAAwC,EAAE,OAAO,CAAC,6BAA6B;KAClF,CAAA;IACD,SAAS,CAAC,UAAU,CAAC;QACjB,IAAI,EAAE,iCAAiC;QACvC,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE;YACF,GAAG,IAAI;YACP,wCAAwC,EAAE,OAAO,CAAC,6BAA6B;SAClF;KACJ,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,4BAA4B,GAAG,CAAC,SAAoB,EAAE,OAA6B,EAAE,KAAuB,EAAE,EAAE;IAClH,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAA;IACzD,MAAM,sBAAsB,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAE9E,MAAM,IAAI,GAAwC;QAC9C,sBAAsB,EAAE,sBAAsB;QAC9C,sBAAsB,EAAE,SAAS;QACjC,gCAAgC,EAAE,CAAC,CAAC;QACpC,wBAAwB,EAAE,OAAO,CAAC,WAAW;QAC7C,iCAAiC,EAAE,OAAO,CAAC,eAAe;QAC1D,MAAM,EAAE,uCAAuC,KAAK,CAAC,IAAI,IAAI,cAAc,EAAE;QAC7E,QAAQ;QACR,uBAAuB,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI;QACnD,yBAAyB,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS;QAC1D,qBAAqB,EAAE,OAAO,CAAC,QAAQ;QACvC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,uCAAuC,EAAE,OAAO,CAAC,oBAAoB,EAAE,gBAAgB;QACvF,qCAAqC,EAAE,OAAO,CAAC,oBAAoB,EAAE,KAAK;QAC1E,uCAAuC,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO;QAC9E,sCAAsC,EAAE,OAAO,CAAC,oBAAoB,EAAE,cAAc;QACpF,6BAA6B,EAAE,OAAO,CAAC,gBAAgB;QACvD,wCAAwC,EAAE,OAAO,CAAC,6BAA6B;QAC/E,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,QAAQ;KACpB,CAAA;IAED,SAAS,CAAC,UAAU,CAAC;QACjB,IAAI,EAAE,iCAAiC;QACvC,MAAM,EAAE,QAAQ;QAChB,IAAI;QACJ,SAAS,EAAE;YACP,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,cAAc;YACpC,SAAS,EAAE,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACrD,cAAc,EAAE,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SACnE;KACJ,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,6BAA6B,GAAG,CAAC,SAAoB,EAAE,OAA6B,EAAE,EAAE;IAC1F,MAAM,IAAI,GAAuC;QAC7C,sBAAsB,EAAE,OAAO,CAAC,eAAe,EAAE,SAAS;QAC1D,sBAAsB,EAAE,OAAO,CAAC,eAAe,EAAE,sBAAsB;QACvE,2BAA2B,EACvB,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAiB,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1F,wBAAwB,EAAE,OAAO,CAAC,WAAW;QAC7C,QAAQ,EAAE,OAAO,CAAC,6BAA6B;QAC/C,qBAAqB,EAAE,OAAO,CAAC,QAAQ;QACvC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,6BAA6B,EAAE,OAAO,CAAC,gBAAgB;QACvD,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,IAAI;KAChB,CAAA;IAED,SAAS,CAAC,UAAU,CAAC;QACjB,IAAI,EAAE,gCAAgC;QACtC,IAAI;KACP,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,gCAAgC,GAAG,KAAK,EAC1C,SAAoB,EACpB,gBAAkC,EAClC,OAA6B,EAC7B,6BAAsC,EACtC,gCAAyC,EACzC,kCAA2C,EAC3C,mBAAqC,EACrC,qBAAuC,EACvC,YAAqB,EACvB,EAAE;IACA,yDAAyD;IACzD,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QAC/B,OAAM;IACV,CAAC;IAED,8EAA8E;IAC9E,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC;QAC9C,OAAM;IACV,CAAC;IAED,MAAM,0CAA0C,CAC5C,gBAAgB,EAChB,OAAO,EACP,6BAA6B,EAC7B,gCAAgC,EAChC,kCAAkC,EAClC,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,CACf,CAAA;IAED,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAA;AACvC,CAAC,CAAA;AAED,MAAM,0CAA0C,GAAG,CAC/C,gBAAkC,EAClC,OAA6B,EAC7B,6BAAsC,EACtC,gCAAyC,EACzC,kCAA2C,EAC3C,mBAAqC,EACrC,qBAAuC,EACvC,YAAqB,EACvB,EAAE;IACA,OAAO,gBAAgB,CAAC,uBAAuB,CAC3C,OAAO,EACP,6BAA6B,EAC7B,gCAAgC,EAChC,kCAAkC,EAClC,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,CACf,CAAA;AACL,CAAC,CAAA;AAED,MAAM,gCAAgC,GAAG,CACrC,gBAAwB,EACxB,WAAyB,EACzB,6BAAsC,EACtC,KAAa,EACuB,EAAE;IACtC,OAAO,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;QAChC,MAAM,UAAU,GAAW,IAAA,iDAA+B,EAAC,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;QAChG,IAAI,UAAU,GAAG,UAAU,CAAC,UAAU;YAClC,EAAE,MAAM,CACJ,GAAG,CAAC,EAAE,CACF,CAAC,CACG,GAAG,CAAC,yBAAyB,EAAE,KAAK,IAAI,UAAU,CAAC,MAAM,IAAI,GAAG,CAAC,yBAAyB,CAAC,KAAK,CACnG,IAAI,UAAU,CAAC,MAAM,CAC7B;aACA,GAAG,CAAC,CAAC,CAAC,EAAE;YACL,OAAO;gBACH,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,GAAG;gBACnB,aAAa,EAAE,CAAC,CAAC,UAAU;gBAC3B,QAAQ,EAAE,CAAC,CAAC,yBAAyB,IAAI;oBACrC,cAAc,EAAE,CAAC,CAAC,yBAAyB,CAAC,KAAK;oBACjD,YAAY,EAAE,CAAC,CAAC,yBAAyB,CAAC,GAAG;wBACzC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;wBAClE,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG;iBACxC;aACJ,CAAA;QACL,CAAC,CAAC,CAAA;QAEN,OAAO;YACH,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,UAAU,EAAE,UAAU;YACtB,KAAK;YACL,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACvD,0BAA0B,EAAE,6BAA6B;gBACrD,CAAC,CAAC,UAAU,CAAC,0BAA0B;gBACvC,CAAC,CAAC,SAAS;SAClB,CAAA;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAYM,MAAM,0BAA0B,GACnC,CAAC,cAA+C,EAAU,EAAE,CAC5D,CAAC,EAAE,mBAAmB,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE;IACvF,IAAI,wBAAgC,CAAA;IACpC,IAAI,6BAA6B,GAAW,CAAC,CAAA;IAE7C,MAAM,cAAc,GAAG,+BAAc,CAAC,WAAW,EAAE,CAAA;IAEnD,gJAAgJ;IAChJ,IAAI,qBAAgD,CAAA;IACpD,IAAI,gBAAkC,CAAA;IAEtC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAwB,EAAE,EAAE;QAC5C,OAAO;YACH,YAAY,EAAE,EAAE;SACnB,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,0IAA0I;IAC1I,IAAI,qBAA4C,CAAA;IAChD,IAAI,sBAA0D,CAAA;IAC9D,IAAI,eAA+D,CAAA;IAEnE,qDAAqD;IACrD,MAAM,iBAAiB,GAAG,mCAAiB,CAAC,WAAW,CAAC,OAAO,EAAE,gDAA8B,CAAC,CAAA;IAChG,MAAM,aAAa,GAAG,6BAAa,CAAC,WAAW,EAAE,CAAA;IACjD,MAAM,mBAAmB,GAAG,yCAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,0DAAoC,CAAC,CAAA;IAC1G,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,qCAAqC,GAAG,KAAK,CAAA;IAEjD,MAAM,yBAAyB,GAAG,KAAK,EACnC,MAA4C,EAC5C,KAAwB,EACmB,EAAE;QAC7C,kDAAkD;QAClD,kEAAkE;QAClE,+EAA+E;QAC/E,qFAAqF;QACrF,oEAAoE;QACpE,IAAI,qCAAqC,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;YAChD,OAAO,YAAY,CAAA;QACvB,CAAC;QACD,qCAAqC,GAAG,IAAI,CAAA;QAE5C,IAAI,CAAC;YACD,kEAAkE;YAClE,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAA;YACzD,IAAI,cAAc,IAAI,cAAc,CAAC,KAAK,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBACvF,oFAAoF;gBACpF,cAAc,CAAC,qCAAqC,GAAG,IAAI,CAAA;YAC/D,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAChB,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YACzE,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;YAE7E,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,uBAAuB,EAAE,CAAA;YAC5E,IAAI,MAAM,CAAC,kBAAkB,IAAI,cAAc,EAAE,CAAC;gBAC9C,oDAAoD;gBACpD,IAAI,CAAC;oBACD,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,CAAC;wBACtE,GAAG,cAAc,CAAC,cAAc;wBAChC,WAAW,EAAE;4BACT,GAAG,cAAc,CAAC,cAAc,CAAC,WAAW;4BAC5C,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,eAAe;iCACrE,KAAK,CAAC,CAAC,gCAAwB,CAAC;iCAChC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;4BAC7B,gBAAgB,EAAE,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB;iCACvE,KAAK,CAAC,CAAC,EAAE,gCAAwB,CAAC;iCAClC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;yBAChC;wBACD,SAAS,EAAE,GAAG,MAAM,CAAC,kBAAkB,EAAE;qBAC5C,CAAC,CAAA;oBACF,OAAO,MAAM,yBAAyB,CAClC,kBAAkB,EAClB,cAAc,EACd,KAAK,EACL,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAC/C,CAAA;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,uBAAuB,CAAC,KAAc,EAAE,cAAc,CAAC,CAAA;gBAClE,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,0BAA0B;gBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,CAAA;oBAClE,OAAO,YAAY,CAAA;gBACvB,CAAC;gBAED,MAAM,kBAAkB,GAAG,IAAA,0CAAsB,EAAC,YAAY,CAAC,CAAA;gBAC/D,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CACP,iBAAiB,MAAM,CAAC,YAAY,CAAC,GAAG,sBAAsB,YAAY,CAAC,UAAU,iBAAiB,CACzG,CAAA;oBACD,OAAO,YAAY,CAAA;gBACvB,CAAC;gBAED,wBAAwB;gBACxB,MAAM,yBAAyB,GAC3B,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,8CAA2B,CAAC,SAAS,CAAA;gBACvE,MAAM,UAAU,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACpD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAA;gBACnE,MAAM,WAAW,GAAG,cAAc,CAAC;oBAC/B,YAAY;oBACZ,kBAAkB;oBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC;iBAClE,CAAC,CAAA;gBAEF,MAAM,cAAc,GAAG,+CAAsB,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,CAAA;gBAChF,MAAM,WAAW,GAAG,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE;oBAC9D,CAAC,CAAC,cAAc,CAAC,WAAW;oBAC5B,CAAC,CAAC,SAAS,CAAA;gBAEf,IAAI,iBAAiB,GAAG,EAAE,CAAA;gBAC1B,IAAI,4BAA4B,GAAG,SAAS,CAAA;gBAC5C,8IAA8I;gBAC9I,IACI,MAAM,CAAC,oBAAoB,EAAE,cAAc;oBAC3C,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;oBACrD,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EAClE,CAAC;oBACC,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;oBACtE,4BAA4B,GAAG,IAAA,gCAAkB,EAAC,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAA;gBACjG,CAAC;qBAAM,CAAC;oBACJ,wFAAwF;oBACxF,iBAAiB,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;oBACnE,4BAA4B,GAAG,IAAA,yBAAW,EAAC,WAAW,CAAC,CAAA;gBAC3D,CAAC;gBAED,MAAM,eAAe,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAA;gBAC3D,MAAM,gBAAgB,GAAG,eAAe,EAAE,gCAAgC,EAAE,IAAI,EAAE,CAAA;gBAClF,IAAI,WAAW,GAAuB,EAAE,CAAA;gBACxC,MAAM,gBAAgB,GAAG,GAAG,CAAC,yBAAyB,EAAE,CAAA;gBACxD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACjC,WAAW,GAAG,IAAA,+BAAc,EAAC,gBAAgB,CAAC,CAAA;gBAClD,CAAC;gBAED,uIAAuI;gBACvI,sCAAsC;gBACtC,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;oBAC7C,OAAO,YAAY,CAAA;gBACvB,CAAC;gBAED,MAAM,iBAAiB,GAAG,IAAA,yBAAW,EACjC;oBACI,WAAW,EAAE,uDAAuD;oBACpE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,oEAAoE;oBACnG,IAAI,EAAE,iBAAiB,EAAE,0EAA0E;oBACnG,GAAG,EAAE,WAAW,IAAI,EAAE;oBACtB,EAAE,EAAE,IAAA,gCAAkB,GAAE;oBACxB,gBAAgB,EAAE,2DAA2D;oBAC7E,WAAW,EAAE,4BAA4B,EAAE,4FAA4F;iBAC1I,EACD,OAAO,CACV,CAAA;gBAED,IACI,yBAAyB;oBACzB,4BAA4B,KAAK,YAAY;oBAC7C,CAAC,iBAAiB,CAAC,aAAa;oBAChC,CAAC,CAAC,YAAY,IAAI,oBAAoB,YAAY,gDAAyB,CAAC,CAAC,kHAAkH;kBACjM,CAAC;oBACC,OAAO,YAAY,CAAA;gBACvB,CAAC;gBAED,2DAA2D;gBAC3D,IAAI,4BAA4B,GAAG,SAAS,CAAA;gBAE5C,8DAA8D;gBAC9D,MAAM,0BAA0B,GAC5B,oBAAoB,YAAY,gDAAyB;oBACrD,CAAC,CAAC,IAAA,kDAAwB,EACpB,YAAY,EACZ,MAAM,CAAC,QAAQ,EACf,SAAS,EACT,OAAO,EACP,KAAK,EACL,qBAAqB,CACxB;oBACH,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;gBAEpC,IAAI,cAAc,GAA+B;oBAC7C,WAAW;oBACX,UAAU;iBACb,CAAA;gBAED,MAAM,mBAAmB,GAAG,MAAM,0BAA0B,CAAA;gBAC5D,gBAAgB;gBAChB,IAAI,oBAAoB,YAAY,gDAAyB,EAAE,CAAC;oBAC5D,MAAM,wBAAwB,GAAG,mBAAmB,EAAE,wBAAwB,IAAI,EAAE,CAAA;oBACpF,cAAc,CAAC,oBAAoB,GAAG;wBAClC,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BAClC,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;yBACvB,CAAC,CAAC;qBACN,CAAA;oBAED,IAAI,YAAY,EAAE,CAAC;wBACf,MAAM,eAAe,GAAe,EAAE,CAAA;wBAEtC;;;;;2BAKG;wBACH,IACI,CAAC,yBAAyB;4BAC1B,CAAC,yBAAyB,IAAI,4BAA4B,KAAK,YAAY,CAAC;4BAC5E,CAAC,yBAAyB;gCACtB,4BAA4B,KAAK,YAAY;gCAC7C,iBAAiB,CAAC,aAAa,CAAC,EACtC,CAAC;4BACC,eAAe,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAA;wBACzC,CAAC;wBAED,MAAM,+BAA+B,GAAG,yBAAyB,CAAC;4BAC9D,WAAW,EAAE,WAAW;4BACxB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;4BAC7B,IAAI,EAAE,iBAAiB;4BACvB,gBAAgB,EAAE,gBAAgB;4BAClC,aAAa,EAAE,aAAa;4BAC5B,WAAW,EAAE,iBAAiB;yBACjC,CAAC,CAAA;wBAEF,IAAI,+BAA+B,CAAC,aAAa,EAAE,CAAC;4BAChD,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;wBACnC,CAAC;wBAED,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC/B,OAAO,YAAY,CAAA;wBACvB,CAAC;wBAED,qDAAqD;wBACrD,IAAI,iBAAiB,EAAE,CAAC;4BACpB,4BAA4B;gCACxB,MAAM,iBAAiB,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAA;wBACtE,CAAC;wBAED,+BAA+B;wBAC/B,MAAM,gCAAgC,GAClC,4BAA4B,EAAE,wBAAwB,IAAI,EAAE,CAAA;wBAEhE,cAAc,CAAC,oBAAoB,CAAC,IAAI,CACpC,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BAC1C,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;4BACpB,IAAI,EAAE,qBAAqB;4BAC3B,QAAQ,EAAE;gCACN,2BAA2B,EAAE;oCACzB,UAAU,EAAE,IAAI;iCACnB;6BACJ;yBACJ,CAAC,CAAC,CACN,CAAA;wBAED,oDAAoD;wBACpD,cAAc,CAAC,eAAe,GAAG,eAAe,CAAC,IAAI,EAAE,CAAA;wBAEvD,sCAAsC;wBACtC,cAAc,CAAC,WAAW,GAAG;4BACzB,QAAQ,EAAE;gCACN,gBAAgB,EAAE,YAAY,CAAC,GAAG;gCAClC,mBAAmB,EAAE;oCACjB,YAAY,EAAE,cAAc,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY;iCAC5E;gCACD,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE;6BAC/B;4BACD,WAAW,EAAE;gCACT,QAAQ,EAAE;oCACN,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;oCAC1B,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;iCACvC;6BACJ;yBACJ,CAAA;oBACL,CAAC;gBACL,CAAC;gBAED,uEAAuE;gBACvE,IAAI,cAAc,IAAI,cAAc,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACtD,IAAI,YAAY,IAAI,cAAc,CAAC,cAAc,KAAK,qCAAc,CAAC,IAAI,EAAE,CAAC;wBACxE,MAAM,iBAAiB,GAAG,IAAA,qDAAmC,EACzD,cAAc,EACd,YAAY,EACZ,WAAW,CACd,CAAA;wBAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC/B,OAAO;gCACH,KAAK,EAAE,iBAAiB;gCACxB,SAAS,EAAE,cAAc,CAAC,EAAE;6BAC/B,CAAA;wBACL,CAAC;oBACL,CAAC;oBACD,sEAAsE;oBACtE,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;oBAC7C,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBACtF,MAAM,gCAAgC,CAClC,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,6BAA6B,EAC7B,CAAC,EACD,CAAC,EACD,EAAE,EACF,EAAE,EACF,YAAY,CACf,CAAA;gBACL,CAAC;gBAED,MAAM,oBAAoB,GAAG,YAAY;oBACrC,CAAC,CAAC;wBACI,uDAAuD;wBACvD,cAAc,EACV,CAAC,mBAAmB,EAAE,cAAc,IAAI,CAAC,CAAC;4BAC1C,CAAC,4BAA4B,EAAE,cAAc,IAAI,CAAC,CAAC;wBACvD,OAAO,EAAE,IAAI,CAAC,GAAG,CACb,mBAAmB,EAAE,OAAO,IAAI,CAAC,EACjC,4BAA4B,EAAE,OAAO,IAAI,CAAC,CAC7C;wBACD,KAAK,EAAE,mBAAmB,EAAE,KAAK,IAAI,KAAK;wBAC1C,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,IAAI,KAAK;wBAChE,QAAQ,EAAE,4BAA4B;4BAClC,CAAC,CAAC,aAAa;4BACf,CAAC,CAAC,mBAAmB,EAAE,QAAQ,IAAI,OAAO;wBAC9C,wBAAwB,EAAE;4BACtB,GAAG,CAAC,mBAAmB,EAAE,wBAAwB,IAAI,EAAE,CAAC;4BACxD,GAAG,CAAC,4BAA4B,EAAE,wBAAwB,IAAI,EAAE,CAAC;yBACpE;qBACJ;oBACH,CAAC,CAAC,mBAAmB,CAAA;gBACzB,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC;oBAC5C,QAAQ,EAAE,YAAY;oBACtB,aAAa,EAAE,MAAM,CAAC,QAAQ;oBAC9B,WAAW,EAAE,yBAAyB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;oBACnE,QAAQ,EAAE,WAAW,CAAC,mBAAmB,CAAC,YAAY;oBACtD,cAAc,EAAE,cAAc;oBAC9B,eAAe,EAAE,yBAAyB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS;oBACrF,gBAAgB,EAAE,iBAAiB;oBACnC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB;oBACrD,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB;oBAC3D,kBAAkB,EAAE,mBAAmB,CAAC,qBAAqB,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,IAAI,SAAS;oBAC7F,oBAAoB,EAAE,oBAAoB;oBAC1C,gBAAgB,EAAE,oBAAS,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC;iBACtF,CAAC,CAAA;gBAEF,uCAAuC;gBACvC,MAAM,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,CAAA;gBACnF,IAAI,YAAY,EAAE,CAAC;oBACf,cAAc,CAAC,WAAW,CAAC,eAAe;wBACtC,YAAY,GAAG,IAAI,GAAG,cAAc,CAAC,WAAW,CAAC,eAAe,CAAA;gBACxE,CAAC;gBAED,MAAM,qBAAqB,GAAG;oBAC1B,GAAG,cAAc;oBACjB,WAAW,EAAE;wBACT,GAAG,cAAc,CAAC,WAAW;wBAC7B,eAAe,EAAE,cAAc,CAAC,WAAW,CAAC,eAAe;6BACtD,KAAK,CAAC,CAAC,gCAAwB,CAAC;6BAChC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;wBAC7B,gBAAgB,EAAE,cAAc,CAAC,WAAW,CAAC,gBAAgB;6BACxD,KAAK,CAAC,CAAC,EAAE,gCAAwB,CAAC;6BAClC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;qBAChC;oBACD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvD,CAAA;gBACD,IAAI,CAAC;oBACD,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAA;oBAChG,OAAO,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;gBAChG,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,uBAAuB,CAAC,KAAc,EAAE,UAAU,CAAC,CAAA;gBAC9D,CAAC;YACL,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,qCAAqC,GAAG,KAAK,CAAA;QACjD,CAAC;IACL,CAAC,CAAA;IAED,MAAM,yBAAyB,GAAG,KAAK,EACnC,kBAA+C,EAC/C,OAA6B,EAC7B,YAAqB,EACrB,cAAsB,EACtB,YAA2B,EACgB,EAAE;QAC7C,qBAAqB,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAEvD,sBAAsB,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC1D,OAAO,CAAC,6BAA6B;YACjC,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,6BAA6B,CAAA;QAE1E,IAAI,YAAY,EAAE,CAAC;YACf,oEAAoE;YACpE,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAA;YACpD,OAAO,CAAC,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAA;YAC5D,OAAO,CAAC,sBAAsB,GAAG,kBAAkB,CAAC,eAAe,CAAC,sBAAsB,CAAA;YAC1F,OAAO,CAAC,yBAAyB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAA;YAC5E,OAAO,CAAC,cAAc,GAAG,kBAAkB,CAAC,cAAc,CAAA;QAC9D,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAA;QACrF,CAAC;QAED,sEAAsE;QACtE,8BAA8B,CAAC,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QAEhG,4DAA4D;QAC5D,IAAI,OAAO,CAAC,qCAAqC,EAAE,CAAC;YAChD,OAAO,CAAC,qCAAqC,GAAG,KAAK,CAAA;YACrD,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;YACtC,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACtF,MAAM,gCAAgC,CAClC,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,6BAA6B,EAC7B,CAAC,EACD,CAAC,EACD,EAAE,EACF,EAAE,EACF,YAAY,CACf,CAAA;QACL,CAAC;QAED,iIAAiI;QACjI,IACI,OAAO,CAAC,cAAc,KAAK,qCAAc,CAAC,IAAI,IAAI,mIAAmI;YACrL,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,EAC7D,CAAC;YACC,OAAO,YAAY,CAAA;QACvB,CAAC;QAED,yDAAyD;QACzD,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAEvC,uDAAuD;QACvD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,WAAW;YACtD,0BAA0B;aACzB,MAAM,CAAC,UAAU,CAAC,EAAE;YACjB,IAAI,UAAU,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;gBAC5B,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBACtD,OAAO,KAAK,CAAA;YAChB,CAAC;YAED,OAAO,IAAI,CAAA;QACf,CAAC,CAAC;YACF,4BAA4B;aAC3B,MAAM,CAAC,UAAU,CAAC,EAAE;YACjB,oEAAoE;YACpE,sEAAsE;YACtE,wEAAwE;YACxE,oCAAoC;YACpC,MAAM,EAAE,oCAAoC,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAA;YACzF,IAAI,oCAAoC,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAA;YACf,CAAC;YAED,IAAI,UAAU,CAAC,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtE,OAAO,IAAI,CAAA;YACf,CAAC;YAED,wGAAwG;YACxG,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YACvD,OAAO,KAAK,CAAA;QAChB,CAAC,CAAC,CAAA;QAEN,IAAI,kBAAkB,CAAC,cAAc,KAAK,qCAAc,CAAC,UAAU,EAAE,CAAC;YAClE,MAAM,EAAE,6BAA6B,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAA;YAClF,MAAM,2BAA2B,GAAG,gCAAgC,CAChE,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,EACnD,mBAAmB,EACnB,6BAA6B,EAC7B,cAAc,CACjB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAClB,iHAAiH;gBACjH,IAAI,UAAU,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;oBAC/B,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;oBACxD,OAAO,KAAK,CAAA;gBAChB,CAAC;gBAED,OAAO,IAAI,CAAA;YACf,CAAC,CAAC,CAAA;YAEF,2BAA2B,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC,CAAA;gBACtF,IAAI,gBAAgB;oBAAE,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;YACxF,CAAC,CAAC,CAAA;YAEF,oEAAoE;YACpE,OAAO,CAAC,iCAAiC,CAAC,IAAI,CAAC,GAAG,2BAA2B,CAAC,CAAA;YAE9E,OAAO,CAAC,kCAAkC;gBACtC,OAAO,CAAC,kCAAkC;oBAC1C,2BAA2B,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;wBACrD,OAAO,KAAK,GAAG,CAAC,UAAU,CAAC,0BAA0B,EAAE,MAAM,IAAI,CAAC,CAAC,CAAA;oBACvE,CAAC,EAAE,CAAC,CAAC,CAAA;YAET,gGAAgG;YAChG,yCAAyC;YACzC,IACI,OAAO,CAAC,iCAAiC,CAAC,MAAM,KAAK,CAAC;gBACtD,CAAC,kBAAkB,CAAC,eAAe,CAAC,SAAS,EAC/C,CAAC;gBACC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;gBACpC,MAAM,gCAAgC,CAClC,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,6BAA6B,CAChC,CAAA;gBAED,OAAO,YAAY,CAAA;YACvB,CAAC;YAED,OAAO;gBACH,KAAK,EAAE,2BAA2B;gBAClC,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,kBAAkB,EAAE,kBAAkB,CAAC,eAAe,CAAC,SAAS;aACnE,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,OAAO;gBACH,KAAK,EAAE,kBAAkB,CAAC,WAAW;qBAChC,GAAG,CAAC,UAAU,CAAC,EAAE;oBACd,oEAAoE;oBACpE,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,mBAAmB,CAC/D,UAAU,CAAC,OAAO,EAClB,YAAY,EAAE,GAAG,IAAI,EAAE,CAC1B,CAAA;oBAED,IAAI,mBAAmB,EAAE,CAAC;wBACtB,kCAAkC;wBAClC,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;wBACvD,OAAO,CAAC,KAAK,CACT,+EAA+E,CAClF,CAAA;wBACD,8CAA8C;wBAC9C,OAAO;4BACH,UAAU,EAAE,EAAE;4BACd,YAAY,EAAE,IAAI;4BAClB,MAAM,EAAE,UAAU,CAAC,MAAM;yBAC5B,CAAA;oBACL,CAAC;oBAED,OAAO;wBACH,UAAU,EAAE,UAAU,CAAC,OAAO;wBAC9B,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,UAAU,CAAC,MAAM;qBAC5B,CAAA;gBACL,CAAC,CAAC;qBACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC;gBAC3C,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,kBAAkB,EAAE,kBAAkB,CAAC,eAAe,CAAC,SAAS;aACnE,CAAA;QACL,CAAC;IACL,CAAC,CAAA;IAED,MAAM,uBAAuB,GAAG,CAC5B,KAAY,EACZ,OAA6B,EACK,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,KAAK,CAAC,CAAA;QAC/C,4BAA4B,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QAEvD,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAEpC,IAAI,eAAe,GAAG,KAAK,CAAA;QAE3B,IAAI,IAAA,4BAAoB,EAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,eAAe,GAAG,IAAI,6CAAoC,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,CAAC,CAAA;QACtF,CAAC;QAED,IAAI,eAAe,YAAY,qBAAY,EAAE,CAAC;YAC1C,MAAM,IAAI,gCAAa,CACnB,gCAAa,CAAC,aAAa,EAC3B,eAAe,CAAC,OAAO,IAAI,sCAAsC,EACjE;gBACI,YAAY,EAAE,eAAe,CAAC,IAAI;aACrC,CACJ,CAAA;QACL,CAAC;QAED,OAAO,YAAY,CAAA;IACvB,CAAC,CAAA;IAED,wDAAwD;IACxD,MAAM,oBAAoB,GAAG,CACzB,OAA6B,EAC7B,kBAA8B,EAC9B,sBAA+B,EACjC,EAAE;QACA,MAAM,WAAW,GAAG,IAAA,2CAAmC,EAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;QAC1G,+DAA+D;QAC/D,MAAM,cAAc,GAAG,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAA;QAEnG,eAAe,CAAC,OAAO,CAAC;YACpB,SAAS,EAAE,OAAO,CAAC,sBAAsB,IAAI,EAAE;YAC/C,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,SAAS,IAAI,EAAE;YACnD,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG;YAC7B,UAAU,EAAE,OAAO,CAAC,QAAQ;YAC5B,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;YAChB,cAAc,EAAE,cAAc;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,WAAW;YACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,cAAc,EAAE,IAAA,yBAAiB,EAAC,kBAAkB,CAAC;YACrD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SACjD,CAAC,CAAA;IACN,CAAC,CAAA;IAED,MAAM,0CAA0C,GAAG,KAAK,EAAE,MAA+C,EAAE,EAAE;QACzG,MAAM,EACF,SAAS,EACT,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACrB,GAAG,MAAM,CAAA;QAEV,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,qBAAqB,SAAS,gBAAgB,CAAC,CAAA;YAC3D,OAAM;QACV,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,mEAAmE,SAAS,EAAE,CAAC,CAAA;YAC3F,OAAM;QACV,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CACnE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAClD,CAAA;QACD,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QAChD,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,cAAc,CAAC,CAAA;QACrF,IAAI,gCAAgC,GAAG,EAAE,CAAA;QACzC,IAAI,kCAAkC,GAAG,EAAE,CAAA;QAC3C,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,kBAAkB,EAAE,CAAC;gBACrB,qBAAqB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACpD,IAAI,YAAY,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBAC7C,kHAAkH;oBAClH,iIAAiI;oBACjI,MAAM,oBAAoB,GAAG,IAAA,mCAAuB,EAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;oBAChF,IAAI,oBAAoB,EAAE,CAAC;wBACvB,gCAAgC,GAAG,oBAAoB,CAAC,eAAe,CAAA;wBACvE,kCAAkC,GAAG,oBAAoB,CAAC,iBAAiB,CAAA;wBAE3E,qBAAqB,CAAC,mBAAmB,CACrC,OAAO,CAAC,QAAQ,EAChB,gCAAgC,CACnC,CAAA;wBACD,qBAAqB,CAAC,gBAAgB,CAClC,OAAO,CAAC,QAAQ,EAChB,gCAAgC,EAChC,IAAI,CACP,CAAA;wBACD,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,gCAAgC,CAAC,CAAA;oBACvF,CAAC;gBACL,CAAC;qBAAM,IAAI,kBAAkB,CAAC,UAAU,EAAE,CAAC;oBACvC,qBAAqB,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;oBAC1F,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;oBAE7F,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;gBACrD,CAAC;YACL,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,gDAAgD;YAChD,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAChE,MAAM,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;gBACzD,OAAO,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAA;YACpD,CAAC,CAAC,CAAA;YAEF,4BAA4B;YAC5B,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE,CAAC;gBACnD,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBAC7B,mBAAmB,CAAC,kBAAkB,CAAC;wBACnC,OAAO,EAAE,kBAAkB,CAAC,OAAO;wBACnC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG;wBACjC,QAAQ,EAAE,OAAO,CAAC,aAAa;qBAClC,CAAC,CAAA;oBAEF,OAAO,CAAC,KAAK,CACT,6CAA6C,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAChG,CAAA;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,CAAC,mBAAmB,CACvB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,eAAe,CAClB,CAAA;QAED,IAAI,6BAA6B;YAAE,6BAA6B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAEpF,qDAAqD;QACrD,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3F,MAAM,gCAAgC,CAClC,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,6BAA6B,EAC7B,gCAAgC,CAAC,MAAM,EACvC,kCAAkC,CAAC,MAAM,EACzC,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,CACf,CAAA;IACL,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,CAAC,aAAqC,EAAE,EAAE;QAClE,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;QAElE,MAAM,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,GAAG,aAAa,CAAA;QAEjG,qBAAqB,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACzD,IAAI,0BAA0B,EAAE,CAAC;YAC7B,sBAAsB,GAAG,+CAAsB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;QACjF,CAAC;QACD,IAAI,sBAAsB,EAAE,CAAC;YACzB,sBAAsB,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAC9D,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,qDAAqD,gBAAgB,EAAE,CAAC,CAAA;QACtF;;;UAGE;QACF,kDAAkD;QAClD,gGAAgG;QAChG,gBAAgB,CAAC,sBAAsB,CAAC,yBAAyB,CAAC,CAAA;QAClE,OAAO,CAAC,KAAK,CAAC,gDAAgD,yBAAyB,EAAE,CAAC,CAAA;IAC9F,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;QACpC,qBAAqB,GAAG,cAAc,EAAE,CAAA;QAExC,MAAM,YAAY,GAAG,IAAA,eAAO,EACxB,GAAG,CAAC,yBAAyB,EAAE,EAC/B,IAAI,0CAAiC,CACjC,qEAAqE,CACxE,CACJ,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QAC5E,YAAY;YACR,YAAY,EAAE,qBAAqB,EAAE,GAAG,EAAE,qBAAqB,EAAE,YAAY;gBACzE,EAAE,8BAA8B,EAAE,iBAAiB,IAAI,KAAK,CAAA;QAEpE,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QACvG,gBAAgB,CAAC,iBAAiB,CAAC,IAAA,sCAAqB,EAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;QAEnG,qBAAqB,GAAG,IAAI,sCAAqB,CAAC,gBAAgB,CAAC,CAAA;QACnE,eAAe,GAAG,IAAI,iCAAe,CACjC,SAAS,EACT,OAAO,EACP,KAAK,EAAE,KAAoC,EAAE,UAAU,EAAE,gCAAgC,EAAE,EAAE;YACzF,MAAM,gBAAgB,CAAC,yBAAyB,CAC5C;gBACI,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM;gBACnD,sBAAsB,EAAE,UAAU;gBAClC,gCAAgC,EAAE,gCAAgC;aACrE,EACD;gBACI,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,MAAM;gBAC9C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,UAAU;gBAC5C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;aAC/C,CACJ,CAAA;QACL,CAAC,CACJ,CAAA;QAED,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAA;QACvE,OAAO,CAAC,GAAG,CACP,gHAAgH,sBAAsB,EAAE,CAC3I,CAAA;QAED,MAAM,qBAAqB,CAAC,iCAAiC,CAAC,mBAAmB,CAAC,CAAA;IACtF,CAAC,CAAA;IAED,GAAG,CAAC,UAAU,CAAC,gCAAgC,CAAC,yBAAyB,CAAC,CAAA;IAC1E,GAAG,CAAC,UAAU,CAAC,mCAAmC,CAAC,0CAA0C,CAAC,CAAA;IAC9F,GAAG,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;IAEvC,GAAG,CAAC,uBAAuB,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;QAClC,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,IAAA,0CAAsB,EAAC,YAAY,CAAC,CAAA;QAEvD,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,OAAM;QACV,CAAC;QAED,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC9B,qBAAqB,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAEtE,MAAM,EAAE,0BAA0B,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAA;YAC/E,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAC9B,OAAM;YACV,CAAC;YACD,+DAA+D;YAC/D,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAA;YACzD,IACI,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,CAC7B,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,IAAI,UAAU,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAChF,EACH,CAAC;gBACC,sBAAsB,EAAE,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3E,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,sDAAsD;QACtD,IAAI,wBAAwB,EAAE,CAAC;YAC3B,6BAA6B,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,wBAAwB,CAAA;QACnF,CAAC;QACD,wBAAwB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;QAE/C,mDAAmD;QACnD,IAAI,YAAY,IAAI,iBAAiB,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CACP,+DAA+D,CAAC,CAAC,YAAY,CAAC,GAAG,cAAc,YAAY,CAAC,OAAO,EAAE,CACxH,CAAA;YACD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,cAAc,CAAC,MAAM,UAAU,CAAC,CAAA;YAE1E,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBACzC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG;gBACvB,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE;aAC/B,CAAC,CAAA;QACN,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAA;QAErD,gDAAgD;QAChD,IAAI,iBAAiB,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAA;YAC5F,iBAAiB,CAAC,kBAAkB,CAAC;gBACjC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG;gBACvB,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,UAAU;gBACrC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO;gBAC/B,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI;aAC5B,CAAC,CAAA;QACN,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAA;QAErD,gDAAgD;QAChD,IAAI,iBAAiB,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAA;YAC7F,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAC7D,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAChB,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAClD,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;IAErE,OAAO,KAAK,IAAI,EAAE;QACd,0DAA0D;QAC1D,IAAI,qBAAqB;YAAE,qBAAqB,CAAC,OAAO,EAAE,CAAA;QAC1D,IAAI,sBAAsB;YAAE,sBAAsB,EAAE,OAAO,EAAE,CAAA;QAC7D,IAAI,eAAe;YAAE,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAA;QACrD,IAAI,iBAAiB;YAAE,iBAAiB,CAAC,OAAO,EAAE,CAAA;QAClD,IAAI,aAAa;YAAE,aAAa,CAAC,OAAO,EAAE,CAAA;QAC1C,IAAI,mBAAmB;YAAE,mBAAmB,CAAC,OAAO,EAAE,CAAA;QAEtD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;IACvE,CAAC,CAAA;AACL,CAAC,CAAA;AA33BQ,QAAA,0BAA0B,8BA23BlC;AAEQ,QAAA,sBAAsB,GAAG,IAAA,kCAA0B,EAAC,0DAA+B,CAAC,CAAA;AACpF,QAAA,wBAAwB,GAAG,IAAA,kCAA0B,EAAC,8DAAiC,CAAC,CAAA"}
@@ -7,11 +7,14 @@ export declare class DependencyDiscoverer {
7
7
  dependencyHandlerRegistry: LanguageDependencyHandler<BaseDependencyInfo>[];
8
8
  private initializedWorkspaceFolder;
9
9
  private sharedState;
10
+ private dependencyEventsIngestedFolderUris;
10
11
  constructor(workspace: Workspace, logging: Logging, workspaceFolders: WorkspaceFolder[], artifactManager: ArtifactManager);
11
12
  private shouldExcludeDirectory;
12
13
  searchDependencies(folders: WorkspaceFolder[]): Promise<void>;
13
14
  reSyncDependenciesToS3(folders: WorkspaceFolder[]): Promise<void>;
14
- handleDependencyUpdateFromLSP(language: string, paths: string[], workspaceRoot?: WorkspaceFolder): Promise<void>;
15
+ isDependencyEventsIngested(workspaceFolderUri: string): boolean;
16
+ private ingestRecordedDependencyEvents;
17
+ handleDependencyUpdateFromLSP(language: string, paths: string[], folder?: WorkspaceFolder): Promise<void>;
15
18
  resetFromDisposal(): void;
16
19
  dispose(): void;
17
20
  disposeWorkspaceFolder(workspaceFolder: WorkspaceFolder): void;
@@ -6,12 +6,14 @@ const fs = require("fs");
6
6
  const vscode_uri_1 = require("vscode-uri");
7
7
  const LanguageDependencyHandlerFactory_1 = require("./dependencyHandler/LanguageDependencyHandlerFactory");
8
8
  const languageDetection_1 = require("../../../shared/languageDetection");
9
+ const dependencyEventBundler_1 = require("./dependencyEventBundler");
9
10
  class DependencyDiscoverer {
10
11
  logging;
11
12
  workspaceFolders;
12
13
  dependencyHandlerRegistry = [];
13
14
  initializedWorkspaceFolder = new Map();
14
15
  sharedState = { isDisposed: false, dependencyUploadedSizeSum: 0 };
16
+ dependencyEventsIngestedFolderUris = new Set();
15
17
  constructor(workspace, logging, workspaceFolders, artifactManager) {
16
18
  this.workspaceFolders = workspaceFolders;
17
19
  this.logging = logging;
@@ -48,6 +50,8 @@ class DependencyDiscoverer {
48
50
  }
49
51
  async searchDependencies(folders) {
50
52
  this.logging.log('Starting dependency search across workspace folders');
53
+ // ingest recorded dependency events to corresponding dependency maps first
54
+ this.ingestRecordedDependencyEvents(folders);
51
55
  for (const workspaceFolder of folders) {
52
56
  if (this.initializedWorkspaceFolder.has(workspaceFolder) &&
53
57
  this.initializedWorkspaceFolder.get(workspaceFolder)) {
@@ -112,12 +116,41 @@ class DependencyDiscoverer {
112
116
  await dependencyHandler.zipDependencyMap(folders);
113
117
  }
114
118
  }
115
- async handleDependencyUpdateFromLSP(language, paths, workspaceRoot) {
119
+ isDependencyEventsIngested(workspaceFolderUri) {
120
+ return this.dependencyEventsIngestedFolderUris.has(workspaceFolderUri);
121
+ }
122
+ ingestRecordedDependencyEvents(workspaceFolders) {
123
+ let ingestedDependencyCount = 0;
124
+ for (const workspaceFolder of workspaceFolders) {
125
+ for (const dependencyHandler of this.dependencyHandlerRegistry) {
126
+ try {
127
+ const recordedPaths = dependencyEventBundler_1.DependencyEventBundler.getRecordedDependencyPaths(dependencyHandler.language, workspaceFolder.uri);
128
+ if (!recordedPaths) {
129
+ continue;
130
+ }
131
+ dependencyHandler.updateDependencyMapBasedOnLSP(recordedPaths, workspaceFolder);
132
+ ingestedDependencyCount += recordedPaths.length;
133
+ }
134
+ catch (error) {
135
+ this.logging.debug(`Error ingesting dependency events for ${workspaceFolder.uri}: ${error}`);
136
+ }
137
+ }
138
+ this.dependencyEventsIngestedFolderUris.add(workspaceFolder.uri);
139
+ }
140
+ if (ingestedDependencyCount > 0) {
141
+ this.logging.log(`Ingested ${ingestedDependencyCount} dependencies from didChangeDependencyPaths events`);
142
+ }
143
+ }
144
+ async handleDependencyUpdateFromLSP(language, paths, folder) {
145
+ if (folder === undefined) {
146
+ return;
147
+ }
116
148
  for (const dependencyHandler of this.dependencyHandlerRegistry) {
117
149
  if (dependencyHandler.language != language) {
118
150
  continue;
119
151
  }
120
- await dependencyHandler.updateDependencyMapBasedOnLSP(paths, workspaceRoot);
152
+ const changedDependencyList = dependencyHandler.updateDependencyMapBasedOnLSP(paths, folder);
153
+ await dependencyHandler.zipAndUploadDependenciesByChunk(changedDependencyList, folder);
121
154
  }
122
155
  }
123
156
  resetFromDisposal() {
@@ -126,6 +159,7 @@ class DependencyDiscoverer {
126
159
  }
127
160
  dispose() {
128
161
  this.initializedWorkspaceFolder.clear();
162
+ this.dependencyEventsIngestedFolderUris.clear();
129
163
  this.dependencyHandlerRegistry.forEach(dependencyHandler => {
130
164
  dependencyHandler.dispose();
131
165
  });