openalgo-script 0.1.0-alpha.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 (266) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +12 -0
  3. package/README.md +255 -0
  4. package/dist/core/ast/annotations.d.ts +56 -0
  5. package/dist/core/ast/annotations.d.ts.map +1 -0
  6. package/dist/core/ast/annotations.js +27 -0
  7. package/dist/core/ast/annotations.js.map +1 -0
  8. package/dist/core/ast/build.d.ts +25 -0
  9. package/dist/core/ast/build.d.ts.map +1 -0
  10. package/dist/core/ast/build.js +26 -0
  11. package/dist/core/ast/build.js.map +1 -0
  12. package/dist/core/ast/children.d.ts +15 -0
  13. package/dist/core/ast/children.d.ts.map +1 -0
  14. package/dist/core/ast/children.js +103 -0
  15. package/dist/core/ast/children.js.map +1 -0
  16. package/dist/core/ast/expressions.d.ts +178 -0
  17. package/dist/core/ast/expressions.d.ts.map +1 -0
  18. package/dist/core/ast/expressions.js +50 -0
  19. package/dist/core/ast/expressions.js.map +1 -0
  20. package/dist/core/ast/header.d.ts +50 -0
  21. package/dist/core/ast/header.d.ts.map +1 -0
  22. package/dist/core/ast/header.js +2 -0
  23. package/dist/core/ast/header.js.map +1 -0
  24. package/dist/core/ast/index.d.ts +30 -0
  25. package/dist/core/ast/index.d.ts.map +1 -0
  26. package/dist/core/ast/index.js +21 -0
  27. package/dist/core/ast/index.js.map +1 -0
  28. package/dist/core/ast/name.d.ts +24 -0
  29. package/dist/core/ast/name.d.ts.map +1 -0
  30. package/dist/core/ast/name.js +2 -0
  31. package/dist/core/ast/name.js.map +1 -0
  32. package/dist/core/ast/node.d.ts +34 -0
  33. package/dist/core/ast/node.d.ts.map +1 -0
  34. package/dist/core/ast/node.js +70 -0
  35. package/dist/core/ast/node.js.map +1 -0
  36. package/dist/core/ast/script.d.ts +57 -0
  37. package/dist/core/ast/script.d.ts.map +1 -0
  38. package/dist/core/ast/script.js +2 -0
  39. package/dist/core/ast/script.js.map +1 -0
  40. package/dist/core/ast/statements.d.ts +161 -0
  41. package/dist/core/ast/statements.d.ts.map +1 -0
  42. package/dist/core/ast/statements.js +10 -0
  43. package/dist/core/ast/statements.js.map +1 -0
  44. package/dist/core/ast/walk.d.ts +39 -0
  45. package/dist/core/ast/walk.d.ts.map +1 -0
  46. package/dist/core/ast/walk.js +54 -0
  47. package/dist/core/ast/walk.js.map +1 -0
  48. package/dist/core/catalogue/catalogue.generated.d.ts +1590 -0
  49. package/dist/core/catalogue/catalogue.generated.d.ts.map +1 -0
  50. package/dist/core/catalogue/catalogue.generated.js +162 -0
  51. package/dist/core/catalogue/catalogue.generated.js.map +1 -0
  52. package/dist/core/catalogue/index.d.ts +15 -0
  53. package/dist/core/catalogue/index.d.ts.map +1 -0
  54. package/dist/core/catalogue/index.js +4 -0
  55. package/dist/core/catalogue/index.js.map +1 -0
  56. package/dist/core/catalogue/lookup.d.ts +14 -0
  57. package/dist/core/catalogue/lookup.d.ts.map +1 -0
  58. package/dist/core/catalogue/lookup.js +19 -0
  59. package/dist/core/catalogue/lookup.js.map +1 -0
  60. package/dist/core/catalogue/template.d.ts +15 -0
  61. package/dist/core/catalogue/template.d.ts.map +1 -0
  62. package/dist/core/catalogue/template.js +33 -0
  63. package/dist/core/catalogue/template.js.map +1 -0
  64. package/dist/core/catalogue/types.d.ts +34 -0
  65. package/dist/core/catalogue/types.d.ts.map +1 -0
  66. package/dist/core/catalogue/types.js +6 -0
  67. package/dist/core/catalogue/types.js.map +1 -0
  68. package/dist/core/catalogue/values.generated.d.ts +565 -0
  69. package/dist/core/catalogue/values.generated.d.ts.map +1 -0
  70. package/dist/core/catalogue/values.generated.js +6 -0
  71. package/dist/core/catalogue/values.generated.js.map +1 -0
  72. package/dist/core/diagnostics/collector.d.ts +46 -0
  73. package/dist/core/diagnostics/collector.d.ts.map +1 -0
  74. package/dist/core/diagnostics/collector.js +55 -0
  75. package/dist/core/diagnostics/collector.js.map +1 -0
  76. package/dist/core/diagnostics/diagnostic.d.ts +40 -0
  77. package/dist/core/diagnostics/diagnostic.d.ts.map +1 -0
  78. package/dist/core/diagnostics/diagnostic.js +29 -0
  79. package/dist/core/diagnostics/diagnostic.js.map +1 -0
  80. package/dist/core/diagnostics/index.d.ts +12 -0
  81. package/dist/core/diagnostics/index.d.ts.map +1 -0
  82. package/dist/core/diagnostics/index.js +3 -0
  83. package/dist/core/diagnostics/index.js.map +1 -0
  84. package/dist/core/index.d.ts +28 -0
  85. package/dist/core/index.d.ts.map +1 -0
  86. package/dist/core/index.js +22 -0
  87. package/dist/core/index.js.map +1 -0
  88. package/dist/core/lex/blocks.d.ts +51 -0
  89. package/dist/core/lex/blocks.d.ts.map +1 -0
  90. package/dist/core/lex/blocks.js +56 -0
  91. package/dist/core/lex/blocks.js.map +1 -0
  92. package/dist/core/lex/characters.d.ts +38 -0
  93. package/dist/core/lex/characters.d.ts.map +1 -0
  94. package/dist/core/lex/characters.js +50 -0
  95. package/dist/core/lex/characters.js.map +1 -0
  96. package/dist/core/lex/comments.d.ts +50 -0
  97. package/dist/core/lex/comments.d.ts.map +1 -0
  98. package/dist/core/lex/comments.js +64 -0
  99. package/dist/core/lex/comments.js.map +1 -0
  100. package/dist/core/lex/index.d.ts +12 -0
  101. package/dist/core/lex/index.d.ts.map +1 -0
  102. package/dist/core/lex/index.js +12 -0
  103. package/dist/core/lex/index.js.map +1 -0
  104. package/dist/core/lex/layout.d.ts +40 -0
  105. package/dist/core/lex/layout.d.ts.map +1 -0
  106. package/dist/core/lex/layout.js +143 -0
  107. package/dist/core/lex/layout.js.map +1 -0
  108. package/dist/core/lex/lexer.d.ts +13 -0
  109. package/dist/core/lex/lexer.d.ts.map +1 -0
  110. package/dist/core/lex/lexer.js +419 -0
  111. package/dist/core/lex/lexer.js.map +1 -0
  112. package/dist/core/lex/numbers.d.ts +22 -0
  113. package/dist/core/lex/numbers.d.ts.map +1 -0
  114. package/dist/core/lex/numbers.js +58 -0
  115. package/dist/core/lex/numbers.js.map +1 -0
  116. package/dist/core/lex/statements.d.ts +24 -0
  117. package/dist/core/lex/statements.d.ts.map +1 -0
  118. package/dist/core/lex/statements.js +90 -0
  119. package/dist/core/lex/statements.js.map +1 -0
  120. package/dist/core/lex/strings.d.ts +27 -0
  121. package/dist/core/lex/strings.d.ts.map +1 -0
  122. package/dist/core/lex/strings.js +92 -0
  123. package/dist/core/lex/strings.js.map +1 -0
  124. package/dist/core/lex/unexpected.d.ts +31 -0
  125. package/dist/core/lex/unexpected.d.ts.map +1 -0
  126. package/dist/core/lex/unexpected.js +114 -0
  127. package/dist/core/lex/unexpected.js.map +1 -0
  128. package/dist/core/parse/annotations.d.ts +4 -0
  129. package/dist/core/parse/annotations.d.ts.map +1 -0
  130. package/dist/core/parse/annotations.js +49 -0
  131. package/dist/core/parse/annotations.js.map +1 -0
  132. package/dist/core/parse/blocks.d.ts +18 -0
  133. package/dist/core/parse/blocks.d.ts.map +1 -0
  134. package/dist/core/parse/blocks.js +47 -0
  135. package/dist/core/parse/blocks.js.map +1 -0
  136. package/dist/core/parse/branches.d.ts +17 -0
  137. package/dist/core/parse/branches.d.ts.map +1 -0
  138. package/dist/core/parse/branches.js +66 -0
  139. package/dist/core/parse/branches.js.map +1 -0
  140. package/dist/core/parse/cursor.d.ts +119 -0
  141. package/dist/core/parse/cursor.d.ts.map +1 -0
  142. package/dist/core/parse/cursor.js +305 -0
  143. package/dist/core/parse/cursor.js.map +1 -0
  144. package/dist/core/parse/expressions.d.ts +57 -0
  145. package/dist/core/parse/expressions.d.ts.map +1 -0
  146. package/dist/core/parse/expressions.js +373 -0
  147. package/dist/core/parse/expressions.js.map +1 -0
  148. package/dist/core/parse/functions.d.ts +16 -0
  149. package/dist/core/parse/functions.d.ts.map +1 -0
  150. package/dist/core/parse/functions.js +92 -0
  151. package/dist/core/parse/functions.js.map +1 -0
  152. package/dist/core/parse/index.d.ts +13 -0
  153. package/dist/core/parse/index.d.ts.map +1 -0
  154. package/dist/core/parse/index.js +13 -0
  155. package/dist/core/parse/index.js.map +1 -0
  156. package/dist/core/parse/loops.d.ts +13 -0
  157. package/dist/core/parse/loops.d.ts.map +1 -0
  158. package/dist/core/parse/loops.js +78 -0
  159. package/dist/core/parse/loops.js.map +1 -0
  160. package/dist/core/parse/names.d.ts +34 -0
  161. package/dist/core/parse/names.d.ts.map +1 -0
  162. package/dist/core/parse/names.js +122 -0
  163. package/dist/core/parse/names.js.map +1 -0
  164. package/dist/core/parse/script.d.ts +23 -0
  165. package/dist/core/parse/script.d.ts.map +1 -0
  166. package/dist/core/parse/script.js +55 -0
  167. package/dist/core/parse/script.js.map +1 -0
  168. package/dist/core/parse/statements.d.ts +14 -0
  169. package/dist/core/parse/statements.d.ts.map +1 -0
  170. package/dist/core/parse/statements.js +292 -0
  171. package/dist/core/parse/statements.js.map +1 -0
  172. package/dist/core/parse/switches.d.ts +16 -0
  173. package/dist/core/parse/switches.d.ts.map +1 -0
  174. package/dist/core/parse/switches.js +98 -0
  175. package/dist/core/parse/switches.js.map +1 -0
  176. package/dist/core/render/index.d.ts +10 -0
  177. package/dist/core/render/index.d.ts.map +1 -0
  178. package/dist/core/render/index.js +10 -0
  179. package/dist/core/render/index.js.map +1 -0
  180. package/dist/core/render/terminal.d.ts +11 -0
  181. package/dist/core/render/terminal.d.ts.map +1 -0
  182. package/dist/core/render/terminal.js +51 -0
  183. package/dist/core/render/terminal.js.map +1 -0
  184. package/dist/core/source/index.d.ts +7 -0
  185. package/dist/core/source/index.d.ts.map +1 -0
  186. package/dist/core/source/index.js +2 -0
  187. package/dist/core/source/index.js.map +1 -0
  188. package/dist/core/source/source.d.ts +41 -0
  189. package/dist/core/source/source.d.ts.map +1 -0
  190. package/dist/core/source/source.js +67 -0
  191. package/dist/core/source/source.js.map +1 -0
  192. package/dist/core/span/index.d.ts +3 -0
  193. package/dist/core/span/index.d.ts.map +1 -0
  194. package/dist/core/span/index.js +2 -0
  195. package/dist/core/span/index.js.map +1 -0
  196. package/dist/core/span/span.d.ts +67 -0
  197. package/dist/core/span/span.d.ts.map +1 -0
  198. package/dist/core/span/span.js +27 -0
  199. package/dist/core/span/span.js.map +1 -0
  200. package/dist/core/tokens/index.d.ts +8 -0
  201. package/dist/core/tokens/index.d.ts.map +1 -0
  202. package/dist/core/tokens/index.js +2 -0
  203. package/dist/core/tokens/index.js.map +1 -0
  204. package/dist/core/tokens/kind.d.ts +53 -0
  205. package/dist/core/tokens/kind.d.ts.map +1 -0
  206. package/dist/core/tokens/kind.js +94 -0
  207. package/dist/core/tokens/kind.js.map +1 -0
  208. package/dist/core/tokens/token.d.ts +36 -0
  209. package/dist/core/tokens/token.d.ts.map +1 -0
  210. package/dist/core/tokens/token.js +2 -0
  211. package/dist/core/tokens/token.js.map +1 -0
  212. package/package.json +52 -0
  213. package/spec/README.md +48 -0
  214. package/spec/errors.json +3204 -0
  215. package/src/core/ast/annotations.ts +68 -0
  216. package/src/core/ast/build.ts +35 -0
  217. package/src/core/ast/children.ts +110 -0
  218. package/src/core/ast/expressions.ts +254 -0
  219. package/src/core/ast/header.ts +53 -0
  220. package/src/core/ast/index.ts +102 -0
  221. package/src/core/ast/name.ts +24 -0
  222. package/src/core/ast/node.ts +120 -0
  223. package/src/core/ast/script.ts +60 -0
  224. package/src/core/ast/statements.ts +193 -0
  225. package/src/core/ast/walk.ts +67 -0
  226. package/src/core/catalogue/catalogue.generated.ts +171 -0
  227. package/src/core/catalogue/index.ts +20 -0
  228. package/src/core/catalogue/lookup.ts +23 -0
  229. package/src/core/catalogue/template.ts +38 -0
  230. package/src/core/catalogue/types.ts +37 -0
  231. package/src/core/catalogue/values.generated.ts +160 -0
  232. package/src/core/diagnostics/collector.ts +87 -0
  233. package/src/core/diagnostics/diagnostic.ts +72 -0
  234. package/src/core/diagnostics/index.ts +12 -0
  235. package/src/core/index.ts +146 -0
  236. package/src/core/lex/blocks.ts +92 -0
  237. package/src/core/lex/characters.ts +56 -0
  238. package/src/core/lex/comments.ts +75 -0
  239. package/src/core/lex/index.ts +11 -0
  240. package/src/core/lex/layout.ts +188 -0
  241. package/src/core/lex/lexer.ts +486 -0
  242. package/src/core/lex/numbers.ts +77 -0
  243. package/src/core/lex/statements.ts +94 -0
  244. package/src/core/lex/strings.ts +119 -0
  245. package/src/core/lex/unexpected.ts +125 -0
  246. package/src/core/parse/annotations.ts +60 -0
  247. package/src/core/parse/blocks.ts +52 -0
  248. package/src/core/parse/branches.ts +77 -0
  249. package/src/core/parse/cursor.ts +348 -0
  250. package/src/core/parse/expressions.ts +441 -0
  251. package/src/core/parse/functions.ts +109 -0
  252. package/src/core/parse/index.ts +12 -0
  253. package/src/core/parse/loops.ts +97 -0
  254. package/src/core/parse/names.ts +135 -0
  255. package/src/core/parse/script.ts +64 -0
  256. package/src/core/parse/statements.ts +329 -0
  257. package/src/core/parse/switches.ts +105 -0
  258. package/src/core/render/index.ts +9 -0
  259. package/src/core/render/terminal.ts +62 -0
  260. package/src/core/source/index.ts +6 -0
  261. package/src/core/source/source.ts +102 -0
  262. package/src/core/span/index.ts +2 -0
  263. package/src/core/span/span.ts +84 -0
  264. package/src/core/tokens/index.ts +15 -0
  265. package/src/core/tokens/kind.ts +123 -0
  266. package/src/core/tokens/token.ts +39 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalogue.generated.d.ts","sourceRoot":"","sources":["../../../src/core/catalogue/catalogue.generated.ts"],"names":[],"mappings":"AAQA,uEAAuE;AACvE,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,oDAAoD;AACpD,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,+FAA+F;AAC/F,eAAO,MAAM,YAAY;;;;;;CAM2B,CAAC;AAErD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgJyC,CAAC;AAE9D,6EAA6E;AAC7E,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,OAAO,CAAC"}
@@ -0,0 +1,162 @@
1
+ // Generated from spec/errors.json by scripts/generate-error-catalogue.mjs.
2
+ // What each code says: its severity, its stage, its message and its fix.
3
+ // Edit the catalogue, not this file. It is not kept in version control, because
4
+ // a checked-in copy is a second source of truth waiting to drift.
5
+ /** The shape of spec/errors.json that this file was generated from. */
6
+ export const CATALOGUE_SCHEMA_VERSION = 1;
7
+ /** The language version the catalogue describes. */
8
+ export const CATALOGUE_LANGUAGE_VERSION = 1;
9
+ /** The word each stage is printed as, so a reader is told which part of the compiler spoke. */
10
+ export const STAGE_LABELS = {
11
+ lex: "lexer",
12
+ parse: "parser",
13
+ check: "checker",
14
+ runtime: "engine",
15
+ host: "host",
16
+ };
17
+ export const ENTRIES = {
18
+ OS1001: { code: "OS1001", title: "Unexpected character", severity: "error", stage: "lex", since: 1, autofix: true, message: "Unexpected character {char}. {suggestion}", fix: "Delete the character or replace it with the plain ASCII spelling the message names: a plain space for a non-breaking space, a straight quote for a typographic one, not for !, and for &&, or for ||, pow(a, b) for ^.", placeholders: ["char", "suggestion"] },
19
+ OS1002: { code: "OS1002", title: "Tab in indentation", severity: "error", stage: "lex", since: 1, autofix: true, message: "This line is indented with a tab.", fix: "Replace the leading tabs with spaces. Four spaces per level is the convention and the formatter's output.", placeholders: [] },
20
+ OS1003: { code: "OS1003", title: "Indentation does not match this block", severity: "error", stage: "lex", since: 1, autofix: true, message: "This line is indented {found} spaces; the block opened at line {line} is indented {expected}.", fix: "Indent this line to {expected} spaces to keep it in the block, or to {line}'s own indentation to end the block here.", placeholders: ["found", "expected", "line"] },
21
+ OS1004: { code: "OS1004", title: "Unterminated string literal", severity: "error", stage: "lex", since: 1, autofix: false, message: "This string literal opens with {quote} and the line ends before a matching {quote}.", fix: "Close the string with a matching {quote} before the end of the line, and join text across lines with + and a continuation.", placeholders: ["quote"] },
22
+ OS1005: { code: "OS1005", title: "Unknown escape sequence", severity: "error", stage: "lex", since: 1, autofix: true, message: "{sequence} is not an escape sequence.", fix: "Double the backslash to write one literally, or use one of the escapes the language defines.", placeholders: ["sequence"] },
23
+ OS1006: { code: "OS1006", title: "Assignment used as a condition", severity: "error", stage: "parse", since: 1, autofix: true, message: "= assigns a value, and a condition needs a comparison.", fix: "Write == to compare, or move the assignment to its own line above the if.", placeholders: [] },
24
+ OS1007: { code: "OS1007", title: "Semicolon", severity: "error", stage: "lex", since: 1, autofix: true, message: "; is not part of the language.", fix: "Delete the ; and put the second statement on its own line.", placeholders: [] },
25
+ OS1008: { code: "OS1008", title: "Chained comparison", severity: "error", stage: "parse", since: 1, autofix: false, message: "A comparison cannot be chained: {op1} is already applied before {op2}.", fix: "Split it with and, naming the middle value twice: a < b and b < c.", placeholders: ["op1", "op2"] },
26
+ OS1009: { code: "OS1009", title: "break or continue outside a loop", severity: "error", stage: "parse", since: 1, autofix: false, message: "{word} is only valid inside a for or a while body.", fix: "Move it inside the loop body, or write return to leave a function early.", placeholders: ["word"] },
27
+ OS1010: { code: "OS1010", title: "Block header with no body", severity: "error", stage: "parse", since: 1, autofix: true, message: "{header} opens a block, and the next line is not indented more deeply.", fix: "Indent the body under the header, or delete the header line if the body is genuinely empty.", placeholders: ["header"] },
28
+ OS1011: { code: "OS1011", title: "var with no initial value", severity: "error", stage: "parse", since: 1, autofix: true, message: "var {name} has no initial value.", fix: "Give it a starting value; var {name} = none is the empty start.", placeholders: ["name"] },
29
+ OS1012: { code: "OS1012", title: "Bracket is never closed", severity: "error", stage: "parse", since: 1, autofix: false, message: "The {bracket} opened at line {line} is never closed.", fix: "Add the matching closer at the end of the argument list on line {line}.", placeholders: ["bracket", "line"] },
30
+ OS1013: { code: "OS1013", title: "Mismatched closing bracket", severity: "error", stage: "parse", since: 1, autofix: true, message: "Found {found} where {expected} was expected, closing the {opener} opened at line {line}.", fix: "Change {found} to {expected}, which is what closes the {opener} opened at line {line}.", placeholders: ["found", "expected", "opener", "line"] },
31
+ OS1014: { code: "OS1014", title: "Missing comma between arguments", severity: "error", stage: "parse", since: 1, autofix: true, message: "Two arguments run together; a comma is missing before {token}.", fix: "Put a comma between the two arguments.", placeholders: ["token"] },
32
+ OS1015: { code: "OS1015", title: "Ternary with no second arm", severity: "error", stage: "parse", since: 1, autofix: false, message: "This ? has no matching :", fix: "Give the ternary both arms, and use none for the arm that should draw nothing.", placeholders: [] },
33
+ OS1016: { code: "OS1016", title: "else does not follow an if", severity: "error", stage: "parse", since: 1, autofix: true, message: "This else is indented {found} spaces and the nearest if is indented {expected}.", fix: "Line the else up with its if, at {expected} spaces.", placeholders: ["found", "expected"] },
34
+ OS1017: { code: "OS1017", title: "case or default in the wrong place", severity: "error", stage: "parse", since: 1, autofix: false, message: "{word} is only valid inside a switch, and default must be its last arm.", fix: "Move the arm inside the switch block, and put default after every case.", placeholders: ["word"] },
35
+ OS1018: { code: "OS1018", title: "More than one statement on a line", severity: "error", stage: "parse", since: 1, autofix: false, message: "Unexpected {token} after the end of this statement.", fix: "Put {token} and what follows it on its own line, or supply the operator that was meant to join them.", placeholders: ["token"] },
36
+ OS1019: { code: "OS1019", title: "Reserved word used as a name", severity: "error", stage: "parse", since: 1, autofix: false, message: "{word} is a reserved word and cannot be used as a name.", fix: "Rename it; {suggestion} keeps the meaning and is not reserved.", placeholders: ["word", "suggestion"] },
37
+ OS1020: { code: "OS1020", title: "Incomplete for header", severity: "error", stage: "parse", since: 1, autofix: false, message: "A for header needs = start to end or in array; found {token}.", fix: "Write for i = 0 to size(values) - 1 for a counted loop, or for v in values to visit elements.", placeholders: ["token"] },
38
+ OS1021: { code: "OS1021", title: "The version declaration is not first", severity: "error", stage: "parse", since: 1, autofix: true, message: "version must be the first line that is not blank and not a comment; line {line} came before it.", fix: "Move the version line to the top of the file, above the study or strategy declaration.", placeholders: ["line"] },
39
+ OS1022: { code: "OS1022", title: "Expression expected", severity: "error", stage: "parse", since: 1, autofix: false, message: "An expression was expected after {token}.", fix: "Supply the missing operand, or delete the trailing {token}.", placeholders: ["token"] },
40
+ OS1023: { code: "OS1023", title: "A function declared inside a block", severity: "error", stage: "parse", since: 1, autofix: false, message: "fn {name} is declared inside a block, and a function is declared at the top level of the file.", fix: "Move the whole declaration out to the top level of the file, and call {name} from inside the block.", placeholders: ["name"] },
41
+ OS1024: { code: "OS1024", title: "Assignment to an indexed element", severity: "error", stage: "parse", since: 1, autofix: false, message: "An assignment writes to a name, and this target is an index into {name}.", fix: "Change an array element with set({name}, i, v), or assign to a plain name: the past of a series is computed and never written.", placeholders: ["name"] },
42
+ OS1025: { code: "OS1025", title: "Assignment to a member", severity: "error", stage: "parse", since: 1, autofix: false, message: "An assignment writes to a name, and this target is the member {member} of {name}.", fix: "Assign to a plain name. Version 1 has no member assignment: a dot reads a member, and the members a script can reach are facts and functions the library and the host supply.", placeholders: ["name", "member"] },
43
+ OS1026: { code: "OS1026", title: "Block comment", severity: "error", stage: "lex", since: 1, autofix: false, message: "{marker} does not open or close a comment. A comment is written // and runs to the end of its line.", fix: "Write // instead, and give every line of a commented region its own //, which every editor does with one keystroke.", placeholders: ["marker"] },
44
+ OS1027: { code: "OS1027", title: "Malformed colour literal", severity: "error", stage: "lex", since: 1, autofix: false, message: "{written} is not a colour: a colour literal is # and six or eight hexadecimal digits.", fix: "Give it six hexadecimal digits, or eight where the last two are the alpha byte. A named colour or rgb(r, g, b) says the same thing without the digits.", placeholders: ["written"] },
45
+ OS1028: { code: "OS1028", title: "A continuation line is not indented past its statement", severity: "error", stage: "lex", since: 1, autofix: true, message: "A continuation line must be indented more deeply than the line its statement began on; line {line} is indented {statement} and this line is indented {found}.", fix: "Indent this line further than the {statement} spaces on line {line}. Four more is the convention and the formatter's output.", placeholders: ["found", "statement", "line"] },
46
+ OS1029: { code: "OS1029", title: "A name written against a number", severity: "error", stage: "lex", since: 1, autofix: false, message: "{written} is neither a number nor a name: the number literal ends at {number}, and a name cannot begin with a digit.", fix: "Write the value in a form the language has: a decimal literal, or 0x and hexadecimal digits. There is no binary form and no octal form, and an underscore separates digit groups only where a digit follows it. Where a number and a name were meant as two things, put an operator between them.", placeholders: ["written", "number"] },
47
+ OS2001: { code: "OS2001", title: "Name is not defined here", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} is not defined at this point in the file.", fix: "Assign {name} above this line, move this line below its assignment, or correct the spelling to {suggestion}.", placeholders: ["name", "suggestion"] },
48
+ OS2002: { code: "OS2002", title: "The name already exists in an enclosing scope", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} is already declared at line {line}, so a second one cannot be declared here.", fix: "Rename this one, or drop the inner declaration and let the assignment update the {name} at line {line}.", placeholders: ["name", "line"] },
49
+ OS2003: { code: "OS2003", title: "Types do not match", severity: "error", stage: "check", since: 1, autofix: false, message: "{leftType} and {rightType} do not mix here.", fix: "Convert explicitly: text(x) for a string, number(s) for a number, bool(x) for a bool, or use a separate name for the second value. A plot, fill or level handle converts to nothing: leave it named at the top level, pass it to fill(), and use draw.line() or draw.box() where the script needs something it can keep.", placeholders: ["leftType", "rightType"] },
50
+ OS2004: { code: "OS2004", title: "This value has no history", severity: "error", stage: "check", since: 1, autofix: false, message: "{expr} has no history, so [] cannot read a past value of it.", fix: "Assign the value to a name at the top level of the file, then read that name's history.", placeholders: ["expr"] },
51
+ OS2005: { code: "OS2005", title: "Recursive call", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} calls itself: {cycle}.", fix: "Rewrite it as a loop, or split the work into two functions that do not call each other.", placeholders: ["name", "cycle"] },
52
+ OS2006: { code: "OS2006", title: "Assignment to a loop variable", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} is this loop's variable and cannot be assigned inside the body.", fix: "Use break to leave early, or keep a separate name for the value the body changes.", placeholders: ["name"] },
53
+ OS2007: { code: "OS2007", title: "The file has no declaration", severity: "error", stage: "check", since: 1, autofix: false, message: "A file needs one study() or strategy() declaration before any other statement.", fix: "Add study(\"Name\") as the first statement, or strategy(\"Name\") if the file places orders.", placeholders: [] },
54
+ OS2008: { code: "OS2008", title: "More than one declaration", severity: "error", stage: "check", since: 1, autofix: false, message: "This file already declares {kind} at line {line}.", fix: "Delete this declaration and move the options you wanted onto the one at line {line}.", placeholders: ["kind", "line"] },
55
+ OS2009: { code: "OS2009", title: "Unknown member of a namespace", severity: "error", stage: "check", since: 1, autofix: false, message: "{namespace} has no member named {member}.", fix: "Use one of {namespace}'s members; {suggestion} is the closest match to what was written.", placeholders: ["namespace", "member", "suggestion"] },
56
+ OS2010: { code: "OS2010", title: "This name is not a function", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} is {type}, not a function, so it cannot be called.", fix: "Remove the argument list to read the value, or call the function that was meant: {suggestion}.", placeholders: ["name", "type", "suggestion"] },
57
+ OS2011: { code: "OS2011", title: "A condition must be a bool", severity: "error", stage: "check", since: 1, autofix: false, message: "This condition is {type}; a condition must be bool or none.", fix: "Write the test out: {name} > 0 for a count, isNone({name}) for absence, {name} != \"\" for a string.", placeholders: ["type", "name"] },
58
+ OS2012: { code: "OS2012", title: "The two arms of the ternary have different types", severity: "error", stage: "check", since: 1, autofix: false, message: "The arms of this ? : are {leftType} and {rightType}.", fix: "Make both arms the same type with text() or number(), or use none for the empty arm.", placeholders: ["leftType", "rightType"] },
59
+ OS2013: { code: "OS2013", title: "An array literal mixes types", severity: "error", stage: "check", since: 1, autofix: false, message: "This array holds {firstType} at index 0 and {otherType} at index {index}.", fix: "Make every element {firstType}, or keep two arrays and index them together.", placeholders: ["firstType", "otherType", "index"] },
60
+ OS2014: { code: "OS2014", title: "A function cannot be used as a value", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} is a function, and version 1 has no function values.", fix: "Call {name} with its arguments and use the value it returns.", placeholders: ["name"] },
61
+ OS2015: { code: "OS2015", title: "The element type of this empty array is unknown", severity: "error", stage: "check", since: 1, autofix: false, message: "An empty array literal needs its element type from an annotation or from a first use.", fix: "Annotate the declaration, var hits: array<number> = [], or put the first element in with push(), unshift(), insert() or set() and let the type be read from that call.", placeholders: [] },
62
+ OS2016: { code: "OS2016", title: "Unknown type in an annotation", severity: "error", stage: "check", since: 1, autofix: false, message: "{type} is not a type.", fix: "Use number, string, bool, color, array<T>, or an object type (line, label, box, polyline, table), with series in front for a per-bar value.", placeholders: ["type"] },
63
+ OS2017: { code: "OS2017", title: "A function with this name is already declared", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} is already declared as a function at line {line}.", fix: "Rename one of them, or give the one function a default argument that covers both uses.", placeholders: ["name", "line"] },
64
+ OS2018: { code: "OS2018", title: "Duplicate parameter name", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} appears twice in this parameter list.", fix: "Rename the second parameter, so every name in the list appears once.", placeholders: ["name"] },
65
+ OS2019: { code: "OS2019", title: "This type cannot be an array element", severity: "error", stage: "check", since: 1, autofix: false, message: "array<{type}> is not a type: {type} cannot be an array element.", fix: "Use an element type an array holds: number, string, bool, color, line, label, box, polyline or table. A plot cannot be kept anywhere, so declare each plot at the top level and give it its own name.", placeholders: ["type"] },
66
+ OS3001: { code: "OS3001", title: "Wrong number of arguments", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} takes {expected} arguments and {found} were given.", fix: "Pass the arguments the signature names: {signature}.", placeholders: ["name", "expected", "found", "signature"] },
67
+ OS3002: { code: "OS3002", title: "Unknown named argument", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} has no argument called {argument}.", fix: "Use one of {names}; {suggestion} is the closest to what was written.", placeholders: ["name", "argument", "names", "suggestion"] },
68
+ OS3003: { code: "OS3003", title: "This option must be a constant", severity: "error", stage: "check", since: 1, autofix: false, message: "{option} is read once, before the first bar, so it cannot depend on bar data.", fix: "Use a literal, or make it tunable with an input(): {option} = input(2, \"{option}\").", placeholders: ["option"] },
69
+ OS3004: { code: "OS3004", title: "Argument is not a valid whole number", severity: "error", stage: "check", since: 1, autofix: false, message: "{name}'s {argument} must be a whole number {range}; {found} was given.", fix: "Pass a whole number inside {range}, and wrap a computed value in floor() or round().", placeholders: ["name", "argument", "range", "found"] },
70
+ OS3005: { code: "OS3005", title: "Positional argument after a named one", severity: "error", stage: "check", since: 1, autofix: false, message: "A positional argument cannot follow a named one.", fix: "Name this argument too, or move it in front of the first named argument.", placeholders: [] },
71
+ OS3006: { code: "OS3006", title: "This call must be at the top level", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} defines part of the study's fixed shape and cannot appear inside {construct}.", fix: "Move the call to the top level and hide it per bar by passing none: plot(cond ? value : none, ...). Inside a request expression, read the value first and draw with it afterwards. A leg is not hidden by passing none: declare it at the top level and decide per bar whether to send it an order.", placeholders: ["name", "construct"] },
72
+ OS3007: { code: "OS3007", title: "input() must be at the top level", severity: "error", stage: "check", since: 1, autofix: false, message: "input() builds one row of the settings dialog, which is read once before the first bar.", fix: "Move the input() to the top level and use the name it assigns inside the block.", placeholders: [] },
73
+ OS3008: { code: "OS3008", title: "The value is not valid for this parameter", severity: "error", stage: "check", since: 1, autofix: false, message: "{argument} accepts {values}; {found} is not one of them.", fix: "Use one of {values}; {suggestion} is the closest to what was written.", placeholders: ["argument", "values", "found", "suggestion"] },
74
+ OS3009: { code: "OS3009", title: "This option needs another option to be set", severity: "error", stage: "check", since: 1, autofix: false, message: "{option} = {value} requires {required}.", fix: "Set {required} in the declaration, or choose a value of {option} that stands on its own.", placeholders: ["option", "value", "required"] },
75
+ OS3010: { code: "OS3010", title: "Two arguments that cannot both be given", severity: "error", stage: "check", since: 1, autofix: false, message: "{first} and {second} set the same thing two ways.", fix: "Keep one of the two: an absolute price or a distance from the entry, one colour for the whole band or a colour for each side, and on a leg described as a future neither right nor strikeOffset.", placeholders: ["first", "second"] },
76
+ OS3011: { code: "OS3011", title: "Argument has the wrong type", severity: "error", stage: "check", since: 1, autofix: false, message: "{name}'s {argument} is {expected}; {found} was given.", fix: "Convert the value with text(), number() or bool(), or pass an expression of type {expected}.", placeholders: ["name", "argument", "expected", "found"] },
77
+ OS3012: { code: "OS3012", title: "A required argument is missing", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} requires {argument}, which has no default.", fix: "Pass {argument} at the call site, as the example shows: {example}.", placeholders: ["name", "argument", "example"] },
78
+ OS3013: { code: "OS3013", title: "Argument given twice", severity: "error", stage: "check", since: 1, autofix: false, message: "{argument} is given twice at this call site.", fix: "Delete one of the two, keeping the value that was meant.", placeholders: ["argument"] },
79
+ OS3014: { code: "OS3014", title: "limits() is in the wrong place", severity: "error", stage: "check", since: 1, autofix: false, message: "limits() appears at most once, immediately after the declaration; this one is at line {line}.", fix: "Move the limits() line directly under study(...) or strategy(...), and merge two calls into one.", placeholders: ["line"] },
80
+ OS3015: { code: "OS3015", title: "limits() takes literal numbers", severity: "error", stage: "check", since: 1, autofix: false, message: "limits() is read before the first bar, so {option} must be a literal number.", fix: "Write the number: limits(loops = 50_000_000).", placeholders: ["option"] },
81
+ OS3016: { code: "OS3016", title: "range must be a low and a high", severity: "error", stage: "check", since: 1, autofix: false, message: "range is [{low}, {high}]; it takes two numbers and the first must be below the second.", fix: "Write two numbers, lowest first: range = [0, 100].", placeholders: ["low", "high"] },
82
+ OS3017: { code: "OS3017", title: "Two of these share a name", severity: "error", stage: "check", since: 1, autofix: false, message: "{kind} names must be unique in a file; {name} is also used at line {line}.", fix: "Rename one of them so each name appears once.", placeholders: ["kind", "name", "line"] },
83
+ OS3018: { code: "OS3018", title: "The default is not in the options list", severity: "error", stage: "check", since: 1, autofix: false, message: "This input's default {default} is not one of options {values}.", fix: "Add {default} to options, or make the default one of the listed values.", placeholders: ["default", "values"] },
84
+ OS3019: { code: "OS3019", title: "A declaration handle in an object argument", severity: "error", stage: "check", since: 1, autofix: false, message: "{name}'s {argument} is {expected}; {found} is a declaration handle, which has no value at run time.", fix: "Pass an object the script created with draw.line(), draw.box() or draw.label(), and change a plot's own appearance through the arguments of the plot call instead.", placeholders: ["name", "argument", "expected", "found"] },
85
+ OS3020: { code: "OS3020", title: "fill needs two declared plots", severity: "error", stage: "check", since: 1, autofix: false, message: "fill's {argument} is {found}; it takes a plot declared by plot() or plotCandles().", fix: "Plot both edges at the top level, name each one, and pass the two names to fill().", placeholders: ["argument", "found"] },
86
+ OS4001: { code: "OS4001", title: "History index is not usable", severity: "error", stage: "runtime", since: 1, autofix: false, message: "[{index}] is not a whole number of bars at or above zero.", fix: "Wrap the index in floor() or round(), and clamp a computed index with max(0, n).", placeholders: ["index"] },
87
+ OS4002: { code: "OS4002", title: "History index is deeper than the retained depth", severity: "error", stage: "runtime", since: 1, autofix: false, message: "[{index}] reaches past the retained depth of {depth} bars.", fix: "Raise the depth in one place: limits(history = {suggested}).", placeholders: ["index", "depth", "suggested"] },
88
+ OS4003: { code: "OS4003", title: "A whole number was required here", severity: "error", stage: "runtime", since: 1, autofix: false, message: "{name}'s {argument} was {found} on this bar; a whole number was required.", fix: "Round the value before passing it: floor() towards zero, round() to nearest.", placeholders: ["name", "argument", "found"] },
89
+ OS4004: { code: "OS4004", title: "Array index out of range", severity: "error", stage: "runtime", since: 1, autofix: false, message: "Index {index} is outside {name}, which holds {size} elements.", fix: "Guard the read with size({name}), and index from size({name}) - 1 for the last element.", placeholders: ["index", "name", "size"] },
90
+ OS4005: { code: "OS4005", title: "The drawing object no longer exists", severity: "error", stage: "runtime", since: 1, autofix: false, message: "This {kind} was deleted on bar {bar} and cannot be changed.", fix: "Assign none to the name on the same path as the delete, and test isNone() on it before changing the object.", placeholders: ["kind", "bar"] },
91
+ OS4006: { code: "OS4006", title: "The array is empty", severity: "error", stage: "runtime", since: 1, autofix: false, message: "{name} cannot take an element from an empty array.", fix: "Test size(arr) > 0 before the call.", placeholders: ["name"] },
92
+ OS4007: { code: "OS4007", title: "Slice range is invalid", severity: "error", stage: "runtime", since: 1, autofix: false, message: "slice({from}, {to}) is not a range inside an array of {size} elements.", fix: "Clamp the bounds: from = max(0, from) and to = min(size(arr), to), with from at or below to.", placeholders: ["from", "to", "size"] },
93
+ OS4008: { code: "OS4008", title: "Table cell is outside the table", severity: "error", stage: "runtime", since: 1, autofix: false, message: "Cell ({row}, {column}) is outside a table of {rows} rows and {columns} columns.", fix: "Declare the table with the shape the script writes: table(\"Summary\", {rows}, {columns}).", placeholders: ["row", "column", "rows", "columns"] },
94
+ OS4009: { code: "OS4009", title: "Colour channel is out of range", severity: "error", stage: "runtime", since: 1, autofix: false, message: "{name}'s {argument} is {found}; channels run 0 to 255 and alpha runs 0 to 1.", fix: "Clamp the value where it is computed: rgb(min(255, max(0, r)), g, b).", placeholders: ["name", "argument", "found"] },
95
+ OS4010: { code: "OS4010", title: "Calendar field is out of range", severity: "error", stage: "runtime", since: 1, autofix: false, message: "{field} is {found}; it runs {range}.", fix: "Pass a value inside {range}, carrying the overflow into the field above it as the example does.", placeholders: ["field", "found", "range"] },
96
+ OS4011: { code: "OS4011", title: "String position is outside the string", severity: "error", stage: "runtime", since: 1, autofix: false, message: "Position {index} is outside a string of {length} characters.", fix: "Guard with str.length(s), or clamp the position with min() before the call.", placeholders: ["index", "length"] },
97
+ OS4012: { code: "OS4012", title: "That value is not one of the accepted names", severity: "error", stage: "runtime", since: 1, autofix: false, message: "{argument} accepts {values}; {found} was computed on this bar.", fix: "Produce the value from an input() with an options list, so only accepted names can reach the call.", placeholders: ["argument", "values", "found"] },
98
+ OS4013: { code: "OS4013", title: "A loop bound is absent", severity: "error", stage: "runtime", since: 1, autofix: false, message: "This loop's {bound} is absent on this bar.", fix: "Give the bound a value with orElse(), or guard the loop with isNone() so a warmup bar skips it deliberately.", placeholders: ["bound"] },
99
+ OS5001: { code: "OS5001", title: "Loop budget exhausted", severity: "error", stage: "runtime", since: 1, autofix: false, message: "This bar used its {budget} loop iterations, and the loop at line {line} was still running.", fix: "Fix the exit condition, or raise the budget in one line: limits(loops = {suggested}).", placeholders: ["budget", "line", "suggested"] },
100
+ OS5002: { code: "OS5002", title: "The array is too large", severity: "error", stage: "runtime", since: 1, autofix: false, message: "An array holds at most {max} elements; {name} reached {size}.", fix: "Drop the oldest element as you append: if size(arr) > 500, shift(arr).", placeholders: ["max", "name", "size"] },
101
+ OS5003: { code: "OS5003", title: "The host refused this limits() value", severity: "error", stage: "host", since: 1, autofix: false, message: "This host allows {option} up to {max}; the file asks for {found}.", fix: "Lower {option} to {max} or below, or run the file on a host that allows more.", placeholders: ["option", "max", "found"] },
102
+ OS5004: { code: "OS5004", title: "The program needs more state regions than the engine allows", severity: "error", stage: "check", since: 1, autofix: false, message: "This program needs {found} state regions and the engine allows {max}; {first} calls {second} on several paths.", fix: "Call the inner function once at the top level, give its result a name, and pass that name down.", placeholders: ["found", "max", "first", "second"] },
103
+ OS5005: { code: "OS5005", title: "Nesting is too deep", severity: "error", stage: "parse", since: 1, autofix: false, message: "{construct} is nested {found} deep and the ceiling is {max}.", fix: "Flatten it: give the inner expression a name at the top level and use the name.", placeholders: ["construct", "found", "max"] },
104
+ OS5006: { code: "OS5006", title: "Too many outstanding data requests", severity: "error", stage: "host", since: 1, autofix: false, message: "This file makes {found} data requests and the host allows {max}.", fix: "Keep one request per symbol and timeframe, reuse the name it assigns, and delete the requests whose results are unused.", placeholders: ["found", "max"] },
105
+ OS5007: { code: "OS5007", title: "The bar took too long", severity: "error", stage: "host", since: 1, autofix: false, message: "Bar {bar} ran for {ms} ms and the host allows {max} ms.", fix: "Keep a running value in a var and update it per bar instead of recomputing over the whole history.", placeholders: ["bar", "ms", "max"] },
106
+ OS5008: { code: "OS5008", title: "The string is too long", severity: "error", stage: "runtime", since: 1, autofix: false, message: "A string holds at most {max} characters; this one reached {found}.", fix: "Keep the pieces in an array, trim it to the rows you display, and join only those.", placeholders: ["max", "found"] },
107
+ OS5009: { code: "OS5009", title: "The program is too large", severity: "error", stage: "check", since: 1, autofix: false, message: "This file compiles to {found} instructions and the ceiling is {max}.", fix: "Move the repeated block into a fn and call it, and delete branches the script no longer uses.", placeholders: ["found", "max"] },
108
+ OS6001: { code: "OS6001", title: "Unknown timeframe", severity: "error", stage: "check", since: 1, autofix: false, message: "{value} is not a timeframe.", fix: "Write a count and a unit, or a bare number of minutes: \"5m\", \"1h\", \"1D\", \"1W\", \"60\".", placeholders: ["value"] },
109
+ OS6002: { code: "OS6002", title: "The requested timeframe is lower than the chart's", severity: "error", stage: "host", since: 1, autofix: false, message: "The chart is {chart} and the request asks for {requested}.", fix: "Request {chart} or higher, or change the chart's interval to the lower one and fold upwards instead.", placeholders: ["chart", "requested"] },
110
+ OS6003: { code: "OS6003", title: "A per-bar name inside a request expression", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} is computed on this chart's bars, so it has no meaning on the requested ones.", fix: "Move the calculation inside the request expression, or pass a constant: a literal or an input().", placeholders: ["name"] },
111
+ OS6004: { code: "OS6004", title: "The library manifest disagrees with the program", severity: "error", stage: "host", since: 1, autofix: false, message: "Entry {index} of the program names {name} with {arity} arguments; this engine's manifest has {manifest}.", fix: "Recompile the script against this engine's library, or run the program on an engine with the library version it was compiled against.", placeholders: ["index", "name", "arity", "manifest"] },
112
+ OS6005: { code: "OS6005", title: "Unknown timezone", severity: "error", stage: "host", since: 1, autofix: false, message: "{value} is not a timezone this host knows.", fix: "Use a full area and location name from the host's list, or leave the argument out to use the chart's own timezone.", placeholders: ["value"] },
113
+ OS6006: { code: "OS6006", title: "The engine lacks a capability the program requires", severity: "error", stage: "host", since: 1, autofix: false, message: "This program requires {tag} and this engine does not have it.", fix: "Run the program on an engine that has {tag}, or remove the feature that needs it: the tag names it.", placeholders: ["tag"] },
114
+ OS6007: { code: "OS6007", title: "Unknown symbol or exchange", severity: "error", stage: "host", since: 1, autofix: false, message: "The host does not know {symbol} on {exchange}.", fix: "Correct the symbol, and name the exchange it trades on when it is not the chart's: req.symbol(\"SYMBOL\", \"1D\", close, exchange = \"EXCHANGE\").", placeholders: ["symbol", "exchange"] },
115
+ OS6008: { code: "OS6008", title: "The request returned no bars", severity: "error", stage: "host", since: 1, autofix: false, message: "{symbol} at {timeframe} returned no bars over the range this chart covers.", fix: "Move the chart's range into the period the instrument traded, or request a symbol that covers it.", placeholders: ["symbol", "timeframe"] },
116
+ OS6009: { code: "OS6009", title: "The request failed", severity: "error", stage: "host", since: 1, autofix: false, message: "The host could not fetch {symbol} at {timeframe}: {reason}.", fix: "Act on {reason} in the host: it is a connection, permission or quota problem. Where the value can be derived from the chart's own bars, derive it and drop the request.", placeholders: ["symbol", "timeframe", "reason"] },
117
+ OS6010: { code: "OS6010", title: "The engine was given no bars", severity: "error", stage: "host", since: 1, autofix: false, message: "There are no bars for {symbol} at {timeframe}, so the script cannot run.", fix: "Choose an instrument and interval that have history, or widen the chart's date range until bars exist.", placeholders: ["symbol", "timeframe"] },
118
+ OS6011: { code: "OS6011", title: "The bars are not in order", severity: "error", stage: "host", since: 1, autofix: false, message: "Bar {index} is dated {time}, which is not after bar {previous}.", fix: "Reload the history; if the same bar repeats, the feed is sending duplicates and the host has to sort and deduplicate the bars before the engine runs.", placeholders: ["index", "time", "previous"] },
119
+ OS6012: { code: "OS6012", title: "An instrument fact is not known", severity: "error", stage: "host", since: 1, autofix: false, message: "The host did not supply {fact} for {symbol}.", fix: "Supply {fact} in the host's instrument record, or stop depending on it: round with a number the script chooses rather than chart.tickSize.", placeholders: ["fact", "symbol"] },
120
+ OS6013: { code: "OS6013", title: "The request changed after the first bar", severity: "error", stage: "runtime", since: 1, autofix: false, message: "This request asked for {first} on bar 0 and for {found} on bar {bar}.", fix: "Compute the symbol and the timeframe from literals or inputs, not from bar data.", placeholders: ["first", "found", "bar"] },
121
+ OS6014: { code: "OS6014", title: "The feed does not offer this timeframe", severity: "error", stage: "host", since: 1, autofix: false, message: "The host has no {timeframe} data for {symbol}; it offers {available}.", fix: "Request one of {available}, or derive the interval you want from a lower one the host does serve.", placeholders: ["timeframe", "symbol", "available"] },
122
+ OS6015: { code: "OS6015", title: "The requested timeframe does not fold into the chart's", severity: "error", stage: "host", since: 1, autofix: false, message: "{requested} is not a whole multiple of {chart}.", fix: "Request a multiple of {chart}, for example {suggestion}.", placeholders: ["requested", "chart", "suggestion"] },
123
+ OS6016: { code: "OS6016", title: "The compiled format version is not one this engine implements", severity: "error", stage: "host", since: 1, autofix: false, message: "This program is in compiled format {found} and this engine implements up to {max}.", fix: "Run the program on an engine that implements format {found}, or recompile the source with a compiler that emits format {max}.", placeholders: ["found", "max"] },
124
+ OS6017: { code: "OS6017", title: "The program's language version is not one this engine implements", severity: "error", stage: "host", since: 1, autofix: false, message: "This program was compiled from language version {found}, and this engine implements {versions}.", fix: "Upgrade the engine to one that implements language version {found}, or recompile the source against a version it has.", placeholders: ["found", "versions"] },
125
+ OS6018: { code: "OS6018", title: "The compiled program is malformed", severity: "error", stage: "host", since: 1, autofix: false, message: "The program failed verification at {location}: {reason}.", fix: "Recompile the script from its source; a program that fails verification came from a broken compiler or was edited after it was written, and neither is repairable by hand.", placeholders: ["location", "reason"] },
126
+ OS6019: { code: "OS6019", title: "A host setting fails the input's validation", severity: "error", stage: "host", since: 1, autofix: false, message: "The host supplied {value} for {key}, and {validation}.", fix: "Correct the value in the settings dialog, or widen the input's own min, max or options so the value is allowed.", placeholders: ["value", "key", "validation"] },
127
+ OS7001: { code: "OS7001", title: "Only a strategy can do that", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} is available only in a file declared with strategy().", fix: "Change study(...) on line {line} to strategy(...), or replace {name} with signal(\"...\") to mark the bar without trading.", placeholders: ["name", "line"] },
128
+ OS7002: { code: "OS7002", title: "An order argument is absent", severity: "error", stage: "runtime", since: 1, autofix: false, message: "{name}'s {argument} is absent on this bar.", fix: "Guard the call with isNone({argument}), or supply a fallback with orElse() where one is genuinely correct.", placeholders: ["name", "argument"] },
129
+ OS7003: { code: "OS7003", title: "An order function inside a request expression", severity: "error", stage: "check", since: 1, autofix: false, message: "{name} inside a request expression would place an order from another instrument's bars.", fix: "Read the value with the request, and place the order at the top level from the result.", placeholders: ["name"] },
130
+ OS7004: { code: "OS7004", title: "Order quantity is zero or negative", severity: "error", stage: "runtime", since: 1, autofix: false, message: "{name} was given a quantity of {qty}.", fix: "Pass a positive quantity, guard the call with a size test, and use sell() to go the other way.", placeholders: ["name", "qty"] },
131
+ OS7005: { code: "OS7005", title: "Quantity is not a multiple of the lot size", severity: "error", stage: "runtime", since: 1, autofix: false, message: "{symbol} trades in lots of {lot}, and {qty} is not a multiple of it.", fix: "Size in lots: declare qtyType = \"lots\" and pass the lot count, or round a computed size with order.roundToLot().", placeholders: ["symbol", "lot", "qty"] },
132
+ OS7006: { code: "OS7006", title: "Price is not on a tick", severity: "error", stage: "runtime", since: 1, autofix: false, message: "{symbol} ticks at {tick}, and {price} does not fall on one.", fix: "Round to the tick before passing the price: round(price / chart.tickSize) * chart.tickSize.", placeholders: ["symbol", "tick", "price"] },
133
+ OS7007: { code: "OS7007", title: "A resting order has no price", severity: "error", stage: "runtime", since: 1, autofix: false, message: "A {type} order needs {argument}, and none was given.", fix: "Pass {argument}, or leave the type as market and let the order fill at the next price.", placeholders: ["type", "argument"] },
134
+ OS7008: { code: "OS7008", title: "The entry was refused by pyramiding", severity: "error", stage: "runtime", since: 1, autofix: false, message: "This strategy allows {max} entries in one direction and already holds {found}.", fix: "Raise pyramiding in the declaration, or test pos.size before entering again.", placeholders: ["max", "found"] },
135
+ OS7009: { code: "OS7009", title: "Unknown order tag", severity: "error", stage: "runtime", since: 1, autofix: false, message: "There is no working order tagged {tag}.", fix: "Use the tag the order was placed with, and test order.working({tag}) before acting on it.", placeholders: ["tag"] },
136
+ OS7010: { code: "OS7010", title: "A bracket price is on the wrong side of the entry", severity: "error", stage: "runtime", since: 1, autofix: false, message: "A {side} entry at {entry} cannot take a {leg} at {price}.", fix: "Put the stop below a long entry and the limit above it, and swap the two for a short.", placeholders: ["side", "entry", "leg", "price"] },
137
+ OS7011: { code: "OS7011", title: "The order needs more capital than the strategy has", severity: "error", stage: "runtime", since: 1, autofix: false, message: "This order needs {required} and the strategy has {available}.", fix: "Size from equity with qtyType = \"equityPercent\", or test pos.equity before entering.", placeholders: ["required", "available"] },
138
+ OS7012: { code: "OS7012", title: "The instrument is outside its session", severity: "error", stage: "runtime", since: 1, autofix: false, message: "{symbol} is outside its trading session at {time}.", fix: "Guard entries with session.isOpen, and set closeOnSessionEnd = true to flatten at the close.", placeholders: ["symbol", "time"] },
139
+ OS7013: { code: "OS7013", title: "Two opposite orders on one bar", severity: "error", stage: "runtime", since: 1, autofix: false, message: "{first} and {second} were both placed on bar {bar}.", fix: "Make the conditions exclusive with else if, or place the exit on this bar and the entry on the next.", placeholders: ["first", "second", "bar"] },
140
+ OS7014: { code: "OS7014", title: "The destination rejected the order", severity: "error", stage: "host", since: 1, autofix: false, message: "The order destination rejected {name}: {reason}.", fix: "Act on {reason}: it comes from the destination, not from the script, and the same order will be rejected again until the account or the order changes.", placeholders: ["name", "reason"] },
141
+ OS7015: { code: "OS7015", title: "The strategy has no order destination", severity: "error", stage: "host", since: 1, autofix: false, message: "This strategy placed an order and the host supplied no destination.", fix: "Connect a destination in the host, or run the file as a study(): replace buy() with signal(\"BUY\").", placeholders: [] },
142
+ OS8001: { code: "OS8001", title: "A stateful call inside a branch", severity: "warning", stage: "check", since: 1, autofix: false, message: "{name} advances only on the bars where this branch runs, and is absent on the rest.", fix: "Compute it unconditionally at the top level and use the result inside the branch.", placeholders: ["name"] },
143
+ OS8002: { code: "OS8002", title: "A higher timeframe read with onUnconfirmed", severity: "warning", stage: "check", since: 1, autofix: false, message: "This file sets onUnconfirmed = true and reads {timeframe}; together they repaint.", fix: "Drop onUnconfirmed = true, or guard every use of the read with bar.isConfirmed.", placeholders: ["timeframe"] },
144
+ OS8003: { code: "OS8003", title: "No version declaration", severity: "warning", stage: "check", since: 1, autofix: true, message: "This file declares no language version; it was compiled as version {version}.", fix: "Add version {version} as the first line of the file.", placeholders: ["version"] },
145
+ OS8004: { code: "OS8004", title: "A branch on an absent condition changes a value used later", severity: "warning", stage: "check", since: 1, autofix: false, message: "{condition} can be absent, and this block assigns {name}, which is read at line {line}.", fix: "Decide what warmup means: test isNone({condition}) explicitly, or give {name} a starting value above the if.", placeholders: ["condition", "name", "line"] },
146
+ OS8005: { code: "OS8005", title: "A lookahead read", severity: "warning", stage: "check", since: 1, autofix: false, message: "This read uses {mode}, so the study shows values the bar it is drawn on could not have known.", fix: "Drop the mode to take the default, which never repaints, unless the study is deliberately a study of what the higher bar went on to do.", placeholders: ["mode"] },
147
+ OS8006: { code: "OS8006", title: "A session average on a session-length bar", severity: "warning", stage: "check", since: 1, autofix: false, message: "A session anchored average resets each session, and each bar of {interval} is a whole session, so it equals its source.", fix: "Use an intraday interval for a session anchored average, or plot the source directly and delete the call.", placeholders: ["interval"] },
148
+ OS8007: { code: "OS8007", title: "A plot sets the price pane's own formatting", severity: "warning", stage: "check", since: 1, autofix: false, message: "{title} sets {option} while drawing over the price pane, which reformats the instrument's own axis.", fix: "Set precision and format in the declaration, for the whole study, or drop them from a plot drawn over the price pane.", placeholders: ["title", "option"] },
149
+ OS8008: { code: "OS8008", title: "An alert with no id", severity: "warning", stage: "check", since: 1, autofix: false, message: "This alert has no id, so its identity is derived from its position at line {line}.", fix: "Give the alert a stable id of your own: alert(\"text\", id = \"emaCross\").", placeholders: ["line"] },
150
+ OS8009: { code: "OS8009", title: "This plot can never draw", severity: "warning", stage: "check", since: 1, autofix: false, message: "{title} plots a value that is absent on every bar.", fix: "Plot the value that was meant, or delete the plot and its settings row.", placeholders: ["title"] },
151
+ OS8010: { code: "OS8010", title: "A name is never read", severity: "warning", stage: "check", since: 1, autofix: false, message: "{name} is assigned at line {line} and never read.", fix: "Use the value, or delete the line.", placeholders: ["name", "line"] },
152
+ OS8011: { code: "OS8011", title: "live var makes live and backtest differ", severity: "warning", stage: "check", since: 1, autofix: false, message: "{name} is a live var, so it keeps its value across the updates of the moving bar.", fix: "Use var unless counting intrabar updates is the actual intent; keep live var only for that.", placeholders: ["name"] },
153
+ OS8012: { code: "OS8012", title: "An ordered comparison against none is always absent", severity: "warning", stage: "check", since: 1, autofix: false, message: "This {op} has none on one side, so it is absent on every bar.", fix: "Test absence with isNone(x), or with x == none, both of which are always true or false.", placeholders: ["op"] },
154
+ OS8013: { code: "OS8013", title: "Deprecated", severity: "warning", stage: "check", since: 1, autofix: true, message: "{name} is deprecated since language version {version}; {replacement} does the same thing.", fix: "Replace {name} with {replacement}; the two compute the same values.", placeholders: ["name", "version", "replacement"] },
155
+ OS8014: { code: "OS8014", title: "A persistent value holds a bar index", severity: "warning", stage: "check", since: 1, autofix: false, message: "{name} keeps a bar index across bars, and every index shifts when more history loads.", fix: "Store time instead and compare timestamps; the bar's time does not move.", placeholders: ["name"] },
156
+ OS8015: { code: "OS8015", title: "This loop never runs", severity: "warning", stage: "check", since: 1, autofix: false, message: "The loop starts at {start}, ends at {end} and steps {step}, so the body never runs.", fix: "Add step -1 to count down, or swap the bounds to count up.", placeholders: ["start", "end", "step"] },
157
+ OS8016: { code: "OS8016", title: "Unreachable code", severity: "warning", stage: "check", since: 1, autofix: false, message: "Line {line} follows a return that always runs, so it never executes.", fix: "Delete the unreachable lines, or move them above the return.", placeholders: ["line"] },
158
+ OS8017: { code: "OS8017", title: "The condition is constant", severity: "warning", stage: "check", since: 1, autofix: false, message: "This condition is {value} on every bar.", fix: "Restore the test that was meant, or delete the branch that never runs.", placeholders: ["value"] },
159
+ OS8018: { code: "OS8018", title: "An input is never used", severity: "warning", stage: "check", since: 1, autofix: false, message: "The input {title} is declared at line {line} and never read.", fix: "Use the name the input assigns, or delete the input() and its dialog row.", placeholders: ["title", "line"] },
160
+ OS8019: { code: "OS8019", title: "A deleted object is still held", severity: "warning", stage: "check", since: 1, autofix: false, message: "{name} still holds the {kind} deleted at line {line}.", fix: "Assign none to the name on the same path as the delete, and where the object came out of an array, remove the element as well as deleting the object.", placeholders: ["name", "kind", "line"] },
161
+ };
162
+ //# sourceMappingURL=catalogue.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalogue.generated.js","sourceRoot":"","sources":["../../../src/core/catalogue/catalogue.generated.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,yEAAyE;AACzE,gFAAgF;AAChF,kEAAkE;AAKlE,uEAAuE;AACvE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C,oDAAoD;AACpD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAE5C,+FAA+F;AAC/F,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,GAAG,EAAE,OAAO;IACZ,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,MAAM;CACsC,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,2CAA2C,EAAE,GAAG,EAAE,wNAAwN,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE;IAC9a,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,mCAAmC,EAAE,GAAG,EAAE,2GAA2G,EAAE,YAAY,EAAE,EAAE,EAAE;IACnS,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,uCAAuC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,+FAA+F,EAAE,GAAG,EAAE,sHAAsH,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE;IACxZ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qFAAqF,EAAE,GAAG,EAAE,4HAA4H,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE;IACvX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,uCAAuC,EAAE,GAAG,EAAE,8FAA8F,EAAE,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE;IACzS,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gCAAgC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,wDAAwD,EAAE,GAAG,EAAE,2EAA2E,EAAE,YAAY,EAAE,EAAE,EAAE;IACtS,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,gCAAgC,EAAE,GAAG,EAAE,4DAA4D,EAAE,YAAY,EAAE,EAAE,EAAE;IACxO,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,wEAAwE,EAAE,GAAG,EAAE,oEAAoE,EAAE,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;IAChT,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,kCAAkC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,oDAAoD,EAAE,GAAG,EAAE,0EAA0E,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IAC1S,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,wEAAwE,EAAE,GAAG,EAAE,6FAA6F,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE;IAC3U,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,kCAAkC,EAAE,GAAG,EAAE,iEAAiE,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IACvQ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sDAAsD,EAAE,GAAG,EAAE,yEAAyE,EAAE,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;IAC7S,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,0FAA0F,EAAE,GAAG,EAAE,wFAAwF,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;IACtX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iCAAiC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,gEAAgE,EAAE,GAAG,EAAE,wCAAwC,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE;IACnR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,EAAE,GAAG,EAAE,gFAAgF,EAAE,YAAY,EAAE,EAAE,EAAE;IAC1Q,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,iFAAiF,EAAE,GAAG,EAAE,qDAAqD,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;IACxT,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oCAAoC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,yEAAyE,EAAE,GAAG,EAAE,yEAAyE,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IAChU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mCAAmC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qDAAqD,EAAE,GAAG,EAAE,sGAAsG,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE;IACzU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,8BAA8B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,yDAAyD,EAAE,GAAG,EAAE,gEAAgE,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE;IAC/S,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,+DAA+D,EAAE,GAAG,EAAE,+FAA+F,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE;IAChU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sCAAsC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,iGAAiG,EAAE,GAAG,EAAE,wFAAwF,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IACxW,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,2CAA2C,EAAE,GAAG,EAAE,6DAA6D,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE;IACxQ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oCAAoC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,gGAAgG,EAAE,GAAG,EAAE,qGAAqG,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IACnX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,kCAAkC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,0EAA0E,EAAE,GAAG,EAAE,gIAAgI,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IACtX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,mFAAmF,EAAE,GAAG,EAAE,+KAA+K,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;IAC9a,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qGAAqG,EAAE,GAAG,EAAE,qHAAqH,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE;IACnX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uFAAuF,EAAE,GAAG,EAAE,wJAAwJ,EAAE,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE;IACpZ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wDAAwD,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,+JAA+J,EAAE,GAAG,EAAE,8HAA8H,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE;IAClf,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iCAAiC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sHAAsH,EAAE,GAAG,EAAE,mSAAmS,EAAE,YAAY,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;IAC/kB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kDAAkD,EAAE,GAAG,EAAE,8GAA8G,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE;IAClV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,+CAA+C,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qFAAqF,EAAE,GAAG,EAAE,yGAAyG,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IAC/X,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,6CAA6C,EAAE,GAAG,EAAE,0TAA0T,EAAE,YAAY,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;IACthB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,8DAA8D,EAAE,GAAG,EAAE,yFAAyF,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IAC5T,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,+BAA+B,EAAE,GAAG,EAAE,yFAAyF,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAC3R,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,+BAA+B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,wEAAwE,EAAE,GAAG,EAAE,mFAAmF,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IACpU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,gFAAgF,EAAE,GAAG,EAAE,8FAA8F,EAAE,YAAY,EAAE,EAAE,EAAE;IAC/U,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,mDAAmD,EAAE,GAAG,EAAE,sFAAsF,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IACtT,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,+BAA+B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,2CAA2C,EAAE,GAAG,EAAE,0FAA0F,EAAE,YAAY,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE;IAC3U,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,2DAA2D,EAAE,GAAG,EAAE,gGAAgG,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE;IACxV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,6DAA6D,EAAE,GAAG,EAAE,sGAAsG,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IACjV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,kDAAkD,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sDAAsD,EAAE,GAAG,EAAE,sFAAsF,EAAE,YAAY,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;IACzV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,8BAA8B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,2EAA2E,EAAE,GAAG,EAAE,6EAA6E,EAAE,YAAY,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;IAC3V,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sCAAsC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,6DAA6D,EAAE,GAAG,EAAE,8DAA8D,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IAC3S,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iDAAiD,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uFAAuF,EAAE,GAAG,EAAE,wKAAwK,EAAE,YAAY,EAAE,EAAE,EAAE;IACpb,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,+BAA+B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE,GAAG,EAAE,6IAA6I,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IAC7U,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,+CAA+C,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,0DAA0D,EAAE,GAAG,EAAE,wFAAwF,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IACnV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,8CAA8C,EAAE,GAAG,EAAE,sEAAsE,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IACxR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sCAAsC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iEAAiE,EAAE,GAAG,EAAE,uMAAuM,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IACxb,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,2DAA2D,EAAE,GAAG,EAAE,sDAAsD,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE;IACxT,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,2CAA2C,EAAE,GAAG,EAAE,sEAAsE,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;IACtT,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gCAAgC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,+EAA+E,EAAE,GAAG,EAAE,uFAAuF,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE;IAClV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sCAAsC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,wEAAwE,EAAE,GAAG,EAAE,sFAAsF,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;IAC5W,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,uCAAuC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kDAAkD,EAAE,GAAG,EAAE,0EAA0E,EAAE,YAAY,EAAE,EAAE,EAAE;IACvS,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oCAAoC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sFAAsF,EAAE,GAAG,EAAE,qSAAqS,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE;IACtjB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,kCAAkC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,yFAAyF,EAAE,GAAG,EAAE,iFAAiF,EAAE,YAAY,EAAE,EAAE,EAAE;IAChV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2CAA2C,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,0DAA0D,EAAE,GAAG,EAAE,uEAAuE,EAAE,YAAY,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;IAC3V,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4CAA4C,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,yCAAyC,EAAE,GAAG,EAAE,0FAA0F,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;IAChV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,yCAAyC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,mDAAmD,EAAE,GAAG,EAAE,kMAAkM,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;IACnb,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uDAAuD,EAAE,GAAG,EAAE,8FAA8F,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;IAC7V,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gCAAgC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,mDAAmD,EAAE,GAAG,EAAE,oEAAoE,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;IACxT,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,8CAA8C,EAAE,GAAG,EAAE,0DAA0D,EAAE,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE;IAC5Q,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gCAAgC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,+FAA+F,EAAE,GAAG,EAAE,kGAAkG,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IAC3W,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gCAAgC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,8EAA8E,EAAE,GAAG,EAAE,+CAA+C,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE;IACzS,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gCAAgC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,wFAAwF,EAAE,GAAG,EAAE,oDAAoD,EAAE,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;IAC7T,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,4EAA4E,EAAE,GAAG,EAAE,+CAA+C,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IAChT,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wCAAwC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,gEAAgE,EAAE,GAAG,EAAE,yEAAyE,EAAE,YAAY,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;IACxU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4CAA4C,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qGAAqG,EAAE,GAAG,EAAE,oKAAoK,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;IAChe,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,+BAA+B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,oFAAoF,EAAE,GAAG,EAAE,oFAAoF,EAAE,YAAY,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE;IAC9V,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,2DAA2D,EAAE,GAAG,EAAE,kFAAkF,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE;IACvT,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iDAAiD,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,4DAA4D,EAAE,GAAG,EAAE,8DAA8D,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE;IAC9U,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,kCAAkC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,2EAA2E,EAAE,GAAG,EAAE,8EAA8E,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;IAC5V,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,+DAA+D,EAAE,GAAG,EAAE,yFAAyF,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IAC/U,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,qCAAqC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,6DAA6D,EAAE,GAAG,EAAE,6GAA6G,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;IAClW,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,oDAAoD,EAAE,GAAG,EAAE,qCAAqC,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IACzP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,wEAAwE,EAAE,GAAG,EAAE,8FAA8F,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;IACxV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iCAAiC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iFAAiF,EAAE,GAAG,EAAE,4FAA4F,EAAE,YAAY,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;IACtX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gCAAgC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,8EAA8E,EAAE,GAAG,EAAE,uEAAuE,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;IACtV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gCAAgC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sCAAsC,EAAE,GAAG,EAAE,iGAAiG,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;IACtU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,uCAAuC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,8DAA8D,EAAE,GAAG,EAAE,6EAA6E,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;IACzU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,6CAA6C,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,gEAAgE,EAAE,GAAG,EAAE,oGAAoG,EAAE,YAAY,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;IACpX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,4CAA4C,EAAE,GAAG,EAAE,8GAA8G,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE;IAC/T,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,4FAA4F,EAAE,GAAG,EAAE,uFAAuF,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE;IAC7W,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,+DAA+D,EAAE,GAAG,EAAE,wEAAwE,EAAE,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IAC1T,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sCAAsC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,mEAAmE,EAAE,GAAG,EAAE,+EAA+E,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE;IACnV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,6DAA6D,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,gHAAgH,EAAE,GAAG,EAAE,iGAAiG,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;IACnb,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,8DAA8D,EAAE,GAAG,EAAE,iFAAiF,EAAE,YAAY,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;IACnU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oCAAoC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kEAAkE,EAAE,GAAG,EAAE,yHAAyH,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;IAChX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,yDAAyD,EAAE,GAAG,EAAE,oGAAoG,EAAE,YAAY,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;IACzU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,oEAAoE,EAAE,GAAG,EAAE,oFAAoF,EAAE,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;IACpU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sEAAsE,EAAE,GAAG,EAAE,+FAA+F,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;IACjV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,6BAA6B,EAAE,GAAG,EAAE,gGAAgG,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE;IAC3R,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mDAAmD,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,4DAA4D,EAAE,GAAG,EAAE,sGAAsG,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;IAC5W,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4CAA4C,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sFAAsF,EAAE,GAAG,EAAE,kGAAkG,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IAC9W,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iDAAiD,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,0GAA0G,EAAE,GAAG,EAAE,uIAAuI,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;IACzc,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,4CAA4C,EAAE,GAAG,EAAE,oHAAoH,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE;IAC5T,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oDAAoD,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,+DAA+D,EAAE,GAAG,EAAE,qGAAqG,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE;IAChW,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,gDAAgD,EAAE,GAAG,EAAE,oJAAoJ,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;IACvX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,8BAA8B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,4EAA4E,EAAE,GAAG,EAAE,mGAAmG,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE;IACrW,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,6DAA6D,EAAE,GAAG,EAAE,yKAAyK,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE;IAC5Z,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,8BAA8B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,0EAA0E,EAAE,GAAG,EAAE,wGAAwG,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE;IACxW,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iEAAiE,EAAE,GAAG,EAAE,uJAAuJ,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;IACjZ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iCAAiC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,8CAA8C,EAAE,GAAG,EAAE,4IAA4I,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;IAC9W,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,yCAAyC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uEAAuE,EAAE,GAAG,EAAE,kFAAkF,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;IAC/V,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wCAAwC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uEAAuE,EAAE,GAAG,EAAE,mGAAmG,EAAE,YAAY,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE;IACvX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wDAAwD,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iDAAiD,EAAE,GAAG,EAAE,0DAA0D,EAAE,YAAY,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;IACxU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,+DAA+D,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,oFAAoF,EAAE,GAAG,EAAE,+HAA+H,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;IACna,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,kEAAkE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iGAAiG,EAAE,GAAG,EAAE,uHAAuH,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;IAChb,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mCAAmC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,0DAA0D,EAAE,GAAG,EAAE,4KAA4K,EAAE,YAAY,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE;IACha,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,6CAA6C,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,wDAAwD,EAAE,GAAG,EAAE,iHAAiH,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE;IACrX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,8DAA8D,EAAE,GAAG,EAAE,4HAA4H,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IACzW,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,4CAA4C,EAAE,GAAG,EAAE,4GAA4G,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;IAC7U,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,+CAA+C,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,yFAAyF,EAAE,GAAG,EAAE,wFAAwF,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IAC1W,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oCAAoC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uCAAuC,EAAE,GAAG,EAAE,gGAAgG,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;IAC9T,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4CAA4C,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sEAAsE,EAAE,GAAG,EAAE,oHAAoH,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;IAClY,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,6DAA6D,EAAE,GAAG,EAAE,6FAA6F,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IACjV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,8BAA8B,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sDAAsD,EAAE,GAAG,EAAE,wFAAwF,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;IACpU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,qCAAqC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,gFAAgF,EAAE,GAAG,EAAE,8EAA8E,EAAE,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;IACvV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,yCAAyC,EAAE,GAAG,EAAE,2FAA2F,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE;IAClS,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mDAAmD,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,2DAA2D,EAAE,GAAG,EAAE,uFAAuF,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE;IAC1W,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oDAAoD,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,+DAA+D,EAAE,GAAG,EAAE,wFAAwF,EAAE,YAAY,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;IACxW,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,uCAAuC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,oDAAoD,EAAE,GAAG,EAAE,8FAA8F,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;IAC/U,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gCAAgC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qDAAqD,EAAE,GAAG,EAAE,sGAAsG,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;IACzV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oCAAoC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kDAAkD,EAAE,GAAG,EAAE,wJAAwJ,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;IACjY,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,uCAAuC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qEAAqE,EAAE,GAAG,EAAE,sGAAsG,EAAE,YAAY,EAAE,EAAE,EAAE;IACrV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iCAAiC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qFAAqF,EAAE,GAAG,EAAE,mFAAmF,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IACrV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4CAA4C,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,mFAAmF,EAAE,GAAG,EAAE,iFAAiF,EAAE,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE;IACjW,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,+EAA+E,EAAE,GAAG,EAAE,sDAAsD,EAAE,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE;IAC3S,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4DAA4D,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,yFAAyF,EAAE,GAAG,EAAE,8GAA8G,EAAE,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IACpa,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,+FAA+F,EAAE,GAAG,EAAE,yIAAyI,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IACtY,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2CAA2C,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,yHAAyH,EAAE,GAAG,EAAE,2GAA2G,EAAE,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE;IAC/Z,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,6CAA6C,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qGAAqG,EAAE,GAAG,EAAE,uHAAuH,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;IACha,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,oFAAoF,EAAE,GAAG,EAAE,6EAA6E,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IAClU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,oDAAoD,EAAE,GAAG,EAAE,yEAAyE,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE;IACpS,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,mDAAmD,EAAE,GAAG,EAAE,oCAAoC,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IACjQ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,yCAAyC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,mFAAmF,EAAE,GAAG,EAAE,6FAA6F,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IACrW,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,qDAAqD,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,+DAA+D,EAAE,GAAG,EAAE,yFAAyF,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE;IACvV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,2FAA2F,EAAE,GAAG,EAAE,qEAAqE,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE;IACjV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sCAAsC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uFAAuF,EAAE,GAAG,EAAE,0EAA0E,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IACnV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qFAAqF,EAAE,GAAG,EAAE,4DAA4D,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;IACnU,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sEAAsE,EAAE,GAAG,EAAE,8DAA8D,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;IAClS,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,yCAAyC,EAAE,GAAG,EAAE,wEAAwE,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE;IACzR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,8DAA8D,EAAE,GAAG,EAAE,2EAA2E,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;IACtT,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gCAAgC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uDAAuD,EAAE,GAAG,EAAE,uJAAuJ,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;CAC/U,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * The error catalogue, as the compiler sees it.
3
+ *
4
+ * Every code, message and fix in OpenScript comes from spec/errors.json and is
5
+ * generated into this module. No stage anywhere retypes one, so the words a
6
+ * trader reads on screen and the words on the documentation page are the same
7
+ * words by construction rather than by review.
8
+ */
9
+ export type { CatalogueEntry, PlaceholderValue, Severity, Stage } from './types.js';
10
+ export type { DiagnosticCode } from './catalogue.generated.js';
11
+ export type { DiagnosticValues } from './values.generated.js';
12
+ export { CATALOGUE_LANGUAGE_VERSION, CATALOGUE_SCHEMA_VERSION, STAGE_LABELS, } from './catalogue.generated.js';
13
+ export { allCodes, entryFor, isDiagnosticCode } from './lookup.js';
14
+ export { fillTemplate, slotsIn } from './template.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/catalogue/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACpF,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { CATALOGUE_LANGUAGE_VERSION, CATALOGUE_SCHEMA_VERSION, STAGE_LABELS, } from './catalogue.generated.js';
2
+ export { allCodes, entryFor, isDiagnosticCode } from './lookup.js';
3
+ export { fillTemplate, slotsIn } from './template.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/catalogue/index.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { DiagnosticCode } from './catalogue.generated.js';
2
+ import type { CatalogueEntry } from './types.js';
3
+ /** What a code says. The argument type means there is no missing case. */
4
+ export declare function entryFor(code: DiagnosticCode): CatalogueEntry;
5
+ /**
6
+ * Whether a string is a code this compiler knows.
7
+ *
8
+ * A host reading a code out of a saved report or a log has a string, not a
9
+ * DiagnosticCode, and this is the one place that turns one into the other.
10
+ */
11
+ export declare function isDiagnosticCode(text: string): text is DiagnosticCode;
12
+ /** Every code, ascending. */
13
+ export declare function allCodes(): readonly DiagnosticCode[];
14
+ //# sourceMappingURL=lookup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/core/catalogue/lookup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,cAAc,CAErE;AAED,6BAA6B;AAC7B,wBAAgB,QAAQ,IAAI,SAAS,cAAc,EAAE,CAEpD"}
@@ -0,0 +1,19 @@
1
+ import { ENTRIES } from './catalogue.generated.js';
2
+ /** What a code says. The argument type means there is no missing case. */
3
+ export function entryFor(code) {
4
+ return ENTRIES[code];
5
+ }
6
+ /**
7
+ * Whether a string is a code this compiler knows.
8
+ *
9
+ * A host reading a code out of a saved report or a log has a string, not a
10
+ * DiagnosticCode, and this is the one place that turns one into the other.
11
+ */
12
+ export function isDiagnosticCode(text) {
13
+ return Object.hasOwn(ENTRIES, text);
14
+ }
15
+ /** Every code, ascending. */
16
+ export function allCodes() {
17
+ return Object.keys(ENTRIES);
18
+ }
19
+ //# sourceMappingURL=lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/core/catalogue/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAInD,0EAA0E;AAC1E,MAAM,UAAU,QAAQ,CAAC,IAAoB;IAC3C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,QAAQ;IACtB,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAqB,CAAC;AAClD,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { PlaceholderValue } from './types.js';
2
+ /**
3
+ * Fills a catalogue template.
4
+ *
5
+ * A slot with no value is left written out rather than blanked. A reader who
6
+ * sees `{name}` on screen knows the compiler failed to supply something, which
7
+ * is a defect they can report; a reader who sees a sentence with a hole in it
8
+ * only knows the sentence reads oddly. Supplying every slot is guaranteed at
9
+ * compile time by DiagnosticValues, so this case is a bug in the compiler
10
+ * rather than something a script can cause.
11
+ */
12
+ export declare function fillTemplate(template: string, values: Readonly<Record<string, PlaceholderValue>>): string;
13
+ /** The slots a template uses, in order, with duplicates removed. */
14
+ export declare function slotsIn(template: string): readonly string[];
15
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../src/core/catalogue/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AASnD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,GACjD,MAAM,CAKR;AAED,oEAAoE;AACpE,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAO3D"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * A slot, in the one syntax the catalogue declares. The name is restricted to
3
+ * an identifier so that a brace in a message that is not a slot, which the
4
+ * catalogue is free to contain, is left alone.
5
+ */
6
+ const SLOT = /\{([A-Za-z][A-Za-z0-9_]*)\}/g;
7
+ /**
8
+ * Fills a catalogue template.
9
+ *
10
+ * A slot with no value is left written out rather than blanked. A reader who
11
+ * sees `{name}` on screen knows the compiler failed to supply something, which
12
+ * is a defect they can report; a reader who sees a sentence with a hole in it
13
+ * only knows the sentence reads oddly. Supplying every slot is guaranteed at
14
+ * compile time by DiagnosticValues, so this case is a bug in the compiler
15
+ * rather than something a script can cause.
16
+ */
17
+ export function fillTemplate(template, values) {
18
+ return template.replace(SLOT, (slot, name) => {
19
+ const value = values[name];
20
+ return value === undefined ? slot : String(value);
21
+ });
22
+ }
23
+ /** The slots a template uses, in order, with duplicates removed. */
24
+ export function slotsIn(template) {
25
+ const names = [];
26
+ for (const match of template.matchAll(SLOT)) {
27
+ const name = match[1];
28
+ if (name !== undefined && !names.includes(name))
29
+ names.push(name);
30
+ }
31
+ return names;
32
+ }
33
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/core/catalogue/template.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,IAAI,GAAG,8BAA8B,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,MAAkD;IAElD,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,OAAO,CAAC,QAAgB;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The shape of a catalogue entry, hand written because the generated files are
3
+ * data and this is the contract they satisfy.
4
+ */
5
+ /** What a diagnostic does to the run. An error stops it; a warning never does. */
6
+ export type Severity = 'error' | 'warning';
7
+ /** Which part of the pipeline raised a diagnostic. */
8
+ export type Stage = 'lex' | 'parse' | 'check' | 'runtime' | 'host';
9
+ /**
10
+ * What a compiler puts into a message slot.
11
+ *
12
+ * Numbers are kept as numbers rather than pre-formatted strings so that a host
13
+ * rendering a diagnostic in another language, or in a table, still has the
14
+ * value rather than one rendering of it.
15
+ */
16
+ export type PlaceholderValue = string | number;
17
+ /** One code, as the compiler needs it. */
18
+ export interface CatalogueEntry {
19
+ readonly code: string;
20
+ readonly title: string;
21
+ readonly severity: Severity;
22
+ readonly stage: Stage;
23
+ /** The language version the code first appeared in. */
24
+ readonly since: number;
25
+ /** Whether an editor may apply the fix without asking a question. */
26
+ readonly autofix: boolean;
27
+ /** The message template, with {name} slots. */
28
+ readonly message: string;
29
+ /** The fix template, with {name} slots. Never a restatement of the message. */
30
+ readonly fix: string;
31
+ /** Every slot the two templates use. */
32
+ readonly placeholders: readonly string[];
33
+ }
34
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/catalogue/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kFAAkF;AAClF,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3C,sDAAsD;AACtD,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C,0CAA0C;AAC1C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The shape of a catalogue entry, hand written because the generated files are
3
+ * data and this is the contract they satisfy.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/catalogue/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}