@cornerstonejs/tools 2.0.0-beta.20 → 2.0.0-beta.22

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 (645) hide show
  1. package/dist/esm/cursors/SVGCursorDescriptor.d.ts +1 -1
  2. package/dist/esm/cursors/SVGCursorDescriptor.js +7 -0
  3. package/dist/esm/cursors/SVGMouseCursor.d.ts +1 -1
  4. package/dist/esm/cursors/elementCursor.d.ts +1 -1
  5. package/dist/esm/cursors/elementCursor.js +1 -1
  6. package/dist/esm/drawingSvg/draw.d.ts +2 -1
  7. package/dist/esm/drawingSvg/drawArrow.d.ts +1 -1
  8. package/dist/esm/drawingSvg/drawCircle.d.ts +1 -1
  9. package/dist/esm/drawingSvg/drawEllipse.d.ts +1 -1
  10. package/dist/esm/drawingSvg/drawEllipse.js +1 -0
  11. package/dist/esm/drawingSvg/drawEllipseByCoordinates.d.ts +1 -1
  12. package/dist/esm/drawingSvg/drawHandle.d.ts +1 -1
  13. package/dist/esm/drawingSvg/drawHandles.d.ts +1 -1
  14. package/dist/esm/drawingSvg/drawHeight.d.ts +3 -0
  15. package/dist/esm/drawingSvg/drawHeight.js +42 -0
  16. package/dist/esm/drawingSvg/drawLine.d.ts +1 -1
  17. package/dist/esm/drawingSvg/drawLink.d.ts +1 -1
  18. package/dist/esm/drawingSvg/drawLinkedTextBox.d.ts +1 -1
  19. package/dist/esm/drawingSvg/drawPath.d.ts +1 -1
  20. package/dist/esm/drawingSvg/drawPolyline.d.ts +1 -1
  21. package/dist/esm/drawingSvg/drawRect.d.ts +1 -1
  22. package/dist/esm/drawingSvg/drawRect.js +1 -0
  23. package/dist/esm/drawingSvg/drawRectByCoordinates.d.ts +1 -1
  24. package/dist/esm/drawingSvg/drawRedactionRect.d.ts +3 -1
  25. package/dist/esm/drawingSvg/drawTextBox.d.ts +1 -1
  26. package/dist/esm/drawingSvg/getSvgDrawingHelper.d.ts +1 -1
  27. package/dist/esm/drawingSvg/getSvgDrawingHelper.js +2 -2
  28. package/dist/esm/drawingSvg/index.d.ts +2 -1
  29. package/dist/esm/drawingSvg/index.js +2 -1
  30. package/dist/esm/enums/ToolBindings.d.ts +3 -1
  31. package/dist/esm/enums/ToolBindings.js +2 -0
  32. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.d.ts +1 -1
  33. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js +2 -2
  34. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.d.ts +1 -1
  35. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js +2 -2
  36. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.d.ts +1 -1
  37. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +1 -1
  38. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.d.ts +1 -1
  39. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownActivate.js +1 -1
  40. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +1 -1
  41. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +1 -1
  42. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.d.ts +1 -1
  43. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDrag.js +1 -1
  44. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.d.ts +1 -1
  45. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseMove.js +1 -1
  46. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.d.ts +2 -1
  47. package/dist/esm/eventDispatchers/mouseEventHandlers/mouseWheel.js +15 -2
  48. package/dist/esm/eventDispatchers/shared/customCallbackHandler.js +3 -2
  49. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.d.ts +1 -1
  50. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +2 -2
  51. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.d.ts +1 -1
  52. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +5 -6
  53. package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.d.ts +1 -1
  54. package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js +2 -2
  55. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForKeyboardEvents.d.ts +2 -2
  56. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForKeyboardEvents.js +2 -2
  57. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +4 -3
  58. package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +2 -2
  59. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.d.ts +3 -3
  60. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +2 -2
  61. package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.d.ts +2 -2
  62. package/dist/esm/eventDispatchers/shared/getToolsWithModesForTouchEvent.js +2 -2
  63. package/dist/esm/eventDispatchers/touchEventHandlers/touchDrag.d.ts +1 -1
  64. package/dist/esm/eventDispatchers/touchEventHandlers/touchDrag.js +1 -1
  65. package/dist/esm/eventDispatchers/touchEventHandlers/touchStart.d.ts +1 -1
  66. package/dist/esm/eventDispatchers/touchEventHandlers/touchStart.js +1 -1
  67. package/dist/esm/eventDispatchers/touchEventHandlers/touchStartActivate.d.ts +1 -1
  68. package/dist/esm/eventDispatchers/touchEventHandlers/touchStartActivate.js +1 -1
  69. package/dist/esm/eventListeners/annotations/annotationCompletedListener.d.ts +1 -1
  70. package/dist/esm/eventListeners/annotations/annotationRemovedListener.d.ts +1 -1
  71. package/dist/esm/eventListeners/annotations/annotationSelectionListener.js +1 -1
  72. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts +3 -3
  73. package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +22 -21
  74. package/dist/esm/eventListeners/mouse/getMouseEventPoints.d.ts +1 -1
  75. package/dist/esm/eventListeners/mouse/getMouseEventPoints.js +4 -1
  76. package/dist/esm/eventListeners/mouse/mouseDownListener.js +9 -1
  77. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +9 -7
  78. package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.d.ts +1 -1
  79. package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +3 -3
  80. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.d.ts +1 -1
  81. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +2 -2
  82. package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.d.ts +1 -1
  83. package/dist/esm/eventListeners/segmentation/segmentationModifiedEventListener.js +3 -2
  84. package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.d.ts +1 -1
  85. package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js +5 -5
  86. package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.d.ts +1 -1
  87. package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +4 -2
  88. package/dist/esm/eventListeners/touch/getTouchEventPoints.d.ts +1 -1
  89. package/dist/esm/index.d.ts +4 -3
  90. package/dist/esm/index.js +4 -3
  91. package/dist/esm/init.js +2 -2
  92. package/dist/esm/stateManagement/annotation/AnnotationRenderingEngine.d.ts +20 -0
  93. package/dist/esm/stateManagement/annotation/AnnotationRenderingEngine.js +112 -0
  94. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +3 -3
  95. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +0 -2
  96. package/dist/esm/stateManagement/annotation/annotationLocking.d.ts +1 -1
  97. package/dist/esm/stateManagement/annotation/annotationSelection.js +1 -1
  98. package/dist/esm/stateManagement/annotation/annotationState.d.ts +4 -4
  99. package/dist/esm/stateManagement/annotation/annotationState.js +4 -6
  100. package/dist/esm/stateManagement/annotation/annotationVisibility.d.ts +1 -1
  101. package/dist/esm/stateManagement/annotation/annotationVisibility.js +1 -1
  102. package/dist/esm/stateManagement/annotation/config/ToolStyle.d.ts +1 -1
  103. package/dist/esm/stateManagement/annotation/config/getFont.d.ts +2 -2
  104. package/dist/esm/stateManagement/annotation/config/getState.d.ts +1 -1
  105. package/dist/esm/stateManagement/annotation/config/helpers.d.ts +2 -2
  106. package/dist/esm/stateManagement/annotation/getAnnotation.d.ts +2 -0
  107. package/dist/esm/stateManagement/annotation/getAnnotation.js +6 -0
  108. package/dist/esm/stateManagement/annotation/helpers/state.d.ts +2 -2
  109. package/dist/esm/stateManagement/annotation/utilities/defineProperties.d.ts +1 -1
  110. package/dist/esm/stateManagement/index.d.ts +1 -3
  111. package/dist/esm/stateManagement/index.js +3 -2
  112. package/dist/esm/{tools/displayTools → stateManagement/segmentation}/SegmentationRenderingEngine.d.ts +6 -4
  113. package/dist/esm/{tools/displayTools → stateManagement/segmentation}/SegmentationRenderingEngine.js +23 -19
  114. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +29 -13
  115. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +73 -23
  116. package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +5 -4
  117. package/dist/esm/stateManagement/segmentation/activeSegmentation.js +15 -6
  118. package/dist/esm/stateManagement/segmentation/addColorLUT.d.ts +2 -0
  119. package/dist/esm/stateManagement/segmentation/addColorLUT.js +5 -0
  120. package/dist/esm/stateManagement/segmentation/addRepresentationData.d.ts +3 -3
  121. package/dist/esm/stateManagement/segmentation/addRepresentationData.js +1 -1
  122. package/dist/esm/stateManagement/segmentation/addSegmentation.d.ts +2 -0
  123. package/dist/esm/stateManagement/segmentation/addSegmentation.js +11 -0
  124. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.d.ts +3 -0
  125. package/dist/esm/stateManagement/segmentation/{addRepresentation.js → addSegmentationRepresentation.js} +31 -10
  126. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.d.ts +2 -0
  127. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.js +10 -0
  128. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.d.ts +3 -0
  129. package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.js +9 -0
  130. package/dist/esm/stateManagement/segmentation/addSegmentations.d.ts +1 -1
  131. package/dist/esm/stateManagement/segmentation/config/index.d.ts +2 -2
  132. package/dist/esm/stateManagement/segmentation/config/index.js +2 -2
  133. package/dist/esm/stateManagement/segmentation/config/segmentationColor.js +8 -6
  134. package/dist/esm/stateManagement/segmentation/config/segmentationConfig.d.ts +5 -5
  135. package/dist/esm/stateManagement/segmentation/config/segmentationConfig.js +17 -12
  136. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.d.ts +5 -5
  137. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +16 -13
  138. package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.d.ts +0 -8
  139. package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.js +7 -82
  140. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationDataModified.d.ts +1 -0
  141. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationDataModified.js +11 -0
  142. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationModified.d.ts +1 -0
  143. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationModified.js +18 -0
  144. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRemoved.d.ts +1 -0
  145. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRemoved.js +8 -0
  146. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.d.ts +1 -0
  147. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.js +8 -0
  148. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.d.ts +1 -0
  149. package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.js +8 -0
  150. package/dist/esm/stateManagement/segmentation/getActiveSegmentIndex.d.ts +1 -0
  151. package/dist/esm/stateManagement/segmentation/getActiveSegmentIndex.js +7 -0
  152. package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.d.ts +2 -0
  153. package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.js +5 -0
  154. package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.d.ts +2 -0
  155. package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.js +6 -0
  156. package/dist/esm/stateManagement/segmentation/getColorLUT.d.ts +2 -0
  157. package/dist/esm/stateManagement/segmentation/getColorLUT.js +5 -0
  158. package/dist/esm/stateManagement/segmentation/getCurrentLabelmapImageIdForViewport.d.ts +1 -0
  159. package/dist/esm/stateManagement/segmentation/getCurrentLabelmapImageIdForViewport.js +5 -0
  160. package/dist/esm/stateManagement/segmentation/getGlobalConfig.d.ts +2 -0
  161. package/dist/esm/stateManagement/segmentation/getGlobalConfig.js +5 -0
  162. package/dist/esm/stateManagement/segmentation/getNextColorLUTIndex.d.ts +1 -0
  163. package/dist/esm/stateManagement/segmentation/getNextColorLUTIndex.js +5 -0
  164. package/dist/esm/stateManagement/segmentation/getPerSegmentConfig.d.ts +2 -0
  165. package/dist/esm/stateManagement/segmentation/getPerSegmentConfig.js +5 -0
  166. package/dist/esm/stateManagement/segmentation/getSegmentation.d.ts +2 -0
  167. package/dist/esm/stateManagement/segmentation/getSegmentation.js +5 -0
  168. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.d.ts +2 -0
  169. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.js +5 -0
  170. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.d.ts +2 -0
  171. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.js +5 -0
  172. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.d.ts +7 -0
  173. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.js +6 -0
  174. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.d.ts +1 -0
  175. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.js +5 -0
  176. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.d.ts +2 -0
  177. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.js +12 -0
  178. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.d.ts +2 -0
  179. package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.js +5 -0
  180. package/dist/esm/stateManagement/segmentation/getSegmentations.d.ts +2 -0
  181. package/dist/esm/stateManagement/segmentation/getSegmentations.js +6 -0
  182. package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.d.ts +1 -0
  183. package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.js +10 -0
  184. package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.d.ts +1 -1
  185. package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.js +1 -1
  186. package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.d.ts +1 -1
  187. package/dist/esm/stateManagement/segmentation/helpers/updateStackSegmentationState.d.ts +8 -0
  188. package/dist/esm/stateManagement/segmentation/helpers/updateStackSegmentationState.js +31 -0
  189. package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.d.ts +1 -1
  190. package/dist/esm/stateManagement/segmentation/index.d.ts +4 -4
  191. package/dist/esm/stateManagement/segmentation/index.js +4 -4
  192. package/dist/esm/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts +1 -1
  193. package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.d.ts +2 -2
  194. package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.js +5 -4
  195. package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.d.ts +1 -1
  196. package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.js +1 -1
  197. package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.d.ts +2 -2
  198. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.d.ts +1 -1
  199. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.d.ts +1 -1
  200. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +13 -22
  201. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.d.ts +2 -2
  202. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js +2 -6
  203. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.d.ts +2 -2
  204. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +10 -15
  205. package/dist/esm/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.d.ts +1 -1
  206. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.d.ts +2 -2
  207. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js +2 -1
  208. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts +2 -2
  209. package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +3 -4
  210. package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.d.ts +2 -2
  211. package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +3 -2
  212. package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts +1 -1
  213. package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js +2 -2
  214. package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +4 -4
  215. package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +4 -3
  216. package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts +1 -1
  217. package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +1 -1
  218. package/dist/esm/stateManagement/segmentation/removeColorLUT.d.ts +1 -0
  219. package/dist/esm/stateManagement/segmentation/removeColorLUT.js +5 -0
  220. package/dist/esm/stateManagement/segmentation/removeRepresentation.d.ts +1 -0
  221. package/dist/esm/stateManagement/segmentation/removeRepresentation.js +9 -0
  222. package/dist/esm/stateManagement/segmentation/removeSegmentation.d.ts +1 -0
  223. package/dist/esm/stateManagement/segmentation/removeSegmentation.js +7 -0
  224. package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.d.ts +2 -0
  225. package/dist/esm/stateManagement/segmentation/{removeRepresentationsFromViewport.js → removeSegmentationRepresentations.js} +11 -8
  226. package/dist/esm/stateManagement/segmentation/segmentIndex.d.ts +2 -2
  227. package/dist/esm/stateManagement/segmentation/segmentIndex.js +6 -10
  228. package/dist/esm/stateManagement/segmentation/segmentLocking.d.ts +2 -2
  229. package/dist/esm/stateManagement/segmentation/segmentLocking.js +3 -3
  230. package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +29 -38
  231. package/dist/esm/stateManagement/segmentation/segmentationState.js +29 -157
  232. package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.d.ts +1 -0
  233. package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.js +9 -0
  234. package/dist/esm/stateManagement/segmentation/setGlobalConfig.d.ts +2 -0
  235. package/dist/esm/stateManagement/segmentation/setGlobalConfig.js +9 -0
  236. package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.d.ts +2 -0
  237. package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.js +9 -0
  238. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.d.ts +2 -0
  239. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.js +9 -0
  240. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.d.ts +1 -0
  241. package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.js +5 -0
  242. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +5 -5
  243. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +5 -45
  244. package/dist/esm/stateManagement/segmentation/updateLabelmapSegmentationImageReferences.d.ts +1 -0
  245. package/dist/esm/stateManagement/segmentation/updateLabelmapSegmentationImageReferences.js +5 -0
  246. package/dist/esm/store/SynchronizerManager/Synchronizer.d.ts +7 -3
  247. package/dist/esm/store/SynchronizerManager/Synchronizer.js +2 -1
  248. package/dist/esm/store/SynchronizerManager/createSynchronizer.d.ts +3 -3
  249. package/dist/esm/store/SynchronizerManager/createSynchronizer.js +2 -2
  250. package/dist/esm/store/SynchronizerManager/destroy.js +1 -1
  251. package/dist/esm/store/SynchronizerManager/destroySynchronizer.js +1 -1
  252. package/dist/esm/store/SynchronizerManager/getAllSynchronizers.d.ts +1 -1
  253. package/dist/esm/store/SynchronizerManager/getAllSynchronizers.js +1 -1
  254. package/dist/esm/store/SynchronizerManager/getSynchronizer.d.ts +1 -1
  255. package/dist/esm/store/SynchronizerManager/getSynchronizer.js +1 -1
  256. package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.d.ts +1 -1
  257. package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.js +1 -1
  258. package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +3 -3
  259. package/dist/esm/store/ToolGroupManager/ToolGroup.js +12 -8
  260. package/dist/esm/store/ToolGroupManager/createToolGroup.d.ts +1 -1
  261. package/dist/esm/store/ToolGroupManager/createToolGroup.js +1 -1
  262. package/dist/esm/store/ToolGroupManager/destroy.js +3 -3
  263. package/dist/esm/store/ToolGroupManager/destroyToolGroup.js +1 -1
  264. package/dist/esm/store/ToolGroupManager/getAllToolGroups.d.ts +1 -1
  265. package/dist/esm/store/ToolGroupManager/getAllToolGroups.js +1 -1
  266. package/dist/esm/store/ToolGroupManager/getToolGroup.d.ts +1 -1
  267. package/dist/esm/store/ToolGroupManager/getToolGroup.js +1 -1
  268. package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.d.ts +1 -1
  269. package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.js +1 -1
  270. package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.d.ts +1 -1
  271. package/dist/esm/store/ToolGroupManager/getToolGroupsWithToolName.js +1 -1
  272. package/dist/esm/store/addEnabledElement.d.ts +1 -1
  273. package/dist/esm/store/addEnabledElement.js +1 -1
  274. package/dist/esm/store/addTool.d.ts +1 -0
  275. package/dist/esm/store/addTool.js +3 -3
  276. package/dist/esm/store/filterMoveableAnnotationTools.d.ts +1 -1
  277. package/dist/esm/store/filterToolsWithAnnotationsForElement.d.ts +1 -1
  278. package/dist/esm/store/filterToolsWithMoveableHandles.d.ts +1 -1
  279. package/dist/esm/store/index.d.ts +1 -2
  280. package/dist/esm/store/index.js +1 -2
  281. package/dist/esm/store/removeEnabledElement.d.ts +1 -1
  282. package/dist/esm/store/removeEnabledElement.js +1 -1
  283. package/dist/esm/store/state.d.ts +4 -3
  284. package/dist/esm/store/state.js +1 -1
  285. package/dist/esm/synchronizers/callbacks/areViewportsCoplanar .d.ts +1 -1
  286. package/dist/esm/synchronizers/callbacks/cameraSyncCallback.d.ts +2 -2
  287. package/dist/esm/synchronizers/callbacks/imageSliceSyncCallback.d.ts +2 -2
  288. package/dist/esm/synchronizers/callbacks/presentationViewSyncCallback.d.ts +1 -1
  289. package/dist/esm/synchronizers/callbacks/slabThicknessSyncCallback.d.ts +1 -1
  290. package/dist/esm/synchronizers/callbacks/voiSyncCallback.d.ts +5 -2
  291. package/dist/esm/synchronizers/callbacks/zoomPanSyncCallback.d.ts +2 -2
  292. package/dist/esm/synchronizers/synchronizers/createCameraPositionSynchronizer.d.ts +1 -1
  293. package/dist/esm/synchronizers/synchronizers/createImageSliceSynchronizer.d.ts +1 -1
  294. package/dist/esm/synchronizers/synchronizers/createPresentationViewSynchronizer.d.ts +2 -2
  295. package/dist/esm/synchronizers/synchronizers/createPresentationViewSynchronizer.js +1 -1
  296. package/dist/esm/synchronizers/synchronizers/createSlabThicknessSynchronizer.d.ts +1 -1
  297. package/dist/esm/synchronizers/synchronizers/createVOISynchronizer.d.ts +1 -1
  298. package/dist/esm/synchronizers/synchronizers/createZoomPanSynchronizer.d.ts +1 -1
  299. package/dist/esm/tools/AdvancedMagnifyTool.d.ts +97 -8
  300. package/dist/esm/tools/AdvancedMagnifyTool.js +506 -4
  301. package/dist/esm/tools/AnnotationEraserTool.d.ts +1 -1
  302. package/dist/esm/tools/AnnotationEraserTool.js +2 -2
  303. package/dist/esm/tools/CrosshairsTool.d.ts +5 -5
  304. package/dist/esm/tools/CrosshairsTool.js +5 -4
  305. package/dist/esm/tools/MIPJumpToClickTool.d.ts +1 -2
  306. package/dist/esm/tools/MIPJumpToClickTool.js +2 -3
  307. package/dist/esm/tools/MagnifyTool.d.ts +2 -3
  308. package/dist/esm/tools/MagnifyTool.js +1 -1
  309. package/dist/esm/tools/OrientationMarkerTool.d.ts +41 -58
  310. package/dist/esm/tools/OrientationMarkerTool.js +8 -7
  311. package/dist/esm/tools/OverlayGridTool.d.ts +2 -4
  312. package/dist/esm/tools/OverlayGridTool.js +1 -1
  313. package/dist/esm/tools/PanTool.d.ts +1 -1
  314. package/dist/esm/tools/PanTool.js +5 -0
  315. package/dist/esm/tools/PlanarRotateTool.d.ts +3 -1
  316. package/dist/esm/tools/PlanarRotateTool.js +18 -4
  317. package/dist/esm/tools/ReferenceCursors.d.ts +2 -5
  318. package/dist/esm/tools/ReferenceLinesTool.d.ts +4 -6
  319. package/dist/esm/tools/ReferenceLinesTool.js +1 -1
  320. package/dist/esm/tools/ScaleOverlayTool.d.ts +7 -9
  321. package/dist/esm/tools/ScaleOverlayTool.js +1 -2
  322. package/dist/esm/tools/SculptorTool/CircleSculptCursor.d.ts +4 -4
  323. package/dist/esm/tools/SculptorTool.d.ts +1 -1
  324. package/dist/esm/tools/SculptorTool.js +3 -3
  325. package/dist/esm/tools/SegmentationIntersectionTool.d.ts +2 -2
  326. package/dist/esm/tools/StackScrollTool.d.ts +2 -1
  327. package/dist/esm/tools/StackScrollTool.js +17 -3
  328. package/dist/esm/tools/StackScrollToolMouseWheelTool.d.ts +1 -2
  329. package/dist/esm/tools/StackScrollToolMouseWheelTool.js +1 -2
  330. package/dist/esm/tools/TrackballRotateTool.d.ts +1 -1
  331. package/dist/esm/tools/TrackballRotateTool.js +4 -0
  332. package/dist/esm/tools/VolumeRotateMouseWheelTool.d.ts +2 -3
  333. package/dist/esm/tools/WindowLevelRegionTool.d.ts +3 -3
  334. package/dist/esm/tools/WindowLevelRegionTool.js +2 -4
  335. package/dist/esm/tools/WindowLevelTool.d.ts +1 -1
  336. package/dist/esm/tools/WindowLevelTool.js +12 -7
  337. package/dist/esm/tools/ZoomTool.d.ts +2 -2
  338. package/dist/esm/tools/ZoomTool.js +2 -2
  339. package/dist/esm/tools/annotation/AngleTool.d.ts +5 -7
  340. package/dist/esm/tools/annotation/AngleTool.js +4 -3
  341. package/dist/esm/tools/annotation/ArrowAnnotateTool.d.ts +5 -7
  342. package/dist/esm/tools/annotation/ArrowAnnotateTool.js +1 -1
  343. package/dist/esm/tools/annotation/BidirectionalTool.d.ts +5 -7
  344. package/dist/esm/tools/annotation/BidirectionalTool.js +2 -3
  345. package/dist/esm/tools/annotation/CircleROITool.d.ts +5 -7
  346. package/dist/esm/tools/annotation/CircleROITool.js +15 -13
  347. package/dist/esm/tools/annotation/CobbAngleTool.d.ts +5 -7
  348. package/dist/esm/tools/annotation/CobbAngleTool.js +1 -1
  349. package/dist/esm/tools/annotation/DragProbeTool.d.ts +3 -5
  350. package/dist/esm/tools/annotation/DragProbeTool.js +0 -5
  351. package/dist/esm/tools/annotation/EllipticalROITool.d.ts +5 -7
  352. package/dist/esm/tools/annotation/EllipticalROITool.js +13 -9
  353. package/dist/esm/tools/annotation/HeightTool.d.ts +36 -0
  354. package/dist/esm/tools/annotation/HeightTool.js +434 -0
  355. package/dist/esm/tools/annotation/KeyImageTool.d.ts +4 -6
  356. package/dist/esm/tools/annotation/KeyImageTool.js +1 -1
  357. package/dist/esm/tools/annotation/LengthTool.d.ts +5 -7
  358. package/dist/esm/tools/annotation/LengthTool.js +8 -7
  359. package/dist/esm/tools/annotation/LivewireContourTool.d.ts +3 -4
  360. package/dist/esm/tools/annotation/LivewireContourTool.js +5 -3
  361. package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +1 -2
  362. package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +21 -4
  363. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +160 -118
  364. package/dist/esm/tools/annotation/ProbeTool.d.ts +4 -6
  365. package/dist/esm/tools/annotation/ProbeTool.js +17 -33
  366. package/dist/esm/tools/annotation/RectangleROITool.d.ts +5 -5
  367. package/dist/esm/tools/annotation/RectangleROITool.js +12 -9
  368. package/dist/esm/tools/annotation/SplineContourSegmentationTool.d.ts +1 -1
  369. package/dist/esm/tools/annotation/SplineROITool.d.ts +1 -3
  370. package/dist/esm/tools/annotation/SplineROITool.js +9 -6
  371. package/dist/esm/tools/annotation/UltrasoundDirectionalTool.d.ts +5 -7
  372. package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js +6 -7
  373. package/dist/esm/tools/annotation/VideoRedactionTool.d.ts +4 -5
  374. package/dist/esm/tools/annotation/VideoRedactionTool.js +1 -1
  375. package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +1 -1
  376. package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +1 -1
  377. package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.d.ts +1 -1
  378. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +2 -2
  379. package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
  380. package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +1 -1
  381. package/dist/esm/tools/annotation/splines/CardinalSpline.d.ts +1 -1
  382. package/dist/esm/tools/annotation/splines/CubicSpline.d.ts +1 -1
  383. package/dist/esm/tools/annotation/splines/QuadraticSpline.d.ts +1 -1
  384. package/dist/esm/tools/annotation/splines/Spline.d.ts +1 -1
  385. package/dist/esm/tools/base/AnnotationDisplayTool.d.ts +3 -3
  386. package/dist/esm/tools/base/AnnotationDisplayTool.js +3 -9
  387. package/dist/esm/tools/base/AnnotationTool.d.ts +3 -14
  388. package/dist/esm/tools/base/BaseTool.d.ts +5 -5
  389. package/dist/esm/tools/base/BaseTool.js +1 -1
  390. package/dist/esm/tools/base/ContourBaseTool.d.ts +1 -1
  391. package/dist/esm/tools/base/ContourBaseTool.js +5 -5
  392. package/dist/esm/tools/base/ContourSegmentationBaseTool.js +28 -19
  393. package/dist/esm/tools/displayTools/Contour/contourConfig.d.ts +1 -1
  394. package/dist/esm/tools/displayTools/Contour/contourDisplay.d.ts +2 -2
  395. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +9 -7
  396. package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.d.ts +2 -2
  397. package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +6 -6
  398. package/dist/esm/tools/displayTools/Contour/contourHandler/utils.d.ts +1 -1
  399. package/dist/esm/tools/displayTools/Contour/removeContourFromElement.js +2 -2
  400. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +1 -1
  401. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +4 -3
  402. package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.d.ts +1 -1
  403. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +3 -10
  404. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +24 -28
  405. package/dist/esm/tools/displayTools/Labelmap/validateLabelmap.d.ts +2 -2
  406. package/dist/esm/tools/displayTools/Surface/surfaceConfig.d.ts +1 -1
  407. package/dist/esm/tools/displayTools/Surface/surfaceDisplay.d.ts +2 -2
  408. package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +10 -7
  409. package/dist/esm/tools/distancePointToContour.d.ts +1 -1
  410. package/dist/esm/tools/index.d.ts +2 -1
  411. package/dist/esm/tools/index.js +2 -1
  412. package/dist/esm/tools/segmentation/BrushTool.js +11 -9
  413. package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.d.ts +20 -15
  414. package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +198 -67
  415. package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +3 -3
  416. package/dist/esm/tools/segmentation/CircleScissorsTool.js +10 -3
  417. package/dist/esm/tools/segmentation/PaintFillTool.d.ts +1 -1
  418. package/dist/esm/tools/segmentation/PaintFillTool.js +15 -14
  419. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.d.ts +20 -10
  420. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +172 -55
  421. package/dist/esm/tools/segmentation/RectangleROIThresholdTool.d.ts +3 -3
  422. package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +4 -3
  423. package/dist/esm/tools/segmentation/RectangleScissorsTool.js +8 -5
  424. package/dist/esm/tools/segmentation/SegmentSelectTool.d.ts +2 -2
  425. package/dist/esm/tools/segmentation/SegmentSelectTool.js +3 -3
  426. package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +3 -2
  427. package/dist/esm/tools/segmentation/SphereScissorsTool.js +12 -4
  428. package/dist/esm/tools/segmentation/strategies/BrushStrategy.d.ts +4 -5
  429. package/dist/esm/tools/segmentation/strategies/BrushStrategy.js +3 -1
  430. package/dist/esm/tools/segmentation/strategies/compositions/determineSegmentIndex.js +6 -3
  431. package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.js +1 -1
  432. package/dist/esm/tools/segmentation/strategies/compositions/islandRemoval.js +1 -1
  433. package/dist/esm/tools/segmentation/strategies/compositions/preview.js +6 -6
  434. package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js +6 -3
  435. package/dist/esm/tools/segmentation/strategies/compositions/setValue.js +1 -1
  436. package/dist/esm/tools/segmentation/strategies/eraseRectangle.d.ts +1 -1
  437. package/dist/esm/tools/segmentation/strategies/fillCircle.js +1 -1
  438. package/dist/esm/tools/segmentation/strategies/fillRectangle.d.ts +1 -1
  439. package/dist/esm/tools/segmentation/strategies/fillRectangle.js +10 -7
  440. package/dist/esm/tools/segmentation/strategies/fillSphere.js +1 -1
  441. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.d.ts +1 -1
  442. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +7 -24
  443. package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.d.ts +9 -2
  444. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +3 -3
  445. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js +0 -3
  446. package/dist/esm/types/AnnotationGroupSelector.d.ts +1 -1
  447. package/dist/esm/types/AnnotationRenderContext.d.ts +3 -2
  448. package/dist/esm/types/AnnotationStyle.d.ts +2 -2
  449. package/dist/esm/types/AnnotationTypes.d.ts +3 -3
  450. package/dist/esm/types/BoundsIJK.d.ts +1 -1
  451. package/dist/esm/types/CINETypes.d.ts +1 -0
  452. package/dist/esm/types/CalculatorTypes.d.ts +1 -1
  453. package/dist/esm/types/CardinalSplineProps.d.ts +1 -1
  454. package/dist/esm/types/ClosestPoint.d.ts +1 -1
  455. package/dist/esm/types/ContourAnnotation.d.ts +1 -1
  456. package/dist/esm/types/ContourSegmentationAnnotation.d.ts +2 -2
  457. package/dist/esm/types/ControlPointInfo.d.ts +1 -1
  458. package/dist/esm/types/EventTypes.d.ts +13 -12
  459. package/dist/esm/types/FloodFillTypes.d.ts +2 -2
  460. package/dist/esm/types/IAnnotationManager.d.ts +3 -3
  461. package/dist/esm/types/IDistance.d.ts +1 -1
  462. package/dist/esm/types/IPoints.d.ts +2 -2
  463. package/dist/esm/types/ISetToolModeOptions.d.ts +2 -2
  464. package/dist/esm/types/ISpline.d.ts +1 -1
  465. package/dist/esm/types/ISynchronizerEventHandler.d.ts +3 -3
  466. package/dist/esm/types/IToolClassReference.d.ts +3 -3
  467. package/dist/esm/types/IToolGroup.d.ts +8 -8
  468. package/dist/esm/types/ITouchPoints.d.ts +2 -2
  469. package/dist/esm/types/InteractionTypes.d.ts +1 -1
  470. package/dist/esm/types/InternalToolTypes.d.ts +4 -4
  471. package/dist/esm/types/InterpolationTypes.d.ts +3 -3
  472. package/dist/esm/types/JumpToSliceOptions.d.ts +1 -1
  473. package/dist/esm/types/LabelmapToolOperationData.d.ts +3 -2
  474. package/dist/esm/types/PlanarBoundingBox.d.ts +1 -1
  475. package/dist/esm/types/SVGDrawingHelper.d.ts +1 -1
  476. package/dist/esm/types/ScrollOptions.d.ts +1 -1
  477. package/dist/esm/types/SegmentationStateTypes.d.ts +7 -6
  478. package/dist/esm/types/SplineCurveSegment.d.ts +1 -1
  479. package/dist/esm/types/SplineLineSegment.d.ts +1 -1
  480. package/dist/esm/types/ToolAction.d.ts +1 -1
  481. package/dist/esm/types/ToolHandle.d.ts +1 -1
  482. package/dist/esm/types/ToolProps.d.ts +1 -1
  483. package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +34 -12
  484. package/dist/esm/types/index.d.ts +2 -2
  485. package/dist/esm/utilities/annotationFrameRange.d.ts +1 -1
  486. package/dist/esm/utilities/annotationHydration.d.ts +3 -2
  487. package/dist/esm/utilities/annotationHydration.js +1 -1
  488. package/dist/esm/utilities/cine/playClip.d.ts +6 -2
  489. package/dist/esm/utilities/cine/playClip.js +53 -6
  490. package/dist/esm/utilities/cine/state.d.ts +1 -1
  491. package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts +1 -1
  492. package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js +1 -1
  493. package/dist/esm/utilities/contourSegmentation/areSameSegment.d.ts +1 -1
  494. package/dist/esm/utilities/contourSegmentation/isContourSegmentationAnnotation.d.ts +2 -2
  495. package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts +1 -1
  496. package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +2 -2
  497. package/dist/esm/utilities/contours/AnnotationToPointData.d.ts +1 -1
  498. package/dist/esm/utilities/contours/areCoplanarContours.d.ts +1 -1
  499. package/dist/esm/utilities/contours/findHandlePolylineIndex.d.ts +1 -1
  500. package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.js +1 -1
  501. package/dist/esm/utilities/contours/getContourHolesDataWorld.js +1 -1
  502. package/dist/esm/utilities/contours/index.d.ts +1 -2
  503. package/dist/esm/utilities/contours/index.js +1 -2
  504. package/dist/esm/utilities/contours/interpolation/createPolylineToolData.d.ts +1 -1
  505. package/dist/esm/utilities/contours/interpolation/getInterpolationData.d.ts +1 -1
  506. package/dist/esm/utilities/contours/interpolation/interpolate.d.ts +1 -1
  507. package/dist/esm/utilities/contours/reverseIfAntiClockwise.d.ts +1 -1
  508. package/dist/esm/utilities/contours/updateContourPolyline.d.ts +1 -1
  509. package/dist/esm/utilities/contours/updateContourPolyline.js +1 -1
  510. package/dist/esm/utilities/dynamicVolume/generateImageFromTimeData.d.ts +3 -2
  511. package/dist/esm/utilities/dynamicVolume/generateImageFromTimeData.js +31 -23
  512. package/dist/esm/utilities/dynamicVolume/getDataInTime.d.ts +1 -1
  513. package/dist/esm/utilities/dynamicVolume/getDataInTime.js +14 -9
  514. package/dist/esm/utilities/getAnnotationNearPoint.d.ts +1 -1
  515. package/dist/esm/utilities/getCalibratedUnits.d.ts +0 -6
  516. package/dist/esm/utilities/getCalibratedUnits.js +13 -4
  517. package/dist/esm/utilities/getPixelValueUnits.d.ts +2 -1
  518. package/dist/esm/utilities/getPixelValueUnits.js +1 -0
  519. package/dist/esm/utilities/getSphereBoundsInfo.d.ts +1 -1
  520. package/dist/esm/utilities/getToolsWithModesForElement.d.ts +1 -1
  521. package/dist/esm/utilities/getToolsWithModesForElement.js +2 -2
  522. package/dist/esm/utilities/getVOIMultipliers.d.ts +1 -1
  523. package/dist/esm/utilities/index.d.ts +2 -5
  524. package/dist/esm/utilities/index.js +2 -5
  525. package/dist/esm/utilities/livewire/LiveWirePath.d.ts +1 -1
  526. package/dist/esm/utilities/livewire/LivewireScissors.d.ts +1 -1
  527. package/dist/esm/utilities/math/aabb/distanceToPoint.d.ts +1 -1
  528. package/dist/esm/utilities/math/aabb/distanceToPointSquared.d.ts +1 -1
  529. package/dist/esm/utilities/math/aabb/intersectAABB.d.ts +1 -1
  530. package/dist/esm/utilities/math/basic/BasicStatsCalculator.d.ts +2 -2
  531. package/dist/esm/utilities/math/basic/BasicStatsCalculator.js +1 -1
  532. package/dist/esm/utilities/math/basic/Calculator.d.ts +1 -1
  533. package/dist/esm/utilities/math/circle/getCanvasCircleCorners.d.ts +1 -1
  534. package/dist/esm/utilities/math/circle/getCanvasCircleRadius.d.ts +1 -1
  535. package/dist/esm/utilities/math/line/distanceToPointSquared.d.ts +1 -1
  536. package/dist/esm/utilities/math/line/distanceToPointSquaredInfo.js +3 -3
  537. package/dist/esm/utilities/math/midPoint.d.ts +1 -1
  538. package/dist/esm/utilities/math/point/mirror.d.ts +1 -1
  539. package/dist/esm/utilities/math/polyline/addCanvasPointsToArray.d.ts +1 -1
  540. package/dist/esm/utilities/math/polyline/combinePolyline.d.ts +1 -1
  541. package/dist/esm/utilities/math/polyline/getAABB.d.ts +1 -1
  542. package/dist/esm/utilities/math/polyline/getLinesIntersection.d.ts +1 -1
  543. package/dist/esm/utilities/math/polyline/getNormal2.d.ts +1 -1
  544. package/dist/esm/utilities/math/polyline/getNormal3.d.ts +1 -1
  545. package/dist/esm/utilities/math/polyline/intersectPolyline.d.ts +1 -1
  546. package/dist/esm/utilities/math/polyline/isClosed.js +2 -2
  547. package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +2 -2
  548. package/dist/esm/utilities/math/sphere/pointInSphere.d.ts +1 -1
  549. package/dist/esm/utilities/orientation/getOrientationStringLPS.d.ts +1 -1
  550. package/dist/esm/utilities/planar/filterAnnotationsForDisplay.d.ts +1 -1
  551. package/dist/esm/utilities/planar/filterAnnotationsWithinPlane.d.ts +3 -0
  552. package/dist/esm/utilities/planar/filterAnnotationsWithinPlane.js +26 -0
  553. package/dist/esm/utilities/planar/filterAnnotationsWithinSlice.d.ts +1 -1
  554. package/dist/esm/utilities/planar/index.d.ts +3 -1
  555. package/dist/esm/utilities/planar/index.js +3 -1
  556. package/dist/esm/utilities/planarFreehandROITool/interpolation/algorithms/bspline.d.ts +1 -1
  557. package/dist/esm/utilities/planarFreehandROITool/interpolation/interpolateSegmentPoints.d.ts +1 -1
  558. package/dist/esm/utilities/planarFreehandROITool/smoothAnnotation.d.ts +2 -2
  559. package/dist/esm/utilities/planarFreehandROITool/smoothAnnotation.js +3 -3
  560. package/dist/esm/utilities/planarFreehandROITool/smoothPoints.d.ts +11 -3
  561. package/dist/esm/utilities/polyData/utils.d.ts +1 -1
  562. package/dist/esm/utilities/scroll.d.ts +4 -3
  563. package/dist/esm/utilities/scroll.js +3 -10
  564. package/dist/esm/utilities/segmentation/InterpolationManager/InterpolationManager.d.ts +1 -1
  565. package/dist/esm/utilities/segmentation/brushSizeForToolGroup.js +1 -1
  566. package/dist/esm/utilities/segmentation/brushThresholdForToolGroup.js +1 -1
  567. package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.d.ts +2 -11
  568. package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js +1 -1
  569. package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.d.ts +1 -1
  570. package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js +7 -7
  571. package/dist/esm/utilities/segmentation/floodFill.d.ts +1 -1
  572. package/dist/esm/utilities/segmentation/getBrushToolInstances.d.ts +1 -0
  573. package/dist/esm/utilities/segmentation/getBrushToolInstances.js +17 -0
  574. package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.d.ts +1 -1
  575. package/dist/esm/utilities/segmentation/getSegmentIndexAtLabelmapBorder.js +8 -5
  576. package/dist/esm/utilities/segmentation/getSegmentIndexAtWorldPoint.d.ts +1 -1
  577. package/dist/esm/utilities/segmentation/getSegmentIndexAtWorldPoint.js +7 -4
  578. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.d.ts +0 -2
  579. package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +7 -27
  580. package/dist/esm/utilities/segmentation/index.d.ts +3 -3
  581. package/dist/esm/utilities/segmentation/index.js +3 -3
  582. package/dist/esm/utilities/segmentation/invalidateBrushCursor.js +1 -4
  583. package/dist/esm/utilities/segmentation/isValidRepresentationConfig.d.ts +1 -1
  584. package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.d.ts +1 -1
  585. package/dist/esm/utilities/segmentation/rectangleROIThresholdVolumeByRange.js +5 -3
  586. package/dist/esm/utilities/segmentation/segmentContourAction.d.ts +1 -1
  587. package/dist/esm/utilities/segmentation/segmentContourAction.js +9 -9
  588. package/dist/esm/utilities/segmentation/thresholdSegmentationByRange.d.ts +2 -2
  589. package/dist/esm/utilities/segmentation/thresholdSegmentationByRange.js +24 -17
  590. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.d.ts +3 -3
  591. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +21 -12
  592. package/dist/esm/utilities/segmentation/utilities.d.ts +16 -3
  593. package/dist/esm/utilities/segmentation/utilities.js +28 -23
  594. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js +30 -25
  595. package/dist/esm/utilities/stackPrefetch/stackPrefetch.js +3 -8
  596. package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js +2 -3
  597. package/dist/esm/utilities/stackPrefetch/state.d.ts +20 -1
  598. package/dist/esm/utilities/touch/index.d.ts +1 -1
  599. package/dist/esm/utilities/triggerAnnotationRender.d.ts +0 -20
  600. package/dist/esm/utilities/triggerAnnotationRender.js +1 -112
  601. package/dist/esm/utilities/viewport/isViewportPreScaled.d.ts +1 -1
  602. package/dist/esm/utilities/viewport/isViewportPreScaled.js +2 -5
  603. package/dist/esm/utilities/viewport/jumpToSlice.d.ts +1 -1
  604. package/dist/esm/utilities/viewport/jumpToSlice.js +4 -6
  605. package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js +2 -2
  606. package/dist/esm/utilities/voi/colorbar/ColorbarCanvas.d.ts +2 -2
  607. package/dist/esm/utilities/voi/colorbar/ViewportColorbar.d.ts +1 -1
  608. package/dist/esm/utilities/voi/colorbar/ViewportColorbar.js +1 -1
  609. package/dist/esm/utilities/voi/colorbar/types/ColorbarCanvasProps.d.ts +1 -1
  610. package/dist/esm/utilities/voi/colorbar/types/ColorbarCommonProps.d.ts +1 -1
  611. package/dist/esm/utilities/voi/colorbar/types/ColorbarProps.d.ts +3 -3
  612. package/dist/esm/utilities/voi/windowlevel/extractWindowLevelRegionToolData.d.ts +8 -0
  613. package/dist/esm/utilities/voi/windowlevel/extractWindowLevelRegionToolData.js +4 -10
  614. package/dist/esm/widgets/types/index.d.ts +2 -2
  615. package/dist/esm/workers/polySegConverters.js +65 -32
  616. package/dist/umd/78.index.js +1 -1
  617. package/dist/umd/78.index.js.map +1 -1
  618. package/dist/umd/985.index.js +1 -1
  619. package/dist/umd/985.index.js.map +1 -1
  620. package/dist/umd/index.js +2 -1
  621. package/dist/umd/index.js.LICENSE.txt +6 -0
  622. package/dist/umd/index.js.map +1 -1
  623. package/package.json +7 -8
  624. package/dist/esm/stateManagement/segmentation/addRepresentation.d.ts +0 -3
  625. package/dist/esm/stateManagement/segmentation/addRepresentations.d.ts +0 -3
  626. package/dist/esm/stateManagement/segmentation/addRepresentations.js +0 -9
  627. package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts +0 -17
  628. package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.js +0 -54
  629. package/dist/esm/stateManagement/segmentation/helpers/getRepresentationRenderingConfig.d.ts +0 -2
  630. package/dist/esm/stateManagement/segmentation/helpers/getRepresentationRenderingConfig.js +0 -11
  631. package/dist/esm/stateManagement/segmentation/removeRepresentationsFromViewport.d.ts +0 -2
  632. package/dist/esm/tools/AdvancedMagnifyViewport.d.ts +0 -76
  633. package/dist/esm/tools/AdvancedMagnifyViewport.js +0 -351
  634. package/dist/esm/tools/AdvancedMagnifyViewportManager.d.ts +0 -37
  635. package/dist/esm/tools/AdvancedMagnifyViewportManager.js +0 -161
  636. package/dist/esm/utilities/contours/interpolation/index.d.ts +0 -2
  637. package/dist/esm/utilities/contours/interpolation/index.js +0 -2
  638. package/dist/esm/utilities/pointInShapeCallback.d.ts +0 -18
  639. package/dist/esm/utilities/pointInShapeCallback.js +0 -82
  640. package/dist/esm/utilities/pointInSurroundingSphereCallback.d.ts +0 -4
  641. package/dist/esm/utilities/pointInSurroundingSphereCallback.js +0 -63
  642. package/dist/esm/utilities/segmentation/triggerSegmentationRender.d.ts +0 -3
  643. package/dist/esm/utilities/segmentation/triggerSegmentationRender.js +0 -6
  644. package/dist/esm/utilities/segmentation/triggerSegmentationRenderForViewports.d.ts +0 -3
  645. package/dist/esm/utilities/segmentation/triggerSegmentationRenderForViewports.js +0 -6
@@ -11,20 +11,14 @@ function extractWindowLevelRegionToolData(viewport) {
11
11
  function extractImageDataVolume(viewport) {
12
12
  const { scalarData, width, height } = csUtils.getCurrentVolumeViewportSlice(viewport);
13
13
  const { min: minPixelValue, max: maxPixelValue } = csUtils.getMinMax(scalarData);
14
- const volumeId = viewport.getVolumeId();
15
- const volume = cache.getVolume(volumeId);
16
- const { metadata, cornerstoneImageMetaData } = volume;
17
- const { Rows: rows, Columns: columns } = metadata;
18
- const { color } = cornerstoneImageMetaData;
19
14
  return {
20
15
  scalarData,
21
- width,
22
- height,
23
16
  minPixelValue,
24
17
  maxPixelValue,
25
- rows,
26
- columns,
27
- color,
18
+ width,
19
+ height,
20
+ rows: width,
21
+ columns: height,
28
22
  };
29
23
  }
30
24
  function extractImageDataStack(viewport) {
@@ -1,2 +1,2 @@
1
- export { WidgetProps } from './WidgetProps';
2
- export { WidgetSize } from './WidgetSize';
1
+ export type { WidgetProps } from './WidgetProps';
2
+ export type { WidgetSize } from './WidgetSize';
@@ -1,14 +1,13 @@
1
1
  import { expose } from 'comlink';
2
+ import { utilities } from '@cornerstonejs/core';
2
3
  import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
3
4
  import vtkDataArray from '@kitware/vtk.js/Common/Core/DataArray';
4
5
  import ICRPolySeg from '@icr/polyseg-wasm';
5
- import { utilities } from '@cornerstonejs/core';
6
6
  import vtkPlane from '@kitware/vtk.js/Common/DataModel/Plane';
7
7
  import vtkPolyData from '@kitware/vtk.js/Common/DataModel/PolyData';
8
8
  import vtkContourLoopExtraction from '@kitware/vtk.js/Filters/General/ContourLoopExtraction';
9
9
  import vtkCutter from '@kitware/vtk.js/Filters/Core/Cutter';
10
10
  import { getBoundingBoxAroundShapeWorld } from '../utilities/boundingBox';
11
- import { pointInShapeCallback } from '../utilities';
12
11
  import { containsPoint, getAABB, projectTo2D, } from '../utilities/math/polyline';
13
12
  import { isPlaneIntersectingAABB } from '../utilities/planar';
14
13
  const polySegConverters = {
@@ -57,7 +56,10 @@ const polySegConverters = {
57
56
  updateProgress: progressCallback,
58
57
  });
59
58
  const { segmentIndices, scalarData, annotationUIDsInSegmentMap, dimensions, origin, direction, spacing, } = args;
60
- const segmentationVoxelManager = utilities.VoxelManager.createVolumeVoxelManager(dimensions, scalarData);
59
+ const segmentationVoxelManager = utilities.VoxelManager.createScalarVolumeVoxelManager({
60
+ dimensions,
61
+ scalarData,
62
+ });
61
63
  const imageData = vtkImageData.newInstance();
62
64
  imageData.setDimensions(dimensions);
63
65
  imageData.setOrigin(origin);
@@ -95,19 +97,27 @@ const polySegConverters = {
95
97
  });
96
98
  const firstDim = (sharedDimensionIndex + 1) % 3;
97
99
  const secondDim = (sharedDimensionIndex + 2) % 3;
98
- pointInShapeCallback(imageData, (pointLPS) => {
99
- const point2D = [pointLPS[firstDim], pointLPS[secondDim]];
100
- const isInside = containsPoint(projectedPolyline, point2D, {
101
- holes,
102
- });
103
- return isInside;
104
- }, ({ pointIJK }) => {
100
+ const voxels = utilities.VoxelManager.createScalarVolumeVoxelManager({
101
+ dimensions,
102
+ scalarData,
103
+ });
104
+ voxels.forEach(({ pointIJK }) => {
105
105
  segmentationVoxelManager.setAtIJKPoint(pointIJK, index);
106
- }, [
107
- [iMin, iMax],
108
- [jMin, jMax],
109
- [kMin, kMax],
110
- ]);
106
+ }, {
107
+ imageData,
108
+ isInObject: (pointLPS) => {
109
+ const point2D = [pointLPS[firstDim], pointLPS[secondDim]];
110
+ const isInside = containsPoint(projectedPolyline, point2D, {
111
+ holes,
112
+ });
113
+ return isInside;
114
+ },
115
+ boundsIJK: [
116
+ [iMin, iMax],
117
+ [jMin, jMax],
118
+ [kMin, kMax],
119
+ ],
120
+ });
111
121
  }
112
122
  }
113
123
  return segmentationVoxelManager.scalarData;
@@ -122,7 +132,10 @@ const polySegConverters = {
122
132
  const segmentationVoxelManagers = new Map();
123
133
  segmentationsInfo.forEach((segmentationInfo, referencedImageId) => {
124
134
  const { dimensions, scalarData, direction, spacing, origin } = segmentationInfo;
125
- const manager = utilities.VoxelManager.createVolumeVoxelManager(dimensions, scalarData);
135
+ const manager = utilities.VoxelManager.createScalarVolumeVoxelManager({
136
+ dimensions,
137
+ scalarData,
138
+ });
126
139
  const imageData = vtkImageData.newInstance();
127
140
  imageData.setDimensions(dimensions);
128
141
  imageData.setOrigin(origin);
@@ -163,19 +176,27 @@ const polySegConverters = {
163
176
  });
164
177
  const firstDim = (sharedDimensionIndex + 1) % 3;
165
178
  const secondDim = (sharedDimensionIndex + 2) % 3;
166
- pointInShapeCallback(imageData, (pointLPS) => {
167
- const point2D = [pointLPS[firstDim], pointLPS[secondDim]];
168
- const isInside = containsPoint(projectedPolyline, point2D, {
169
- holes,
170
- });
171
- return isInside;
172
- }, ({ pointIJK }) => {
179
+ const voxels = utilities.VoxelManager.createScalarVolumeVoxelManager({
180
+ dimensions: imageData.getDimensions(),
181
+ scalarData: imageData.getPointData().getScalars().getData(),
182
+ });
183
+ voxels.forEach(({ pointIJK }) => {
173
184
  segmentationVoxelManager.setAtIJKPoint(pointIJK, index);
174
- }, [
175
- [iMin, iMax],
176
- [jMin, jMax],
177
- [kMin, kMax],
178
- ]);
185
+ }, {
186
+ imageData,
187
+ isInObject: (pointLPS) => {
188
+ const point2D = [pointLPS[firstDim], pointLPS[secondDim]];
189
+ const isInside = containsPoint(projectedPolyline, point2D, {
190
+ holes,
191
+ });
192
+ return isInside;
193
+ },
194
+ boundsIJK: [
195
+ [iMin, iMax],
196
+ [jMin, jMax],
197
+ [kMin, kMax],
198
+ ],
199
+ });
179
200
  }
180
201
  }
181
202
  segmentationsInfo.forEach((segmentationInfo, referencedImageId) => {
@@ -216,7 +237,12 @@ const polySegConverters = {
216
237
  });
217
238
  targetImageData.getPointData().setScalars(scalarArray);
218
239
  targetImageData.modified();
219
- const segmentationVoxelManager = utilities.VoxelManager.createVolumeVoxelManager(args.dimensions, targetImageData.getPointData().getScalars().getData());
240
+ const { dimensions } = args;
241
+ const scalarData = targetImageData.getPointData().getScalars().getData();
242
+ const segmentationVoxelManager = utilities.VoxelManager.createScalarVolumeVoxelManager({
243
+ dimensions,
244
+ scalarData,
245
+ });
220
246
  const outputVolumesInfo = results.map((result) => {
221
247
  const { data, dimensions, direction, origin, spacing } = result;
222
248
  const volume = vtkImageData.newInstance();
@@ -231,7 +257,10 @@ const polySegConverters = {
231
257
  });
232
258
  volume.getPointData().setScalars(scalarArray);
233
259
  volume.modified();
234
- const voxelManager = utilities.VoxelManager.createVolumeVoxelManager(dimensions, data);
260
+ const voxelManager = utilities.VoxelManager.createScalarVolumeVoxelManager({
261
+ dimensions,
262
+ scalarData: data,
263
+ });
235
264
  const extent = volume.getExtent();
236
265
  return {
237
266
  volume,
@@ -241,7 +270,11 @@ const polySegConverters = {
241
270
  segmentIndex: result.segmentIndex,
242
271
  };
243
272
  });
244
- pointInShapeCallback(targetImageData, () => true, ({ pointIJK, pointLPS }) => {
273
+ const voxels = utilities.VoxelManager.createScalarVolumeVoxelManager({
274
+ dimensions: targetImageData.getDimensions(),
275
+ scalarData: targetImageData.getPointData().getScalars().getData(),
276
+ });
277
+ voxels.forEach(({ pointIJK, pointLPS }) => {
245
278
  try {
246
279
  for (const volumeInfo of outputVolumesInfo) {
247
280
  const { volume, extent, voxelManager, segmentIndex } = volumeInfo;
@@ -264,7 +297,7 @@ const polySegConverters = {
264
297
  }
265
298
  catch (error) {
266
299
  }
267
- });
300
+ }, { imageData: targetImageData });
268
301
  return segmentationVoxelManager.scalarData;
269
302
  },
270
303
  getSurfacesAABBs({ surfacesInfo }) {
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see 78.index.js.LICENSE.txt */
2
- "use strict";(self.webpackChunkcornerstoneTools3D=self.webpackChunkcornerstoneTools3D||[]).push([[78],{699:(n,t,r)=>{var e;r.d(t,{Z:()=>o});const a=(e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(n){var t,r,a=void 0!==(n=n||{})?n:{};a.ready=new Promise((function(n,e){t=n,r=e}));var i,o=Object.assign({},a),u=[],c="./this.program",s=(n,t)=>{throw t},f="";"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),e&&(f=e),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"";var l=a.print||console.log.bind(console),p=a.printErr||console.warn.bind(console);Object.assign(a,o),o=null,a.arguments&&(u=a.arguments),a.thisProgram&&(c=a.thisProgram),a.quit&&(s=a.quit);var d;a.wasmBinary&&(d=a.wasmBinary);var h,v=a.noExitRuntime||!0;"object"!=typeof WebAssembly&&z("no native wasm support detected");var m,y,g,_,w,b,T,A,E,C,P=!1,S="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function F(n,t,r){for(var e=t+r,a=t;n[a]&&!(a>=e);)++a;if(a-t>16&&n.buffer&&S)return S.decode(n.subarray(t,a));for(var i="";t<a;){var o=n[t++];if(128&o){var u=63&n[t++];if(192!=(224&o)){var c=63&n[t++];if((o=224==(240&o)?(15&o)<<12|u<<6|c:(7&o)<<18|u<<12|c<<6|63&n[t++])<65536)i+=String.fromCharCode(o);else{var s=o-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}}else i+=String.fromCharCode((31&o)<<6|u)}else i+=String.fromCharCode(o)}return i}function j(n,t){return n?F(_,n,t):""}function k(n,t,r,e){if(!(e>0))return 0;for(var a=r,i=r+e-1,o=0;o<n.length;++o){var u=n.charCodeAt(o);if(u>=55296&&u<=57343&&(u=65536+((1023&u)<<10)|1023&n.charCodeAt(++o)),u<=127){if(r>=i)break;t[r++]=u}else if(u<=2047){if(r+1>=i)break;t[r++]=192|u>>6,t[r++]=128|63&u}else if(u<=65535){if(r+2>=i)break;t[r++]=224|u>>12,t[r++]=128|u>>6&63,t[r++]=128|63&u}else{if(r+3>=i)break;t[r++]=240|u>>18,t[r++]=128|u>>12&63,t[r++]=128|u>>6&63,t[r++]=128|63&u}}return t[r]=0,r-a}function W(n){for(var t=0,r=0;r<n.length;++r){var e=n.charCodeAt(r);e<=127?t++:e<=2047?t+=2:e>=55296&&e<=57343?(t+=4,++r):t+=3}return t}function R(n){y=n,a.HEAP8=g=new Int8Array(n),a.HEAP16=w=new Int16Array(n),a.HEAP32=T=new Int32Array(n),a.HEAPU8=_=new Uint8Array(n),a.HEAPU16=b=new Uint16Array(n),a.HEAPU32=A=new Uint32Array(n),a.HEAPF32=E=new Float32Array(n),a.HEAPF64=C=new Float64Array(n)}a.INITIAL_MEMORY;var M,O=[],D=[],x=[],I=[],U=0,H=null,Y=null;function z(n){a.onAbort&&a.onAbort(n),p(n="Aborted("+n+")"),P=!0,m=1,n+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(n);throw r(t),t}var N,L;function V(n){return n.startsWith("data:application/octet-stream;base64,")}function B(n){try{if(n==N&&d)return new Uint8Array(d);if(i)return i(n);throw"both async and sync fetching of the wasm failed"}catch(n){z(n)}}V(N="ICRPolySeg.wasm")||(L=N,N=a.locateFile?a.locateFile(L,f):f+L);var G={638383:n=>{a.updateProgress&&a.updateProgress(n)}};function q(n){this.name="ExitStatus",this.message="Program terminated with exit("+n+")",this.status=n}function J(n){for(;n.length>0;)n.shift()(a)}function $(n){this.excPtr=n,this.ptr=n-24,this.set_type=function(n){A[this.ptr+4>>2]=n},this.get_type=function(){return A[this.ptr+4>>2]},this.set_destructor=function(n){A[this.ptr+8>>2]=n},this.get_destructor=function(){return A[this.ptr+8>>2]},this.set_refcount=function(n){T[this.ptr>>2]=n},this.set_caught=function(n){n=n?1:0,g[this.ptr+12|0]=n},this.get_caught=function(){return 0!=g[this.ptr+12|0]},this.set_rethrown=function(n){n=n?1:0,g[this.ptr+13|0]=n},this.get_rethrown=function(){return 0!=g[this.ptr+13|0]},this.init=function(n,t){this.set_adjusted_ptr(0),this.set_type(n),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var n=T[this.ptr>>2];T[this.ptr>>2]=n+1},this.release_ref=function(){var n=T[this.ptr>>2];return T[this.ptr>>2]=n-1,1===n},this.set_adjusted_ptr=function(n){A[this.ptr+16>>2]=n},this.get_adjusted_ptr=function(){return A[this.ptr+16>>2]},this.get_exception_ptr=function(){if(it(this.get_type()))return A[this.excPtr>>2];var n=this.get_adjusted_ptr();return 0!==n?n:this.excPtr}}var X={varargs:void 0,get:function(){return X.varargs+=4,T[X.varargs-4>>2]},getStr:function(n){return j(n)}},Z={};function K(n){for(;n.length;){var t=n.pop();n.pop()(t)}}function Q(n){return this.fromWireType(T[n>>2])}var nn={},tn={},rn={},en=48,an=57;function on(n){if(void 0===n)return"_unknown";var t=(n=n.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=en&&t<=an?"_"+n:n}function un(n,t){return n=on(n),new Function("body","return function "+n+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function cn(n,t){var r=un(t,(function(n){this.name=t,this.message=n;var r=new Error(n).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(n.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var sn=void 0;function fn(n){throw new sn(n)}function ln(n,t,r){function e(t){var e=r(t);e.length!==n.length&&fn("Mismatched type converter count");for(var a=0;a<n.length;++a)yn(n[a],e[a])}n.forEach((function(n){rn[n]=t}));var a=new Array(t.length),i=[],o=0;t.forEach(((n,t)=>{tn.hasOwnProperty(n)?a[t]=tn[n]:(i.push(n),nn.hasOwnProperty(n)||(nn[n]=[]),nn[n].push((()=>{a[t]=tn[n],++o===i.length&&e(a)})))})),0===i.length&&e(a)}function pn(n){switch(n){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+n)}}var dn=void 0;function hn(n){for(var t="",r=n;_[r];)t+=dn[_[r++]];return t}var vn=void 0;function mn(n){throw new vn(n)}function yn(n,t,r={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=t.name;if(n||mn('type "'+e+'" must have a positive integer typeid pointer'),tn.hasOwnProperty(n)){if(r.ignoreDuplicateRegistrations)return;mn("Cannot register type '"+e+"' twice")}if(tn[n]=t,delete rn[n],nn.hasOwnProperty(n)){var a=nn[n];delete nn[n],a.forEach((n=>n()))}}var gn=[],_n=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function wn(n){n>4&&0==--_n[n].refcount&&(_n[n]=void 0,gn.push(n))}var bn=n=>(n||mn("Cannot use deleted val. handle = "+n),_n[n].value),Tn=n=>{switch(n){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=gn.length?gn.pop():_n.length;return _n[t]={refcount:1,value:n},t}};function An(n,t){switch(t){case 2:return function(n){return this.fromWireType(E[n>>2])};case 3:return function(n){return this.fromWireType(C[n>>3])};default:throw new TypeError("Unknown float type: "+n)}}function En(n,t){if(!(n instanceof Function))throw new TypeError("new_ called with constructor type "+typeof n+" which is not a function");var r=un(n.name||"unknownFunctionName",(function(){}));r.prototype=n.prototype;var e=new r,a=n.apply(e,t);return a instanceof Object?a:e}var Cn=[];function Pn(n){var t=Cn[n];return t||(n>=Cn.length&&(Cn.length=n+1),Cn[n]=t=M.get(n)),t}function Sn(n,t){var r,e,i,o=(n=hn(n)).includes("j")?(r=n,e=t,i=[],function(){return i.length=0,Object.assign(i,arguments),function(n,t,r){return n.includes("j")?function(n,t,r){var e=a["dynCall_"+n];return r&&r.length?e.apply(null,[t].concat(r)):e.call(null,t)}(n,t,r):Pn(t).apply(null,r)}(r,e,i)}):Pn(t);return"function"!=typeof o&&mn("unknown function pointer with signature "+n+": "+t),o}var Fn=void 0;function jn(n){var t=at(n),r=hn(t);return et(t),r}function kn(n,t,r){switch(t){case 0:return r?function(n){return g[n]}:function(n){return _[n]};case 1:return r?function(n){return w[n>>1]}:function(n){return b[n>>1]};case 2:return r?function(n){return T[n>>2]}:function(n){return A[n>>2]};default:throw new TypeError("Unknown integer type: "+n)}}var Wn="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Rn(n,t){for(var r=n,e=r>>1,a=e+t/2;!(e>=a)&&b[e];)++e;if((r=e<<1)-n>32&&Wn)return Wn.decode(_.subarray(n,r));for(var i="",o=0;!(o>=t/2);++o){var u=w[n+2*o>>1];if(0==u)break;i+=String.fromCharCode(u)}return i}function Mn(n,t,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var e=t,a=(r-=2)<2*n.length?r/2:n.length,i=0;i<a;++i){var o=n.charCodeAt(i);w[t>>1]=o,t+=2}return w[t>>1]=0,t-e}function On(n){return 2*n.length}function Dn(n,t){for(var r=0,e="";!(r>=t/4);){var a=T[n+4*r>>2];if(0==a)break;if(++r,a>=65536){var i=a-65536;e+=String.fromCharCode(55296|i>>10,56320|1023&i)}else e+=String.fromCharCode(a)}return e}function xn(n,t,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var e=t,a=e+r-4,i=0;i<n.length;++i){var o=n.charCodeAt(i);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&n.charCodeAt(++i)),T[t>>2]=o,(t+=4)+4>a)break}return T[t>>2]=0,t-e}function In(n){for(var t=0,r=0;r<n.length;++r){var e=n.charCodeAt(r);e>=55296&&e<=57343&&++r,t+=4}return t}function Un(n,t){var r=tn[n];return void 0===r&&mn(t+" has unknown type "+jn(n)),r}var Hn={};function Yn(n){var t=Hn[n];return void 0===t?hn(n):t}var zn=[];function Nn(){return"object"==typeof globalThis?globalThis:Function("return this")()}var Ln=[],Vn={},Bn=[];function Gn(n){try{return h.grow(n-y.byteLength+65535>>>16),R(h.buffer),1}catch(n){}}var qn={};function Jn(){if(!Jn.strings){var n={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:c||"./this.program"};for(var t in qn)void 0===qn[t]?delete n[t]:n[t]=qn[t];var r=[];for(var t in n)r.push(t+"="+n[t]);Jn.strings=r}return Jn.strings}var $n=[null,[],[]];function Xn(n,t){var r=$n[n];0===t||10===t?((1===n?l:p)(F(r,0)),r.length=0):r.push(t)}function Zn(n){return n%4==0&&(n%100!=0||n%400==0)}var Kn=[31,29,31,30,31,30,31,31,30,31,30,31],Qn=[31,28,31,30,31,30,31,31,30,31,30,31];sn=a.InternalError=cn(Error,"InternalError"),function(){for(var n=new Array(256),t=0;t<256;++t)n[t]=String.fromCharCode(t);dn=n}(),vn=a.BindingError=cn(Error,"BindingError"),a.count_emval_handles=function(){for(var n=0,t=5;t<_n.length;++t)void 0!==_n[t]&&++n;return n},a.get_first_emval=function(){for(var n=5;n<_n.length;++n)if(void 0!==_n[n])return _n[n];return null},Fn=a.UnboundTypeError=cn(Error,"UnboundTypeError");var nt,tt={b:function(n,t,r){throw new $(n).init(t,r),n},J:function(n,t){},F:function(n,t,r){},L:function(n,t,r,e){X.varargs=e},E:function(n,t,r,e){},G:function(n,t){},x:function(n){var t=Z[n];delete Z[n];var r=t.rawConstructor,e=t.rawDestructor,a=t.fields;ln([n],a.map((n=>n.getterReturnType)).concat(a.map((n=>n.setterArgumentType))),(n=>{var i={};return a.forEach(((t,r)=>{var e=t.fieldName,o=n[r],u=t.getter,c=t.getterContext,s=n[r+a.length],f=t.setter,l=t.setterContext;i[e]={read:n=>o.fromWireType(u(c,n)),write:(n,t)=>{var r=[];f(l,n,s.toWireType(r,t)),K(r)}}})),[{name:t.name,fromWireType:function(n){var t={};for(var r in i)t[r]=i[r].read(n);return e(n),t},toWireType:function(n,t){for(var a in i)if(!(a in t))throw new TypeError('Missing field: "'+a+'"');var o=r();for(a in i)i[a].write(o,t[a]);return null!==n&&n.push(e,o),o},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:e}]}))},A:function(n,t,r,e,a){},O:function(n,t,r,e,a){var i=pn(r);yn(n,{name:t=hn(t),fromWireType:function(n){return!!n},toWireType:function(n,t){return t?e:a},argPackAdvance:8,readValueFromPointer:function(n){var e;if(1===r)e=g;else if(2===r)e=w;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);e=T}return this.fromWireType(e[n>>i])},destructorFunction:null})},N:function(n,t){yn(n,{name:t=hn(t),fromWireType:function(n){var t=bn(n);return wn(n),t},toWireType:function(n,t){return Tn(t)},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:null})},v:function(n,t,r){var e=pn(r);yn(n,{name:t=hn(t),fromWireType:function(n){return n},toWireType:function(n,t){return t},argPackAdvance:8,readValueFromPointer:An(t,e),destructorFunction:null})},g:function(n,t,r,e,i,o){var u=function(n,t){for(var r=[],e=0;e<n;e++)r.push(A[t+4*e>>2]);return r}(t,r);n=hn(n),i=Sn(e,i),function(n,t,r){a.hasOwnProperty(n)?((void 0===r||void 0!==a[n].overloadTable&&void 0!==a[n].overloadTable[r])&&mn("Cannot register public name '"+n+"' twice"),function(n,t,r){if(void 0===n[t].overloadTable){var e=n[t];n[t]=function(){return n[t].overloadTable.hasOwnProperty(arguments.length)||mn("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+n[t].overloadTable+")!"),n[t].overloadTable[arguments.length].apply(this,arguments)},n[t].overloadTable=[],n[t].overloadTable[e.argCount]=e}}(a,n,n),a.hasOwnProperty(r)&&mn("Cannot register multiple overloads of a function with the same number of arguments ("+r+")!"),a[n].overloadTable[r]=t):(a[n]=t,void 0!==r&&(a[n].numArguments=r))}(n,(function(){!function(n,t){var r=[],e={};throw t.forEach((function n(t){e[t]||tn[t]||(rn[t]?rn[t].forEach(n):(r.push(t),e[t]=!0))})),new Fn(n+": "+r.map(jn).join([", "]))}("Cannot call "+n+" due to unbound types",u)}),t-1),ln([],u,(function(r){var e=[r[0],null].concat(r.slice(1));return function(n,t,r){a.hasOwnProperty(n)||fn("Replacing nonexistant public symbol"),void 0!==a[n].overloadTable&&void 0!==r?a[n].overloadTable[r]=t:(a[n]=t,a[n].argCount=r)}(n,function(n,t,r,e,a){var i=t.length;i<2&&mn("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&!1,u=!1,c=1;c<t.length;++c)if(null!==t[c]&&void 0===t[c].destructorFunction){u=!0;break}var s="void"!==t[0].name,f="",l="";for(c=0;c<i-2;++c)f+=(0!==c?", ":"")+"arg"+c,l+=(0!==c?", ":"")+"arg"+c+"Wired";var p="return function "+on(n)+"("+f+") {\nif (arguments.length !== "+(i-2)+") {\nthrowBindingError('function "+n+" called with ' + arguments.length + ' arguments, expected "+(i-2)+" args!');\n}\n";u&&(p+="var destructors = [];\n");var d=u?"destructors":"null",h=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],v=[mn,e,a,K,t[0],t[1]];for(o&&(p+="var thisWired = classParam.toWireType("+d+", this);\n"),c=0;c<i-2;++c)p+="var arg"+c+"Wired = argType"+c+".toWireType("+d+", arg"+c+"); // "+t[c+2].name+"\n",h.push("argType"+c),v.push(t[c+2]);if(o&&(l="thisWired"+(l.length>0?", ":"")+l),p+=(s?"var rv = ":"")+"invoker(fn"+(l.length>0?", ":"")+l+");\n",u)p+="runDestructors(destructors);\n";else for(c=o?1:2;c<t.length;++c){var m=1===c?"thisWired":"arg"+(c-2)+"Wired";null!==t[c].destructorFunction&&(p+=m+"_dtor("+m+"); // "+t[c].name+"\n",h.push(m+"_dtor"),v.push(t[c].destructorFunction))}return s&&(p+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),p+="}\n",h.push(p),En(Function,h).apply(null,v)}(n,e,0,i,o),t-1),[]}))},d:function(n,t,r,e,a){t=hn(t),-1===a&&(a=4294967295);var i=pn(r),o=n=>n;if(0===e){var u=32-8*r;o=n=>n<<u>>>u}var c=t.includes("unsigned");yn(n,{name:t,fromWireType:o,toWireType:c?function(n,t){return this.name,t>>>0}:function(n,t){return this.name,t},argPackAdvance:8,readValueFromPointer:kn(t,i,0!==e),destructorFunction:null})},c:function(n,t,r){var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function a(n){var t=A,r=t[n>>=2],a=t[n+1];return new e(y,a,r)}yn(n,{name:r=hn(r),fromWireType:a,argPackAdvance:8,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},u:function(n,t){var r="std::string"===(t=hn(t));yn(n,{name:t,fromWireType:function(n){var t,e=A[n>>2],a=n+4;if(r)for(var i=a,o=0;o<=e;++o){var u=a+o;if(o==e||0==_[u]){var c=j(i,u-i);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),i=u+1}}else{var s=new Array(e);for(o=0;o<e;++o)s[o]=String.fromCharCode(_[a+o]);t=s.join("")}return et(n),t},toWireType:function(n,t){var e;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var a="string"==typeof t;a||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||mn("Cannot pass non-string to std::string"),e=r&&a?W(t):t.length;var i=rt(4+e+1),o=i+4;if(A[i>>2]=e,r&&a)k(t,_,o,e+1);else if(a)for(var u=0;u<e;++u){var c=t.charCodeAt(u);c>255&&(et(o),mn("String has UTF-16 code units that do not fit in 8 bits")),_[o+u]=c}else for(u=0;u<e;++u)_[o+u]=t[u];return null!==n&&n.push(et,i),i},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:function(n){et(n)}})},m:function(n,t,r){var e,a,i,o,u;r=hn(r),2===t?(e=Rn,a=Mn,o=On,i=()=>b,u=1):4===t&&(e=Dn,a=xn,o=In,i=()=>A,u=2),yn(n,{name:r,fromWireType:function(n){for(var r,a=A[n>>2],o=i(),c=n+4,s=0;s<=a;++s){var f=n+4+s*t;if(s==a||0==o[f>>u]){var l=e(c,f-c);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),c=f+t}}return et(n),r},toWireType:function(n,e){"string"!=typeof e&&mn("Cannot pass non-string to C++ string type "+r);var i=o(e),c=rt(4+i+t);return A[c>>2]=i>>u,a(e,c+4,i+t),null!==n&&n.push(et,c),c},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:function(n){et(n)}})},y:function(n,t,r,e,a,i){Z[n]={name:hn(t),rawConstructor:Sn(r,e),rawDestructor:Sn(a,i),fields:[]}},e:function(n,t,r,e,a,i,o,u,c,s){Z[n].fields.push({fieldName:hn(t),getterReturnType:r,getter:Sn(e,a),getterContext:i,setterArgumentType:o,setter:Sn(u,c),setterContext:s})},P:function(n,t){yn(n,{isVoid:!0,name:t=hn(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(n,t){}})},r:function(n,t,r){n=bn(n),t=Un(t,"emval::as");var e=[],a=Tn(e);return A[r>>2]=a,t.toWireType(e,n)},i:function(n,t,r,e){(n=zn[n])(t=bn(t),r=Yn(r),null,e)},a:wn,p:function(n){return 0===n?Tn(Nn()):(n=Yn(n),Tn(Nn()[n]))},j:function(n,t){var r=function(n,t){for(var r=new Array(n),e=0;e<n;++e)r[e]=Un(A[t+4*e>>2],"parameter "+e);return r}(n,t),e=r[0],a=e.name+"_$"+r.slice(1).map((function(n){return n.name})).join("_")+"$",i=Ln[a];if(void 0!==i)return i;for(var o=["retType"],u=[e],c="",s=0;s<n-1;++s)c+=(0!==s?", ":"")+"arg"+s,o.push("argType"+s),u.push(r[1+s]);var f,l,p="return function "+on("methodCaller_"+a)+"(handle, name, destructors, args) {\n",d=0;for(s=0;s<n-1;++s)p+=" var arg"+s+" = argType"+s+".readValueFromPointer(args"+(d?"+"+d:"")+");\n",d+=r[s+1].argPackAdvance;for(p+=" var rv = handle[name]("+c+");\n",s=0;s<n-1;++s)r[s+1].deleteObject&&(p+=" argType"+s+".deleteObject(arg"+s+");\n");return e.isVoid||(p+=" return retType.toWireType(destructors, rv);\n"),p+="};\n",o.push(p),f=En(Function,o).apply(null,u),l=zn.length,zn.push(f),i=l,Ln[a]=i,i},s:function(n,t){return n=bn(n),t=bn(t),Tn(n[t])},f:function(n){n>4&&(_n[n].refcount+=1)},o:function(n,t,r,e){n=bn(n);var i=Vn[t];return i||(i=function(n){for(var t="",r=0;r<n;++r)t+=(0!==r?", ":"")+"arg"+r;var e="return function emval_allocator_"+n+"(constructor, argTypes, args) {\n var HEAPU32 = getMemory();\n";for(r=0;r<n;++r)e+="var argType"+r+" = requireRegisteredType(HEAPU32[((argTypes)>>2)], 'parameter "+r+"');\nvar arg"+r+" = argType"+r+".readValueFromPointer(args);\nargs += argType"+r+"['argPackAdvance'];\nargTypes += 4;\n";return e+="var obj = new constructor("+t+");\nreturn valueToHandle(obj);\n}\n",new Function("requireRegisteredType","Module","valueToHandle","getMemory",e)(Un,a,Tn,(()=>A))}(t),Vn[t]=i),i(n,r,e)},w:function(n){return Tn(Yn(n))},q:function(n){K(bn(n)),wn(n)},k:function(n,t){var r=(n=Un(n,"_emval_take_value")).readValueFromPointer(t);return Tn(r)},n:function(){z("")},h:function(n,t,r){return function(n,t,r){var e=function(n,t){var r;for(Bn.length=0,t>>=2;r=_[n++];)t+=105!=r&t,Bn.push(105==r?T[t]:C[t++>>1]),++t;return Bn}(t,r);return G[n].apply(null,e)}(n,t,r)},D:function(){return 2147483648},M:function(n,t,r){_.copyWithin(n,t,t+r)},C:function(n){var t,r=_.length,e=2147483648;if((n>>>=0)>e)return!1;for(var a=1;a<=4;a*=2){var i=r*(1+.2/a);if(i=Math.min(i,n+100663296),Gn(Math.min(e,(t=Math.max(n,i))+(65536-t%65536)%65536)))return!0}return!1},H:function(n,t){var r=0;return Jn().forEach((function(e,a){var i=t+r;A[n+4*a>>2]=i,function(n,t,r){for(var e=0;e<n.length;++e)g[0|t++]=n.charCodeAt(e);g[0|t]=0}(e,i),r+=e.length+1})),0},I:function(n,t){var r=Jn();A[n>>2]=r.length;var e=0;return r.forEach((function(n){e+=n.length+1})),A[t>>2]=e,0},l:function(n){return 52},K:function(n,t,r,e){return 52},z:function(n,t,r,e,a){return 70},t:function(n,t,r,e){for(var a=0,i=0;i<r;i++){var o=A[t>>2],u=A[t+4>>2];t+=8;for(var c=0;c<u;c++)Xn(n,_[o+c]);a+=u}return A[e>>2]=a,0},B:function(n,t,r,e,a){return function(n,t,r,e){var a=T[e+40>>2],i={tm_sec:T[e>>2],tm_min:T[e+4>>2],tm_hour:T[e+8>>2],tm_mday:T[e+12>>2],tm_mon:T[e+16>>2],tm_year:T[e+20>>2],tm_wday:T[e+24>>2],tm_yday:T[e+28>>2],tm_isdst:T[e+32>>2],tm_gmtoff:T[e+36>>2],tm_zone:a?j(a):""},o=j(r),u={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var c in u)o=o.replace(new RegExp(c,"g"),u[c]);var s=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],f=["January","February","March","April","May","June","July","August","September","October","November","December"];function l(n,t,r){for(var e="number"==typeof n?n.toString():n||"";e.length<t;)e=r[0]+e;return e}function p(n,t){return l(n,t,"0")}function d(n,t){function r(n){return n<0?-1:n>0?1:0}var e;return 0===(e=r(n.getFullYear()-t.getFullYear()))&&0===(e=r(n.getMonth()-t.getMonth()))&&(e=r(n.getDate()-t.getDate())),e}function h(n){switch(n.getDay()){case 0:return new Date(n.getFullYear()-1,11,29);case 1:return n;case 2:return new Date(n.getFullYear(),0,3);case 3:return new Date(n.getFullYear(),0,2);case 4:return new Date(n.getFullYear(),0,1);case 5:return new Date(n.getFullYear()-1,11,31);case 6:return new Date(n.getFullYear()-1,11,30)}}function v(n){var t=function(n,t){for(var r=new Date(n.getTime());t>0;){var e=Zn(r.getFullYear()),a=r.getMonth(),i=(e?Kn:Qn)[a];if(!(t>i-r.getDate()))return r.setDate(r.getDate()+t),r;t-=i-r.getDate()+1,r.setDate(1),a<11?r.setMonth(a+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}(new Date(n.tm_year+1900,0,1),n.tm_yday),r=new Date(t.getFullYear(),0,4),e=new Date(t.getFullYear()+1,0,4),a=h(r),i=h(e);return d(a,t)<=0?d(i,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var m={"%a":function(n){return s[n.tm_wday].substring(0,3)},"%A":function(n){return s[n.tm_wday]},"%b":function(n){return f[n.tm_mon].substring(0,3)},"%B":function(n){return f[n.tm_mon]},"%C":function(n){return p((n.tm_year+1900)/100|0,2)},"%d":function(n){return p(n.tm_mday,2)},"%e":function(n){return l(n.tm_mday,2," ")},"%g":function(n){return v(n).toString().substring(2)},"%G":function(n){return v(n)},"%H":function(n){return p(n.tm_hour,2)},"%I":function(n){var t=n.tm_hour;return 0==t?t=12:t>12&&(t-=12),p(t,2)},"%j":function(n){return p(n.tm_mday+function(n,t){for(var r=0,e=0;e<=t;r+=n[e++]);return r}(Zn(n.tm_year+1900)?Kn:Qn,n.tm_mon-1),3)},"%m":function(n){return p(n.tm_mon+1,2)},"%M":function(n){return p(n.tm_min,2)},"%n":function(){return"\n"},"%p":function(n){return n.tm_hour>=0&&n.tm_hour<12?"AM":"PM"},"%S":function(n){return p(n.tm_sec,2)},"%t":function(){return"\t"},"%u":function(n){return n.tm_wday||7},"%U":function(n){var t=n.tm_yday+7-n.tm_wday;return p(Math.floor(t/7),2)},"%V":function(n){var t=Math.floor((n.tm_yday+7-(n.tm_wday+6)%7)/7);if((n.tm_wday+371-n.tm_yday-2)%7<=2&&t++,t){if(53==t){var r=(n.tm_wday+371-n.tm_yday)%7;4==r||3==r&&Zn(n.tm_year)||(t=1)}}else{t=52;var e=(n.tm_wday+7-n.tm_yday-1)%7;(4==e||5==e&&Zn(n.tm_year%400-1))&&t++}return p(t,2)},"%w":function(n){return n.tm_wday},"%W":function(n){var t=n.tm_yday+7-(n.tm_wday+6)%7;return p(Math.floor(t/7),2)},"%y":function(n){return(n.tm_year+1900).toString().substring(2)},"%Y":function(n){return n.tm_year+1900},"%z":function(n){var t=n.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(n){return n.tm_zone},"%%":function(){return"%"}};for(var c in o=o.replace(/%%/g,"\0\0"),m)o.includes(c)&&(o=o.replace(new RegExp(c,"g"),m[c](i)));var y,_,w,b=(_=W(y=o=o.replace(/\0\0/g,"%"))+1,k(y,w=new Array(_),0,w.length),w);return b.length>t?0:(function(n,t){g.set(n,t)}(b,n),b.length-1)}(n,t,r,e)}},rt=(function(){var n={a:tt};function t(n,t){var r,e=n.exports;a.asm=e,R((h=a.asm.Q).buffer),M=a.asm.T,r=a.asm.R,D.unshift(r),function(n){if(U--,a.monitorRunDependencies&&a.monitorRunDependencies(U),0==U&&(null!==H&&(clearInterval(H),H=null),Y)){var t=Y;Y=null,t()}}()}function e(n){t(n.instance)}function i(t){return(d||"function"!=typeof fetch?Promise.resolve().then((function(){return B(N)})):fetch(N,{credentials:"same-origin"}).then((function(n){if(!n.ok)throw"failed to load wasm binary file at '"+N+"'";return n.arrayBuffer()})).catch((function(){return B(N)}))).then((function(t){return WebAssembly.instantiate(t,n)})).then((function(n){return n})).then(t,(function(n){p("failed to asynchronously prepare wasm: "+n),z(n)}))}if(U++,a.monitorRunDependencies&&a.monitorRunDependencies(U),a.instantiateWasm)try{return a.instantiateWasm(n,t)}catch(n){p("Module.instantiateWasm callback failed with error: "+n),r(n)}(d||"function"!=typeof WebAssembly.instantiateStreaming||V(N)||"function"!=typeof fetch?i(e):fetch(N,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,n).then(e,(function(n){return p("wasm streaming compile failed: "+n),p("falling back to ArrayBuffer instantiation"),i(e)}))}))).catch(r)}(),a.___wasm_call_ctors=function(){return(a.___wasm_call_ctors=a.asm.R).apply(null,arguments)},a._main=function(){return(a._main=a.asm.S).apply(null,arguments)},a._malloc=function(){return(rt=a._malloc=a.asm.U).apply(null,arguments)}),et=a._free=function(){return(et=a._free=a.asm.V).apply(null,arguments)},at=a.___getTypeName=function(){return(at=a.___getTypeName=a.asm.W).apply(null,arguments)},it=(a.__embind_initialize_bindings=function(){return(a.__embind_initialize_bindings=a.asm.X).apply(null,arguments)},a.___cxa_is_pointer_type=function(){return(it=a.___cxa_is_pointer_type=a.asm.Y).apply(null,arguments)});function ot(n){var t,r,e=a._main;try{var i=e(0,0);return m=t=i,m=r=t,v||(a.onExit&&a.onExit(r),P=!0),s(r,new q(r)),i}catch(n){return function(n){if(n instanceof q||"unwind"==n)return m;s(1,n)}(n)}}function ut(n){function r(){nt||(nt=!0,a.calledRun=!0,P||(J(D),J(x),t(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),ct&&ot(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)n=a.postRun.shift(),I.unshift(n);var n;J(I)}()))}n=n||u,U>0||(function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)n=a.preRun.shift(),O.unshift(n);var n;J(O)}(),U>0||(a.setStatus?(a.setStatus("Running..."),setTimeout((function(){setTimeout((function(){a.setStatus("")}),1),r()}),1)):r()))}if(a.dynCall_viij=function(){return(a.dynCall_viij=a.asm.Z).apply(null,arguments)},a.dynCall_vij=function(){return(a.dynCall_vij=a.asm._).apply(null,arguments)},a.dynCall_iij=function(){return(a.dynCall_iij=a.asm.$).apply(null,arguments)},a.dynCall_viji=function(){return(a.dynCall_viji=a.asm.aa).apply(null,arguments)},a.dynCall_jiji=function(){return(a.dynCall_jiji=a.asm.ba).apply(null,arguments)},a.dynCall_viijii=function(){return(a.dynCall_viijii=a.asm.ca).apply(null,arguments)},a.dynCall_iiiiij=function(){return(a.dynCall_iiiiij=a.asm.da).apply(null,arguments)},a.dynCall_iiiiijj=function(){return(a.dynCall_iiiiijj=a.asm.ea).apply(null,arguments)},a.dynCall_iiiiiijj=function(){return(a.dynCall_iiiiiijj=a.asm.fa).apply(null,arguments)},a.___start_em_js=638316,a.___stop_em_js=638383,Y=function n(){nt||ut(),nt||(Y=n)},a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();var ct=!0;return a.noInitialRun&&(ct=!1),ut(),n.ready}),i=r.p+"17dd54813d5acc10bf8f.wasm";class o{constructor(){this._instance}get instance(){if(this._instance)return this._instance;throw new Error("ICRPolySeg is not initialized.")}async initialize(n={}){this._instance=await a({locateFile:n=>n.endsWith(".wasm")?i:n,...n})}}},758:(n,t,r)=>{r.d(t,{Jj:()=>f});const e=Symbol("Comlink.proxy"),a=Symbol("Comlink.endpoint"),i=Symbol("Comlink.releaseProxy"),o=Symbol("Comlink.finalizer"),u=Symbol("Comlink.thrown"),c=n=>"object"==typeof n&&null!==n||"function"==typeof n,s=new Map([["proxy",{canHandle:n=>c(n)&&n[e],serialize(n){const{port1:t,port2:r}=new MessageChannel;return f(n,t),[r,[r]]},deserialize:n=>(n.start(),m(n,[],undefined))}],["throw",{canHandle:n=>c(n)&&u in n,serialize({value:n}){let t;return t=n instanceof Error?{isError:!0,value:{message:n.message,name:n.name,stack:n.stack}}:{isError:!1,value:n},[t,[]]},deserialize(n){if(n.isError)throw Object.assign(new Error(n.value.message),n.value);throw n.value}}]]);function f(n,t=globalThis,r=["*"]){t.addEventListener("message",(function a(i){if(!i||!i.data)return;if(!function(n,t){for(const r of n){if(t===r||"*"===r)return!0;if(r instanceof RegExp&&r.test(t))return!0}return!1}(r,i.origin))return void console.warn(`Invalid origin '${i.origin}' for comlink proxy`);const{id:c,type:s,path:p}=Object.assign({path:[]},i.data),d=(i.data.argumentList||[]).map(w);let h;try{const t=p.slice(0,-1).reduce(((n,t)=>n[t]),n),r=p.reduce(((n,t)=>n[t]),n);switch(s){case"GET":h=r;break;case"SET":t[p.slice(-1)[0]]=w(i.data.value),h=!0;break;case"APPLY":h=r.apply(t,d);break;case"CONSTRUCT":h=function(n){return Object.assign(n,{[e]:!0})}(new r(...d));break;case"ENDPOINT":{const{port1:t,port2:r}=new MessageChannel;f(n,r),h=function(n,t){return g.set(n,t),n}(t,[t])}break;case"RELEASE":h=void 0;break;default:return}}catch(n){h={value:n,[u]:0}}Promise.resolve(h).catch((n=>({value:n,[u]:0}))).then((r=>{const[e,i]=_(r);t.postMessage(Object.assign(Object.assign({},e),{id:c}),i),"RELEASE"===s&&(t.removeEventListener("message",a),l(t),o in n&&"function"==typeof n[o]&&n[o]())})).catch((n=>{const[r,e]=_({value:new TypeError("Unserializable return value"),[u]:0});t.postMessage(Object.assign(Object.assign({},r),{id:c}),e)}))})),t.start&&t.start()}function l(n){(function(n){return"MessagePort"===n.constructor.name})(n)&&n.close()}function p(n){if(n)throw new Error("Proxy has been released and is not useable")}function d(n){return b(n,{type:"RELEASE"}).then((()=>{l(n)}))}const h=new WeakMap,v="FinalizationRegistry"in globalThis&&new FinalizationRegistry((n=>{const t=(h.get(n)||0)-1;h.set(n,t),0===t&&d(n)}));function m(n,t=[],r=function(){}){let e=!1;const o=new Proxy(r,{get(r,a){if(p(e),a===i)return()=>{!function(n){v&&v.unregister(n)}(o),d(n),e=!0};if("then"===a){if(0===t.length)return{then:()=>o};const r=b(n,{type:"GET",path:t.map((n=>n.toString()))}).then(w);return r.then.bind(r)}return m(n,[...t,a])},set(r,a,i){p(e);const[o,u]=_(i);return b(n,{type:"SET",path:[...t,a].map((n=>n.toString())),value:o},u).then(w)},apply(r,i,o){p(e);const u=t[t.length-1];if(u===a)return b(n,{type:"ENDPOINT"}).then(w);if("bind"===u)return m(n,t.slice(0,-1));const[c,s]=y(o);return b(n,{type:"APPLY",path:t.map((n=>n.toString())),argumentList:c},s).then(w)},construct(r,a){p(e);const[i,o]=y(a);return b(n,{type:"CONSTRUCT",path:t.map((n=>n.toString())),argumentList:i},o).then(w)}});return function(n,t){const r=(h.get(t)||0)+1;h.set(t,r),v&&v.register(n,t,n)}(o,n),o}function y(n){const t=n.map(_);return[t.map((n=>n[0])),(r=t.map((n=>n[1])),Array.prototype.concat.apply([],r))];var r}const g=new WeakMap;function _(n){for(const[t,r]of s)if(r.canHandle(n)){const[e,a]=r.serialize(n);return[{type:"HANDLER",name:t,value:e},a]}return[{type:"RAW",value:n},g.get(n)||[]]}function w(n){switch(n.type){case"HANDLER":return s.get(n.name).deserialize(n.value);case"RAW":return n.value}}function b(n,t,r){return new Promise((e=>{const a=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");n.addEventListener("message",(function t(r){r.data&&r.data.id&&r.data.id===a&&(n.removeEventListener("message",t),e(r.data))})),n.start&&n.start(),n.postMessage(Object.assign({id:a},t),r)}))}}}]);
2
+ "use strict";(self.webpackChunkcornerstoneTools3D=self.webpackChunkcornerstoneTools3D||[]).push([[78],{699:(n,t,r)=>{var e;r.d(t,{Z:()=>o});const a=(e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(n){var t,r,a=void 0!==(n=n||{})?n:{};a.ready=new Promise((function(n,e){t=n,r=e}));var i,o=Object.assign({},a),u=[],c="./this.program",s=(n,t)=>{throw t},f="";"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),e&&(f=e),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"";var l=a.print||console.log.bind(console),p=a.printErr||console.warn.bind(console);Object.assign(a,o),o=null,a.arguments&&(u=a.arguments),a.thisProgram&&(c=a.thisProgram),a.quit&&(s=a.quit);var d;a.wasmBinary&&(d=a.wasmBinary);var h,v=a.noExitRuntime||!0;"object"!=typeof WebAssembly&&z("no native wasm support detected");var m,y,g,_,w,b,T,A,E,C,P=!1,S="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function F(n,t,r){for(var e=t+r,a=t;n[a]&&!(a>=e);)++a;if(a-t>16&&n.buffer&&S)return S.decode(n.subarray(t,a));for(var i="";t<a;){var o=n[t++];if(128&o){var u=63&n[t++];if(192!=(224&o)){var c=63&n[t++];if((o=224==(240&o)?(15&o)<<12|u<<6|c:(7&o)<<18|u<<12|c<<6|63&n[t++])<65536)i+=String.fromCharCode(o);else{var s=o-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}}else i+=String.fromCharCode((31&o)<<6|u)}else i+=String.fromCharCode(o)}return i}function j(n,t){return n?F(_,n,t):""}function k(n,t,r,e){if(!(e>0))return 0;for(var a=r,i=r+e-1,o=0;o<n.length;++o){var u=n.charCodeAt(o);if(u>=55296&&u<=57343&&(u=65536+((1023&u)<<10)|1023&n.charCodeAt(++o)),u<=127){if(r>=i)break;t[r++]=u}else if(u<=2047){if(r+1>=i)break;t[r++]=192|u>>6,t[r++]=128|63&u}else if(u<=65535){if(r+2>=i)break;t[r++]=224|u>>12,t[r++]=128|u>>6&63,t[r++]=128|63&u}else{if(r+3>=i)break;t[r++]=240|u>>18,t[r++]=128|u>>12&63,t[r++]=128|u>>6&63,t[r++]=128|63&u}}return t[r]=0,r-a}function W(n){for(var t=0,r=0;r<n.length;++r){var e=n.charCodeAt(r);e<=127?t++:e<=2047?t+=2:e>=55296&&e<=57343?(t+=4,++r):t+=3}return t}function R(n){y=n,a.HEAP8=g=new Int8Array(n),a.HEAP16=w=new Int16Array(n),a.HEAP32=T=new Int32Array(n),a.HEAPU8=_=new Uint8Array(n),a.HEAPU16=b=new Uint16Array(n),a.HEAPU32=A=new Uint32Array(n),a.HEAPF32=E=new Float32Array(n),a.HEAPF64=C=new Float64Array(n)}a.INITIAL_MEMORY;var M,O=[],D=[],x=[],I=[],U=0,H=null,Y=null;function z(n){a.onAbort&&a.onAbort(n),p(n="Aborted("+n+")"),P=!0,m=1,n+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(n);throw r(t),t}var N,L;function V(n){return n.startsWith("data:application/octet-stream;base64,")}function B(n){try{if(n==N&&d)return new Uint8Array(d);if(i)return i(n);throw"both async and sync fetching of the wasm failed"}catch(n){z(n)}}V(N="ICRPolySeg.wasm")||(L=N,N=a.locateFile?a.locateFile(L,f):f+L);var G={638383:n=>{a.updateProgress&&a.updateProgress(n)}};function q(n){this.name="ExitStatus",this.message="Program terminated with exit("+n+")",this.status=n}function J(n){for(;n.length>0;)n.shift()(a)}function $(n){this.excPtr=n,this.ptr=n-24,this.set_type=function(n){A[this.ptr+4>>2]=n},this.get_type=function(){return A[this.ptr+4>>2]},this.set_destructor=function(n){A[this.ptr+8>>2]=n},this.get_destructor=function(){return A[this.ptr+8>>2]},this.set_refcount=function(n){T[this.ptr>>2]=n},this.set_caught=function(n){n=n?1:0,g[this.ptr+12|0]=n},this.get_caught=function(){return 0!=g[this.ptr+12|0]},this.set_rethrown=function(n){n=n?1:0,g[this.ptr+13|0]=n},this.get_rethrown=function(){return 0!=g[this.ptr+13|0]},this.init=function(n,t){this.set_adjusted_ptr(0),this.set_type(n),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var n=T[this.ptr>>2];T[this.ptr>>2]=n+1},this.release_ref=function(){var n=T[this.ptr>>2];return T[this.ptr>>2]=n-1,1===n},this.set_adjusted_ptr=function(n){A[this.ptr+16>>2]=n},this.get_adjusted_ptr=function(){return A[this.ptr+16>>2]},this.get_exception_ptr=function(){if(it(this.get_type()))return A[this.excPtr>>2];var n=this.get_adjusted_ptr();return 0!==n?n:this.excPtr}}var X={varargs:void 0,get:function(){return X.varargs+=4,T[X.varargs-4>>2]},getStr:function(n){return j(n)}},Z={};function K(n){for(;n.length;){var t=n.pop();n.pop()(t)}}function Q(n){return this.fromWireType(T[n>>2])}var nn={},tn={},rn={},en=48,an=57;function on(n){if(void 0===n)return"_unknown";var t=(n=n.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=en&&t<=an?"_"+n:n}function un(n,t){return n=on(n),new Function("body","return function "+n+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function cn(n,t){var r=un(t,(function(n){this.name=t,this.message=n;var r=new Error(n).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(n.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var sn=void 0;function fn(n){throw new sn(n)}function ln(n,t,r){function e(t){var e=r(t);e.length!==n.length&&fn("Mismatched type converter count");for(var a=0;a<n.length;++a)yn(n[a],e[a])}n.forEach((function(n){rn[n]=t}));var a=new Array(t.length),i=[],o=0;t.forEach(((n,t)=>{tn.hasOwnProperty(n)?a[t]=tn[n]:(i.push(n),nn.hasOwnProperty(n)||(nn[n]=[]),nn[n].push((()=>{a[t]=tn[n],++o===i.length&&e(a)})))})),0===i.length&&e(a)}function pn(n){switch(n){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+n)}}var dn=void 0;function hn(n){for(var t="",r=n;_[r];)t+=dn[_[r++]];return t}var vn=void 0;function mn(n){throw new vn(n)}function yn(n,t,r={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=t.name;if(n||mn('type "'+e+'" must have a positive integer typeid pointer'),tn.hasOwnProperty(n)){if(r.ignoreDuplicateRegistrations)return;mn("Cannot register type '"+e+"' twice")}if(tn[n]=t,delete rn[n],nn.hasOwnProperty(n)){var a=nn[n];delete nn[n],a.forEach((n=>n()))}}var gn=[],_n=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function wn(n){n>4&&0==--_n[n].refcount&&(_n[n]=void 0,gn.push(n))}var bn=n=>(n||mn("Cannot use deleted val. handle = "+n),_n[n].value),Tn=n=>{switch(n){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=gn.length?gn.pop():_n.length;return _n[t]={refcount:1,value:n},t}};function An(n,t){switch(t){case 2:return function(n){return this.fromWireType(E[n>>2])};case 3:return function(n){return this.fromWireType(C[n>>3])};default:throw new TypeError("Unknown float type: "+n)}}function En(n,t){if(!(n instanceof Function))throw new TypeError("new_ called with constructor type "+typeof n+" which is not a function");var r=un(n.name||"unknownFunctionName",(function(){}));r.prototype=n.prototype;var e=new r,a=n.apply(e,t);return a instanceof Object?a:e}var Cn=[];function Pn(n){var t=Cn[n];return t||(n>=Cn.length&&(Cn.length=n+1),Cn[n]=t=M.get(n)),t}function Sn(n,t){var r,e,i,o=(n=hn(n)).includes("j")?(r=n,e=t,i=[],function(){return i.length=0,Object.assign(i,arguments),function(n,t,r){return n.includes("j")?function(n,t,r){var e=a["dynCall_"+n];return r&&r.length?e.apply(null,[t].concat(r)):e.call(null,t)}(n,t,r):Pn(t).apply(null,r)}(r,e,i)}):Pn(t);return"function"!=typeof o&&mn("unknown function pointer with signature "+n+": "+t),o}var Fn=void 0;function jn(n){var t=at(n),r=hn(t);return et(t),r}function kn(n,t,r){switch(t){case 0:return r?function(n){return g[n]}:function(n){return _[n]};case 1:return r?function(n){return w[n>>1]}:function(n){return b[n>>1]};case 2:return r?function(n){return T[n>>2]}:function(n){return A[n>>2]};default:throw new TypeError("Unknown integer type: "+n)}}var Wn="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Rn(n,t){for(var r=n,e=r>>1,a=e+t/2;!(e>=a)&&b[e];)++e;if((r=e<<1)-n>32&&Wn)return Wn.decode(_.subarray(n,r));for(var i="",o=0;!(o>=t/2);++o){var u=w[n+2*o>>1];if(0==u)break;i+=String.fromCharCode(u)}return i}function Mn(n,t,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var e=t,a=(r-=2)<2*n.length?r/2:n.length,i=0;i<a;++i){var o=n.charCodeAt(i);w[t>>1]=o,t+=2}return w[t>>1]=0,t-e}function On(n){return 2*n.length}function Dn(n,t){for(var r=0,e="";!(r>=t/4);){var a=T[n+4*r>>2];if(0==a)break;if(++r,a>=65536){var i=a-65536;e+=String.fromCharCode(55296|i>>10,56320|1023&i)}else e+=String.fromCharCode(a)}return e}function xn(n,t,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var e=t,a=e+r-4,i=0;i<n.length;++i){var o=n.charCodeAt(i);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&n.charCodeAt(++i)),T[t>>2]=o,(t+=4)+4>a)break}return T[t>>2]=0,t-e}function In(n){for(var t=0,r=0;r<n.length;++r){var e=n.charCodeAt(r);e>=55296&&e<=57343&&++r,t+=4}return t}function Un(n,t){var r=tn[n];return void 0===r&&mn(t+" has unknown type "+jn(n)),r}var Hn={};function Yn(n){var t=Hn[n];return void 0===t?hn(n):t}var zn=[];function Nn(){return"object"==typeof globalThis?globalThis:Function("return this")()}var Ln=[],Vn={},Bn=[];function Gn(n){try{return h.grow(n-y.byteLength+65535>>>16),R(h.buffer),1}catch(n){}}var qn={};function Jn(){if(!Jn.strings){var n={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:c||"./this.program"};for(var t in qn)void 0===qn[t]?delete n[t]:n[t]=qn[t];var r=[];for(var t in n)r.push(t+"="+n[t]);Jn.strings=r}return Jn.strings}var $n=[null,[],[]];function Xn(n,t){var r=$n[n];0===t||10===t?((1===n?l:p)(F(r,0)),r.length=0):r.push(t)}function Zn(n){return n%4==0&&(n%100!=0||n%400==0)}var Kn=[31,29,31,30,31,30,31,31,30,31,30,31],Qn=[31,28,31,30,31,30,31,31,30,31,30,31];sn=a.InternalError=cn(Error,"InternalError"),function(){for(var n=new Array(256),t=0;t<256;++t)n[t]=String.fromCharCode(t);dn=n}(),vn=a.BindingError=cn(Error,"BindingError"),a.count_emval_handles=function(){for(var n=0,t=5;t<_n.length;++t)void 0!==_n[t]&&++n;return n},a.get_first_emval=function(){for(var n=5;n<_n.length;++n)if(void 0!==_n[n])return _n[n];return null},Fn=a.UnboundTypeError=cn(Error,"UnboundTypeError");var nt,tt={b:function(n,t,r){throw new $(n).init(t,r),n},J:function(n,t){},F:function(n,t,r){},L:function(n,t,r,e){X.varargs=e},E:function(n,t,r,e){},G:function(n,t){},x:function(n){var t=Z[n];delete Z[n];var r=t.rawConstructor,e=t.rawDestructor,a=t.fields;ln([n],a.map((n=>n.getterReturnType)).concat(a.map((n=>n.setterArgumentType))),(n=>{var i={};return a.forEach(((t,r)=>{var e=t.fieldName,o=n[r],u=t.getter,c=t.getterContext,s=n[r+a.length],f=t.setter,l=t.setterContext;i[e]={read:n=>o.fromWireType(u(c,n)),write:(n,t)=>{var r=[];f(l,n,s.toWireType(r,t)),K(r)}}})),[{name:t.name,fromWireType:function(n){var t={};for(var r in i)t[r]=i[r].read(n);return e(n),t},toWireType:function(n,t){for(var a in i)if(!(a in t))throw new TypeError('Missing field: "'+a+'"');var o=r();for(a in i)i[a].write(o,t[a]);return null!==n&&n.push(e,o),o},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:e}]}))},A:function(n,t,r,e,a){},O:function(n,t,r,e,a){var i=pn(r);yn(n,{name:t=hn(t),fromWireType:function(n){return!!n},toWireType:function(n,t){return t?e:a},argPackAdvance:8,readValueFromPointer:function(n){var e;if(1===r)e=g;else if(2===r)e=w;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);e=T}return this.fromWireType(e[n>>i])},destructorFunction:null})},N:function(n,t){yn(n,{name:t=hn(t),fromWireType:function(n){var t=bn(n);return wn(n),t},toWireType:function(n,t){return Tn(t)},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:null})},v:function(n,t,r){var e=pn(r);yn(n,{name:t=hn(t),fromWireType:function(n){return n},toWireType:function(n,t){return t},argPackAdvance:8,readValueFromPointer:An(t,e),destructorFunction:null})},g:function(n,t,r,e,i,o){var u=function(n,t){for(var r=[],e=0;e<n;e++)r.push(A[t+4*e>>2]);return r}(t,r);n=hn(n),i=Sn(e,i),function(n,t,r){a.hasOwnProperty(n)?((void 0===r||void 0!==a[n].overloadTable&&void 0!==a[n].overloadTable[r])&&mn("Cannot register public name '"+n+"' twice"),function(n,t,r){if(void 0===n[t].overloadTable){var e=n[t];n[t]=function(){return n[t].overloadTable.hasOwnProperty(arguments.length)||mn("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+n[t].overloadTable+")!"),n[t].overloadTable[arguments.length].apply(this,arguments)},n[t].overloadTable=[],n[t].overloadTable[e.argCount]=e}}(a,n,n),a.hasOwnProperty(r)&&mn("Cannot register multiple overloads of a function with the same number of arguments ("+r+")!"),a[n].overloadTable[r]=t):(a[n]=t,void 0!==r&&(a[n].numArguments=r))}(n,(function(){!function(n,t){var r=[],e={};throw t.forEach((function n(t){e[t]||tn[t]||(rn[t]?rn[t].forEach(n):(r.push(t),e[t]=!0))})),new Fn(n+": "+r.map(jn).join([", "]))}("Cannot call "+n+" due to unbound types",u)}),t-1),ln([],u,(function(r){var e=[r[0],null].concat(r.slice(1));return function(n,t,r){a.hasOwnProperty(n)||fn("Replacing nonexistant public symbol"),void 0!==a[n].overloadTable&&void 0!==r?a[n].overloadTable[r]=t:(a[n]=t,a[n].argCount=r)}(n,function(n,t,r,e,a){var i=t.length;i<2&&mn("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&!1,u=!1,c=1;c<t.length;++c)if(null!==t[c]&&void 0===t[c].destructorFunction){u=!0;break}var s="void"!==t[0].name,f="",l="";for(c=0;c<i-2;++c)f+=(0!==c?", ":"")+"arg"+c,l+=(0!==c?", ":"")+"arg"+c+"Wired";var p="return function "+on(n)+"("+f+") {\nif (arguments.length !== "+(i-2)+") {\nthrowBindingError('function "+n+" called with ' + arguments.length + ' arguments, expected "+(i-2)+" args!');\n}\n";u&&(p+="var destructors = [];\n");var d=u?"destructors":"null",h=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],v=[mn,e,a,K,t[0],t[1]];for(o&&(p+="var thisWired = classParam.toWireType("+d+", this);\n"),c=0;c<i-2;++c)p+="var arg"+c+"Wired = argType"+c+".toWireType("+d+", arg"+c+"); // "+t[c+2].name+"\n",h.push("argType"+c),v.push(t[c+2]);if(o&&(l="thisWired"+(l.length>0?", ":"")+l),p+=(s?"var rv = ":"")+"invoker(fn"+(l.length>0?", ":"")+l+");\n",u)p+="runDestructors(destructors);\n";else for(c=o?1:2;c<t.length;++c){var m=1===c?"thisWired":"arg"+(c-2)+"Wired";null!==t[c].destructorFunction&&(p+=m+"_dtor("+m+"); // "+t[c].name+"\n",h.push(m+"_dtor"),v.push(t[c].destructorFunction))}return s&&(p+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),p+="}\n",h.push(p),En(Function,h).apply(null,v)}(n,e,0,i,o),t-1),[]}))},d:function(n,t,r,e,a){t=hn(t),-1===a&&(a=4294967295);var i=pn(r),o=n=>n;if(0===e){var u=32-8*r;o=n=>n<<u>>>u}var c=t.includes("unsigned");yn(n,{name:t,fromWireType:o,toWireType:c?function(n,t){return this.name,t>>>0}:function(n,t){return this.name,t},argPackAdvance:8,readValueFromPointer:kn(t,i,0!==e),destructorFunction:null})},c:function(n,t,r){var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function a(n){var t=A,r=t[n>>=2],a=t[n+1];return new e(y,a,r)}yn(n,{name:r=hn(r),fromWireType:a,argPackAdvance:8,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},u:function(n,t){var r="std::string"===(t=hn(t));yn(n,{name:t,fromWireType:function(n){var t,e=A[n>>2],a=n+4;if(r)for(var i=a,o=0;o<=e;++o){var u=a+o;if(o==e||0==_[u]){var c=j(i,u-i);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),i=u+1}}else{var s=new Array(e);for(o=0;o<e;++o)s[o]=String.fromCharCode(_[a+o]);t=s.join("")}return et(n),t},toWireType:function(n,t){var e;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var a="string"==typeof t;a||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||mn("Cannot pass non-string to std::string"),e=r&&a?W(t):t.length;var i=rt(4+e+1),o=i+4;if(A[i>>2]=e,r&&a)k(t,_,o,e+1);else if(a)for(var u=0;u<e;++u){var c=t.charCodeAt(u);c>255&&(et(o),mn("String has UTF-16 code units that do not fit in 8 bits")),_[o+u]=c}else for(u=0;u<e;++u)_[o+u]=t[u];return null!==n&&n.push(et,i),i},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:function(n){et(n)}})},m:function(n,t,r){var e,a,i,o,u;r=hn(r),2===t?(e=Rn,a=Mn,o=On,i=()=>b,u=1):4===t&&(e=Dn,a=xn,o=In,i=()=>A,u=2),yn(n,{name:r,fromWireType:function(n){for(var r,a=A[n>>2],o=i(),c=n+4,s=0;s<=a;++s){var f=n+4+s*t;if(s==a||0==o[f>>u]){var l=e(c,f-c);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),c=f+t}}return et(n),r},toWireType:function(n,e){"string"!=typeof e&&mn("Cannot pass non-string to C++ string type "+r);var i=o(e),c=rt(4+i+t);return A[c>>2]=i>>u,a(e,c+4,i+t),null!==n&&n.push(et,c),c},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:function(n){et(n)}})},y:function(n,t,r,e,a,i){Z[n]={name:hn(t),rawConstructor:Sn(r,e),rawDestructor:Sn(a,i),fields:[]}},e:function(n,t,r,e,a,i,o,u,c,s){Z[n].fields.push({fieldName:hn(t),getterReturnType:r,getter:Sn(e,a),getterContext:i,setterArgumentType:o,setter:Sn(u,c),setterContext:s})},P:function(n,t){yn(n,{isVoid:!0,name:t=hn(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(n,t){}})},r:function(n,t,r){n=bn(n),t=Un(t,"emval::as");var e=[],a=Tn(e);return A[r>>2]=a,t.toWireType(e,n)},i:function(n,t,r,e){(n=zn[n])(t=bn(t),r=Yn(r),null,e)},a:wn,p:function(n){return 0===n?Tn(Nn()):(n=Yn(n),Tn(Nn()[n]))},j:function(n,t){var r=function(n,t){for(var r=new Array(n),e=0;e<n;++e)r[e]=Un(A[t+4*e>>2],"parameter "+e);return r}(n,t),e=r[0],a=e.name+"_$"+r.slice(1).map((function(n){return n.name})).join("_")+"$",i=Ln[a];if(void 0!==i)return i;for(var o=["retType"],u=[e],c="",s=0;s<n-1;++s)c+=(0!==s?", ":"")+"arg"+s,o.push("argType"+s),u.push(r[1+s]);var f,l,p="return function "+on("methodCaller_"+a)+"(handle, name, destructors, args) {\n",d=0;for(s=0;s<n-1;++s)p+=" var arg"+s+" = argType"+s+".readValueFromPointer(args"+(d?"+"+d:"")+");\n",d+=r[s+1].argPackAdvance;for(p+=" var rv = handle[name]("+c+");\n",s=0;s<n-1;++s)r[s+1].deleteObject&&(p+=" argType"+s+".deleteObject(arg"+s+");\n");return e.isVoid||(p+=" return retType.toWireType(destructors, rv);\n"),p+="};\n",o.push(p),f=En(Function,o).apply(null,u),l=zn.length,zn.push(f),i=l,Ln[a]=i,i},s:function(n,t){return n=bn(n),t=bn(t),Tn(n[t])},f:function(n){n>4&&(_n[n].refcount+=1)},o:function(n,t,r,e){n=bn(n);var i=Vn[t];return i||(i=function(n){for(var t="",r=0;r<n;++r)t+=(0!==r?", ":"")+"arg"+r;var e="return function emval_allocator_"+n+"(constructor, argTypes, args) {\n var HEAPU32 = getMemory();\n";for(r=0;r<n;++r)e+="var argType"+r+" = requireRegisteredType(HEAPU32[((argTypes)>>2)], 'parameter "+r+"');\nvar arg"+r+" = argType"+r+".readValueFromPointer(args);\nargs += argType"+r+"['argPackAdvance'];\nargTypes += 4;\n";return e+="var obj = new constructor("+t+");\nreturn valueToHandle(obj);\n}\n",new Function("requireRegisteredType","Module","valueToHandle","getMemory",e)(Un,a,Tn,(()=>A))}(t),Vn[t]=i),i(n,r,e)},w:function(n){return Tn(Yn(n))},q:function(n){K(bn(n)),wn(n)},k:function(n,t){var r=(n=Un(n,"_emval_take_value")).readValueFromPointer(t);return Tn(r)},n:function(){z("")},h:function(n,t,r){return function(n,t,r){var e=function(n,t){var r;for(Bn.length=0,t>>=2;r=_[n++];)t+=105!=r&t,Bn.push(105==r?T[t]:C[t++>>1]),++t;return Bn}(t,r);return G[n].apply(null,e)}(n,t,r)},D:function(){return 2147483648},M:function(n,t,r){_.copyWithin(n,t,t+r)},C:function(n){var t,r=_.length,e=2147483648;if((n>>>=0)>e)return!1;for(var a=1;a<=4;a*=2){var i=r*(1+.2/a);if(i=Math.min(i,n+100663296),Gn(Math.min(e,(t=Math.max(n,i))+(65536-t%65536)%65536)))return!0}return!1},H:function(n,t){var r=0;return Jn().forEach((function(e,a){var i=t+r;A[n+4*a>>2]=i,function(n,t){for(var r=0;r<n.length;++r)g[0|t++]=n.charCodeAt(r);g[0|t]=0}(e,i),r+=e.length+1})),0},I:function(n,t){var r=Jn();A[n>>2]=r.length;var e=0;return r.forEach((function(n){e+=n.length+1})),A[t>>2]=e,0},l:function(n){return 52},K:function(n,t,r,e){return 52},z:function(n,t,r,e,a){return 70},t:function(n,t,r,e){for(var a=0,i=0;i<r;i++){var o=A[t>>2],u=A[t+4>>2];t+=8;for(var c=0;c<u;c++)Xn(n,_[o+c]);a+=u}return A[e>>2]=a,0},B:function(n,t,r,e,a){return function(n,t,r,e){var a=T[e+40>>2],i={tm_sec:T[e>>2],tm_min:T[e+4>>2],tm_hour:T[e+8>>2],tm_mday:T[e+12>>2],tm_mon:T[e+16>>2],tm_year:T[e+20>>2],tm_wday:T[e+24>>2],tm_yday:T[e+28>>2],tm_isdst:T[e+32>>2],tm_gmtoff:T[e+36>>2],tm_zone:a?j(a):""},o=j(r),u={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var c in u)o=o.replace(new RegExp(c,"g"),u[c]);var s=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],f=["January","February","March","April","May","June","July","August","September","October","November","December"];function l(n,t,r){for(var e="number"==typeof n?n.toString():n||"";e.length<t;)e=r[0]+e;return e}function p(n,t){return l(n,t,"0")}function d(n,t){function r(n){return n<0?-1:n>0?1:0}var e;return 0===(e=r(n.getFullYear()-t.getFullYear()))&&0===(e=r(n.getMonth()-t.getMonth()))&&(e=r(n.getDate()-t.getDate())),e}function h(n){switch(n.getDay()){case 0:return new Date(n.getFullYear()-1,11,29);case 1:return n;case 2:return new Date(n.getFullYear(),0,3);case 3:return new Date(n.getFullYear(),0,2);case 4:return new Date(n.getFullYear(),0,1);case 5:return new Date(n.getFullYear()-1,11,31);case 6:return new Date(n.getFullYear()-1,11,30)}}function v(n){var t=function(n,t){for(var r=new Date(n.getTime());t>0;){var e=Zn(r.getFullYear()),a=r.getMonth(),i=(e?Kn:Qn)[a];if(!(t>i-r.getDate()))return r.setDate(r.getDate()+t),r;t-=i-r.getDate()+1,r.setDate(1),a<11?r.setMonth(a+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}(new Date(n.tm_year+1900,0,1),n.tm_yday),r=new Date(t.getFullYear(),0,4),e=new Date(t.getFullYear()+1,0,4),a=h(r),i=h(e);return d(a,t)<=0?d(i,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var m={"%a":function(n){return s[n.tm_wday].substring(0,3)},"%A":function(n){return s[n.tm_wday]},"%b":function(n){return f[n.tm_mon].substring(0,3)},"%B":function(n){return f[n.tm_mon]},"%C":function(n){return p((n.tm_year+1900)/100|0,2)},"%d":function(n){return p(n.tm_mday,2)},"%e":function(n){return l(n.tm_mday,2," ")},"%g":function(n){return v(n).toString().substring(2)},"%G":function(n){return v(n)},"%H":function(n){return p(n.tm_hour,2)},"%I":function(n){var t=n.tm_hour;return 0==t?t=12:t>12&&(t-=12),p(t,2)},"%j":function(n){return p(n.tm_mday+function(n,t){for(var r=0,e=0;e<=t;r+=n[e++]);return r}(Zn(n.tm_year+1900)?Kn:Qn,n.tm_mon-1),3)},"%m":function(n){return p(n.tm_mon+1,2)},"%M":function(n){return p(n.tm_min,2)},"%n":function(){return"\n"},"%p":function(n){return n.tm_hour>=0&&n.tm_hour<12?"AM":"PM"},"%S":function(n){return p(n.tm_sec,2)},"%t":function(){return"\t"},"%u":function(n){return n.tm_wday||7},"%U":function(n){var t=n.tm_yday+7-n.tm_wday;return p(Math.floor(t/7),2)},"%V":function(n){var t=Math.floor((n.tm_yday+7-(n.tm_wday+6)%7)/7);if((n.tm_wday+371-n.tm_yday-2)%7<=2&&t++,t){if(53==t){var r=(n.tm_wday+371-n.tm_yday)%7;4==r||3==r&&Zn(n.tm_year)||(t=1)}}else{t=52;var e=(n.tm_wday+7-n.tm_yday-1)%7;(4==e||5==e&&Zn(n.tm_year%400-1))&&t++}return p(t,2)},"%w":function(n){return n.tm_wday},"%W":function(n){var t=n.tm_yday+7-(n.tm_wday+6)%7;return p(Math.floor(t/7),2)},"%y":function(n){return(n.tm_year+1900).toString().substring(2)},"%Y":function(n){return n.tm_year+1900},"%z":function(n){var t=n.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(n){return n.tm_zone},"%%":function(){return"%"}};for(var c in o=o.replace(/%%/g,"\0\0"),m)o.includes(c)&&(o=o.replace(new RegExp(c,"g"),m[c](i)));var y,_,w,b=(_=W(y=o=o.replace(/\0\0/g,"%"))+1,k(y,w=new Array(_),0,w.length),w);return b.length>t?0:(function(n,t){g.set(n,t)}(b,n),b.length-1)}(n,t,r,e)}},rt=(function(){var n={a:tt};function t(n,t){var r,e=n.exports;a.asm=e,R((h=a.asm.Q).buffer),M=a.asm.T,r=a.asm.R,D.unshift(r),function(){if(U--,a.monitorRunDependencies&&a.monitorRunDependencies(U),0==U&&(null!==H&&(clearInterval(H),H=null),Y)){var n=Y;Y=null,n()}}()}function e(n){t(n.instance)}function i(t){return(d||"function"!=typeof fetch?Promise.resolve().then((function(){return B(N)})):fetch(N,{credentials:"same-origin"}).then((function(n){if(!n.ok)throw"failed to load wasm binary file at '"+N+"'";return n.arrayBuffer()})).catch((function(){return B(N)}))).then((function(t){return WebAssembly.instantiate(t,n)})).then((function(n){return n})).then(t,(function(n){p("failed to asynchronously prepare wasm: "+n),z(n)}))}if(U++,a.monitorRunDependencies&&a.monitorRunDependencies(U),a.instantiateWasm)try{return a.instantiateWasm(n,t)}catch(n){p("Module.instantiateWasm callback failed with error: "+n),r(n)}(d||"function"!=typeof WebAssembly.instantiateStreaming||V(N)||"function"!=typeof fetch?i(e):fetch(N,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,n).then(e,(function(n){return p("wasm streaming compile failed: "+n),p("falling back to ArrayBuffer instantiation"),i(e)}))}))).catch(r)}(),a.___wasm_call_ctors=function(){return(a.___wasm_call_ctors=a.asm.R).apply(null,arguments)},a._main=function(){return(a._main=a.asm.S).apply(null,arguments)},a._malloc=function(){return(rt=a._malloc=a.asm.U).apply(null,arguments)}),et=a._free=function(){return(et=a._free=a.asm.V).apply(null,arguments)},at=a.___getTypeName=function(){return(at=a.___getTypeName=a.asm.W).apply(null,arguments)},it=(a.__embind_initialize_bindings=function(){return(a.__embind_initialize_bindings=a.asm.X).apply(null,arguments)},a.___cxa_is_pointer_type=function(){return(it=a.___cxa_is_pointer_type=a.asm.Y).apply(null,arguments)});function ot(n){var t,r,e=a._main;try{var i=e(0,0);return m=t=i,m=r=t,v||(a.onExit&&a.onExit(r),P=!0),s(r,new q(r)),i}catch(n){return function(n){if(n instanceof q||"unwind"==n)return m;s(1,n)}(n)}}function ut(n){function r(){nt||(nt=!0,a.calledRun=!0,P||(J(D),J(x),t(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),ct&&ot(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)n=a.postRun.shift(),I.unshift(n);var n;J(I)}()))}n=n||u,U>0||(function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)n=a.preRun.shift(),O.unshift(n);var n;J(O)}(),U>0||(a.setStatus?(a.setStatus("Running..."),setTimeout((function(){setTimeout((function(){a.setStatus("")}),1),r()}),1)):r()))}if(a.dynCall_viij=function(){return(a.dynCall_viij=a.asm.Z).apply(null,arguments)},a.dynCall_vij=function(){return(a.dynCall_vij=a.asm._).apply(null,arguments)},a.dynCall_iij=function(){return(a.dynCall_iij=a.asm.$).apply(null,arguments)},a.dynCall_viji=function(){return(a.dynCall_viji=a.asm.aa).apply(null,arguments)},a.dynCall_jiji=function(){return(a.dynCall_jiji=a.asm.ba).apply(null,arguments)},a.dynCall_viijii=function(){return(a.dynCall_viijii=a.asm.ca).apply(null,arguments)},a.dynCall_iiiiij=function(){return(a.dynCall_iiiiij=a.asm.da).apply(null,arguments)},a.dynCall_iiiiijj=function(){return(a.dynCall_iiiiijj=a.asm.ea).apply(null,arguments)},a.dynCall_iiiiiijj=function(){return(a.dynCall_iiiiiijj=a.asm.fa).apply(null,arguments)},a.___start_em_js=638316,a.___stop_em_js=638383,Y=function n(){nt||ut(),nt||(Y=n)},a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();var ct=!0;return a.noInitialRun&&(ct=!1),ut(),n.ready}),i=r.p+"17dd54813d5acc10bf8f.wasm";class o{constructor(){this._instance}get instance(){if(this._instance)return this._instance;throw new Error("ICRPolySeg is not initialized.")}async initialize(n={}){this._instance=await a({locateFile:n=>n.endsWith(".wasm")?i:n,...n})}}},758:(n,t,r)=>{r.d(t,{Jj:()=>f});const e=Symbol("Comlink.proxy"),a=Symbol("Comlink.endpoint"),i=Symbol("Comlink.releaseProxy"),o=Symbol("Comlink.finalizer"),u=Symbol("Comlink.thrown"),c=n=>"object"==typeof n&&null!==n||"function"==typeof n,s=new Map([["proxy",{canHandle:n=>c(n)&&n[e],serialize(n){const{port1:t,port2:r}=new MessageChannel;return f(n,t),[r,[r]]},deserialize:n=>(n.start(),m(n,[],undefined))}],["throw",{canHandle:n=>c(n)&&u in n,serialize({value:n}){let t;return t=n instanceof Error?{isError:!0,value:{message:n.message,name:n.name,stack:n.stack}}:{isError:!1,value:n},[t,[]]},deserialize(n){if(n.isError)throw Object.assign(new Error(n.value.message),n.value);throw n.value}}]]);function f(n,t=globalThis,r=["*"]){t.addEventListener("message",(function a(i){if(!i||!i.data)return;if(!function(n,t){for(const r of n){if(t===r||"*"===r)return!0;if(r instanceof RegExp&&r.test(t))return!0}return!1}(r,i.origin))return void console.warn(`Invalid origin '${i.origin}' for comlink proxy`);const{id:c,type:s,path:p}=Object.assign({path:[]},i.data),d=(i.data.argumentList||[]).map(w);let h;try{const t=p.slice(0,-1).reduce(((n,t)=>n[t]),n),r=p.reduce(((n,t)=>n[t]),n);switch(s){case"GET":h=r;break;case"SET":t[p.slice(-1)[0]]=w(i.data.value),h=!0;break;case"APPLY":h=r.apply(t,d);break;case"CONSTRUCT":h=function(n){return Object.assign(n,{[e]:!0})}(new r(...d));break;case"ENDPOINT":{const{port1:t,port2:r}=new MessageChannel;f(n,r),h=function(n,t){return g.set(n,t),n}(t,[t])}break;case"RELEASE":h=void 0;break;default:return}}catch(n){h={value:n,[u]:0}}Promise.resolve(h).catch((n=>({value:n,[u]:0}))).then((r=>{const[e,i]=_(r);t.postMessage(Object.assign(Object.assign({},e),{id:c}),i),"RELEASE"===s&&(t.removeEventListener("message",a),l(t),o in n&&"function"==typeof n[o]&&n[o]())})).catch((n=>{const[r,e]=_({value:new TypeError("Unserializable return value"),[u]:0});t.postMessage(Object.assign(Object.assign({},r),{id:c}),e)}))})),t.start&&t.start()}function l(n){(function(n){return"MessagePort"===n.constructor.name})(n)&&n.close()}function p(n){if(n)throw new Error("Proxy has been released and is not useable")}function d(n){return b(n,{type:"RELEASE"}).then((()=>{l(n)}))}const h=new WeakMap,v="FinalizationRegistry"in globalThis&&new FinalizationRegistry((n=>{const t=(h.get(n)||0)-1;h.set(n,t),0===t&&d(n)}));function m(n,t=[],r=function(){}){let e=!1;const o=new Proxy(r,{get(r,a){if(p(e),a===i)return()=>{!function(n){v&&v.unregister(n)}(o),d(n),e=!0};if("then"===a){if(0===t.length)return{then:()=>o};const r=b(n,{type:"GET",path:t.map((n=>n.toString()))}).then(w);return r.then.bind(r)}return m(n,[...t,a])},set(r,a,i){p(e);const[o,u]=_(i);return b(n,{type:"SET",path:[...t,a].map((n=>n.toString())),value:o},u).then(w)},apply(r,i,o){p(e);const u=t[t.length-1];if(u===a)return b(n,{type:"ENDPOINT"}).then(w);if("bind"===u)return m(n,t.slice(0,-1));const[c,s]=y(o);return b(n,{type:"APPLY",path:t.map((n=>n.toString())),argumentList:c},s).then(w)},construct(r,a){p(e);const[i,o]=y(a);return b(n,{type:"CONSTRUCT",path:t.map((n=>n.toString())),argumentList:i},o).then(w)}});return function(n,t){const r=(h.get(t)||0)+1;h.set(t,r),v&&v.register(n,t,n)}(o,n),o}function y(n){const t=n.map(_);return[t.map((n=>n[0])),(r=t.map((n=>n[1])),Array.prototype.concat.apply([],r))];var r}const g=new WeakMap;function _(n){for(const[t,r]of s)if(r.canHandle(n)){const[e,a]=r.serialize(n);return[{type:"HANDLER",name:t,value:e},a]}return[{type:"RAW",value:n},g.get(n)||[]]}function w(n){switch(n.type){case"HANDLER":return s.get(n.name).deserialize(n.value);case"RAW":return n.value}}function b(n,t,r){return new Promise((e=>{const a=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");n.addEventListener("message",(function t(r){r.data&&r.data.id&&r.data.id===a&&(n.removeEventListener("message",t),e(r.data))})),n.start&&n.start(),n.postMessage(Object.assign({id:a},t),r)}))}}}]);
3
3
  //# sourceMappingURL=78.index.js.map