meaoiu 0.1.4 → 0.1.5

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/LANGUAGE_GUIDE.md +10 -9
  2. package/dist/api/services/formatting.d.ts.map +1 -1
  3. package/dist/api/services/formatting.js.map +1 -1
  4. package/dist/cli/main.js +3 -1
  5. package/dist/cli/main.js.map +1 -1
  6. package/dist/cli/tools/formatter.js +1 -1
  7. package/dist/cli/tools/formatter.js.map +1 -1
  8. package/dist/cli/tools/toolUtils.d.ts +1 -0
  9. package/dist/cli/tools/toolUtils.d.ts.map +1 -1
  10. package/dist/cli/tools/toolUtils.js +45 -2
  11. package/dist/cli/tools/toolUtils.js.map +1 -1
  12. package/dist/core/ast.d.ts +1 -1
  13. package/dist/core/ast.d.ts.map +1 -1
  14. package/dist/core/builtIns.d.ts +2 -2
  15. package/dist/core/builtIns.d.ts.map +1 -1
  16. package/dist/core/builtIns.js +29 -6
  17. package/dist/core/builtIns.js.map +1 -1
  18. package/dist/core/error.d.ts +1 -1
  19. package/dist/core/error.d.ts.map +1 -1
  20. package/dist/core/lexer/token.d.ts +81 -0
  21. package/dist/core/lexer/token.d.ts.map +1 -0
  22. package/dist/core/lexer/token.js +5 -0
  23. package/dist/core/lexer/token.js.map +1 -0
  24. package/dist/core/lexer/tokenizer.d.ts +1 -79
  25. package/dist/core/lexer/tokenizer.d.ts.map +1 -1
  26. package/dist/core/lexer/tokenizer.js +2 -4
  27. package/dist/core/lexer/tokenizer.js.map +1 -1
  28. package/dist/core/parser.d.ts +1 -1
  29. package/dist/core/parser.d.ts.map +1 -1
  30. package/dist/core/parser.js +1 -1
  31. package/dist/core/parser.js.map +1 -1
  32. package/dist/core/run/environment.d.ts +6 -1
  33. package/dist/core/run/environment.d.ts.map +1 -1
  34. package/dist/core/run/environment.js +19 -12
  35. package/dist/core/run/environment.js.map +1 -1
  36. package/dist/core/run/interpreter.d.ts.map +1 -1
  37. package/dist/core/run/interpreter.js +22 -17
  38. package/dist/core/run/interpreter.js.map +1 -1
  39. package/dist/core/run/io.d.ts +1 -0
  40. package/dist/core/run/io.d.ts.map +1 -1
  41. package/dist/core/run/io.js +2 -2
  42. package/dist/core/run/io.js.map +1 -1
  43. package/dist/core/run/value.js +1 -1
  44. package/dist/core/typedef.d.ts +1 -1
  45. package/dist/core/typedef.d.ts.map +1 -1
  46. package/dist/core/typedef.js.map +1 -1
  47. package/package.json +1 -1
package/LANGUAGE_GUIDE.md CHANGED
@@ -388,11 +388,11 @@ a 和 b 或 c 不坏 都好~ (等价于:a && (b || c))
388
388
 
389
389
  ### 类型转换
390
390
 
391
- | 名称 | 用法 | 作用 |
392
- | -------- | -------------------- | ---------------------- |
393
- | `变摸数` | `扒[='233'=]变摸数~` | 闲话变摸数,失败得空碗 |
394
- | `喵译` | `扒[=256=]喵译~` | 任何东西变闲话 |
395
- | `嗅嗅` | `扒[=x=]嗅嗅~` | 得到任何实体的类型名 |
391
+ | 名称 | 用法 | 作用 |
392
+ | -------- | -------------------- | ---------------------------- |
393
+ | `变摸数` | `扒[='233'=]变摸数~` | 闲话或好坏变摸数,失败得空碗 |
394
+ | `喵译` | `扒[=256=]喵译~` | 任何东西变闲话 |
395
+ | `嗅嗅` | `扒[=x=]嗅嗅~` | 得到任何实体的类型名 |
396
396
 
397
397
  ### 逻辑
398
398
 
@@ -413,10 +413,11 @@ a 和 b 或 c 不坏 都好~ (等价于:a && (b || c))
413
413
 
414
414
  ### 纸箱与闲话
415
415
 
416
- | 名称 | 用法 | 作用 |
417
- | ---------- | ------------------------ | ------------------ |
418
- | `找尾巴` | `扒[='abc'=]找尾巴~` | 取闲话或纸箱的长度 |
419
- | `喵语连珠` | `扒[='a','b'=]喵语连珠~` | 拼接闲话 |
416
+ | 名称 | 用法 | 作用 |
417
+ | ---------- | -------------------------------- | ------------------ |
418
+ | `找尾巴` | `扒[='abc'=]找尾巴~` | 取闲话或纸箱的长度 |
419
+ | `喵语连珠` | `扒[='a','b'=]喵语连珠~` | 拼接闲话 |
420
+ | `咬文嚼字` | `扒[='我好,你坏',','=]咬文嚼字~` | 把闲话拆散放进纸箱 |
420
421
 
421
422
  ### 花里胡哨
422
423
 
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../../src/api/services/formatting.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAgOvD,MAAM,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,MAAM,CAAC;CACrB,CAAC;AACF,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAGjE"}
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../../src/api/services/formatting.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAiOvD,MAAM,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,MAAM,CAAC;CACrB,CAAC;AACF,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAGjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../../src/api/services/formatting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../../src/api/services/formatting.ts"],"names":[],"mappings":"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"}
package/dist/cli/main.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  // src/cli/main.ts - Meaoiu CLI
3
- const version = '0.1.4';
3
+ const version = '0.1.5';
4
4
  import { cac } from 'cac';
5
5
  import { readFile } from 'node:fs/promises';
6
6
  import { MeaoiuError } from '../index.js';
@@ -9,6 +9,7 @@ import { diagnose } from './tools/diagnoser.js';
9
9
  import { format } from './tools/formatter.js';
10
10
  import { definition, hover, references } from './tools/searcher.js';
11
11
  import { run } from './tools/starter.js';
12
+ import { applyTerminalTabSize } from './tools/toolUtils.js';
12
13
  const cli = cac('meaoiu').version(version);
13
14
  cli.help(sections => {
14
15
  sections.splice(1, 0, {
@@ -42,6 +43,7 @@ cli.help(sections => {
42
43
  ["debug" /* Option.DEBUG */]: () => (debug = true) /* true 则继续执行 */,
43
44
  };
44
45
  let debug = false;
46
+ await applyTerminalTabSize();
45
47
  // 找出第一个被设置的选项(优先级顺序按 keys 顺序)
46
48
  for (const [key, action] of Object.entries(lspActions)) {
47
49
  const value = options[key];
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export async function format(sourceCode, filePath) {
8
8
  console.log(`[格式化器] 尝试格式化 ${filePath} ...`);
9
9
  console.log('-----------------------------');
10
10
  try {
11
- const { errors: errors, format } = getFormattedCode(sourceCode);
11
+ const { errors, format } = getFormattedCode(sourceCode);
12
12
  if (errors.length) {
13
13
  // 错误确认
14
14
  console.log(`[格式化器] ❌ 有 ${errors.length} 处解析错误:`);
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/cli/tools/formatter.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,UAAkB,EAAE,QAAgB;IAChE,MAAM,eAAe,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,QAAQ,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;IACxH,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,MAAM,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,MAAM;gBAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,MAAM,eAAe,CAAC,QAAQ,CAAC;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,UAAU;QACV,IAAI,MAAM,eAAe,CAAC,SAAS,QAAQ,EAAE,CAAC;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACrF,WAAW;QACX,MAAM,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/cli/tools/formatter.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,UAAkB,EAAE,QAAgB;IAChE,MAAM,eAAe,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,QAAQ,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;IACxH,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,MAAM,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,MAAM;gBAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,MAAM,eAAe,CAAC,QAAQ,CAAC;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,UAAU;QACV,IAAI,MAAM,eAAe,CAAC,SAAS,QAAQ,EAAE,CAAC;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACrF,WAAW;QACX,MAAM,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAC9C,CAAC"}
@@ -3,6 +3,7 @@ export declare function parsePosition(pos: string): {
3
3
  col: number;
4
4
  character: number;
5
5
  };
6
+ export declare function applyTerminalTabSize(): Promise<void>;
6
7
  export declare function formatError(error: unknown, sourceCode: string, filePath: string): string;
7
8
  export declare function prompt(question: string): Promise<string>;
8
9
  //# sourceMappingURL=toolUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolUtils.d.ts","sourceRoot":"","sources":["../../../src/cli/tools/toolUtils.ts"],"names":[],"mappings":"AAOA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAO3F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkCxF;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKxD"}
1
+ {"version":3,"file":"toolUtils.d.ts","sourceRoot":"","sources":["../../../src/cli/tools/toolUtils.ts"],"names":[],"mappings":"AAOA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAO3F;AAID,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAyB1D;AAcD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiCxF;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKxD"}
@@ -13,6 +13,49 @@ export function parsePosition(pos) {
13
13
  throw parseError('位置参数格式错误,行和列必须为正整数');
14
14
  return { line, col, character: col };
15
15
  }
16
+ // 试探并设置终端制表符尺寸
17
+ let tabSize = 8;
18
+ export async function applyTerminalTabSize() {
19
+ const { stdin, stdout } = process;
20
+ if (!stdin.isTTY || !stdout.isTTY)
21
+ return;
22
+ const { promise, resolve } = Promise.withResolvers();
23
+ let isCleanedUp = false;
24
+ const cleanup = () => {
25
+ if (isCleanedUp)
26
+ return;
27
+ clearTimeout(timeout);
28
+ stdin.setRawMode(false).pause().removeListener('data', onData).removeListener('error', onError);
29
+ stdout.removeListener('error', onError);
30
+ isCleanedUp = true;
31
+ };
32
+ const onData = (data) => {
33
+ const match = /\x1b\[(\d+);(\d+)R/.exec(data); // ESC[行号;列号R
34
+ if (match)
35
+ (cleanup(), resolve(+match[2] - 1));
36
+ };
37
+ const onError = () => (cleanup(), resolve(tabSize));
38
+ const timeout = setTimeout(onError, 1000); // 超时回退
39
+ // 原始人,启动!
40
+ stdin.on('error', onError).setRawMode(true).resume().setEncoding('utf8').on('data', onData);
41
+ // \x1b7 保存光标位置 -> \r 回车 -> \t 输出制表符 -> \x1b[6n 读取光标位置 -> \x1b8 恢复光标位置
42
+ stdout.on('error', onError).write('\x1b7\r\t\x1b[6n\x1b8');
43
+ tabSize = await promise;
44
+ }
45
+ function tabbedStringWidth(string, currentCursor = 0) {
46
+ let cursor = currentCursor, prevNonTabStart = 0;
47
+ for (let i = 0; i < string.length; i++) {
48
+ if (string[i] !== '\t')
49
+ continue;
50
+ if (prevNonTabStart < i)
51
+ cursor += stringWidth(string.slice(prevNonTabStart, i));
52
+ cursor += tabSize - (cursor % tabSize);
53
+ prevNonTabStart = i + 1;
54
+ }
55
+ if (prevNonTabStart < string.length)
56
+ cursor += stringWidth(string.slice(prevNonTabStart));
57
+ return cursor - currentCursor;
58
+ }
16
59
  export function formatError(error, sourceCode, filePath) {
17
60
  const { messageWithPhase: message, line, col, endLine, endCol, } = error instanceof MeaoiuError ? error : parseError(error instanceof Error ? error.message : String(error));
18
61
  if (line <= 0)
@@ -22,9 +65,9 @@ export function formatError(error, sourceCode, filePath) {
22
65
  if (errorLine === undefined)
23
66
  return `坏了喵: ${message} (找不到秘卷第 ${line} 行)`;
24
67
  const prefix = errorLine.slice(0, col - 1);
25
- const prefixWidth = stringWidth(prefix);
68
+ const prefixWidth = tabbedStringWidth(prefix, 5); // 前有行号「000| 」所以光标从 5 起
26
69
  const errorPart = errorLine.slice(col - 1, (endLine === line ? endCol : errorLine.length) - 1);
27
- const errorPartWidth = stringWidth(errorPart) || 1;
70
+ const errorPartWidth = tabbedStringWidth(errorPart, prefixWidth + 5) || 1;
28
71
  const indicator = `${' '.repeat(prefixWidth)}${'^'.repeat(errorPartWidth)}`;
29
72
  const fileName = path.basename(filePath);
30
73
  const formattedMessage = [
@@ -1 +1 @@
1
- {"version":3,"file":"toolUtils.js","sourceRoot":"","sources":["../../../src/cli/tools/toolUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolUtils.js","sourceRoot":"","sources":["../../../src/cli/tools/toolUtils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ArithmeticTokenKind, ComparisonTokenKind, EqualityTokenKind, Token, TokenKind } from './lexer/tokenizer.js';
1
+ import type { ArithmeticTokenKind, ComparisonTokenKind, EqualityTokenKind, Token, TokenKind } from './lexer/token.js';
2
2
  export declare const enum NodeKind {
3
3
  ErrorNode = 0,
4
4
  Program = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/core/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/core/ast.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { MeaoiuRuntimeIO } from './run/io.js';
1
+ import { type MeaoiuRuntimeIO } from './run/io.js';
2
2
  import { MeaoiuType, type MeaoiuValue } from './typedef.js';
3
- export declare const meaoiuBuiltInNames: readonly ["喵", "祈求", "呼噜", "磨爪", "变摸数", "喵译", "嗅嗅", "才怪", "理直气壮", "差不多", "抢大的", "吃剩的", "摸余", "找尾巴", "喵语连珠", "打盹", "添乱", "猫咪艺术", "哈气"];
3
+ export declare const meaoiuBuiltInNames: readonly ["喵", "祈求", "呼噜", "磨爪", "变摸数", "喵译", "嗅嗅", "才怪", "理直气壮", "差不多", "抢大的", "吃剩的", "摸余", "找尾巴", "喵语连珠", "咬文嚼字", "打盹", "添乱", "猫咪艺术", "哈气"];
4
4
  type BuiltInName = (typeof meaoiuBuiltInNames)[number];
5
5
  type BuiltInFunction = (args: MeaoiuValue[]) => MeaoiuValue | Promise<MeaoiuValue>;
6
6
  export type MeaoiuBuiltIns = Record<BuiltInName, {
@@ -1 +1 @@
1
- {"version":3,"file":"builtIns.d.ts","sourceRoot":"","sources":["../../src/core/builtIns.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAiB,UAAU,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtF,eAAO,MAAM,kBAAkB,uIAoBrB,CAAC;AACX,KAAK,WAAW,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEnF,MAAM,MAAM,cAAc,GAAG,MAAM,CAClC,WAAW,EACX;IACC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;IAC3B,QAAQ,EAAE,eAAe,CAAC;CAC1B,CACD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,WAAW,CAA+B,CAAC;AACpF,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,IAAI,IAAI,WAAwD,CAAC;AAEtH,eAAO,MAAM,sBAAsB,GAAI,IAAI,eAAe,KAAG,cAmI3D,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,GAAG,SAAS,CAkBjH"}
1
+ {"version":3,"file":"builtIns.d.ts","sourceRoot":"","sources":["../../src/core/builtIns.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAiB,UAAU,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtF,eAAO,MAAM,kBAAkB,+IAqBrB,CAAC;AACX,KAAK,WAAW,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEnF,MAAM,MAAM,cAAc,GAAG,MAAM,CAClC,WAAW,EACX;IACC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;IAC3B,QAAQ,EAAE,eAAe,CAAC;CAC1B,CACD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,WAAW,CAA+B,CAAC;AACpF,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,IAAI,IAAI,WAAwD,CAAC;AAEtH,eAAO,MAAM,sBAAsB,GAAI,IAAI,eAAe,KAAG,cAoJ3D,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,GAAG,SAAS,CAkBjH"}
@@ -1,4 +1,6 @@
1
1
  // src/core/builtIns.ts
2
+ import { autoKey, Environment } from './run/environment.js';
3
+ import { toMeaoiuString } from './run/io.js';
2
4
  import { getMeaoiuType, typeNames } from './typedef.js';
3
5
  export const meaoiuBuiltInNames = [
4
6
  '喵',
@@ -16,6 +18,7 @@ export const meaoiuBuiltInNames = [
16
18
  '摸余',
17
19
  '找尾巴',
18
20
  '喵语连珠',
21
+ '咬文嚼字',
19
22
  '打盹',
20
23
  '添乱',
21
24
  '猫咪艺术',
@@ -38,16 +41,18 @@ export const createBuiltInFunctions = (io) => ({
38
41
  // Type Conversion
39
42
  变摸数: {
40
43
  paramLimit: 1,
41
- paramTypes: [[1 /* MeaoiuType.STRING */]],
42
- function: ([string]) => {
43
- const num = Number.parseFloat(string);
44
- return Number.isNaN(num) ? null : num;
44
+ paramTypes: [[1 /* MeaoiuType.STRING */, 2 /* MeaoiuType.BOOLEAN */]],
45
+ function: ([value]) => {
46
+ if (value === !!value)
47
+ return +value;
48
+ const num = Number.parseFloat(value);
49
+ return Number.isFinite(num) ? num : null;
45
50
  },
46
51
  },
47
52
  喵译: {
48
53
  paramLimit: 1,
49
54
  paramTypes: [],
50
- function: ([value]) => String(value),
55
+ function: ([value]) => toMeaoiuString(value),
51
56
  },
52
57
  嗅嗅: {
53
58
  paramLimit: 1,
@@ -111,6 +116,24 @@ export const createBuiltInFunctions = (io) => ({
111
116
  paramTypes: [[1 /* MeaoiuType.STRING */]],
112
117
  function: strings => strings.join(''),
113
118
  },
119
+ 咬文嚼字: {
120
+ paramLimit: 1,
121
+ paramTypes: [[1 /* MeaoiuType.STRING */], [1 /* MeaoiuType.STRING */]],
122
+ function: stringAndSplitter => {
123
+ const [string, splitter] = stringAndSplitter;
124
+ const newEnv = new Environment();
125
+ let autoIndexCounter = 0;
126
+ if (splitter)
127
+ for (const piece of string.split(splitter))
128
+ newEnv.addMember(autoKey(autoIndexCounter++), piece);
129
+ else {
130
+ for (const { segment } of new Intl.Segmenter().segment(string)) {
131
+ newEnv.addMember(autoKey(autoIndexCounter++), segment);
132
+ }
133
+ }
134
+ return newEnv;
135
+ },
136
+ },
114
137
  // Thematic & Time
115
138
  打盹: {
116
139
  paramLimit: 0,
@@ -146,7 +169,7 @@ export const createBuiltInFunctions = (io) => ({
146
169
  哈气: {
147
170
  paramLimit: 0,
148
171
  paramTypes: [[1 /* MeaoiuType.STRING */, 3 /* MeaoiuType.NULL */]],
149
- function: ([message]) => {
172
+ function: ([message = '']) => {
150
173
  throw new Error(message);
151
174
  },
152
175
  },
@@ -1 +1 @@
1
- {"version":3,"file":"builtIns.js","sourceRoot":"","sources":["../../src/core/builtIns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtIns.js","sourceRoot":"","sources":["../../src/core/builtIns.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type * as AST from './ast.js';
2
- import type { Token } from './lexer/tokenizer.js';
2
+ import type { Token } from './lexer/token.js';
3
3
  export declare const enum Phase {
4
4
  UNKNOWN = 0,
5
5
  INVARIANT = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/core/error.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,0BAAkB,KAAK;IACtB,OAAO,IAAI;IACX,SAAS,IAAI;IACb,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,OAAO,IAAI;CACX;AAED,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjH,qBAAa,WAAW;IACvB,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,gBAAuB,cAAc,2DAA4D;gBAErF,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW;IASvE,kBAAkB;IAClB,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAEM,QAAQ,IAAI,MAAM;CAGzB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,WAAW,CAO3F;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,KAAqB,GAAG,WAAW,CAUrF"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/core/error.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,0BAAkB,KAAK;IACtB,OAAO,IAAI;IACX,SAAS,IAAI;IACb,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,OAAO,IAAI;CACX;AAED,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjH,qBAAa,WAAW;IACvB,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,gBAAuB,cAAc,2DAA4D;gBAErF,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW;IASvE,kBAAkB;IAClB,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAEM,QAAQ,IAAI,MAAM;CAGzB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,WAAW,CAO3F;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,KAAqB,GAAG,WAAW,CAUrF"}
@@ -0,0 +1,81 @@
1
+ export declare const enum TokenKind {
2
+ ERROR = 0,// 不认识的字符喵
3
+ EOF = 1,
4
+ COMMENT = 2,
5
+ TERMINATOR = 3,// ~
6
+ COMMA = 4,// ,
7
+ KEYWORD_USE = 5,
8
+ ASSIGNMENT_IS = 6,
9
+ ASSIGNMENT_LIKE = 7,
10
+ ASSIGNMENT_ONLY = 8,
11
+ KEYWORD_CLONE = 9,
12
+ KEYWORD_MOVE = 10,
13
+ KEYWORD_CONFIRM = 11,
14
+ KEYWORD_ELSE = 12,
15
+ KEYWORD_LOOP = 13,
16
+ KEYWORD_BREAK = 14,
17
+ KEYWORD_AMBUSH = 15,
18
+ KEYWORD_DEF = 16,
19
+ KEYWORD_CALL = 17,
20
+ KEYWORD_RETURN = 18,
21
+ NUMBER = 19,
22
+ STRING = 20,
23
+ BOOLEAN = 21,
24
+ NULL = 22,
25
+ IDENTIFIER = 23,
26
+ COLLECTION_START = 24,// [=
27
+ COLLECTION_END = 25,// =]
28
+ BLOCK_START = 26,// [#
29
+ BLOCK_END = 27,// #]
30
+ ACCESSOR = 28,// @
31
+ ARITHMETIC_PLUS = 29,// +
32
+ ARITHMETIC_MINUS = 30,// -
33
+ ARITHMETIC_MULTIPLY = 31,// *
34
+ ARITHMETIC_DIVIDE = 32,// /
35
+ COMPARISON_EQUAL = 33,// ==
36
+ COMPARISON_NOT_EQUAL = 34,// !=
37
+ COMPARISON_GREATER = 35,// >
38
+ COMPARISON_LESS = 36,// <
39
+ COMPARISON_GREATER_EQUAL = 37,// >=
40
+ COMPARISON_LESS_EQUAL = 38,// <=
41
+ LOGIC_AND = 39,// 和
42
+ LOGIC_OR = 40,// 或
43
+ LOGIC_CLOSE_AND = 41,// 都好
44
+ LOGIC_CLOSE_OR = 42,// 不坏
45
+ LOGIC_CLOSE_NOR = 43,// 都坏
46
+ LOGIC_CLOSE_NAND = 44
47
+ }
48
+ type AdditiveTokenKind = TokenKind.ARITHMETIC_PLUS | TokenKind.ARITHMETIC_MINUS;
49
+ type MultiplicativeTokenKind = TokenKind.ARITHMETIC_MULTIPLY | TokenKind.ARITHMETIC_DIVIDE;
50
+ export type ArithmeticTokenKind = AdditiveTokenKind | MultiplicativeTokenKind;
51
+ export type EqualityTokenKind = TokenKind.COMPARISON_EQUAL | TokenKind.COMPARISON_NOT_EQUAL;
52
+ type OrderingTokenKind = TokenKind.COMPARISON_GREATER | TokenKind.COMPARISON_LESS | TokenKind.COMPARISON_GREATER_EQUAL | TokenKind.COMPARISON_LESS_EQUAL;
53
+ export type ComparisonTokenKind = EqualityTokenKind | OrderingTokenKind;
54
+ type TokenValueMap = {
55
+ [TokenKind.ARITHMETIC_PLUS]: '+';
56
+ [TokenKind.ARITHMETIC_MINUS]: '-';
57
+ [TokenKind.ARITHMETIC_MULTIPLY]: '*';
58
+ [TokenKind.ARITHMETIC_DIVIDE]: '/';
59
+ [TokenKind.COMPARISON_EQUAL]: '==';
60
+ [TokenKind.COMPARISON_NOT_EQUAL]: '!=';
61
+ [TokenKind.COMPARISON_GREATER]: '>';
62
+ [TokenKind.COMPARISON_LESS]: '<';
63
+ [TokenKind.COMPARISON_GREATER_EQUAL]: '>=';
64
+ [TokenKind.COMPARISON_LESS_EQUAL]: '<=';
65
+ };
66
+ type TokenUnion = {
67
+ [K in TokenKind]: {
68
+ kind: K;
69
+ value: K extends keyof TokenValueMap ? TokenValueMap[K] : string;
70
+ line: number;
71
+ col: number;
72
+ endLine: number;
73
+ endCol: number;
74
+ };
75
+ }[TokenKind];
76
+ export type Token<K extends TokenKind = TokenKind> = Extract<TokenUnion, {
77
+ kind: K;
78
+ }>;
79
+ export declare function newToken<K extends TokenKind>(kind: K, value: K extends keyof TokenValueMap ? TokenValueMap[K] : string, startLine: number, startCol: number, endLine: number, endCol: number): Token<K>;
80
+ export {};
81
+ //# sourceMappingURL=token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/core/lexer/token.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ // src/core/lexer/token.ts
2
+ export function newToken(kind, value, startLine, startCol, endLine, endCol) {
3
+ return { kind, value, line: startLine, col: startCol, endLine, endCol };
4
+ }
5
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/core/lexer/token.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAoG1B,MAAM,UAAU,QAAQ,CACvB,IAAO,EACP,KAAgE,EAChE,SAAiB,EACjB,QAAgB,EAChB,OAAe,EACf,MAAc;IAEd,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAyB,CAAC;AAChG,CAAC"}
@@ -1,82 +1,4 @@
1
- export declare const enum TokenKind {
2
- ERROR = 0,// 不认识的字符喵
3
- EOF = 1,
4
- COMMENT = 2,
5
- TERMINATOR = 3,// ~
6
- COMMA = 4,// ,
7
- KEYWORD_USE = 5,
8
- ASSIGNMENT_IS = 6,
9
- ASSIGNMENT_LIKE = 7,
10
- ASSIGNMENT_ONLY = 8,
11
- KEYWORD_CLONE = 9,
12
- KEYWORD_MOVE = 10,
13
- KEYWORD_CONFIRM = 11,
14
- KEYWORD_ELSE = 12,
15
- KEYWORD_LOOP = 13,
16
- KEYWORD_BREAK = 14,
17
- KEYWORD_AMBUSH = 15,
18
- KEYWORD_DEF = 16,
19
- KEYWORD_CALL = 17,
20
- KEYWORD_RETURN = 18,
21
- NUMBER = 19,
22
- STRING = 20,
23
- BOOLEAN = 21,
24
- NULL = 22,
25
- IDENTIFIER = 23,
26
- COLLECTION_START = 24,// [=
27
- COLLECTION_END = 25,// =]
28
- BLOCK_START = 26,// [#
29
- BLOCK_END = 27,// #]
30
- ACCESSOR = 28,// @
31
- ARITHMETIC_PLUS = 29,// +
32
- ARITHMETIC_MINUS = 30,// -
33
- ARITHMETIC_MULTIPLY = 31,// *
34
- ARITHMETIC_DIVIDE = 32,// /
35
- COMPARISON_EQUAL = 33,// ==
36
- COMPARISON_NOT_EQUAL = 34,// !=
37
- COMPARISON_GREATER = 35,// >
38
- COMPARISON_LESS = 36,// <
39
- COMPARISON_GREATER_EQUAL = 37,// >=
40
- COMPARISON_LESS_EQUAL = 38,// <=
41
- LOGIC_AND = 39,// 和
42
- LOGIC_OR = 40,// 或
43
- LOGIC_CLOSE_AND = 41,// 都好
44
- LOGIC_CLOSE_OR = 42,// 不坏
45
- LOGIC_CLOSE_NOR = 43,// 都坏
46
- LOGIC_CLOSE_NAND = 44
47
- }
48
- type AdditiveTokenKind = TokenKind.ARITHMETIC_PLUS | TokenKind.ARITHMETIC_MINUS;
49
- type MultiplicativeTokenKind = TokenKind.ARITHMETIC_MULTIPLY | TokenKind.ARITHMETIC_DIVIDE;
50
- export type ArithmeticTokenKind = AdditiveTokenKind | MultiplicativeTokenKind;
51
- export type EqualityTokenKind = TokenKind.COMPARISON_EQUAL | TokenKind.COMPARISON_NOT_EQUAL;
52
- type OrderingTokenKind = TokenKind.COMPARISON_GREATER | TokenKind.COMPARISON_LESS | TokenKind.COMPARISON_GREATER_EQUAL | TokenKind.COMPARISON_LESS_EQUAL;
53
- export type ComparisonTokenKind = EqualityTokenKind | OrderingTokenKind;
54
- type TokenValueMap = {
55
- [TokenKind.ARITHMETIC_PLUS]: '+';
56
- [TokenKind.ARITHMETIC_MINUS]: '-';
57
- [TokenKind.ARITHMETIC_MULTIPLY]: '*';
58
- [TokenKind.ARITHMETIC_DIVIDE]: '/';
59
- [TokenKind.COMPARISON_EQUAL]: '==';
60
- [TokenKind.COMPARISON_NOT_EQUAL]: '!=';
61
- [TokenKind.COMPARISON_GREATER]: '>';
62
- [TokenKind.COMPARISON_LESS]: '<';
63
- [TokenKind.COMPARISON_GREATER_EQUAL]: '>=';
64
- [TokenKind.COMPARISON_LESS_EQUAL]: '<=';
65
- };
66
- type TokenUnion = {
67
- [K in TokenKind]: {
68
- kind: K;
69
- value: K extends keyof TokenValueMap ? TokenValueMap[K] : string;
70
- line: number;
71
- col: number;
72
- endLine: number;
73
- endCol: number;
74
- };
75
- }[TokenKind];
76
- export type Token<K extends TokenKind = TokenKind> = Extract<TokenUnion, {
77
- kind: K;
78
- }>;
79
- export declare function newToken<K extends TokenKind>(kind: K, value: K extends keyof TokenValueMap ? TokenValueMap[K] : string, startLine: number, startCol: number, endLine: number, endCol: number): Token<K>;
1
+ import { TokenKind, type Token } from './token.js';
80
2
  declare const KEYWORDS: {
81
3
  readonly 蹭: TokenKind.KEYWORD_USE;
82
4
  readonly 就是: TokenKind.ASSIGNMENT_IS;
@@ -1 +1 @@
1
- {"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../../src/core/lexer/tokenizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../../src/core/lexer/tokenizer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAE7D,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;CAwBgC,CAAC;AAC/C,KAAK,OAAO,GAAG,MAAM,OAAO,QAAQ,CAAC;AACrC,eAAO,MAAM,cAAc,EAAgE,SAAS,OAAO,EAAE,CAAC;AAM9G,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,OAIhD,CAAC;AAGF,KAAK,gBAAgB,GAAG;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAiBF,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,KAAK,EAAE,CAmOhF"}