@mongodb-js/compass-editor 0.2.0

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 (50) hide show
  1. package/LICENSE +557 -0
  2. package/dist/ace/aggregation-autocompleter.d.ts +15 -0
  3. package/dist/ace/aggregation-autocompleter.d.ts.map +1 -0
  4. package/dist/ace/aggregation-autocompleter.js +109 -0
  5. package/dist/ace/aggregation-autocompleter.js.map +1 -0
  6. package/dist/ace/index.d.ts +2 -0
  7. package/dist/ace/index.d.ts.map +1 -0
  8. package/dist/ace/index.js +37 -0
  9. package/dist/ace/index.js.map +1 -0
  10. package/dist/ace/mode.d.ts +2 -0
  11. package/dist/ace/mode.d.ts.map +1 -0
  12. package/dist/ace/mode.js +67 -0
  13. package/dist/ace/mode.js.map +1 -0
  14. package/dist/ace/query-autocompleter.d.ts +12 -0
  15. package/dist/ace/query-autocompleter.d.ts.map +1 -0
  16. package/dist/ace/query-autocompleter.js +26 -0
  17. package/dist/ace/query-autocompleter.js.map +1 -0
  18. package/dist/ace/stage-autocompleter.d.ts +403 -0
  19. package/dist/ace/stage-autocompleter.d.ts.map +1 -0
  20. package/dist/ace/stage-autocompleter.js +89 -0
  21. package/dist/ace/stage-autocompleter.js.map +1 -0
  22. package/dist/ace/theme.d.ts +4 -0
  23. package/dist/ace/theme.d.ts.map +1 -0
  24. package/dist/ace/theme.js +265 -0
  25. package/dist/ace/theme.js.map +1 -0
  26. package/dist/ace/util.d.ts +5 -0
  27. package/dist/ace/util.d.ts.map +1 -0
  28. package/dist/ace/util.js +21 -0
  29. package/dist/ace/util.js.map +1 -0
  30. package/dist/ace/validation-autocompleter.d.ts +12 -0
  31. package/dist/ace/validation-autocompleter.d.ts.map +1 -0
  32. package/dist/ace/validation-autocompleter.js +31 -0
  33. package/dist/ace/validation-autocompleter.js.map +1 -0
  34. package/dist/base-editor.d.ts +35 -0
  35. package/dist/base-editor.d.ts.map +1 -0
  36. package/dist/base-editor.js +120 -0
  37. package/dist/base-editor.js.map +1 -0
  38. package/dist/index.d.ts +11 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +29 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/inline-editor.d.ts +6 -0
  43. package/dist/inline-editor.d.ts.map +1 -0
  44. package/dist/inline-editor.js +22 -0
  45. package/dist/inline-editor.js.map +1 -0
  46. package/dist/types.d.ts +45 -0
  47. package/dist/types.d.ts.map +1 -0
  48. package/dist/types.js +3 -0
  49. package/dist/types.js.map +1 -0
  50. package/package.json +74 -0
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AggregationAutoCompleter = exports.getScopeTokensBefore = void 0;
4
+ const mongodb_constants_1 = require("@mongodb-js/mongodb-constants");
5
+ const stage_autocompleter_1 = require("./stage-autocompleter");
6
+ const util_1 = require("./util");
7
+ const STAGE_OPERATORS = mongodb_constants_1.STAGE_OPERATORS.map((op) => {
8
+ return {
9
+ ...op,
10
+ snippet: `\\${op.name}: ${op.snippet}`,
11
+ };
12
+ });
13
+ const STAGE_OPERATORS_WITH_BLOCK_SNIPPETS = STAGE_OPERATORS.map((completion) => {
14
+ const padded = completion.snippet
15
+ .split('\n')
16
+ .map((line) => ` ${line}`)
17
+ .join('\n');
18
+ return {
19
+ ...completion,
20
+ snippet: `{\n${padded}\n}`,
21
+ };
22
+ });
23
+ function type(token, type) {
24
+ return token.type.split('.').includes(type);
25
+ }
26
+ function getPreviousTokenPos(session, row, token) {
27
+ var _a, _b;
28
+ if ((token === null || token === void 0 ? void 0 : token.start) === 0) {
29
+ return {
30
+ row: row - 1,
31
+ column: (_a = session.$rowLengthCache[row - 1]) !== null && _a !== void 0 ? _a : session.getLine(row - 1).length,
32
+ };
33
+ }
34
+ else {
35
+ return {
36
+ row,
37
+ column: (_b = token === null || token === void 0 ? void 0 : token.start) !== null && _b !== void 0 ? _b : 0,
38
+ };
39
+ }
40
+ }
41
+ function* getScopeTokensBefore(session, pos) {
42
+ let token = session.getTokenAt(pos.row, pos.column);
43
+ let { row, column } = getPreviousTokenPos(session, pos.row, token);
44
+ let skip = 0;
45
+ while (row + column > 0) {
46
+ token = session.getTokenAt(row, column);
47
+ if (!token) {
48
+ return;
49
+ }
50
+ skip = Math.max(0, type(token, 'paren')
51
+ ? skip +
52
+ (type(token, 'rparen') ? 1 : -1) *
53
+ token.value.length
54
+ : skip);
55
+ if (skip === 0) {
56
+ yield token;
57
+ }
58
+ ({ row, column } = getPreviousTokenPos(session, row, token));
59
+ }
60
+ }
61
+ exports.getScopeTokensBefore = getScopeTokensBefore;
62
+ class AggregationAutoCompleter {
63
+ constructor(version, textCompleter, fields) {
64
+ this.version = version;
65
+ this.textCompleter = textCompleter;
66
+ this.fields = fields;
67
+ this.getCompletions = (editor, session, position, prefix, callback) => {
68
+ const currentToken = session.getTokenAt(position.row, position.column);
69
+ if (!currentToken) {
70
+ return callback(null, []);
71
+ }
72
+ if (type(currentToken, 'comment')) {
73
+ return callback(null, []);
74
+ }
75
+ const tokens = [];
76
+ for (const token of getScopeTokensBefore(session, position)) {
77
+ tokens.push(token);
78
+ if (type(token, 'stage_op') ||
79
+ (type(token, 'identifier') &&
80
+ mongodb_constants_1.STAGE_OPERATOR_NAMES.includes(token.value))) {
81
+ this.stageAutocopmleter.updateStageOperator(token.value);
82
+ return this.stageAutocopmleter.getCompletions(editor, session, position, prefix, callback);
83
+ }
84
+ }
85
+ callback(null, (0, util_1.filter)(this.version, isInsideBlock(tokens)
86
+ ? STAGE_OPERATORS
87
+ : STAGE_OPERATORS_WITH_BLOCK_SNIPPETS, prefix));
88
+ };
89
+ this.stageAutocopmleter = new stage_autocompleter_1.StageAutoCompleter(this.version, this.textCompleter, this.fields);
90
+ }
91
+ updateFields(fields) {
92
+ this.fields = fields;
93
+ this.stageAutocopmleter.update(fields, null);
94
+ }
95
+ }
96
+ exports.AggregationAutoCompleter = AggregationAutoCompleter;
97
+ function isInsideBlock(tokens) {
98
+ for (const token of tokens) {
99
+ if (type(token, 'comment') || /^\s+$/.test(token.value)) {
100
+ continue;
101
+ }
102
+ if (type(token, 'lparen') && /\{$/.test(token.value)) {
103
+ return true;
104
+ }
105
+ return false;
106
+ }
107
+ return false;
108
+ }
109
+ //# sourceMappingURL=aggregation-autocompleter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregation-autocompleter.js","sourceRoot":"","sources":["../../src/ace/aggregation-autocompleter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import './mode';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ace/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ require("./mode");
27
+ const theme = __importStar(require("./theme"));
28
+ if (module.hot) {
29
+ module.hot.accept('./theme', function () {
30
+ var _a;
31
+ const styles = theme.mongodbAceThemeCssText +
32
+ `\n/*# sourceURL=ace/css/${theme.mongodbAceThemeCssClass} */`;
33
+ (_a = document
34
+ .getElementById(theme.mongodbAceThemeCssClass)) === null || _a === void 0 ? void 0 : _a.replaceChildren(document.createTextNode(styles));
35
+ });
36
+ }
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ace/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kBAAgB;AAChB,+CAAiC;AAEjC,IAAK,MAAc,CAAC,GAAG,EAAE;IACtB,MAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE;;QACpC,MAAM,MAAM,GACV,KAAK,CAAC,sBAAsB;YAC5B,2BAA2B,KAAK,CAAC,uBAAuB,KAAK,CAAC;QAChE,MAAA,QAAQ;aACL,cAAc,CAAC,KAAK,CAAC,uBAAuB,CAAC,0CAC5C,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode.d.ts","sourceRoot":"","sources":["../../src/ace/mode.ts"],"names":[],"mappings":""}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongodb_constants_1 = require("@mongodb-js/mongodb-constants");
4
+ const identifierRe = '[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*';
5
+ function toMapperVal(items) {
6
+ return items
7
+ .map((item) => {
8
+ return item.value;
9
+ })
10
+ .join('|');
11
+ }
12
+ ace.define('ace/mode/mongodb_highlight_rules', [
13
+ 'require',
14
+ 'exports',
15
+ 'module',
16
+ 'ace/lib/oop',
17
+ 'ace/mode/javascript_highlight_rules',
18
+ ], function (acequire, exports) {
19
+ const oop = acequire('../lib/oop');
20
+ const { JavaScriptHighlightRules } = acequire('./javascript_highlight_rules');
21
+ function MongoDBHighlightRules(...args) {
22
+ oop.mixin(this, new JavaScriptHighlightRules(...args));
23
+ const keywordMapper = this.createKeywordMapper({
24
+ 'variable.language.bson': toMapperVal(mongodb_constants_1.BSON_TYPES),
25
+ 'support.function.accumulator': toMapperVal(mongodb_constants_1.ACCUMULATORS),
26
+ 'support.function.expression_op': toMapperVal(mongodb_constants_1.EXPRESSION_OPERATORS),
27
+ 'support.function.conversion_op': toMapperVal(mongodb_constants_1.CONVERSION_OPERATORS),
28
+ 'support.function.query_op': toMapperVal(mongodb_constants_1.QUERY_OPERATORS),
29
+ 'support.function.stage_op': toMapperVal(mongodb_constants_1.STAGE_OPERATORS),
30
+ 'storage.type': 'const|let|var|function',
31
+ 'constant.language': 'null|Infinity|NaN|undefined',
32
+ 'constant.language.boolean': 'true|false',
33
+ }, 'identifier');
34
+ const identifierRule = this.$rules.no_regex.find((rule) => {
35
+ return rule.regex === identifierRe;
36
+ });
37
+ if (!identifierRule) {
38
+ throw new Error("Couldn't find original identifier rule. Check that the rule find operation is working correcty");
39
+ }
40
+ identifierRule.token = keywordMapper;
41
+ this.normalizeRules();
42
+ }
43
+ oop.inherits(MongoDBHighlightRules, JavaScriptHighlightRules);
44
+ exports.MongoDBHighlightRules = MongoDBHighlightRules;
45
+ });
46
+ ace.define('ace/mode/mongodb', [
47
+ 'require',
48
+ 'exports',
49
+ 'module',
50
+ 'ace/lib/oop',
51
+ 'ace/mode/javascript',
52
+ 'ace/mode/mongodb_highlight_rules',
53
+ ], function (acequire, exports) {
54
+ const oop = acequire('../lib/oop');
55
+ const { Mode: JavaScriptMode } = acequire('./javascript');
56
+ const { MongoDBHighlightRules } = acequire('./mongodb_highlight_rules');
57
+ function MongoDBMode(...args) {
58
+ oop.mixin(this, new JavaScriptMode(...args));
59
+ this.HighlightRules = MongoDBHighlightRules;
60
+ this.createWorker = () => {
61
+ return null;
62
+ };
63
+ }
64
+ oop.inherits(MongoDBMode, JavaScriptMode);
65
+ exports.Mode = MongoDBMode;
66
+ });
67
+ //# sourceMappingURL=mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode.js","sourceRoot":"","sources":["../../src/ace/mode.ts"],"names":[],"mappings":";;AAAA,qEAOuC;AAKvC,MAAM,YAAY,GAAG,wDAAwD,CAAC;AAE9E,SAAS,WAAW,CAAC,KAAmC;IACtD,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,GAAG,CAAC,MAAM,CACR,kCAAkC,EAClC;IACE,SAAS;IACT,SAAS;IACT,QAAQ;IACR,aAAa;IACb,qCAAqC;CACtC,EACD,UAAU,QAAQ,EAAE,OAAO;IACzB,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnC,MAAM,EAAE,wBAAwB,EAAE,GAAG,QAAQ,CAC3C,8BAA8B,CAC/B,CAAC;IAIF,SAAS,qBAAqB,CAAuB,GAAG,IAAe;QACrE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,wBAAwB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAEvD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAC5C;YAEE,wBAAwB,EAAE,WAAW,CAAC,8BAAU,CAAC;YAGjD,8BAA8B,EAAE,WAAW,CAAC,gCAAY,CAAC;YACzD,gCAAgC,EAAE,WAAW,CAAC,wCAAoB,CAAC;YACnE,gCAAgC,EAAE,WAAW,CAAC,wCAAoB,CAAC;YACnE,2BAA2B,EAAE,WAAW,CAAC,mCAAe,CAAC;YACzD,2BAA2B,EAAE,WAAW,CAAC,mCAAe,CAAC;YAIzD,cAAc,EAAE,wBAAwB;YACxC,mBAAmB,EAAE,6BAA6B;YAClD,2BAA2B,EAAE,YAAY;SAC1C,EACD,YAAY,CACb,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxD,OAAO,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC;QACrC,CAAC,CAAC,CAAC;QAMH,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;SACH;QAED,cAAc,CAAC,KAAK,GAAG,aAAa,CAAC;QAErC,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IACD,GAAG,CAAC,QAAQ,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,CAAC;IAC9D,OAAO,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;AACxD,CAAC,CACF,CAAC;AAEF,GAAG,CAAC,MAAM,CACR,kBAAkB,EAClB;IACE,SAAS;IACT,SAAS;IACT,QAAQ;IACR,aAAa;IACb,qBAAqB;IACrB,kCAAkC;CACnC,EACD,UAAU,QAAQ,EAAE,OAAO;IACzB,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,EAAE,qBAAqB,EAAE,GAAG,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IAGxE,SAAS,WAAW,CAAgB,GAAG,IAAe;QACpD,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC;QAI5C,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE;YACvB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;AAC7B,CAAC,CACF,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Ace } from 'ace-builds';
2
+ import type { CompletionWithServerInfo } from '../types';
3
+ declare class QueryAutoCompleter implements Ace.Completer {
4
+ version: string;
5
+ textCompleter: Ace.Completer;
6
+ fields: CompletionWithServerInfo[];
7
+ constructor(version: string, textCompleter: Ace.Completer, fields: CompletionWithServerInfo[]);
8
+ update(fields: CompletionWithServerInfo[]): void;
9
+ getCompletions: Ace.Completer['getCompletions'];
10
+ }
11
+ export { QueryAutoCompleter };
12
+ //# sourceMappingURL=query-autocompleter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-autocompleter.d.ts","sourceRoot":"","sources":["../../src/ace/query-autocompleter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAMzD,cAAM,kBAAmB,YAAW,GAAG,CAAC,SAAS;IAEtC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,GAAG,CAAC,SAAS;IAC5B,MAAM,EAAE,wBAAwB,EAAE;gBAFlC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,CAAC,SAAS,EAC5B,MAAM,EAAE,wBAAwB,EAAE;IAG3C,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE;IAIzC,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CA2B7C;CACH;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueryAutoCompleter = void 0;
4
+ const util_1 = require("./util");
5
+ class QueryAutoCompleter {
6
+ constructor(version, textCompleter, fields) {
7
+ this.version = version;
8
+ this.textCompleter = textCompleter;
9
+ this.fields = fields;
10
+ this.getCompletions = (editor, session, position, prefix, done) => {
11
+ if (prefix === '')
12
+ return done(null, []);
13
+ const currentToken = session.getTokenAt(position.row, position.column);
14
+ if ((currentToken === null || currentToken === void 0 ? void 0 : currentToken.type) === 'string') {
15
+ return this.textCompleter.getCompletions(editor, session, position, prefix, done);
16
+ }
17
+ const expressions = util_1.MATCH_COMPLETIONS.concat(this.fields);
18
+ done(null, (0, util_1.filter)(this.version, expressions, prefix));
19
+ };
20
+ }
21
+ update(fields) {
22
+ this.fields = fields;
23
+ }
24
+ }
25
+ exports.QueryAutoCompleter = QueryAutoCompleter;
26
+ //# sourceMappingURL=query-autocompleter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-autocompleter.js","sourceRoot":"","sources":["../../src/ace/query-autocompleter.ts"],"names":[],"mappings":";;;AAEA,iCAAmD;AAKnD,MAAM,kBAAkB;IACtB,YACS,OAAe,EACf,aAA4B,EAC5B,MAAkC;QAFlC,YAAO,GAAP,OAAO,CAAQ;QACf,kBAAa,GAAb,aAAa,CAAe;QAC5B,WAAM,GAAN,MAAM,CAA4B;QAO3C,mBAAc,GAAoC,CAChD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,EAAE;YAEF,IAAI,MAAM,KAAK,EAAE;gBAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAKzC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvE,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,MAAK,QAAQ,EAAE;gBACnC,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CACtC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,EACN,IAAI,CACL,CAAC;aACH;YAGD,MAAM,WAAW,GAAG,wBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,IAAA,aAAM,EAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC;IAjCC,CAAC;IAEJ,MAAM,CAAC,MAAkC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CA8BF;AAEQ,gDAAkB"}