@trebco/treb 36.1.4 → 37.0.1

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 (552) hide show
  1. package/api-config.json +1 -1
  2. package/build/package.json +119 -0
  3. package/build/treb-base-types/src/api_types.d.ts +11 -0
  4. package/build/treb-base-types/src/api_types.js +22 -0
  5. package/build/treb-base-types/src/api_types.js.map +1 -0
  6. package/build/treb-base-types/src/area-utils.d.ts +9 -0
  7. package/build/treb-base-types/src/area-utils.js +50 -0
  8. package/build/treb-base-types/src/area-utils.js.map +1 -0
  9. package/build/treb-base-types/src/area.d.ts +182 -0
  10. package/build/treb-base-types/src/area.js +715 -0
  11. package/build/treb-base-types/src/area.js.map +1 -0
  12. package/build/treb-base-types/src/basic_types.d.ts +20 -0
  13. package/build/treb-base-types/src/basic_types.js +22 -0
  14. package/build/treb-base-types/src/basic_types.js.map +1 -0
  15. package/build/treb-base-types/src/cell.d.ts +167 -0
  16. package/build/treb-base-types/src/cell.js +432 -0
  17. package/build/treb-base-types/src/cell.js.map +1 -0
  18. package/build/treb-base-types/src/cells.d.ts +251 -0
  19. package/build/treb-base-types/src/cells.js +1136 -0
  20. package/build/treb-base-types/src/cells.js.map +1 -0
  21. package/build/treb-base-types/src/color.d.ts +35 -0
  22. package/build/treb-base-types/src/color.js +162 -0
  23. package/build/treb-base-types/src/color.js.map +1 -0
  24. package/build/treb-base-types/src/dom-utilities.d.ts +70 -0
  25. package/build/treb-base-types/src/dom-utilities.js +144 -0
  26. package/build/treb-base-types/src/dom-utilities.js.map +1 -0
  27. package/build/treb-base-types/src/evaluate-options.d.ts +35 -0
  28. package/build/treb-base-types/src/evaluate-options.js +22 -0
  29. package/build/treb-base-types/src/evaluate-options.js.map +1 -0
  30. package/build/treb-base-types/src/font-stack.d.ts +37 -0
  31. package/build/treb-base-types/src/font-stack.js +93 -0
  32. package/build/treb-base-types/src/font-stack.js.map +1 -0
  33. package/build/treb-base-types/src/gradient.d.ts +18 -0
  34. package/build/treb-base-types/src/gradient.js +86 -0
  35. package/build/treb-base-types/src/gradient.js.map +1 -0
  36. package/build/treb-base-types/src/import.d.ts +48 -0
  37. package/build/treb-base-types/src/import.js +22 -0
  38. package/build/treb-base-types/src/import.js.map +1 -0
  39. package/build/treb-base-types/src/index-standalone.d.ts +6 -0
  40. package/build/treb-base-types/src/index-standalone.js +27 -0
  41. package/build/treb-base-types/src/index-standalone.js.map +1 -0
  42. package/build/treb-base-types/src/index.d.ts +22 -0
  43. package/build/treb-base-types/src/index.js +45 -0
  44. package/build/treb-base-types/src/index.js.map +1 -0
  45. package/build/treb-base-types/src/layout.d.ts +22 -0
  46. package/build/treb-base-types/src/layout.js +22 -0
  47. package/build/treb-base-types/src/layout.js.map +1 -0
  48. package/build/treb-base-types/src/localization.d.ts +37 -0
  49. package/build/treb-base-types/src/localization.js +157 -0
  50. package/build/treb-base-types/src/localization.js.map +1 -0
  51. package/build/treb-base-types/src/rectangle.d.ts +51 -0
  52. package/build/treb-base-types/src/rectangle.js +123 -0
  53. package/build/treb-base-types/src/rectangle.js.map +1 -0
  54. package/build/treb-base-types/src/render_text.d.ts +34 -0
  55. package/build/treb-base-types/src/render_text.js +22 -0
  56. package/build/treb-base-types/src/render_text.js.map +1 -0
  57. package/build/treb-base-types/src/style.d.ts +214 -0
  58. package/build/treb-base-types/src/style.js +373 -0
  59. package/build/treb-base-types/src/style.js.map +1 -0
  60. package/build/treb-base-types/src/table.d.ts +58 -0
  61. package/build/treb-base-types/src/table.js +27 -0
  62. package/build/treb-base-types/src/table.js.map +1 -0
  63. package/build/treb-base-types/src/text_part.d.ts +26 -0
  64. package/build/treb-base-types/src/text_part.js +47 -0
  65. package/build/treb-base-types/src/text_part.js.map +1 -0
  66. package/build/treb-base-types/src/theme.d.ts +120 -0
  67. package/build/treb-base-types/src/theme.js +460 -0
  68. package/build/treb-base-types/src/theme.js.map +1 -0
  69. package/build/treb-base-types/src/union.d.ts +73 -0
  70. package/build/treb-base-types/src/union.js +61 -0
  71. package/build/treb-base-types/src/union.js.map +1 -0
  72. package/build/treb-base-types/src/value-type.d.ts +86 -0
  73. package/build/treb-base-types/src/value-type.js +168 -0
  74. package/build/treb-base-types/src/value-type.js.map +1 -0
  75. package/build/treb-base-types/src/worker-proxy.d.ts +95 -0
  76. package/build/treb-base-types/src/worker-proxy.js +221 -0
  77. package/build/treb-base-types/src/worker-proxy.js.map +1 -0
  78. package/build/treb-calculator/src/calculator.d.ts +249 -0
  79. package/build/treb-calculator/src/calculator.js +2755 -0
  80. package/build/treb-calculator/src/calculator.js.map +1 -0
  81. package/build/treb-calculator/src/complex-math.d.ts +75 -0
  82. package/build/treb-calculator/src/complex-math.js +559 -0
  83. package/build/treb-calculator/src/complex-math.js.map +1 -0
  84. package/build/treb-calculator/src/dag/array-vertex.d.ts +71 -0
  85. package/build/treb-calculator/src/dag/array-vertex.js +156 -0
  86. package/build/treb-calculator/src/dag/array-vertex.js.map +1 -0
  87. package/build/treb-calculator/src/dag/calculation_leaf_vertex.d.ts +48 -0
  88. package/build/treb-calculator/src/dag/calculation_leaf_vertex.js +84 -0
  89. package/build/treb-calculator/src/dag/calculation_leaf_vertex.js.map +1 -0
  90. package/build/treb-calculator/src/dag/graph.d.ts +134 -0
  91. package/build/treb-calculator/src/dag/graph.js +842 -0
  92. package/build/treb-calculator/src/dag/graph.js.map +1 -0
  93. package/build/treb-calculator/src/dag/spreadsheet_vertex.d.ts +58 -0
  94. package/build/treb-calculator/src/dag/spreadsheet_vertex.js +232 -0
  95. package/build/treb-calculator/src/dag/spreadsheet_vertex.js.map +1 -0
  96. package/build/treb-calculator/src/dag/spreadsheet_vertex_base.d.ts +20 -0
  97. package/build/treb-calculator/src/dag/spreadsheet_vertex_base.js +25 -0
  98. package/build/treb-calculator/src/dag/spreadsheet_vertex_base.js.map +1 -0
  99. package/build/treb-calculator/src/dag/state_leaf_vertex.d.ts +43 -0
  100. package/build/treb-calculator/src/dag/state_leaf_vertex.js +81 -0
  101. package/build/treb-calculator/src/dag/state_leaf_vertex.js.map +1 -0
  102. package/build/treb-calculator/src/dag/vertex.d.ts +71 -0
  103. package/build/treb-calculator/src/dag/vertex.js +274 -0
  104. package/build/treb-calculator/src/dag/vertex.js.map +1 -0
  105. package/build/treb-calculator/src/descriptors.d.ts +189 -0
  106. package/build/treb-calculator/src/descriptors.js +22 -0
  107. package/build/treb-calculator/src/descriptors.js.map +1 -0
  108. package/build/treb-calculator/src/expression-calculator.d.ts +127 -0
  109. package/build/treb-calculator/src/expression-calculator.js +1033 -0
  110. package/build/treb-calculator/src/expression-calculator.js.map +1 -0
  111. package/build/treb-calculator/src/function-error.d.ts +35 -0
  112. package/build/treb-calculator/src/function-error.js +85 -0
  113. package/build/treb-calculator/src/function-error.js.map +1 -0
  114. package/build/treb-calculator/src/function-library.d.ts +22 -0
  115. package/build/treb-calculator/src/function-library.js +96 -0
  116. package/build/treb-calculator/src/function-library.js.map +1 -0
  117. package/build/treb-calculator/src/functions/base-functions.d.ts +7 -0
  118. package/build/treb-calculator/src/functions/base-functions.js +2611 -0
  119. package/build/treb-calculator/src/functions/base-functions.js.map +1 -0
  120. package/build/treb-calculator/src/functions/beta.d.ts +17 -0
  121. package/build/treb-calculator/src/functions/beta.js +201 -0
  122. package/build/treb-calculator/src/functions/beta.js.map +1 -0
  123. package/build/treb-calculator/src/functions/checkbox.d.ts +3 -0
  124. package/build/treb-calculator/src/functions/checkbox.js +128 -0
  125. package/build/treb-calculator/src/functions/checkbox.js.map +1 -0
  126. package/build/treb-calculator/src/functions/complex-functions.d.ts +2 -0
  127. package/build/treb-calculator/src/functions/complex-functions.js +217 -0
  128. package/build/treb-calculator/src/functions/complex-functions.js.map +1 -0
  129. package/build/treb-calculator/src/functions/date-utils.d.ts +3 -0
  130. package/build/treb-calculator/src/functions/date-utils.js +59 -0
  131. package/build/treb-calculator/src/functions/date-utils.js.map +1 -0
  132. package/build/treb-calculator/src/functions/finance-functions.d.ts +2 -0
  133. package/build/treb-calculator/src/functions/finance-functions.js +547 -0
  134. package/build/treb-calculator/src/functions/finance-functions.js.map +1 -0
  135. package/build/treb-calculator/src/functions/fp.d.ts +2 -0
  136. package/build/treb-calculator/src/functions/fp.js +463 -0
  137. package/build/treb-calculator/src/functions/fp.js.map +1 -0
  138. package/build/treb-calculator/src/functions/function-utilities.d.ts +2 -0
  139. package/build/treb-calculator/src/functions/function-utilities.js +36 -0
  140. package/build/treb-calculator/src/functions/function-utilities.js.map +1 -0
  141. package/build/treb-calculator/src/functions/gamma.d.ts +20 -0
  142. package/build/treb-calculator/src/functions/gamma.js +142 -0
  143. package/build/treb-calculator/src/functions/gamma.js.map +1 -0
  144. package/build/treb-calculator/src/functions/information-functions.d.ts +2 -0
  145. package/build/treb-calculator/src/functions/information-functions.js +71 -0
  146. package/build/treb-calculator/src/functions/information-functions.js.map +1 -0
  147. package/build/treb-calculator/src/functions/lambda-functions.d.ts +2 -0
  148. package/build/treb-calculator/src/functions/lambda-functions.js +85 -0
  149. package/build/treb-calculator/src/functions/lambda-functions.js.map +1 -0
  150. package/build/treb-calculator/src/functions/matrix-functions.d.ts +2 -0
  151. package/build/treb-calculator/src/functions/matrix-functions.js +144 -0
  152. package/build/treb-calculator/src/functions/matrix-functions.js.map +1 -0
  153. package/build/treb-calculator/src/functions/normal.d.ts +2 -0
  154. package/build/treb-calculator/src/functions/normal.js +32 -0
  155. package/build/treb-calculator/src/functions/normal.js.map +1 -0
  156. package/build/treb-calculator/src/functions/regex-functions.d.ts +2 -0
  157. package/build/treb-calculator/src/functions/regex-functions.js +188 -0
  158. package/build/treb-calculator/src/functions/regex-functions.js.map +1 -0
  159. package/build/treb-calculator/src/functions/sparkline.d.ts +37 -0
  160. package/build/treb-calculator/src/functions/sparkline.js +264 -0
  161. package/build/treb-calculator/src/functions/sparkline.js.map +1 -0
  162. package/build/treb-calculator/src/functions/statistics-functions.d.ts +6 -0
  163. package/build/treb-calculator/src/functions/statistics-functions.js +989 -0
  164. package/build/treb-calculator/src/functions/statistics-functions.js.map +1 -0
  165. package/build/treb-calculator/src/functions/students-t.d.ts +3 -0
  166. package/build/treb-calculator/src/functions/students-t.js +64 -0
  167. package/build/treb-calculator/src/functions/students-t.js.map +1 -0
  168. package/build/treb-calculator/src/functions/text-functions.d.ts +3 -0
  169. package/build/treb-calculator/src/functions/text-functions.js +320 -0
  170. package/build/treb-calculator/src/functions/text-functions.js.map +1 -0
  171. package/build/treb-calculator/src/index.d.ts +2 -0
  172. package/build/treb-calculator/src/index.js +22 -0
  173. package/build/treb-calculator/src/index.js.map +1 -0
  174. package/build/treb-calculator/src/notifier-types.d.ts +26 -0
  175. package/build/treb-calculator/src/notifier-types.js +22 -0
  176. package/build/treb-calculator/src/notifier-types.js.map +1 -0
  177. package/build/treb-calculator/src/primitives.d.ts +15 -0
  178. package/build/treb-calculator/src/primitives.js +398 -0
  179. package/build/treb-calculator/src/primitives.js.map +1 -0
  180. package/build/treb-calculator/src/utilities.d.ts +68 -0
  181. package/build/treb-calculator/src/utilities.js +324 -0
  182. package/build/treb-calculator/src/utilities.js.map +1 -0
  183. package/build/treb-charts/src/chart-functions.d.ts +8 -0
  184. package/build/treb-charts/src/chart-functions.js +209 -0
  185. package/build/treb-charts/src/chart-functions.js.map +1 -0
  186. package/build/treb-charts/src/chart-types.d.ts +233 -0
  187. package/build/treb-charts/src/chart-types.js +57 -0
  188. package/build/treb-charts/src/chart-types.js.map +1 -0
  189. package/build/treb-charts/src/chart-utils.d.ts +106 -0
  190. package/build/treb-charts/src/chart-utils.js +1060 -0
  191. package/build/treb-charts/src/chart-utils.js.map +1 -0
  192. package/build/treb-charts/src/chart.d.ts +23 -0
  193. package/build/treb-charts/src/chart.js +94 -0
  194. package/build/treb-charts/src/chart.js.map +1 -0
  195. package/build/treb-charts/src/default-chart-renderer.d.ts +16 -0
  196. package/build/treb-charts/src/default-chart-renderer.js +533 -0
  197. package/build/treb-charts/src/default-chart-renderer.js.map +1 -0
  198. package/build/treb-charts/src/index.d.ts +5 -0
  199. package/build/treb-charts/src/index.js +24 -0
  200. package/build/treb-charts/src/index.js.map +1 -0
  201. package/build/treb-charts/src/main.d.ts +1 -0
  202. package/build/treb-charts/src/main.js +34 -0
  203. package/build/treb-charts/src/main.js.map +1 -0
  204. package/build/treb-charts/src/quicksort.d.ts +1 -0
  205. package/build/treb-charts/src/quicksort.js +49 -0
  206. package/build/treb-charts/src/quicksort.js.map +1 -0
  207. package/build/treb-charts/src/rectangle.d.ts +18 -0
  208. package/build/treb-charts/src/rectangle.js +41 -0
  209. package/build/treb-charts/src/rectangle.js.map +1 -0
  210. package/build/treb-charts/src/renderer-type.d.ts +24 -0
  211. package/build/treb-charts/src/renderer-type.js +22 -0
  212. package/build/treb-charts/src/renderer-type.js.map +1 -0
  213. package/build/treb-charts/src/renderer.d.ts +127 -0
  214. package/build/treb-charts/src/renderer.js +1518 -0
  215. package/build/treb-charts/src/renderer.js.map +1 -0
  216. package/build/treb-charts/src/util.d.ts +18 -0
  217. package/build/treb-charts/src/util.js +71 -0
  218. package/build/treb-charts/src/util.js.map +1 -0
  219. package/build/treb-data-model/src/annotation.d.ts +167 -0
  220. package/build/treb-data-model/src/annotation.js +120 -0
  221. package/build/treb-data-model/src/annotation.js.map +1 -0
  222. package/build/treb-data-model/src/conditional_format.d.ts +155 -0
  223. package/build/treb-data-model/src/conditional_format.js +62 -0
  224. package/build/treb-data-model/src/conditional_format.js.map +1 -0
  225. package/build/treb-data-model/src/data-validation.d.ts +28 -0
  226. package/build/treb-data-model/src/data-validation.js +22 -0
  227. package/build/treb-data-model/src/data-validation.js.map +1 -0
  228. package/build/treb-data-model/src/data_model.d.ts +173 -0
  229. package/build/treb-data-model/src/data_model.js +637 -0
  230. package/build/treb-data-model/src/data_model.js.map +1 -0
  231. package/build/treb-data-model/src/index.d.ts +13 -0
  232. package/build/treb-data-model/src/index.js +28 -0
  233. package/build/treb-data-model/src/index.js.map +1 -0
  234. package/build/treb-data-model/src/language-model.d.ts +22 -0
  235. package/build/treb-data-model/src/language-model.js +22 -0
  236. package/build/treb-data-model/src/language-model.js.map +1 -0
  237. package/build/treb-data-model/src/named.d.ts +124 -0
  238. package/build/treb-data-model/src/named.js +372 -0
  239. package/build/treb-data-model/src/named.js.map +1 -0
  240. package/build/treb-data-model/src/serialize_options.d.ts +49 -0
  241. package/build/treb-data-model/src/serialize_options.js +22 -0
  242. package/build/treb-data-model/src/serialize_options.js.map +1 -0
  243. package/build/treb-data-model/src/sheet.d.ts +499 -0
  244. package/build/treb-data-model/src/sheet.js +2904 -0
  245. package/build/treb-data-model/src/sheet.js.map +1 -0
  246. package/build/treb-data-model/src/sheet_collection.d.ts +58 -0
  247. package/build/treb-data-model/src/sheet_collection.js +112 -0
  248. package/build/treb-data-model/src/sheet_collection.js.map +1 -0
  249. package/build/treb-data-model/src/sheet_selection.d.ts +42 -0
  250. package/build/treb-data-model/src/sheet_selection.js +39 -0
  251. package/build/treb-data-model/src/sheet_selection.js.map +1 -0
  252. package/build/treb-data-model/src/sheet_types.d.ts +104 -0
  253. package/build/treb-data-model/src/sheet_types.js +22 -0
  254. package/build/treb-data-model/src/sheet_types.js.map +1 -0
  255. package/build/treb-data-model/src/types.d.ts +59 -0
  256. package/build/treb-data-model/src/types.js +22 -0
  257. package/build/treb-data-model/src/types.js.map +1 -0
  258. package/build/treb-embed/src/custom-element/spreadsheet-constructor.d.ts +75 -0
  259. package/build/treb-embed/src/custom-element/spreadsheet-constructor.js +1144 -0
  260. package/build/treb-embed/src/custom-element/spreadsheet-constructor.js.map +1 -0
  261. package/build/treb-embed/src/custom-element/treb-global.d.ts +36 -0
  262. package/build/treb-embed/src/custom-element/treb-global.js +64 -0
  263. package/build/treb-embed/src/custom-element/treb-global.js.map +1 -0
  264. package/build/treb-embed/src/custom-element/treb-spreadsheet-element.d.ts +1 -0
  265. package/build/treb-embed/src/custom-element/treb-spreadsheet-element.js +61 -0
  266. package/build/treb-embed/src/custom-element/treb-spreadsheet-element.js.map +1 -0
  267. package/build/treb-embed/src/embedded-spreadsheet.d.ts +1358 -0
  268. package/build/treb-embed/src/embedded-spreadsheet.js +5205 -0
  269. package/build/treb-embed/src/embedded-spreadsheet.js.map +1 -0
  270. package/build/treb-embed/src/index.d.ts +12 -0
  271. package/build/treb-embed/src/index.js +34 -0
  272. package/build/treb-embed/src/index.js.map +1 -0
  273. package/build/treb-embed/src/options.d.ts +266 -0
  274. package/build/treb-embed/src/options.js +56 -0
  275. package/build/treb-embed/src/options.js.map +1 -0
  276. package/build/treb-embed/src/plugin.d.ts +9 -0
  277. package/build/treb-embed/src/plugin.js +22 -0
  278. package/build/treb-embed/src/plugin.js.map +1 -0
  279. package/build/treb-embed/src/progress-dialog.d.ts +49 -0
  280. package/build/treb-embed/src/progress-dialog.js +178 -0
  281. package/build/treb-embed/src/progress-dialog.js.map +1 -0
  282. package/build/treb-embed/src/selection-state.d.ts +15 -0
  283. package/build/treb-embed/src/selection-state.js +22 -0
  284. package/build/treb-embed/src/selection-state.js.map +1 -0
  285. package/build/treb-embed/src/spinner.d.ts +8 -0
  286. package/build/treb-embed/src/spinner.js +40 -0
  287. package/build/treb-embed/src/spinner.js.map +1 -0
  288. package/build/treb-embed/src/toolbar-message.d.ts +72 -0
  289. package/build/treb-embed/src/toolbar-message.js +22 -0
  290. package/build/treb-embed/src/toolbar-message.js.map +1 -0
  291. package/build/treb-embed/src/types.d.ts +185 -0
  292. package/build/treb-embed/src/types.js +45 -0
  293. package/build/treb-embed/src/types.js.map +1 -0
  294. package/build/treb-embed/tsconfig.tsbuildinfo +1 -0
  295. package/build/treb-export/src/address-type.d.ts +34 -0
  296. package/build/treb-export/src/address-type.js +53 -0
  297. package/build/treb-export/src/address-type.js.map +1 -0
  298. package/build/treb-export/src/base-template.d.ts +1 -0
  299. package/build/treb-export/src/base-template.js +22 -0
  300. package/build/treb-export/src/base-template.js.map +1 -0
  301. package/build/treb-export/src/column-width.d.ts +2 -0
  302. package/build/treb-export/src/column-width.js +80 -0
  303. package/build/treb-export/src/column-width.js.map +1 -0
  304. package/build/treb-export/src/drawing/bubble-chart-template.d.ts +514 -0
  305. package/build/treb-export/src/drawing/bubble-chart-template.js +544 -0
  306. package/build/treb-export/src/drawing/bubble-chart-template.js.map +1 -0
  307. package/build/treb-export/src/drawing/chart-template-components2.d.ts +365 -0
  308. package/build/treb-export/src/drawing/chart-template-components2.js +386 -0
  309. package/build/treb-export/src/drawing/chart-template-components2.js.map +1 -0
  310. package/build/treb-export/src/drawing/chart.d.ts +26 -0
  311. package/build/treb-export/src/drawing/chart.js +247 -0
  312. package/build/treb-export/src/drawing/chart.js.map +1 -0
  313. package/build/treb-export/src/drawing/column-chart-template2.d.ts +490 -0
  314. package/build/treb-export/src/drawing/column-chart-template2.js +518 -0
  315. package/build/treb-export/src/drawing/column-chart-template2.js.map +1 -0
  316. package/build/treb-export/src/drawing/donut-chart-template2.d.ts +272 -0
  317. package/build/treb-export/src/drawing/donut-chart-template2.js +293 -0
  318. package/build/treb-export/src/drawing/donut-chart-template2.js.map +1 -0
  319. package/build/treb-export/src/drawing/drawing.d.ts +49 -0
  320. package/build/treb-export/src/drawing/drawing.js +193 -0
  321. package/build/treb-export/src/drawing/drawing.js.map +1 -0
  322. package/build/treb-export/src/drawing/embedded-image.d.ts +12 -0
  323. package/build/treb-export/src/drawing/embedded-image.js +54 -0
  324. package/build/treb-export/src/drawing/embedded-image.js.map +1 -0
  325. package/build/treb-export/src/drawing/scatter-chart-template2.d.ts +520 -0
  326. package/build/treb-export/src/drawing/scatter-chart-template2.js +551 -0
  327. package/build/treb-export/src/drawing/scatter-chart-template2.js.map +1 -0
  328. package/build/treb-export/src/export.d.ts +72 -0
  329. package/build/treb-export/src/export.js +2039 -0
  330. package/build/treb-export/src/export.js.map +1 -0
  331. package/build/treb-export/src/import-export-messages.d.ts +31 -0
  332. package/build/treb-export/src/import-export-messages.js +22 -0
  333. package/build/treb-export/src/import-export-messages.js.map +1 -0
  334. package/build/treb-export/src/import.d.ts +33 -0
  335. package/build/treb-export/src/import.js +1258 -0
  336. package/build/treb-export/src/import.js.map +1 -0
  337. package/build/treb-export/src/index.worker.d.ts +1 -0
  338. package/build/treb-export/src/index.worker.js +93 -0
  339. package/build/treb-export/src/index.worker.js.map +1 -0
  340. package/build/treb-export/src/metadata.d.ts +51 -0
  341. package/build/treb-export/src/metadata.js +153 -0
  342. package/build/treb-export/src/metadata.js.map +1 -0
  343. package/build/treb-export/src/ooxml.d.ts +7 -0
  344. package/build/treb-export/src/ooxml.js +41 -0
  345. package/build/treb-export/src/ooxml.js.map +1 -0
  346. package/build/treb-export/src/relationship.d.ts +8 -0
  347. package/build/treb-export/src/relationship.js +27 -0
  348. package/build/treb-export/src/relationship.js.map +1 -0
  349. package/build/treb-export/src/shared-strings.d.ts +11 -0
  350. package/build/treb-export/src/shared-strings.js +105 -0
  351. package/build/treb-export/src/shared-strings.js.map +1 -0
  352. package/build/treb-export/src/template-2.d.ts +1 -0
  353. package/build/treb-export/src/template-2.js +22 -0
  354. package/build/treb-export/src/template-2.js.map +1 -0
  355. package/build/treb-export/src/unescape_xml.d.ts +1 -0
  356. package/build/treb-export/src/unescape_xml.js +61 -0
  357. package/build/treb-export/src/unescape_xml.js.map +1 -0
  358. package/build/treb-export/src/workbook-sheet.d.ts +75 -0
  359. package/build/treb-export/src/workbook-sheet.js +128 -0
  360. package/build/treb-export/src/workbook-sheet.js.map +1 -0
  361. package/build/treb-export/src/workbook-style.d.ts +110 -0
  362. package/build/treb-export/src/workbook-style.js +1134 -0
  363. package/build/treb-export/src/workbook-style.js.map +1 -0
  364. package/build/treb-export/src/workbook-theme.d.ts +13 -0
  365. package/build/treb-export/src/workbook-theme.js +85 -0
  366. package/build/treb-export/src/workbook-theme.js.map +1 -0
  367. package/build/treb-export/src/workbook.d.ts +123 -0
  368. package/build/treb-export/src/workbook.js +644 -0
  369. package/build/treb-export/src/workbook.js.map +1 -0
  370. package/build/treb-export/src/xml-test.d.ts +9 -0
  371. package/build/treb-export/src/xml-test.js +52 -0
  372. package/build/treb-export/src/xml-test.js.map +1 -0
  373. package/build/treb-export/src/xml-utils.d.ts +76 -0
  374. package/build/treb-export/src/xml-utils.js +223 -0
  375. package/build/treb-export/src/xml-utils.js.map +1 -0
  376. package/build/treb-export/src/zip-wrapper.d.ts +22 -0
  377. package/build/treb-export/src/zip-wrapper.js +93 -0
  378. package/build/treb-export/src/zip-wrapper.js.map +1 -0
  379. package/build/treb-format/src/format.d.ts +130 -0
  380. package/build/treb-format/src/format.js +805 -0
  381. package/build/treb-format/src/format.js.map +1 -0
  382. package/build/treb-format/src/format_cache.d.ts +55 -0
  383. package/build/treb-format/src/format_cache.js +166 -0
  384. package/build/treb-format/src/format_cache.js.map +1 -0
  385. package/build/treb-format/src/format_parser.d.ts +70 -0
  386. package/build/treb-format/src/format_parser.js +618 -0
  387. package/build/treb-format/src/format_parser.js.map +1 -0
  388. package/build/treb-format/src/index.d.ts +4 -0
  389. package/build/treb-format/src/index.js +25 -0
  390. package/build/treb-format/src/index.js.map +1 -0
  391. package/build/treb-format/src/number_format_section.d.ts +58 -0
  392. package/build/treb-format/src/number_format_section.js +78 -0
  393. package/build/treb-format/src/number_format_section.js.map +1 -0
  394. package/build/treb-format/src/value_parser.d.ts +48 -0
  395. package/build/treb-format/src/value_parser.js +244 -0
  396. package/build/treb-format/src/value_parser.js.map +1 -0
  397. package/build/treb-grid/src/editors/autocomplete.d.ts +39 -0
  398. package/build/treb-grid/src/editors/autocomplete.js +316 -0
  399. package/build/treb-grid/src/editors/autocomplete.js.map +1 -0
  400. package/build/treb-grid/src/editors/autocomplete_matcher.d.ts +74 -0
  401. package/build/treb-grid/src/editors/autocomplete_matcher.js +212 -0
  402. package/build/treb-grid/src/editors/autocomplete_matcher.js.map +1 -0
  403. package/build/treb-grid/src/editors/editor.d.ts +214 -0
  404. package/build/treb-grid/src/editors/editor.js +879 -0
  405. package/build/treb-grid/src/editors/editor.js.map +1 -0
  406. package/build/treb-grid/src/editors/external_editor.d.ts +11 -0
  407. package/build/treb-grid/src/editors/external_editor.js +118 -0
  408. package/build/treb-grid/src/editors/external_editor.js.map +1 -0
  409. package/build/treb-grid/src/editors/formula_bar.d.ts +85 -0
  410. package/build/treb-grid/src/editors/formula_bar.js +444 -0
  411. package/build/treb-grid/src/editors/formula_bar.js.map +1 -0
  412. package/build/treb-grid/src/editors/overlay_editor.d.ts +85 -0
  413. package/build/treb-grid/src/editors/overlay_editor.js +353 -0
  414. package/build/treb-grid/src/editors/overlay_editor.js.map +1 -0
  415. package/build/treb-grid/src/index.d.ts +12 -0
  416. package/build/treb-grid/src/index.js +28 -0
  417. package/build/treb-grid/src/index.js.map +1 -0
  418. package/build/treb-grid/src/layout/base_layout.d.ts +346 -0
  419. package/build/treb-grid/src/layout/base_layout.js +2050 -0
  420. package/build/treb-grid/src/layout/base_layout.js.map +1 -0
  421. package/build/treb-grid/src/layout/grid_layout.d.ts +19 -0
  422. package/build/treb-grid/src/layout/grid_layout.js +235 -0
  423. package/build/treb-grid/src/layout/grid_layout.js.map +1 -0
  424. package/build/treb-grid/src/layout/mock-layout.d.ts +10 -0
  425. package/build/treb-grid/src/layout/mock-layout.js +37 -0
  426. package/build/treb-grid/src/layout/mock-layout.js.map +1 -0
  427. package/build/treb-grid/src/render/selection-renderer.d.ts +97 -0
  428. package/build/treb-grid/src/render/selection-renderer.js +315 -0
  429. package/build/treb-grid/src/render/selection-renderer.js.map +1 -0
  430. package/build/treb-grid/src/render/svg_header_overlay.d.ts +20 -0
  431. package/build/treb-grid/src/render/svg_header_overlay.js +76 -0
  432. package/build/treb-grid/src/render/svg_header_overlay.js.map +1 -0
  433. package/build/treb-grid/src/render/svg_selection_block.d.ts +27 -0
  434. package/build/treb-grid/src/render/svg_selection_block.js +106 -0
  435. package/build/treb-grid/src/render/svg_selection_block.js.map +1 -0
  436. package/build/treb-grid/src/render/tile_renderer.d.ts +121 -0
  437. package/build/treb-grid/src/render/tile_renderer.js +1609 -0
  438. package/build/treb-grid/src/render/tile_renderer.js.map +1 -0
  439. package/build/treb-grid/src/types/border_constants.d.ts +9 -0
  440. package/build/treb-grid/src/types/border_constants.js +34 -0
  441. package/build/treb-grid/src/types/border_constants.js.map +1 -0
  442. package/build/treb-grid/src/types/clipboard_data.d.ts +11 -0
  443. package/build/treb-grid/src/types/clipboard_data.js +22 -0
  444. package/build/treb-grid/src/types/clipboard_data.js.map +1 -0
  445. package/build/treb-grid/src/types/clipboard_data2.d.ts +46 -0
  446. package/build/treb-grid/src/types/clipboard_data2.js +22 -0
  447. package/build/treb-grid/src/types/clipboard_data2.js.map +1 -0
  448. package/build/treb-grid/src/types/drag_mask.d.ts +10 -0
  449. package/build/treb-grid/src/types/drag_mask.js +78 -0
  450. package/build/treb-grid/src/types/drag_mask.js.map +1 -0
  451. package/build/treb-grid/src/types/external_editor_config.d.ts +33 -0
  452. package/build/treb-grid/src/types/external_editor_config.js +22 -0
  453. package/build/treb-grid/src/types/external_editor_config.js.map +1 -0
  454. package/build/treb-grid/src/types/grid.d.ts +806 -0
  455. package/build/treb-grid/src/types/grid.js +6410 -0
  456. package/build/treb-grid/src/types/grid.js.map +1 -0
  457. package/build/treb-grid/src/types/grid_base.d.ts +442 -0
  458. package/build/treb-grid/src/types/grid_base.js +3523 -0
  459. package/build/treb-grid/src/types/grid_base.js.map +1 -0
  460. package/build/treb-grid/src/types/grid_command.d.ts +408 -0
  461. package/build/treb-grid/src/types/grid_command.js +75 -0
  462. package/build/treb-grid/src/types/grid_command.js.map +1 -0
  463. package/build/treb-grid/src/types/grid_events.d.ts +93 -0
  464. package/build/treb-grid/src/types/grid_events.js +36 -0
  465. package/build/treb-grid/src/types/grid_events.js.map +1 -0
  466. package/build/treb-grid/src/types/grid_options.d.ts +50 -0
  467. package/build/treb-grid/src/types/grid_options.js +34 -0
  468. package/build/treb-grid/src/types/grid_options.js.map +1 -0
  469. package/build/treb-grid/src/types/scale-control.d.ts +21 -0
  470. package/build/treb-grid/src/types/scale-control.js +148 -0
  471. package/build/treb-grid/src/types/scale-control.js.map +1 -0
  472. package/build/treb-grid/src/types/set_range_options.d.ts +24 -0
  473. package/build/treb-grid/src/types/set_range_options.js +22 -0
  474. package/build/treb-grid/src/types/set_range_options.js.map +1 -0
  475. package/build/treb-grid/src/types/tab_bar.d.ts +84 -0
  476. package/build/treb-grid/src/types/tab_bar.js +426 -0
  477. package/build/treb-grid/src/types/tab_bar.js.map +1 -0
  478. package/build/treb-grid/src/types/tile.d.ts +29 -0
  479. package/build/treb-grid/src/types/tile.js +22 -0
  480. package/build/treb-grid/src/types/tile.js.map +1 -0
  481. package/build/treb-grid/src/types/update_flags.d.ts +48 -0
  482. package/build/treb-grid/src/types/update_flags.js +22 -0
  483. package/build/treb-grid/src/types/update_flags.js.map +1 -0
  484. package/build/treb-grid/src/util/fontmetrics.d.ts +21 -0
  485. package/build/treb-grid/src/util/fontmetrics.js +82 -0
  486. package/build/treb-grid/src/util/fontmetrics.js.map +1 -0
  487. package/build/treb-grid/src/util/ua.d.ts +33 -0
  488. package/build/treb-grid/src/util/ua.js +86 -0
  489. package/build/treb-grid/src/util/ua.js.map +1 -0
  490. package/build/treb-parser/src/csv-parser.d.ts +13 -0
  491. package/build/treb-parser/src/csv-parser.js +107 -0
  492. package/build/treb-parser/src/csv-parser.js.map +1 -0
  493. package/build/treb-parser/src/index.d.ts +4 -0
  494. package/build/treb-parser/src/index.js +25 -0
  495. package/build/treb-parser/src/index.js.map +1 -0
  496. package/build/treb-parser/src/md-parser.d.ts +97 -0
  497. package/build/treb-parser/src/md-parser.js +403 -0
  498. package/build/treb-parser/src/md-parser.js.map +1 -0
  499. package/build/treb-parser/src/parser-types.d.ts +345 -0
  500. package/build/treb-parser/src/parser-types.js +53 -0
  501. package/build/treb-parser/src/parser-types.js.map +1 -0
  502. package/build/treb-parser/src/parser.d.ts +422 -0
  503. package/build/treb-parser/src/parser.js +2418 -0
  504. package/build/treb-parser/src/parser.js.map +1 -0
  505. package/build/treb-utils/src/event_source.d.ts +34 -0
  506. package/build/treb-utils/src/event_source.js +110 -0
  507. package/build/treb-utils/src/event_source.js.map +1 -0
  508. package/build/treb-utils/src/ievent_source.d.ts +9 -0
  509. package/build/treb-utils/src/ievent_source.js +22 -0
  510. package/build/treb-utils/src/ievent_source.js.map +1 -0
  511. package/build/treb-utils/src/index.d.ts +6 -0
  512. package/build/treb-utils/src/index.js +30 -0
  513. package/build/treb-utils/src/index.js.map +1 -0
  514. package/build/treb-utils/src/measurement.d.ts +42 -0
  515. package/build/treb-utils/src/measurement.js +145 -0
  516. package/build/treb-utils/src/measurement.js.map +1 -0
  517. package/build/treb-utils/src/scale.d.ts +16 -0
  518. package/build/treb-utils/src/scale.js +106 -0
  519. package/build/treb-utils/src/scale.js.map +1 -0
  520. package/build/treb-utils/src/serialize_html.d.ts +5 -0
  521. package/build/treb-utils/src/serialize_html.js +128 -0
  522. package/build/treb-utils/src/serialize_html.js.map +1 -0
  523. package/build/treb-utils/src/validate_uri.d.ts +20 -0
  524. package/build/treb-utils/src/validate_uri.js +55 -0
  525. package/build/treb-utils/src/validate_uri.js.map +1 -0
  526. package/dist/{chunk-Z4XFMZ2X.mjs → chunk-E35ONJUS.mjs} +1 -1
  527. package/dist/treb-export-worker.mjs +2 -2
  528. package/dist/treb-spreadsheet.mjs +4 -4
  529. package/dist/treb.d.ts +1 -1
  530. package/esbuild-composite.mjs +5 -1
  531. package/package.json +67 -3
  532. package/treb-embed/src/custom-element/spreadsheet-constructor.ts +7 -3
  533. package/treb-embed/src/embedded-spreadsheet.ts +1 -1
  534. package/treb-grid/src/types/grid_options.ts +1 -1
  535. package/tsproject.json +1 -2
  536. package/dist/chunk-43DLP2OX.mjs +0 -11
  537. package/dist/chunk-4CKS56PE.mjs +0 -11
  538. package/dist/chunk-75PARUQE.mjs +0 -11
  539. package/dist/chunk-7QD63AZS.mjs +0 -24601
  540. package/dist/chunk-A55ARVRD.mjs +0 -11
  541. package/dist/chunk-DESAKYW4.mjs +0 -11
  542. package/dist/chunk-EQ2R5W6P.mjs +0 -24565
  543. package/dist/chunk-IYJU2J6D.mjs +0 -24601
  544. package/dist/chunk-KSJFPGXT.mjs +0 -11
  545. package/dist/chunk-MQK4DNXI.mjs +0 -11
  546. package/dist/chunk-ORQFKLXM.mjs +0 -24601
  547. package/dist/chunk-SFDNNDHY.mjs +0 -11
  548. package/dist/chunk-T47DX5MI.mjs +0 -11
  549. package/dist/chunk-T6ILBVEX.mjs +0 -11
  550. package/dist/chunk-TPRCDYYG.mjs +0 -11
  551. package/dist/chunk-YAHNOOHO.mjs +0 -11
  552. package/dist/chunk-YLCFKX2G.mjs +0 -24601
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../../treb-export/src/import.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function AttachInProcess(): void;
@@ -0,0 +1,93 @@
1
+ /*
2
+ * This file is part of TREB.
3
+ *
4
+ * TREB is free software: you can redistribute it and/or modify it under the
5
+ * terms of the GNU General Public License as published by the Free Software
6
+ * Foundation, either version 3 of the License, or (at your option) any
7
+ * later version.
8
+ *
9
+ * TREB is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12
+ * details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License along
15
+ * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
+ *
17
+ * Copyright 2022-2026 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+ import * as Messages from './import-export-messages';
22
+ import { Exporter } from './export';
23
+ import { Importer } from './import';
24
+ import { GetWorkerContext } from 'treb-base-types';
25
+ export function AttachInProcess() {
26
+ console.info("AOP");
27
+ }
28
+ // avoid top-level await so we can support older js engines
29
+ GetWorkerContext().then(ctx => {
30
+ const exporter = new Exporter();
31
+ const ExportSheets = (data) => {
32
+ if (data.sheet) {
33
+ exporter.Init(data.decorated || []);
34
+ exporter.Export(data.sheet);
35
+ const message = {
36
+ type: 'export-complete',
37
+ blob: exporter.Blob(),
38
+ };
39
+ ctx.postMessage(message);
40
+ }
41
+ };
42
+ const ImportSheet = (data) => {
43
+ const importer = new Importer();
44
+ try {
45
+ importer.Init(data.data);
46
+ const named = importer.workbook?.GetNamedRanges();
47
+ const count = importer.SheetCount();
48
+ const results = {
49
+ sheets: [],
50
+ named,
51
+ active_tab: importer.workbook?.active_tab,
52
+ };
53
+ for (let i = 0; i < count; i++) {
54
+ const result = importer.GetSheet(i);
55
+ if (result) {
56
+ results.sheets.push(result);
57
+ }
58
+ }
59
+ for (const entry of named || []) {
60
+ if (typeof entry.local_scope === 'number') {
61
+ const sheet = results.sheets[entry.local_scope];
62
+ if (sheet) {
63
+ entry.scope = sheet.name;
64
+ }
65
+ }
66
+ }
67
+ const message = {
68
+ type: 'import-complete',
69
+ results,
70
+ };
71
+ ctx.postMessage(message);
72
+ }
73
+ catch (err) {
74
+ console.warn('error importing xlsx file');
75
+ console.info(err);
76
+ const message = {
77
+ type: 'import-error',
78
+ error: err,
79
+ };
80
+ ctx.postMessage(message);
81
+ }
82
+ };
83
+ // initialize message handler
84
+ ctx.addEventListener('message', (event) => {
85
+ if (event.data && event.data.type === 'export') {
86
+ ExportSheets(event.data);
87
+ }
88
+ else if (event.data && event.data.type === 'import') {
89
+ ImportSheet(event.data);
90
+ }
91
+ });
92
+ });
93
+ //# sourceMappingURL=index.worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.worker.js","sourceRoot":"","sources":["../../../treb-export/src/index.worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import * as OOXML from 'ooxml-types';
2
+ /**
3
+ * https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.metadatarecord?view=openxml-3.0.1
4
+ *
5
+ * ah, mixing 0-based and 1-based indexes. that's great. not at all confusing.
6
+ */
7
+ export interface MetadataRecord {
8
+ t: number;
9
+ v: number;
10
+ }
11
+ /**
12
+ * https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.metadatatype?view=openxml-3.0.1
13
+ *
14
+ * punting on all these attributes for now, except the ones we specifically
15
+ * want.
16
+ */
17
+ export interface MetadataType {
18
+ name: string;
19
+ cell_meta?: boolean;
20
+ }
21
+ /**
22
+ * the type `Future Feature Data Storage Area` is not actually defined? not
23
+ * sure. maybe it's just a standard extension type and I need to look that up?
24
+ *
25
+ * for the time being we'll use a list of flags...
26
+ */
27
+ export interface MetadataFlags {
28
+ 'dynamic-array'?: boolean;
29
+ }
30
+ /**
31
+ * https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.futuremetadata?view=openxml-3.0.1
32
+ * https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.futuremetadatablock?view=openxml-3.0.1
33
+ *
34
+ * these are named, matching the names in "MetadataType"; we'll use those
35
+ * as indexes, and not store them in the object.
36
+ *
37
+ */
38
+ export interface FutureMetadata {
39
+ flags: MetadataFlags;
40
+ }
41
+ /**
42
+ * we're just reflecting the actual data at this point, not simplifying
43
+ * (although we should simplify). will require some lookups.
44
+ */
45
+ export interface Metadata {
46
+ cell_metadata: MetadataRecord[];
47
+ metadata_types: MetadataType[];
48
+ future_metadata: Record<string, FutureMetadata[]>;
49
+ }
50
+ export declare const LookupMetadata: (source: Metadata, type: "cell" | "value", index: number) => FutureMetadata;
51
+ export declare const ParseMetadataXML: (root: OOXML.Metadata) => Metadata;
@@ -0,0 +1,153 @@
1
+ /*
2
+ * This file is part of TREB.
3
+ *
4
+ * TREB is free software: you can redistribute it and/or modify it under the
5
+ * terms of the GNU General Public License as published by the Free Software
6
+ * Foundation, either version 3 of the License, or (at your option) any
7
+ * later version.
8
+ *
9
+ * TREB is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12
+ * details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License along
15
+ * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
+ *
17
+ * Copyright 2022-2026 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+ import * as OOXML from 'ooxml-types';
22
+ import { IterateTags } from './ooxml';
23
+ export const LookupMetadata = (source, type, index) => {
24
+ if (type === 'cell') {
25
+ //
26
+ // the docs say "zero based", but this looks to be one based -- there's
27
+ // only one entry when we create a doc, but the cm index in cells is "1".
28
+ //
29
+ // https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.cell?view=openxml-3.0.1&redirectedfrom=MSDN
30
+ //
31
+ const metadata_type = source.cell_metadata[index - 1];
32
+ if (metadata_type) {
33
+ const record_type = source.metadata_types[metadata_type.t - 1]; // 1-based
34
+ if (record_type) {
35
+ if (record_type.name === 'XLMDX') {
36
+ // ...
37
+ }
38
+ else {
39
+ const future_metadata_list = source.future_metadata[record_type.name];
40
+ if (future_metadata_list) {
41
+ return future_metadata_list[metadata_type.v] || {}; // 0-based
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ else {
48
+ console.warn('value metadata not implemented');
49
+ }
50
+ return { flags: {} }; // null, essentially
51
+ };
52
+ export const ParseMetadataXML = (root) => {
53
+ const metadata = {
54
+ metadata_types: [],
55
+ cell_metadata: [],
56
+ future_metadata: {},
57
+ };
58
+ IterateTags(root.metadataTypes, metadataTypes => {
59
+ IterateTags(metadataTypes.metadataType, entry => {
60
+ const name = entry.$attributes?.name || '';
61
+ const cell_meta = !!entry.$attributes?.cellMeta;
62
+ metadata.metadata_types.push({
63
+ name, cell_meta
64
+ });
65
+ });
66
+ });
67
+ /*
68
+ const metadata_types = XMLUtils.FindAll(xml, 'metadata/metadataTypes/metadataType');
69
+ for (const entry of metadata_types) {
70
+
71
+ const name: string = entry.a$?.name || '';
72
+ const value = entry.a$?.cellMeta;
73
+ const cell_meta: boolean = (value === '1' || value === 'true');
74
+
75
+ metadata.metadata_types.push({
76
+ name, cell_meta
77
+ });
78
+
79
+ }
80
+ */
81
+ IterateTags(root.futureMetadata, entry => {
82
+ const name = entry.$attributes?.name;
83
+ if (name) {
84
+ const future_metadata_list = [];
85
+ IterateTags(entry.bk, bk => {
86
+ const future_metadata = { flags: {} };
87
+ IterateTags(bk.extLst?.ext, ext => {
88
+ if (ext.dynamicArrayProperties?.$attributes?.fDynamic) {
89
+ future_metadata.flags['dynamic-array'] = true;
90
+ }
91
+ });
92
+ future_metadata_list.push(future_metadata);
93
+ });
94
+ metadata.future_metadata[name] = future_metadata_list;
95
+ }
96
+ });
97
+ /*
98
+ const future_metadata_blocks = XMLUtils.FindAll(xml, 'metadata/futureMetadata');
99
+ for (const entry of future_metadata_blocks) {
100
+
101
+ const name: string = entry.a$?.name || '';
102
+ if (name) {
103
+
104
+ const future_metadata_list: FutureMetadata[] = [];
105
+
106
+ // `extLst` entries can be inside of `bk` entries, but aparently not
107
+ // required? what's the case where they are _not_ in `bk` elements?
108
+
109
+ for (const block of XMLUtils.FindAll(entry, 'bk')) {
110
+
111
+ const future_metadata: FutureMetadata = { flags: {} };
112
+
113
+ // I guess metadata attributes are elements? we'll probably
114
+ // have to look them up individually
115
+
116
+ for (const child of XMLUtils.FindAll(block, 'extLst/ext/xda:dynamicArrayProperties')) {
117
+ if (child?.a$.fDynamic === '1') {
118
+ future_metadata.flags['dynamic-array'] = true;
119
+ }
120
+ }
121
+
122
+ future_metadata_list.push(future_metadata);
123
+
124
+ }
125
+
126
+ metadata.future_metadata[name] = future_metadata_list;
127
+
128
+ }
129
+ }
130
+ */
131
+ IterateTags(root.cellMetadata, cellMetadata => {
132
+ IterateTags(cellMetadata.bk, bk => {
133
+ IterateTags(bk.rc, rc => {
134
+ if (rc.$attributes) {
135
+ metadata.cell_metadata.push({
136
+ ...rc.$attributes
137
+ });
138
+ }
139
+ });
140
+ });
141
+ });
142
+ /*
143
+ for (const entry of XMLUtils.FindAll(xml, 'metadata/cellMetadata/bk/rc')) {
144
+ metadata.cell_metadata.push({
145
+ t: Number(entry.a$?.t || -1),
146
+ v: Number(entry.a$?.v || -1),
147
+ });
148
+ }
149
+ */
150
+ // console.info({metadata});
151
+ return metadata;
152
+ };
153
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../treb-export/src/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAsFtC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAgB,EAAE,IAAoB,EAAE,KAAa,EAAkB,EAAE;IAEtG,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAEpB,EAAE;QACF,uEAAuE;QACvE,yEAAyE;QACzE,EAAE;QACF,8HAA8H;QAC9H,EAAE;QAEF,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEtD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU;YAC1E,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACjC,MAAM;gBACR,CAAC;qBACI,CAAC;oBACJ,MAAM,oBAAoB,GAAG,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACtE,IAAI,oBAAoB,EAAE,CAAC;wBACzB,OAAO,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU;oBAChE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;SACI,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,EAAC,KAAK,EAAE,EAAE,EAAC,CAAC,CAAC,oBAAoB;AAE1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAoB,EAAY,EAAE;IAEjE,MAAM,QAAQ,GAAa;QACzB,cAAc,EAAE,EAAE;QAClB,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;KACpB,CAAC;IAEF,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE;QAC9C,WAAW,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE;YAC9C,MAAM,IAAI,GAAW,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;YAChD,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;gBAC3B,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;;MAaE;IAEF,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC;QACrC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,oBAAoB,GAAqB,EAAE,CAAC;YAClD,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;gBACzB,MAAM,eAAe,GAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBACtD,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;oBAChC,IAAI,GAAG,CAAC,sBAAsB,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;wBACtD,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;oBAChD,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiCE;IAEF,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE;QAC5C,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YAChC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;gBACtB,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACnB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;wBAC1B,GAAG,EAAE,CAAC,WAAW;qBAClB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH;;;;;;;MAOE;IAEF,4BAA4B;IAE5B,OAAO,QAAQ,CAAC;AAElB,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { XMLParser } from 'fast-xml-parser';
2
+ import * as OOXML from 'ooxml-types';
3
+ export declare const ooxml_parser: XMLParser;
4
+ export declare function EnsureArray<T>(tag?: OOXML.OneOrMany<T>): T[];
5
+ export declare function IterateTags<T>(root: OOXML.OneOrMany<T> | undefined, fn: (tag: T) => false | void): void;
6
+ export declare function MapTags<K, T>(root: OOXML.OneOrMany<T> | undefined, fn: (tag: T) => K): K[];
7
+ export declare function FirstTag<T>(root: OOXML.OneOrMany<T>): T;
@@ -0,0 +1,41 @@
1
+ import { XMLParser } from 'fast-xml-parser';
2
+ import * as OOXML from 'ooxml-types';
3
+ export const ooxml_parser = new XMLParser({
4
+ attributesGroupName: '$attributes',
5
+ ignoreAttributes: false,
6
+ parseAttributeValue: true,
7
+ attributeNamePrefix: '',
8
+ removeNSPrefix: true,
9
+ textNodeName: '$text',
10
+ cdataPropName: '$cdata',
11
+ parseTagValue: false,
12
+ alwaysCreateTextNode: true,
13
+ });
14
+ export function EnsureArray(tag) {
15
+ if (Array.isArray(tag)) {
16
+ return tag;
17
+ }
18
+ if (tag === undefined) {
19
+ return [];
20
+ }
21
+ return [tag];
22
+ }
23
+ export function IterateTags(root, fn) {
24
+ for (const element of EnsureArray(root)) {
25
+ const test = fn(element);
26
+ if (test === false) {
27
+ break;
28
+ }
29
+ }
30
+ }
31
+ export function MapTags(root, fn) {
32
+ const arr = [];
33
+ for (const element of EnsureArray(root)) {
34
+ arr.push(fn(element));
35
+ }
36
+ return arr;
37
+ }
38
+ export function FirstTag(root) {
39
+ return EnsureArray(root)[0];
40
+ }
41
+ //# sourceMappingURL=ooxml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ooxml.js","sourceRoot":"","sources":["../../../treb-export/src/ooxml.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC;IACxC,mBAAmB,EAAE,aAAa;IAClC,gBAAgB,EAAE,KAAK;IACvB,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,EAAE;IACvB,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,OAAO;IACrB,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,KAAK;IACpB,oBAAoB,EAAE,IAAI;CAC3B,CAAC,CAAC;AAEH,MAAM,UAAU,WAAW,CAAI,GAAwB;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAG,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,IAAkC,EAAE,EAA0B;IAC3F,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAO,IAAkC,EAAE,EAAiB;IACjF,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAAC,CAAC;IACnE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,IAAwB;IAClD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface Relationship {
2
+ id: string;
3
+ type: string;
4
+ target: string;
5
+ mode?: string;
6
+ }
7
+ export type RelationshipMap = Record<string, Relationship>;
8
+ export declare const AddRel: (map: RelationshipMap, type: string, target: string, mode?: string) => string;
@@ -0,0 +1,27 @@
1
+ /*
2
+ * This file is part of TREB.
3
+ *
4
+ * TREB is free software: you can redistribute it and/or modify it under the
5
+ * terms of the GNU General Public License as published by the Free Software
6
+ * Foundation, either version 3 of the License, or (at your option) any
7
+ * later version.
8
+ *
9
+ * TREB is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12
+ * details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License along
15
+ * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
+ *
17
+ * Copyright 2022-2026 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+ export const AddRel = (map, type, target, mode) => {
22
+ const index = Object.keys(map).length + 1;
23
+ const rel = `rId${index}`;
24
+ map[rel] = { id: rel, type, target, mode };
25
+ return rel;
26
+ };
27
+ //# sourceMappingURL=relationship.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationship.js","sourceRoot":"","sources":["../../../treb-export/src/relationship.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAoB,EAAE,IAAY,EAAE,MAAc,EAAE,IAAa,EAAU,EAAE;IAClG,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,MAAM,KAAK,EAAE,CAAC;IAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3C,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as OOXML from 'ooxml-types';
2
+ export declare class SharedStrings {
3
+ strings: string[];
4
+ reverse: Record<string, number>;
5
+ /** read strings table from (pre-parsed) xml; removes any existing strings */
6
+ FromXML(sst: OOXML.SharedStringTable): void;
7
+ /** return a string by index */
8
+ Get(index: number): string | undefined;
9
+ /** find existing string or insert, and return index */
10
+ Ensure(text: string): number;
11
+ }
@@ -0,0 +1,105 @@
1
+ /*
2
+ * This file is part of TREB.
3
+ *
4
+ * TREB is free software: you can redistribute it and/or modify it under the
5
+ * terms of the GNU General Public License as published by the Free Software
6
+ * Foundation, either version 3 of the License, or (at your option) any
7
+ * later version.
8
+ *
9
+ * TREB is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12
+ * details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License along
15
+ * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
+ *
17
+ * Copyright 2022-2026 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+ import * as OOXML from 'ooxml-types';
22
+ import { EnsureArray, IterateTags } from './ooxml';
23
+ export class SharedStrings {
24
+ strings = [];
25
+ reverse = {};
26
+ /** read strings table from (pre-parsed) xml; removes any existing strings */
27
+ FromXML(sst) {
28
+ // clear
29
+ this.strings = [];
30
+ this.reverse = {};
31
+ let index = 0;
32
+ IterateTags(sst.si, si => {
33
+ // simple string looks like
34
+ //
35
+ // <si>
36
+ // <t>text here!</t>
37
+ // </si>
38
+ if (si.t !== undefined) {
39
+ // seen recently in the wild, text with leading (or trailing) spaces
40
+ // has an attribute xml:space=preserve (which makes sense, but was not
41
+ // expecting it)
42
+ //
43
+ // <si>
44
+ // <t xml:space="preserve"> (Target portfolio lease rate based on internal estimate of average Canadian farmland rates)</t>
45
+ // </si>
46
+ //
47
+ let base = '';
48
+ if (typeof si.t === 'string') {
49
+ base = si.t;
50
+ }
51
+ else if (si.t.$text) {
52
+ base = si.t.$text;
53
+ }
54
+ this.strings[index] = base;
55
+ this.reverse[base] = index;
56
+ }
57
+ // complex string looks like
58
+ //
59
+ // <si>
60
+ // <r>
61
+ // <rPr>(...style data...)</rPr>
62
+ // <t>text part</t>
63
+ // </r>
64
+ // </si>
65
+ //
66
+ // where there can be multiple r tags with different styling.
67
+ // since we don't support that atm, let's drop style and just
68
+ // collect text.
69
+ else if (si.r) {
70
+ // not sure what happens if there are multiple <r/> tags
71
+ const r = EnsureArray(si.r)[0];
72
+ if (r) {
73
+ const parts = EnsureArray(r.t);
74
+ const composite = parts.map(part => part.$text || '').join('');
75
+ this.strings[index] = composite;
76
+ this.reverse[composite] = index;
77
+ }
78
+ }
79
+ else {
80
+ console.warn(` ** unexpected shared string @ ${index}`);
81
+ console.info(si);
82
+ }
83
+ index++;
84
+ });
85
+ }
86
+ /** return a string by index */
87
+ Get(index) {
88
+ return this.strings[index];
89
+ }
90
+ /** find existing string or insert, and return index */
91
+ Ensure(text) {
92
+ if (text[0] === '\'') {
93
+ text = text.substring(1);
94
+ }
95
+ let index = this.reverse[text];
96
+ if (typeof index === 'number') {
97
+ return index;
98
+ }
99
+ index = this.strings.length;
100
+ this.strings.push(text);
101
+ this.reverse[text] = index;
102
+ return index;
103
+ }
104
+ }
105
+ //# sourceMappingURL=shared-strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-strings.js","sourceRoot":"","sources":["../../../treb-export/src/shared-strings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,OAAO,aAAa;IAEjB,OAAO,GAAa,EAAE,CAAC;IACvB,OAAO,GAA2B,EAAE,CAAC;IAE5C,6EAA6E;IACtE,OAAO,CAAC,GAA4B;QAEzC,QAAQ;QAER,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YAEvB,2BAA2B;YAC3B,EAAE;YACF,OAAO;YACP,sBAAsB;YACtB,QAAQ;YAER,IAAI,EAAE,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAEvB,oEAAoE;gBACpE,sEAAsE;gBACtE,gBAAgB;gBAChB,EAAE;gBACF,OAAO;gBACP,gIAAgI;gBAChI,QAAQ;gBACR,EAAE;gBAEF,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;gBAAC,CAAC;qBACzC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;oBACpB,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBACpB,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAE7B,CAAC;YAED,4BAA4B;YAC5B,EAAE;YACF,OAAO;YACP,QAAQ;YACR,oCAAoC;YACpC,uBAAuB;YACvB,SAAS;YACT,QAAQ;YACR,EAAE;YACF,6DAA6D;YAC7D,6DAA6D;YAC7D,gBAAgB;iBAEX,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAEd,wDAAwD;gBAExD,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,EAAE,CAAC;oBACN,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC/D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;oBAChC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;gBAClC,CAAC;YAEH,CAAC;iBACI,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;gBACxD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;YAED,KAAK,EAAE,CAAC;QAEV,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,+BAA+B;IACxB,GAAG,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,uDAAuD;IAChD,MAAM,CAAC,IAAY;QAExB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC3B,OAAO,KAAK,CAAC;IAEf,CAAC;CAGF"}