@spences10/pi-lsp 0.0.10 → 0.0.11

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.
@@ -0,0 +1,47 @@
1
+ import { Type } from 'typebox';
2
+ import { type LspDiagnostic, type LspDocumentSymbol, type LspHover, type LspLocation } from './client.js';
3
+ export interface LspFormatServerState {
4
+ client: {
5
+ is_ready(): boolean;
6
+ };
7
+ language: string;
8
+ workspace_root: string;
9
+ command: string;
10
+ }
11
+ export interface LspToolErrorDetails {
12
+ kind: 'unsupported_language' | 'server_start_failed' | 'tool_execution_failed';
13
+ file: string;
14
+ message: string;
15
+ language?: string;
16
+ command?: string;
17
+ workspace_root?: string;
18
+ install_hint?: string;
19
+ code?: string;
20
+ }
21
+ export declare class LspToolError extends Error {
22
+ details: LspToolErrorDetails;
23
+ constructor(details: LspToolErrorDetails);
24
+ }
25
+ export declare const SYMBOL_KIND_NAMES: string[];
26
+ export declare const SYMBOL_KIND_SCHEMA: Type.TUnion<Type.TLiteral<string>[]>;
27
+ export declare function format_lsp_view(view: string, cwd: string, clients_by_server: Map<string, LspFormatServerState>, failed_servers: Map<string, LspToolErrorDetails>): string;
28
+ export declare function format_status_lines(cwd: string, clients_by_server: Map<string, LspFormatServerState>, failed_servers: Map<string, LspToolErrorDetails>): string[];
29
+ export declare function to_lsp_tool_error(file: string, language: string, workspace_root: string, command: string, install_hint: string | undefined, error: unknown): LspToolErrorDetails;
30
+ export declare function format_tool_error(details: LspToolErrorDetails): string;
31
+ export declare function format_diagnostics(file: string, diagnostics: LspDiagnostic[]): string;
32
+ export declare function format_hover(hover: LspHover | null): string;
33
+ export declare function format_locations(locations: LspLocation[], empty_message: string): string;
34
+ export declare function format_document_symbols(file: string, symbols: LspDocumentSymbol[]): string;
35
+ export declare function find_symbol_matches(symbols: LspDocumentSymbol[], query: string, options: {
36
+ max_results: number;
37
+ top_level_only: boolean;
38
+ exact_match: boolean;
39
+ kinds: ReadonlySet<string>;
40
+ }): Array<{
41
+ symbol: LspDocumentSymbol;
42
+ depth: number;
43
+ }>;
44
+ export declare function format_symbol_matches(file: string, query: string, matches: Array<{
45
+ symbol: LspDocumentSymbol;
46
+ depth: number;
47
+ }>): string;
package/dist/format.js ADDED
@@ -0,0 +1,278 @@
1
+ import { fileURLToPath } from 'node:url';
2
+ import { Type } from 'typebox';
3
+ import { LspClientStartError, } from './client.js';
4
+ import { get_server_config, list_supported_languages, } from './servers.js';
5
+ export class LspToolError extends Error {
6
+ details;
7
+ constructor(details) {
8
+ super(details.message);
9
+ this.name = 'LspToolError';
10
+ this.details = details;
11
+ }
12
+ }
13
+ const SYMBOL_KIND_LABELS = {
14
+ 2: 'module',
15
+ 3: 'namespace',
16
+ 5: 'class',
17
+ 6: 'method',
18
+ 7: 'property',
19
+ 8: 'field',
20
+ 9: 'constructor',
21
+ 11: 'interface',
22
+ 12: 'function',
23
+ 13: 'variable',
24
+ 14: 'constant',
25
+ 23: 'struct',
26
+ 24: 'event',
27
+ };
28
+ export const SYMBOL_KIND_NAMES = Object.values(SYMBOL_KIND_LABELS);
29
+ export const SYMBOL_KIND_SCHEMA = Type.Union(SYMBOL_KIND_NAMES.map((name) => Type.Literal(name)));
30
+ export function format_lsp_view(view, cwd, clients_by_server, failed_servers) {
31
+ if (view === 'running') {
32
+ const lines = format_running_server_lines(clients_by_server);
33
+ return lines.length > 0
34
+ ? lines.join('\n')
35
+ : 'No running language servers.';
36
+ }
37
+ if (view === 'failed') {
38
+ const lines = format_failed_server_lines(failed_servers);
39
+ return lines.length > 0
40
+ ? lines.join('\n')
41
+ : 'No failed language servers.';
42
+ }
43
+ return format_status_lines(cwd, clients_by_server, failed_servers).join('\n');
44
+ }
45
+ function format_running_server_lines(clients_by_server) {
46
+ return Array.from(clients_by_server.values())
47
+ .sort((a, b) => a.language.localeCompare(b.language) ||
48
+ a.workspace_root.localeCompare(b.workspace_root))
49
+ .map((state) => `${state.language}: running (ready=${state.client.is_ready()}) — ${state.command} [workspace ${state.workspace_root}]`);
50
+ }
51
+ function format_failed_server_lines(failed_servers) {
52
+ return Array.from(failed_servers.values())
53
+ .sort((a, b) => (a.language ?? '').localeCompare(b.language ?? '') ||
54
+ (a.workspace_root ?? '').localeCompare(b.workspace_root ?? ''))
55
+ .map((failure) => {
56
+ const workspace = failure.workspace_root
57
+ ? ` [workspace ${failure.workspace_root}]`
58
+ : '';
59
+ return `${failure.language ?? 'unknown'}: failed — ${failure.message}${workspace}`;
60
+ });
61
+ }
62
+ export function format_status_lines(cwd, clients_by_server, failed_servers) {
63
+ const lines = [];
64
+ const active_languages = new Set();
65
+ const running_states = Array.from(clients_by_server.values()).sort((a, b) => a.language.localeCompare(b.language) ||
66
+ a.workspace_root.localeCompare(b.workspace_root));
67
+ for (const running of running_states) {
68
+ active_languages.add(running.language);
69
+ lines.push(`${running.language}: running (ready=${running.client.is_ready()}) — ${running.command} [workspace ${running.workspace_root}]`);
70
+ }
71
+ const failures = Array.from(failed_servers.values()).sort((a, b) => (a.language ?? '').localeCompare(b.language ?? '') ||
72
+ (a.workspace_root ?? '').localeCompare(b.workspace_root ?? ''));
73
+ for (const failure of failures) {
74
+ if (failure.language) {
75
+ active_languages.add(failure.language);
76
+ }
77
+ const workspace = failure.workspace_root
78
+ ? ` [workspace ${failure.workspace_root}]`
79
+ : '';
80
+ const language = failure.language ?? 'unknown';
81
+ lines.push(`${language}: failed — ${failure.message}${workspace}`);
82
+ }
83
+ for (const language of list_supported_languages()) {
84
+ if (active_languages.has(language))
85
+ continue;
86
+ const config = get_server_config(language, cwd);
87
+ if (config) {
88
+ lines.push(`${language}: idle — ${config.command}`);
89
+ }
90
+ }
91
+ return lines.length > 0
92
+ ? lines
93
+ : ['No language servers configured for this project.'];
94
+ }
95
+ export function to_lsp_tool_error(file, language, workspace_root, command, install_hint, error) {
96
+ if (error instanceof LspToolError) {
97
+ return error.details;
98
+ }
99
+ if (error instanceof LspClientStartError) {
100
+ const missing_binary = error.code === 'ENOENT';
101
+ return {
102
+ kind: 'server_start_failed',
103
+ file,
104
+ language,
105
+ workspace_root,
106
+ command,
107
+ install_hint,
108
+ code: error.code,
109
+ message: missing_binary
110
+ ? `command "${command}" not found`
111
+ : error.message,
112
+ };
113
+ }
114
+ return {
115
+ kind: 'tool_execution_failed',
116
+ file,
117
+ language,
118
+ workspace_root,
119
+ command,
120
+ install_hint,
121
+ message: error instanceof Error ? error.message : String(error),
122
+ code: typeof error === 'object' &&
123
+ error !== null &&
124
+ 'code' in error &&
125
+ typeof error.code === 'string'
126
+ ? error.code
127
+ : undefined,
128
+ };
129
+ }
130
+ export function format_tool_error(details) {
131
+ if (details.kind === 'unsupported_language') {
132
+ return details.message;
133
+ }
134
+ const lines = [
135
+ details.language
136
+ ? `${details.language} LSP unavailable for ${details.file}`
137
+ : `LSP request failed for ${details.file}`,
138
+ `Reason: ${details.message}`,
139
+ ];
140
+ if (details.command) {
141
+ lines.push(`Command: ${details.command}`);
142
+ }
143
+ if (details.workspace_root) {
144
+ lines.push(`Workspace: ${details.workspace_root}`);
145
+ }
146
+ if (details.install_hint) {
147
+ lines.push(`Hint: ${details.install_hint}`);
148
+ }
149
+ return lines.join('\n');
150
+ }
151
+ function severity_label(severity) {
152
+ switch (severity) {
153
+ case 1:
154
+ return 'error';
155
+ case 2:
156
+ return 'warning';
157
+ case 3:
158
+ return 'info';
159
+ case 4:
160
+ return 'hint';
161
+ default:
162
+ return 'info';
163
+ }
164
+ }
165
+ export function format_diagnostics(file, diagnostics) {
166
+ if (diagnostics.length === 0) {
167
+ return `${file}: no diagnostics`;
168
+ }
169
+ const lines = [`${file}: ${diagnostics.length} diagnostic(s)`];
170
+ for (const d of diagnostics) {
171
+ const position = `${d.range.start.line + 1}:${d.range.start.character + 1}`;
172
+ const source = d.source ? ` [${d.source}]` : '';
173
+ const code = d.code != null ? ` (${d.code})` : '';
174
+ lines.push(` ${position} ${severity_label(d.severity)}${source}${code}: ${d.message}`);
175
+ }
176
+ return lines.join('\n');
177
+ }
178
+ export function format_hover(hover) {
179
+ if (!hover)
180
+ return 'No hover info.';
181
+ const contents = hover.contents;
182
+ const extract = (item) => (typeof item === 'string' ? item : (item.value ?? ''));
183
+ if (Array.isArray(contents)) {
184
+ return (contents.map(extract).join('\n\n').trim() || 'No hover info.');
185
+ }
186
+ return extract(contents).trim() || 'No hover info.';
187
+ }
188
+ export function format_locations(locations, empty_message) {
189
+ if (locations.length === 0)
190
+ return empty_message;
191
+ return locations
192
+ .map((loc) => {
193
+ const path = file_url_to_path_or_value(loc.uri);
194
+ return `${path}:${loc.range.start.line + 1}:${loc.range.start.character + 1}`;
195
+ })
196
+ .join('\n');
197
+ }
198
+ export function format_document_symbols(file, symbols) {
199
+ if (symbols.length === 0) {
200
+ return `${file}: no symbols`;
201
+ }
202
+ const lines = [`${file}: ${symbols.length} top-level symbol(s)`];
203
+ append_symbol_lines(lines, symbols, 1);
204
+ return lines.join('\n');
205
+ }
206
+ export function find_symbol_matches(symbols, query, options) {
207
+ const normalized = query.trim().toLowerCase();
208
+ if (!normalized)
209
+ return [];
210
+ const matches = [];
211
+ const matches_query = (symbol) => {
212
+ const values = [symbol.name, symbol.detail ?? ''].map((value) => value.trim().toLowerCase());
213
+ return options.exact_match
214
+ ? values.some((value) => value === normalized)
215
+ : values.some((value) => value.includes(normalized));
216
+ };
217
+ const matches_kind = (symbol) => {
218
+ if (options.kinds.size === 0)
219
+ return true;
220
+ return options.kinds.has(symbol_kind_label(symbol.kind));
221
+ };
222
+ const visit = (entries, depth) => {
223
+ for (const symbol of entries) {
224
+ if (matches_kind(symbol) && matches_query(symbol)) {
225
+ matches.push({ symbol, depth });
226
+ if (matches.length >= options.max_results) {
227
+ return;
228
+ }
229
+ }
230
+ if (!options.top_level_only && symbol.children?.length) {
231
+ visit(symbol.children, depth + 1);
232
+ if (matches.length >= options.max_results) {
233
+ return;
234
+ }
235
+ }
236
+ }
237
+ };
238
+ visit(symbols, 1);
239
+ return matches;
240
+ }
241
+ export function format_symbol_matches(file, query, matches) {
242
+ if (matches.length === 0) {
243
+ return `${file}: no symbols matching "${query}"`;
244
+ }
245
+ const lines = [
246
+ `${file}: ${matches.length} symbol match(es) for "${query}"`,
247
+ ];
248
+ for (const { symbol, depth } of matches) {
249
+ const indent = ' '.repeat(depth);
250
+ const detail = symbol.detail ? ` — ${symbol.detail}` : '';
251
+ const range = `${symbol.range.start.line + 1}:${symbol.range.start.character + 1}`;
252
+ lines.push(`${indent}${symbol_kind_label(symbol.kind)} ${symbol.name}${detail} @ ${range}`);
253
+ }
254
+ return lines.join('\n');
255
+ }
256
+ function append_symbol_lines(lines, symbols, depth) {
257
+ for (const symbol of symbols) {
258
+ const indent = ' '.repeat(depth);
259
+ const detail = symbol.detail ? ` — ${symbol.detail}` : '';
260
+ const range = `${symbol.range.start.line + 1}:${symbol.range.start.character + 1}`;
261
+ lines.push(`${indent}${symbol_kind_label(symbol.kind)} ${symbol.name}${detail} @ ${range}`);
262
+ if (symbol.children?.length) {
263
+ append_symbol_lines(lines, symbol.children, depth + 1);
264
+ }
265
+ }
266
+ }
267
+ function symbol_kind_label(kind) {
268
+ return SYMBOL_KIND_LABELS[kind] ?? 'symbol';
269
+ }
270
+ function file_url_to_path_or_value(uri) {
271
+ try {
272
+ return uri.startsWith('file:') ? fileURLToPath(uri) : uri;
273
+ }
274
+ catch {
275
+ return uri;
276
+ }
277
+ }
278
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,42 +3,17 @@ import { resolve_project_trust } from '@spences10/pi-project-trust';
3
3
  import { show_picker_modal, show_text_modal, } from '@spences10/pi-tui-modal';
4
4
  import { readFile } from 'node:fs/promises';
5
5
  import { isAbsolute, resolve } from 'node:path';
6
- import { fileURLToPath } from 'node:url';
7
6
  import { Type } from 'typebox';
8
- import { file_path_to_uri, LspClient, LspClientStartError, } from './client.js';
7
+ import { file_path_to_uri, LspClient, } from './client.js';
8
+ import { find_symbol_matches, format_diagnostics, format_document_symbols, format_hover, format_locations, format_lsp_view, format_status_lines, format_symbol_matches, format_tool_error, LspToolError, SYMBOL_KIND_NAMES, SYMBOL_KIND_SCHEMA, to_lsp_tool_error, } from './format.js';
9
9
  import { detect_language, find_workspace_root, get_server_config, language_id_for_file, list_supported_languages, } from './servers.js';
10
10
  import { create_lsp_binary_trust_subject, default_lsp_trust_store_path, is_lsp_binary_trusted, } from './trust.js';
11
- class LspToolError extends Error {
12
- details;
13
- constructor(details) {
14
- super(details.message);
15
- this.name = 'LspToolError';
16
- this.details = details;
17
- }
18
- }
19
11
  class LspStartupCancelledError extends Error {
20
12
  constructor(language, workspace_root) {
21
13
  super(`Startup cancelled for ${language} LSP in ${workspace_root}`);
22
14
  this.name = 'LspStartupCancelledError';
23
15
  }
24
16
  }
25
- const SYMBOL_KIND_LABELS = {
26
- 2: 'module',
27
- 3: 'namespace',
28
- 5: 'class',
29
- 6: 'method',
30
- 7: 'property',
31
- 8: 'field',
32
- 9: 'constructor',
33
- 11: 'interface',
34
- 12: 'function',
35
- 13: 'variable',
36
- 14: 'constant',
37
- 23: 'struct',
38
- 24: 'event',
39
- };
40
- const SYMBOL_KIND_NAMES = Object.values(SYMBOL_KIND_LABELS);
41
- const SYMBOL_KIND_SCHEMA = Type.Union(SYMBOL_KIND_NAMES.map((name) => Type.Literal(name)));
42
17
  const LSP_TOOL_NAMES = new Set([
43
18
  'lsp_diagnostics',
44
19
  'lsp_diagnostics_many',
@@ -662,252 +637,4 @@ async function restart_all_lsp_servers(ctx, clear_language_state) {
662
637
  await clear_language_state();
663
638
  ctx.ui.notify('Restarted all language server state.');
664
639
  }
665
- function format_lsp_view(view, cwd, clients_by_server, failed_servers) {
666
- if (view === 'running') {
667
- const lines = format_running_server_lines(clients_by_server);
668
- return lines.length > 0
669
- ? lines.join('\n')
670
- : 'No running language servers.';
671
- }
672
- if (view === 'failed') {
673
- const lines = format_failed_server_lines(failed_servers);
674
- return lines.length > 0
675
- ? lines.join('\n')
676
- : 'No failed language servers.';
677
- }
678
- return format_status_lines(cwd, clients_by_server, failed_servers).join('\n');
679
- }
680
- function format_running_server_lines(clients_by_server) {
681
- return Array.from(clients_by_server.values())
682
- .sort((a, b) => a.language.localeCompare(b.language) ||
683
- a.workspace_root.localeCompare(b.workspace_root))
684
- .map((state) => `${state.language}: running (ready=${state.client.is_ready()}) — ${state.command} [workspace ${state.workspace_root}]`);
685
- }
686
- function format_failed_server_lines(failed_servers) {
687
- return Array.from(failed_servers.values())
688
- .sort((a, b) => (a.language ?? '').localeCompare(b.language ?? '') ||
689
- (a.workspace_root ?? '').localeCompare(b.workspace_root ?? ''))
690
- .map((failure) => {
691
- const workspace = failure.workspace_root
692
- ? ` [workspace ${failure.workspace_root}]`
693
- : '';
694
- return `${failure.language ?? 'unknown'}: failed — ${failure.message}${workspace}`;
695
- });
696
- }
697
- function format_status_lines(cwd, clients_by_server, failed_servers) {
698
- const lines = [];
699
- const active_languages = new Set();
700
- const running_states = Array.from(clients_by_server.values()).sort((a, b) => a.language.localeCompare(b.language) ||
701
- a.workspace_root.localeCompare(b.workspace_root));
702
- for (const running of running_states) {
703
- active_languages.add(running.language);
704
- lines.push(`${running.language}: running (ready=${running.client.is_ready()}) — ${running.command} [workspace ${running.workspace_root}]`);
705
- }
706
- const failures = Array.from(failed_servers.values()).sort((a, b) => (a.language ?? '').localeCompare(b.language ?? '') ||
707
- (a.workspace_root ?? '').localeCompare(b.workspace_root ?? ''));
708
- for (const failure of failures) {
709
- if (failure.language) {
710
- active_languages.add(failure.language);
711
- }
712
- const workspace = failure.workspace_root
713
- ? ` [workspace ${failure.workspace_root}]`
714
- : '';
715
- const language = failure.language ?? 'unknown';
716
- lines.push(`${language}: failed — ${failure.message}${workspace}`);
717
- }
718
- for (const language of list_supported_languages()) {
719
- if (active_languages.has(language))
720
- continue;
721
- const config = get_server_config(language, cwd);
722
- if (config) {
723
- lines.push(`${language}: idle — ${config.command}`);
724
- }
725
- }
726
- return lines.length > 0
727
- ? lines
728
- : ['No language servers configured for this project.'];
729
- }
730
- function to_lsp_tool_error(file, language, workspace_root, command, install_hint, error) {
731
- if (error instanceof LspToolError) {
732
- return error.details;
733
- }
734
- if (error instanceof LspClientStartError) {
735
- const missing_binary = error.code === 'ENOENT';
736
- return {
737
- kind: 'server_start_failed',
738
- file,
739
- language,
740
- workspace_root,
741
- command,
742
- install_hint,
743
- code: error.code,
744
- message: missing_binary
745
- ? `command "${command}" not found`
746
- : error.message,
747
- };
748
- }
749
- return {
750
- kind: 'tool_execution_failed',
751
- file,
752
- language,
753
- workspace_root,
754
- command,
755
- install_hint,
756
- message: error instanceof Error ? error.message : String(error),
757
- code: typeof error === 'object' &&
758
- error !== null &&
759
- 'code' in error &&
760
- typeof error.code === 'string'
761
- ? error.code
762
- : undefined,
763
- };
764
- }
765
- function format_tool_error(details) {
766
- if (details.kind === 'unsupported_language') {
767
- return details.message;
768
- }
769
- const lines = [
770
- details.language
771
- ? `${details.language} LSP unavailable for ${details.file}`
772
- : `LSP request failed for ${details.file}`,
773
- `Reason: ${details.message}`,
774
- ];
775
- if (details.command) {
776
- lines.push(`Command: ${details.command}`);
777
- }
778
- if (details.workspace_root) {
779
- lines.push(`Workspace: ${details.workspace_root}`);
780
- }
781
- if (details.install_hint) {
782
- lines.push(`Hint: ${details.install_hint}`);
783
- }
784
- return lines.join('\n');
785
- }
786
- function severity_label(severity) {
787
- switch (severity) {
788
- case 1:
789
- return 'error';
790
- case 2:
791
- return 'warning';
792
- case 3:
793
- return 'info';
794
- case 4:
795
- return 'hint';
796
- default:
797
- return 'info';
798
- }
799
- }
800
- function format_diagnostics(file, diagnostics) {
801
- if (diagnostics.length === 0) {
802
- return `${file}: no diagnostics`;
803
- }
804
- const lines = [`${file}: ${diagnostics.length} diagnostic(s)`];
805
- for (const d of diagnostics) {
806
- const position = `${d.range.start.line + 1}:${d.range.start.character + 1}`;
807
- const source = d.source ? ` [${d.source}]` : '';
808
- const code = d.code != null ? ` (${d.code})` : '';
809
- lines.push(` ${position} ${severity_label(d.severity)}${source}${code}: ${d.message}`);
810
- }
811
- return lines.join('\n');
812
- }
813
- function format_hover(hover) {
814
- if (!hover)
815
- return 'No hover info.';
816
- const contents = hover.contents;
817
- const extract = (item) => (typeof item === 'string' ? item : (item.value ?? ''));
818
- if (Array.isArray(contents)) {
819
- return (contents.map(extract).join('\n\n').trim() || 'No hover info.');
820
- }
821
- return extract(contents).trim() || 'No hover info.';
822
- }
823
- function format_locations(locations, empty_message) {
824
- if (locations.length === 0)
825
- return empty_message;
826
- return locations
827
- .map((loc) => {
828
- const path = file_url_to_path_or_value(loc.uri);
829
- return `${path}:${loc.range.start.line + 1}:${loc.range.start.character + 1}`;
830
- })
831
- .join('\n');
832
- }
833
- function format_document_symbols(file, symbols) {
834
- if (symbols.length === 0) {
835
- return `${file}: no symbols`;
836
- }
837
- const lines = [`${file}: ${symbols.length} top-level symbol(s)`];
838
- append_symbol_lines(lines, symbols, 1);
839
- return lines.join('\n');
840
- }
841
- function find_symbol_matches(symbols, query, options) {
842
- const normalized = query.trim().toLowerCase();
843
- if (!normalized)
844
- return [];
845
- const matches = [];
846
- const matches_query = (symbol) => {
847
- const values = [symbol.name, symbol.detail ?? ''].map((value) => value.trim().toLowerCase());
848
- return options.exact_match
849
- ? values.some((value) => value === normalized)
850
- : values.some((value) => value.includes(normalized));
851
- };
852
- const matches_kind = (symbol) => {
853
- if (options.kinds.size === 0)
854
- return true;
855
- return options.kinds.has(symbol_kind_label(symbol.kind));
856
- };
857
- const visit = (entries, depth) => {
858
- for (const symbol of entries) {
859
- if (matches_kind(symbol) && matches_query(symbol)) {
860
- matches.push({ symbol, depth });
861
- if (matches.length >= options.max_results) {
862
- return;
863
- }
864
- }
865
- if (!options.top_level_only && symbol.children?.length) {
866
- visit(symbol.children, depth + 1);
867
- if (matches.length >= options.max_results) {
868
- return;
869
- }
870
- }
871
- }
872
- };
873
- visit(symbols, 1);
874
- return matches;
875
- }
876
- function format_symbol_matches(file, query, matches) {
877
- if (matches.length === 0) {
878
- return `${file}: no symbols matching "${query}"`;
879
- }
880
- const lines = [
881
- `${file}: ${matches.length} symbol match(es) for "${query}"`,
882
- ];
883
- for (const { symbol, depth } of matches) {
884
- const indent = ' '.repeat(depth);
885
- const detail = symbol.detail ? ` — ${symbol.detail}` : '';
886
- const range = `${symbol.range.start.line + 1}:${symbol.range.start.character + 1}`;
887
- lines.push(`${indent}${symbol_kind_label(symbol.kind)} ${symbol.name}${detail} @ ${range}`);
888
- }
889
- return lines.join('\n');
890
- }
891
- function append_symbol_lines(lines, symbols, depth) {
892
- for (const symbol of symbols) {
893
- const indent = ' '.repeat(depth);
894
- const detail = symbol.detail ? ` — ${symbol.detail}` : '';
895
- const range = `${symbol.range.start.line + 1}:${symbol.range.start.character + 1}`;
896
- lines.push(`${indent}${symbol_kind_label(symbol.kind)} ${symbol.name}${detail} @ ${range}`);
897
- if (symbol.children?.length) {
898
- append_symbol_lines(lines, symbol.children, depth + 1);
899
- }
900
- }
901
- }
902
- function symbol_kind_label(kind) {
903
- return SYMBOL_KIND_LABELS[kind] ?? 'symbol';
904
- }
905
- function file_url_to_path_or_value(uri) {
906
- try {
907
- return uri.startsWith('file:') ? fileURLToPath(uri) : uri;
908
- }
909
- catch {
910
- return uri;
911
- }
912
- }
913
640
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,GAKV,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EACN,iBAAiB,EACjB,eAAe,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EACN,gBAAgB,EAChB,SAAS,EACT,mBAAmB,GAOnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,GAExB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,+BAA+B,EAC/B,4BAA4B,EAC5B,qBAAqB,GACrB,MAAM,YAAY,CAAC;AAyBpB,MAAM,YAAa,SAAQ,KAAK;IAC/B,OAAO,CAAsB;IAE7B,YAAY,OAA4B;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;CACD;AAED,MAAM,wBAAyB,SAAQ,KAAK;IAC3C,YAAY,QAAgB,EAAE,cAAsB;QACnD,KAAK,CACJ,yBAAyB,QAAQ,WAAW,cAAc,EAAE,CAC5D,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACxC,CAAC;CACD;AAOD,MAAM,kBAAkB,GAA2B;IAClD,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,aAAa;IAChB,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,OAAO;CACX,CAAC;AAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC5D,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CACpC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC9B,iBAAiB;IACjB,sBAAsB;IACtB,iBAAiB;IACjB,WAAW;IACX,gBAAgB;IAChB,gBAAgB;IAChB,sBAAsB;CACtB,CAAC,CAAC;AAEH,MAAM,4BAA4B,GAAG,CAAC,CAAC;AACvC,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAE1D,KAAK,UAAU,6BAA6B,CAC3C,aAA8B,EAC9B,GAAsB;IAEtB,IAAI,CAAC,aAAa,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,qBAAqB,CAAC,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9D,MAAM,OAAO,GAAG;QACf,GAAG,+BAA+B,CAAC,aAAa,CAAC,OAAO,CAAC;QACzD,YAAY,EACX,kFAAkF;QACnF,aAAa,EAAE;YACd,aAAa,aAAa,CAAC,QAAQ,EAAE;YACrC,WAAW,aAAa,CAAC,OAAO,EAAE;SAClC;QACD,gBAAgB,EAAE,gDAAgD,aAAa,CAAC,OAAO,SAAS,sBAAsB,mCAAmC;KACzJ,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE;QACrD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,GAAG,EAAE,KAAK;QAClB,MAAM,EAAE,GAAG,EAAE,KAAK;YACjB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAC3B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE;YAC/C,CAAC,CAAC,SAAS;QACZ,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,gBAAgB,EAAE,4BAA4B,EAAE;KAChD,CAAC,CAAC;IAEH,OAAO,CACN,QAAQ,CAAC,MAAM,KAAK,YAAY;QAChC,QAAQ,CAAC,MAAM,KAAK,iBAAiB,CACrC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CACvC,KAAyD;IAEzD,MAAM,cAAc,GAAG,KAAK,CAAC,mBAAmB,EAAE,aAAa,CAAC;IAChE,OAAO,CACN,CAAC,cAAc;QACf,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAClC,KAAU,EACV,WAAmB,EACnB,MAA8C;IAE9C,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEzD,MAAM,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,IAAI,EAAE;QAC/C,OAAO,IAAI,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,UAAU,CAAC;YACzB,UAAU,IAAI,CAAC,CAAC;YAChB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO;YAClC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;IACF,CAAC,CAAC,CACF,CAAC;IAEF,OAAO,OAAO,CAAC;AAChB,CAAC;AA8BD,MAAM,UAAU,oBAAoB,CACnC,UAAqC,EAAE;IAEvC,MAAM,aAAa,GAClB,OAAO,CAAC,aAAa;QACrB,CAAC,CAAC,cAAgC,EAAE,EAAE,CACrC,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GACd,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAElE,OAAO,KAAK,UAAU,GAAG,CAAC,EAAgB;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC7C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;QACzD,MAAM,cAAc,GAAG,IAAI,GAAG,EAA+B,CAAC;QAC9D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA+B,CAAC;QAEhE,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE,CAC5C,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,CAClB,QAAgB,EAChB,cAAsB,EACb,EAAE,CAAC,GAAG,QAAQ,SAAS,cAAc,EAAE,CAAC;QAClD,MAAM,gBAAgB,GAAG,CACxB,IAAY,EACZ,UAAmB,EAAE,EACpB,EAAE,CAAC,CAAC;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;YAC1C,OAAO;SACP,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,CAAC,OAA4B,EAAE,EAAE,CACxD,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;YAC5C,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,OAAO;SACd,CAAC,CAAC;QAEJ,MAAM,oBAAoB,GAAG,KAAK,EACjC,QAAiB,EACD,EAAE;YAClB,MAAM,MAAM,GAAG,QAAQ;gBACtB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAC1C;gBACF,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,QAAQ;gBACxB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CACxD,GAAG,CAAC,UAAU,CAAC,GAAG,QAAQ,QAAQ,CAAC,CACnC;gBACF,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACvC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzB,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,OAAO,CAAC,UAAU,CACvB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAC9C,CAAC;YACF,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC5B,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,cAAc,CAAC,KAAK,EAAE,CAAC;gBACvB,OAAO;YACR,CAAC;YACD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACnC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,KAAK,EAChC,SAAiB,EACjB,GAAsB,EACa,EAAE;YACrC,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAChC,MAAM,cAAc,GAAG,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;YACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,SAAS;gBAAE,OAAO,SAAS,CAAC,OAAO,CAAC;YAExC,IAAI,aAAa,GAAG,iBAAiB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa;gBAAE,OAAO,SAAS,CAAC;YACrC,IACC,aAAa,CAAC,gBAAgB;gBAC9B,CAAC,CAAC,MAAM,6BAA6B,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,EACzD,CAAC;gBACF,aAAa,GAAG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACjD,IAAI,CAAC,aAAa;oBAAE,OAAO,SAAS,CAAC;YACtC,CAAC;YACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAElD,MAAM,OAAO,GAAwB;gBACpC,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO,CAA0B,SAAS,CAAC;aAC5D,CAAC;YACF,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;gBACjC,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC5B,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,IAAI,EAAE,aAAa,CAAC,IAAI;oBACxB,QAAQ;oBACR,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC;iBACvD,CAAC,CAAC;gBAEH,IAAI,CAAC;oBACJ,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;wBACvB,MAAM,IAAI,wBAAwB,CACjC,QAAQ,EACR,cAAc,CACd,CAAC;oBACH,CAAC;oBACD,MAAM,OAAO,GAAG,iBAAiB,CAChC,SAAS,EACT,QAAQ,EACR,cAAc,EACd,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,YAAY,EAC1B,KAAK,CACL,CAAC;oBACF,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACjC,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC;gBAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACvB,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC1C,MAAM,IAAI,wBAAwB,CACjC,QAAQ,EACR,cAAc,CACd,CAAC;gBACH,CAAC;gBAED,MAAM,KAAK,GAAgB;oBAC1B,MAAM;oBACN,QAAQ;oBACR,cAAc;oBACd,QAAQ;oBACR,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,YAAY,EAAE,aAAa,CAAC,YAAY;iBACxC,CAAC;gBACF,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAClC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,KAAK,CAAC;YACd,CAAC,CAAC,EAAE,CAAC;YAEL,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC;YAChC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC;gBACJ,OAAO,MAAM,aAAa,CAAC;YAC5B,CAAC;oBAAS,CAAC;gBACV,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;oBAC3C,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,KAAK,EACtB,KAAkB,EAClB,QAAgB,EACE,EAAE;YACpB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO,GAAG,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,KAAK,EAC3B,IAAY,EACZ,GAAsB,EAQrB,EAAE;YACH,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK;gBAAE,OAAO,SAAS,CAAC;YAC7B,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACxC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,KAAK,EAC/B,IAAY,EACZ,GAAsB,EACrB,EAAE;YACH,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,OAAO;wBACN,EAAE,EAAE,KAAc;wBAClB,KAAK,EAAE;4BACN,IAAI,EAAE,sBAA+B;4BACrC,IAAI,EAAE,GAAG;4BACT,OAAO,EAAE,qCAAqC,GAAG,EAAE;yBACnD;qBACD,CAAC;gBACH,CAAC;gBACD,OAAO;oBACN,EAAE,EAAE,IAAa;oBACjB,MAAM;iBACN,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;oBACnC,OAAO;wBACN,EAAE,EAAE,KAAc;wBAClB,KAAK,EAAE,KAAK,CAAC,OAAO;qBACpB,CAAC;gBACH,CAAC;gBACD,OAAO;oBACN,EAAE,EAAE,KAAc;oBAClB,KAAK,EAAE;wBACN,IAAI,EAAE,uBAAgC;wBACtC,IAAI,EAAE,GAAG;wBACT,OAAO,EACN,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBACvD;iBACD,CAAC;YACH,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,KAAK,EAC5B,IAAY,EACZ,GAAqB,EACrB,GAIqB,EACpB,EAAE;YACH,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;YAC5B,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/B,OAAO,gBAAgB,CAAC,IAAI,EAAE;oBAC7B,EAAE,EAAE,IAAI;oBACR,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;oBAC/B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;oBAC7B,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;iBAC3C,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,eAAe,CACrB,iBAAiB,CAChB,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,KAAK,CAAC,QAAQ,EACrB,MAAM,CAAC,KAAK,CAAC,cAAc,EAC3B,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,KAAK,CACL,CACD,CAAC;YACH,CAAC;QACF,CAAC,CAAC;QAEF,EAAE,CAAC,YAAY,CACd,UAAU,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,kBAAkB;YACzB,WAAW,EACV,uJAAuJ;YACxJ,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACvB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;oBACjB,WAAW,EACV,0DAA0D;iBAC3D,CAAC;gBACF,OAAO,EAAE,IAAI,CAAC,QAAQ,CACrB,IAAI,CAAC,MAAM,CAAC;oBACX,WAAW,EACV,sEAAsE;iBACvE,CAAC,CACF;aACD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CACxD,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAClD,MAAM,WAAW,GAChB,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAC7C,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,OAAO,IAAI,IAAI,CACtB,CAAC;gBACH,OAAO,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACpD,CAAC,CAAC;SACH,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,YAAY,CACd,UAAU,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EACV,oHAAoH;YACrH,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;oBAChC,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,GAAG;oBACb,WAAW,EACV,+CAA+C;iBAChD,CAAC;gBACF,OAAO,EAAE,IAAI,CAAC,QAAQ,CACrB,IAAI,CAAC,MAAM,CAAC;oBACX,WAAW,EACV,uEAAuE;iBACxE,CAAC,CACF;aACD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE;gBACxD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;gBACvC,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,CAClD,MAAM,CAAC,KAAK,EACZ,4BAA4B,EAC5B,KAAK,EAAE,IAAI,EAAE,EAAE;oBACd,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACrD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBAClB,OAAO;4BACN,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACvC,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,IAAI;yBACX,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC;wBACJ,MAAM,WAAW,GAChB,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CACtD,QAAQ,CAAC,MAAM,CAAC,GAAG,EACnB,OAAO,CACP,CAAC;wBACH,OAAO;4BACN,IAAI,EAAE,kBAAkB,CACvB,QAAQ,CAAC,MAAM,CAAC,GAAG,EACnB,WAAW,CACX;4BACD,WAAW,EAAE,WAAW,CAAC,MAAM;4BAC/B,KAAK,EAAE,KAAK;yBACZ,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,OAAO;4BACN,IAAI,EAAE,iBAAiB,CACtB,iBAAiB,CAChB,QAAQ,CAAC,MAAM,CAAC,GAAG,EACnB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAC9B,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EACpC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAC7B,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAClC,KAAK,CACL,CACD;4BACD,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,IAAI;yBACX,CAAC;oBACH,CAAC;gBACF,CAAC,CACD,CAAC;gBAEF,IAAI,gBAAgB,GAAG,CAAC,CAAC;gBACzB,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACvB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBACjB,WAAW,IAAI,CAAC,CAAC;oBAClB,CAAC;yBAAM,CAAC;wBACP,gBAAgB,IAAI,KAAK,CAAC,WAAW,CAAC;wBACtC,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC;4BAAE,WAAW,IAAI,CAAC,CAAC;oBAC/C,CAAC;gBACF,CAAC;gBAED,OAAO,gBAAgB,CACtB;oBACC,WAAW,MAAM,CAAC,KAAK,CAAC,MAAM,aAAa,gBAAgB,mBAAmB,WAAW,WAAW,WAAW,WAAW;oBAC1H,GAAG,KAAK;iBACR,CAAC,IAAI,CAAC,MAAM,CAAC,EACd;oBACC,EAAE,EAAE,WAAW,KAAK,CAAC;oBACrB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;oBAC5B,gBAAgB;oBAChB,WAAW;oBACX,WAAW;iBACX,CACD,CAAC;YACH,CAAC;SACD,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,YAAY,CACd,UAAU,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,kBAAkB;YACzB,WAAW,EACV,uIAAuI;YACxI,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACvB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;gBACnB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;oBAClB,WAAW,EACV,kDAAkD;iBACnD,CAAC;gBACF,WAAW,EAAE,IAAI,CAAC,QAAQ,CACzB,IAAI,CAAC,MAAM,CAAC;oBACX,WAAW,EACV,8CAA8C;iBAC/C,CAAC,CACF;gBACD,cAAc,EAAE,IAAI,CAAC,QAAQ,CAC5B,IAAI,CAAC,OAAO,CAAC;oBACZ,WAAW,EACV,8CAA8C;iBAC/C,CAAC,CACF;gBACD,WAAW,EAAE,IAAI,CAAC,QAAQ,CACzB,IAAI,CAAC,OAAO,CAAC;oBACZ,WAAW,EACV,wFAAwF;iBACzF,CAAC,CACF;gBACD,KAAK,EAAE,IAAI,CAAC,QAAQ,CACnB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;oBAC9B,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,iBAAiB,CAAC,MAAM;oBAClC,WAAW,EAAE,yCAAyC;iBACtD,CAAC,CACF;aACD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CACxD,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAClD,MAAM,OAAO,GACZ,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxD,MAAM,OAAO,GAAG,mBAAmB,CAClC,OAAO,EACP,MAAM,CAAC,KAAK,EACZ;oBACC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;oBACrC,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK;oBAC9C,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK;oBACxC,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;iBAClC,CACD,CAAC;gBACF,OAAO,qBAAqB,CAC3B,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,KAAK,EACZ,OAAO,CACP,CAAC;YACH,CAAC,CAAC;SACH,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,YAAY,CACd,UAAU,CAAC;YACV,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,YAAY;YACnB,WAAW,EACV,iFAAiF;YAClF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACvB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;gBACnB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;oBACjB,WAAW,EAAE,yBAAyB;iBACtC,CAAC;gBACF,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;oBACtB,WAAW,EAAE,8BAA8B;iBAC3C,CAAC;aACF,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CACxD,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAClD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAC5C,MAAM,CAAC,GAAG,EACV;oBACC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC3B,CACD,CAAC;gBACF,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC;SACH,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,YAAY,CACd,UAAU,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EACV,mFAAmF;YACpF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACvB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;gBACnB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;gBACnB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;aACxB,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CACxD,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAClD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CACrD,MAAM,CAAC,GAAG,EACV;oBACC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC3B,CACD,CAAC;gBACF,OAAO,gBAAgB,CACtB,SAAS,EACT,sBAAsB,CACtB,CAAC;YACH,CAAC,CAAC;SACH,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,YAAY,CACd,UAAU,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EACV,wEAAwE;YACzE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACvB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;gBACnB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;gBACnB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;gBACxB,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aAClD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CACxD,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAClD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CACrD,MAAM,CAAC,GAAG,EACV;oBACC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC3B,EACD,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAClC,CAAC;gBACF,OAAO,gBAAgB,CACtB,SAAS,EACT,sBAAsB,CACtB,CAAC;YACH,CAAC,CAAC;SACH,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,YAAY,CACd,UAAU,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EACV,mFAAmF;YACpF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACvB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;aACnB,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CACxD,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAClD,MAAM,OAAO,GACZ,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxD,OAAO,uBAAuB,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC,CAAC;SACH,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,EAAE,CACJ,oBAAoB,EACpB,KAAK,EAAE,KAA4B,EAAE,EAAE;YACtC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAChD,OAAO;gBACN,YAAY,EACX,KAAK,CAAC,YAAY;oBAClB;;;;;;;;;;qLAU+K;aAChL,CAAC;QACH,CAAC,CACD,CAAC;QAEF,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE;YACzB,WAAW,EAAE,sCAAsC;YACnD,sBAAsB,EAAE,CAAC,MAAM,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBAClD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBACpB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAClC,KAAK;wBACL,KAAK,EAAE,KAAK;qBACZ,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACvB,OAAO,WAAW;yBAChB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC7C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACjC,OAAO,CAAC,KAAK,EAAE,GAAG,wBAAwB,EAAE,CAAC;yBAC3C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;yBAC9C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAChB,KAAK,EAAE,WAAW,KAAK,EAAE;wBACzB,KAAK,EAAE,KAAK;qBACZ,CAAC,CAAC,CAAC;gBACN,CAAC;gBACD,OAAO,IAAI,CAAC;YACb,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC5B,MAAM,kBAAkB,CACvB,IAAI,EACJ,GAAG,EACH,GAAG,EACH,iBAAiB,EACjB,cAAc,EACd,oBAAoB,CACpB,CAAC;YACH,CAAC;SACD,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAED,eAAe,oBAAoB,EAAE,CAAC;AAEtC,KAAK,UAAU,kBAAkB,CAChC,IAAY,EACZ,GAA4B,EAC5B,GAAW,EACX,iBAA2C,EAC3C,cAAgD,EAChD,oBAA0D;IAE1D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CACzC,GAAG,EACH,GAAG,EACH,iBAAiB,EACjB,cAAc,CACd,CAAC;YACF,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,wBAAwB,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;gBAC1D,SAAS;YACV,CAAC;YACD,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAChC,MAAM,uBAAuB,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;gBACzD,SAAS;YACV,CAAC;YACD,MAAM,mBAAmB,CACxB,GAAG,EACH,QAAQ,KAAK,SAAS;gBACrB,CAAC,CAAC,qBAAqB;gBACvB,CAAC,CAAC,QAAQ,KAAK,QAAQ;oBACtB,CAAC,CAAC,oBAAoB;oBACtB,CAAC,CAAC,YAAY,EAChB,eAAe,CACd,QAAQ,EACR,GAAG,EACH,iBAAiB,EACjB,cAAc,CACd,CACD,CAAC;QACH,CAAC;IACF,CAAC;IAED,MAAM,CAAC,UAAU,GAAG,QAAQ,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAE9C,QAAQ,UAAU,EAAE,CAAC;QACpB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM;YACV,MAAM,gBAAgB,CACrB,GAAG,EACH,YAAY,EACZ,mBAAmB,CAClB,GAAG,EACH,iBAAiB,EACjB,cAAc,CACd,CAAC,IAAI,CAAC,IAAI,CAAC,CACZ,CAAC;YACF,OAAO;QACR,KAAK,SAAS,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,wBAAwB,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;gBAC1D,OAAO;YACR,CAAC;YACD,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACjC,MAAM,oBAAoB,EAAE,CAAC;gBAC7B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC;gBACtD,OAAO;YACR,CAAC;YACD,IAAI,CAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,qBAAqB,MAAM,iBAAiB,wBAAwB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACnF,SAAS,CACT,CAAC;gBACF,OAAO;YACR,CAAC;YACD,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACnC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,MAAM,yBAAyB,CAAC,CAAC;YAC5D,OAAO;QACR,CAAC;QACD;YACC,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,uBAAuB,UAAU,8BAA8B,EAC/D,SAAS,CACT,CAAC;IACJ,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,GAA4B;IACjD,OAAO,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC9B,GAA4B,EAC5B,KAAa,EACb,IAAY;IAEZ,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO;IACR,CAAC;IACD,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,mBAAmB,CACjC,GAA4B,EAC5B,GAAW,EACX,iBAA2C,EAC3C,cAAgD;IAEhD,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC;IAC7C,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;IACzC,OAAO,MAAM,iBAAiB,CAAC,GAAG,EAAE;QACnC,KAAK,EAAE,kBAAkB;QACzB,QAAQ,EAAE,GAAG,aAAa,cAAc,YAAY,aAAa,wBAAwB,EAAE,CAAC,MAAM,YAAY;QAC9G,KAAK,EAAE;YACN;gBACC,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,uCAAuC,GAAG,EAAE;aACzD;YACD;gBACC,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,GAAG,aAAa,6BAA6B;aAC1D;YACD;gBACC,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EAAE,GAAG,YAAY,mBAAmB;aAC/C;YACD;gBACC,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EAAE,sCAAsC;aACnD;YACD;gBACC,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,oCAAoC;aACjD;SACD;QACD,MAAM,EAAE,8BAA8B;KACtC,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CACjC,GAA4B,EAC5B,KAAa,EACb,IAAY;IAEZ,MAAM,eAAe,CAAC,GAAG,EAAE;QAC1B,KAAK;QACL,IAAI;QACJ,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC/C,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CACtC,GAA4B,EAC5B,oBAA0D;IAE1D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE;QAC7C,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,oCAAoC;QAC9C,KAAK,EAAE;YACN;gBACC,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,oCAAoC;aACjD;YACD,GAAG,wBAAwB,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAChD,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,WAAW,QAAQ,wBAAwB;aACxD,CAAC,CAAC;SACH;QACD,MAAM,EAAE,2BAA2B;KACnC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACxB,MAAM,uBAAuB,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;QACzD,OAAO;IACR,CAAC;IACD,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACrC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,QAAQ,yBAAyB,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,uBAAuB,CACrC,GAA4B,EAC5B,oBAA0D;IAE1D,MAAM,oBAAoB,EAAE,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,eAAe,CACvB,IAAY,EACZ,GAAW,EACX,iBAA2C,EAC3C,cAAgD;IAEhD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,2BAA2B,CAAC,iBAAiB,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAClB,CAAC,CAAC,8BAA8B,CAAC;IACnC,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,0BAA0B,CAAC,cAAc,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAClB,CAAC,CAAC,6BAA6B,CAAC;IAClC,CAAC;IACD,OAAO,mBAAmB,CACzB,GAAG,EACH,iBAAiB,EACjB,cAAc,CACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CACnC,iBAA2C;IAE3C,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;SAC3C,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CACjD;SACA,GAAG,CACH,CAAC,KAAK,EAAE,EAAE,CACT,GAAG,KAAK,CAAC,QAAQ,oBAAoB,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,KAAK,CAAC,OAAO,eAAe,KAAK,CAAC,cAAc,GAAG,CACvH,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAClC,cAAgD;IAEhD,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;SACxC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,aAAa,CACrC,CAAC,CAAC,cAAc,IAAI,EAAE,CACtB,CACF;SACA,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAChB,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc;YACvC,CAAC,CAAC,eAAe,OAAO,CAAC,cAAc,GAAG;YAC1C,CAAC,CAAC,EAAE,CAAC;QACN,OAAO,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,cAAc,OAAO,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC;IACpF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAC3B,GAAW,EACX,iBAA2C,EAC3C,cAAgD;IAEhD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACjE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CACjD,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACtC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CACT,GAAG,OAAO,CAAC,QAAQ,oBAAoB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,OAAO,CAAC,OAAO,eAAe,OAAO,CAAC,cAAc,GAAG,CAC9H,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACxD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAC/D,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc;YACvC,CAAC,CAAC,eAAe,OAAO,CAAC,cAAc,GAAG;YAC1C,CAAC,CAAC,EAAE,CAAC;QACN,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC/C,KAAK,CAAC,IAAI,CACT,GAAG,QAAQ,cAAc,OAAO,CAAC,OAAO,GAAG,SAAS,EAAE,CACtD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,wBAAwB,EAAE,EAAE,CAAC;QACnD,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC7C,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,MAAM,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;QACtB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,iBAAiB,CACzB,IAAY,EACZ,QAAgB,EAChB,cAAsB,EACtB,OAAe,EACf,YAAgC,EAChC,KAAc;IAEd,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;QAC1C,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC/C,OAAO;YACN,IAAI,EAAE,qBAAqB;YAC3B,IAAI;YACJ,QAAQ;YACR,cAAc;YACd,OAAO;YACP,YAAY;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,cAAc;gBACtB,CAAC,CAAC,YAAY,OAAO,aAAa;gBAClC,CAAC,CAAC,KAAK,CAAC,OAAO;SAChB,CAAC;IACH,CAAC;IACD,OAAO;QACN,IAAI,EAAE,uBAAuB;QAC7B,IAAI;QACJ,QAAQ;QACR,cAAc;QACd,OAAO;QACP,YAAY;QACZ,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/D,IAAI,EACH,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,MAAM,IAAI,KAAK;YACf,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;YACrD,CAAC,CAAE,KAA0B,CAAC,IAAI;YAClC,CAAC,CAAC,SAAS;KACb,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA4B;IACtD,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,OAAO,CAAC;IACxB,CAAC;IACD,MAAM,KAAK,GAAG;QACb,OAAO,CAAC,QAAQ;YACf,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,wBAAwB,OAAO,CAAC,IAAI,EAAE;YAC3D,CAAC,CAAC,0BAA0B,OAAO,CAAC,IAAI,EAAE;QAC3C,WAAW,OAAO,CAAC,OAAO,EAAE;KAC5B,CAAC;IACF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,cAAc,CAAC,QAAmC;IAC1D,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,CAAC;YACL,OAAO,OAAO,CAAC;QAChB,KAAK,CAAC;YACL,OAAO,SAAS,CAAC;QAClB,KAAK,CAAC;YACL,OAAO,MAAM,CAAC;QACf,KAAK,CAAC;YACL,OAAO,MAAM,CAAC;QACf;YACC,OAAO,MAAM,CAAC;IAChB,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CAC1B,IAAY,EACZ,WAA4B;IAE5B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,IAAI,kBAAkB,CAAC;IAClC,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,KAAK,WAAW,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAC/D,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC5E,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CACT,KAAK,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAC3E,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,YAAY,CAAC,KAAsB;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,gBAAgB,CAAC;IACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,OAAO,GAAG,CACf,IAGkC,EACzB,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CACN,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,gBAAgB,CAC7D,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,gBAAgB,CAAC;AACrD,CAAC;AAED,SAAS,gBAAgB,CACxB,SAAwB,EACxB,aAAqB;IAErB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC;IACjD,OAAO,SAAS;SACd,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;IAC/E,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAC/B,IAAY,EACZ,OAA4B;IAE5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,cAAc,CAAC;IAC9B,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,sBAAsB,CAAC,CAAC;IACjE,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB,CAC3B,OAA4B,EAC5B,KAAa,EACb,OAKC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,MAAM,OAAO,GACZ,EAAE,CAAC;IACJ,MAAM,aAAa,GAAG,CAAC,MAAyB,EAAW,EAAE;QAC5D,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/D,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAC1B,CAAC;QACF,OAAO,OAAO,CAAC,WAAW;YACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC;YAC9C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,MAAyB,EAAW,EAAE;QAC3D,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CACb,OAA4B,EAC5B,KAAa,EACN,EAAE;QACT,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC3C,OAAO;gBACR,CAAC;YACF,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACxD,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAClC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC3C,OAAO;gBACR,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IACF,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAClB,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC7B,IAAY,EACZ,KAAa,EACb,OAA4D;IAE5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,0BAA0B,KAAK,GAAG,CAAC;IAClD,CAAC;IACD,MAAM,KAAK,GAAG;QACb,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,0BAA0B,KAAK,GAAG;KAC5D,CAAC;IACF,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QACnF,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,MAAM,KAAK,EAAE,CAC/E,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB,CAC3B,KAAe,EACf,OAA4B,EAC5B,KAAa;IAEb,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QACnF,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,MAAM,KAAK,EAAE,CAC/E,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC7B,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACtC,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;AAC7C,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAW;IAC7C,IAAI,CAAC;QACJ,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,GAAG,CAAC;IACZ,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spences10/pi-lsp",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "description": "Pi extension that exposes Language Server Protocol diagnostics, hover, definition, and reference tools",
5
5
  "keywords": [
6
6
  "language-server",
@@ -32,11 +32,11 @@
32
32
  "access": "public"
33
33
  },
34
34
  "dependencies": {
35
- "@mariozechner/pi-coding-agent": "^0.72.0",
35
+ "@mariozechner/pi-coding-agent": "^0.72.1",
36
36
  "typebox": "^1.1.37",
37
- "@spences10/pi-project-trust": "0.0.4",
38
- "@spences10/pi-tui-modal": "0.0.4",
39
- "@spences10/pi-child-env": "0.1.2"
37
+ "@spences10/pi-child-env": "0.1.3",
38
+ "@spences10/pi-project-trust": "0.0.5",
39
+ "@spences10/pi-tui-modal": "0.0.5"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "^25.6.0",
@@ -44,7 +44,7 @@
44
44
  "vitest": "^4.1.5"
45
45
  },
46
46
  "engines": {
47
- "node": ">=22.0.0"
47
+ "node": ">=24.15.0"
48
48
  },
49
49
  "pi": {
50
50
  "extensions": [
@@ -52,8 +52,11 @@
52
52
  ]
53
53
  },
54
54
  "scripts": {
55
- "build": "tsc -p tsconfig.build.json",
56
- "check": "tsc --noEmit -p tsconfig.json",
57
- "test": "pnpm --filter @spences10/pi-child-env run build && pnpm --filter @spences10/pi-project-trust run build && vitest run"
55
+ "build": "pnpm --filter \"$npm_package_name^...\" run build:self && pnpm run build:self",
56
+ "build:self": "tsc -p tsconfig.build.json",
57
+ "check": "pnpm --filter \"$npm_package_name^...\" run build:self && pnpm run check:self",
58
+ "check:self": "tsc --noEmit -p tsconfig.json",
59
+ "test": "pnpm --filter \"$npm_package_name^...\" run build:self && pnpm run test:self",
60
+ "test:self": "vitest run"
58
61
  }
59
62
  }