@theia/plugin-ext 1.27.0-next.26 → 1.27.0-next.30

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 (47) hide show
  1. package/lib/main/browser/custom-editors/custom-editor-opener.d.ts.map +1 -1
  2. package/lib/main/browser/custom-editors/custom-editor-opener.js +2 -2
  3. package/lib/main/browser/custom-editors/custom-editor-opener.js.map +1 -1
  4. package/lib/main/browser/documents-main.d.ts +1 -2
  5. package/lib/main/browser/documents-main.d.ts.map +1 -1
  6. package/lib/main/browser/documents-main.js.map +1 -1
  7. package/lib/main/browser/main-context.js +2 -2
  8. package/lib/main/browser/main-context.js.map +1 -1
  9. package/lib/main/browser/plugin-shared-style.d.ts +1 -1
  10. package/lib/main/browser/plugin-shared-style.d.ts.map +1 -1
  11. package/lib/main/browser/plugin-shared-style.js.map +1 -1
  12. package/lib/main/browser/view/plugin-view-registry.js +1 -1
  13. package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
  14. package/lib/main/browser/view/tree-view-widget.d.ts +2 -2
  15. package/lib/main/browser/view/tree-view-widget.d.ts.map +1 -1
  16. package/lib/main/browser/view/tree-view-widget.js +7 -7
  17. package/lib/main/browser/view/tree-view-widget.js.map +1 -1
  18. package/lib/main/browser/webview/webview-theme-data-provider.d.ts +1 -1
  19. package/lib/main/browser/webview/webview-theme-data-provider.d.ts.map +1 -1
  20. package/lib/main/browser/webview/webview-theme-data-provider.js.map +1 -1
  21. package/lib/plugin/theming.d.ts +1 -1
  22. package/lib/plugin/theming.d.ts.map +1 -1
  23. package/package.json +24 -24
  24. package/src/main/browser/custom-editors/custom-editor-opener.tsx +2 -2
  25. package/src/main/browser/documents-main.ts +1 -2
  26. package/src/main/browser/main-context.ts +1 -1
  27. package/src/main/browser/plugin-icon-theme-service.ts +1 -1
  28. package/src/main/browser/plugin-shared-style.ts +2 -1
  29. package/src/main/browser/view/plugin-view-registry.ts +2 -2
  30. package/src/main/browser/view/tree-view-widget.tsx +9 -7
  31. package/src/main/browser/webview/webview-theme-data-provider.ts +2 -1
  32. package/src/plugin/theming.ts +1 -1
  33. package/lib/main/browser/custom-editors/glob.d.ts +0 -51
  34. package/lib/main/browser/custom-editors/glob.d.ts.map +0 -1
  35. package/lib/main/browser/custom-editors/glob.js +0 -593
  36. package/lib/main/browser/custom-editors/glob.js.map +0 -1
  37. package/lib/main/browser/custom-editors/paths.d.ts +0 -25
  38. package/lib/main/browser/custom-editors/paths.d.ts.map +0 -1
  39. package/lib/main/browser/custom-editors/paths.js +0 -227
  40. package/lib/main/browser/custom-editors/paths.js.map +0 -1
  41. package/lib/main/browser/editor/untitled-resource.d.ts +0 -3
  42. package/lib/main/browser/editor/untitled-resource.d.ts.map +0 -1
  43. package/lib/main/browser/editor/untitled-resource.js +0 -24
  44. package/lib/main/browser/editor/untitled-resource.js.map +0 -1
  45. package/src/main/browser/custom-editors/glob.ts +0 -743
  46. package/src/main/browser/custom-editors/paths.ts +0 -250
  47. package/src/main/browser/editor/untitled-resource.ts +0 -18
package/package.json CHANGED
@@ -1,33 +1,33 @@
1
1
  {
2
2
  "name": "@theia/plugin-ext",
3
- "version": "1.27.0-next.26+4e882720cfd",
3
+ "version": "1.27.0-next.30+b3adc5ae1b4",
4
4
  "description": "Theia - Plugin Extension",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
7
7
  "dependencies": {
8
- "@theia/bulk-edit": "1.27.0-next.26+4e882720cfd",
9
- "@theia/callhierarchy": "1.27.0-next.26+4e882720cfd",
10
- "@theia/console": "1.27.0-next.26+4e882720cfd",
11
- "@theia/core": "1.27.0-next.26+4e882720cfd",
12
- "@theia/debug": "1.27.0-next.26+4e882720cfd",
13
- "@theia/editor": "1.27.0-next.26+4e882720cfd",
14
- "@theia/file-search": "1.27.0-next.26+4e882720cfd",
15
- "@theia/filesystem": "1.27.0-next.26+4e882720cfd",
16
- "@theia/markers": "1.27.0-next.26+4e882720cfd",
17
- "@theia/messages": "1.27.0-next.26+4e882720cfd",
18
- "@theia/monaco": "1.27.0-next.26+4e882720cfd",
8
+ "@theia/bulk-edit": "1.27.0-next.30+b3adc5ae1b4",
9
+ "@theia/callhierarchy": "1.27.0-next.30+b3adc5ae1b4",
10
+ "@theia/console": "1.27.0-next.30+b3adc5ae1b4",
11
+ "@theia/core": "1.27.0-next.30+b3adc5ae1b4",
12
+ "@theia/debug": "1.27.0-next.30+b3adc5ae1b4",
13
+ "@theia/editor": "1.27.0-next.30+b3adc5ae1b4",
14
+ "@theia/file-search": "1.27.0-next.30+b3adc5ae1b4",
15
+ "@theia/filesystem": "1.27.0-next.30+b3adc5ae1b4",
16
+ "@theia/markers": "1.27.0-next.30+b3adc5ae1b4",
17
+ "@theia/messages": "1.27.0-next.30+b3adc5ae1b4",
18
+ "@theia/monaco": "1.27.0-next.30+b3adc5ae1b4",
19
19
  "@theia/monaco-editor-core": "1.65.2",
20
- "@theia/navigator": "1.27.0-next.26+4e882720cfd",
21
- "@theia/output": "1.27.0-next.26+4e882720cfd",
22
- "@theia/plugin": "1.27.0-next.26+4e882720cfd",
23
- "@theia/preferences": "1.27.0-next.26+4e882720cfd",
24
- "@theia/scm": "1.27.0-next.26+4e882720cfd",
25
- "@theia/search-in-workspace": "1.27.0-next.26+4e882720cfd",
26
- "@theia/task": "1.27.0-next.26+4e882720cfd",
27
- "@theia/terminal": "1.27.0-next.26+4e882720cfd",
28
- "@theia/timeline": "1.27.0-next.26+4e882720cfd",
29
- "@theia/variable-resolver": "1.27.0-next.26+4e882720cfd",
30
- "@theia/workspace": "1.27.0-next.26+4e882720cfd",
20
+ "@theia/navigator": "1.27.0-next.30+b3adc5ae1b4",
21
+ "@theia/output": "1.27.0-next.30+b3adc5ae1b4",
22
+ "@theia/plugin": "1.27.0-next.30+b3adc5ae1b4",
23
+ "@theia/preferences": "1.27.0-next.30+b3adc5ae1b4",
24
+ "@theia/scm": "1.27.0-next.30+b3adc5ae1b4",
25
+ "@theia/search-in-workspace": "1.27.0-next.30+b3adc5ae1b4",
26
+ "@theia/task": "1.27.0-next.30+b3adc5ae1b4",
27
+ "@theia/terminal": "1.27.0-next.30+b3adc5ae1b4",
28
+ "@theia/timeline": "1.27.0-next.30+b3adc5ae1b4",
29
+ "@theia/variable-resolver": "1.27.0-next.30+b3adc5ae1b4",
30
+ "@theia/workspace": "1.27.0-next.30+b3adc5ae1b4",
31
31
  "@types/mime": "^2.0.1",
32
32
  "decompress": "^4.2.1",
33
33
  "escape-html": "^1.0.3",
@@ -93,5 +93,5 @@
93
93
  "nyc": {
94
94
  "extends": "../../configs/nyc.json"
95
95
  },
96
- "gitHead": "4e882720cfd1cdfc0f47a5bbd7b5a1f12d70ae1c"
96
+ "gitHead": "b3adc5ae1b46641c5429d171a03f6e9169307340"
97
97
  }
@@ -18,10 +18,10 @@ import { inject } from '@theia/core/shared/inversify';
18
18
  import URI from '@theia/core/lib/common/uri';
19
19
  import { ApplicationShell, OpenHandler, Widget, WidgetManager, WidgetOpenerOptions } from '@theia/core/lib/browser';
20
20
  import { CustomEditor, CustomEditorPriority, CustomEditorSelector } from '../../../common';
21
- import * as glob from './glob';
22
21
  import { CustomEditorWidget } from './custom-editor-widget';
23
22
  import { v4 } from 'uuid';
24
23
  import { Emitter } from '@theia/core';
24
+ import { match } from '@theia/core/lib/common/glob';
25
25
 
26
26
  export class CustomEditorOpener implements OpenHandler {
27
27
 
@@ -96,7 +96,7 @@ export class CustomEditorOpener implements OpenHandler {
96
96
 
97
97
  selectorMatches(selector: CustomEditorSelector, resource: URI): boolean {
98
98
  if (selector.filenamePattern) {
99
- if (glob.match(selector.filenamePattern.toLowerCase(), resource.path.name.toLowerCase() + resource.path.ext.toLowerCase())) {
99
+ if (match(selector.filenamePattern.toLowerCase(), resource.path.name.toLowerCase() + resource.path.ext.toLowerCase())) {
100
100
  return true;
101
101
  }
102
102
  }
@@ -16,11 +16,10 @@
16
16
  import { DocumentsMain, MAIN_RPC_CONTEXT, DocumentsExt } from '../../common/plugin-api-rpc';
17
17
  import { UriComponents } from '../../common/uri-components';
18
18
  import { EditorsAndDocumentsMain } from './editors-and-documents-main';
19
- import { DisposableCollection, Disposable } from '@theia/core';
19
+ import { DisposableCollection, Disposable, UntitledResourceResolver } from '@theia/core';
20
20
  import { MonacoEditorModel } from '@theia/monaco/lib/browser/monaco-editor-model';
21
21
  import { RPCProtocol } from '../../common/rpc-protocol';
22
22
  import { EditorModelService } from './text-editor-model-service';
23
- import { UntitledResourceResolver } from './editor/untitled-resource';
24
23
  import { EditorManager, EditorOpenerOptions } from '@theia/editor/lib/browser';
25
24
  import URI from '@theia/core/lib/common/uri';
26
25
  import { URI as CodeURI } from '@theia/core/shared/vscode-uri';
@@ -46,7 +46,6 @@ import { OpenerService } from '@theia/core/lib/browser/opener-service';
46
46
  import { ApplicationShell } from '@theia/core/lib/browser/shell/application-shell';
47
47
  import { MonacoBulkEditService } from '@theia/monaco/lib/browser/monaco-bulk-edit-service';
48
48
  import { MonacoEditorService } from '@theia/monaco/lib/browser/monaco-editor-service';
49
- import { UntitledResourceResolver } from './editor/untitled-resource';
50
49
  import { MainFileSystemEventService } from './main-file-system-event-service';
51
50
  import { LabelServiceMainImpl } from './label-service-main';
52
51
  import { TimelineMainImpl } from './timeline-main';
@@ -58,6 +57,7 @@ import { SecretsMainImpl } from './secrets-main';
58
57
  import { WebviewViewsMainImpl } from './webview-views/webview-views-main';
59
58
  import { MonacoLanguages } from '@theia/monaco/lib/browser/monaco-languages';
60
59
  import { NotificationExtImpl } from '../../plugin/notification';
60
+ import { UntitledResourceResolver } from '@theia/core/lib/common/resource';
61
61
 
62
62
  export function setUpPluginApi(rpc: RPCProtocol, container: interfaces.Container): void {
63
63
  const authenticationMain = new AuthenticationMainImpl(rpc, container);
@@ -30,7 +30,7 @@ import { Disposable, DisposableCollection } from '@theia/core/lib/common/disposa
30
30
  import { Emitter } from '@theia/core/lib/common/event';
31
31
  import { RecursivePartial } from '@theia/core/lib/common/types';
32
32
  import { LabelProviderContribution, DidChangeLabelEvent, LabelProvider, URIIconReference } from '@theia/core/lib/browser/label-provider';
33
- import { ThemeType } from '@theia/core/lib/browser/theming';
33
+ import { ThemeType } from '@theia/core/lib/common/theme';
34
34
  import { FileStatNode, DirNode } from '@theia/filesystem/lib/browser';
35
35
  import { WorkspaceRootNode } from '@theia/navigator/lib/browser/navigator-tree';
36
36
  import { Endpoint } from '@theia/core/lib/browser/endpoint';
@@ -16,7 +16,8 @@
16
16
 
17
17
  import { injectable } from '@theia/core/shared/inversify';
18
18
  import { Disposable, DisposableCollection } from '@theia/core/lib/common/disposable';
19
- import { ThemeService, Theme } from '@theia/core/lib/browser/theming';
19
+ import { ThemeService } from '@theia/core/lib/browser/theming';
20
+ import { Theme } from '@theia/core/lib/common/theme';
20
21
  import { IconUrl } from '../../common/plugin-protocol';
21
22
  import { Reference, SyncReferenceCollection } from '@theia/core/lib/common/reference';
22
23
  import { Endpoint } from '@theia/core/lib/browser/endpoint';
@@ -35,7 +35,7 @@ import { Emitter, Event } from '@theia/core/lib/common/event';
35
35
  import { ContextKeyService } from '@theia/core/lib/browser/context-key-service';
36
36
  import { ViewContextKeyService } from './view-context-key-service';
37
37
  import { PROBLEMS_WIDGET_ID } from '@theia/markers/lib/browser/problem/problem-widget';
38
- import { OUTPUT_WIDGET_KIND } from '@theia/output/lib/browser/output-widget';
38
+ import { OutputWidget } from '@theia/output/lib/browser/output-widget';
39
39
  import { DebugConsoleContribution } from '@theia/debug/lib/browser/console/debug-console-contribution';
40
40
  import { TERMINAL_WIDGET_FACTORY_ID } from '@theia/terminal/lib/browser/terminal-widget-impl';
41
41
  import { TreeViewWidget } from './tree-view-widget';
@@ -113,7 +113,7 @@ export class PluginViewRegistry implements FrontendApplicationContribution {
113
113
 
114
114
  // VS Code Panels
115
115
  this.trackVisibleWidget(PROBLEMS_WIDGET_ID, { panelId: 'workbench.panel.markers' });
116
- this.trackVisibleWidget(OUTPUT_WIDGET_KIND, { panelId: 'workbench.panel.output' });
116
+ this.trackVisibleWidget(OutputWidget.ID, { panelId: 'workbench.panel.output' });
117
117
  this.trackVisibleWidget(DebugConsoleContribution.options.id, { panelId: 'workbench.panel.repl' });
118
118
  this.trackVisibleWidget(TERMINAL_WIDGET_FACTORY_ID, { panelId: 'workbench.panel.terminal' });
119
119
  // TODO workbench.panel.comments - Theia does not have a proper comments view yet
@@ -369,7 +369,9 @@ export class TreeViewWidget extends TreeViewWelcomeWidget {
369
369
  const inlineCommands = menu.children.filter((item): item is ActionMenuNode => item instanceof ActionMenuNode);
370
370
  const tailDecorations = super.renderTailDecorations(node, props);
371
371
  return <React.Fragment>
372
- {inlineCommands.length > 0 && <div className={TREE_NODE_SEGMENT_CLASS}>{inlineCommands.map((item, index) => this.renderInlineCommand(item, index, arg))}</div>}
372
+ {inlineCommands.length > 0 && <div className={TREE_NODE_SEGMENT_CLASS}>
373
+ {inlineCommands.map((item, index) => this.renderInlineCommand(item, index, this.focusService.hasFocus(node), arg))}
374
+ </div>}
373
375
  {tailDecorations !== undefined && <div className={TREE_NODE_SEGMENT_CLASS}>{super.renderTailDecorations(node, props)}</div>}
374
376
  </React.Fragment>;
375
377
  });
@@ -380,13 +382,14 @@ export class TreeViewWidget extends TreeViewWelcomeWidget {
380
382
  }
381
383
 
382
384
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
383
- protected renderInlineCommand(node: ActionMenuNode, index: number, arg: any): React.ReactNode {
385
+ protected renderInlineCommand(node: ActionMenuNode, index: number, tabbable: boolean, arg: any): React.ReactNode {
384
386
  const { icon } = node;
385
387
  if (!icon || !this.commands.isVisible(node.action.commandId, arg) || !node.action.when || !this.contextKeys.match(node.action.when)) {
386
388
  return false;
387
389
  }
388
390
  const className = [TREE_NODE_SEGMENT_CLASS, TREE_NODE_TAIL_CLASS, icon, ACTION_ITEM, 'theia-tree-view-inline-action'].join(' ');
389
- return <div key={index} className={className} title={node.label} onClick={e => {
391
+ const tabIndex = tabbable ? 0 : undefined;
392
+ return <div key={index} className={className} title={node.label} tabIndex={tabIndex} onClick={e => {
390
393
  e.stopPropagation();
391
394
  this.commands.executeCommand(node.action.commandId, arg);
392
395
  }} />;
@@ -415,13 +418,12 @@ export class TreeViewWidget extends TreeViewWelcomeWidget {
415
418
  this.tryExecuteCommand();
416
419
  }
417
420
 
418
- override handleClickEvent(node: TreeNode, event: React.MouseEvent<HTMLElement>): void {
419
- super.handleClickEvent(node, event);
420
- // If clicked on item (not collapsable icon) - execute command or toggle expansion if item has no command
421
+ protected override tapNode(node?: TreeNode): void {
422
+ super.tapNode(node);
421
423
  const commandMap = this.findCommands(node);
422
424
  if (commandMap.size > 0) {
423
425
  this.tryExecuteCommandMap(commandMap);
424
- } else if (this.isExpandable(node) && !this.hasShiftMask(event) && !this.hasCtrlCmdMask(event)) {
426
+ } else if (node && this.isExpandable(node)) {
425
427
  this.model.toggleNodeExpansion(node);
426
428
  }
427
429
  }
@@ -22,7 +22,8 @@
22
22
  import { inject, postConstruct, injectable } from '@theia/core/shared/inversify';
23
23
  import { Emitter } from '@theia/core/lib/common/event';
24
24
  import { EditorPreferences, EditorConfiguration } from '@theia/editor/lib/browser/editor-preferences';
25
- import { Theme, ThemeService } from '@theia/core/lib/browser/theming';
25
+ import { ThemeService } from '@theia/core/lib/browser/theming';
26
+ import { Theme } from '@theia/core/lib/common/theme';
26
27
  import { ColorRegistry } from '@theia/core/lib/browser/color-registry';
27
28
  import { ColorApplicationContribution } from '@theia/core/lib/browser/color-application-contribution';
28
29
 
@@ -18,7 +18,7 @@ import { ColorTheme, ColorThemeKind } from './types-impl';
18
18
  import { Emitter, Event } from '@theia/core/lib/common/event';
19
19
  import { ThemingExt } from '../common';
20
20
  import { RPCProtocol } from '../common/rpc-protocol';
21
- import { ThemeType } from '@theia/core/lib/browser/theming';
21
+ import { ThemeType } from '@theia/core/lib/common/theme';
22
22
 
23
23
  /*---------------------------------------------------------------------------------------------
24
24
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,51 +0,0 @@
1
- export interface IExpression {
2
- [pattern: string]: boolean | SiblingClause | any;
3
- }
4
- export interface IRelativePattern {
5
- base: string;
6
- pattern: string;
7
- pathToRelative(from: string, to: string): string;
8
- }
9
- export declare function getEmptyExpression(): IExpression;
10
- export interface SiblingClause {
11
- when: string;
12
- }
13
- export declare function splitGlobAware(pattern: string, splitChar: string): string[];
14
- export declare type ParsedPattern = (path: string, basename?: string) => boolean;
15
- export declare type ParsedExpression = (path: string, basename?: string, hasSibling?: (name: string) => boolean | Promise<boolean>) => string | Promise<string>;
16
- export interface IGlobOptions {
17
- /**
18
- * Simplify patterns for use as exclusion filters during tree traversal to skip entire subtrees. Cannot be used outside of a tree traversal.
19
- */
20
- trimForExclusions?: boolean;
21
- }
22
- /**
23
- * Simplified glob matching. Supports a subset of glob patterns:
24
- * - * matches anything inside a path segment
25
- * - ? matches 1 character inside a path segment
26
- * - ** matches anything including an empty path segment
27
- * - simple brace expansion ({js,ts} => js or ts)
28
- * - character ranges (using [...])
29
- */
30
- export declare function match(pattern: string | IRelativePattern, path: string): boolean;
31
- export declare function match(expression: IExpression, path: string, hasSibling?: (name: string) => boolean): string;
32
- /**
33
- * Simplified glob matching. Supports a subset of glob patterns:
34
- * - * matches anything inside a path segment
35
- * - ? matches 1 character inside a path segment
36
- * - ** matches anything including an empty path segment
37
- * - simple brace expansion ({js,ts} => js or ts)
38
- * - character ranges (using [...])
39
- */
40
- export declare function parse(pattern: string | IRelativePattern, options?: IGlobOptions): ParsedPattern;
41
- export declare function parse(expression: IExpression, options?: IGlobOptions): ParsedExpression;
42
- export declare function hasSiblingPromiseFn(siblingsFn?: () => Promise<string[]>): ((name: string) => Promise<boolean>) | undefined;
43
- export declare function hasSiblingFn(siblingsFn?: () => string[]): ((name: string) => boolean) | undefined;
44
- export declare function isRelativePattern(obj: any): obj is IRelativePattern;
45
- /**
46
- * Same as `parse`, but the ParsedExpression is guaranteed to return a Promise
47
- */
48
- export declare function parseToAsync(expression: IExpression, options?: IGlobOptions): ParsedExpression;
49
- export declare function getBasenameTerms(patternOrExpression: ParsedPattern | ParsedExpression): string[];
50
- export declare function getPathTerms(patternOrExpression: ParsedPattern | ParsedExpression): string[];
51
- //# sourceMappingURL=glob.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../../../src/main/browser/custom-editors/glob.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,WAAW;IAExB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,GAAG,CAAC;CACpD;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACpD;AAED,wBAAgB,kBAAkB,IAAI,WAAW,CAEhD;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;CAChB;AAsBD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CA+C3E;AA2JD,oBAAY,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;AAIzE,oBAAY,gBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAA4B;AAEnL,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AA+KD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;AACjF,wBAAgB,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAA4B;AAUxI;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;AACjG,wBAAgB,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,gBAAgB,CAAC;AA+BzF,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAa1H;AAED,wBAAgB,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAajG;AAWD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,gBAAgB,CAInE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,gBAAgB,CAO9F;AAED,wBAAgB,gBAAgB,CAAC,mBAAmB,EAAE,aAAa,GAAG,gBAAgB,GAAG,MAAM,EAAE,CAEhG;AAED,wBAAgB,YAAY,CAAC,mBAAmB,EAAE,aAAa,GAAG,gBAAgB,GAAG,MAAM,EAAE,CAE5F"}