@theerapat-s28/ts-structural-eng-tools 3.1.0 → 3.3.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 (324) hide show
  1. package/CHANGELOG.md +48 -1
  2. package/README.md +293 -131
  3. package/dist/core/constants/frame.constant.d.ts +8 -0
  4. package/dist/core/constants/frame.constant.js +9 -1
  5. package/dist/core/constants/frame.constant.js.map +1 -1
  6. package/dist/core/errors/fea.error.d.ts +47 -0
  7. package/dist/{esm/core/errors/frame-analysis.error.js → core/errors/fea.error.js} +14 -5
  8. package/dist/core/errors/fea.error.js.map +1 -0
  9. package/dist/core/index.d.ts +5 -3
  10. package/dist/core/index.js +10 -4
  11. package/dist/core/index.js.map +1 -1
  12. package/dist/esm/core/constants/frame.constant.js +8 -0
  13. package/dist/esm/core/constants/frame.constant.js.map +1 -1
  14. package/dist/{core/errors/frame-analysis.error.js → esm/core/errors/fea.error.js} +10 -9
  15. package/dist/esm/core/errors/fea.error.js.map +1 -0
  16. package/dist/esm/core/index.js +4 -2
  17. package/dist/esm/core/index.js.map +1 -1
  18. package/dist/esm/fea/analysis/index.js +7 -0
  19. package/dist/esm/fea/analysis/index.js.map +1 -0
  20. package/dist/esm/fea/{frame → analysis}/mesh/expand-model.js +30 -41
  21. package/dist/esm/fea/analysis/mesh/expand-model.js.map +1 -0
  22. package/dist/esm/fea/analysis/mesh/member-connectivity.js +66 -0
  23. package/dist/esm/fea/analysis/mesh/member-connectivity.js.map +1 -0
  24. package/dist/esm/fea/{frame → analysis}/post/demand-envelope.js +4 -4
  25. package/dist/esm/fea/analysis/post/demand-envelope.js.map +1 -0
  26. package/dist/esm/fea/analysis/post/envelope.js.map +1 -0
  27. package/dist/esm/fea/{frame → analysis}/post/present-state.js +6 -6
  28. package/dist/esm/fea/analysis/post/present-state.js.map +1 -0
  29. package/dist/esm/fea/{frame/solver/frame-system.js → analysis/solver/analysis-system.js} +17 -90
  30. package/dist/esm/fea/analysis/solver/analysis-system.js.map +1 -0
  31. package/dist/esm/fea/{frame/solver/analyze-frame.js → analysis/solver/analyze.js} +28 -18
  32. package/dist/esm/fea/analysis/solver/analyze.js.map +1 -0
  33. package/dist/esm/fea/{frame → analysis}/solver/combinations.js +8 -8
  34. package/dist/esm/fea/analysis/solver/combinations.js.map +1 -0
  35. package/dist/esm/fea/analysis/solver/distribute-area-loads.js +25 -0
  36. package/dist/esm/fea/analysis/solver/distribute-area-loads.js.map +1 -0
  37. package/dist/esm/fea/analysis/solver/load-case-solver.js +103 -0
  38. package/dist/esm/fea/analysis/solver/load-case-solver.js.map +1 -0
  39. package/dist/esm/fea/analysis/types/model.type.js +2 -0
  40. package/dist/esm/fea/analysis/types/model.type.js.map +1 -0
  41. package/dist/esm/fea/analysis/types/results.type.js +2 -0
  42. package/dist/esm/fea/analysis/types/results.type.js.map +1 -0
  43. package/dist/esm/fea/analysis/validation/validate-model.js +263 -0
  44. package/dist/esm/fea/analysis/validation/validate-model.js.map +1 -0
  45. package/dist/esm/fea/deprecated.js +9 -0
  46. package/dist/esm/fea/deprecated.js.map +1 -0
  47. package/dist/esm/fea/frame/area/{distribute-area-loads.js → area-member-loads.js} +7 -28
  48. package/dist/esm/fea/frame/area/area-member-loads.js.map +1 -0
  49. package/dist/esm/fea/frame/area/edge-members.js.map +1 -1
  50. package/dist/esm/fea/frame/elements/end-releases.js +2 -6
  51. package/dist/esm/fea/frame/elements/end-releases.js.map +1 -1
  52. package/dist/esm/fea/frame/elements/fixed-end-forces.js +5 -5
  53. package/dist/esm/fea/frame/elements/fixed-end-forces.js.map +1 -1
  54. package/dist/esm/fea/frame/elements/static-condensation.js +3 -3
  55. package/dist/esm/fea/frame/elements/static-condensation.js.map +1 -1
  56. package/dist/esm/fea/frame/index.js +1 -4
  57. package/dist/esm/fea/frame/index.js.map +1 -1
  58. package/dist/esm/fea/frame/post/member-diagram.js +4 -4
  59. package/dist/esm/fea/frame/post/member-diagram.js.map +1 -1
  60. package/dist/esm/fea/frame/solver/{global-assembly.js → member-assembly.js} +2 -10
  61. package/dist/esm/fea/frame/solver/member-assembly.js.map +1 -0
  62. package/dist/esm/fea/frame/solver/member-loads.js +141 -0
  63. package/dist/esm/fea/frame/solver/member-loads.js.map +1 -0
  64. package/dist/esm/fea/frame/solver/nodes-along-members.js +73 -0
  65. package/dist/esm/fea/frame/solver/nodes-along-members.js.map +1 -0
  66. package/dist/esm/fea/frame/solver/system-member.js +66 -0
  67. package/dist/esm/fea/frame/solver/system-member.js.map +1 -0
  68. package/dist/esm/fea/frame/transformation/coordinate-transform.js +3 -3
  69. package/dist/esm/fea/frame/transformation/coordinate-transform.js.map +1 -1
  70. package/dist/esm/fea/frame/validation/validate-members.js +164 -0
  71. package/dist/esm/fea/frame/validation/validate-members.js.map +1 -0
  72. package/dist/esm/fea/frame/validation/validate-null-areas.js +88 -0
  73. package/dist/esm/fea/frame/validation/validate-null-areas.js.map +1 -0
  74. package/dist/esm/fea/index.js +4 -1
  75. package/dist/esm/fea/index.js.map +1 -1
  76. package/dist/esm/fea/shared/index.js +2 -0
  77. package/dist/esm/fea/shared/index.js.map +1 -0
  78. package/dist/esm/fea/shared/solver/auto-restraint.js.map +1 -0
  79. package/dist/esm/fea/{frame → shared}/solver/boundary-conditions.js +5 -1
  80. package/dist/esm/fea/shared/solver/boundary-conditions.js.map +1 -0
  81. package/dist/esm/fea/shared/solver/global-assembly.js +10 -0
  82. package/dist/esm/fea/shared/solver/global-assembly.js.map +1 -0
  83. package/dist/esm/fea/shared/types/model.type.js +2 -0
  84. package/dist/esm/fea/shared/types/model.type.js.map +1 -0
  85. package/dist/esm/fea/shared/validation/issues.js +32 -0
  86. package/dist/esm/fea/shared/validation/issues.js.map +1 -0
  87. package/dist/esm/fea/{frame/elements/shell → shell/elements}/dkq-plate.js +1 -1
  88. package/dist/esm/fea/shell/elements/dkq-plate.js.map +1 -0
  89. package/dist/esm/fea/{frame/elements/shell → shell/elements}/flat-shell.js +1 -1
  90. package/dist/esm/fea/shell/elements/flat-shell.js.map +1 -0
  91. package/dist/esm/fea/{frame/elements/shell → shell/elements}/membrane-quad.js +2 -2
  92. package/dist/esm/fea/shell/elements/membrane-quad.js.map +1 -0
  93. package/dist/esm/fea/shell/elements/quad-geometry.js.map +1 -0
  94. package/dist/esm/fea/shell/elements/rigidity.js.map +1 -0
  95. package/dist/esm/fea/{frame/elements/shell → shell/elements}/shell-axes.js +1 -1
  96. package/dist/esm/fea/shell/elements/shell-axes.js.map +1 -0
  97. package/dist/esm/fea/shell/index.js +2 -0
  98. package/dist/esm/fea/shell/index.js.map +1 -0
  99. package/dist/esm/fea/{frame → shell}/mesh/mesh-shells.js +1 -1
  100. package/dist/esm/fea/shell/mesh/mesh-shells.js.map +1 -0
  101. package/dist/esm/fea/{frame → shell}/post/shell-forces.js +4 -4
  102. package/dist/esm/fea/{frame → shell}/post/shell-forces.js.map +1 -1
  103. package/dist/esm/fea/shell/solver/shell-loads.js +53 -0
  104. package/dist/esm/fea/shell/solver/shell-loads.js.map +1 -0
  105. package/dist/esm/fea/shell/solver/system-shell.js +37 -0
  106. package/dist/esm/fea/shell/solver/system-shell.js.map +1 -0
  107. package/dist/esm/fea/shell/types/model.type.js +2 -0
  108. package/dist/esm/fea/shell/types/model.type.js.map +1 -0
  109. package/dist/esm/fea/shell/types/results.type.js +2 -0
  110. package/dist/esm/fea/shell/types/results.type.js.map +1 -0
  111. package/dist/esm/fea/shell/validation/validate-shells.js +98 -0
  112. package/dist/esm/fea/shell/validation/validate-shells.js.map +1 -0
  113. package/dist/esm/index.js +5 -3
  114. package/dist/esm/index.js.map +1 -1
  115. package/dist/fea/analysis/index.d.ts +10 -0
  116. package/dist/fea/analysis/index.js +16 -0
  117. package/dist/fea/analysis/index.js.map +1 -0
  118. package/dist/fea/analysis/mesh/expand-model.d.ts +34 -0
  119. package/dist/fea/{frame → analysis}/mesh/expand-model.js +30 -41
  120. package/dist/fea/analysis/mesh/expand-model.js.map +1 -0
  121. package/dist/fea/analysis/mesh/member-connectivity.d.ts +43 -0
  122. package/dist/fea/analysis/mesh/member-connectivity.js +71 -0
  123. package/dist/fea/analysis/mesh/member-connectivity.js.map +1 -0
  124. package/dist/fea/{frame → analysis}/post/demand-envelope.d.ts +5 -5
  125. package/dist/fea/{frame → analysis}/post/demand-envelope.js +4 -4
  126. package/dist/fea/analysis/post/demand-envelope.js.map +1 -0
  127. package/dist/fea/{frame → analysis}/post/envelope.d.ts +2 -2
  128. package/dist/fea/analysis/post/envelope.js.map +1 -0
  129. package/dist/fea/analysis/post/present-state.d.ts +21 -0
  130. package/dist/fea/{frame → analysis}/post/present-state.js +7 -7
  131. package/dist/fea/analysis/post/present-state.js.map +1 -0
  132. package/dist/fea/analysis/solver/analysis-system.d.ts +46 -0
  133. package/dist/fea/{frame/solver/frame-system.js → analysis/solver/analysis-system.js} +22 -95
  134. package/dist/fea/analysis/solver/analysis-system.js.map +1 -0
  135. package/dist/fea/{frame/solver/analyze-frame.d.ts → analysis/solver/analyze.d.ts} +29 -20
  136. package/dist/fea/{frame/solver/analyze-frame.js → analysis/solver/analyze.js} +33 -23
  137. package/dist/fea/analysis/solver/analyze.js.map +1 -0
  138. package/dist/fea/{frame → analysis}/solver/combinations.d.ts +1 -1
  139. package/dist/fea/{frame → analysis}/solver/combinations.js +8 -8
  140. package/dist/fea/analysis/solver/combinations.js.map +1 -0
  141. package/dist/fea/{frame/area → analysis/solver}/distribute-area-loads.d.ts +6 -15
  142. package/dist/fea/analysis/solver/distribute-area-loads.js +29 -0
  143. package/dist/fea/analysis/solver/distribute-area-loads.js.map +1 -0
  144. package/dist/fea/{frame → analysis}/solver/load-case-solver.d.ts +9 -13
  145. package/dist/fea/analysis/solver/load-case-solver.js +108 -0
  146. package/dist/fea/analysis/solver/load-case-solver.js.map +1 -0
  147. package/dist/fea/analysis/types/model.type.d.ts +80 -0
  148. package/dist/fea/analysis/types/model.type.js +3 -0
  149. package/dist/fea/analysis/types/model.type.js.map +1 -0
  150. package/dist/fea/analysis/types/results.type.d.ts +123 -0
  151. package/dist/fea/analysis/types/results.type.js +3 -0
  152. package/dist/fea/analysis/types/results.type.js.map +1 -0
  153. package/dist/fea/analysis/validation/validate-model.d.ts +12 -0
  154. package/dist/fea/analysis/validation/validate-model.js +267 -0
  155. package/dist/fea/analysis/validation/validate-model.js.map +1 -0
  156. package/dist/fea/deprecated.d.ts +27 -0
  157. package/dist/fea/deprecated.js +12 -0
  158. package/dist/fea/deprecated.js.map +1 -0
  159. package/dist/fea/frame/area/area-member-loads.d.ts +19 -0
  160. package/dist/fea/frame/area/{distribute-area-loads.js → area-member-loads.js} +8 -30
  161. package/dist/fea/frame/area/area-member-loads.js.map +1 -0
  162. package/dist/fea/frame/area/edge-members.d.ts +5 -4
  163. package/dist/fea/frame/area/edge-members.js.map +1 -1
  164. package/dist/fea/frame/elements/end-releases.d.ts +1 -6
  165. package/dist/fea/frame/elements/end-releases.js +4 -8
  166. package/dist/fea/frame/elements/end-releases.js.map +1 -1
  167. package/dist/fea/frame/elements/fixed-end-forces.d.ts +1 -1
  168. package/dist/fea/frame/elements/fixed-end-forces.js +5 -5
  169. package/dist/fea/frame/elements/fixed-end-forces.js.map +1 -1
  170. package/dist/fea/frame/elements/static-condensation.d.ts +1 -1
  171. package/dist/fea/frame/elements/static-condensation.js +3 -3
  172. package/dist/fea/frame/elements/static-condensation.js.map +1 -1
  173. package/dist/fea/frame/index.d.ts +2 -8
  174. package/dist/fea/frame/index.js +2 -10
  175. package/dist/fea/frame/index.js.map +1 -1
  176. package/dist/fea/frame/post/member-diagram.d.ts +8 -8
  177. package/dist/fea/frame/post/member-diagram.js +4 -4
  178. package/dist/fea/frame/post/member-diagram.js.map +1 -1
  179. package/dist/fea/frame/solver/{global-assembly.d.ts → member-assembly.d.ts} +0 -11
  180. package/dist/fea/frame/solver/{global-assembly.js → member-assembly.js} +4 -13
  181. package/dist/fea/frame/solver/member-assembly.js.map +1 -0
  182. package/dist/fea/frame/solver/member-loads.d.ts +21 -0
  183. package/dist/fea/frame/solver/member-loads.js +146 -0
  184. package/dist/fea/frame/solver/member-loads.js.map +1 -0
  185. package/dist/fea/frame/solver/nodes-along-members.d.ts +31 -0
  186. package/dist/fea/frame/solver/nodes-along-members.js +77 -0
  187. package/dist/fea/frame/solver/nodes-along-members.js.map +1 -0
  188. package/dist/fea/frame/solver/system-member.d.ts +51 -0
  189. package/dist/fea/frame/solver/system-member.js +70 -0
  190. package/dist/fea/frame/solver/system-member.js.map +1 -0
  191. package/dist/fea/frame/transformation/coordinate-transform.d.ts +1 -1
  192. package/dist/fea/frame/transformation/coordinate-transform.js +3 -3
  193. package/dist/fea/frame/transformation/coordinate-transform.js.map +1 -1
  194. package/dist/fea/frame/types/model.type.d.ts +16 -175
  195. package/dist/fea/frame/types/results.type.d.ts +17 -152
  196. package/dist/fea/frame/validation/validate-members.d.ts +30 -0
  197. package/dist/fea/frame/validation/validate-members.js +169 -0
  198. package/dist/fea/frame/validation/validate-members.js.map +1 -0
  199. package/dist/fea/frame/validation/validate-null-areas.d.ts +38 -0
  200. package/dist/fea/frame/validation/validate-null-areas.js +93 -0
  201. package/dist/fea/frame/validation/validate-null-areas.js.map +1 -0
  202. package/dist/fea/index.d.ts +4 -0
  203. package/dist/fea/index.js +4 -1
  204. package/dist/fea/index.js.map +1 -1
  205. package/dist/fea/shared/index.d.ts +1 -0
  206. package/dist/fea/shared/index.js +3 -0
  207. package/dist/fea/shared/index.js.map +1 -0
  208. package/dist/fea/shared/solver/auto-restraint.js.map +1 -0
  209. package/dist/fea/{frame → shared}/solver/boundary-conditions.d.ts +5 -0
  210. package/dist/fea/{frame → shared}/solver/boundary-conditions.js +7 -3
  211. package/dist/fea/shared/solver/boundary-conditions.js.map +1 -0
  212. package/dist/fea/shared/solver/global-assembly.d.ts +12 -0
  213. package/dist/fea/shared/solver/global-assembly.js +14 -0
  214. package/dist/fea/shared/solver/global-assembly.js.map +1 -0
  215. package/dist/fea/shared/types/model.type.d.ts +34 -0
  216. package/dist/fea/shared/types/model.type.js +3 -0
  217. package/dist/fea/shared/types/model.type.js.map +1 -0
  218. package/dist/fea/shared/validation/issues.d.ts +9 -0
  219. package/dist/fea/shared/validation/issues.js +38 -0
  220. package/dist/fea/shared/validation/issues.js.map +1 -0
  221. package/dist/fea/{frame/elements/shell → shell/elements}/dkq-plate.d.ts +1 -1
  222. package/dist/fea/{frame/elements/shell → shell/elements}/dkq-plate.js +1 -1
  223. package/dist/fea/shell/elements/dkq-plate.js.map +1 -0
  224. package/dist/fea/{frame/elements/shell → shell/elements}/flat-shell.d.ts +1 -1
  225. package/dist/fea/{frame/elements/shell → shell/elements}/flat-shell.js +1 -1
  226. package/dist/fea/shell/elements/flat-shell.js.map +1 -0
  227. package/dist/fea/{frame/elements/shell → shell/elements}/membrane-quad.d.ts +1 -1
  228. package/dist/fea/{frame/elements/shell → shell/elements}/membrane-quad.js +2 -2
  229. package/dist/fea/shell/elements/membrane-quad.js.map +1 -0
  230. package/dist/fea/shell/elements/quad-geometry.js.map +1 -0
  231. package/dist/fea/{frame/elements/shell → shell/elements}/rigidity.d.ts +1 -1
  232. package/dist/fea/shell/elements/rigidity.js.map +1 -0
  233. package/dist/fea/{frame/elements/shell → shell/elements}/shell-axes.d.ts +1 -1
  234. package/dist/fea/{frame/elements/shell → shell/elements}/shell-axes.js +1 -1
  235. package/dist/fea/shell/elements/shell-axes.js.map +1 -0
  236. package/dist/fea/shell/index.d.ts +2 -0
  237. package/dist/fea/shell/index.js +3 -0
  238. package/dist/fea/shell/index.js.map +1 -0
  239. package/dist/fea/{frame → shell}/mesh/mesh-shells.d.ts +7 -6
  240. package/dist/fea/{frame → shell}/mesh/mesh-shells.js +1 -1
  241. package/dist/fea/shell/mesh/mesh-shells.js.map +1 -0
  242. package/dist/fea/{frame → shell}/post/shell-forces.d.ts +1 -1
  243. package/dist/fea/{frame → shell}/post/shell-forces.js +4 -4
  244. package/dist/fea/{frame → shell}/post/shell-forces.js.map +1 -1
  245. package/dist/fea/shell/solver/shell-loads.d.ts +17 -0
  246. package/dist/fea/shell/solver/shell-loads.js +57 -0
  247. package/dist/fea/shell/solver/shell-loads.js.map +1 -0
  248. package/dist/fea/shell/solver/system-shell.d.ts +29 -0
  249. package/dist/fea/shell/solver/system-shell.js +41 -0
  250. package/dist/fea/shell/solver/system-shell.js.map +1 -0
  251. package/dist/fea/shell/types/model.type.d.ts +57 -0
  252. package/dist/fea/shell/types/model.type.js +3 -0
  253. package/dist/fea/shell/types/model.type.js.map +1 -0
  254. package/dist/fea/shell/types/results.type.d.ts +47 -0
  255. package/dist/fea/shell/types/results.type.js +3 -0
  256. package/dist/fea/shell/types/results.type.js.map +1 -0
  257. package/dist/fea/shell/validation/validate-shells.d.ts +21 -0
  258. package/dist/fea/shell/validation/validate-shells.js +103 -0
  259. package/dist/fea/shell/validation/validate-shells.js.map +1 -0
  260. package/dist/index.d.ts +6 -4
  261. package/dist/index.js +16 -6
  262. package/dist/index.js.map +1 -1
  263. package/package.json +2 -2
  264. package/dist/core/errors/frame-analysis.error.d.ts +0 -37
  265. package/dist/core/errors/frame-analysis.error.js.map +0 -1
  266. package/dist/esm/core/errors/frame-analysis.error.js.map +0 -1
  267. package/dist/esm/fea/frame/area/distribute-area-loads.js.map +0 -1
  268. package/dist/esm/fea/frame/elements/shell/dkq-plate.js.map +0 -1
  269. package/dist/esm/fea/frame/elements/shell/flat-shell.js.map +0 -1
  270. package/dist/esm/fea/frame/elements/shell/membrane-quad.js.map +0 -1
  271. package/dist/esm/fea/frame/elements/shell/quad-geometry.js.map +0 -1
  272. package/dist/esm/fea/frame/elements/shell/rigidity.js.map +0 -1
  273. package/dist/esm/fea/frame/elements/shell/shell-axes.js.map +0 -1
  274. package/dist/esm/fea/frame/mesh/expand-model.js.map +0 -1
  275. package/dist/esm/fea/frame/mesh/mesh-shells.js.map +0 -1
  276. package/dist/esm/fea/frame/post/demand-envelope.js.map +0 -1
  277. package/dist/esm/fea/frame/post/envelope.js.map +0 -1
  278. package/dist/esm/fea/frame/post/present-state.js.map +0 -1
  279. package/dist/esm/fea/frame/solver/analyze-frame.js.map +0 -1
  280. package/dist/esm/fea/frame/solver/auto-restraint.js.map +0 -1
  281. package/dist/esm/fea/frame/solver/boundary-conditions.js.map +0 -1
  282. package/dist/esm/fea/frame/solver/combinations.js.map +0 -1
  283. package/dist/esm/fea/frame/solver/frame-system.js.map +0 -1
  284. package/dist/esm/fea/frame/solver/global-assembly.js.map +0 -1
  285. package/dist/esm/fea/frame/solver/load-case-solver.js +0 -255
  286. package/dist/esm/fea/frame/solver/load-case-solver.js.map +0 -1
  287. package/dist/esm/fea/frame/validation/validate-model.js +0 -529
  288. package/dist/esm/fea/frame/validation/validate-model.js.map +0 -1
  289. package/dist/fea/frame/area/distribute-area-loads.js.map +0 -1
  290. package/dist/fea/frame/elements/shell/dkq-plate.js.map +0 -1
  291. package/dist/fea/frame/elements/shell/flat-shell.js.map +0 -1
  292. package/dist/fea/frame/elements/shell/membrane-quad.js.map +0 -1
  293. package/dist/fea/frame/elements/shell/quad-geometry.js.map +0 -1
  294. package/dist/fea/frame/elements/shell/rigidity.js.map +0 -1
  295. package/dist/fea/frame/elements/shell/shell-axes.js.map +0 -1
  296. package/dist/fea/frame/mesh/expand-model.d.ts +0 -29
  297. package/dist/fea/frame/mesh/expand-model.js.map +0 -1
  298. package/dist/fea/frame/mesh/mesh-shells.js.map +0 -1
  299. package/dist/fea/frame/post/demand-envelope.js.map +0 -1
  300. package/dist/fea/frame/post/envelope.js.map +0 -1
  301. package/dist/fea/frame/post/present-state.d.ts +0 -20
  302. package/dist/fea/frame/post/present-state.js.map +0 -1
  303. package/dist/fea/frame/solver/analyze-frame.js.map +0 -1
  304. package/dist/fea/frame/solver/auto-restraint.js.map +0 -1
  305. package/dist/fea/frame/solver/boundary-conditions.js.map +0 -1
  306. package/dist/fea/frame/solver/combinations.js.map +0 -1
  307. package/dist/fea/frame/solver/frame-system.d.ts +0 -89
  308. package/dist/fea/frame/solver/frame-system.js.map +0 -1
  309. package/dist/fea/frame/solver/global-assembly.js.map +0 -1
  310. package/dist/fea/frame/solver/load-case-solver.js +0 -260
  311. package/dist/fea/frame/solver/load-case-solver.js.map +0 -1
  312. package/dist/fea/frame/validation/validate-model.d.ts +0 -19
  313. package/dist/fea/frame/validation/validate-model.js +0 -535
  314. package/dist/fea/frame/validation/validate-model.js.map +0 -1
  315. /package/dist/esm/fea/{frame → analysis}/post/envelope.js +0 -0
  316. /package/dist/esm/fea/{frame → shared}/solver/auto-restraint.js +0 -0
  317. /package/dist/esm/fea/{frame/elements/shell → shell/elements}/quad-geometry.js +0 -0
  318. /package/dist/esm/fea/{frame/elements/shell → shell/elements}/rigidity.js +0 -0
  319. /package/dist/fea/{frame → analysis}/post/envelope.js +0 -0
  320. /package/dist/fea/{frame → shared}/solver/auto-restraint.d.ts +0 -0
  321. /package/dist/fea/{frame → shared}/solver/auto-restraint.js +0 -0
  322. /package/dist/fea/{frame/elements/shell → shell/elements}/quad-geometry.d.ts +0 -0
  323. /package/dist/fea/{frame/elements/shell → shell/elements}/quad-geometry.js +0 -0
  324. /package/dist/fea/{frame/elements/shell → shell/elements}/rigidity.js +0 -0
@@ -33,6 +33,6 @@ export interface CondensedMember {
33
33
  *
34
34
  * @param k - 12×12 local stiffness (right-hand), N and mm
35
35
  * @param releases - Released local DOFs (0–11) with their springs, N/mm or N·mm/rad
36
- * @throws {FrameAnalysisError} 307 if the full releases make the member a mechanism
36
+ * @throws {FeaError} 307 if the full releases make the member a mechanism
37
37
  */
38
38
  export declare const condenseMember: (k: Matrix, releases: EndReleaseDof[]) => CondensedMember;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.condenseMember = void 0;
4
- const frame_analysis_error_1 = require("../../../core/errors/frame-analysis.error");
4
+ const fea_error_1 = require("../../../core/errors/fea.error");
5
5
  const matrix_1 = require("../../../utils/matrix");
6
6
  /**
7
7
  * Condenses released local DOFs out of a member. Each released DOF r splits into a member-side
@@ -22,7 +22,7 @@ const matrix_1 = require("../../../utils/matrix");
22
22
  *
23
23
  * @param k - 12×12 local stiffness (right-hand), N and mm
24
24
  * @param releases - Released local DOFs (0–11) with their springs, N/mm or N·mm/rad
25
- * @throws {FrameAnalysisError} 307 if the full releases make the member a mechanism
25
+ * @throws {FeaError} 307 if the full releases make the member a mechanism
26
26
  */
27
27
  const condenseMember = (k, releases) => {
28
28
  if (releases.length === 0) {
@@ -48,7 +48,7 @@ const condenseMember = (k, releases) => {
48
48
  const rhs = released.map((_, i) => [...krc[i], ...krr[i], ...released.map((__, j) => (i === j ? 1 : 0))].map((v) => d[i] * v));
49
49
  const scaledSolution = (0, matrix_1.solveLinearSystem)(scaledA, rhs);
50
50
  if (!scaledSolution)
51
- throw new frame_analysis_error_1.FrameAnalysisError(frame_analysis_error_1.FrameErrors.INVALID_RELEASE);
51
+ throw new fea_error_1.FeaError(fea_error_1.FeaErrors.INVALID_RELEASE);
52
52
  const solved = scaledSolution.map((row, i) => row.map((v) => d[i] * v));
53
53
  const AinvKrc = solved.map((row) => row.slice(0, nc));
54
54
  const AinvKrr = solved.map((row) => row.slice(nc, nc + nr));
@@ -1 +1 @@
1
- {"version":3,"file":"static-condensation.js","sourceRoot":"","sources":["../../../../src/fea/frame/elements/static-condensation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static-condensation.js","sourceRoot":"","sources":["../../../../src/fea/frame/elements/static-condensation.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,4 @@
1
- export { analyzeFrame, createFrameAnalysis } from "./solver/analyze-frame";
2
- export type { AnalyzeFrameOptions, FrameAnalysis } from "./solver/analyze-frame";
3
- export { validateFrameModel } from "./validation/validate-model";
4
- export { distributeAreaLoads } from "./area/distribute-area-loads";
5
1
  export { beam3dLocalStiffness, beam3dLocalStiffnessRightHanded, } from "./elements/beam-3d-stiffness";
6
2
  export { memberAxes } from "./transformation/coordinate-transform";
7
- export { memberDemandEnvelope } from "./post/demand-envelope";
8
- export type { MemberDemandEnvelope, DemandEnvelopeOptions } from "./post/demand-envelope";
9
- export type { FrameId, FrameNode, DofRestraint, Restraint, LineRestraint, DofRelease, MemberEndRelease, Member, NodalLoad, LoadDirection, UniformMemberLoad, PointMemberLoad, TrapezoidalMemberLoad, TorqueMemberLoad, MemberLoad, AreaDistribution, NullArea, ShellType, ShellSection, ShellModifiers, ShellArea, ShellMesh, AreaLoadDirection, AreaLoad, LoadCaseType, LoadCase, CombinationTerm, LoadCombination, FrameModel, } from "./types/model.type";
10
- export type { NodalDisplacement, NodalReaction, MemberEndForce, MemberEndForces, ReleaseDeformation, MemberReleaseDeformations, AutoRestrainedDof, MemberStation, StationComponent, ExtremeValue, MemberDiagram, ShellCornerForces, ShellForceComponent, ShellElementForces, FrameMesh, GoverningValue, GoverningExtremeValue, Bound, FrameCaseResult, FrameEnvelope, FrameResult, } from "./types/results.type";
3
+ export type { DofRelease, MemberEndRelease, Member, LoadDirection, UniformMemberLoad, PointMemberLoad, TrapezoidalMemberLoad, TorqueMemberLoad, MemberLoad, AreaDistribution, NullArea, } from "./types/model.type";
4
+ export type { MemberEndForce, MemberEndForces, ReleaseDeformation, MemberReleaseDeformations, MemberStation, StationComponent, ExtremeValue, MemberDiagram, MemberIntermediateNode, MemberNearMissNode, } from "./types/results.type";
@@ -1,18 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.memberDemandEnvelope = exports.memberAxes = exports.beam3dLocalStiffnessRightHanded = exports.beam3dLocalStiffness = exports.distributeAreaLoads = exports.validateFrameModel = exports.createFrameAnalysis = exports.analyzeFrame = void 0;
4
- var analyze_frame_1 = require("./solver/analyze-frame");
5
- Object.defineProperty(exports, "analyzeFrame", { enumerable: true, get: function () { return analyze_frame_1.analyzeFrame; } });
6
- Object.defineProperty(exports, "createFrameAnalysis", { enumerable: true, get: function () { return analyze_frame_1.createFrameAnalysis; } });
7
- var validate_model_1 = require("./validation/validate-model");
8
- Object.defineProperty(exports, "validateFrameModel", { enumerable: true, get: function () { return validate_model_1.validateFrameModel; } });
9
- var distribute_area_loads_1 = require("./area/distribute-area-loads");
10
- Object.defineProperty(exports, "distributeAreaLoads", { enumerable: true, get: function () { return distribute_area_loads_1.distributeAreaLoads; } });
3
+ exports.memberAxes = exports.beam3dLocalStiffnessRightHanded = exports.beam3dLocalStiffness = void 0;
4
+ // Frame members and null areas
11
5
  var beam_3d_stiffness_1 = require("./elements/beam-3d-stiffness");
12
6
  Object.defineProperty(exports, "beam3dLocalStiffness", { enumerable: true, get: function () { return beam_3d_stiffness_1.beam3dLocalStiffness; } });
13
7
  Object.defineProperty(exports, "beam3dLocalStiffnessRightHanded", { enumerable: true, get: function () { return beam_3d_stiffness_1.beam3dLocalStiffnessRightHanded; } });
14
8
  var coordinate_transform_1 = require("./transformation/coordinate-transform");
15
9
  Object.defineProperty(exports, "memberAxes", { enumerable: true, get: function () { return coordinate_transform_1.memberAxes; } });
16
- var demand_envelope_1 = require("./post/demand-envelope");
17
- Object.defineProperty(exports, "memberDemandEnvelope", { enumerable: true, get: function () { return demand_envelope_1.memberDemandEnvelope; } });
18
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fea/frame/index.ts"],"names":[],"mappings":";;;AAAA,wDAA2E;AAAlE,6GAAA,YAAY,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAE1C,8DAAiE;AAAxD,oHAAA,kBAAkB,OAAA;AAC3B,sEAAmE;AAA1D,4HAAA,mBAAmB,OAAA;AAC5B,kEAGsC;AAFpC,yHAAA,oBAAoB,OAAA;AACpB,oIAAA,+BAA+B,OAAA;AAEjC,8EAAmE;AAA1D,kHAAA,UAAU,OAAA;AACnB,0DAA8D;AAArD,uHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fea/frame/index.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,kEAGsC;AAFpC,yHAAA,oBAAoB,OAAA;AACpB,oIAAA,+BAA+B,OAAA;AAEjC,8EAAmE;AAA1D,kHAAA,UAAU,OAAA"}
@@ -1,11 +1,11 @@
1
1
  import type { SectionProperties } from "../../../core/types/section-properties.type";
2
+ import type { FeaId } from "../../shared/types/model.type";
2
3
  import type { Matrix } from "../../../utils/matrix";
3
4
  import type { LocalMemberLoad } from "../elements/fixed-end-forces";
4
- import type { FrameId } from "../types/model.type";
5
5
  import type { MemberDiagram } from "../types/results.type";
6
6
  /** The member data a diagram needs. */
7
7
  export interface DiagramMember {
8
- id: FrameId;
8
+ id: FeaId;
9
9
  length: number;
10
10
  section: Pick<SectionProperties, "E" | "A" | "I22" | "I33">;
11
11
  lambda: Matrix;
@@ -25,7 +25,7 @@ export interface DiagramMember {
25
25
  * @param stationPositions - Stations to use instead of the evenly spaced ones (mm from the start)
26
26
  */
27
27
  export declare const memberDiagram: (member: DiagramMember, startForce: number[], endDisplacements: number[], loads: LocalMemberLoad[], stationCount?: number, withStations?: boolean, stationPositions?: number[]) => MemberDiagram;
28
- /** One piece of a member split by shell-mesh nodes, with what its diagram needs. */
28
+ /** One piece of a member split at nodes inside it, with what its diagram needs. */
29
29
  export interface DiagramPiece {
30
30
  member: DiagramMember;
31
31
  offset: number;
@@ -34,13 +34,13 @@ export interface DiagramPiece {
34
34
  loads: LocalMemberLoad[];
35
35
  }
36
36
  /**
37
- * The diagram of a member analysed as several pieces (split where shell-mesh nodes lie inside
38
- * it), stitched along its full length. The evenly spaced stations are taken along the whole
39
- * member and each is evaluated in the piece it falls in; at a piece end where the shells
40
- * deliver a force, both sides are reported, as at a point load. Extremes are the extremes of
37
+ * The diagram of a member analysed as several pieces (split where model or shell-mesh nodes lie
38
+ * inside it), stitched along its full length. The evenly spaced stations are taken along the
39
+ * whole member and each is evaluated in the piece it falls in; at a piece end where a framing
40
+ * member, a support or the shells deliver a force, both sides are reported, as at a point load. Extremes are the extremes of
41
41
  * the pieces.
42
42
  *
43
43
  * @param id - The member's id
44
44
  * @param length - The member's length (mm)
45
45
  */
46
- export declare const chainDiagram: (id: FrameId, length: number, pieces: DiagramPiece[], stationCount?: number, withStations?: boolean) => MemberDiagram;
46
+ export declare const chainDiagram: (id: FeaId, length: number, pieces: DiagramPiece[], stationCount?: number, withStations?: boolean) => MemberDiagram;
@@ -356,10 +356,10 @@ const memberDiagram = (member, startForce, endDisplacements, loads, stationCount
356
356
  };
357
357
  exports.memberDiagram = memberDiagram;
358
358
  /**
359
- * The diagram of a member analysed as several pieces (split where shell-mesh nodes lie inside
360
- * it), stitched along its full length. The evenly spaced stations are taken along the whole
361
- * member and each is evaluated in the piece it falls in; at a piece end where the shells
362
- * deliver a force, both sides are reported, as at a point load. Extremes are the extremes of
359
+ * The diagram of a member analysed as several pieces (split where model or shell-mesh nodes lie
360
+ * inside it), stitched along its full length. The evenly spaced stations are taken along the
361
+ * whole member and each is evaluated in the piece it falls in; at a piece end where a framing
362
+ * member, a support or the shells deliver a force, both sides are reported, as at a point load. Extremes are the extremes of
363
363
  * the pieces.
364
364
  *
365
365
  * @param id - The member's id
@@ -1 +1 @@
1
- {"version":3,"file":"member-diagram.js","sourceRoot":"","sources":["../../../../src/fea/frame/post/member-diagram.ts"],"names":[],"mappings":";;;AACA,0CAAuD;AAiBvD,MAAM,gBAAgB,GAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9E,MAAM,uBAAuB,GAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5E,MAAM,UAAU,GAAuB,CAAC,GAAG,gBAAgB,EAAE,GAAG,uBAAuB,CAAC,CAAC;AACzF,+FAA+F;AAC/F,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,kGAAkG;AAClG,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACtC,+DAA+D;AAC/D,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/D,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAYhC;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,CACrB,UAAoB,EACpB,KAAwB,EACxB,CAAS,EACT,IAAU,EACF,EAAE;IACV,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;IAC5C,kGAAkG;IAClG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;gBAAE,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,QAAQ,EAAE,CAAC;gBACb,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnB,0EAA0E;gBAC1E,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACzB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO;QACL,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;QACX,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;KACxB,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,mBAAmB,GAAG,CAC1B,MAAqB,EACrB,UAAoB,EACpB,gBAA0B,EAC1B,KAAwB,EACxB,IAAc,EACiD,EAAE;IACjE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IAEtB,+DAA+D;IAC/D,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE;QAC/B,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC;IACF,4FAA4F;IAC5F,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAY,EAAE;QAC/C,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAAE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC;IAC9C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAEnB,+FAA+F;IAC/F,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,EAAU,EAAE,EAAE;QACzD,MAAM,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IACpE,CAAC,CAAC;IAEF,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;IACjD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;IACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,EAAE,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;KACpC,CAAC,CAAC,CAAC;IAEJ,6EAA6E;IAC7E,MAAM,EAAE,GAAG,CAAC,CAAS,EAAiB,EAAE;QACtC,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,EAAE,GAAG,GAAG,CAAC;;gBACxB,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO;YACL,EAAE,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAChD,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,KAAK,GAAqC;IAC9C,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;CACN,CAAC;AACF,MAAM,OAAO,GAAG,CAAC,CAAmB,EAAE,KAAa,EAAE,EAAE,CACrD,IAAA,2BAAoB,EAClB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAChB,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAChF,GAAG,CAAC,CAAC;AAER;;;;;;;;;;;;;GAaG;AACI,MAAM,aAAa,GAAG,CAC3B,MAAqB,EACrB,UAAoB,EACpB,gBAA0B,EAC1B,KAAwB,EACxB,YAAY,GAAG,EAAE,EACjB,YAAY,GAAG,IAAI,EACnB,gBAA2B,EACZ,EAAE;IACjB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;IAC3B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC9C,CAAC;YACJ,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAErF,iFAAiF;IACjF,MAAM,WAAW,GAAG,CAAC,MAAgB,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,MAAM;YACpB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,6FAA6F;IAC7F,2FAA2F;IAC3F,oFAAoF;IACpF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/E,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAU,EAAE,CAAC;YAC7C,sCAAsC;YACtC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;YAC3C,IAAI,MAAM;gBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,GAAG,KAAK,GAAG;gBAAE,SAAS;YAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK;oBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;oBACd,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,EAAE,MAAM,EAAE,yBAAyB,GAAG,CAAC,EAAE,EACzC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,yBAAyB,CAC9C,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,YAAY;QAC1B,CAAC,CAAC,CAAC,gBAAgB,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,EAAE,CAAC;IACP,4FAA4F;IAC5F,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;IACnC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE;QAC9B,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS;gBAAE,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;;gBACvC,EAAE,GAAG,GAAG,CAAC;QAChB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,oFAAoF;IACpF,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAgB,EAAiB,EAAE;YAC1E,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,IAAA,2BAAoB,EAAC,CAAC,EAAE,CAAC,CAAC,EAAmB,CAAC;YACnE,KAAK,MAAM,CAAC,IAAI,gBAAgB;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,KAAK,MAAM,CAAC,IAAI,uBAAuB;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,kDAAkD;YAClD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,EAAE,GAAG,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO,CAAC,EAAE,GAAG,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO,CAAC,EAAE,GAAG,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QACvE,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC1D,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;oBACtE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,0FAA0F;IAC1F,6FAA6F;IAC7F,4BAA4B;IAC5B,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,EAA+B,CAAC;IACjD,MAAM,IAAI,GAAG,EAGZ,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,CAAmB,EAAE,KAAa,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE;QAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC;YACJ,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,MAAM,KAAK,GAAW,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACnF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACrD,KAAK,MAAM,CAAC,IAAI,gBAAgB;gBAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,uBAAuB;YAAE,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,CAAwB,EAAE,CAAS,EAAE,IAAY,EAAoB,EAAE;QACrF,uDAAuD;QACvD,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QACnB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;YAC/C,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;gBACZ,CAAC,GAAG,EAAE,CAAC;gBACP,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1B,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,CAAC,GAAG,EAAE,CAAC;gBACP,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1B,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,uBAAuB,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAA2B,EAAgB,EAAE,CAAC,CAAC;YACpE,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC;YACxB,CAAC,EAAE,IAAA,2BAAoB,EAAC,CAAC,EAAE,CAAC,CAAC;SAC9B,CAAC,CAAC;QACH,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChE,CAAC,CAAC;AA1LW,QAAA,aAAa,iBA0LxB;AAWF;;;;;;;;;GASG;AACI,MAAM,YAAY,GAAG,CAC1B,EAAW,EACX,MAAc,EACd,MAAsB,EACtB,YAAY,GAAG,EAAE,EACjB,YAAY,GAAG,IAAI,EACJ,EAAE;IACjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACpC,IAAA,qBAAa,EACX,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,KAAK,EACX,KAAK,EACL,YAAY,EACZ,KAAK;SACF,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CACvF;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAC5E,CACF,CAAC;IAEF,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;QAC9B,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;YACzF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/C,yEAAyE;YACzE,MAAM,IAAI,GACR,QAAQ,KAAK,SAAS;gBACtB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;gBACvC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,EAA+B,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAe,EAAgB,EAAE,CAAC,CAAC;YAC3D,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,CAAC,EAAE,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SACnD,CAAC,CAAC;QACH,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;gBAAE,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3E,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;gBAAE,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC,CAAC;AAzDW,QAAA,YAAY,gBAyDvB"}
1
+ {"version":3,"file":"member-diagram.js","sourceRoot":"","sources":["../../../../src/fea/frame/post/member-diagram.ts"],"names":[],"mappings":";;;AAEA,0CAAuD;AAgBvD,MAAM,gBAAgB,GAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9E,MAAM,uBAAuB,GAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5E,MAAM,UAAU,GAAuB,CAAC,GAAG,gBAAgB,EAAE,GAAG,uBAAuB,CAAC,CAAC;AACzF,+FAA+F;AAC/F,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,kGAAkG;AAClG,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACtC,+DAA+D;AAC/D,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/D,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAYhC;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,CACrB,UAAoB,EACpB,KAAwB,EACxB,CAAS,EACT,IAAU,EACF,EAAE;IACV,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;IAC5C,kGAAkG;IAClG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;gBAAE,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,QAAQ,EAAE,CAAC;gBACb,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnB,0EAA0E;gBAC1E,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACzB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO;QACL,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;QACX,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;KACxB,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,mBAAmB,GAAG,CAC1B,MAAqB,EACrB,UAAoB,EACpB,gBAA0B,EAC1B,KAAwB,EACxB,IAAc,EACiD,EAAE;IACjE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IAEtB,+DAA+D;IAC/D,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE;QAC/B,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC;IACF,4FAA4F;IAC5F,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAY,EAAE;QAC/C,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAAE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC;IAC9C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAEnB,+FAA+F;IAC/F,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,EAAU,EAAE,EAAE;QACzD,MAAM,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IACpE,CAAC,CAAC;IAEF,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;IACjD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;IACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,EAAE,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;KACpC,CAAC,CAAC,CAAC;IAEJ,6EAA6E;IAC7E,MAAM,EAAE,GAAG,CAAC,CAAS,EAAiB,EAAE;QACtC,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,EAAE,GAAG,GAAG,CAAC;;gBACxB,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO;YACL,EAAE,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAChD,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,KAAK,GAAqC;IAC9C,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;CACN,CAAC;AACF,MAAM,OAAO,GAAG,CAAC,CAAmB,EAAE,KAAa,EAAE,EAAE,CACrD,IAAA,2BAAoB,EAClB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAChB,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAChF,GAAG,CAAC,CAAC;AAER;;;;;;;;;;;;;GAaG;AACI,MAAM,aAAa,GAAG,CAC3B,MAAqB,EACrB,UAAoB,EACpB,gBAA0B,EAC1B,KAAwB,EACxB,YAAY,GAAG,EAAE,EACjB,YAAY,GAAG,IAAI,EACnB,gBAA2B,EACZ,EAAE;IACjB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;IAC3B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC9C,CAAC;YACJ,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAErF,iFAAiF;IACjF,MAAM,WAAW,GAAG,CAAC,MAAgB,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,MAAM;YACpB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,6FAA6F;IAC7F,2FAA2F;IAC3F,oFAAoF;IACpF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/E,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAU,EAAE,CAAC;YAC7C,sCAAsC;YACtC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;YAC3C,IAAI,MAAM;gBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,GAAG,KAAK,GAAG;gBAAE,SAAS;YAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK;oBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;oBACd,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,EAAE,MAAM,EAAE,yBAAyB,GAAG,CAAC,EAAE,EACzC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,yBAAyB,CAC9C,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,YAAY;QAC1B,CAAC,CAAC,CAAC,gBAAgB,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,EAAE,CAAC;IACP,4FAA4F;IAC5F,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;IACnC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE;QAC9B,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS;gBAAE,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;;gBACvC,EAAE,GAAG,GAAG,CAAC;QAChB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,oFAAoF;IACpF,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAgB,EAAiB,EAAE;YAC1E,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,IAAA,2BAAoB,EAAC,CAAC,EAAE,CAAC,CAAC,EAAmB,CAAC;YACnE,KAAK,MAAM,CAAC,IAAI,gBAAgB;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,KAAK,MAAM,CAAC,IAAI,uBAAuB;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,kDAAkD;YAClD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,EAAE,GAAG,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO,CAAC,EAAE,GAAG,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO,CAAC,EAAE,GAAG,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QACvE,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC1D,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;oBACtE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,0FAA0F;IAC1F,6FAA6F;IAC7F,4BAA4B;IAC5B,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,EAA+B,CAAC;IACjD,MAAM,IAAI,GAAG,EAGZ,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,CAAmB,EAAE,KAAa,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE;QAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC;YACJ,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,MAAM,KAAK,GAAW,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACnF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACrD,KAAK,MAAM,CAAC,IAAI,gBAAgB;gBAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,uBAAuB;YAAE,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,CAAwB,EAAE,CAAS,EAAE,IAAY,EAAoB,EAAE;QACrF,uDAAuD;QACvD,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QACnB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;YAC/C,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;gBACZ,CAAC,GAAG,EAAE,CAAC;gBACP,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1B,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,CAAC,GAAG,EAAE,CAAC;gBACP,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1B,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,uBAAuB,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAA2B,EAAgB,EAAE,CAAC,CAAC;YACpE,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC;YACxB,CAAC,EAAE,IAAA,2BAAoB,EAAC,CAAC,EAAE,CAAC,CAAC;SAC9B,CAAC,CAAC;QACH,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChE,CAAC,CAAC;AA1LW,QAAA,aAAa,iBA0LxB;AAWF;;;;;;;;;GASG;AACI,MAAM,YAAY,GAAG,CAC1B,EAAS,EACT,MAAc,EACd,MAAsB,EACtB,YAAY,GAAG,EAAE,EACjB,YAAY,GAAG,IAAI,EACJ,EAAE;IACjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACpC,IAAA,qBAAa,EACX,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,KAAK,EACX,KAAK,EACL,YAAY,EACZ,KAAK;SACF,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CACvF;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAC5E,CACF,CAAC;IAEF,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;QAC9B,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;YACzF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/C,yEAAyE;YACzE,MAAM,IAAI,GACR,QAAQ,KAAK,SAAS;gBACtB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;gBACvC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,EAA+B,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAe,EAAgB,EAAE,CAAC,CAAC;YAC3D,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,CAAC,EAAE,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SACnD,CAAC,CAAC;QACH,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;gBAAE,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3E,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;gBAAE,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC,CAAC;AAzDW,QAAA,YAAY,gBAyDvB"}
@@ -1,21 +1,10 @@
1
1
  import { type Matrix } from "../../../utils/matrix";
2
- /**
3
- * A stiffness contribution to the global system: the nodes it connects and its stiffness over
4
- * their DOFs (6 per node, in node order) in global axes. A member is a 2-node element; elements
5
- * with more nodes assemble the same way.
6
- */
7
- export interface StiffnessElement {
8
- nodes: number[];
9
- kGlobal: Matrix;
10
- }
11
2
  export interface AssemblyMember {
12
3
  startIndex: number;
13
4
  endIndex: number;
14
5
  T: Matrix;
15
6
  k: Matrix;
16
7
  }
17
- /** Global DOF numbers (6 per node, in node order) of an element connecting `nodes`. */
18
- export declare const elementDofs: (nodes: readonly number[]) => number[];
19
8
  /** Global DOF numbers (6 per node) of a member's 12 end DOFs. */
20
9
  export declare const memberDofs: (member: Pick<AssemblyMember, "startIndex" | "endIndex">) => number[];
21
10
  /** A member's stiffness in global axes, `Tᵀ·k·T` (N and mm). */
@@ -1,19 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.scatterMemberForces = exports.memberGlobalStiffness = exports.memberDofs = exports.elementDofs = void 0;
3
+ exports.scatterMemberForces = exports.memberGlobalStiffness = exports.memberDofs = void 0;
4
+ const global_assembly_1 = require("../../shared/solver/global-assembly");
4
5
  const matrix_1 = require("../../../utils/matrix");
5
- /** Global DOF numbers (6 per node, in node order) of an element connecting `nodes`. */
6
- const elementDofs = (nodes) => {
7
- const dofs = [];
8
- for (const node of nodes) {
9
- for (let k = 0; k < 6; k++)
10
- dofs.push(6 * node + k);
11
- }
12
- return dofs;
13
- };
14
- exports.elementDofs = elementDofs;
15
6
  /** Global DOF numbers (6 per node) of a member's 12 end DOFs. */
16
- const memberDofs = (member) => (0, exports.elementDofs)([member.startIndex, member.endIndex]);
7
+ const memberDofs = (member) => (0, global_assembly_1.elementDofs)([member.startIndex, member.endIndex]);
17
8
  exports.memberDofs = memberDofs;
18
9
  /** A member's stiffness in global axes, `Tᵀ·k·T` (N and mm). */
19
10
  const memberGlobalStiffness = (member) => (0, matrix_1.matMul)((0, matrix_1.transpose)(member.T), (0, matrix_1.matMul)(member.k, member.T));
@@ -33,4 +24,4 @@ const scatterMemberForces = (target, member, localForces, sign) => {
33
24
  }
34
25
  };
35
26
  exports.scatterMemberForces = scatterMemberForces;
36
- //# sourceMappingURL=global-assembly.js.map
27
+ //# sourceMappingURL=member-assembly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-assembly.js","sourceRoot":"","sources":["../../../../src/fea/frame/solver/member-assembly.ts"],"names":[],"mappings":";;;AAAA,4EAAqE;AACrE,8CAAmE;AASnE,iEAAiE;AAC1D,MAAM,UAAU,GAAG,CAAC,MAAuD,EAAY,EAAE,CAC9F,IAAA,6BAAW,EAAC,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AADvC,QAAA,UAAU,cAC6B;AAEpD,gEAAgE;AACzD,MAAM,qBAAqB,GAAG,CAAC,MAAsB,EAAU,EAAE,CACtE,IAAA,eAAM,EAAC,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAD7C,QAAA,qBAAqB,yBACwB;AAE1D;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CACjC,MAAgB,EAChB,MAA6D,EAC7D,WAAqB,EACrB,IAAY,EACN,EAAE;IACR,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC;IAClC,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,mBAAmB,uBAY9B"}
@@ -0,0 +1,21 @@
1
+ import type { FeaId } from "../../shared/types/model.type";
2
+ import { type LocalMemberLoad } from "../elements/fixed-end-forces";
3
+ import type { MemberLoad } from "../types/model.type";
4
+ import type { MemberGroup, SystemMember } from "./system-member";
5
+ /**
6
+ * The local loads (N and mm) on every member piece in one load case: each member load, and the
7
+ * self-weight `selfWeight · unitWeight · A` per unit length along global −Z, resolved in the
8
+ * whole member's local axes, then cut at its pieces.
9
+ *
10
+ * @param groups - Model members and the pieces each is analysed as
11
+ * @param pieces - Every member piece
12
+ * @param memberIndex - Index into `groups` of each member id
13
+ * @param loads - The load case's member loads
14
+ * @param loadCaseId - The load case, which tags the self-weight load
15
+ * @param selfWeight - The load case's self-weight multiplier
16
+ * @returns The local loads of each piece, in the order of `pieces`
17
+ * @throws {FeaError} 313 if self-weight is requested for a member without `unitWeight`
18
+ */
19
+ export declare const memberPieceLoads: (groups: MemberGroup[], pieces: SystemMember[], memberIndex: Map<FeaId, number>, loads: MemberLoad[], loadCaseId: string, selfWeight: number) => LocalMemberLoad[][];
20
+ /** A local member load scaled by `factor`, e.g. for a load combination. */
21
+ export declare const scaleMemberLoad: (load: LocalMemberLoad, factor: number) => LocalMemberLoad;
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.scaleMemberLoad = exports.memberPieceLoads = void 0;
4
+ const fea_error_1 = require("../../../core/errors/fea.error");
5
+ const fixed_end_forces_1 = require("../elements/fixed-end-forces");
6
+ const GLOBAL_DIRECTIONS = {
7
+ X: [1, 0, 0],
8
+ Y: [0, 1, 0],
9
+ Z: [0, 0, 1],
10
+ };
11
+ /** Resolves a member load into local-axis loads in N and mm. */
12
+ const toLocalLoads = (load, lambda, L) => {
13
+ const components = (direction) => {
14
+ if (direction === "1" || direction === "2" || direction === "3") {
15
+ return [{ axis: Number(direction), factor: 1 }];
16
+ }
17
+ const v = GLOBAL_DIRECTIONS[direction];
18
+ return [1, 2, 3]
19
+ .map((axis) => ({
20
+ axis,
21
+ factor: lambda[axis - 1][0] * v[0] + lambda[axis - 1][1] * v[1] + lambda[axis - 1][2] * v[2],
22
+ }))
23
+ .filter((c) => Math.abs(c.factor) > 1e-12);
24
+ };
25
+ if (load.type === "torque") {
26
+ // kN·m/m = 10³ N·mm/mm
27
+ return [{ type: "torque", t: load.t * 1e3, start: load.start ?? 0, end: load.end ?? L }];
28
+ }
29
+ // per projected length → per member length: Lproj / L = |local 1 × d| = √(1 − (local 1 · d)²)
30
+ let projection = 1;
31
+ if (load.type !== "point" && load.projected) {
32
+ const v = GLOBAL_DIRECTIONS[load.direction];
33
+ const c = lambda[0][0] * v[0] + lambda[0][1] * v[1] + lambda[0][2] * v[2];
34
+ projection = Math.sqrt(Math.max(0, 1 - c * c));
35
+ }
36
+ return components(load.direction).map(({ axis, factor }) => {
37
+ if (load.type === "point")
38
+ return { type: "point", axis, P: load.P * factor * 1e3, a: load.a };
39
+ const [w1, w2] = load.type === "udl" ? [load.w, load.w] : [load.w1, load.w2];
40
+ return {
41
+ type: "distributed",
42
+ axis,
43
+ w1: w1 * factor * projection, // kN/m = N/mm
44
+ w2: w2 * factor * projection,
45
+ start: load.start ?? 0,
46
+ end: load.end ?? L,
47
+ };
48
+ });
49
+ };
50
+ /**
51
+ * The part of a member's local loads that falls on one of its pieces, `[offset, offset + L]`,
52
+ * in the piece's own positions. A distributed load or torque is cut at the piece ends; a point
53
+ * load goes to the piece it lies in (at an interior node, to the piece that starts there).
54
+ */
55
+ const clipLoads = (loads, offset, L, last) => {
56
+ const end = offset + L;
57
+ const tolerance = 1e-9 * end;
58
+ const out = [];
59
+ for (const load of loads) {
60
+ if (load.type === "point") {
61
+ const inside = load.a >= offset - tolerance && (load.a < end - tolerance || last);
62
+ if (inside)
63
+ out.push({ ...load, a: Math.min(L, Math.max(0, load.a - offset)) });
64
+ continue;
65
+ }
66
+ const from = Math.max(load.start, offset);
67
+ const to = Math.min(load.end, end);
68
+ if (to - from <= tolerance)
69
+ continue;
70
+ if (load.type === "torque") {
71
+ out.push({ ...load, start: from - offset, end: to - offset });
72
+ }
73
+ else {
74
+ out.push({
75
+ ...load,
76
+ w1: (0, fixed_end_forces_1.loadIntensity)(load, from),
77
+ w2: (0, fixed_end_forces_1.loadIntensity)(load, to),
78
+ start: from - offset,
79
+ end: to - offset,
80
+ });
81
+ }
82
+ }
83
+ return out;
84
+ };
85
+ /**
86
+ * The local loads (N and mm) on every member piece in one load case: each member load, and the
87
+ * self-weight `selfWeight · unitWeight · A` per unit length along global −Z, resolved in the
88
+ * whole member's local axes, then cut at its pieces.
89
+ *
90
+ * @param groups - Model members and the pieces each is analysed as
91
+ * @param pieces - Every member piece
92
+ * @param memberIndex - Index into `groups` of each member id
93
+ * @param loads - The load case's member loads
94
+ * @param loadCaseId - The load case, which tags the self-weight load
95
+ * @param selfWeight - The load case's self-weight multiplier
96
+ * @returns The local loads of each piece, in the order of `pieces`
97
+ * @throws {FeaError} 313 if self-weight is requested for a member without `unitWeight`
98
+ */
99
+ const memberPieceLoads = (groups, pieces, memberIndex, loads, loadCaseId, selfWeight) => {
100
+ const loadsByMember = groups.map(() => []);
101
+ for (const load of loads) {
102
+ loadsByMember[memberIndex.get(load.memberId)].push(load);
103
+ }
104
+ // local loads of each model member, then of each piece it is analysed as
105
+ const memberLoads = pieces.map(() => []);
106
+ groups.forEach((group, g) => {
107
+ const memberLoadsHere = [...loadsByMember[g]];
108
+ if (selfWeight !== 0) {
109
+ const { unitWeight, A } = group.section;
110
+ if (unitWeight === undefined)
111
+ throw new fea_error_1.FeaError(fea_error_1.FeaErrors.MISSING_UNIT_WEIGHT);
112
+ // kN/m³ · m² = kN/m
113
+ const w = -selfWeight * unitWeight * A * 1e-6;
114
+ if (w !== 0) {
115
+ memberLoadsHere.push({
116
+ loadCase: loadCaseId,
117
+ type: "udl",
118
+ memberId: group.id,
119
+ direction: "Z",
120
+ w,
121
+ });
122
+ }
123
+ }
124
+ const local = memberLoadsHere.flatMap((load) => toLocalLoads(load, group.lambda, group.length));
125
+ if (group.pieces.length === 1) {
126
+ memberLoads[group.pieces[0]] = local;
127
+ return;
128
+ }
129
+ group.pieces.forEach((p, k) => {
130
+ const piece = pieces[p];
131
+ memberLoads[p] = clipLoads(local, piece.offset, piece.length, k === group.pieces.length - 1);
132
+ });
133
+ });
134
+ return memberLoads;
135
+ };
136
+ exports.memberPieceLoads = memberPieceLoads;
137
+ /** A local member load scaled by `factor`, e.g. for a load combination. */
138
+ const scaleMemberLoad = (load, factor) => {
139
+ if (load.type === "distributed")
140
+ return { ...load, w1: load.w1 * factor, w2: load.w2 * factor };
141
+ if (load.type === "torque")
142
+ return { ...load, t: load.t * factor };
143
+ return { ...load, P: load.P * factor };
144
+ };
145
+ exports.scaleMemberLoad = scaleMemberLoad;
146
+ //# sourceMappingURL=member-loads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-loads.js","sourceRoot":"","sources":["../../../../src/fea/frame/solver/member-loads.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { FeaId, FeaNode } from "../../shared/types/model.type";
2
+ import type { Member } from "../types/model.type";
3
+ type Point = [number, number, number];
4
+ /** A node whose projection on a member's axis falls strictly between the member's ends. */
5
+ export interface NodeAlongMember {
6
+ nodeId: FeaId;
7
+ /** Distance of the projection from the member's start (mm). */
8
+ x: number;
9
+ /** Distance of the node from the member's axis (mm). */
10
+ distance: number;
11
+ /** True when the node lies on the member, within `AREA_GEOMETRY_TOLERANCE` × its length. */
12
+ on: boolean;
13
+ }
14
+ /**
15
+ * For each member, the candidate nodes lying within `reach` of its axis whose projection falls
16
+ * strictly between its ends (more than the on-member tolerance from either end), in order from
17
+ * its start. A member's own end nodes are skipped.
18
+ *
19
+ * The candidates are sorted once along each global axis; each member scans only the candidates
20
+ * inside its bounding box (grown by its reach) along the axis where that box is thinnest, so
21
+ * the search stays fast for models with many nodes.
22
+ *
23
+ * @param members - Members with valid geometry (non-zero length)
24
+ * @param position - Coordinates (mm) of every member end node
25
+ * @param candidates - The nodes to look for
26
+ * @param reach - Largest distance (mm) from the axis to report for a member of the given length,
27
+ * or null to skip the member
28
+ * @returns One list per member, in member order
29
+ */
30
+ export declare const nodesAlongMembers: (members: Member[], position: (id: FeaId) => Point, candidates: FeaNode[], reach: (member: Member, length: number) => number | null) => NodeAlongMember[][];
31
+ export {};
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nodesAlongMembers = void 0;
4
+ const frame_constant_1 = require("../../../core/constants/frame.constant");
5
+ /** First index of the sorted `values` that is not below `v`. */
6
+ const lowerBound = (values, v) => {
7
+ let lo = 0;
8
+ let hi = values.length;
9
+ while (lo < hi) {
10
+ const mid = (lo + hi) >> 1;
11
+ if (values[mid] < v)
12
+ lo = mid + 1;
13
+ else
14
+ hi = mid;
15
+ }
16
+ return lo;
17
+ };
18
+ /**
19
+ * For each member, the candidate nodes lying within `reach` of its axis whose projection falls
20
+ * strictly between its ends (more than the on-member tolerance from either end), in order from
21
+ * its start. A member's own end nodes are skipped.
22
+ *
23
+ * The candidates are sorted once along each global axis; each member scans only the candidates
24
+ * inside its bounding box (grown by its reach) along the axis where that box is thinnest, so
25
+ * the search stays fast for models with many nodes.
26
+ *
27
+ * @param members - Members with valid geometry (non-zero length)
28
+ * @param position - Coordinates (mm) of every member end node
29
+ * @param candidates - The nodes to look for
30
+ * @param reach - Largest distance (mm) from the axis to report for a member of the given length,
31
+ * or null to skip the member
32
+ * @returns One list per member, in member order
33
+ */
34
+ const nodesAlongMembers = (members, position, candidates, reach) => {
35
+ const coordinate = (n, k) => (k === 0 ? n.x : k === 1 ? n.y : n.z);
36
+ const order = [0, 1, 2].map((k) => candidates
37
+ .map((_, i) => i)
38
+ .sort((a, b) => coordinate(candidates[a], k) - coordinate(candidates[b], k)));
39
+ const sorted = order.map((o, k) => Float64Array.from(o, (i) => coordinate(candidates[i], k)));
40
+ return members.map((member) => {
41
+ const P = position(member.startNodeId);
42
+ const Q = position(member.endNodeId);
43
+ const d = [Q[0] - P[0], Q[1] - P[1], Q[2] - P[2]];
44
+ const L2 = d[0] * d[0] + d[1] * d[1] + d[2] * d[2];
45
+ const L = Math.sqrt(L2);
46
+ const r = reach(member, L);
47
+ if (r === null || !(L > 0) || candidates.length === 0)
48
+ return [];
49
+ const tolerance = frame_constant_1.AREA_GEOMETRY_TOLERANCE * L;
50
+ const lo = [0, 1, 2].map((k) => Math.min(P[k], Q[k]) - r);
51
+ const hi = [0, 1, 2].map((k) => Math.max(P[k], Q[k]) + r);
52
+ const axis = [0, 1, 2].reduce((best, k) => (hi[k] - lo[k] < hi[best] - lo[best] ? k : best), 0);
53
+ const found = [];
54
+ for (let j = lowerBound(sorted[axis], lo[axis]); j < candidates.length; j++) {
55
+ if (sorted[axis][j] > hi[axis])
56
+ break;
57
+ const node = candidates[order[axis][j]];
58
+ if (node.id === member.startNodeId || node.id === member.endNodeId)
59
+ continue;
60
+ const X = [node.x, node.y, node.z];
61
+ if (X.some((v, k) => v < lo[k] || v > hi[k]))
62
+ continue;
63
+ const w = [X[0] - P[0], X[1] - P[1], X[2] - P[2]];
64
+ const t = (w[0] * d[0] + w[1] * d[1] + w[2] * d[2]) / L2;
65
+ const x = t * L;
66
+ if (x <= tolerance || x >= L - tolerance)
67
+ continue;
68
+ const distance = Math.hypot(w[0] - t * d[0], w[1] - t * d[1], w[2] - t * d[2]);
69
+ if (distance > r)
70
+ continue;
71
+ found.push({ nodeId: node.id, x, distance, on: distance <= tolerance });
72
+ }
73
+ return found.sort((a, b) => a.x - b.x);
74
+ });
75
+ };
76
+ exports.nodesAlongMembers = nodesAlongMembers;
77
+ //# sourceMappingURL=nodes-along-members.js.map