@cornerstonejs/tools 0.1.1 → 0.1.4

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 (520) hide show
  1. package/dist/cjs/drawingSvg/getSvgDrawingHelper.js +2 -2
  2. package/dist/cjs/drawingSvg/getSvgDrawingHelper.js.map +1 -1
  3. package/dist/cjs/drawingSvg/index.d.ts +0 -11
  4. package/dist/cjs/drawingSvg/index.js +0 -10
  5. package/dist/cjs/drawingSvg/index.js.map +1 -1
  6. package/dist/cjs/eventDispatchers/annotationModifiedEventDispatcher.js +4 -4
  7. package/dist/cjs/eventDispatchers/annotationModifiedEventDispatcher.js.map +1 -1
  8. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js +2 -2
  9. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
  10. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyUp.js +2 -2
  11. package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyUp.js.map +1 -1
  12. package/dist/cjs/eventDispatchers/shared/customCallbackHandler.js +2 -2
  13. package/dist/cjs/eventDispatchers/shared/customCallbackHandler.js.map +1 -1
  14. package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +2 -2
  15. package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
  16. package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js +2 -2
  17. package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
  18. package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +2 -2
  19. package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.js.map +1 -1
  20. package/dist/cjs/eventListeners/annotations/annotationModifiedListener.js +4 -4
  21. package/dist/cjs/eventListeners/annotations/annotationModifiedListener.js.map +1 -1
  22. package/dist/cjs/eventListeners/annotations/annotationSelectionListener.js +2 -2
  23. package/dist/cjs/eventListeners/annotations/annotationSelectionListener.js.map +1 -1
  24. package/dist/cjs/eventListeners/keyboard/keyDownListener.js +11 -11
  25. package/dist/cjs/eventListeners/keyboard/keyDownListener.js.map +1 -1
  26. package/dist/cjs/eventListeners/mouse/mouseDoubleClickListener.js +3 -3
  27. package/dist/cjs/eventListeners/mouse/mouseDoubleClickListener.js.map +1 -1
  28. package/dist/cjs/eventListeners/mouse/mouseDownListener.js +13 -13
  29. package/dist/cjs/eventListeners/mouse/mouseDownListener.js.map +1 -1
  30. package/dist/cjs/eventListeners/mouse/mouseMoveListener.js +3 -3
  31. package/dist/cjs/eventListeners/mouse/mouseMoveListener.js.map +1 -1
  32. package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js +10 -10
  33. package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
  34. package/dist/cjs/eventListeners/segmentation/segmentationStateModifiedEventListener.js +2 -2
  35. package/dist/cjs/eventListeners/segmentation/segmentationStateModifiedEventListener.js.map +1 -1
  36. package/dist/cjs/eventListeners/wheel/wheelListener.js +3 -3
  37. package/dist/cjs/eventListeners/wheel/wheelListener.js.map +1 -1
  38. package/dist/cjs/init.js +20 -4
  39. package/dist/cjs/init.js.map +1 -1
  40. package/dist/cjs/stateManagement/annotation/annotationState.js +6 -6
  41. package/dist/cjs/stateManagement/annotation/annotationState.js.map +1 -1
  42. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.d.ts +9 -9
  43. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +42 -42
  44. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  45. package/dist/cjs/stateManagement/segmentation/activeSegmentation.d.ts +3 -8
  46. package/dist/cjs/stateManagement/segmentation/activeSegmentation.js +6 -10
  47. package/dist/cjs/stateManagement/segmentation/activeSegmentation.js.map +1 -1
  48. package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.d.ts +1 -1
  49. package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.js +6 -6
  50. package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.js.map +1 -1
  51. package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.d.ts +2 -2
  52. package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.js +9 -9
  53. package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.js.map +1 -1
  54. package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js +2 -2
  55. package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js.map +1 -1
  56. package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js +4 -4
  57. package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js.map +1 -1
  58. package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +1 -1
  59. package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +6 -6
  60. package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -1
  61. package/dist/cjs/stateManagement/segmentation/segmentIndex.d.ts +2 -9
  62. package/dist/cjs/stateManagement/segmentation/segmentIndex.js +7 -13
  63. package/dist/cjs/stateManagement/segmentation/segmentIndex.js.map +1 -1
  64. package/dist/cjs/stateManagement/segmentation/segmentLocking.d.ts +2 -10
  65. package/dist/cjs/stateManagement/segmentation/segmentLocking.js +6 -13
  66. package/dist/cjs/stateManagement/segmentation/segmentLocking.js.map +1 -1
  67. package/dist/cjs/stateManagement/segmentation/segmentationColor.d.ts +1 -6
  68. package/dist/cjs/stateManagement/segmentation/segmentationColor.js +3 -4
  69. package/dist/cjs/stateManagement/segmentation/segmentationColor.js.map +1 -1
  70. package/dist/cjs/stateManagement/segmentation/segmentationConfig.d.ts +4 -17
  71. package/dist/cjs/stateManagement/segmentation/segmentationConfig.js +9 -21
  72. package/dist/cjs/stateManagement/segmentation/segmentationConfig.js.map +1 -1
  73. package/dist/cjs/stateManagement/segmentation/segmentationState.d.ts +8 -8
  74. package/dist/cjs/stateManagement/segmentation/segmentationState.js +27 -27
  75. package/dist/cjs/stateManagement/segmentation/segmentationState.js.map +1 -1
  76. package/dist/cjs/stateManagement/segmentation/segmentationVisibility.d.ts +2 -7
  77. package/dist/cjs/stateManagement/segmentation/segmentationVisibility.js +5 -6
  78. package/dist/cjs/stateManagement/segmentation/segmentationVisibility.js.map +1 -1
  79. package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.d.ts +2 -2
  80. package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js +10 -10
  81. package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
  82. package/dist/cjs/store/SynchronizerManager/Synchronizer.d.ts +10 -10
  83. package/dist/cjs/store/SynchronizerManager/Synchronizer.js +19 -19
  84. package/dist/cjs/store/SynchronizerManager/Synchronizer.js.map +1 -1
  85. package/dist/cjs/store/SynchronizerManager/getSynchronizers.d.ts +1 -1
  86. package/dist/cjs/store/SynchronizerManager/getSynchronizers.js +7 -7
  87. package/dist/cjs/store/SynchronizerManager/getSynchronizers.js.map +1 -1
  88. package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +5 -5
  89. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +21 -21
  90. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  91. package/dist/cjs/store/ToolGroupManager/createToolGroup.d.ts +1 -1
  92. package/dist/cjs/store/ToolGroupManager/createToolGroup.js +4 -4
  93. package/dist/cjs/store/ToolGroupManager/createToolGroup.js.map +1 -1
  94. package/dist/cjs/store/ToolGroupManager/destroy.js +2 -2
  95. package/dist/cjs/store/ToolGroupManager/destroy.js.map +1 -1
  96. package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupId.d.ts +2 -0
  97. package/dist/cjs/store/ToolGroupManager/{destroyToolGroupByToolGroupUID.js → destroyToolGroupByToolGroupId.js} +5 -5
  98. package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupId.js.map +1 -0
  99. package/dist/cjs/store/ToolGroupManager/getToolGroup.d.ts +1 -1
  100. package/dist/cjs/store/ToolGroupManager/getToolGroup.js +7 -7
  101. package/dist/cjs/store/ToolGroupManager/getToolGroup.js.map +1 -1
  102. package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.d.ts +3 -0
  103. package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.js +8 -0
  104. package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.js.map +1 -0
  105. package/dist/cjs/store/ToolGroupManager/index.d.ts +3 -12
  106. package/dist/cjs/store/ToolGroupManager/index.js +5 -13
  107. package/dist/cjs/store/ToolGroupManager/index.js.map +1 -1
  108. package/dist/cjs/store/addEnabledElement.js +4 -4
  109. package/dist/cjs/store/addEnabledElement.js.map +1 -1
  110. package/dist/cjs/store/removeEnabledElement.js +8 -8
  111. package/dist/cjs/store/removeEnabledElement.js.map +1 -1
  112. package/dist/cjs/synchronizers/callbacks/cameraSyncCallback.d.ts +1 -1
  113. package/dist/cjs/synchronizers/callbacks/cameraSyncCallback.js +5 -5
  114. package/dist/cjs/synchronizers/callbacks/cameraSyncCallback.js.map +1 -1
  115. package/dist/cjs/synchronizers/callbacks/voiSyncCallback.d.ts +1 -1
  116. package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js +5 -5
  117. package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
  118. package/dist/cjs/tools/CrosshairsTool.d.ts +10 -10
  119. package/dist/cjs/tools/CrosshairsTool.js +132 -113
  120. package/dist/cjs/tools/CrosshairsTool.js.map +1 -1
  121. package/dist/cjs/tools/MIPJumpToClickTool.js +6 -6
  122. package/dist/cjs/tools/MIPJumpToClickTool.js.map +1 -1
  123. package/dist/cjs/tools/StackScrollTool.js +4 -4
  124. package/dist/cjs/tools/StackScrollTool.js.map +1 -1
  125. package/dist/cjs/tools/StackScrollToolMouseWheelTool.js +2 -2
  126. package/dist/cjs/tools/StackScrollToolMouseWheelTool.js.map +1 -1
  127. package/dist/cjs/tools/WindowLevelTool.d.ts +4 -4
  128. package/dist/cjs/tools/WindowLevelTool.js +17 -17
  129. package/dist/cjs/tools/WindowLevelTool.js.map +1 -1
  130. package/dist/cjs/tools/annotation/BidirectionalTool.d.ts +3 -3
  131. package/dist/cjs/tools/annotation/BidirectionalTool.js +59 -40
  132. package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
  133. package/dist/cjs/tools/annotation/EllipticalRoiTool.d.ts +3 -3
  134. package/dist/cjs/tools/annotation/EllipticalRoiTool.js +38 -38
  135. package/dist/cjs/tools/annotation/EllipticalRoiTool.js.map +1 -1
  136. package/dist/cjs/tools/annotation/LengthTool.d.ts +3 -3
  137. package/dist/cjs/tools/annotation/LengthTool.js +53 -34
  138. package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
  139. package/dist/cjs/tools/annotation/ProbeTool.d.ts +5 -5
  140. package/dist/cjs/tools/annotation/ProbeTool.js +36 -36
  141. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  142. package/dist/cjs/tools/annotation/RectangleRoiTool.d.ts +3 -3
  143. package/dist/cjs/tools/annotation/RectangleRoiTool.js +57 -38
  144. package/dist/cjs/tools/annotation/RectangleRoiTool.js.map +1 -1
  145. package/dist/cjs/tools/base/BaseTool.d.ts +5 -5
  146. package/dist/cjs/tools/base/BaseTool.js +16 -16
  147. package/dist/cjs/tools/base/BaseTool.js.map +1 -1
  148. package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.d.ts +2 -2
  149. package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.js +28 -28
  150. package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.js.map +1 -1
  151. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.d.ts +2 -2
  152. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js +14 -14
  153. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
  154. package/dist/cjs/tools/segmentation/CircleScissorsTool.d.ts +1 -1
  155. package/dist/cjs/tools/segmentation/CircleScissorsTool.js +16 -16
  156. package/dist/cjs/tools/segmentation/CircleScissorsTool.js.map +1 -1
  157. package/dist/cjs/tools/segmentation/RectangleRoiStartEndThresholdTool.d.ts +3 -3
  158. package/dist/cjs/tools/segmentation/RectangleRoiStartEndThresholdTool.js +13 -13
  159. package/dist/cjs/tools/segmentation/RectangleRoiStartEndThresholdTool.js.map +1 -1
  160. package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.d.ts +3 -3
  161. package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.js +11 -11
  162. package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.js.map +1 -1
  163. package/dist/cjs/tools/segmentation/RectangleScissorsTool.d.ts +1 -1
  164. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js +14 -14
  165. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js.map +1 -1
  166. package/dist/cjs/tools/segmentation/SphereScissorsTool.d.ts +2 -2
  167. package/dist/cjs/tools/segmentation/SphereScissorsTool.js +17 -17
  168. package/dist/cjs/tools/segmentation/SphereScissorsTool.js.map +1 -1
  169. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.d.ts +1 -1
  170. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js +2 -2
  171. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
  172. package/dist/cjs/tools/segmentation/strategies/fillCircle.d.ts +1 -1
  173. package/dist/cjs/tools/segmentation/strategies/fillCircle.js +2 -2
  174. package/dist/cjs/tools/segmentation/strategies/fillCircle.js.map +1 -1
  175. package/dist/cjs/tools/segmentation/strategies/fillRectangle.d.ts +1 -1
  176. package/dist/cjs/tools/segmentation/strategies/fillRectangle.js +2 -2
  177. package/dist/cjs/tools/segmentation/strategies/fillRectangle.js.map +1 -1
  178. package/dist/cjs/tools/segmentation/strategies/fillSphere.d.ts +1 -1
  179. package/dist/cjs/tools/segmentation/strategies/fillSphere.js +2 -2
  180. package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -1
  181. package/dist/cjs/types/AnnotationTypes.d.ts +1 -1
  182. package/dist/cjs/types/EventTypes.d.ts +16 -16
  183. package/dist/cjs/types/IToolGroup.d.ts +5 -5
  184. package/dist/cjs/types/SegmentationStateTypes.d.ts +4 -4
  185. package/dist/cjs/utilities/drawing/index.d.ts +0 -4
  186. package/dist/cjs/utilities/drawing/index.js +0 -1
  187. package/dist/cjs/utilities/drawing/index.js.map +1 -1
  188. package/dist/cjs/utilities/getAnnotationNearPoint.js +21 -5
  189. package/dist/cjs/utilities/getAnnotationNearPoint.js.map +1 -1
  190. package/dist/cjs/utilities/getToolsWithModesForElement.js +2 -2
  191. package/dist/cjs/utilities/getToolsWithModesForElement.js.map +1 -1
  192. package/dist/cjs/utilities/index.d.ts +2 -23
  193. package/dist/cjs/utilities/index.js +3 -23
  194. package/dist/cjs/utilities/index.js.map +1 -1
  195. package/dist/cjs/utilities/math/ellipse/index.d.ts +0 -5
  196. package/dist/cjs/utilities/math/ellipse/index.js +0 -1
  197. package/dist/cjs/utilities/math/ellipse/index.js.map +1 -1
  198. package/dist/cjs/utilities/math/index.d.ts +4 -23
  199. package/dist/cjs/utilities/math/index.js +26 -11
  200. package/dist/cjs/utilities/math/index.js.map +1 -1
  201. package/dist/cjs/utilities/math/line/distanceToPoint.d.ts +1 -1
  202. package/dist/cjs/utilities/math/line/index.d.ts +1 -6
  203. package/dist/cjs/utilities/math/line/index.js +4 -6
  204. package/dist/cjs/utilities/math/line/index.js.map +1 -1
  205. package/dist/cjs/utilities/math/line/intersectLine.d.ts +1 -1
  206. package/dist/cjs/utilities/math/rectangle/distanceToPoint.js +20 -4
  207. package/dist/cjs/utilities/math/rectangle/distanceToPoint.js.map +1 -1
  208. package/dist/cjs/utilities/math/rectangle/index.d.ts +1 -4
  209. package/dist/cjs/utilities/math/rectangle/index.js +2 -4
  210. package/dist/cjs/utilities/math/rectangle/index.js.map +1 -1
  211. package/dist/cjs/utilities/math/vec2/index.d.ts +1 -5
  212. package/dist/cjs/utilities/math/vec2/index.js +3 -1
  213. package/dist/cjs/utilities/math/vec2/index.js.map +1 -1
  214. package/dist/cjs/utilities/planar/getPointInLineOfSightWithCriteria.d.ts +1 -1
  215. package/dist/cjs/utilities/planar/getPointInLineOfSightWithCriteria.js +2 -2
  216. package/dist/cjs/utilities/planar/getPointInLineOfSightWithCriteria.js.map +1 -1
  217. package/dist/cjs/utilities/segmentation/createMergedLabelmapForIndex.d.ts +1 -1
  218. package/dist/cjs/utilities/segmentation/createMergedLabelmapForIndex.js +2 -2
  219. package/dist/cjs/utilities/segmentation/createMergedLabelmapForIndex.js.map +1 -1
  220. package/dist/cjs/utilities/segmentation/index.d.ts +0 -10
  221. package/dist/cjs/utilities/segmentation/index.js +0 -9
  222. package/dist/cjs/utilities/segmentation/index.js.map +1 -1
  223. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.d.ts +1 -1
  224. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js +5 -5
  225. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
  226. package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.d.ts +1 -1
  227. package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.js +5 -5
  228. package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.js.map +1 -1
  229. package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.d.ts +1 -1
  230. package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js +4 -4
  231. package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js.map +1 -1
  232. package/dist/cjs/utilities/triggerAnnotationRender.d.ts +2 -2
  233. package/dist/cjs/utilities/triggerAnnotationRender.js +8 -8
  234. package/dist/cjs/utilities/triggerAnnotationRender.js.map +1 -1
  235. package/dist/cjs/utilities/triggerAnnotationRenderForViewportIds.d.ts +3 -0
  236. package/dist/cjs/utilities/{triggerAnnotationRenderForViewportUIDs.js → triggerAnnotationRenderForViewportIds.js} +8 -8
  237. package/dist/cjs/utilities/triggerAnnotationRenderForViewportIds.js.map +1 -0
  238. package/dist/cjs/utilities/triggerSegmentationRender.d.ts +3 -3
  239. package/dist/cjs/utilities/triggerSegmentationRender.js +22 -22
  240. package/dist/cjs/utilities/triggerSegmentationRender.js.map +1 -1
  241. package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.js +1 -1
  242. package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.js.map +1 -1
  243. package/dist/cjs/utilities/viewportFilters/getViewportIdsWithToolToRender.d.ts +1 -0
  244. package/dist/cjs/utilities/viewportFilters/{getViewportUIDsWithToolToRender.js → getViewportIdsWithToolToRender.js} +6 -6
  245. package/dist/cjs/utilities/viewportFilters/getViewportIdsWithToolToRender.js.map +1 -0
  246. package/dist/cjs/utilities/viewportFilters/index.d.ts +2 -8
  247. package/dist/cjs/utilities/viewportFilters/index.js +3 -8
  248. package/dist/cjs/utilities/viewportFilters/index.js.map +1 -1
  249. package/dist/esm/drawingSvg/getSvgDrawingHelper.js +2 -2
  250. package/dist/esm/drawingSvg/getSvgDrawingHelper.js.map +1 -1
  251. package/dist/esm/drawingSvg/index.d.ts +0 -11
  252. package/dist/esm/drawingSvg/index.js +0 -10
  253. package/dist/esm/drawingSvg/index.js.map +1 -1
  254. package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.js +5 -5
  255. package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.js.map +1 -1
  256. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js +2 -2
  257. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
  258. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js +2 -2
  259. package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js.map +1 -1
  260. package/dist/esm/eventDispatchers/shared/customCallbackHandler.js +2 -2
  261. package/dist/esm/eventDispatchers/shared/customCallbackHandler.js.map +1 -1
  262. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +2 -2
  263. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
  264. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +2 -2
  265. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
  266. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +2 -2
  267. package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js.map +1 -1
  268. package/dist/esm/eventListeners/annotations/annotationModifiedListener.js +4 -4
  269. package/dist/esm/eventListeners/annotations/annotationModifiedListener.js.map +1 -1
  270. package/dist/esm/eventListeners/annotations/annotationSelectionListener.js +3 -3
  271. package/dist/esm/eventListeners/annotations/annotationSelectionListener.js.map +1 -1
  272. package/dist/esm/eventListeners/keyboard/keyDownListener.js +12 -12
  273. package/dist/esm/eventListeners/keyboard/keyDownListener.js.map +1 -1
  274. package/dist/esm/eventListeners/mouse/mouseDoubleClickListener.js +4 -4
  275. package/dist/esm/eventListeners/mouse/mouseDoubleClickListener.js.map +1 -1
  276. package/dist/esm/eventListeners/mouse/mouseDownListener.js +14 -14
  277. package/dist/esm/eventListeners/mouse/mouseDownListener.js.map +1 -1
  278. package/dist/esm/eventListeners/mouse/mouseMoveListener.js +4 -4
  279. package/dist/esm/eventListeners/mouse/mouseMoveListener.js.map +1 -1
  280. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +10 -10
  281. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
  282. package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.js +2 -2
  283. package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.js.map +1 -1
  284. package/dist/esm/eventListeners/wheel/wheelListener.js +4 -4
  285. package/dist/esm/eventListeners/wheel/wheelListener.js.map +1 -1
  286. package/dist/esm/init.js +1 -1
  287. package/dist/esm/init.js.map +1 -1
  288. package/dist/esm/stateManagement/annotation/annotationState.js +6 -6
  289. package/dist/esm/stateManagement/annotation/annotationState.js.map +1 -1
  290. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +9 -9
  291. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +42 -42
  292. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
  293. package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +3 -8
  294. package/dist/esm/stateManagement/segmentation/activeSegmentation.js +6 -10
  295. package/dist/esm/stateManagement/segmentation/activeSegmentation.js.map +1 -1
  296. package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.d.ts +1 -1
  297. package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.js +7 -7
  298. package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.js.map +1 -1
  299. package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.d.ts +2 -2
  300. package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.js +11 -11
  301. package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.js.map +1 -1
  302. package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js +2 -2
  303. package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js.map +1 -1
  304. package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js +5 -5
  305. package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js.map +1 -1
  306. package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +1 -1
  307. package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +6 -6
  308. package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -1
  309. package/dist/esm/stateManagement/segmentation/segmentIndex.d.ts +2 -9
  310. package/dist/esm/stateManagement/segmentation/segmentIndex.js +7 -13
  311. package/dist/esm/stateManagement/segmentation/segmentIndex.js.map +1 -1
  312. package/dist/esm/stateManagement/segmentation/segmentLocking.d.ts +2 -10
  313. package/dist/esm/stateManagement/segmentation/segmentLocking.js +6 -13
  314. package/dist/esm/stateManagement/segmentation/segmentLocking.js.map +1 -1
  315. package/dist/esm/stateManagement/segmentation/segmentationColor.d.ts +1 -6
  316. package/dist/esm/stateManagement/segmentation/segmentationColor.js +3 -4
  317. package/dist/esm/stateManagement/segmentation/segmentationColor.js.map +1 -1
  318. package/dist/esm/stateManagement/segmentation/segmentationConfig.d.ts +4 -17
  319. package/dist/esm/stateManagement/segmentation/segmentationConfig.js +9 -21
  320. package/dist/esm/stateManagement/segmentation/segmentationConfig.js.map +1 -1
  321. package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +8 -8
  322. package/dist/esm/stateManagement/segmentation/segmentationState.js +27 -27
  323. package/dist/esm/stateManagement/segmentation/segmentationState.js.map +1 -1
  324. package/dist/esm/stateManagement/segmentation/segmentationVisibility.d.ts +2 -7
  325. package/dist/esm/stateManagement/segmentation/segmentationVisibility.js +5 -6
  326. package/dist/esm/stateManagement/segmentation/segmentationVisibility.js.map +1 -1
  327. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +2 -2
  328. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +10 -10
  329. package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
  330. package/dist/esm/store/SynchronizerManager/Synchronizer.d.ts +10 -10
  331. package/dist/esm/store/SynchronizerManager/Synchronizer.js +19 -19
  332. package/dist/esm/store/SynchronizerManager/Synchronizer.js.map +1 -1
  333. package/dist/esm/store/SynchronizerManager/getSynchronizers.d.ts +1 -1
  334. package/dist/esm/store/SynchronizerManager/getSynchronizers.js +7 -7
  335. package/dist/esm/store/SynchronizerManager/getSynchronizers.js.map +1 -1
  336. package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +5 -5
  337. package/dist/esm/store/ToolGroupManager/ToolGroup.js +22 -22
  338. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  339. package/dist/esm/store/ToolGroupManager/createToolGroup.d.ts +1 -1
  340. package/dist/esm/store/ToolGroupManager/createToolGroup.js +4 -4
  341. package/dist/esm/store/ToolGroupManager/createToolGroup.js.map +1 -1
  342. package/dist/esm/store/ToolGroupManager/destroy.js +2 -2
  343. package/dist/esm/store/ToolGroupManager/destroy.js.map +1 -1
  344. package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupId.d.ts +2 -0
  345. package/dist/esm/store/ToolGroupManager/{destroyToolGroupByToolGroupUID.js → destroyToolGroupByToolGroupId.js} +5 -5
  346. package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupId.js.map +1 -0
  347. package/dist/esm/store/ToolGroupManager/getToolGroup.d.ts +1 -1
  348. package/dist/esm/store/ToolGroupManager/getToolGroup.js +7 -7
  349. package/dist/esm/store/ToolGroupManager/getToolGroup.js.map +1 -1
  350. package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.d.ts +3 -0
  351. package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.js +6 -0
  352. package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.js.map +1 -0
  353. package/dist/esm/store/ToolGroupManager/index.d.ts +3 -12
  354. package/dist/esm/store/ToolGroupManager/index.js +3 -11
  355. package/dist/esm/store/ToolGroupManager/index.js.map +1 -1
  356. package/dist/esm/store/addEnabledElement.js +4 -4
  357. package/dist/esm/store/addEnabledElement.js.map +1 -1
  358. package/dist/esm/store/removeEnabledElement.js +8 -8
  359. package/dist/esm/store/removeEnabledElement.js.map +1 -1
  360. package/dist/esm/synchronizers/callbacks/cameraSyncCallback.d.ts +1 -1
  361. package/dist/esm/synchronizers/callbacks/cameraSyncCallback.js +5 -5
  362. package/dist/esm/synchronizers/callbacks/cameraSyncCallback.js.map +1 -1
  363. package/dist/esm/synchronizers/callbacks/voiSyncCallback.d.ts +1 -1
  364. package/dist/esm/synchronizers/callbacks/voiSyncCallback.js +5 -5
  365. package/dist/esm/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
  366. package/dist/esm/tools/CrosshairsTool.d.ts +10 -10
  367. package/dist/esm/tools/CrosshairsTool.js +109 -109
  368. package/dist/esm/tools/CrosshairsTool.js.map +1 -1
  369. package/dist/esm/tools/MIPJumpToClickTool.js +6 -6
  370. package/dist/esm/tools/MIPJumpToClickTool.js.map +1 -1
  371. package/dist/esm/tools/StackScrollTool.js +5 -5
  372. package/dist/esm/tools/StackScrollTool.js.map +1 -1
  373. package/dist/esm/tools/StackScrollToolMouseWheelTool.js +2 -2
  374. package/dist/esm/tools/StackScrollToolMouseWheelTool.js.map +1 -1
  375. package/dist/esm/tools/WindowLevelTool.d.ts +4 -4
  376. package/dist/esm/tools/WindowLevelTool.js +17 -17
  377. package/dist/esm/tools/WindowLevelTool.js.map +1 -1
  378. package/dist/esm/tools/annotation/BidirectionalTool.d.ts +3 -3
  379. package/dist/esm/tools/annotation/BidirectionalTool.js +36 -36
  380. package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
  381. package/dist/esm/tools/annotation/EllipticalRoiTool.d.ts +3 -3
  382. package/dist/esm/tools/annotation/EllipticalRoiTool.js +39 -39
  383. package/dist/esm/tools/annotation/EllipticalRoiTool.js.map +1 -1
  384. package/dist/esm/tools/annotation/LengthTool.d.ts +3 -3
  385. package/dist/esm/tools/annotation/LengthTool.js +34 -34
  386. package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
  387. package/dist/esm/tools/annotation/ProbeTool.d.ts +5 -5
  388. package/dist/esm/tools/annotation/ProbeTool.js +37 -37
  389. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  390. package/dist/esm/tools/annotation/RectangleRoiTool.d.ts +3 -3
  391. package/dist/esm/tools/annotation/RectangleRoiTool.js +38 -38
  392. package/dist/esm/tools/annotation/RectangleRoiTool.js.map +1 -1
  393. package/dist/esm/tools/base/BaseTool.d.ts +5 -5
  394. package/dist/esm/tools/base/BaseTool.js +16 -16
  395. package/dist/esm/tools/base/BaseTool.js.map +1 -1
  396. package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.d.ts +2 -2
  397. package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.js +30 -30
  398. package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.js.map +1 -1
  399. package/dist/esm/tools/displayTools/SegmentationDisplayTool.d.ts +2 -2
  400. package/dist/esm/tools/displayTools/SegmentationDisplayTool.js +16 -16
  401. package/dist/esm/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
  402. package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +1 -1
  403. package/dist/esm/tools/segmentation/CircleScissorsTool.js +17 -17
  404. package/dist/esm/tools/segmentation/CircleScissorsTool.js.map +1 -1
  405. package/dist/esm/tools/segmentation/RectangleRoiStartEndThresholdTool.d.ts +3 -3
  406. package/dist/esm/tools/segmentation/RectangleRoiStartEndThresholdTool.js +14 -14
  407. package/dist/esm/tools/segmentation/RectangleRoiStartEndThresholdTool.js.map +1 -1
  408. package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.d.ts +3 -3
  409. package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.js +12 -12
  410. package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.js.map +1 -1
  411. package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +1 -1
  412. package/dist/esm/tools/segmentation/RectangleScissorsTool.js +15 -15
  413. package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -1
  414. package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +2 -2
  415. package/dist/esm/tools/segmentation/SphereScissorsTool.js +18 -18
  416. package/dist/esm/tools/segmentation/SphereScissorsTool.js.map +1 -1
  417. package/dist/esm/tools/segmentation/strategies/eraseRectangle.d.ts +1 -1
  418. package/dist/esm/tools/segmentation/strategies/eraseRectangle.js +2 -2
  419. package/dist/esm/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
  420. package/dist/esm/tools/segmentation/strategies/fillCircle.d.ts +1 -1
  421. package/dist/esm/tools/segmentation/strategies/fillCircle.js +2 -2
  422. package/dist/esm/tools/segmentation/strategies/fillCircle.js.map +1 -1
  423. package/dist/esm/tools/segmentation/strategies/fillRectangle.d.ts +1 -1
  424. package/dist/esm/tools/segmentation/strategies/fillRectangle.js +2 -2
  425. package/dist/esm/tools/segmentation/strategies/fillRectangle.js.map +1 -1
  426. package/dist/esm/tools/segmentation/strategies/fillSphere.d.ts +1 -1
  427. package/dist/esm/tools/segmentation/strategies/fillSphere.js +2 -2
  428. package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -1
  429. package/dist/esm/types/AnnotationTypes.d.ts +1 -1
  430. package/dist/esm/types/EventTypes.d.ts +16 -16
  431. package/dist/esm/types/IToolGroup.d.ts +5 -5
  432. package/dist/esm/types/SegmentationStateTypes.d.ts +4 -4
  433. package/dist/esm/utilities/drawing/index.d.ts +0 -4
  434. package/dist/esm/utilities/drawing/index.js +0 -1
  435. package/dist/esm/utilities/drawing/index.js.map +1 -1
  436. package/dist/esm/utilities/getAnnotationNearPoint.js +3 -3
  437. package/dist/esm/utilities/getAnnotationNearPoint.js.map +1 -1
  438. package/dist/esm/utilities/getToolsWithModesForElement.js +2 -2
  439. package/dist/esm/utilities/getToolsWithModesForElement.js.map +1 -1
  440. package/dist/esm/utilities/index.d.ts +2 -23
  441. package/dist/esm/utilities/index.js +2 -22
  442. package/dist/esm/utilities/index.js.map +1 -1
  443. package/dist/esm/utilities/math/ellipse/index.d.ts +0 -5
  444. package/dist/esm/utilities/math/ellipse/index.js +0 -1
  445. package/dist/esm/utilities/math/ellipse/index.js.map +1 -1
  446. package/dist/esm/utilities/math/index.d.ts +4 -23
  447. package/dist/esm/utilities/math/index.js +4 -5
  448. package/dist/esm/utilities/math/index.js.map +1 -1
  449. package/dist/esm/utilities/math/line/distanceToPoint.d.ts +1 -1
  450. package/dist/esm/utilities/math/line/index.d.ts +1 -6
  451. package/dist/esm/utilities/math/line/index.js +1 -6
  452. package/dist/esm/utilities/math/line/index.js.map +1 -1
  453. package/dist/esm/utilities/math/line/intersectLine.d.ts +1 -1
  454. package/dist/esm/utilities/math/rectangle/distanceToPoint.js +1 -1
  455. package/dist/esm/utilities/math/rectangle/distanceToPoint.js.map +1 -1
  456. package/dist/esm/utilities/math/rectangle/index.d.ts +1 -4
  457. package/dist/esm/utilities/math/rectangle/index.js +1 -4
  458. package/dist/esm/utilities/math/rectangle/index.js.map +1 -1
  459. package/dist/esm/utilities/math/vec2/index.d.ts +1 -5
  460. package/dist/esm/utilities/math/vec2/index.js +1 -1
  461. package/dist/esm/utilities/math/vec2/index.js.map +1 -1
  462. package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.d.ts +1 -1
  463. package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.js +2 -2
  464. package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.js.map +1 -1
  465. package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.d.ts +1 -1
  466. package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js +3 -3
  467. package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js.map +1 -1
  468. package/dist/esm/utilities/segmentation/index.d.ts +0 -10
  469. package/dist/esm/utilities/segmentation/index.js +0 -9
  470. package/dist/esm/utilities/segmentation/index.js.map +1 -1
  471. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.d.ts +1 -1
  472. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +5 -5
  473. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
  474. package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.d.ts +1 -1
  475. package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.js +5 -5
  476. package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.js.map +1 -1
  477. package/dist/esm/utilities/stackScrollTool/scrollThroughStack.d.ts +1 -1
  478. package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js +4 -4
  479. package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js.map +1 -1
  480. package/dist/esm/utilities/triggerAnnotationRender.d.ts +2 -2
  481. package/dist/esm/utilities/triggerAnnotationRender.js +8 -8
  482. package/dist/esm/utilities/triggerAnnotationRender.js.map +1 -1
  483. package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.d.ts +3 -0
  484. package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.js +12 -0
  485. package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.js.map +1 -0
  486. package/dist/esm/utilities/triggerSegmentationRender.d.ts +3 -3
  487. package/dist/esm/utilities/triggerSegmentationRender.js +23 -23
  488. package/dist/esm/utilities/triggerSegmentationRender.js.map +1 -1
  489. package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js +1 -1
  490. package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js.map +1 -1
  491. package/dist/esm/utilities/viewportFilters/getViewportIdsWithToolToRender.d.ts +1 -0
  492. package/dist/esm/utilities/viewportFilters/{getViewportUIDsWithToolToRender.js → getViewportIdsWithToolToRender.js} +5 -5
  493. package/dist/esm/utilities/viewportFilters/getViewportIdsWithToolToRender.js.map +1 -0
  494. package/dist/esm/utilities/viewportFilters/index.d.ts +2 -8
  495. package/dist/esm/utilities/viewportFilters/index.js +2 -7
  496. package/dist/esm/utilities/viewportFilters/index.js.map +1 -1
  497. package/dist/tools.d.ts +247 -357
  498. package/dist/umd/index.js +2 -1
  499. package/dist/umd/index.js.LICENSE.txt +6 -0
  500. package/dist/umd/index.js.map +1 -1
  501. package/package.json +5 -4
  502. package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupUID.d.ts +0 -2
  503. package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupUID.js.map +0 -1
  504. package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupUID.d.ts +0 -3
  505. package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupUID.js +0 -8
  506. package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupUID.js.map +0 -1
  507. package/dist/cjs/utilities/triggerAnnotationRenderForViewportUIDs.d.ts +0 -3
  508. package/dist/cjs/utilities/triggerAnnotationRenderForViewportUIDs.js.map +0 -1
  509. package/dist/cjs/utilities/viewportFilters/getViewportUIDsWithToolToRender.d.ts +0 -1
  510. package/dist/cjs/utilities/viewportFilters/getViewportUIDsWithToolToRender.js.map +0 -1
  511. package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupUID.d.ts +0 -2
  512. package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupUID.js.map +0 -1
  513. package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupUID.d.ts +0 -3
  514. package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupUID.js +0 -6
  515. package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupUID.js.map +0 -1
  516. package/dist/esm/utilities/triggerAnnotationRenderForViewportUIDs.d.ts +0 -3
  517. package/dist/esm/utilities/triggerAnnotationRenderForViewportUIDs.js +0 -12
  518. package/dist/esm/utilities/triggerAnnotationRenderForViewportUIDs.js.map +0 -1
  519. package/dist/esm/utilities/viewportFilters/getViewportUIDsWithToolToRender.d.ts +0 -1
  520. package/dist/esm/utilities/viewportFilters/getViewportUIDsWithToolToRender.js.map +0 -1
package/dist/umd/index.js CHANGED
@@ -1,2 +1,3 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("cornerstone3D"),require("gl-matrix"),require("vtk.js/Sources/Rendering/Core/ColorTransferFunction"),require("vtk.js/Sources/Common/DataModel/PiecewiseFunction"),require("vtk.js/Sources/Common/Core/Math"),require("vtk.js/Sources/Common/Core/MatrixBuilder")):"function"==typeof define&&define.amd?define(["cornerstone3D","gl-matrix","vtk.js/Sources/Rendering/Core/ColorTransferFunction","vtk.js/Sources/Common/DataModel/PiecewiseFunction","vtk.js/Sources/Common/Core/Math","vtk.js/Sources/Common/Core/MatrixBuilder"],t):"object"==typeof exports?exports.cornerstoneTools3D=t(require("cornerstone3D"),require("gl-matrix"),require("vtk.js/Sources/Rendering/Core/ColorTransferFunction"),require("vtk.js/Sources/Common/DataModel/PiecewiseFunction"),require("vtk.js/Sources/Common/Core/Math"),require("vtk.js/Sources/Common/Core/MatrixBuilder")):e.cornerstoneTools3D=t(e.window,e.window,e["vtk.js/Sources/Rendering/Core/ColorTransferFunction"],e["vtk.js/Sources/Common/DataModel/PiecewiseFunction"],e["vtk.js/Sources/Common/Core/Math"],e["vtk.js/Sources/Common/Core/MatrixBuilder"])}(self,(function(e,t,n,r,o,a){return function(){var i={162:function(e,t,n){e.exports=n(47)},907:function(e,t,n){e=n.nmd(e);var r="__lodash_hash_undefined__",o=9007199254740991,a="[object Arguments]",i="[object Boolean]",l="[object Date]",c="[object Function]",s="[object GeneratorFunction]",u="[object Map]",d="[object Number]",v="[object Object]",f="[object Promise]",g="[object RegExp]",h="[object Set]",m="[object String]",p="[object Symbol]",y="[object WeakMap]",w="[object ArrayBuffer]",E="[object DataView]",D="[object Float32Array]",b="[object Float64Array]",I="[object Int8Array]",_="[object Int16Array]",S="[object Int32Array]",C="[object Uint8Array]",x="[object Uint8ClampedArray]",U="[object Uint16Array]",O="[object Uint32Array]",T=/\w*$/,M=/^\[object .+?Constructor\]$/,k=/^(?:0|[1-9]\d*)$/,N={};N[a]=N["[object Array]"]=N[w]=N[E]=N[i]=N[l]=N[D]=N[b]=N[I]=N[_]=N[S]=N[u]=N[d]=N[v]=N[g]=N[h]=N[m]=N[p]=N[C]=N[x]=N[U]=N[O]=!0,N["[object Error]"]=N[c]=N[y]=!1;var A="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,R="object"==typeof self&&self&&self.Object===Object&&self,L=A||R||Function("return this")(),P=t&&!t.nodeType&&t,V=P&&e&&!e.nodeType&&e,j=V&&V.exports===P;function B(e,t){return e.set(t[0],t[1]),e}function F(e,t){return e.add(t),e}function W(e,t,n,r){var o=-1,a=e?e.length:0;for(r&&a&&(n=e[++o]);++o<a;)n=t(n,e[o],o,e);return n}function G(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function q(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function H(e,t){return function(n){return e(t(n))}}function z(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var K,Y=Array.prototype,Z=Function.prototype,$=Object.prototype,X=L["__core-js_shared__"],J=(K=/[^.]+$/.exec(X&&X.keys&&X.keys.IE_PROTO||""))?"Symbol(src)_1."+K:"",Q=Z.toString,ee=$.hasOwnProperty,te=$.toString,ne=RegExp("^"+Q.call(ee).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),re=j?L.Buffer:void 0,oe=L.Symbol,ae=L.Uint8Array,ie=H(Object.getPrototypeOf,Object),le=Object.create,ce=$.propertyIsEnumerable,se=Y.splice,ue=Object.getOwnPropertySymbols,de=re?re.isBuffer:void 0,ve=H(Object.keys,Object),fe=Le(L,"DataView"),ge=Le(L,"Map"),he=Le(L,"Promise"),me=Le(L,"Set"),pe=Le(L,"WeakMap"),ye=Le(Object,"create"),we=Fe(fe),Ee=Fe(ge),De=Fe(he),be=Fe(me),Ie=Fe(pe),_e=oe?oe.prototype:void 0,Se=_e?_e.valueOf:void 0;function Ce(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function xe(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Ue(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Oe(e){this.__data__=new xe(e)}function Te(e,t,n){var r=e[t];ee.call(e,t)&&We(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function Me(e,t){for(var n=e.length;n--;)if(We(e[n][0],t))return n;return-1}function ke(e,t,n,r,o,f,y){var M;if(r&&(M=f?r(e,o,f,y):r(e)),void 0!==M)return M;if(!Ke(e))return e;var k=Ge(e);if(k){if(M=function(e){var t=e.length,n=e.constructor(t);return t&&"string"==typeof e[0]&&ee.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!t)return function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}(e,M)}else{var A=Ve(e),R=A==c||A==s;if(He(e))return function(e,t){if(t)return e.slice();var n=new e.constructor(e.length);return e.copy(n),n}(e,t);if(A==v||A==a||R&&!f){if(G(e))return f?e:{};if(M=function(e){return"function"!=typeof e.constructor||Be(e)?{}:Ke(t=ie(e))?le(t):{};var t}(R?{}:e),!t)return function(e,t){return Ae(e,Pe(e),t)}(e,function(e,t){return e&&Ae(t,Ye(t),e)}(M,e))}else{if(!N[A])return f?e:{};M=function(e,t,n,r){var o,a=e.constructor;switch(t){case w:return Ne(e);case i:case l:return new a(+e);case E:return function(e,t){var n=t?Ne(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,r);case D:case b:case I:case _:case S:case C:case x:case U:case O:return function(e,t){var n=t?Ne(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}(e,r);case u:return function(e,t,n){return W(t?n(q(e),!0):q(e),B,new e.constructor)}(e,r,n);case d:case m:return new a(e);case g:return function(e){var t=new e.constructor(e.source,T.exec(e));return t.lastIndex=e.lastIndex,t}(e);case h:return function(e,t,n){return W(t?n(z(e),!0):z(e),F,new e.constructor)}(e,r,n);case p:return o=e,Se?Object(Se.call(o)):{}}}(e,A,ke,t)}}y||(y=new Oe);var L=y.get(e);if(L)return L;if(y.set(e,M),!k)var P=n?function(e){return function(e,t,n){var r=t(e);return Ge(e)?r:function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}(r,n(e))}(e,Ye,Pe)}(e):Ye(e);return function(e,t){for(var n=-1,r=e?e.length:0;++n<r&&!1!==t(e[n],n););}(P||e,(function(o,a){P&&(o=e[a=o]),Te(M,a,ke(o,t,n,r,a,e,y))})),M}function Ne(e){var t=new e.constructor(e.byteLength);return new ae(t).set(new ae(e)),t}function Ae(e,t,n,r){n||(n={});for(var o=-1,a=t.length;++o<a;){var i=t[o],l=r?r(n[i],e[i],i,n,e):void 0;Te(n,i,void 0===l?e[i]:l)}return n}function Re(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function Le(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!Ke(e)||(t=e,J&&J in t))&&(ze(e)||G(e)?ne:M).test(Fe(e));var t}(n)?n:void 0}Ce.prototype.clear=function(){this.__data__=ye?ye(null):{}},Ce.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Ce.prototype.get=function(e){var t=this.__data__;if(ye){var n=t[e];return n===r?void 0:n}return ee.call(t,e)?t[e]:void 0},Ce.prototype.has=function(e){var t=this.__data__;return ye?void 0!==t[e]:ee.call(t,e)},Ce.prototype.set=function(e,t){return this.__data__[e]=ye&&void 0===t?r:t,this},xe.prototype.clear=function(){this.__data__=[]},xe.prototype.delete=function(e){var t=this.__data__,n=Me(t,e);return!(n<0||(n==t.length-1?t.pop():se.call(t,n,1),0))},xe.prototype.get=function(e){var t=this.__data__,n=Me(t,e);return n<0?void 0:t[n][1]},xe.prototype.has=function(e){return Me(this.__data__,e)>-1},xe.prototype.set=function(e,t){var n=this.__data__,r=Me(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},Ue.prototype.clear=function(){this.__data__={hash:new Ce,map:new(ge||xe),string:new Ce}},Ue.prototype.delete=function(e){return Re(this,e).delete(e)},Ue.prototype.get=function(e){return Re(this,e).get(e)},Ue.prototype.has=function(e){return Re(this,e).has(e)},Ue.prototype.set=function(e,t){return Re(this,e).set(e,t),this},Oe.prototype.clear=function(){this.__data__=new xe},Oe.prototype.delete=function(e){return this.__data__.delete(e)},Oe.prototype.get=function(e){return this.__data__.get(e)},Oe.prototype.has=function(e){return this.__data__.has(e)},Oe.prototype.set=function(e,t){var n=this.__data__;if(n instanceof xe){var r=n.__data__;if(!ge||r.length<199)return r.push([e,t]),this;n=this.__data__=new Ue(r)}return n.set(e,t),this};var Pe=ue?H(ue,Object):function(){return[]},Ve=function(e){return te.call(e)};function je(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||k.test(e))&&e>-1&&e%1==0&&e<t}function Be(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||$)}function Fe(e){if(null!=e){try{return Q.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function We(e,t){return e===t||e!=e&&t!=t}(fe&&Ve(new fe(new ArrayBuffer(1)))!=E||ge&&Ve(new ge)!=u||he&&Ve(he.resolve())!=f||me&&Ve(new me)!=h||pe&&Ve(new pe)!=y)&&(Ve=function(e){var t=te.call(e),n=t==v?e.constructor:void 0,r=n?Fe(n):void 0;if(r)switch(r){case we:return E;case Ee:return u;case De:return f;case be:return h;case Ie:return y}return t});var Ge=Array.isArray;function qe(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}(e.length)&&!ze(e)}var He=de||function(){return!1};function ze(e){var t=Ke(e)?te.call(e):"";return t==c||t==s}function Ke(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Ye(e){return qe(e)?function(e,t){var n=Ge(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&qe(e)}(e)&&ee.call(e,"callee")&&(!ce.call(e,"callee")||te.call(e)==a)}(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,o=!!r;for(var i in e)!t&&!ee.call(e,i)||o&&("length"==i||je(i,r))||n.push(i);return n}(e):function(e){if(!Be(e))return ve(e);var t=[];for(var n in Object(e))ee.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}e.exports=function(e){return ke(e,!0,!0)}},47:function(e){var t=function(e){"use strict";var t,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function s(e,t,n,r){var o=t&&t.prototype instanceof m?t:m,a=Object.create(o.prototype),i=new U(r||[]);return a._invoke=function(e,t,n){var r=d;return function(o,a){if(r===f)throw new Error("Generator is already running");if(r===g){if("throw"===o)throw a;return T()}for(n.method=o,n.arg=a;;){var i=n.delegate;if(i){var l=S(i,n);if(l){if(l===h)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===d)throw r=g,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var c=u(e,t,n);if("normal"===c.type){if(r=n.done?g:v,c.arg===h)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=g,n.method="throw",n.arg=c.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var d="suspendedStart",v="suspendedYield",f="executing",g="completed",h={};function m(){}function p(){}function y(){}var w={};c(w,a,(function(){return this}));var E=Object.getPrototypeOf,D=E&&E(E(O([])));D&&D!==n&&r.call(D,a)&&(w=D);var b=y.prototype=m.prototype=Object.create(w);function I(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function _(e,t){function n(o,a,i,l){var c=u(e[o],e,a);if("throw"!==c.type){var s=c.arg,d=s.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,i,l)}),(function(e){n("throw",e,i,l)})):t.resolve(d).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,l)}))}l(c.arg)}var o;this._invoke=function(e,r){function a(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(a,a):a()}}function S(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,S(e,n),"throw"===n.method))return h;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var o=u(r,e.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,h;var a=o.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,h):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function U(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function O(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function n(){for(;++o<e.length;)if(r.call(e,o))return n.value=e[o],n.done=!1,n;return n.value=t,n.done=!0,n};return i.next=i}}return{next:T}}function T(){return{value:t,done:!0}}return p.prototype=y,c(b,"constructor",y),c(y,"constructor",p),p.displayName=c(y,l,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,c(e,l,"GeneratorFunction")),e.prototype=Object.create(b),e},e.awrap=function(e){return{__await:e}},I(_.prototype),c(_.prototype,i,(function(){return this})),e.AsyncIterator=_,e.async=function(t,n,r,o,a){void 0===a&&(a=Promise);var i=new _(s(t,n,r,o),a);return e.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},I(b),c(b,l,"Generator"),c(b,a,(function(){return this})),c(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=O,U.prototype={constructor:U,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(x),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function o(r,o){return l.type="throw",l.arg=e,n.next=r,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],l=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,h):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),x(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:O(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),h}},e}(e.exports);try{regeneratorRuntime=t}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}},4:function(e){"use strict";e.exports=o},611:function(e){"use strict";e.exports=a},634:function(e){"use strict";e.exports=r},103:function(e){"use strict";e.exports=n},571:function(t){"use strict";t.exports=e},976:function(e){"use strict";e.exports=t}},l={};function c(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={id:e,loaded:!1,exports:{}};return i[e](n,n.exports,c),n.loaded=!0,n.exports}c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,{a:t}),t},c.d=function(e,t){for(var n in t)c.o(t,n)&&!c.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e};var s={};return function(){"use strict";c.r(s),c.d(s,{AnnotationTool:function(){return kn},BaseTool:function(){return _t},BidirectionalTool:function(){return zl},CircleScissorsTool:function(){return ac},CrosshairsTool:function(){return Hl},EllipticalRoiTool:function(){return ec},Enums:function(){return uc},LengthTool:function(){return Yl},MIPJumpToClickTool:function(){return Vl},PanTool:function(){return Ml},ProbeTool:function(){return Xl},RectangleRoiStartEndThresholdTool:function(){return sc},RectangleRoiThresholdTool:function(){return cc},RectangleRoiTool:function(){return Jl},RectangleScissorsTool:function(){return rc},SegmentationDisplayTool:function(){return Hr},SphereScissorsTool:function(){return lc},StackScrollMouseWheelTool:function(){return Al},StackScrollTool:function(){return Nl},Synchronizer:function(){return Jo},SynchronizerManager:function(){return h},ToolGroupManager:function(){return y},Types:function(){return U},VolumeRotateMouseWheelTool:function(){return Pl},WindowLevelTool:function(){return kl},ZoomTool:function(){return Rl},addTool:function(){return Ne},annotation:function(){return O},cancelActiveManipulations:function(){return Yo},cursors:function(){return p},destroy:function(){return Il},drawing:function(){return r},init:function(){return bl},removeTool:function(){return Ae},segmentation:function(){return g},synchronizers:function(){return x},utilities:function(){return _}});var e={};c.r(e),c.d(e,{checkAndDefineIsLockedProperty:function(){return ee},getAnnotationsLocked:function(){return X},getAnnotationsLockedCount:function(){return Q},isAnnotationLocked:function(){return J},setAnnotationLocked:function(){return Z},unlockAllAnnotations:function(){return $}});var t={};c.r(t),c.d(t,{addAnnotation:function(){return ve},getAnnotation:function(){return ge},getAnnotations:function(){return de},getDefaultAnnotationManager:function(){return se},getViewportSpecificAnnotationManager:function(){return ue},removeAnnotation:function(){return fe}});var n={};c.r(n),c.d(n,{triggerSegmentationDataModified:function(){return Ie},triggerSegmentationGlobalStateModified:function(){return be},triggerSegmentationStateModified:function(){return De}});var r={};c.r(r),c.d(r,{default:function(){return Kt},draw:function(){return Tt},drawCircle:function(){return At},drawEllipse:function(){return Rt},drawHandles:function(){return Lt},drawLine:function(){return Pt},drawLinkedTextBox:function(){return Ht},drawRect:function(){return zt},drawTextBox:function(){return Ft}});var o={};c.r(o),c.d(o,{getAnnotationSelected:function(){return mn},getAnnotationsSelected:function(){return hn},getAnnotationsSelectedByToolName:function(){return pn},getAnnotationsSelectedCount:function(){return wn},isAnnotationSelected:function(){return yn},setAnnotationSelected:function(){return vn}});var a={};c.r(a),c.d(a,{getFont:function(){return Sn},getState:function(){return In},getStyle:function(){return _n},setAnnotationStyle:function(){return Cn},setGlobalStyle:function(){return xn},setToolStyle:function(){return Un}});var i={};c.r(i),c.d(i,{default:function(){return vr},getActiveSegmentationInfo:function(){return ur},setActiveSegmentation:function(){return dr}});var l={};c.r(l),c.d(l,{default:function(){return yr},getSegmentIndexLocked:function(){return fr},getSegmentIndexLockedForSegmentation:function(){return hr},getSegmentsLockedForSegmentation:function(){return pr},setSegmentIndexLocked:function(){return gr},setSegmentIndexLockedForSegmentation:function(){return mr}});var u={};c.r(u),c.d(u,{addColorLUT:function(){return wr},default:function(){return Dr},getColorForSegmentIndex:function(){return Er}});var d={};c.r(d),c.d(d,{default:function(){return Ar},getGlobalRepresentationConfig:function(){return Cr},getGlobalSegmentationConfig:function(){return _r},getRepresentationConfig:function(){return Nr},getSegmentationConfig:function(){return Tr},setGlobalRepresentationConfig:function(){return xr},setGlobalSegmentationConfig:function(){return Sr},setRepresentationConfig:function(){return kr},setSegmentationConfig:function(){return Mr},updateGlobalRepresentationConfig:function(){return Ur},updateGlobalSegmentationConfig:function(){return Or}});var v={};c.r(v),c.d(v,{default:function(){return Pr},getSegmentationVisibility:function(){return Lr},setSegmentationVisibility:function(){return Rr}});var f={};c.r(f),c.d(f,{default:function(){return Wr},getActiveSegmentIndex:function(){return Vr},getActiveSegmentIndexForSegmentation:function(){return Fr},setActiveSegmentIndex:function(){return jr},setActiveSegmentIndexForSegmentation:function(){return Br}});var g={};c.r(g),c.d(g,{activeSegmentation:function(){return i},addSegmentationsForToolGroup:function(){return ir},createNewSegmentationForToolGroup:function(){return sr},removeSegmentationsFromToolGroup:function(){return lr},segmentIndex:function(){return f},segmentLocking:function(){return l},segmentationColor:function(){return u},segmentationConfig:function(){return d},segmentationVisibility:function(){return v},state:function(){return C},triggerSegmentationEvents:function(){return n}});var h={};c.r(h),c.d(h,{createSynchronizer:function(){return Qo},destroy:function(){return ea},destroySynchronizerById:function(){return ra},getAllSynchronizers:function(){return na},getSynchronizerById:function(){return ta},getSynchronizers:function(){return qo}});var m={};c.r(m),c.d(m,{hideElementCursor:function(){return Pa},initElementCursor:function(){return Aa},resetElementCursor:function(){return La},setElementCursor:function(){return Ra}});var p={};c.r(p),c.d(p,{CursorNames:function(){return Ba},ImageMouseCursor:function(){return sa},MouseCursor:function(){return ia},SVGMouseCursor:function(){return xa},elementCursor:function(){return m},registerCursor:function(){return Da},setCursorForElement:function(){return ja}});var y={};c.r(y),c.d(y,{createToolGroup:function(){return za},default:function(){return Ja},destroy:function(){return Za},destroyToolGroupByToolGroupUID:function(){return Ka},getAllToolGroups:function(){return Xa},getToolGroup:function(){return Ho},getToolGroupByToolGroupUID:function(){return $a}});var w={};c.r(w),c.d(w,{default:function(){return vi},getTextBoxCoordsCanvas:function(){return di}});var E={};c.r(E),c.d(E,{default:function(){return _i},ellipse:function(){return yi},lineSegment:function(){return bi},rectangle:function(){return Ii},vec2:function(){return hi}});var D={};c.r(D),c.d(D,{default:function(){return Ti},filterAnnotationsForDisplay:function(){return cn},filterAnnotationsWithinSlice:function(){return ln},getPointInLineOfSightWithCriteria:function(){return Ui},getWorldWidthAndHeightFromCorners:function(){return Si}});var b={};c.r(b),c.d(b,{default:function(){return Pi},getSliceRange:function(){return Ai},scrollThroughStack:function(){return Li},snapFocalPointToSlice:function(){return Mi}});var I={};c.r(I),c.d(I,{default:function(){return zi},filterViewportsWithFrameOfReferenceUID:function(){return Vi},filterViewportsWithToolEnabled:function(){return Wi},getViewportUIDsWithToolToRender:function(){return Hi}});var _={};c.r(_),c.d(_,{calibrateImageSpacing:function(){return li},debounce:function(){return oi},deepMerge:function(){return bt},default:function(){return Ki},drawing:function(){return w},getAnnotationNearPoint:function(){return ei},getAnnotationNearPointOnEnabledElement:function(){return ti},isObject:function(){return ri},math:function(){return E},planar:function(){return D},pointInShapeCallback:function(){return si},pointInSurroundingSphereCallback:function(){return ui},segmentation:function(){return S},stackScrollTool:function(){return b},throttle:function(){return ai},transformPhysicalToIndex:function(){return ci},triggerAnnotationRenderForViewportUIDs:function(){return Qr},triggerEvent:function(){return A.triggerEvent},viewportFilters:function(){return I}});var S={};c.r(S),c.d(S,{createMergedLabelmapForIndex:function(){return Xi},default:function(){return el},extend2DBoundingBoxInViewAxis:function(){return Ue},getBoundingBoxAroundShape:function(){return xe},getDefaultRepresentationConfig:function(){return Qi},isValidRepresentationConfig:function(){return Ji},thresholdVolumeByRange:function(){return Zi},thresholdVolumeByRoiStats:function(){return $i}});var C={};c.r(C),c.d(C,{addColorLUT:function(){return yl},addGlobalSegmentationData:function(){return al},addSegmentationData:function(){return ul},getActiveSegmentationData:function(){return El},getColorLut:function(){return pl},getDefaultSegmentationStateManager:function(){return rl},getGlobalSegmentationConfig:function(){return dl},getGlobalSegmentationDataByUID:function(){return ol},getGlobalSegmentationState:function(){return il},getSegmentationConfig:function(){return gl},getSegmentationDataByUID:function(){return cl},getSegmentationState:function(){return ll},getToolGroups:function(){return ml},getToolGroupsWithSegmentation:function(){return hl},removeSegmentationData:function(){return sl},setActiveSegmentationData:function(){return wl},setGlobalSegmentationConfig:function(){return vl},setSegmentationConfig:function(){return fl}});var x={};c.r(x),c.d(x,{createCameraPositionSynchronizer:function(){return Ul},createVOISynchronizer:function(){return Tl}});var U={};c.r(U);var O={};c.r(O),c.d(O,{config:function(){return a},locking:function(){return e},selection:function(){return o},state:function(){return t}});var T,M,k,N,A=c(571);!function(e){e[e.Primary=1]="Primary",e[e.Secondary=2]="Secondary",e[e.Primary_And_Secondary=3]="Primary_And_Secondary",e[e.Auxiliary=4]="Auxiliary",e[e.Primary_And_Auxiliary=5]="Primary_And_Auxiliary",e[e.Secondary_And_Auxiliary=6]="Secondary_And_Auxiliary",e[e.Primary_And_Secondary_And_Auxiliary=7]="Primary_And_Secondary_And_Auxiliary",e[e.Fourth_Button=8]="Fourth_Button",e[e.Fifth_Button=16]="Fifth_Button"}(T||(T={})),function(e){e[e.Shift=16]="Shift",e[e.Ctrl=18]="Ctrl",e[e.Alt=17]="Alt"}(M||(M={})),(N=k||(k={})).Active="Active",N.Passive="Passive",N.Enabled="Enabled",N.Disabled="Disabled";var R,L=k;!function(e){e.Default="",e.Highlighted="Highlighted",e.Selected="Selected",e.Locked="Locked"}(R||(R={}));var P,V=R;!function(e){e.ANNOTATION_ADDED="CORNERSTONE_TOOLS_ANNOTATION_ADDED",e.ANNOTATION_MODIFIED="CORNERSTONE_TOOLS_ANNOTATION_MODIFIED",e.ANNOTATION_REMOVED="CORNERSTONE_TOOLS_ANNOTATION_REMOVED",e.ANNOTATION_SELECTION_CHANGE="CORNERSTONE_TOOLS_ANNOTATION_SELECTION_CHANGE",e.ANNOTATION_LOCK_CHANGE="CORNERSTONE_TOOLS_ANNOTATION_LOCK_CHANGE",e.ANNOTATION_RENDERED="CORNERSTONE_TOOLS_ANNOTATION_RENDERED",e.SEGMENTATION_RENDERED="CORNERSTONE_TOOLS_SEGMENTATION_RENDERED",e.SEGMENTATION_STATE_MODIFIED="CORNERSTONE_TOOLS_SEGMENTATION_STATE_MODIFIED",e.SEGMENTATION_GLOBAL_STATE_MODIFIED="CORNERSTONE_TOOLS_SEGMENTATION_GLOBAL_STATE_MODIFIED",e.SEGMENTATION_DATA_MODIFIED="CORNERSTONE_TOOLS_SEGMENTATION_DATA_MODIFIED",e.KEY_DOWN="CORNERSTONE_TOOLS_KEY_DOWN",e.KEY_UP="CORNERSTONE_TOOLS_KEY_UP",e.MOUSE_DOWN="CORNERSTONE_TOOLS_MOUSE_DOWN",e.MOUSE_UP="CORNERSTONE_TOOLS_MOUSE_UP",e.MOUSE_DOWN_ACTIVATE="CORNERSTONE_TOOLS_MOUSE_DOWN_ACTIVATE",e.MOUSE_DRAG="CORNERSTONE_TOOLS_MOUSE_DRAG",e.MOUSE_MOVE="CORNERSTONE_TOOLS_MOUSE_MOVE",e.MOUSE_CLICK="CORNERSTONE_TOOLS_MOUSE_CLICK",e.MOUSE_DOUBLE_CLICK="CORNERSTONE_TOOLS_MOUSE_DOUBLE_CLICK",e.MOUSE_WHEEL="CORNERSTONE_TOOLS_MOUSE_WHEEL"}(P||(P={}));var j,B=P;!function(e){e.Labelmap="LABELMAP"}(j||(j={}));var F=j;function W(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function G(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function q(e,t,n){return t&&G(e.prototype,t),n&&G(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function H(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var z=c(907),K=c.n(z),Y=new Set;function Z(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=te();e&&(t?ne(e,Y,n):re(e,Y,n)),oe(n,Y)}function $(){var e=te();!function(e,t){e.forEach((function(n){re(n,e,t)}))}(Y,e),oe(e,Y)}function X(){return Array.from(Y)}function J(e){return Y.has(e)}function Q(){return Y.size}function ee(e){if(e){var t=!!e.isLocked;(function(e){var t=Object.getOwnPropertyDescriptor(e,"isLocked");return t?t.configurable&&(t.set!==ae||t.get!==ie):Object.isExtensible(e)})(e)&&Object.defineProperty(e,"isLocked",{configurable:!1,enumerable:!0,set:ae,get:ie}),Z(e,t)}}function te(){return Object.freeze({added:[],removed:[],locked:[]})}function ne(e,t,n){t.has(e)||(t.add(e),n.added.push(e))}function re(e,t,n){t.delete(e)&&n.removed.push(e)}function oe(e,t){(e.added.length>0||e.removed.length>0)&&(t.forEach((function(t){e.locked.push(t)})),(0,A.triggerEvent)(A.eventTarget,B.ANNOTATION_LOCK_CHANGE,e))}function ae(e){Z(this,e)}function ie(){return J(this)}var le=function(){function e(t){var n=this;W(this,e),H(this,"annotations",void 0),H(this,"uid",void 0),H(this,"_imageVolumeModifiedHandler",(function(e){var t=e.detail.FrameOfReferenceUID,r=n.annotations[t];r&&Object.keys(r).forEach((function(e){r[e].forEach((function(e){void 0!==e.invalidated&&(e.invalidated=!0)}))}))})),H(this,"getFramesOfReference",(function(){return Object.keys(n.annotations)})),H(this,"getFrameOfReferenceAnnotations",(function(e){return n.annotations[e]})),H(this,"get",(function(e,t){var r=n.annotations[e];if(r)return r[t]})),H(this,"getAnnotation",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n._getToolSpecificAnnotationsAndIndex(e,t);if(r){var o=r.toolSpecificAnnotations,a=r.index;return o[a]}})),H(this,"addAnnotation",(function(e){var t=e.metadata,r=t.FrameOfReferenceUID,o=t.toolName,a=n.annotations,i=a[r];i||(a[r]={},i=a[r]);var l=i[o];l||(i[o]=[],l=i[o]),l.push(e),ee(e)})),H(this,"removeAnnotation",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n._getToolSpecificAnnotationsAndIndex(e,t);if(r){var o=r.toolSpecificAnnotations,a=r.index,i=o[0].metadata;if(o.splice(a,1),!o.length){var l=i.toolName;delete n.annotations[i.FrameOfReferenceUID][l]}}})),H(this,"saveAnnotations",(function(e,t){var r=n.annotations;if(e&&t){var o=r[e];if(!o)return;var a=o[t];return K()(a)}if(e){var i=r[e];return K()(i)}return K()(r)})),H(this,"restoreAnnotations",(function(e,t,r){var o=n.annotations;if(t&&r){var a=o[t];a||(o[t]={},a=o[t]),a[r]=e}else t?o[t]=e:n.annotations=K()(e)})),t||(t=A.utilities.uuidv4()),this.annotations={},this.uid=t,A.eventTarget.addEventListener(A.Enums.Events.IMAGE_VOLUME_MODIFIED,this._imageVolumeModifiedHandler)}return q(e,[{key:"_getToolSpecificAnnotationsAndIndex",value:function(e,t){for(var n,r=t.toolName,o=t.FrameOfReferenceUID,a=this.annotations,i=(n=o?[o]:Object.keys(a)).length,l=0;l<i;l++)for(var c,s=a[n[l]],u=(c=r?[r]:Object.keys(s)).length,d=0;d<u;d++){var v=s[c[d]],f=v.findIndex((function(t){return t.annotationUID===e}));if(-1!==f)return{toolSpecificAnnotations:v,index:f}}}}]),e}(),ce=new le("DEFAULT");function se(){return ce}function ue(e){return ce}function de(e,t){var n=(0,A.getEnabledElement)(e),r=ue(),o=n.FrameOfReferenceUID;return r.get(o,t)}function ve(e,t){var n=ue();void 0===t.annotationUID&&(t.annotationUID=A.utilities.uuidv4()),n.addAnnotation(t);var r=(0,A.getEnabledElement)(e),o=r.renderingEngine,a=r.viewportUID,i=B.ANNOTATION_ADDED,l={annotation:t,viewportUID:a,renderingEngineUID:o.uid};(0,A.triggerEvent)(A.eventTarget,i,l)}function fe(e,t){var n=ue(),r=n.getAnnotation(t);n.removeAnnotation(t);var o=(0,A.getEnabledElement)(e),a=o.renderingEngine,i=o.viewportUID,l=B.ANNOTATION_REMOVED,c={annotation:r,viewportUID:i,renderingEngineUID:a.uid};(0,A.triggerEvent)(A.eventTarget,l,c)}function ge(e,t){return ue().getAnnotation(e)}var he=[[0,0,0,0],[221,84,84,255],[77,228,121,255],[166,70,235,255],[189,180,116,255],[109,182,196,255],[204,101,157,255],[123,211,94,255],[93,87,218,255],[225,128,80,255],[73,232,172,255],[181,119,186,255],[176,193,112,255],[105,153,200,255],[208,97,120,255],[90,215,101,255],[135,83,222,255],[229,178,76,255],[122,183,181,255],[190,115,171,255],[149,197,108,255],[100,118,205,255],[212,108,93,255],[86,219,141,255],[183,79,226,255],[233,233,72,255],[118,167,187,255],[194,111,146,255],[116,201,104,255],[115,96,209,255],[216,147,89,255],[82,223,188,255],[230,75,224,255],[163,184,121,255],[114,143,191,255],[198,107,114,255],[99,206,122,255],[153,92,213,255],[220,192,85,255],[78,215,227,255],[234,71,173,255],[141,188,117,255],[110,113,195,255],[202,128,103,255],[95,210,157,255],[195,88,217,255],[206,224,81,255],[74,166,231,255],[185,120,139,255],[113,192,113,255],[133,106,199,255],[207,162,98,255],[91,214,198,255],[221,84,198,255],[159,228,77,255],[70,111,235,255],[189,119,116,255],[109,196,138,255],[165,101,204,255],[211,201,94,255],[87,191,218,255],[225,80,153,255],[106,232,73,255],[124,119,186,255],[193,142,112,255],[105,200,168,255],[203,97,208,255],[184,215,90,255],[83,147,222,255],[229,76,101,255],[122,183,130,255],[146,115,190,255],[197,171,108,255],[100,205,205,255],[212,93,177,255],[141,219,86,255],[79,97,226,255],[233,99,72,255],[118,187,150,255],[173,111,194,255],[197,201,104,255],[96,171,209,255],[216,89,137,255],[94,223,82,255],[107,75,230,255],[184,153,121,255],[114,191,175,255],[198,107,191,255],[166,206,99,255],[92,132,213,255],[220,85,91,255],[78,227,115,255],[159,71,234,255],[188,176,117,255],[110,185,195,255],[202,103,161,255],[129,210,95,255],[88,88,217,255],[224,123,81,255],[74,231,166,255],[177,120,185,255],[179,192,113,255],[106,156,199,255],[207,98,125,255],[91,214,96,255],[130,84,221,255],[228,171,77,255],[70,235,221,255],[189,116,174,255],[153,196,109,255],[101,123,204,255],[211,104,94,255],[87,218,136,255],[177,80,225,255],[232,225,73,255],[119,169,186,255],[193,112,149,255],[121,200,105,255],[111,97,208,255],[215,142,90,255],[83,222,181,255],[229,76,229,255],[165,183,122,255],[115,146,190,255],[197,108,119,255],[100,205,118,255],[148,93,212,255],[219,186,86,255],[79,220,226,255],[233,72,179,255],[144,187,118,255],[111,118,194,255],[201,124,104,255],[96,209,153,255],[189,89,216,255],[211,223,82,255],[75,172,230,255],[184,121,142,255],[117,191,114,255],[130,107,198,255],[206,157,99,255],[92,213,193,255],[220,85,203,255],[165,227,78,255],[71,118,234,255],[188,117,117,255],[110,195,135,255],[161,103,202,255],[210,195,95,255],[88,195,217,255],[224,81,158,255],[113,231,74,255],[123,120,185,255],[192,139,113,255],[106,199,164,255],[198,98,207,255],[188,214,91,255],[84,153,221,255],[228,77,108,255],[70,235,84,255],[143,116,189,255],[196,167,109,255],[101,204,199,255],[211,94,182,255],[147,218,87,255],[80,104,225,255],[232,93,73,255],[119,186,147,255],[170,112,193,255],[200,200,105,255],[97,175,208,255],[215,90,142,255],[100,222,83,255],[101,76,229,255],[183,150,122,255],[115,190,171,255],[197,108,194,255],[170,205,100,255],[93,138,212,255],[219,86,97,255],[79,226,110,255],[153,72,233,255],[187,173,118,255],[111,187,194,255],[201,104,165,255],[134,209,96,255],[89,95,216,255],[223,117,82,255],[75,230,159,255],[174,121,184,255],[182,191,114,255],[107,160,198,255],[206,99,130,255],[92,213,92,255],[124,85,220,255],[227,165,78,255],[71,234,214,255],[188,117,176,255],[156,195,110,255],[103,128,202,255],[210,100,95,255],[88,217,131,255],[170,81,224,255],[231,218,74,255],[120,172,185,255],[192,113,153,255],[125,199,106,255],[107,98,207,255],[214,137,91,255],[84,221,175,255],[222,77,228,255],[194,235,70,255],[116,149,189,255],[196,109,123,255],[101,204,114,255],[143,94,211,255],[218,180,87,255],[80,225,225,255],[232,73,186,255],[147,186,119,255],[112,122,193,255],[200,121,105,255],[97,208,148,255],[184,90,215,255],[216,222,83,255],[76,178,229,255],[183,122,145,255],[121,190,115,255],[126,108,197,255],[205,153,100,255],[93,212,187,255],[219,86,208,255],[171,226,79,255],[72,126,233,255],[187,118,121,255],[111,194,132,255],[157,104,201,255],[209,190,96,255],[89,200,216,255],[223,82,164,255],[120,230,75,255],[121,121,184,255],[191,136,114,255],[107,198,160,255],[192,99,206,255],[193,213,92,255],[85,158,220,255],[227,78,115,255],[71,234,78,255],[141,117,188,255],[195,163,110,255],[103,202,194,255],[210,95,186,255],[153,217,88,255],[81,111,224,255]];function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?me(Object(n),!0).forEach((function(t){H(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):me(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ye={colorLutTables:[],global:{segmentations:[],config:{renderInactiveSegmentations:!0,representations:{}}},toolGroups:{}},we=function(){function e(t){W(this,e),H(this,"state",void 0),H(this,"uid",void 0),t||(t=A.utilities.uuidv4()),this.state=K()(ye),this.uid=t}return q(e,[{key:"getState",value:function(){return K()(this.state)}},{key:"getToolGroups",value:function(){return Object.keys(this.state.toolGroups)}},{key:"getColorLut",value:function(e){return this.state.colorLutTables[e]}},{key:"resetState",value:function(){this.state=K()(ye)}},{key:"getGlobalSegmentationData",value:function(e){var t;return null===(t=this.state.global.segmentations)||void 0===t?void 0:t.find((function(t){return t.volumeUID===e}))}},{key:"getGlobalSegmentationState",value:function(){return this.state.global.segmentations}},{key:"getGlobalSegmentationConfig",value:function(){return this.state.global.config}},{key:"setGlobalSegmentationConfig",value:function(e){this.state.global.config=e}},{key:"getToolGroupsWithSegmentation",value:function(e){var t=this,n=Object.keys(this.state.toolGroups),r=[];return n.forEach((function(n){t.getSegmentationState(n).find((function(t){return t.volumeUID===e}))&&r.push(n)})),r}},{key:"getSegmentationState",value:function(e){return this.state.toolGroups[e]?this.state.toolGroups[e].segmentations:[]}},{key:"getSegmentationConfig",value:function(e){var t=this.state.toolGroups[e];if(t)return t.config}},{key:"setSegmentationConfig",value:function(e,t){var n=this.state.toolGroups[e];n||(this.state.toolGroups[e]={segmentations:[],config:{renderInactiveSegmentations:!0,representations:{}}},n=this.state.toolGroups[e]),n.config=pe(pe({},n.config),t)}},{key:"getSegmentationDataByUID",value:function(e,t){return this.getSegmentationState(e).find((function(e){return e.segmentationDataUID===t}))}},{key:"getActiveSegmentationData",value:function(e){return this.getSegmentationState(e).find((function(e){return e.active}))}},{key:"addColorLUT",value:function(e,t){this.state.colorLutTables[t]&&console.log("Color LUT table already exists, overwriting"),this.state.colorLutTables[t]=e}},{key:"addGlobalSegmentationData",value:function(e){var t=e.volumeUID;this._initDefaultColorLutIfNecessary();var n=this.getGlobalSegmentationData(t),r=pe(pe({},n),e);if(n){var o=this.state.global.segmentations.findIndex((function(e){return e.volumeUID===t}));this.state.global.segmentations[o]=r}else this.state.global.segmentations.push({volumeUID:t,label:e.label,referenceVolumeUID:e.referenceVolumeUID,cachedStats:e.cachedStats,referenceImageId:e.referenceImageId,activeSegmentIndex:e.activeSegmentIndex,segmentsLocked:e.segmentsLocked})}},{key:"addSegmentationData",value:function(e,t){this.state.toolGroups[e]||(this.state.toolGroups[e]={segmentations:[],config:{}}),this.state.toolGroups[e].segmentations.push(t),this._handleActiveSegmentation(e,t)}},{key:"setActiveSegmentationData",value:function(e,t){var n=this.getSegmentationState(e);if(!n||!n.length)throw new Error("No segmentation data found for toolGroupUID: ".concat(e));var r=n.find((function(e){return e.segmentationDataUID===t}));if(!r)throw new Error("No segmentation data found for segmentation data UID ".concat(t));r.active=!0,this._handleActiveSegmentation(e,r)}},{key:"removeSegmentationData",value:function(e,t){var n=this.getSegmentationState(e);if(!n||!n.length)throw new Error("No viewport specific segmentation state found for viewport ".concat(e));var r=n.findIndex((function(e){return e.segmentationDataUID===t}));-1===r&&console.warn("No viewport specific segmentation state data found for viewport ".concat(e," and segmentation data UID ").concat(t));var o=n[r];n.splice(r,1),this._handleActiveSegmentation(e,o)}},{key:"_handleActiveSegmentation",value:function(e,t){var n=this.getSegmentationState(e);0!==n.length&&(1!==n.length&&0!==n.filter((function(e){return e.active})).length?t.active&&n.forEach((function(e){e.segmentationDataUID!==t.segmentationDataUID&&(e.active=!1)})):n[0].active=!0)}},{key:"_initDefaultColorLutIfNecessary",value:function(){0!==this.state.colorLutTables.length&&this.state.colorLutTables[0]||this.addColorLUT(he,0)}}]),e}(),Ee=new we("DEFAULT");function De(e){var t={toolGroupUID:e};(0,A.triggerEvent)(A.eventTarget,B.SEGMENTATION_STATE_MODIFIED,t)}function be(e){var t,n;e?(t=hl(e),n=[e]):(t=ml(),n=il().map((function(e){return e.volumeUID}))),n.forEach((function(e){var t={segmentationUID:e};(0,A.triggerEvent)(A.eventTarget,B.SEGMENTATION_GLOBAL_STATE_MODIFIED,t)})),t.forEach((function(e){De(e)}))}function Ie(e,t){var n={toolGroupUID:e,segmentationDataUID:t};(0,A.triggerEvent)(A.eventTarget,B.SEGMENTATION_DATA_MODIFIED,n)}function _e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Se(e,t){if(e){if("string"==typeof e)return _e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_e(e,t):void 0}}function Ce(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||Se(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xe(e,t){var n=1/0,r=0,o=1/0,a=0,i=1/0,l=0;if(e.forEach((function(e){n=Math.min(e[0],n),r=Math.max(e[0],r),o=Math.min(e[1],o),a=Math.max(e[1],a),i=Math.min(e[2],i),l=Math.max(e[2],l)})),n=Math.floor(n),r=Math.floor(r),o=Math.floor(o),a=Math.floor(a),i=Math.floor(i),l=Math.floor(l),t){var c=Ce(t,3),s=c[0],u=c[1],d=c[2];n=Math.max(0,n),r=Math.min(s,r),o=Math.max(0,o),a=Math.min(u,a),i=Math.max(0,i),l=Math.min(d,l)}return[[n,r],[o,a],[i,l]]}function Ue(e,t){var n=e.findIndex((function(e){var t=Ce(e,2);return t[0]===t[1]}));if(-1===n)throw new Error("3D bounding boxes not supported in an oblique plane");return e[n][0]-=t,e[n][1]+=t,e}function Oe(e){return function(e){if(Array.isArray(e))return _e(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Se(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Te={},Me={isInteractingWithTool:!1,isMultiPartToolActive:!1,tools:{},toolGroups:[],synchronizers:[],svgNodeCache:Te,enabledElements:[],handleRadius:6},ke={isInteractingWithTool:!1,isMultiPartToolActive:!1,tools:{},toolGroups:[],synchronizers:[],svgNodeCache:Te,enabledElements:[],handleRadius:6};function Ne(e){var t=e.toolName,n=void 0!==ke.tools[t];if(!t)throw new Error("No Tool Found for the ToolClass ".concat(e.name));if(n)throw new Error("".concat(t," has already been added globally"));ke.tools[t]={toolClass:e}}function Ae(e){var t=e.toolName;if(!t)throw new Error("No tool found for: ".concat(e.name));if(void 0===!ke.tools[t])throw new Error("".concat(t," cannot be removed because it has not been added"));delete ke.tools[t]}function Re(e,t){var n=t||e.currentTarget,r=(0,A.getEnabledElement)(n).viewport,o=function(e){return[e.clientX,e.clientY]}(e),a=function(e){return[e.pageX,e.pageY]}(e),i=function(e,t){var n=e.getBoundingClientRect();return[t[0]-n.left-window.pageXOffset,t[1]-n.top-window.pageYOffset]}(n,a);return{page:a,client:o,canvas:i,world:r.canvasToWorld(i)}}var Le=function(e){var t=e.currentTarget,n=(0,A.getEnabledElement)(t),r=n.viewportUID,o=n.renderingEngineUID,a=Re(e,t),i={event:e,eventName:B.MOUSE_DOUBLE_CLICK,viewportUID:r,renderingEngineUID:o,camera:{},element:t,startPoints:a,lastPoints:a,currentPoints:a,deltaPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]}};(0,A.triggerEvent)(t,B.MOUSE_DOUBLE_CLICK,i)},Pe=B.MOUSE_MOVE,Ve=function(e){var t=e.currentTarget,n=(0,A.getEnabledElement)(t),r={renderingEngineUID:n.renderingEngineUID,viewportUID:n.viewportUID,camera:{},element:t,currentPoints:Re(e),eventName:Pe,event:e};(0,A.triggerEvent)(t,Pe,r)},je=B.MOUSE_DOWN,Be=B.MOUSE_DOWN_ACTIVATE,Fe=B.MOUSE_CLICK,We=B.MOUSE_UP,Ge=B.MOUSE_DRAG,qe={mouseButton:void 0,element:null,renderingEngineUID:void 0,viewportUID:void 0,isClickEvent:!0,clickDelay:200,preventClickTimeout:null,startPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]},lastPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]}},He={mouseButton:void 0,renderingEngineUID:void 0,viewportUID:void 0,isClickEvent:!0,clickDelay:200,element:null,preventClickTimeout:null,startPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]},lastPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]}};function ze(e){var t=Re(e,He.element),n=function(e,t){var n=(0,A.getEnabledElement)(e).viewport.canvasToWorld(t.canvas);return{page:t.page,client:t.client,canvas:t.canvas,world:n}}(He.element,He.lastPoints),r=$e(t,n),o={event:e,eventName:Ge,mouseButton:He.mouseButton,renderingEngineUID:He.renderingEngineUID,viewportUID:He.viewportUID,camera:{},element:He.element,startPoints:Ze(He.startPoints),lastPoints:Ze(n),currentPoints:t,deltaPoints:r};(0,A.triggerEvent)(He.element,Ge,o),He.lastPoints=Ze(t)}function Ke(e){clearTimeout(He.preventClickTimeout);var t=He.isClickEvent?Fe:We,n=Re(e,He.element),r=$e(n,He.lastPoints),o={event:e,eventName:t,mouseButton:He.mouseButton,element:He.element,renderingEngineUID:He.renderingEngineUID,viewportUID:He.viewportUID,camera:{},startPoints:Ze(He.startPoints),lastPoints:Ze(He.lastPoints),currentPoints:n,deltaPoints:r};(0,A.triggerEvent)(o.element,t,o),document.removeEventListener("mousemove",ze),document.removeEventListener("mouseup",Ke),He.element.addEventListener("mousemove",Ve),He=JSON.parse(JSON.stringify(qe))}function Ye(){He.isClickEvent=!1}function Ze(e){return JSON.parse(JSON.stringify(e))}function $e(e,t){return{page:Xe(e.page,t.page),client:Xe(e.client,t.client),canvas:Xe(e.canvas,t.canvas),world:(n=e.world,r=t.world,[n[0]-r[0],n[1]-r[1],n[2]-r[2]])};var n,r}function Xe(e,t){return[e[0]-t[0],e[1]-t[1]]}var Je=function(e){He.element=e.currentTarget,He.mouseButton=e.button;var t=(0,A.getEnabledElement)(He.element),n=t.renderingEngineUID,r=t.viewportUID;He.renderingEngineUID=n,He.viewportUID=r,He.preventClickTimeout=setTimeout(Ye,He.clickDelay),He.element.removeEventListener("mousemove",Ve);var o=Re(e,He.element),a=$e(o,o),i={event:e,eventName:je,element:He.element,mouseButton:He.mouseButton,renderingEngineUID:He.renderingEngineUID,viewportUID:He.viewportUID,camera:{},startPoints:o,lastPoints:o,currentPoints:o,deltaPoints:a};He.startPoints=Ze(i.startPoints),He.lastPoints=Ze(i.lastPoints),(0,A.triggerEvent)(i.element,je,i)&&(0,A.triggerEvent)(i.element,Be,i),document.addEventListener("mousemove",ze),document.addEventListener("mouseup",Ke)};function Qe(e){e.removeEventListener("dblclick",Le),e.removeEventListener("mousedown",Je),e.removeEventListener("mousemove",Ve)}var et={enable:function(e){Qe(e),e.addEventListener("dblclick",Le),e.addEventListener("mousedown",Je),e.addEventListener("mousemove",Ve)},disable:Qe},tt=function(e){var t=e.currentTarget,n=(0,A.getEnabledElement)(t),r=n.renderingEngineUID,o=n.viewportUID;if(!(e.deltaY>-1&&e.deltaY<1)){e.preventDefault();var a=function(e){var t=0,n=0,r=0,o=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),r=10*t,o=10*n,"deltaY"in e&&(o=e.deltaY),"deltaX"in e&&(r=e.deltaX),(r||o)&&e.deltaMode&&(1===e.deltaMode?(r*=40,o*=40):(r*=800,o*=800)),r&&!t&&(t=r<1?-1:1),o&&!n&&(n=o<1?-1:1),{spinX:t,spinY:n,pixelX:r,pixelY:o}}(e),i=a.spinX,l=a.spinY,c=a.pixelX,s=a.pixelY,u=l<0?-1:1,d={event:e,eventName:B.MOUSE_WHEEL,renderingEngineUID:r,viewportUID:o,element:t,camera:{},detail:e,wheel:{spinX:i,spinY:l,pixelX:c,pixelY:s,direction:u},points:Re(e)};(0,A.triggerEvent)(t,B.MOUSE_WHEEL,d)}};function nt(e){e.removeEventListener("wheel",tt)}var rt={enable:function(e){nt(e),e.addEventListener("wheel",tt,{passive:!1})},disable:nt},ot={renderingEngineUID:void 0,viewportUID:void 0,key:void 0,keyCode:void 0,element:null},at={renderingEngineUID:void 0,viewportUID:void 0,key:void 0,keyCode:void 0,element:null};function it(e){at.element=e.currentTarget;var t=(0,A.getEnabledElement)(at.element),n=t.renderingEngineUID,r=t.viewportUID;at.renderingEngineUID=n,at.viewportUID=r,at.key=e.key,at.keyCode=e.keyCode,e.preventDefault();var o={renderingEngineUID:at.renderingEngineUID,viewportUID:at.viewportUID,element:at.element,key:at.key,keyCode:at.keyCode};(0,A.triggerEvent)(o.element,B.KEY_DOWN,o),document.addEventListener("keyup",lt),at.element.removeEventListener("keydown",it)}function lt(e){var t={renderingEngineUID:at.renderingEngineUID,viewportUID:at.viewportUID,element:at.element,key:at.key,keyCode:at.keyCode};document.removeEventListener("keyup",lt),at.element.addEventListener("keydown",it),at=K()(ot),(0,A.triggerEvent)(t.element,B.KEY_UP,t)}var ct=it;function st(e){e.removeEventListener("keydown",ct)}var ut={enable:function(e){st(e),e.addEventListener("keydown",ct)},disable:st,getModifierKey:function(){return at.keyCode}};function dt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function vt(e,t){return vt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},vt(e,t)}function ft(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&vt(e,t)}function gt(e){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gt(e)}function ht(e,t){if(t&&("object"===gt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return dt(e)}function mt(e){return mt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},mt(e)}var pt=function(e){return e&&"object"===gt(e)&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)},yt=function(e,t){var n;return t&&!0===t.clone&&pt(e)?Dt((n=e,Array.isArray(n)?[]:{}),e,t):e},wt=function(e,t,n){var r=e.slice();return t.forEach((function(t,o){void 0===r[o]?r[o]=yt(t,n):pt(t)?r[o]=Dt(e[o],t,n):-1===e.indexOf(t)&&r.push(yt(t,n))})),r},Et=function(e,t,n){var r={};return pt(e)&&Object.keys(e).forEach((function(t){r[t]=yt(e[t],n)})),Object.keys(t).forEach((function(o){pt(t[o])&&e[o]?r[o]=Dt(e[o],t[o],n):r[o]=yt(t[o],n)})),r},Dt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=Array.isArray(t),o=n||{arrayMerge:wt},a=o.arrayMerge||wt;return r?Array.isArray(e)?a(e,t,n):yt(t,n):Et(e,t,n)},bt=Dt,It=function(){function e(t,n){W(this,e),H(this,"supportedInteractionTypes",void 0),H(this,"configuration",void 0),H(this,"toolGroupUID",void 0),H(this,"mode",void 0);var r=bt(n,t),o=r.configuration,a=void 0===o?{}:o,i=r.supportedInteractionTypes,l=r.toolGroupUID;a.strategies||(a.strategies={},a.defaultStrategy=void 0,a.activeStrategy=void 0,a.strategyOptions={}),this.toolGroupUID=l,this.supportedInteractionTypes=i||[],this.configuration=Object.assign({},a),this.mode=L.Disabled}return q(e,[{key:"getToolName",value:function(){return this.constructor.toolName}},{key:"applyActiveStrategy",value:function(e,t){var n=this.configuration;return n.strategies[n.activeStrategy].call(this,e,t)}},{key:"setConfiguration",value:function(e){this.configuration=bt(this.configuration,e)}},{key:"setActiveStrategy",value:function(e){this.setConfiguration({activeStrategy:e})}},{key:"getTargetVolumeUID",value:function(e){if(!(e instanceof A.VolumeViewport))throw new Error("getTargetVolumeUID: viewport must be a VolumeViewport");if(this.configuration.volumeUID)return this.configuration.volumeUID;var t=e.getActors();return t||t.length?t[0].uid:void 0}},{key:"getTargetUIDViewportAndImage",value:function(e,t){var n,r;if(e.startsWith("stackTarget")){var o=e.indexOf(":"),a=e.substring(o+1);n=(r=t.getViewport(a)).getImageData()}else n=A.cache.getVolume(e);return{image:n,viewport:r}}},{key:"getTargetUID",value:function(e){if(e instanceof A.StackViewport)return"stackTarget:".concat(e.uid);if(e instanceof A.VolumeViewport)return this.getTargetVolumeUID(e);throw new Error("getTargetUID: viewport must be a StackViewport or VolumeViewport")}}]),e}();H(It,"toolName","BaseTool");var _t=It,St=c(976);function Ct(e,t){if(ke.svgNodeCache[e])return ke.svgNodeCache[e][t]?ke.svgNodeCache[e][t].domRef:void 0}function xt(e,t,n,r){if(!ke.svgNodeCache[t])return null;ke.svgNodeCache[t][r]={touched:!0,domRef:n},e.appendChild(n)}function Ut(e,t){ke.svgNodeCache[e]&&ke.svgNodeCache[e][t]&&(ke.svgNodeCache[e][t].touched=!0)}function Ot(e,t){ke.svgNodeCache[t]&&Object.keys(ke.svgNodeCache[t]).forEach((function(n){var r=ke.svgNodeCache[t][n];!r.touched&&r.domRef&&(e.removeChild(r.domRef),delete ke.svgNodeCache[t][n])}))}var Tt=function(e,t){var n=function(e){var t=(0,A.getEnabledElement)(e),n=t.viewportUID,r=t.renderingEngineUID,o="".concat(n,":").concat(r),a=function(e){return e.firstChild.querySelector(".svg-layer")}(e);return Object.keys(ke.svgNodeCache[o]).forEach((function(e){ke.svgNodeCache[o][e].touched=!1})),{enabledElement:t,_element:e,_svgLayerElement:a,_svgNodeCacheForCanvas:ke.svgNodeCache,_getSvgNode:Ct.bind(this,o),_appendNode:xt.bind(this,a,o),_setNodeTouched:Ut.bind(this,o),_clearUntouched:Ot.bind(this,a,o)}}(e);t(n),n._clearUntouched()},Mt=function(e,t,n,r){return"".concat(e,"::").concat(t,"::").concat(n,"::").concat(r)},kt=function(e,t){Object.keys(e).forEach((function(n){var r=t.getAttribute(n),o=e[n];void 0===o||""===o?t.removeAttribute(n):r!==o&&t.setAttribute(n,o)}))},Nt=function(e,t){Object.keys(e).forEach((function(n){var r=e[n];void 0!==r&&""!==r&&t.setAttribute(n,r)}))},At=function(e,t,n,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},l=Object.assign({color:"dodgerblue",fill:"transparent",width:"2",lineWidth:void 0},i),c=l.color,s=l.fill,u=l.width,d=l.lineWidth,v=d||u,f="http://www.w3.org/2000/svg",g=Mt(t,n,"circle",r),h=e._getSvgNode(g),m={cx:"".concat(o[0]),cy:"".concat(o[1]),r:"".concat(a),stroke:c,fill:s,"stroke-width":v};if(h)kt(m,h),e._setNodeTouched(g);else{var p=document.createElementNS(f,"circle");Nt(m,p),e._appendNode(p,g)}},Rt=function(e,t,n,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},l=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0},i),c=l.color,s=l.width,u=l.lineWidth,d=l.lineDash,v=u||s,f="http://www.w3.org/2000/svg",g=Mt(t,n,"ellipse",r),h=e._getSvgNode(g),m=Math.abs(o[0]-a[0]),p=Math.abs(o[1]-a[1]),y=Math.min(o[0],a[0]),w=Math.min(o[1],a[1]),E=[y+m/2,w+p/2],D=m/2,b=p/2,I={cx:"".concat(E[0]),cy:"".concat(E[1]),rx:"".concat(D),ry:"".concat(b),stroke:c,fill:"transparent","stroke-width":v,"stroke-dasharray":d};if(h)kt(I,h),e._setNodeTouched(g);else{var _=document.createElementNS(f,"ellipse");Nt(I,_),e._appendNode(_,g)}},Lt=function(e,t,n,r,o){for(var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=Object.assign({color:"dodgerblue",handleRadius:"6",width:"2",lineWidth:void 0,fill:"transparent",type:"circle"},a),l=i.color,c=i.handleRadius,s=i.width,u=i.lineWidth,d=i.fill,v=i.type,f=u||s,g=0;g<o.length;g++){var h=o[g],m="http://www.w3.org/2000/svg",p=Mt(t,n,"handle","hg-".concat(r,"-index-").concat(g)),y=void 0;if("circle"===v)y={cx:"".concat(h[0]),cy:"".concat(h[1]),r:c,stroke:l,fill:d,"stroke-width":f};else{if("rect"!==v)throw new Error("Unsupported handle type: ".concat(v));var w=parseFloat(c),E=1.5*w,D=h[0]-.5*E,b=h[1]-.5*E;y={x:"".concat(D),y:"".concat(b),width:"".concat(E),height:"".concat(E),stroke:l,fill:d,"stroke-width":f,rx:"".concat(.1*E)}}var I=e._getSvgNode(p);if(I)kt(y,I),e._setNodeTouched(p);else{var _=document.createElementNS(m,v);Nt(y,_),e._appendNode(_,p)}}};function Pt(e,t,n,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{};if(!(isNaN(o[0])||isNaN(o[1])||isNaN(a[0])||isNaN(a[1]))){var l=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0},i),c=l.color,s=l.width,u=l.lineWidth,d=l.lineDash,v=u||s,f="http://www.w3.org/2000/svg",g=Mt(t,n,"line",r),h=e._getSvgNode(g),m={x1:"".concat(o[0]),y1:"".concat(o[1]),x2:"".concat(a[0]),y2:"".concat(a[1]),stroke:c,"stroke-width":v,"stroke-dasharray":d};if(h)kt(m,h),e._setNodeTouched(g);else{var p=document.createElementNS(f,"line");Nt(m,p),e._appendNode(p,g)}}}function Vt(e,t,n,r,o,a,i){var l,c=i.padding,s=i.color,u=i.fontFamily,d=i.fontSize,v=i.background,f=a[0]+c,g=a[1]+c,h=Mt(t,n,"text",r),m=e._getSvgNode(h);if(m){for(var p=m.querySelector("text"),y=Array.from(p.children),w=0;w<y.length;w++){var E=y[w],D=o[w]||"";E.textContent=D}var b={fill:s,"font-size":d,"font-family":u},I={transform:"translate(".concat(f," ").concat(g,")")};kt(b,p),kt(I,m),l=Bt(m,v),e._setNodeTouched(h)}else{var _=document.createElementNS("http://www.w3.org/2000/svg","g");_.setAttribute("transform","translate(".concat(f," ").concat(g,")"));for(var S=function(e){var t=e.color,n=e.fontFamily,r=e.fontSize,o=document.createElementNS("http://www.w3.org/2000/svg","text"),a="".concat("user-select: none; pointer-events: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0);").concat("filter:url(#shadow);");return o.setAttribute("x","0"),o.setAttribute("y","0"),o.setAttribute("fill",t),o.setAttribute("font-family",n),o.setAttribute("font-size",r),o.setAttribute("style",a),o}(i),C=0;C<o.length;C++){var x=jt(o[C]);S.appendChild(x)}_.appendChild(S),e._appendNode(_,h),l=Bt(_,v)}return Object.assign({},l,{x:f,y:g,height:l.height+c,width:l.width+c})}function jt(e){var t=document.createElementNS("http://www.w3.org/2000/svg","tspan");return t.setAttribute("x","0"),t.setAttribute("dy","1.2em"),t.textContent=e,t}function Bt(e,t){var n=e.querySelector("rect.background");if(!t)return n&&e.removeChild(n),e.getBBox();n||((n=document.createElementNS("http://www.w3.org/2000/svg","rect")).setAttribute("class","background"),e.insertBefore(n,e.firstChild));var r=e.getBBox(),o={x:"".concat(r.x),y:"".concat(r.y),width:"".concat(r.width),height:"".concat(r.height),fill:t};return kt(o,n),r}var Ft=function(e,t,n,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},l=Object.assign({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"14px",color:"rgb(255, 255, 0)",background:"",padding:25,centerX:!1,centerY:!0},i),c=Vt(e,t,n,r,o,a,l);return c};function Wt(e,t){var n=[0,0],r=Number.MAX_SAFE_INTEGER;return e.forEach((function(e){var o,a,i,l,c,s,u,d=(o=e,i=(a=Ce(t,2))[0],l=a[1],s=(c=Ce(o,2))[0],u=c[1],Math.sqrt(Math.pow(i-s,2)+Math.pow(l-u,2)));d<r&&(r=d,n=Oe(e))})),n}function Gt(e){var t=e.x,n=e.y,r=e.height,o=e.width,a=o/2,i=r/2;return[[t+a,n],[t,n+i],[t+a,n+r],[t+o,n+i]]}var qt=function(e,t,n,r,o,a,i){var l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{},c=o.length>0?Wt(o,a):a,s=Gt(i),u=Wt(s,c),d=Object.assign({color:"rgb(255, 255, 0)",lineWidth:"1",lineDash:"2,3"},l);Pt(e,t,n,"link-".concat(r),c,u,d)},Ht=function(e,t,n,r,o,a,i,l){var c=arguments.length>8&&void 0!==arguments[8]?arguments[8]:{},s=Object.assign({handleRadius:"6",centering:{x:!1,y:!0}},c),u=Ft(e,t,n,r,o,a,s);return qt(e,t,n,r,i,a,u,s),u};function zt(e,t,n,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},l=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0},i),c=l.color,s=l.width,u=l.lineWidth,d=l.lineDash,v=u||s,f="http://www.w3.org/2000/svg",g=Mt(t,n,"rect",r),h=e._getSvgNode(g),m=[Math.min(o[0],a[0]),Math.min(o[1],a[1])],p=Math.abs(o[0]-a[0]),y=Math.abs(o[1]-a[1]),w={x:"".concat(m[0]),y:"".concat(m[1]),width:"".concat(p),height:"".concat(y),stroke:c,fill:"transparent","stroke-width":v,"stroke-dasharray":d};if(h)kt(w,h),e._setNodeTouched(g);else{var E=document.createElementNS(f,"rect");Nt(w,E),e._appendNode(E,g)}}var Kt={draw:Tt,drawCircle:At,drawEllipse:Rt,drawHandles:Lt,drawLine:Pt,drawLinkedTextBox:Ht,drawRect:zt,drawTextBox:Ft};function Yt(e,t){var n=(0,A.getEnabledElement)(e),r=n.renderingEngineUID,o=n.viewportUID,a=Ho(o,r);if(!a)return[];for(var i=[],l=Object.keys(a.toolOptions),c=0;c<l.length;c++){var s=l[c],u=a.toolOptions[s];if(u&&t.includes(u.mode)){var d=a.getToolInstance(s);i.push(d)}}return i}function Zt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var $t,Xt,Jt,Qt=L.Active,en=L.Passive,tn=L.Enabled,nn=function(){function e(){var t=this;W(this,e),H(this,"hasBeenDestroyed",void 0),H(this,"_needsRender",new Set),H(this,"_animationFrameSet",!1),H(this,"_animationFrameHandle",null),H(this,"_viewportElements",void 0),H(this,"_renderFlaggedViewports",(function(){t._throwIfDestroyed();for(var e=Array.from(t._viewportElements.values()),n=0;n<e.length;n++){var r=e[n];if(t._needsRender.has(r)&&(t._triggerRender(r),t._needsRender.delete(r),0===t._needsRender.size))return t._animationFrameSet=!1,void(t._animationFrameHandle=null)}})),this._viewportElements=new Map}return q(e,[{key:"addViewportElement",value:function(e,t){this._viewportElements.set(e,t)}},{key:"removeViewportElement",value:function(e){this._viewportElements.delete(e),0===this._viewportElements.size&&this._reset()}},{key:"renderViewport",value:function(e){this._setViewportsToBeRenderedNextFrame([e])}},{key:"_throwIfDestroyed",value:function(){if(this.hasBeenDestroyed)throw new Error("this.destroy() has been manually called to free up memory, can not longer use this instance. Instead make a new one.")}},{key:"_setViewportsToBeRenderedNextFrame",value:function(e){var t=this;e.forEach((function(e){t._needsRender.add(e)})),this._render()}},{key:"_render",value:function(){this._needsRender.size>0&&!1===this._animationFrameSet&&(this._animationFrameHandle=window.requestAnimationFrame(this._renderFlaggedViewports),this._animationFrameSet=!0)}},{key:"_triggerRender",value:function(e){var t=(0,A.getEnabledElement)(e);if(t)if((0,A.getRenderingEngine)(t.renderingEngineUID)){var n=Yt(e,[Qt,en,tn]),r=t.renderingEngineUID,o=t.viewportUID,a={element:e,renderingEngineUID:r,viewportUID:o};Tt(e,(function(r){n.forEach((function(n){n instanceof Hr||!n.renderAnnotation||(n.renderAnnotation(t,r),(0,A.triggerEvent)(e,B.ANNOTATION_RENDERED,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zt(Object(n),!0).forEach((function(t){H(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},a)))}))}))}else console.warn("rendering Engine has been destroyed");else console.warn("Element has been disabled")}},{key:"_reset",value:function(){window.cancelAnimationFrame(this._animationFrameHandle),this._needsRender.clear(),this._animationFrameSet=!1,this._animationFrameHandle=null}}]),e}(),rn=new nn,on=function(e){rn.renderViewport(e)};function an(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ln(e,t,n){var r=t.viewPlaneNormal,o=e.filter((function(e){var t=e.metadata.viewPlaneNormal;return A.utilities.isEqual(t,r)}));if(!o.length)return[];var a,i=n/2,l=t.focalPoint,c=[],s=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return an(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?an(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(o);try{for(s.s();!(a=s.n()).done;){var u=a.value,d=u.data.handles.points[0],v=St.vec3.create();St.vec3.sub(v,l,d);var f=St.vec3.dot(v,r);Math.abs(f)<i&&c.push(u)}}catch(e){s.e(e)}finally{s.f()}return c}function cn(e,t){if(e instanceof A.StackViewport){var n=e.getCurrentImageId(),r=n.indexOf(":"),o=n.substring(r+1);return t.filter((function(e){return e.metadata.referencedImageId===o}))}if(e instanceof A.VolumeViewport){var a=e.getCamera();return ln(t,a,A.utilities.getTargetVolumeAndSpacingInNormalDir(e,a).spacingInNormalDirection)}throw new Error("Viewport Type ".concat(e.type," not supported"))}function sn(e,t,n,r){for(var o=function(e,t,n){var r=["tool.style.".concat(e)];return t&&r.push("".concat(r[0]).concat(t)),n&&r.push("".concat(r[r.length-1]).concat(n)),r}(t,n,r),a=o.length-1;a>=0;--a){var i=e.get(o[a]);if(void 0!==i)return i}}function un(e,t,n){return sn(A.Settings.getRuntimeSettings(),e,t,n)}A.Settings.getDefaultSettings().set("tool.style",{color:"rgb(255, 255, 0)",colorHighlighted:"rgb(0, 255, 0)",colorSelected:"rgb(0, 255, 0)",colorLocked:"rgb(255, 255, 0)",lineWidth:"1",lineDash:"",textBox:{fontFamily:"Helvetica Neue, Helvetica, Arial, sans-serif",fontSize:"14px",color:"rgb(255, 255, 0)",colorHighlighted:"rgb(0, 255, 0)",colorSelected:"rgb(0, 255, 0)",colorLocked:"rgb(255, 255, 0)",background:"",link:{lineWidth:"1",lineDash:"2,3"}}}),$t=["",L.Active,L.Passive],Xt=[V.Default,V.Highlighted,V.Selected,V.Locked],(Jt=A.Settings.getDefaultSettings()).forEach((function(e){var t=function(t){return t.length>0&&e.endsWith(t)};!e.startsWith("tool.style.")||Xt.some(t)||$t.some(t)||Xt.forEach((function(t){$t.forEach((function(n){var r="".concat(e).concat(t).concat(n);Jt.set(r,Jt.get(r))}))}))}));var dn=new Set;function vn(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t?fn(e,n):gn(e)}function fn(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=En();t||Dn(dn,n),e&&!dn.has(e)&&(dn.add(e),n.added.push(e)),bn(n,dn)}function gn(e){var t=En();e?dn.delete(e)&&t.removed.push(e):Dn(dn,t),bn(t,dn)}function hn(){return Array.from(dn)}function mn(e){return hn().find((function(t){return t.annotationUID===e}))}function pn(e){return hn().filter((function(t){return t.metadata.toolName===e}))}function yn(e){return dn.has(e)}function wn(){return dn.size}function En(){return Object.freeze({added:[],removed:[],selection:[]})}function Dn(e,t){e.forEach((function(n){e.delete(n)&&t.removed.push(n)}))}function bn(e,t){(e.added.length>0||e.removed.length>0)&&(t.forEach((function(t){e.selection.push(t)})),(0,A.triggerEvent)(A.eventTarget,B.ANNOTATION_SELECTION_CHANGE,e))}var In=function(e){if(e){if(e.data&&e.highlighted)return V.Highlighted;if(yn(e))return V.Selected;if(J(e))return V.Locked}return V.Default};function _n(e,t){if(e){var n=ke.tools[e];if(n){var r=n.toolClass;return t?A.Settings.getObjectSettings(t,r):A.Settings.getObjectSettings(r)}}return A.Settings.getRuntimeSettings()}var Sn=function(e,t,n){var r=A.Settings.assert(e),o=sn(r,"textBox.fontSize",t,n),a=sn(r,"textBox.fontFamily",t,n);return"".concat(o,"px ").concat(a)},Cn=function(e,t,n){var r=ke.tools[e];if(r){var o=r.toolClass;return A.Settings.getObjectSettings(t,o).set("tool.style",n)}return!1};function xn(e){return A.Settings.getRuntimeSettings().set("tool.style",e)}function Un(e,t){var n=ke.tools[e];if(n){var r=n.toolClass;return A.Settings.getObjectSettings(r).set("tool.style",t)}return!1}function On(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Tn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tn(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function Tn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Mn=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e;W(this,o);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return H(dt(e=r.call.apply(r,[this].concat(n))),"mouseMoveCallback",(function(t,n){var r,o=t.detail,a=o.element,i=o.currentPoints.canvas,l=!1,c=On(n);try{for(c.s();!(r=c.n()).done;){var s=r.value;if(!J(s)){var u=s.data,d=u.handles?u.handles.activeHandleIndex:void 0,v=e._imagePointNearToolOrHandle(a,s,i,6),f=v&&!s.highlighted,g=!v&&s.highlighted;f||g?(s.highlighted=!s.highlighted,l=!0):u.handles&&u.handles.activeHandleIndex!==d&&(l=!0)}}}catch(e){c.e(e)}finally{c.f()}return l})),H(dt(e),"onImageSpacingCalibrated",(function(t){var n=t.detail,r=n.element,o=n.rowScale,a=n.columnScale,i=n.imageId,l=n.imageData,c=n.worldToIndex;if((0,A.getEnabledElement)(r).viewport instanceof A.VolumeViewport)throw new Error("Cannot calibrate a volume viewport");var s=l.getIndexToWorld(),u=A.utilities.imageIdToURI(i),d=ue();d.getFramesOfReference().forEach((function(t){var n=d.getFrameOfReferenceAnnotations(t)[e.getToolName()];n&&n.length&&(n.forEach((function(e){e.metadata.referencedImageId===u&&(e.invalidated=!0,e.data.cachedStats={},e.data.handles.points=e.data.handles.points.map((function(e){var t=St.vec4.fromValues.apply(St.vec4,Oe(e).concat([1])),n=St.vec4.fromValues(0,0,0,1),r=St.vec4.create();St.vec4.transformMat4(r,t,c);var i=[a*r[0],o*r[1],r[2]];return St.vec4.transformMat4(n,St.vec4.fromValues(i[0],i[1],i[2],1),s),n.slice(0,3)})))})),on(r))}))})),e}return q(o,[{key:"filterInteractableAnnotationsForElement",value:function(e,t){if(t&&t.length)return cn((0,A.getEnabledElement)(e).viewport,t)}},{key:"getHandleNearImagePoint",value:function(e,t,n,r){var o=(0,A.getEnabledElement)(e).viewport,a=t.data,i=a.handles,l=i.points,c=i.textBox,s=c.worldBoundingBox;if(s){var u={topLeft:o.worldToCanvas(s.topLeft),topRight:o.worldToCanvas(s.topRight),bottomLeft:o.worldToCanvas(s.bottomLeft),bottomRight:o.worldToCanvas(s.bottomRight)};if(n[0]>=u.topLeft[0]&&n[0]<=u.bottomRight[0]&&n[1]>=u.topLeft[1]&&n[1]<=u.bottomRight[1])return a.handles.activeHandleIndex=null,c}for(var d=0;d<l.length;d++){var v=l[d],f=o.worldToCanvas(v);if(!0==St.vec2.distance(n,f)<r)return a.handles.activeHandleIndex=d,v}a.handles.activeHandleIndex=null}},{key:"getStyle",value:function(e,t,n){return sn(e,t,In(n),this.mode)}},{key:"getLinkedTextBoxStyle",value:function(e,t){return{fontFamily:this.getStyle(e,"textBox.fontFamily",t),fontSize:this.getStyle(e,"textBox.fontSize",t),color:this.getStyle(e,"textBox.color",t),background:this.getStyle(e,"textBox.background",t),lineWidth:this.getStyle(e,"textBox.link.lineWidth",t),lineDash:this.getStyle(e,"textBox.link.lineDash",t)}}},{key:"_imagePointNearToolOrHandle",value:function(e,t,n,r){return!!this.getHandleNearImagePoint(e,t,n,r)||!!this.isPointNearTool(e,t,n,r,"mouse")||void 0}}]),o}(_t);H(Mn,"toolName","AnnotationTool");var kn=Mn;function Nn(e,t,n,r,o,a,i){try{var l=e[a](i),c=l.value}catch(e){return void n(e)}l.done?t(c):Promise.resolve(c).then(r,o)}function An(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var a=e.apply(t,n);function i(e){Nn(a,r,o,i,l,"next",e)}function l(e){Nn(a,r,o,i,l,"throw",e)}i(void 0)}))}}var Rn=c(162),Ln=c.n(Rn),Pn=c(103),Vn=c.n(Pn),jn=c(634),Bn=c.n(jn),Fn=function(e){if(!e||!e.length)throw new Error("The segmentationDataArray undefined or empty array");e.forEach((function(e){if(!e.volumeUID)throw new Error("volumeUID is missing in the segmentationData")}))};function Wn(){return(Wn=An(Ln().mark((function e(t,n){var r,o,a,i,l,c,s;return Ln().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&n){e.next=2;break}throw new Error("You need to provide an element and a segmentation");case 2:if(r=(0,A.getEnabledElement)(t),o=r.renderingEngine,a=r.viewport,i=a.uid,l=n.representation,c=n.segmentationDataUID,l.type!==F.Labelmap){e.next=13;break}return s=n.volumeUID,e.next=11,(0,A.addVolumesToViewports)(o,[{volumeUID:s,actorUID:c,visibility:!0}],[i]);case 11:e.next=14;break;case 13:throw new Error("Only labelmap representation is supported for now");case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Gn=function(e,t){return Wn.apply(this,arguments)},qn=function(e,t){var n=(0,A.getEnabledElement)(e).viewport,r=t.representation,o=t.segmentationDataUID;if(r.type!==F.Labelmap)throw new Error("Only labelmap representation is supported for now");n.removeVolumeActors([o])};function Hn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function zn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Hn(Object(n),!0).forEach((function(t){H(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Kn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Yn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Yn(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function Yn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Zn=255,$n=new Map;function Xn(){return(Xn=An(Ln().mark((function e(t,n,r){var o,a,i,l,c,s,u,d,v,f,g,h;return Ln().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=n.volumeUID,a=n.segmentationDataUID,i=n.representation,e.next=3,Qn(t,n);case 3:l=void 0!==n.segmentsHidden?n.segmentsHidden:new Set,c=void 0===n.visibility||n.visibility,s=void 0!==n.colorLUTIndex?n.colorLUTIndex:0,u=void 0===n.active||n.active,d=i.config.cfun||Vn().newInstance(),v=i.config.ofun||Bn().newInstance(),f={volumeUID:o,segmentationDataUID:a,segmentsHidden:l,visibility:c,colorLUTIndex:s,active:u,representation:{type:F.Labelmap,config:{cfun:d,ofun:v}}},r&&(g=gl(t),h=bt(g,r),fl(t,{renderInactiveSegmentations:h.renderInactiveSegmentations||!0,representations:zn({},h.representations)},!0)),ul(t,f);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Jn(e,t,n,r){var o="".concat(e,"-").concat(t),a=$n.get(o);return!(a&&a.fillAlpha===n&&a.colorLUTIndex===r||($n.set(o,{fillAlpha:n,colorLUTIndex:r}),0))}function Qn(e,t){return er.apply(this,arguments)}function er(){return(er=An(Ln().mark((function e(t,n){var r,o,a,i,l,c,s,u,d;return Ln().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=$a(t),o=r.viewportsInfo,a=Kn(o),e.prev=3,a.s();case 5:if((i=a.n()).done){e.next=15;break}if(l=i.value,c=l.viewportUID,s=l.renderingEngineUID,u=(0,A.getEnabledElementByUIDs)(c,s)){e.next=11;break}throw new Error("No enabled element found for rendering engine: ".concat(s," and viewport: ").concat(c));case 11:d=u.viewport,Gn(d.element,n);case 13:e.next=5;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(3),a.e(e.t0);case 20:return e.prev=20,a.f(),e.finish(20);case 23:case"end":return e.stop()}}),e,null,[[3,17,20,23]])})))).apply(this,arguments)}var tr={render:function(e,t,n){var r=t.volumeUID,o=t.colorLUTIndex,a=t.active,i=t.representation,l=t.segmentationDataUID,c=t.visibility,s=i;if(!A.cache.getVolume(r))throw new Error("No Labelmap found for UID: ".concat(r));var u=e.getActor(l);if(u){var d=s.config,v=d.cfun,f=d.ofun,g=n.representations[F.Labelmap],h=n.renderInactiveSegmentations;!function(e,t,n,r,o,a,i,l){var c=!(arguments.length>8&&void 0!==arguments[8])||arguments[8];r.addPoint(0,0);var s=i?a.fillAlpha:a.fillAlphaInactive,u=i?a.outlineWidthActive:a.outlineWidthInactive,d=pl(o),v=Math.min(256,d.length),f=t.volumeActor;if(t.uid,Jn(e,t.uid,s,o)){for(var g=0;g<v;g++){var h=d[g];n.addRGBPoint(g,h[0]/Zn,h[1]/Zn,h[2]/Zn);var m=h[3]/255*s;r.addPoint(g,m)}r.setClamping(!1),f.getProperty().setRGBTransferFunction(0,n),f.getProperty().setScalarOpacity(0,r)}f.getProperty().setInterpolationTypeToNearest(),f.getProperty().setUseLabelOutline(a.renderOutline),f.getProperty().setLabelOutlineThickness(u);var p=c&&(i||l);f.setVisibility(p)}(e.uid,u,v,f,o,g,a,h,c)}else console.warn("No actor found for actorUID: ",l)},addSegmentationData:function(e,t,n){return Xn.apply(this,arguments)},removeSegmentationData:function(e,t){!function(e,t){var n=$a(e);if(void 0===n)throw new Error("ToolGroup with ToolGroupUID ".concat(e," does not exist"));var r,o=n.viewportsInfo,a=cl(e,t),i=Kn(o);try{for(i.s();!(r=i.n()).done;){var l=r.value,c=l.viewportUID,s=l.renderingEngineUID,u=(0,A.getEnabledElementByUIDs)(c,s);qn(u.viewport.element,a)}}catch(e){i.e(e)}finally{i.f()}}(e,t),sl(e,t)}},nr={renderOutline:!0,outlineWidth:3,outlineWidthActive:3,outlineWidthInactive:2,renderFill:!0,fillAlpha:.9,fillAlphaInactive:.85};function rr(){return rr=An(Ln().mark((function e(t,n,r){var o;return Ln().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Fn(n),$a(t)){e.next=4;break}throw new Error("No tool group found for toolGroupUID: ".concat(t));case 4:return o=n.map(function(){var e=An(Ln().mark((function e(n){var o;return Ln().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(o=K()(n)).segmentationDataUID=A.utilities.uuidv4(),e.abrupt("return",or(t,o,r));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=7,Promise.all(o);case 7:case"end":return e.stop()}}),e)}))),rr.apply(this,arguments)}function or(e,t,n){return ar.apply(this,arguments)}function ar(){return(ar=An(Ln().mark((function e(t,n,r){var o,a;return Ln().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=null!==(o=n.representation)&&void 0!==o&&o.type?n.representation.type:F.Labelmap,n.representation||(n.representation={type:a}),n.representation.config||(n.representation.config={}),a!==F.Labelmap){e.next=8;break}return e.next=6,tr.addSegmentationData(t,n,r);case 6:e.next=9;break;case 8:throw new Error("The representation type ".concat(a," is not supported yet"));case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var ir=function(e,t,n){return rr.apply(this,arguments)},lr=function(e,t){var n=ll(e).map((function(e){return e.segmentationDataUID})),r=t;if(r){var o=t.filter((function(e){return!n.includes(e)}));if(o.length>0)throw new Error("You are trying to remove segmentationDataUIDs that are not in the toolGroup: segmentationDataUID: ".concat(o))}else r=n;r.forEach((function(t){!function(e,t){var n=cl(e,t).representation;if(n.type!==F.Labelmap)throw new Error("The representation ".concat(n," is not supported"));tr.removeSegmentationData(e,t)}(e,t)}))};function cr(){return(cr=An(Ln().mark((function e(t,n){var r,o,a,i,l,c,s,u,d,v,f,g,h;return Ln().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=$a(t)){e.next=3;break}throw new Error("ToolGroup with UID ".concat(t," not found"));case 3:if(a=o.viewportsInfo[0],i=a.viewportUID,l=a.renderingEngineUID,c=(0,A.getEnabledElementByUIDs)(i,l)){e.next=7;break}throw new Error("element disabled");case 7:if((s=c.viewport)instanceof A.VolumeViewport){e.next=10;break}throw new Error("Segmentation not ready for stackViewport");case 10:if(u=s.getDefaultActor(),d=u.uid,v="".concat(d,"-based-segmentation-").concat(null!==(r=null==n?void 0:n.volumeUID)&&void 0!==r?r:A.utilities.uuidv4().slice(0,8)),!n){e.next=18;break}return f=(0,z._cloneDeep)(n),e.next=16,A.volumeLoader.createLocalVolume(f,v);case 16:e.next=21;break;case 18:return g=s.getDefaultActor(),h=g.uid,e.next=21,A.volumeLoader.createAndCacheDerivedVolume(h,{uid:v});case 21:return e.abrupt("return",v);case 22:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var sr=function(e,t){return cr.apply(this,arguments)};function ur(e){var t=El(e);if(!t)return null;var n=ol(t.volumeUID);return{volumeUID:t.volumeUID,segmentationDataUID:t.segmentationDataUID,activeSegmentIndex:n.activeSegmentIndex}}function dr(e,t){wl(e,t)}var vr={getActiveSegmentationInfo:ur,setActiveSegmentation:dr};function fr(e,t){var n=ur(e);if(!n)throw new Error("element does not contain an active segmentation");return ol(n.volumeUID).segmentsLocked.has(t)}function gr(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=ur(e);if(!r)throw new Error("element does not contain an active segmentation");var o=r.volumeUID,a=ol(o),i=a.segmentsLocked;n?i.add(t):i.delete(t),be(o)}function hr(e,t){var n=ol(e);if(!n)throw new Error("No segmentation state found for ".concat(e));return n.segmentsLocked.has(t)}function mr(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=ol(e);if(!r)throw new Error("No segmentation state found for ".concat(e));var o=r.segmentsLocked;n?o.add(t):o.delete(t),be(e)}function pr(e){var t=ol(e);if(!t)throw new Error("No segmentation state found for ".concat(e));var n=t.segmentsLocked;return Array.from(n)}var yr={getSegmentIndexLocked:fr,setSegmentIndexLocked:gr,getSegmentIndexLockedForSegmentation:hr,setSegmentIndexLockedForSegmentation:mr,getSegmentsLockedForSegmentation:pr};function wr(e,t){if(!e)throw new Error("addColorLUT: colorLUT is required");A.utilities.isEqual(e[0],[0,0,0,0])||(console.warn("addColorLUT: [0, 0, 0, 0] color is not provided for the background color (segmentIndex =0), automatically adding it"),e.unshift([0,0,0,0])),yl(e,t)}function Er(e,t,n){var r=cl(e,t);if(!r)throw new Error("Segmentation data with UID ".concat(t," does not exist for tool group ").concat(e));return pl(r.colorLUTIndex)[n]}var Dr={getColorForSegmentIndex:Er,addColorLUT:wr};function br(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ir(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?br(Object(n),!0).forEach((function(t){H(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):br(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function _r(){return dl()}function Sr(e){vl(e)}function Cr(e){return _r().representations[e]}function xr(e,t){var n=_r();Sr(Ir(Ir({},n),{},{representations:Ir(Ir({},n.representations),{},H({},e,t))}))}function Ur(e,t){xr(e,Ir(Ir({},Cr(e)),t))}function Or(e){Sr(Ir(Ir({},_r()),e))}function Tr(e){return gl(e)}function Mr(e,t){fl(e,t)}function kr(e,t,n){var r=gl(e);r&&Mr(e,Ir(Ir({},r),{},{representations:Ir(Ir({},r.representations),{},H({},t,n))}))}function Nr(e,t){var n=Tr(e);if(n)return n.representations[t]}var Ar={getGlobalSegmentationConfig:_r,setGlobalSegmentationConfig:Sr,getGlobalRepresentationConfig:Cr,setGlobalRepresentationConfig:xr,updateGlobalSegmentationConfig:Or,updateGlobalRepresentationConfig:Ur,getSegmentationConfig:Tr,setSegmentationConfig:Mr,setRepresentationConfig:kr,getRepresentationConfig:Nr};function Rr(e,t,n){var r=ll(e);r&&r.forEach((function(r){r.segmentationDataUID===t&&(r.visibility=n,De(e))}))}function Lr(e,t){var n=ll(e).find((function(e){return e.segmentationDataUID===t}));if(n)return n.visibility}var Pr={setSegmentationVisibility:Rr,getSegmentationVisibility:Lr};function Vr(e){var t=ur(e);if(!t)throw new Error("toolGroup does not contain an active segmentation");var n=ol(t.volumeUID);if(n)return n.activeSegmentIndex}function jr(e,t){var n=ur(e);if(!n)throw new Error("element does not contain an active segmentation");var r=n.volumeUID,o=ol(r);(null==o?void 0:o.activeSegmentIndex)!==t&&(o.activeSegmentIndex=t,be(r))}function Br(e,t){var n=ol(e);(null==n?void 0:n.activeSegmentIndex)!==t&&(n.activeSegmentIndex=t,be(e))}function Fr(e){var t=ol(e);if(t)return t.activeSegmentIndex}var Wr={getActiveSegmentIndex:Vr,setActiveSegmentIndex:jr,getActiveSegmentIndexForSegmentation:Fr,setActiveSegmentIndexForSegmentation:Br};function Gr(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return qr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?qr(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function qr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Hr=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{configuration:{}};return W(this,o),H(dt(e=r.call(this,t,n)),"renderSegmentation",(function(t){var n=$a(t);if(n){var r=ll(t),o=n.viewportsInfo.map((function(e){var t=e.renderingEngineUID,n=e.viewportUID,r=(0,A.getEnabledElementByUIDs)(n,t);if(r)return r.viewport}));r.forEach((function(n){var r=e._getSegmentationConfig(t),a=n.representation;o.forEach((function(e){if(a.type!=F.Labelmap)throw new Error("Render for ".concat(a.type," is not supported yet"));tr.render(e,n,r)}))})),o.forEach((function(e){e.render()}))}})),e}return q(o,[{key:"enableCallback",value:function(){var e=this.toolGroupUID,t=ll(e);if(0!==t.length){var n,r=Gr(t);try{for(r.s();!(n=r.n()).done;)n.value.visibility=!0}catch(e){r.e(e)}finally{r.f()}De(e)}}},{key:"disableCallback",value:function(){var e=this.toolGroupUID,t=ll(e);if(0!==t.length){var n,r=Gr(t);try{for(r.s();!(n=r.n()).done;)n.value.visibility=!1}catch(e){r.e(e)}finally{r.f()}De(e)}}},{key:"_getSegmentationConfig",value:function(e){var t=Tr(e),n=_r();return bt(n,t)}}]),o}(_t);function zr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}H(Hr,"toolName","SegmentationDisplay");var Kr=function(){function e(){var t=this;W(this,e),H(this,"_needsRender",new Set),H(this,"_animationFrameSet",!1),H(this,"_animationFrameHandle",null),H(this,"hasBeenDestroyed",void 0),H(this,"_renderFlaggedToolGroups",(function(){t._throwIfDestroyed();for(var e=0,n=Array.from(t._needsRender.values());e<n.length;e++){var r=n[e];if(t._triggerRender(r),t._needsRender.delete(r),0===t._needsRender.size)return t._animationFrameSet=!1,void(t._animationFrameHandle=null)}}))}return q(e,[{key:"renderToolGroupSegmentations",value:function(e){this._setToolGroupSegmentationToBeRenderedNextFrame([e])}},{key:"_throwIfDestroyed",value:function(){if(this.hasBeenDestroyed)throw new Error("this.destroy() has been manually called to free up memory, can not longer use this instance. Instead make a new one.")}},{key:"_setToolGroupSegmentationToBeRenderedNextFrame",value:function(e){var t=this;e.forEach((function(e){t._needsRender.add(e)})),this._render()}},{key:"_render",value:function(){this._needsRender.size>0&&!1===this._animationFrameSet&&(this._animationFrameHandle=window.requestAnimationFrame(this._renderFlaggedToolGroups),this._animationFrameSet=!0)}},{key:"_triggerRender",value:function(e){var t=$a(e);if(t){var n=t.viewportsInfo,r=[];n.forEach((function(e){var t=e.viewportUID,n=e.renderingEngineUID,o=(0,A.getRenderingEngine)(n);o?r.push(o.getViewport(t)):console.warn("rendering Engine has been destroyed")}));var o=t.getToolInstance(Hr.toolName);r.forEach((function(e){e.element.addEventListener(A.Enums.Events.IMAGE_RENDERED,a)})),o.renderSegmentation(e)}else console.warn("No tool group found with toolGroupUID: ".concat(e));function a(e){var t=e.detail,n=t.element,r=t.viewportUID,o=t.renderingEngineUID;n.removeEventListener(A.Enums.Events.IMAGE_RENDERED,a);var i={toolGroupUID:Ho(r,o).uid,viewportUID:r};(0,A.triggerEvent)(A.eventTarget,B.SEGMENTATION_RENDERED,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zr(Object(n),!0).forEach((function(t){H(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},i))}}},{key:"_reset",value:function(){window.cancelAnimationFrame(this._animationFrameHandle),this._needsRender.clear(),this._animationFrameSet=!1,this._animationFrameHandle=null}}]),e}(),Yr=new Kr,Zr=function(e){Yr.renderToolGroupSegmentations(e)},$r=function(e){var t=e.detail.toolGroupUID;Zr(t)},Xr=function(e){var t=e.detail,n=t.toolGroupUID,r=t.segmentationDataUID,o=cl(n,r);if(o){var a=o.representation.type;if(a!==F.Labelmap)throw new Error("onSegmentationDataModified: representationType ".concat(a," not supported yet"));var i=o.volumeUID,l=A.cache.getVolume(i);if(l){var c=l.imageData,s=l.vtkOpenGLTexture,u=l.uid,d=c.getDimensions()[2];Oe(Array(d).keys()).forEach((function(e){s.setUpdatedFrame(e)})),c.modified(),hl(u).forEach((function(e){Zr(e)}))}else console.warn("segmentation not found in cache")}else console.warn("onSegmentationDataModified: segmentationDataUID ".concat(r," not found in toolGroupUID ").concat(n))},Jr=function(e){e.detail.removed.length&&(0,A.getRenderingEngines)().forEach((function(e){var t=e.getViewports().map((function(e){return e.uid}));Qr(e,t)}))},Qr=function(e,t){t.length&&t.forEach((function(t){var n=e.getViewport(t).element;on(n)}))},eo=function(e){var t=e.detail,n=t.viewportUID,r=t.renderingEngineUID,o=(0,A.getRenderingEngine)(r);Qr(o,[n])},to=function(e){on(e.detail.element)},no=L.Active;function ro(e,t,n){if(ke.isInteractingWithTool)return!1;var r,o=n.detail,a=o.renderingEngineUID,i=o.viewportUID,l=Ho(i,a);if(!l)return!1;for(var c=Object.keys(l.toolOptions),s=0;s<c.length;s++){var u=c[s],d=l.toolOptions[u],v=l.getToolInstance(u);if(d.mode===no&&"function"==typeof v[t]){r=l.getToolInstance(u);break}}r&&r[t](n)}var oo=ro.bind(null,"Mouse","mouseClickCallback"),ao=ro.bind(null,"Mouse","doubleClickCallback");function io(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function lo(e,t){for(var n=[],r=0;r<t.length;r++){var o=t[r];if(o){var a=de(e,o.constructor.toolName);a&&("function"==typeof o.filterInteractableAnnotationsForElement&&(a=o.filterInteractableAnnotationsForElement(e,a)),a.length>0&&n.push({tool:o,annotations:a}))}else console.warn("undefined tool in filterToolsWithAnnotationsForElement")}return n}function co(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return so(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?so(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function so(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var uo=L.Active;function vo(e){var t=e.detail,n=t.renderingEngineUID,r=t.viewportUID,o=e.detail.event,a=ut.getModifierKey(),i=Ho(r,n);if(!i)return null;for(var l=Object.keys(i.toolOptions),c=0;c<l.length;c++){var s=l[c],u=i.toolOptions[s],d=u.bindings.length&&u.bindings.some((function(e){return e.mouseButton===(o?o.buttons:T.Primary)&&e.modifierKey===a}));if(u.mode===uo&&d)return i.getToolInstance(s)}}function fo(e,t,n){var r=e.detail,o=r.renderingEngineUID,a=r.viewportUID,i=Ho(a,o);if(!i)return[];for(var l=[],c=Object.keys(i.toolOptions),s=0;s<c.length;s++){var u=c[s],d=i.toolOptions[u],v=null!=n&&d.bindings.length&&d.bindings.some((function(e){return e.mouseButton===n}));if(t.includes(d.mode)&&(!n||v)){var f=i.getToolInstance(u);l.push(f)}}return l}var go=L.Active,ho=L.Passive;function mo(e){if(!ke.isInteractingWithTool){var t=vo(e);if(t&&"function"==typeof t.preMouseDownCallback&&t.preMouseDownCallback(e))return;var n=1===e.detail.event.buttons,r=fo(e,[go],e.detail.event.buttons),o=n?fo(e,[ho]):void 0,a=[].concat(Oe(r||[]),Oe(o||[])),i=e.detail,l=i.element,c=lo(l,a),s=i.currentPoints.canvas,u=function(e,t,n){var r=[];return t.forEach((function(t){var o,a=t.tool,i=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return io(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?io(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(t.annotations);try{for(i.s();!(o=i.n()).done;){var l=o.value;if(!l.isLocked){var c=a.getHandleNearImagePoint(e,l,n,6);if(c){r.push({tool:a,annotation:l,handle:c});break}}}}catch(e){i.e(e)}finally{i.f()}})),r}(l,c,s),d=!!e.detail.event.shiftKey;if(u.length>0){var v=po(u),f=v.tool,g=v.annotation,h=v.handle;return yo(g,d),void f.handleSelectedCallback(e,g,h,"Mouse")}var m=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"mouse",o=6,a=[];return t.forEach((function(t){var i,l=t.tool,c=co(t.annotations);try{for(c.s();!(i=c.n()).done;){var s=i.value;if(!s.isLocked&&l.isPointNearTool(e,s,n,o,r)){a.push({tool:l,annotation:s});break}}}catch(e){c.e(e)}finally{c.f()}})),a}(l,c,s,"mouse");if(m.length>0){var p=po(m),y=p.tool,w=p.annotation;return yo(w,d),void y.toolSelectedCallback(e,w,"Mouse")}if(t&&"function"==typeof t.postMouseDownCallback&&t.postMouseDownCallback(e))return}}function po(e){return e.length>1&&e.find((function(e){return!J(e.annotation)}))||e[0]}function yo(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t)if(yn(e))vn(e,!1);else{var n=!0;vn(e,!0,n)}else{var r=!1;vn(e,!0,r)}}function wo(e){if(!ke.isInteractingWithTool){var t=vo(e);t&&(ke.isMultiPartToolActive||t.addNewAnnotation&&vn(t.addNewAnnotation(e,"mouse")))}}function Eo(e){if(!ke.isInteractingWithTool){var t=vo(e);!t||"function"!=typeof t.mouseDragCallback||t.mouseDragCallback(e)}}function Do(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var bo=L.Active,Io=L.Passive;function _o(e){if(!ke.isInteractingWithTool&&!ke.isMultiPartToolActive){var t,n=fo(e,[bo,Io]),r=e.detail.element,o=!1,a=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Do(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Do(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(lo(r,n));try{for(a.s();!(t=a.n()).done;){var i=t.value,l=i.tool,c=i.annotations;"function"==typeof l.mouseMoveCallback&&(o=l.mouseMoveCallback(e,c)||o)}}catch(e){a.e(e)}finally{a.f()}!0===o&&on(r)}}var So=ro.bind(null,"Mouse","mouseUpCallback"),Co=ro.bind(null,"MouseWheel","mouseWheelCallback"),xo=function(e){e.addEventListener(B.MOUSE_CLICK,oo),e.addEventListener(B.MOUSE_DOWN,mo),e.addEventListener(B.MOUSE_DOWN_ACTIVATE,wo),e.addEventListener(B.MOUSE_DOUBLE_CLICK,ao),e.addEventListener(B.MOUSE_DRAG,Eo),e.addEventListener(B.MOUSE_MOVE,_o),e.addEventListener(B.MOUSE_UP,So),e.addEventListener(B.MOUSE_WHEEL,Co)},Uo=function(e){e.removeEventListener(B.MOUSE_CLICK,oo),e.removeEventListener(B.MOUSE_DOWN,mo),e.removeEventListener(B.MOUSE_DOWN_ACTIVATE,wo),e.removeEventListener(B.MOUSE_DOUBLE_CLICK,ao),e.removeEventListener(B.MOUSE_DRAG,Eo),e.removeEventListener(B.MOUSE_MOVE,_o),e.removeEventListener(B.MOUSE_UP,So),e.removeEventListener(B.MOUSE_WHEEL,Co)},Oo=L.Active;function To(e){var t=e.detail,n=t.renderingEngineUID,r=t.viewportUID,o=He.mouseButton,a=ut.getModifierKey(),i=Ho(r,n);if(!i)return null;for(var l=Object.keys(i.toolOptions),c=0;c<l.length;c++){var s=l[c],u=i.toolOptions[s],d=u.bindings.length&&u.bindings.some((function(e){return e.mouseButton===(null!=o?o:T.Primary)&&e.modifierKey===a}));if(u.mode===Oo&&d)return i.getToolInstance(s)}}function Mo(e){var t=To(e);if(t){var n=e.detail,r=n.renderingEngineUID,o=n.viewportUID,a=Ho(o,r),i=t.getToolName();Object.keys(a.toolOptions).includes(i)&&a.setViewportsCursorByToolName(i)}}function ko(e){var t=To(e);if(t){var n=e.detail,r=n.renderingEngineUID,o=n.viewportUID,a=Ho(o,r);at.keyCode=void 0;var i=t.getToolName();Object.keys(a.toolOptions).includes(i)&&a.setViewportsCursorByToolName(i)}}var No=function(e){e.addEventListener(B.KEY_DOWN,Mo),e.addEventListener(B.KEY_UP,ko)},Ao=function(e){e.removeEventListener(B.KEY_DOWN,Mo),e.removeEventListener(B.KEY_UP,ko)},Ro=L.Active,Lo=L.Passive,Po=L.Enabled,Vo=function(e){fo(e,[Ro,Lo,Po]).forEach((function(t){t.onCameraModified&&t.onCameraModified(e)}))},jo=L.Active,Bo=L.Passive,Fo=L.Enabled,Wo=function(e){fo(e,[jo,Bo,Fo]).forEach((function(t){t.onImageSpacingCalibrated&&t.onImageSpacingCalibrated(e)}))};function Go(e){var t,n=e.detail,r=n.element,o=n.viewportUID,a=function(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"svg");t.classList.add("svg-layer"),t.setAttribute("id","svg-layer"),t.setAttribute("xmlns","http://www.w3.org/2000/svg"),t.style.width="100%",t.style.height="100%",t.style.pointerEvents="none",t.style.position="absolute";var n=document.createElementNS(e,"defs"),r=document.createElementNS(e,"filter"),o=document.createElementNS(e,"feOffset"),a=document.createElementNS(e,"feColorMatrix"),i=document.createElementNS(e,"feGaussianBlur"),l=document.createElementNS(e,"feBlend");return r.setAttribute("id","shadow"),r.setAttribute("width","110%"),r.setAttribute("height","110%"),o.setAttribute("result","offOut"),o.setAttribute("in","SourceGraphic"),o.setAttribute("dx","0.5"),o.setAttribute("dy","0.5"),a.setAttribute("result","matrixOut"),a.setAttribute("in","offOut"),a.setAttribute("type","matrix"),a.setAttribute("values","0.2 0 0 0 0 0 0.2 0 0 0 0 0 0.2 0 0 0 0 0 1 0"),i.setAttribute("result","blurOut"),i.setAttribute("in","matrixOut"),i.setAttribute("stdDeviation","0.25"),l.setAttribute("in","SourceGraphic"),l.setAttribute("in2","blurOut"),l.setAttribute("mode","normal"),r.appendChild(o),r.appendChild(a),r.appendChild(i),r.appendChild(l),n.appendChild(r),t.appendChild(n),t}();!function(e){var t=e.dataset,n=t.viewportUid,r=t.renderingEngineUid,o="".concat(n,":").concat(r);ke.svgNodeCache[o]={}}(r),t=a,r.querySelector("div.viewport-element").appendChild(t),rn.addViewportElement(o,r),et.enable(r),rt.enable(r),ut.enable(r),function(e){e.addEventListener(A.Enums.Events.IMAGE_RENDERED,to)}(r),function(e){e.addEventListener(A.Enums.Events.CAMERA_MODIFIED,Vo)}(r),function(e){e.addEventListener(A.Enums.Events.IMAGE_SPACING_CALIBRATED,Wo)}(r),xo(r),No(r),ke.enabledElements.push(r)}var qo=function(e,t){var n=[];if(!e&&!t)throw new Error("At least one of renderingEngineUID or viewportUID should be given");for(var r=0;r<ke.synchronizers.length;r++){var o=ke.synchronizers[r],a=!o.isDisabled(),i=o.hasSourceViewport(e,t);a&&i&&n.push(o)}return n},Ho=function(e,t){var n=ke.toolGroups.filter((function(n){return n.viewportsInfo.some((function(n){return n.renderingEngineUID===t&&(!n.viewportUID||n.viewportUID===e)}))}));if(n.length){if(n.length>1)throw new Error("Multiple tool groups found for renderingEngineUID: ".concat(t," and viewportUID: ").concat(e,". You should only\n have one tool group per viewport in a renderingEngine."));return n[0]}},zo=function(e){var t=e.detail,n=t.element,r=t.viewportUID;!function(e){var t=e.dataset,n=t.viewportUid,r=t.renderingEngineUid,o="".concat(n,":").concat(r);delete ke.svgNodeCache[o]}(n);var o=n.querySelector("svg"),a=n.querySelector("div.".concat("viewport-element"));o&&a.removeChild(o),rn.removeViewportElement(r),et.disable(n),rt.disable(n),ut.disable(n),function(e){e.removeEventListener(A.Enums.Events.IMAGE_RENDERED,to)}(n),function(e){e.removeEventListener(A.Enums.Events.CAMERA_MODIFIED,Vo)}(n),function(e){e.removeEventListener(A.Enums.Events.IMAGE_SPACING_CALIBRATED,Wo)}(n),Uo(n),Ao(n),function(e){var t=(0,A.getEnabledElement)(e);qo(t.renderingEngineUID,t.viewportUID).forEach((function(e){e.remove(t)}))}(n),function(e){var t=(0,A.getEnabledElement)(e),n=t.renderingEngineUID,r=t.viewportUID,o=Ho(r,n);o&&o.removeViewports(n,r)}(n),function(e){var t=ke.enabledElements.findIndex((function(t){return t===e}));t>-1&&ke.enabledElements.splice(t,1)}(n)};function Ko(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Yo(e){var t,n=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ko(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ko(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(lo(e,Yt(e,[L.Active,L.Passive])));try{for(n.s();!(t=n.n()).done;){var r=t.value.tool.cancel(e);if(r)return r}}catch(e){n.e(e)}finally{n.f()}}var Zo=function(){function e(t,n,r){var o=this;W(this,e),H(this,"_enabled",void 0),H(this,"_eventName",void 0),H(this,"_eventHandler",void 0),H(this,"_ignoreFiredEvents",void 0),H(this,"_sourceViewports",void 0),H(this,"_targetViewports",void 0),H(this,"id",void 0),H(this,"_onEvent",(function(e){if(!0!==o._ignoreFiredEvents&&o._targetViewports.length){var t=(0,A.getEnabledElement)(e.currentTarget);if(t){var n=t.renderingEngineUID,r=t.viewportUID;o.fireEvent({renderingEngineUID:n,viewportUID:r},e)}}})),this._enabled=!0,this._eventName=n,this._eventHandler=r,this._ignoreFiredEvents=!1,this._sourceViewports=[],this._targetViewports=[],this.id=t}return q(e,[{key:"isDisabled",value:function(){return!this._enabled||!this._hasSourceElements()}},{key:"add",value:function(e){this.addTarget(e),this.addSource(e)}},{key:"addSource",value:function(e){if(!Xo(this._sourceViewports,e)){var t=e.renderingEngineUID,n=e.viewportUID;(0,A.getRenderingEngine)(t).getViewport(n).element.addEventListener(this._eventName,this._onEvent.bind(this)),this._updateDisableHandlers(),this._sourceViewports.push(e)}}},{key:"addTarget",value:function(e){Xo(this._targetViewports,e)||(this._targetViewports.push(e),this._updateDisableHandlers())}},{key:"getSourceViewports",value:function(){return this._sourceViewports}},{key:"getTargetViewports",value:function(){return this._targetViewports}},{key:"destroy",value:function(){var e=this;this._sourceViewports.forEach((function(t){return e.removeSource(t)})),this._targetViewports.forEach((function(t){return e.removeTarget(t)}))}},{key:"remove",value:function(e){this.removeTarget(e),this.removeSource(e)}},{key:"removeSource",value:function(e){var t=$o(this._sourceViewports,e);if(-1!==t){var n=function(e){var t=(0,A.getRenderingEngine)(e.renderingEngineUID);if(!t)throw new Error("No RenderingEngine for UID: ".concat(e.renderingEngineUID));return t.getViewport(e.viewportUID).element}(e);this._sourceViewports.splice(t,1),n.removeEventListener(this._eventName,this._eventHandler),this._updateDisableHandlers()}}},{key:"removeTarget",value:function(e){var t=$o(this._targetViewports,e);-1!==t&&(this._targetViewports.splice(t,1),this._updateDisableHandlers())}},{key:"hasSourceViewport",value:function(e,t){return Xo(this._sourceViewports,{renderingEngineUID:e,viewportUID:t})}},{key:"fireEvent",value:function(e,t){if(!this.isDisabled()&&!this._ignoreFiredEvents){this._ignoreFiredEvents=!0;try{for(var n=0;n<this._targetViewports.length;n++){var r=this._targetViewports[n];e.viewportUID===r.viewportUID||this._eventHandler(this,e,r,t)}}catch(e){console.warn("Synchronizer, for: ".concat(this._eventName),e)}finally{this._ignoreFiredEvents=!1}}}},{key:"_hasSourceElements",value:function(){return 0!==this._sourceViewports.length}},{key:"_updateDisableHandlers",value:function(){var e=function(e,t){for(var n=[],r=e.concat(t),o=function(e){var t=r[e];n.some((function(e){return t.renderingEngineUID===e.renderingEngineUID&&t.viewportUID===e.viewportUID}))||n.push(t)},a=0;a<r.length;a++)o(a);return n}(this._sourceViewports,this._targetViewports),t=this.remove,n=function(e){t(e.detail.element)};e.forEach((function(e){var t=(0,A.getRenderingEngine)(e.renderingEngineUID).getViewport(e.viewportUID).element;t.removeEventListener(A.Enums.Events.ELEMENT_DISABLED,n),t.addEventListener(A.Enums.Events.ELEMENT_DISABLED,n)}))}}]),e}();function $o(e,t){return e.findIndex((function(e){return t.renderingEngineUID===e.renderingEngineUID&&t.viewportUID===e.viewportUID}))}function Xo(e,t){return e.some((function(e){return e.renderingEngineUID===t.renderingEngineUID&&e.viewportUID===t.viewportUID}))}var Jo=Zo,Qo=function(e,t,n){if(ke.synchronizers.some((function(t){return t.id===e})))throw new Error("Synchronizer with id '".concat(e,"' already exists."));var r=new Jo(e,t,n);return ke.synchronizers.push(r),r},ea=function(){for(;ke.synchronizers.length>0;)ke.synchronizers.pop().destroy()},ta=function(e){return ke.synchronizers.find((function(t){return t.id===e}))},na=function(){return ke.synchronizers},ra=function(e){var t=ke.synchronizers.findIndex((function(t){return t.id===e}));t>-1&&(ke.synchronizers[t].destroy(),ke.synchronizers.splice(t,1))},oa=Symbol("DefinedCursors"),aa=new Set(["alias","all-scroll","auto","cell","col-resize","context-menu","copy","crosshair","default","e-resize","ew-resize","grab","grabbing","help","move","ne-resize","nesw-resize","no-drop","none","not-allowed","n-resize","ns-resize","nw-resize","nwse-resize","pointer","progress","row-resize","se-resize","s-resize","sw-resize","text","vertical-text","wait","w-resize","zoom-in","zoom-out"]),ia=function(){function e(t,n){W(this,e),H(this,"name",void 0),H(this,"fallback",void 0),this.name=t+"",this.fallback=n}return q(e,[{key:"getName",value:function(){return this.name+""}},{key:"addFallbackStyleProperty",value:function(t){var n=this.fallback;return n instanceof e?"".concat(t,", ").concat(n.getStyleProperty()):t+""}},{key:"getStyleProperty",value:function(){return this.addFallbackStyleProperty(this.name)+""}}],[{key:"getDefinedCursor",value:function(t){var n=la(e,oa),r=n.get(t);return r instanceof e?r:aa.has(t)?(r=new e(t),n.set(t,r),r):void 0}},{key:"setDefinedCursor",value:function(t,n){return n instanceof e&&(la(e,oa).set(t,n),!0)}}]),e}();function la(e,t){var n=e[t];return n instanceof Map||(n=new Map,Object.defineProperty(e,t,{value:n})),n}var ca=aa.values();var sa=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(e,t,n,a,i){var l;return W(this,o),H(dt(l=r.call(this,a||o.getUniqueInstanceName("image-cursor"),i)),"url",void 0),H(dt(l),"x",void 0),H(dt(l),"y",void 0),l.url=e,l.x=Number(t)||0,l.y=Number(n)||0,l}return q(o,[{key:"getStyleProperty",value:function(){var e=this.url,t=this.x,n=this.y,r="url('".concat(e,"')");return t>=0&&n>=0&&(t>0||n>0)&&(r+=" ".concat(t," ").concat(n)),this.addFallbackStyleProperty(r)}}],[{key:"getUniqueInstanceName",value:function(e){return"".concat(e,"-").concat(A.utilities.getRuntimeId(o))}}]),o}(ia);function ua(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=mt(e)););return e}function da(){return da="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=ua(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},da.apply(this,arguments)}var va={iconContent:"",iconSize:16,viewBox:{x:16,y:16},mousePoint:{x:8,y:8},mousePointerGroupString:'\n <path stroke="{{color}}" d="M8 16L8 0"></path>\n <path stroke="{{color}}" d="M16 8L0 8"></path>\n '},fa={x:127,y:60},ga='\n<rect fill="{{color}}" x="80.19" y="25.03" width="47.14" height="15.85"/>\n',ha='\n<rect fill="{{color}}" x="80.19" y="25.03" width="47.14" height="15.85"/>\n<rect fill="{{color}}" x="95.84" y="9.38" width="15.85" height="47.14"/>\n',ma='<path fill="{{color}}" d="M82.89,10a12.09,12.09,0,0,0-16.8-2.5l-27.5,20.4-8.5-6.3a2.93,2.93,0,0,1-1.1-3,14.66,14.66,0,0,0,.1-6.6,14.08,14.08,0,1,0-6.5,15.2,2.87,2.87,0,0,1,3.2.2l8.2,6.1-8.2,6.1a2.87,2.87,0,0,1-3.2.2,14.16,14.16,0,1,0,6.7,14.4,14,14,0,0,0-.3-5.8,2.93,2.93,0,0,1,1.1-3l8.5-6.3,27.5,20.4A11.91,11.91,0,0,0,82.89,57l-31.7-23.5ZM15.29,21a5.9,5.9,0,1,1,5.9-5.9A5.91,5.91,0,0,1,15.29,21Zm0,36.8a5.9,5.9,0,1,1,5.9-5.9A5.91,5.91,0,0,1,15.29,57.77Zm28.3-21.5a2.8,2.8,0,1,1,2.8-2.8A2.8,2.8,0,0,1,43.59,36.27Z" transform="translate(-1.17 -0.96)"/>',pa='<path fill="{{color}}" d="M8.86,2.25V66.08H72.69V2.25H8.86ZM65.28,58.67h-49v-49h49v49Z" transform="translate(-8.86 -2.25)"/>',ya='<path fill="{{color}}" d="M40.77,2.25A31.92,31.92,0,1,0,72.69,34.16,31.92,31.92,0,0,0,40.77,2.25Zm0,57.63A25.71,25.71,0,1,1,66.48,34.16,25.71,25.71,0,0,1,40.77,59.87Z" transform="translate(-8.86 -2.25)"/>',wa={Angle:Ea(va,{iconContent:'<path fill="{{color}}" d="M1203 544q0 13-10 23l-393 393 393 393q10 10 10 23t-10 23l-50\n 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23\n 10l50 50q10 10 10 23z" />',viewBox:{x:1792,y:1792}}),ArrowAnnotate:Ea(va,{iconContent:'<g id="arrowAnnotate-group" fill="none" stroke-width="1" stroke="{{color}}" stroke-linecap="round" stroke-linejoin="round">\n <path id="arrowAnnotate-arrow" d="M23,7 l-15,15 M7,17 l0,6 6,0" stroke-width="2" />\n </g>',viewBox:{x:24,y:24}}),Bidirectional:Ea(va,{iconContent:'<g fill="{{color}}" stroke-width="3" stroke="{{color}}">\n <path d="M27.63 3.21L3.12 28.81"></path>\n <path d="M27.63 15.75L15.27 4.43"></path>\n <path d="M16.5 4.28C16.5 4.96 15.95 5.51 15.27 5.51C14.59 5.51 14.03 4.96 14.03 4.28C14.03 3.59 14.59 3.04 15.27 3.04C15.95 3.04 16.5 3.59 16.5 4.28Z" ></path>\n <path d="M28.87 3.19C28.87 3.87 28.31 4.43 27.63 4.43C26.95 4.43 26.4 3.87 26.4 3.19C26.4 2.51 26.95 1.95 27.63 1.95C28.31 1.95 28.87 2.51 28.87 3.19Z"></path>\n <path d="M28.87 15.75C28.87 16.43 28.31 16.99 27.63 16.99C26.95 16.99 26.4 16.43 26.4 15.75C26.4 15.07 26.95 14.51 27.63 14.51C28.31 14.51 28.87 15.07 28.87 15.75Z"></path>\n <path d="M4.73 28.44C4.73 29.12 4.17 29.68 3.49 29.68C2.81 29.68 2.25 29.12 2.25 28.44C2.25 27.76 2.81 27.2 3.49 27.2C4.17 27.2 4.73 27.76 4.73 28.44Z"></path>\n </g>',viewBox:{x:48,y:48}}),CobbAngle:Ea(va,{iconContent:'<g stroke="{{color}}" stroke-width="3">\n <path d="M28.59 2.34L3.82 12.32"></path>\n <path d="M28.59 29.66L3.82 19.68"></path>\n <path stroke-dasharray="2" fill-opacity="0" d="M12.37\n 23.06C12.67 22.36 12.85 21.93 12.92 21.76C14.6 17.8 14.68 13.35 13.15\n 9.33C13.11 9.24 13.02 9 12.88 8.63">\n </path>\n </g>',viewBox:{x:32,y:32}}),CircleRoi:Ea(va,{iconContent:'<circle stroke="{{color}}" fill="none" stroke-width="3" cx="16" cy="16" r="14" />',viewBox:{x:32,y:32}}),EllipticalRoi:Ea(va,{iconContent:'<path stroke="{{color}}" fill="none" stroke-width="3" d="M30.74 15.76C30.74 20.99 24.14 25.23 16\n 25.23C7.86 25.23 1.26 20.99 1.26 15.76C1.26 10.54 7.86 6.3 16 6.3C24.14\n 6.3 30.74 10.54 30.74 15.76Z" />',viewBox:{x:32,y:32}}),FreehandRoi:Ea(va,{iconContent:'<g fill="{{color}}" stroke="{{color}}" stroke-width="2">\n <ellipse ry="1" rx="1" id="svg_3" cy="4.240343" cx="14.306499"/>\n <line id="svg_4" y2="3.58462" x2="12.242186" y1="3.997482" x1="13.432202"/>\n <line id="svg_5" y2="3.268901" x2="10.857882" y1="3.608906" x1="12.387902"/>\n <line id="svg_6" y2="3.147471" x2="9.740724" y1="3.293187" x1="10.955026"/>\n <line id="svg_7" y2="3.147471" x2="8.089274" y1="3.196043" x1="9.983585"/>\n <line id="svg_8" y2="3.268901" x2="6.874972" y1="3.123185" x1="8.307848"/>\n <line id="svg_9" y2="3.657478" x2="5.587812" y1="3.220329" x1="7.020688"/>\n <line id="svg_10" y2="4.046054" x2="4.737801" y1="3.560334" x1="5.854959"/>\n <line id="svg_11" y2="4.337487" x2="4.300652" y1="3.997482" x1="4.834945"/>\n <line id="svg_12" y2="4.726063" x2="3.88779" y1="4.191771" x1="4.470655"/>\n <line id="svg_15" y2="5.3575" x2="3.377783" y1="4.604633" x1="3.960648"/>\n <line id="svg_16" y2="6.183226" x2="2.916348" y1="5.138926" x1="3.547785"/>\n <line id="svg_17" y2="6.960379" x2="2.770632" y1="5.867507" x1="3.037779"/>\n <line id="svg_18" y2="7.713246" x2="2.673488" y1="6.741804" x1="2.819204"/>\n <line id="svg_19" y2="8.684687" x2="2.697774" y1="7.616102" x1="2.673488"/>\n <line id="svg_20" y2="9.753273" x2="2.892062" y1="8.611829" x1="2.697774"/>\n <line id="svg_21" y2="10.724714" x2="3.134923" y1="9.534698" x1="2.84349"/>\n <line id="svg_23" y2="11.647583" x2="3.596357" y1="10.578998" x1="3.086351"/>\n <line id="svg_25" y2="12.521881" x2="4.276366" y1="11.501867" x1="3.499213"/>\n <line id="svg_26" y2="13.930471" x2="5.830673" y1="12.376165" x1="4.13065"/>\n <line id="svg_28" y2="14.707624" x2="7.263549" y1="13.881899" x1="5.733528"/>\n <line id="svg_29" y2="15.339061" x2="8.963571" y1="14.61048" x1="7.06926"/>\n <line id="svg_30" y2="15.581921" x2="10.882168" y1="15.314775" x1="8.817855"/>\n <line id="svg_31" y2="15.460491" x2="12.023612" y1="15.581921" x1="10.785024"/>\n <line id="svg_33" y2="15.120487" x2="13.092197" y1="15.484777" x1="11.877895"/>\n <line id="svg_34" y2="14.586194" x2="13.86935" y1="15.217631" x1="12.897909"/>\n <line id="svg_35" y2="13.833327" x2="14.597931" y1="14.756196" x1="13.699348"/>\n <line id="svg_37" y2="12.716169" x2="15.180796" y1="13.881899" x1="14.549359"/>\n <line id="svg_39" y2="11.429009" x2="15.520801" y1="12.813313" x1="15.15651"/>\n <ellipse ry="1" rx="1" id="svg_40" cy="10.967574" cx="15.520801"/>\n </g>',viewBox:{x:18,y:18}}),FreehandRoiSculptor:Ea(va,{iconContent:'<g id="icon-freehand-sculpt" fill="none" stroke-width="1.5" stroke="{{color}}" stroke-linecap="round" stroke-linejoin="round">\n <line id="svg_1" y2="2.559367" x2="10.184807" y1="4.467781" x1="8.81711"/>\n <line id="svg_4" y2="1.493836" x2="11.727442" y1="2.766112" x1="10.089386"/>\n <line id="svg_7" y2="1.080346" x2="13.047428" y1="1.748291" x1="11.345759"/>\n <line id="svg_8" y2="1.000829" x2="14.351511" y1="1.112153" x1="12.77707"/>\n <line id="svg_9" y2="1.350705" x2="15.242104" y1="0.905408" x1="13.969828"/>\n <line id="svg_10" y2="2.098167" x2="15.862339" y1="1.14396" x1="14.955842"/>\n <line id="svg_11" y2="3.195505" x2="16.41896" y1="1.939133" x1="15.766918"/>\n <line id="svg_12" y2="4.292843" x2="16.530284" y1="2.925147" x1="16.387153"/>\n <line id="svg_16" y2="5.644637" x2="16.196311" y1="3.831643" x1="16.593898"/>\n <line id="svg_18" y2="7.266789" x2="15.623787" y1="5.19934" x1="16.275829"/>\n <line id="svg_19" y2="10.813258" x2="14.526449" y1="6.726071" x1="15.766918"/>\n <line id="svg_20" y2="5.056209" x2="8.085552" y1="4.181519" x1="8.976145"/>\n <line id="svg_23" y2="5.326568" x2="7.481221" y1="4.78585" x1="8.403621"/>\n <line id="svg_24" y2="5.565119" x2="6.749662" y1="5.294761" x1="7.624352"/>\n <line id="svg_25" y2="5.994512" x2="5.429675" y1="5.533312" x1="6.956407"/>\n <line id="svg_27" y2="6.551133" x2="4.284627" y1="5.962706" x1="5.572807"/>\n <line id="svg_28" y2="7.584858" x2="3.044158" y1="6.392099" x1="4.427758"/>\n <line id="svg_29" y2="8.84123" x2="2.185372" y1="7.489437" x1="3.219096"/>\n <line id="svg_31" y2="10.606513" x2="1.644654" y1="8.602678" x1="2.280792"/>\n <line id="svg_32" y2="13.214679" x2="1.48562" y1="10.352058" x1="1.724171"/>\n <line id="svg_33" y2="14.375631" x2="1.676461" y1="12.992031" x1="1.453813"/>\n <line id="svg_34" y2="15.298031" x2="2.264889" y1="14.152983" x1="1.517427"/>\n <line id="svg_35" y2="16.172721" x2="3.521261" y1="14.948155" x1="1.915013"/>\n <line id="svg_36" y2="16.824762" x2="5.207027" y1="15.997783" x1="3.28271"/>\n <line id="svg_38" y2="17.063314" x2="7.035924" y1="16.745245" x1="4.968475"/>\n <line id="svg_39" y2="16.888376" x2="9.278311" y1="17.047411" x1="6.733758"/>\n <line id="svg_40" y2="16.284045" x2="10.661911" y1="16.983797" x1="8.992048"/>\n <line id="svg_41" y2="15.313934" x2="11.647925" y1="16.395369" x1="10.455166"/>\n <line id="svg_44" y2="13.898527" x2="12.82478" y1="15.425259" x1="11.504794"/>\n <line id="svg_45" y2="12.037824" x2="14.144766" y1="14.312017" x1="12.522614"/>\n <line id="svg_47" y2="10.59061" x2="14.605966" y1="12.228665" x1="13.953925"/>\n <ellipse ry="1" rx="1" id="svg_48" cy="3.982726" cx="13.460918"/>\n </g>',viewBox:{x:18,y:18}}),Length:Ea(va,{iconContent:'<g id="length-group" fill="none" stroke-width="1" stroke="{{color}}" stroke-linecap="round" stroke-linejoin="round">\n <path id="length-dashes" d="m22.5,6 -16.5,16.5" stroke-width="3" stroke-dasharray="0.6666,5" />\n </g>',viewBox:{x:24,y:24}}),Probe:Ea(va,{iconContent:'<path fill="{{color}}" d="M1152 896q0 106-75 181t-181 75-181-75-75-181 75-181 181-75 181 75\n 75 181zm-256-544q-148 0-273 73t-198 198-73 273 73 273 198 198 273 73 273-73\n 198-198 73-273-73-273-198-198-273-73zm768 544q0 209-103 385.5t-279.5\n 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5\n 385.5-103 385.5 103 279.5 279.5 103 385.5z" />',viewBox:{x:1792,y:1792}}),RectangleRoi:Ea(va,{iconContent:'<path fill="{{color}}" d="M1312 256h-832q-66 0-113 47t-47 113v832q0 66 47\n 113t113 47h832q66 0 113-47t47-113v-832q0-66-47-113t-113-47zm288 160v832q0\n 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119\n 84.5-203.5t203.5-84.5h832q119 0 203.5 84.5t84.5 203.5z" />',viewBox:{x:1792,y:1792}}),TextMarker:Ea(va,{iconContent:'<path fill="{{color}}" d="M789 559l-170 450q33 0 136.5 2t160.5 2q19 0\n 57-2-87-253-184-452zm-725 1105l2-79q23-7 56-12.5t57-10.5 49.5-14.5 44.5-29\n 31-50.5l237-616 280-724h128q8 14 11 21l205 480q33 78 106 257.5t114 274.5q15\n 34 58 144.5t72 168.5q20 45 35 57 19 15 88 29.5t84 20.5q6 38 6 57 0 5-.5\n 13.5t-.5 12.5q-63 0-190-8t-191-8q-76 0-215 7t-178 8q0-43 4-78l131-28q1 0\n 12.5-2.5t15.5-3.5 14.5-4.5 15-6.5 11-8 9-11\n 2.5-14q0-16-31-96.5t-72-177.5-42-100l-450-2q-26 58-76.5 195.5t-50.5 162.5q0\n 22 14 37.5t43.5 24.5 48.5 13.5 57 8.5 41 4q1 19 1 58 0 9-2 27-58\n 0-174.5-10t-174.5-10q-8 0-26.5 4t-21.5 4q-80 14-188 14z" />',viewBox:{x:1792,y:1792}}),Crosshairs:Ea(va,{iconContent:'<path fill="{{color}}" d="M1325 1024h-109q-26 0-45-19t-19-45v-128q0-26\n 19-45t45-19h109q-32-108-112.5-188.5t-188.5-112.5v109q0 26-19 45t-45\n 19h-128q-26 0-45-19t-19-45v-109q-108 32-188.5 112.5t-112.5 188.5h109q26\n 0 45 19t19 45v128q0 26-19 45t-45 19h-109q32 108 112.5 188.5t188.5\n 112.5v-109q0-26 19-45t45-19h128q26 0 45 19t19 45v109q108-32\n 188.5-112.5t112.5-188.5zm339-192v128q0 26-19 45t-45 19h-143q-37 161-154.5\n 278.5t-278.5 154.5v143q0 26-19 45t-45 19h-128q-26\n 0-45-19t-19-45v-143q-161-37-278.5-154.5t-154.5-278.5h-143q-26\n 0-45-19t-19-45v-128q0-26 19-45t45-19h143q37-161\n 154.5-278.5t278.5-154.5v-143q0-26 19-45t45-19h128q26 0 45 19t19 45v143q161\n 37 278.5 154.5t154.5 278.5h143q26 0 45 19t19 45z" />',viewBox:{x:1792,y:1792}}),Eraser:Ea(va,{iconContent:'<path transform="translate(0,1792) scale(1,-1)" fill="{{color}}" d="M960 1408l336-384h-768l-336 384h768zm1013-1077q15\n 34 9.5 71.5t-30.5 65.5l-896 1024q-38 44-96 44h-768q-38\n 0-69.5-20.5t-47.5-54.5q-15-34-9.5-71.5t30.5-65.5l896-1024q38-44 96-44h768q38\n 0 69.5 20.5t47.5 54.5z" />',viewBox:{x:2048,y:1792}}),Magnify:Ea(va,{iconContent:'<path fill="{{color}}" d="M508.5 481.6l-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395\n 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5\n 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17\n 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208\n 32s176 78.7 176 176-78.7 176-176 176z" />',viewBox:{x:512,y:512}}),Pan:Ea(va,{iconContent:'<path fill="{{color}}" d="M1411 541l-355 355 355 355 144-144q29-31 70-14 39 17\n 39 59v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39 14-69l144-144-355-355-355\n 355 144 144q31 30 14 69-17 40-59 40h-448q-26 0-45-19t-19-45v-448q0-42 40-59\n 39-17 69 14l144 144 355-355-355-355-144 144q-19 19-45 19-12\n 0-24-5-40-17-40-59v-448q0-26 19-45t45-19h448q42 0 59 40 17 39-14 69l-144\n 144 355 355 355-355-144-144q-31-30-14-69 17-40 59-40h448q26 0 45 19t19\n 45v448q0 42-39 59-13 5-25 5-26 0-45-19z" />',viewBox:{x:1792,y:1792}}),Rotate:Ea(va,{iconContent:'<path fill="{{color}}" d="M1664 256v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39\n 14-69l138-138q-148-137-349-137-104 0-198.5 40.5t-163.5 109.5-109.5\n 163.5-40.5 198.5 40.5 198.5 109.5 163.5 163.5 109.5 198.5 40.5q119 0\n 225-52t179-147q7-10 23-12 15 0 25 9l137 138q9 8 9.5 20.5t-7.5 22.5q-109\n 132-264 204.5t-327 72.5q-156 0-298-61t-245-164-164-245-61-298 61-298\n 164-245 245-164 298-61q147 0 284.5 55.5t244.5 156.5l130-129q29-31 70-14\n 39 17 39 59z" />',viewBox:{x:1792,y:1792}}),StackScroll:Ea(va,{iconContent:'<path fill="{{color}}" d="M24 21v2c0 0.547-0.453 1-1 1h-22c-0.547\n 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547 0 1 0.453 1 1zM24 13v2c0\n 0.547-0.453 1-1 1h-22c-0.547 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547\n 0 1 0.453 1 1zM24 5v2c0 0.547-0.453 1-1 1h-22c-0.547\n 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547 0 1 0.453 1 1z" />',viewBox:{x:24,y:28}}),WindowLevelRegion:Ea(va,{iconContent:'<path fill="{{color}}" d="M1664 416v960q0 119-84.5 203.5t-203.5 84.5h-960q-119\n 0-203.5-84.5t-84.5-203.5v-960q0-119 84.5-203.5t203.5-84.5h960q119 0 203.5\n 84.5t84.5 203.5z" />',viewBox:{x:1792,y:1792}}),WindowLevel:Ea(va,{iconContent:'\n <path fill="{{color}}" d="M14.5,3.5 a1 1 0 0 1 -11,11 Z" stroke="none" opacity="0.8" />\n <circle cx="9" cy="9" r="8" fill="none" stroke-width="2" stroke="{{color}}" />',viewBox:{x:18,y:18}}),Zoom:Ea(va,{iconContent:'\n <path fill="{{color}}" d="M508.5 481.6l-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395\n 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5\n 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17\n 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208\n 32s176 78.7 176 176-78.7 176-176 176z" />\n <path fill="{{color}}" transform="scale(0.22,0.22) translate(1400,0)" d="M1216\n 320q0 26-19 45t-45 19h-128v1024h128q26 0 45 19t19 45-19 45l-256 256q-19\n 19-45 19t-45-19l-256-256q-19-19-19-45t19-45 45-19h128v-1024h-128q-26\n 0-45-19t-19-45 19-45l256-256q19-19 45-19t45 19l256 256q19 19 19 45z" />',viewBox:{x:640,y:512}}),segmentationFreeHandEraseInside:Ea(va,{iconContent:"".concat(ma," ").concat(ga),viewBox:fa}),segmentationFreeHandFillInside:Ea(va,{iconContent:"".concat(ma," ").concat(ha),viewBox:fa}),segmentationFreeHandEraseOutside:Ea(va,{iconContent:"".concat(ma," ").concat(ga),viewBox:fa}),segmentationFreeHandFillOutside:Ea(va,{iconContent:"".concat(ma," ").concat(ha),viewBox:fa}),segmentationRectangleEraseInside:Ea(va,{iconContent:"".concat(pa," ").concat(ga),viewBox:fa}),RectangleScissor:Ea(va,{iconContent:"".concat(pa," ").concat(ha),viewBox:fa}),"RectangleScissor.FILL_INSIDE":Ea(va,{iconContent:"".concat(pa," ").concat(ha),viewBox:fa}),"RectangleScissor.FILL_OUTSIDE":Ea(va,{iconContent:"".concat(pa," ").concat(ha),viewBox:fa}),"RectangleScissor.ERASE_OUTSIDE":Ea(va,{iconContent:"".concat(pa," ").concat(ga),viewBox:fa}),"RectangleScissor.ERASE_INSIDE":Ea(va,{iconContent:"".concat(pa," ").concat(ga),viewBox:fa}),CircleScissor:Ea(va,{iconContent:"".concat(ya," ").concat(ha),viewBox:fa}),"CircleScissor.FILL_INSIDE":Ea(va,{iconContent:"".concat(ya," ").concat(ha),viewBox:fa}),"CircleScissor.ERASE_OUTSIDE":Ea(va,{iconContent:"".concat(ya," ").concat(ga),viewBox:fa}),"CircleScissor.FILL_OUTSIDE":Ea(va,{iconContent:"".concat(ya," ").concat(ha),viewBox:fa})};function Ea(e,t){return Object.assign(Object.create(e),t)}function Da(e,t,n){wa[e]=Ea(va,{iconContent:t,viewBox:n})}function ba(e){if(Object.prototype.hasOwnProperty.call(wa,e))return wa[e]}var Ia=Object.keys(wa);var _a="color",Sa=V.Highlighted,Ca=L.Active,xa=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(e,t,n,a,i){return W(this,o),r.call(this,e,t,n,a,i)}return q(o,null,[{key:"getDefinedCursor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2?arguments[2]:void 0;n||(n=un(_a,Sa,Ca));var r=Oa(e,t,n),a=da(mt(o),"getDefinedCursor",this).call(this,r);if(!a){var i=ba(e);i&&(a=Ta(i,r,t,n,da(mt(o),"getDefinedCursor",this).call(this,"default")),da(mt(o),"setDefinedCursor",this).call(this,r,a))}return a}}]),o}(sa);function Ua(e,t){var n=Object(t),r=Object.prototype.hasOwnProperty.bind(n);return(e+"").replace(/\{\{(\w+)\}\}/g,(function(e,t){return r(t)?n[t]+"":""}))}function Oa(e,t,n){return"".concat(t?"pointer":"cursor",":").concat(e,"/").concat(n)}function Ta(e,t,n,r,o){var a=e.mousePoint,i=a.x,l=a.y;return new xa(function(e,t,n){return URL.createObjectURL(function(e,t,n){var r=(t?ka:Ma)(e,n);return new Blob([r],{type:"image/svg+xml"})}(e,t,n))}(e,n,{color:r}),i,l,t,o)}function Ma(e,t){var n=e.iconContent,r=e.iconSize,o=e.viewBox;return Ua('\n <svg data-icon="cursor" role="img" xmlns="http://www.w3.org/2000/svg"\n width="'.concat(r,'" height="').concat(r,'" viewBox="0 0\n ').concat(o.x," ").concat(o.y,'">\n ').concat(n,"\n </svg>"),t)}function ka(e,t){var n=e.iconContent,r=e.iconSize,o=e.viewBox,a=e.mousePointerGroupString,i=r/Math.max(o.x,o.y,1),l=16+r;return Ua('\n <svg data-icon="cursor" role="img" xmlns="http://www.w3.org/2000/svg"\n width="'.concat(l,'" height="').concat(l,'" viewBox="0 0 ').concat(l," ").concat(l,'">\n <g>').concat(a,'</g>\n <g transform="translate(16, 16) scale(').concat(i,')">').concat(n,"</g>\n </svg>"),t)}var Na=Symbol("ElementCursorsMap");function Aa(e,t){Va(e)[0]=t,Ra(e,t)}function Ra(e,t){var n=Va(e);n[1]=n[0],n[0]=t,e.style.cursor=(t instanceof ia?t:ia.getDefinedCursor("auto")).getStyleProperty()}function La(e){Ra(e,Va(e)[1])}function Pa(e){Ra(e,ia.getDefinedCursor("none"))}function Va(e){var t=Va[Na];t instanceof WeakMap||(t=new WeakMap,Object.defineProperty(Va,Na,{value:t}));var n=t.get(e);return n||(n=[null,null],t.set(e,n)),n}var ja=function(e,t){var n=xa.getDefinedCursor(t,!0);n||(n=ia.getDefinedCursor(t)),n||(console.log("Cursor ".concat(t," is not defined either as SVG or as a standard cursor.")),n=ia.getDefinedCursor(t)),Ra(e,n)},Ba=[].concat(Oe(Ia),Oe(ca)),Fa=L.Active,Wa=L.Passive,Ga=L.Enabled,qa=L.Disabled,Ha=function(){function e(t){W(this,e),H(this,"uid",void 0),H(this,"viewportsInfo",[]),H(this,"toolOptions",{}),H(this,"_toolInstances",{}),this.uid=t}return q(e,[{key:"getViewportUIDs",value:function(){return this.viewportsInfo.map((function(e){return e.viewportUID}))}},{key:"getToolInstance",value:function(e){var t=this._toolInstances[e];if(t)return t;console.warn("'".concat(e,"' is not registered with this toolGroup."))}},{key:"addTool",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=ke.tools[e],r=void 0!==e&&""!==e,o=this.toolOptions[e];if(r)if(n)if(o)console.warn("'".concat(e,"' is already registered for ToolGroup ").concat(this.uid,"."));else{var a=n.toolClass,i={name:e,toolGroupUID:this.uid,configuration:t},l=new a(i);this._toolInstances[e]=l}else console.warn("'".concat(e,"' is not registered with the library."));else console.warn("Tool with configuration did not produce a toolName: ",t)}},{key:"addViewport",value:function(e,t){var n=(0,A.getRenderingEngines)();if(!t&&n.length>1)throw new Error("You must specify a renderingEngineUID when there are multiple rendering engines.");var r=t||n[0].uid;this.viewportsInfo.push({viewportUID:e,renderingEngineUID:r})}},{key:"removeViewports",value:function(e,t){var n=[];if(this.viewportsInfo.forEach((function(r,o){var a=!1;r.renderingEngineUID===e&&(a=!0,t&&r.viewportUID!==t&&(a=!1)),a&&n.push(o)})),n.length)for(var r=n.length-1;r>=0;r--)this.viewportsInfo.splice(n[r],1)}},{key:"setToolActive",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this._toolInstances[e]){var n=this.toolOptions[e]?this.toolOptions[e].bindings:[],r=t.bindings?t.bindings:[],o={bindings:[].concat(Oe(n),Oe(r)),mode:Fa};this.toolOptions[e]=o,this._toolInstances[e].mode=Fa,this._hasMousePrimaryButtonBinding(t)&&this.setViewportsCursorByToolName(e),"function"==typeof this._toolInstances[e].init&&this._toolInstances[e].init(this.viewportsInfo),this._renderViewports()}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"setToolPassive",value:function(e){if(void 0!==this._toolInstances[e]){var t=this.getToolOptions(e),n=Object.assign({bindings:t?t.bindings:[]},t,{mode:Wa});n.bindings=n.bindings.filter((function(e){return e.mouseButton!==T.Primary}));var r=Wa;0!==n.bindings.length&&(r=Fa,n.mode=r),this.toolOptions[e]=n,this._toolInstances[e].mode=r,this._renderViewports()}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"setToolEnabled",value:function(e){if(void 0!==this._toolInstances[e]){var t={bindings:[],mode:Ga};this.toolOptions[e]=t,this._toolInstances[e].mode=Ga,this._toolInstances[e].enableCallback&&this._toolInstances[e].enableCallback(this.uid),this._renderViewports()}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"setToolDisabled",value:function(e){if(void 0!==this._toolInstances[e]){var t={bindings:[],mode:qa};this.toolOptions[e]=t,this._toolInstances[e].mode=qa,this._toolInstances[e].disableCallback&&this._toolInstances[e].disableCallback(this.uid),this._renderViewports()}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"getToolOptions",value:function(e){return this.toolOptions[e]}},{key:"getActivePrimaryMouseButtonTool",value:function(){var e=this;return Object.keys(this.toolOptions).find((function(t){var n=e.toolOptions[t];return n.mode===Fa&&e._hasMousePrimaryButtonBinding(n)}))}},{key:"setViewportsCursorByToolName",value:function(e,t){var n=t?"".concat(e,".").concat(t):e,r=xa.getDefinedCursor(n,!0);r||(r=ia.getDefinedCursor("default")),this.viewportsInfo.forEach((function(e){var t=e.renderingEngineUID,n=e.viewportUID,o=(0,A.getRenderingEngine)(t).getViewport(n);o&&o.element&&Aa(o.element,r)}))}},{key:"_hasMousePrimaryButtonBinding",value:function(e){var t;return null==e||null===(t=e.bindings)||void 0===t?void 0:t.some((function(e){return e.mouseButton===T.Primary&&void 0===e.modifierKey}))}},{key:"_renderViewports",value:function(){this.viewportsInfo.forEach((function(e){var t=e.renderingEngineUID,n=e.viewportUID;(0,A.getRenderingEngine)(t).renderViewport(n)}))}}]),e}(),za=function(e){if(!ke.toolGroups.some((function(t){return t.uid===e}))){var t=new Ha(e);return ke.toolGroups.push(t),t}console.warn("'".concat(e,"' already exists."))},Ka=function(e){var t=ke.toolGroups.findIndex((function(t){return t.uid===e}));t>-1&&(lr(e),ke.toolGroups.splice(t,1))};function Ya(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Za=function(){var e,t=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ya(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ya(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(Oe(ke.toolGroups));try{for(t.s();!(e=t.n()).done;){var n=e.value;Ka(n.uid)}}catch(e){t.e(e)}finally{t.f()}ke.toolGroups=[]},$a=function(e){return ke.toolGroups.find((function(t){return t.uid===e}))},Xa=function(){return ke.toolGroups},Ja={createToolGroup:za,destroy:Za,destroyToolGroupByToolGroupUID:Ka,getToolGroupByToolGroupUID:$a,getToolGroup:Ho,getAllToolGroups:Xa};function Qa(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ei(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=(0,A.getEnabledElement)(e);if(!r)throw new Error("getAnnotationNearPoint: enabledElement not found");return ti(r,t,n)}function ti(e,t,n){var r=e.renderingEngineUID,o=e.viewportUID,a=Ja.getToolGroup(o,r);if(!a)return null;var i=a._toolInstances;for(var l in i){var c=ni(i[l],e,t,n);if(c)return c}return null}function ni(e,t,n,r){var o=de(t.viewport.element,e.constructor.toolName);if(null!=o&&o.length){var a,i=t.viewport.element,l=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Qa(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Qa(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(o);try{for(l.s();!(a=l.n()).done;){var c=a.value;if(e.isPointNearTool(i,c,n,r,"")||e.getHandleNearImagePoint(i,c,n,r))return c}}catch(e){l.e(e)}finally{l.f()}}return null}var ri=function(e){var t=gt(e);return null!==e&&("object"===t||"function"===t)},oi=function(e,t,n){var r,o,a,i,l,c,s=0,u=!1,d=!1,v=!0,f=!t&&0!==t&&"function"==typeof window.requestAnimationFrame;if("function"!=typeof e)throw new TypeError("Expected a function");function g(t){var n=r,a=o;return r=o=void 0,s=t,i=e.apply(a,n)}function h(e,t){return f?window.requestAnimationFrame(e):setTimeout(e,t)}function m(e){return s=e,l=h(y,t),u?g(e):i}function p(e){var n=e-c;return void 0===c||n>=t||n<0||d&&e-s>=a}function y(){var e=Date.now();if(p(e))return w(e);l=h(y,function(e){var n=e-s,r=t-(e-c);return d?Math.min(r,a-n):r}(e))}function w(e){return l=void 0,v&&r?g(e):(r=o=void 0,i)}function E(){for(var e=Date.now(),n=p(e),a=arguments.length,s=new Array(a),u=0;u<a;u++)s[u]=arguments[u];if(r=s,o=this,c=e,n){if(void 0===l)return m(c);if(d)return l=h(y,t),g(c)}return void 0===l&&(l=h(y,t)),i}return t=Number(t)||0,ri(n)&&(u=Boolean(n.leading),a=(d="maxWait"in n)?Math.max(Number(n.maxWait)||0,t):a,v="trailing"in n?Boolean(n.trailing):v),E.cancel=function(){void 0!==l&&function(e){if(f)return window.cancelAnimationFrame(e);clearTimeout(e)}(l),s=0,r=c=o=l=void 0},E.flush=function(){return void 0===l?i:w(Date.now())},E.pending=function(){return void 0!==l},E},ai=function(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return ri(n)&&(r="leading"in n?Boolean(n.leading):r,o="trailing"in n?Boolean(n.trailing):o),oi(e,t,{leading:r,trailing:o,maxWait:t})},ii=A.utilities.calibratedPixelSpacingMetadataProvider;function li(e,t,n,r){r||(r=n),ii.add(e,[n,r]),t.getStackViewports().forEach((function(t){t.getImageIds().includes(e)&&t.calibrateSpacing(e)}))}function ci(e,t){return e.worldToIndex(t).map(Math.round)}function si(e,t,n,r){var o,a,i,l,c,s,u;u=e.getScalarData?e.getScalarData():e.getPointData().getScalars().getData();var d=e.getDimensions();if(r){var v=Ce(r,3),f=Ce(v[0],2);o=f[0],a=f[1];var g=Ce(v[1],2);i=g[0],l=g[1];var h=Ce(v[2],2);c=h[0],s=h[1]}else o=0,a=d[0],i=0,l=d[1],c=0,s=d[2];for(var m=St.vec3.fromValues(o,i,c),p=e.getDirection(),y=p.slice(0,3),w=p.slice(3,6),E=p.slice(6,9),D=Ce(e.getSpacing(),3),b=D[0],I=D[1],_=D[2],S=e.indexToWorld(m),C=St.vec3.fromValues(y[0]*b,y[1]*b,y[2]*b),x=St.vec3.fromValues(w[0]*I,w[1]*I,w[2]*I),U=St.vec3.fromValues(E[0]*_,E[1]*_,E[2]*_),O=d[0],T=d[0]*d[1],M=c;M<=s;M++)for(var k=i;k<=l;k++)for(var N=o;N<=a;N++){var A=[N,k,M],R=N-o,L=k-i,P=M-c,V=S,j=[V[0]+R*C[0]+L*x[0]+P*U[0],V[1]+R*C[1]+L*x[1]+P*U[1],V[2]+R*C[2]+L*x[2]+P*U[2]];if(t(j,A)){var B=M*T+k*O+N;n({value:u[B],index:B,pointIJK:A,pointLPS:j})}}}function ui(e,t,n,r){var o=t.getDimensions(),a=e.getCamera(),i=St.vec3.fromValues(a.viewUp[0],a.viewUp[1],a.viewUp[2]),l=St.vec3.fromValues(a.viewPlaneNormal[0],a.viewPlaneNormal[1],a.viewPlaneNormal[2]),c=St.vec3.create();St.vec3.cross(c,i,l),c=[-c[0],-c[1],-c[2]];var s=Ce(n,2),u=s[0],d=s[1],v=St.vec3.fromValues((u[0]+d[0])/2,(u[1]+d[1])/2,(u[2]+d[2])/2),f=St.vec3.distance(u,d)/2,g=St.vec3.create(),h=St.vec3.create();St.vec3.scaleAndAdd(g,d,l,f),St.vec3.scaleAndAdd(h,u,l,-f),St.vec3.scaleAndAdd(g,g,c,-f),St.vec3.scaleAndAdd(h,h,c,f);var m=xe([ci(t,g),ci(t,h)],o),p={center:v,radius:f};si(t,(function(e){return function(e,t){var n=e.center,r=e.radius,o=Ce(t,3),a=o[0],i=o[1],l=o[2],c=Ce(n,3),s=c[0],u=c[1],d=c[2];return Math.pow(a-s,2)+Math.pow(i-u,2)+Math.pow(l-d,2)<=Math.pow(r,2)}(p,e)}),r,m)}function di(e){var t,n,r,o,a=(n=[(t=e)[0],t[1]].sort((function(e,t){return e[0]<t[0]?-1:1})),r=[t[0],t[1]].sort((function(e,t){return e[1]<t[1]?-1:1})),o=n[n.length-1],{top:r[0],bottom:r[r.length-1],right:o}),i=(a.top[1]+a.bottom[1])/2;return[a.right[0],i]}var vi={getTextBoxCoordsCanvas:di},fi=1e-6;function gi(e,t,n){var r=Ce(n,2),o=r[0],a=r[1];if(Math.abs(t)<fi)return e<0;var i=e/t;if(t>0){if(i>a)return 0;i>o&&(n[0]=i)}else{if(i<o)return 0;i<a&&(n[1]=i)}return 1}var hi={findClosestPoint:Wt,liangBarksyClip:function(e,t,n,r,o){var a=Ce(e,2),i=a[0],l=a[1],c=Ce(t,2),s=c[0]-i,u=c[1]-l;if(void 0===r||void 0===o?(r=e,o=t):(r[0]=e[0],r[1]=e[1],o[0]=t[0],o[1]=t[1]),Math.abs(s)<fi&&Math.abs(u)<fi&&i>=n[0]&&i<=n[2]&&l>=n[1]&&l<=n[3])return 1;var d=[0,1];if(gi(n[0]-i,s,d)&&gi(i-n[2],-s,d)&&gi(n[1]-l,u,d)&&gi(l-n[3],-u,d)){var v=d[0],f=d[1];return f<1&&(o[0]=i+f*s,o[1]=l+f*u),v>0&&(r[0]+=v*s,r[1]+=v*u),1}return 0}};function mi(e,t){var n=e.center,r=e.xRadius,o=e.yRadius,a=e.zRadius,i=Ce(t,3),l=i[0],c=i[1],s=i[2],u=Ce(n,3),d=u[0],v=u[1],f=u[2],g=0;return 0!==r&&(g+=(l-d)*(l-d)/(r*r)),0!==o&&(g+=(c-v)*(c-v)/(o*o)),0!==a&&(g+=(s-f)*(s-f)/(a*a)),g<=1}function pi(e){var t=Ce(e,4),n=t[0],r=t[1],o=t[2],a=t[3];return[[o[0],r[1]],[a[0],n[1]]]}var yi={pointInEllipse:mi,getCanvasEllipseCorners:pi};function wi(e,t){return(e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1])}function Ei(e,t,n){var r=wi(e,t);if(0===r)return wi(n,e);var o=((n[0]-e[0])*(t[0]-e[0])+(n[1]-e[1])*(t[1]-e[1]))/r;return wi(n,o<0?e:o>1?t:[e[0]+o*(t[0]-e[0]),e[1]+o*(t[1]-e[1])])}function Di(e){return"number"==typeof e?e?e<0?-1:1:e==e?0:NaN:NaN}var bi={distanceToPoint:function(e,t,n){if(2!==e.length||2!==t.length||2!==n.length)throw Error("lineStart, lineEnd, and point should have 2 elements of [x, y]");return Math.sqrt(Ei(e,t,n))},distanceToPointSquared:Ei,intersectLine:function(e,t,n,r){var o=Ce(e,2),a=o[0],i=o[1],l=Ce(t,2),c=l[0],s=l[1],u=Ce(n,2),d=u[0],v=u[1],f=Ce(r,2),g=f[0],h=f[1],m=s-i,p=a-c,y=c*i-a*s,w=m*d+p*v+y,E=m*g+p*h+y;if(0===w||0===E||Di(w)!==Di(E)){var D=h-v,b=d-g,I=g*v-d*h,_=D*a+b*i+I,S=D*c+b*s+I;if(0===_||0===S||Di(_)!==Di(S)){var C=m*b-D*p;return[(p*I-b*y)/C,(D*y-m*I)/C]}}}},Ii={distanceToPoint:function(e,t){if(4!==e.length||2!==t.length)throw Error("rectangle:[left, top, width, height] or point: [x,y] not defined correctly");var n=Ce(e,4),r=n[0],o=n[1],a=n[2],i=n[3],l=655535,c=function(e,t,n,r){return{top:[[e,t],[e+n,t]],right:[[e+n,t],[e+n,t+r]],bottom:[[e+n,t+r],[e,t+r]],left:[[e,t+r],[e,t]]}}(r,o,a,i);return Object.keys(c).forEach((function(e){var n=Ce(c[e],2),r=n[0],o=n[1],a=bi.distanceToPoint(r,o,t);a<l&&(l=a)})),l}},_i={vec2:hi,ellipse:yi,lineSegment:bi,rectangle:Ii};function Si(e,t,n,r){var o=St.vec3.create();St.vec3.cross(o,t,e),o=[-o[0],-o[1],-o[2]];var a=St.vec3.fromValues.apply(St.vec3,Oe(n)),i=St.vec3.fromValues.apply(St.vec3,Oe(r)),l=St.vec3.create();St.vec3.subtract(l,a,i);var c=St.vec3.length(l);if(c<1e-4)return{worldWidth:0,worldHeight:0};var s=St.vec3.dot(l,o)/(c*St.vec3.length(o));return{worldWidth:Math.sqrt(1-s*s)*c,worldHeight:s*c}}var Ci=c(4),xi=c.n(Ci);function Ui(e,t,n,r){var o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.25,i=e.getCamera(),l=i.position,c=A.utilities.getTargetVolumeAndSpacingInNormalDir(e,i,n),s=c.spacingInNormalDirection,u=s*a,d=e.getBounds(),v=d[0],f=d[1],g=[0,0,0],h=[0,0,0];xi().subtract(t,l,g);for(var m=v;m<=f;m+=u){h=[m,0,0];var p=(m-l[0])/g[0];if(h[1]=p*g[1]+l[1],h[2]=p*g[2]+l[2],Oi(h,d)){var y=e.getIntensityFromWorld(h),w=r(y,h);w&&(o=w)}}return o}var Oi=function(e,t){var n=Ce(t,6),r=n[0],o=n[1],a=n[2],i=n[3],l=n[4],c=n[5];return e[0]>r&&e[0]<o&&e[1]>a&&e[1]<i&&e[2]>l&&e[2]<c},Ti={filterAnnotationsWithinSlice:ln,getWorldWidthAndHeightFromCorners:Si,filterAnnotationsForDisplay:cn,getPointInLineOfSightWithCriteria:Ui};function Mi(e,t,n,r,o,a){var i=n.min,l=n.max,c=n.current,s=St.vec3.create();St.vec3.sub(s,t,e);var u=Math.round((l-i)/o),d=(c-i)/(l-i)*u,v=Math.round(d),f=[e[0]-r[0]*d*o,e[1]-r[1]*d*o,e[2]-r[2]*d*o];(v+=a)>u?v=u:v<0&&(v=0);var g=v*o;return{newFocalPoint:f=[f[0]+r[0]*g,f[1]+r[1]*g,f[2]+r[2]*g],newPosition:[f[0]+s[0],f[1]+s[1],f[2]+s[2]]}}var ki=c(611),Ni=c.n(ki);function Ai(e,t,n){var r=A.utilities.getVolumeActorCorners(e),o=Ni().buildFromDegree().identity().rotateFromDirections(t,[1,0,0]);r.forEach((function(e){return o.apply(e)}));var a=Oe(n);o.apply(a);for(var i=a[0],l=1/0,c=-1/0,s=0;s<8;s++){var u=r[s][0];u>c&&(c=u),u<l&&(l=u)}return{min:l,max:c,current:i}}var Ri=function(e,t,n){return Math.min(Math.max(t,e),n)};function Li(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=e.detail.element,a=(0,A.getEnabledElement)(o),i=a.viewport,l=i.type,c=i.getCamera(),s=c.focalPoint,u=c.viewPlaneNormal,d=c.position,v=r?-t:t;if(i instanceof A.StackViewport){var f=i.getCurrentImageIdIndex(),g=i.getImageIds().length,h=f+v;h=Ri(h,0,g-1),i.setImageIdIndex(h)}else{if(!(i instanceof A.VolumeViewport))throw new Error("Not implemented for Viewport Type: ".concat(l));var m=A.utilities.getTargetVolumeAndSpacingInNormalDir(i,c,n),p=m.spacingInNormalDirection,y=m.imageVolume;if(!y)return;var w=i.getActor(y.uid);w||console.warn("No actor found for with actorUID of",y.uid);var E=w.volumeActor,D=Ai(E,u,s),b=Mi(s,d,D,u,p,v),I=b.newFocalPoint,_=b.newPosition;i.setCamera({focalPoint:I,position:_}),i.render()}}var Pi={snapFocalPointToSlice:Mi,getSliceRange:Ai,scrollThroughStack:Li};function Vi(e,t){for(var n=e.length,r=[],o=0;o<n;o++){var a=e[o];a.getFrameOfReferenceUID()===t&&r.push(a)}return r}var ji=L.Active,Bi=L.Passive,Fi=L.Enabled;function Wi(e,t){for(var n=e.length,r=[],o=0;o<n;o++){var a=e[o];Gi(Ho(a.uid,a.renderingEngineUID),t)&&r.push(a)}return r}function Gi(e,t){var n=e.toolOptions[t];if(!n)return!1;var r=n.mode;return r===ji||r===Bi||r===Fi}var qi=function(e,t){return e.filter((function(e){var n=e.getCamera();return A.utilities.isEqual(n.viewPlaneNormal,t.viewPlaneNormal)&&A.utilities.isEqual(n.viewUp,t.viewUp)}))};function Hi(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=(0,A.getEnabledElement)(e),o=r.renderingEngine,a=r.FrameOfReferenceUID,i=o.getViewports();i=Wi(i=Vi(i,a),t);var l=o.getViewport(r.viewportUID);n&&(i=qi(i,l.getCamera()));var c=i.map((function(e){return e.uid}));return c}var zi={filterViewportsWithToolEnabled:Wi,filterViewportsWithFrameOfReferenceUID:Vi,getViewportUIDsWithToolToRender:Hi},Ki={math:E,planar:D,viewportFilters:I,stackScrollTool:b,drawing:w,debounce:oi,deepMerge:bt,throttle:ai,isObject:ri,triggerEvent:A.triggerEvent,calibrateImageSpacing:li,transformPhysicalToIndex:ci,segmentation:S,triggerAnnotationRenderForViewportUIDs:Qr,pointInShapeCallback:si,pointInSurroundingSphereCallback:ui,getAnnotationNearPoint:ei,getAnnotationNearPointOnEnabledElement:ti};function Yi(e,t){return Ue(e,t)}var Zi=function(e,t,n,r,o){if(n.length>1)throw new Error("thresholding more than one volumes is not supported yet");var a=ol(r.volumeUID);if(!a)throw new Error("No Segmentation Found");var i=a.volumeUID,l=A.cache.getVolume(i),c=r.segmentationDataUID,s=l.scalarData,u=l.imageData,d=o.lowerThreshold,v=o.higherThreshold,f=o.numSlicesToProject;if(o.overwrite)for(var g=0;g<s.length;g++)s[g]=0;return t.forEach((function(e){var t,r,o=e.data,a=o.handles.points,i=n[0],l=i.imageData,c=i.dimensions,g=l.getPointData().getScalars().getData(),h=a;if(null!==(t=o.cachedStats)&&void 0!==t&&t.projectionPoints){var m,p=o.cachedStats.projectionPoints;h=(m=[]).concat.apply(m,Oe(p))}var y=xe(h.map((function(e){return ci(l,e)})),c);!f||null!==(r=o.cachedStats)&&void 0!==r&&r.projectionPoints||(y=Yi(y,f)),si(u,(function(){return!0}),(function(e){var t=e.index,n=e.pointIJK,r=l.computeOffsetIndex(n),o=g[r];o<=d||o>=v||(s[t]=1)}),y)})),Ie(e,c),l},$i=function(e,t,n,r,o){if(n.length>1)throw new Error("thresholding more than one volumes is not supported yet");var a=ol(r.volumeUID);if(!a)throw new Error("No Segmentation Found");var i=a.volumeUID,l=A.cache.getVolume(i),c=o.numSlicesToProject,s=o.overwrite,u=l.scalarData;if(s)for(var d=0;d<u.length;d++)u[d]=0;var v=n[0],f=v.imageData,g=v.dimensions,h=f.getPointData().getScalars().getData(),m=function(e){var t,n;if("min"===e)n=1/0,t=function(e,t){return e<t&&(t=e),t};else{if("max"!==e)throw new Error("Statistics other than min or max are not supported yet");n=-1/0,t=function(e,t){return e>t&&(t=e),t}}return[t,n]}(o.statistic),p=Ce(m,2),y=p[0],w=p[1];t.forEach((function(e){var t,n,r=e.data,o=r.handles.points;if(null!==(t=r.cachedStats)&&void 0!==t&&t.projectionPoints){var a,i=r.cachedStats.projectionPoints;o=(a=[]).concat.apply(a,Oe(i))}var l=xe(o.map((function(e){return ci(f,e)})),g);!c||null!==(n=r.cachedStats)&&void 0!==n&&n.projectionPoints||(l=Yi(l,c));for(var s=Ce(l,3),u=Ce(s[0],2),d=u[0],v=u[1],m=Ce(s[1],2),p=m[0],E=m[1],D=Ce(s[2],2),b=D[0],I=D[1],_=d;_<=v;_++)for(var S=p;S<=E;S++)for(var C=b;C<=I;C++){var x=f.computeOffsetIndex([_,S,C]);w=y(h[x],w)}}));var E={lowerThreshold:o.weight*w,higherThreshold:1/0,numSlicesToProject:c,overwrite:s};Zi(e,t,n,r,E)},Xi=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mergedLabelmap";e.forEach((function(t){var n=t.direction,r=t.dimensions,o=t.origin,a=t.spacing;if(!(A.utilities.isEqual(r,e[0].dimensions)&&A.utilities.isEqual(n,e[0].direction)&&A.utilities.isEqual(a,e[0].spacing)&&A.utilities.isEqual(o,e[0].origin)))throw new Error("labelmaps must have the same size and shape")}));var r=e[0],o=r.scalarData.constructor,a=new o(r.scalarData.length);e.forEach((function(e){for(var n=e.scalarData,r=0;r<n.length;r++)n[r]===t&&(a[r]=t)}));var i={scalarData:a,metadata:r.metadata,spacing:r.spacing,origin:r.origin,direction:r.direction,dimensions:r.dimensions},l=!0,c=A.volumeLoader.createLocalVolume(i,n,l);return c};function Ji(e,t){if(e===F.Labelmap)return function(e){return e&&"boolean"==typeof e.renderOutline&&"number"==typeof e.outlineWidth&&"number"==typeof e.outlineWidthActive&&"number"==typeof e.outlineWidthInactive&&"boolean"==typeof e.renderFill&&"number"==typeof e.fillAlpha&&"number"==typeof e.fillAlphaInactive}(t);throw new Error("Unknown representation type: ".concat(e))}function Qi(e){if(e===F.Labelmap)return nr;throw new Error("Unknown representation type: ".concat(e))}var el={getBoundingBoxAroundShape:xe,extend2DBoundingBoxInViewAxis:Ue,thresholdVolumeByRange:Zi,thresholdVolumeByRoiStats:$i,createMergedLabelmapForIndex:Xi,isValidRepresentationConfig:Ji,getDefaultRepresentationConfig:Qi};function tl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function nl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tl(Object(n),!0).forEach((function(t){H(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function rl(){return Ee}function ol(e){return rl().getGlobalSegmentationData(e)}function al(e,t){rl().addGlobalSegmentationData(e),t||be(e.volumeUID)}function il(){return rl().getGlobalSegmentationState()}function ll(e){return rl().getSegmentationState(e)}function cl(e,t){return rl().getSegmentationDataByUID(e,t)}function sl(e,t){rl().removeSegmentationData(e,t),De(e)}function ul(e,t,n){var r=rl();!function(e,t){var n=ol(t.volumeUID),r=t.representation.type,o=dl(),a=o.representations[r],i=Ji(r,a),l=!n||!i;if(!n){var c=t.volumeUID;al({volumeUID:c,label:c,referenceVolumeUID:null,cachedStats:{},referenceImageId:null,activeSegmentIndex:1,segmentsLocked:new Set},l)}if(!i){var s=Qi(r),u=bt(s,a);vl(nl(nl({},o),{},{representations:nl(nl({},o.representations),{},H({},r,u))}),l)}l&&be(t.volumeUID)}(0,t),r.addSegmentationData(e,t),n||De(e)}function dl(){return rl().getGlobalSegmentationConfig()}function vl(e,t){rl().setGlobalSegmentationConfig(e),t||be()}function fl(e,t,n){rl().setSegmentationConfig(e,t),n||De(e)}function gl(e){return rl().getSegmentationConfig(e)}function hl(e){return rl().getToolGroupsWithSegmentation(e)}function ml(){return rl().getToolGroups()}function pl(e){return rl().getColorLut(e)}function yl(e,t){rl().addColorLUT(e,t)}function wl(e,t,n){rl().setActiveSegmentationData(e,t),n||De(e)}function El(e){var t=rl().getSegmentationState(e);if(0!==t.length)return t.find((function(e){return e.active}))}var Dl=!1;function bl(){Dl||(function(){_l();var e=A.Enums.Events.ELEMENT_ENABLED,t=A.Enums.Events.ELEMENT_DISABLED;A.eventTarget.addEventListener(e,Go),A.eventTarget.addEventListener(t,zo)}(),function(){Sl();var e=B.ANNOTATION_SELECTION_CHANGE,t=B.SEGMENTATION_DATA_MODIFIED,n=B.SEGMENTATION_STATE_MODIFIED,r=B.ANNOTATION_MODIFIED;A.eventTarget.addEventListener(e,Jr),A.eventTarget.addEventListener(t,Xr),A.eventTarget.addEventListener(n,$r),A.eventTarget.addEventListener(e,Jr),A.eventTarget.addEventListener(r,eo)}(),Dl=!0)}function Il(){_l(),Sl(),Ja.destroy(),Te={},ke=K()(Me);var e=se(),t=rl();e.restoreAnnotations({}),t.resetState(),Dl=!1}function _l(){var e=A.Enums.Events.ELEMENT_ENABLED,t=A.Enums.Events.ELEMENT_DISABLED;A.eventTarget.removeEventListener(e,Go),A.eventTarget.removeEventListener(t,zo)}function Sl(){var e=B.ANNOTATION_SELECTION_CHANGE,t=B.ANNOTATION_MODIFIED,n=B.SEGMENTATION_DATA_MODIFIED,r=B.SEGMENTATION_STATE_MODIFIED;A.eventTarget.removeEventListener(e,Jr),A.eventTarget.removeEventListener(n,Xr),A.eventTarget.removeEventListener(r,$r),A.eventTarget.removeEventListener(e,Jr),A.eventTarget.removeEventListener(t,eo)}function Cl(e,t,n,r){if(t.renderingEngineUID!==n.renderingEngineUID||t.viewportUID!==n.viewportUID){var o=r.detail.camera,a=(0,A.getRenderingEngine)(n.renderingEngineUID);if(!a)throw new Error("No RenderingEngine for UID: ".concat(n.renderingEngineUID));var i=a.getViewport(n.viewportUID);i.setCamera(o),i.render()}}var xl=A.Enums.Events.CAMERA_MODIFIED;function Ul(e){return Qo(e,xl,Cl)}function Ol(e,t,n,r){var o=r.detail,a=o.volumeUID,i=o.range,l=(0,A.getRenderingEngine)(n.renderingEngineUID);if(!l)throw new Error("Rendering Engine does not exist: ".concat(n.renderingEngineUID));var c=l.getViewport(n.viewportUID);if(c instanceof A.VolumeViewport){var s=c.getActor(a);s&&s.volumeActor.getProperty().getRGBTransferFunction(0).setRange(i.lower,i.upper)}else{if(!(c instanceof A.StackViewport))throw new Error("Viewport type not supported.");c.setProperties({voiRange:i})}c.render()}function Tl(e){return Qo(e,A.Enums.Events.VOI_MODIFIED,Ol)}var Ml=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return W(this,o),H(dt(e=r.call(this,t,n)),"touchDragCallback",void 0),H(dt(e),"mouseDragCallback",void 0),e.touchDragCallback=e._dragCallback.bind(dt(e)),e.mouseDragCallback=e._dragCallback.bind(dt(e)),e}return q(o,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,r=t.deltaPoints,o=(0,A.getEnabledElement)(n),a=r.world,i=o.viewport.getCamera(),l=i.focalPoint,c=i.position,s=[c[0]-a[0],c[1]-a[1],c[2]-a[2]],u=[l[0]-a[0],l[1]-a[1],l[2]-a[2]];o.viewport.setCamera({focalPoint:u,position:s}),o.viewport.render()}}]),o}(_t);H(Ml,"toolName","Pan");var kl=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return W(this,o),H(dt(e=r.call(this,t,n)),"touchDragCallback",void 0),H(dt(e),"mouseDragCallback",void 0),H(dt(e),"_getImageDynamicRange",(function(e){var t,n,r=A.cache.getVolume(e),o=r.dimensions,a=r.scalarData,i=Math.floor(o[2]/2),l=o[0]*o[1];a instanceof Float32Array?(t=4,n=Float32Array):a instanceof Uint8Array&&(t=1,n=Uint8Array);for(var c=new n(a.buffer,i*l*t,l),s=1/0,u=-1/0,d=0;d<l;d++){var v=c[d];v<s&&(s=v),v>u&&(u=v)}return u-s})),e.touchDragCallback=e._dragCallback.bind(dt(e)),e.mouseDragCallback=e._dragCallback.bind(dt(e)),e}return q(o,[{key:"_dragCallback",value:function(e){var t,n,r,o,a,i,l,c=e.detail,s=c.element,u=c.deltaPoints,d=(0,A.getEnabledElement)(s),v=d.renderingEngine,f=d.viewportUID,g=d.viewport,h=!1;if(g instanceof A.VolumeViewport){t=this.getTargetUID(g),o=g.getActor(t).volumeActor.getProperty().getRGBTransferFunction(0),l=A.utilities.getVolumeViewportsContainingVolumeUID(t,v.uid);var m=Ce(o.getRange(),2);n=m[0],r=m[1],a=A.cache.getVolume(t).metadata.Modality,h=!0}else{var p=g.getProperties();a=g.modality;var y=p.voiRange;n=y.lower,r=y.upper}var w={volumeUID:t,viewportUID:f,range:i="PT"===a?this.getPTNewRange({deltaPointsCanvas:u.canvas,lower:n,upper:r,clientHeight:s.clientHeight}):this.getNewRange({deltaPointsCanvas:u.canvas,useDynamicRange:h,volumeUID:t,lower:n,upper:r})};if((0,A.triggerEvent)(s,A.Enums.Events.VOI_MODIFIED,w),g instanceof A.StackViewport)return g.setProperties({voiRange:i}),void g.render();o.setRange(i.lower,i.upper),l.forEach((function(e){e.render()}))}},{key:"getPTNewRange",value:function(e){var t=e.deltaPointsCanvas,n=e.lower,r=e.upper,o=e.clientHeight;return r-=t[1]*(5/o),{lower:n,upper:r=Math.max(r,.1)}}},{key:"getNewRange",value:function(e){var t=e.deltaPointsCanvas,n=e.useDynamicRange,r=e.volumeUID,o=e.lower,a=e.upper,i=n?this._getMultiplyerFromDynamicRange(r):4,l=t[0]*i,c=t[1]*i,s=A.utilities.windowLevel.toWindowLevel(o,a),u=s.windowWidth,d=s.windowCenter;return u+=l,d+=c,u=Math.max(u,1),A.utilities.windowLevel.toLowHighRange(u,d)}},{key:"_getMultiplyerFromDynamicRange",value:function(e){if(!e)throw new Error("No volumeUID provided for the volume Viewport");var t=4,n=this._getImageDynamicRange(e)/1024;return n>1&&(t=Math.round(n)),t}}]),o}(_t);H(kl,"toolName","WindowLevel");var Nl=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{invert:!1}};return W(this,o),H(dt(e=r.call(this,t,n)),"touchDragCallback",void 0),H(dt(e),"mouseDragCallback",void 0),e.touchDragCallback=e._dragCallback.bind(dt(e)),e.mouseDragCallback=e._dragCallback.bind(dt(e)),e}return q(o,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.deltaPoints,r=t.viewportUID,o=t.renderingEngineUID,a=n.canvas[1],i=(0,A.getEnabledElementByUIDs)(r,o).viewport;Li(e,a,this.getTargetUID(i),this.configuration.invert)}}]),o}(_t);H(Nl,"toolName","StackScroll");var Al=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],invert:!1};return W(this,o),H(dt(e=r.call(this,t,n)),"_configuration",void 0),e}return q(o,[{key:"mouseWheelCallback",value:function(e){var t=e.detail.wheel.direction,n=this.configuration,r=n.invert;Li(e,t,n.volumeUID,r)}}]),o}(_t);H(Al,"toolName","StackScrollMouseWheel");var Rl=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return W(this,o),H(dt(e=r.call(this,t,n)),"touchDragCallback",void 0),H(dt(e),"mouseDragCallback",void 0),H(dt(e),"_dragParallelProjection",(function(e,t){var n=e.detail,r=n.element,o=n.deltaPoints,a=(0,A.getEnabledElement)(r).viewport,i=1.5/(r.clientWidth,r.clientHeight),l=(1-o.canvas[1]*i)*t.parallelScale;a.setCamera({parallelScale:l})})),H(dt(e),"_dragPerspectiveProjection",(function(e,t){var n=e.detail,r=n.element,o=n.deltaPoints,a=(0,A.getEnabledElement)(r).viewport,i=[r.clientWidth,r.clientHeight],l=t.clippingRange[1]/i[1]*1.5,c=t.position,s=t.focalPoint,u=t.viewPlaneNormal,d=[-u[0],-u[1],-u[2]],v=o.canvas[1]*l,f=v*d[0];c[0]+=f,s[0]+=f,f=v*d[1],c[1]+=f,s[1]+=f,f=v*d[2],c[2]+=f,s[2]+=f,a.setCamera({position:c,focalPoint:s})})),e.touchDragCallback=e._dragCallback.bind(dt(e)),e.mouseDragCallback=e._dragCallback.bind(dt(e)),e}return q(o,[{key:"_dragCallback",value:function(e){var t=e.detail.element,n=(0,A.getEnabledElement)(t).viewport,r=n.getCamera();r.parallelProjection?this._dragParallelProjection(e,r):this._dragPerspectiveProjection(e,r),n.render()}}]),o}(_t);H(Rl,"toolName","Zoom");var Ll={X:[1,0,0],Y:[0,1,0],Z:[0,0,1],CUSTOM:[]},Pl=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{direction:Ll.Z,rotateIncrementDegrees:.5}};return W(this,o),H(dt(e=r.call(this,t,n)),"_configuration",void 0),e}return q(o,[{key:"mouseWheelCallback",value:function(e){var t=e.detail,n=t.element,r=t.wheel,o=(0,A.getEnabledElement)(n).viewport,a=this.configuration,i=a.direction,l=a.rotateIncrementDegrees,c=o.getCamera(),s=c.viewUp,u=c.position,d=c.focalPoint,v=r.direction,f=Ce(d,3),g=f[0],h=f[1],m=f[2],p=Ce(i,3),y=p[0],w=p[1],E=p[2],D=v*l,b=[0,0,0],I=[0,0,0],_=[0,0,0],S=St.mat4.identity(new Float32Array(16));St.mat4.translate(S,S,[g,h,m]),St.mat4.rotate(S,S,D,[y,w,E]),St.mat4.translate(S,S,[-g,-h,-m]),St.vec3.transformMat4(b,u,S),St.vec3.transformMat4(I,d,S),St.mat4.identity(S),St.mat4.rotate(S,S,D,[y,w,E]),St.vec3.transformMat4(_,s,S),o.setCamera({position:b,viewUp:_,focalPoint:I}),o.render()}}]),o}(_t);H(Pl,"toolName","VolumeRotateMouseWheel");var Vl=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{targetViewportUIDs:[]}};return W(this,o),H(dt(e=r.call(this,t,n)),"_bounds",void 0),e}return q(o,[{key:"mouseClickCallback",value:function(e){var t=e.detail,n=t.element,r=t.currentPoints,o=(0,A.getEnabledElement)(n),a=o.viewport,i=o.renderingEngine,l=this.getTargetUID(a),c=-1/0,s=Ui(a,r.world,l,(function(e,t){if(e>c)return c=e,t}));s&&s.length&&this.configuration.targetViewportUIDs.forEach((function(e){var t=i.getViewport(e);t instanceof A.VolumeViewport?function(e,t){if(e instanceof A.VolumeViewport){var n=e.getCamera().focalPoint,r=[0,0,0];St.vec3.sub(r,t,n),function(e,t){var n=e.getCamera(),r=n.viewPlaneNormal,o=St.vec3.dot(t,r),a=St.vec3.fromValues(r[0],r[1],r[2]);if(St.vec3.scale(a,a,o),Math.abs(a[0])>.001||Math.abs(a[1])>.001||Math.abs(a[2])>.001){var i=[0,0,0],l=[0,0,0];St.vec3.add(i,n.focalPoint,a),St.vec3.add(l,n.position,a),e.setCamera({focalPoint:i,position:l}),e.render()}}(e,r)}}(t,s):console.warn("Cannot jump to specified world coordinates for a viewport that is not a VolumeViewport")}))}}]),o}(_t);H(Vl,"toolName","MIPJumpToClickTool");var jl=hi.liangBarksyClip;function Bl(){return"rgb(200, 200, 200)"}function Fl(){return!0}function Wl(){return!0}function Gl(){return!1}var ql=.001,Hl=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t,n,a,i,l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse"],configuration:{shadow:!0,autoPan:{enabled:!1,panSize:10}}};return W(this,o),H(dt(i=r.call(this,l,c)),"toolCenter",[0,0,0]),H(dt(i),"_getReferenceLineColor",void 0),H(dt(i),"_getReferenceLineControllable",void 0),H(dt(i),"_getReferenceLineDraggableRotatable",void 0),H(dt(i),"_getReferenceLineSlabThicknessControlsOn",void 0),H(dt(i),"editData",void 0),H(dt(i),"initializeViewport",(function(e){var t=e.renderingEngineUID,n=e.viewportUID,r=(0,A.getEnabledElementByUIDs)(n,t),a=r.FrameOfReferenceUID,l=r.viewport,c=l.element,s=l.getCamera(),u=s.position,d=s.focalPoint,v=s.viewPlaneNormal,f=de(c,o.toolName);(f=i.filterInteractableAnnotationsForElement(c,f)).length&&fe(c,f[0].annotationUID);var g={highlighted:!1,metadata:{cameraPosition:Oe(u),cameraFocalPoint:Oe(d),FrameOfReferenceUID:a,toolName:o.toolName},data:{handles:{rotationPoints:[],slabThicknessPoints:[],toolCenter:i.toolCenter},activeOperation:null,activeViewportUIDs:[],viewportUID:n}};return La(c),ve(c,g),{normal:v,point:l.canvasToWorld([l.sWidth/2,l.sHeight/2])}})),H(dt(i),"init",(function(e){if(!e.length||1===e.length)throw new Error("For crosshairs to operate, at least two viewports must be given.");var t=Ce(e,3),n=t[0],r=t[1],o=t[2],a=i.initializeViewport(n),l=a.normal,c=a.point,s=i.initializeViewport(r),u=s.normal,d=s.point,v=[0,0,0],f=St.vec3.create();if(o){var g=i.initializeViewport(o);v=g.normal,f=g.point}else St.vec3.add(f,c,d),St.vec3.scale(f,f,.5),St.vec3.cross(v,l,u);var h=A.utilities.planar.planeEquation(l,c),m=A.utilities.planar.planeEquation(u,d),p=A.utilities.planar.planeEquation(v,f);i.toolCenter=A.utilities.planar.threePlaneIntersection(h,m,p)})),H(dt(i),"addNewAnnotation",(function(e,t){var n=e.detail,r=n.element,a=n.currentPoints.world,l=(0,A.getEnabledElement)(r),c=l.viewport;i._jump(l,a);for(var s=de(r,o.toolName),u=i.filterInteractableAnnotationsForElement(c.element,s),d=u[0].data,v=d.handles.rotationPoints,f=[],g=0;g<v.length-1;++g){var h=v[g][1],m=i._getReferenceLineControllable(h.uid),p=i._getReferenceLineDraggableRotatable(h.uid);m&&p&&(f.push(h.uid),g++)}return d.activeViewportUIDs=[].concat(f),d.handles.activeOperation=1,e.preventDefault(),Pa(r),i._activateModify(r),u[0]})),H(dt(i),"cancel",(function(){console.log("Not implemented yet")})),H(dt(i),"handleSelectedCallback",(function(e,t,n){var r=e.detail.element;t.highlighted=!0,i._activateModify(r),Pa(r),e.preventDefault()})),H(dt(i),"isPointNearTool",(function(e,t,n,r){return!!i._pointNearTool(e,t,n,6)})),H(dt(i),"toolSelectedCallback",(function(e,t,n){var r=e.detail.element;t.highlighted=!0,i._activateModify(r),Pa(r),e.preventDefault()})),H(dt(i),"onCameraModified",(function(e){var t=e.detail.element,n=(0,A.getEnabledElement)(t),r=n.renderingEngine,a=n.viewport,l=Hi(t,o.toolName,!1),c=de(t,o.toolName),s=i.filterInteractableAnnotationsForElement(t,c)[0];if(s){var u=a.getCamera(),d=s.metadata.cameraPosition,v=[0,0,0];xi().subtract(u.position,d,v);var f=s.metadata.cameraFocalPoint,g=[0,0,0];xi().subtract(u.focalPoint,f,g),s.metadata.cameraPosition=Oe(u.position),s.metadata.cameraFocalPoint=Oe(u.focalPoint);var h=i._getReferenceLineControllable(a.uid),m=i._getReferenceLineDraggableRotatable(a.uid);if(!A.utilities.isEqual(u.position,d,.001)&&h&&m){var p=!0;A.utilities.isEqual(v,g,.001)||(p=!1),p&&Math.abs(xi().dot(v,u.viewPlaneNormal))>.01&&(i.toolCenter[0]+=v[0],i.toolCenter[1]+=v[1],i.toolCenter[2]+=v[2])}i.configuration.autoPan.enabled&&A.utilities.getVolumeViewportsContainingSameVolumes(a,r.uid).forEach((function(e){var t=e.uid;t!==a.uid&&i._autoPanViewportIfNecessary(t,r)})),Qr(r,l)}})),H(dt(i),"mouseMoveCallback",(function(e,t){for(var n=e.detail,r=n.element,o=n.currentPoints.canvas,a=!1,l=0;l<t.length;l++){var c=t[l];if(!J(c)){var s=c.data,u=c.highlighted;if(s.handles){var d=s.handles.activeOperation,v=s.activeViewportUIDs&&s.activeViewportUIDs.length>0?Oe(s.activeViewportUIDs):[];s.activeViewportUIDs=[],s.handles.activeOperation=null;var f;(f=!!i.getHandleNearImagePoint(r,c,o,6)||i._pointNearTool(r,c,o,6))&&!u||!f&&u?(c.highlighted=!u,a=!0):s.handles.activeOperation===d&&i._areViewportUIDArraysEqual(s.activeViewportUIDs,v)||(a=!0)}}}return a})),H(dt(i),"filterInteractableAnnotationsForElement",(function(e,t){if(!t||!t.length)return[];var n=(0,A.getEnabledElement)(e).viewportUID;return t.filter((function(e){return e.data.viewportUID===n}))})),H(dt(i),"renderAnnotation",(function(e,t){var n=e.viewport,r=e.renderingEngine,a=n.element,l=de(a,o.toolName),c=n.getCamera(),s=i.filterInteractableAnnotationsForElement(a,l)[0];if(l&&s&&s.data){var u=s.annotationUID,d=n.sWidth,v=n.sHeight,f=Math.sqrt(d*d+v*v),g=s.data,h=n.worldToCanvas(i.toolCenter),m=i._filterAnnotationsByUniqueViewportOrientations(e,l),p=[];m.forEach((function(e){var t=e.data;t.handles.toolCenter=i.toolCenter;var o=r.getViewport(t.viewportUID),a=o.getCamera(),l=i._getReferenceLineControllable(o.uid),s=i._getReferenceLineDraggableRotatable(o.uid),u=i._getReferenceLineSlabThicknessControlsOn(o.uid),d=o.sWidth,v=o.sHeight,g=Math.sqrt(d*d+v*v),y=[.5*d,.5*v],w=o.canvasToWorld(y),E=[0,0,0];xi().cross(c.viewPlaneNormal,a.viewPlaneNormal,E),xi().normalize(E),xi().multiplyScalar(E,g);var D=[0,0,0];xi().add(w,E,D);var b=[0,0,0];xi().subtract(w,E,b);var I=[0,0,d,v],_=n.worldToCanvas(D),S=n.worldToCanvas(w),C=St.vec2.create();St.vec2.subtract(C,_,S),St.vec2.normalize(C,C);var x=St.vec2.create();St.vec2.scale(x,C,100*f);var U=St.vec2.create();St.vec2.scale(U,C,.25*f);var O=St.vec2.create();St.vec2.scale(O,C,.15*f);var T=St.vec2.create();St.vec2.scale(T,C,2===m.length?.04*f:0);var M=St.vec2.create(),k=St.vec2.create(),N=St.vec2.create(),A=St.vec2.create(),R=St.vec2.clone(h);s&&l||(R=St.vec2.clone(S)),St.vec2.add(M,R,T),St.vec2.add(k,R,x),St.vec2.subtract(N,R,T),St.vec2.subtract(A,R,x),jl(M,k,I),jl(N,A,I);var L=St.vec2.create();St.vec2.subtract(L,h,U);var P=St.vec2.create();St.vec2.add(P,h,U);var V=St.vec2.clone(h);!s&&u&&(V=St.vec2.clone(S));var j=Oe(i.toolCenter);!s&&u&&(j=Oe(w));var B=[0,0,0];xi().subtract(D,b,B),xi().normalize(B);var F=c.viewPlaneNormal,W=Ni().buildFromDegree().rotate(90,F).matrix,G=[0,0,0];St.vec3.transformMat4(G,B,W);var q=o.getSlabThickness(),H=[].concat(G);xi().multiplyScalar(H,q);var z=[0,0,0];xi().add(j,H,z);var K=n.worldToCanvas(z),Y=St.vec2.create();St.vec2.subtract(Y,V,K);var Z=St.vec2.create();St.vec2.subtract(Z,V,x),St.vec2.add(Z,Z,Y);var $=St.vec2.create();St.vec2.add($,V,x),St.vec2.add($,$,Y),jl(Z,$,I);var X=St.vec2.create();St.vec2.add(X,V,x),St.vec2.subtract(X,X,Y);var J=St.vec2.create();St.vec2.subtract(J,V,x),St.vec2.subtract(J,J,Y),jl(X,J,I);var Q=St.vec2.create(),ee=St.vec2.create(),te=St.vec2.create(),ne=St.vec2.create();St.vec2.subtract(Q,V,O),St.vec2.add(Q,Q,Y),St.vec2.add(ee,V,O),St.vec2.add(ee,ee,Y),St.vec2.subtract(te,V,O),St.vec2.subtract(te,te,Y),St.vec2.add(ne,V,O),St.vec2.subtract(ne,ne,Y),p.push([o,M,k,N,A,Z,$,X,J,L,P,Q,ee,te,ne])}));var y=[],w=[],E=i._getReferenceLineColor(n.uid),D=void 0!==E?E:"rgb(200, 200, 200)";p.forEach((function(e,r){var a=e[0],l=i._getReferenceLineColor(a.uid),c=i._getReferenceLineControllable(a.uid),s=i._getReferenceLineDraggableRotatable(a.uid),d=i._getReferenceLineSlabThicknessControlsOn(a.uid),v=g.activeViewportUIDs.find((function(e){return e===a.uid})),f=void 0!==l?l:"rgb(200, 200, 200)",h=1,m=null!==g.handles.activeOperation&&1===g.handles.activeOperation&&v;m&&(h=2.5);var p="".concat(r);if(c&&s?(p="".concat(r,"One"),Pt(t,o.toolName,u,p,e[1],e[2],{color:f,lineWidth:h}),p="".concat(r,"Two"),Pt(t,o.toolName,u,p,e[3],e[4],{color:f,lineWidth:h})):Pt(t,o.toolName,u,p,e[2],e[4],{color:f,lineWidth:h}),c){f=void 0!==l?l:"rgb(200, 200, 200)";var E=2===g.handles.activeOperation,D=[e[9],e[10]],b=[n.canvasToWorld(e[9]),a,e[1],e[2]],I=[n.canvasToWorld(e[10]),a,e[3],e[4]];y.push(b,I);var _=3===g.handles.activeOperation,S=[e[11],e[12],e[13],e[14]],C=[n.canvasToWorld(e[11]),a,e[5],e[6]],x=[n.canvasToWorld(e[12]),a,e[5],e[6]],U=[n.canvasToWorld(e[13]),a,e[7],e[8]],O=[n.canvasToWorld(e[14]),a,e[7],e[8]];if(w.push(C,x,U,O),m&&!E&&!_&&s&&d){var T="".concat(r,"One");Lt(t,o.toolName,u,T,D,{color:f,handleRadius:3,type:"circle"}),T="".concat(r,"Two"),Lt(t,o.toolName,u,T,S,{color:f,handleRadius:3,type:"rect"})}else if(m&&!E&&!_&&s){var M="".concat(r);Lt(t,o.toolName,u,M,D,{color:f,handleRadius:3,type:"circle"})}else if(v&&!E&&!_&&d){var k="".concat(r);Lt(t,o.toolName,u,k,S,{color:f,handleRadius:3,type:"rect"})}else if(E&&s){var N="".concat(r);Lt(t,o.toolName,u,N,D,{color:f,handleRadius:2,fill:f,type:"circle"})}else _&&v&&d&&Lt(t,o.toolName,u,p,S,{color:f,handleRadius:2,fill:f,type:"rect"});a.getSlabThickness()>.5&&d&&(p="".concat(r,"STOne"),Pt(t,o.toolName,u,p,e[5],e[6],{color:f,width:1,lineDash:[2,3]}),p="".concat(r,"STTwo"),Pt(t,o.toolName,u,p,e[7],e[8],{color:f,width:e,lineDash:[2,3]}))}})),g.handles.rotationPoints=y,g.handles.slabThicknessPoints=w;var b=[.95*d,.05*v],I=.01*f;At(t,o.toolName,u,"0",b,I,{color:D,fill:D})}})),H(dt(i),"_areViewportUIDArraysEqual",(function(e,t){return e.length===t.length&&(e.forEach((function(e){for(var n=!1,r=0;r<t.length;++r)if(e===t[r]){n=!0;break}if(!1===n)return!1})),!0)})),H(dt(i),"_getAnnotationsForViewportsWithDifferentCameras",(function(e,t){var n=e.viewportUID,r=e.renderingEngine,o=e.viewport,a=t.filter((function(e){return e.data.viewportUID!==n}));if(!a||!a.length)return[];var i=o.getCamera(),l=i.viewPlaneNormal,c=i.position,s=a.filter((function(e){var t=e.data.viewportUID,n=r.getViewport(t).getCamera();return!(A.utilities.isEqual(n.viewPlaneNormal,l,.01)&&A.utilities.isEqual(n.position,c,1))}));return s})),H(dt(i),"_filterLinkedViewportWithSameOrientationAndScene",(function(e,t){var n=e.renderingEngine,r=e.viewport,o=i._getReferenceLineControllable(r.uid),a=t.filter((function(e){var t=e.data,a=n.getViewport(t.viewportUID),l=i._getReferenceLineControllable(a.uid);return r!==a&&!0===l&&!0===o}));if(!a||!a.length)return[];var l=r.getCamera(),c=l.viewPlaneNormal;return xi().normalize(c),a.filter((function(e){var t=e.data.viewportUID,r=n.getViewport(t).getCamera(),o=r.viewPlaneNormal;return xi().normalize(o),A.utilities.isEqual(c,o,.01)&&A.utilities.isEqual(l.viewUp,r.viewUp,.01)}))})),H(dt(i),"_filterAnnotationsByUniqueViewportOrientations",(function(e,t){var n=e.renderingEngine,r=e.viewport,o=r.getCamera().viewPlaneNormal;xi().normalize(o);for(var a=t.filter((function(e){var t=e.data,o=n.getViewport(t.viewportUID),a=i._getReferenceLineControllable(o.uid);return r!==o&&!0===a})),l=[],c=0;c<a.length;++c){var s=a[c],u=s.data.viewportUID,d=n.getViewport(u).getCamera(),v=d.viewPlaneNormal;if(xi().normalize(v),!A.utilities.isEqual(o,v,.01)&&!A.utilities.isOpposite(o,v,.01)){for(var f=!1,g=0;g<l.length;++g){var h=l[g].data.viewportUID,m=n.getViewport(h).getCamera();A.utilities.isEqual(m.viewPlaneNormal,d.viewPlaneNormal,.01)&&A.utilities.isEqual(m.position,d.position,1)&&(f=!0)}f||l.push(s)}}for(var p=t.filter((function(e){var t=e.data,o=n.getViewport(t.viewportUID),a=i._getReferenceLineControllable(o.uid);return r!==o&&!0!==a})),y=0;y<p.length;++y){var w=p[y],E=w.data.viewportUID,D=n.getViewport(E).getCamera(),b=D.viewPlaneNormal;if(xi().normalize(b),!A.utilities.isEqual(o,b,.01)&&!A.utilities.isOpposite(o,b,.01)){for(var I=!1,_=0;_<l.length;++_){var S=l[_].data.viewportUID,C=n.getViewport(S).getCamera();A.utilities.isEqual(C.viewPlaneNormal,D.viewPlaneNormal,.01)&&A.utilities.isEqual(C.position,D.position,1)&&(I=!0)}I||l.push(w)}}for(var x=i._getAnnotationsForViewportsWithDifferentCameras(e,t),U=function(e){var t=x[e];if(!0===l.find((function(e){return e===t})))return"continue";var r=t.data.viewportUID,a=n.getViewport(r).getCamera(),i=a.viewPlaneNormal;if(xi().normalize(i),A.utilities.isEqual(o,i,.01)||A.utilities.isOpposite(o,i,.01))return"continue";for(var c=!1,s=0;s<l.length;++s){var u=l[s].data.viewportUID,d=n.getViewport(u).getCamera();A.utilities.isEqual(d.viewPlaneNormal,a.viewPlaneNormal,.01)&&A.utilities.isEqual(d.position,a.position,1)&&(c=!0)}c||l.push(t)},O=0;O<x.length;++O)U(O);return l})),H(dt(i),"_checkIfViewportsRenderingSameScene",(function(e,t){var n=e.getActors(),r=t.getActors(),o=!0;return n.forEach((function(e){n.length===r.length&&void 0!==r.find((function(t){return t.uid===e.uid}))||(o=!1)})),o})),H(dt(i),"_jump",(function(e,t){ke.isInteractingWithTool=!0;var n=e.viewport,r=e.renderingEngine,a=de(n.element,o.toolName),l=[0,0,0];xi().subtract(t,i.toolCenter,l);var c=i._getAnnotationsForViewportsWithDifferentCameras(e,a).filter((function(e){var t=e.data,o=r.getViewport(t.viewportUID),a=i._checkIfViewportsRenderingSameScene(n,o);return i._getReferenceLineControllable(o.uid)&&i._getReferenceLineDraggableRotatable(o.uid)&&a}));return 0===c.length?(ke.isInteractingWithTool=!1,!1):(i._applyDeltaShiftToSelectedViewportCameras(r,c,l),ke.isInteractingWithTool=!1,!0)})),H(dt(i),"_activateModify",(function(e){ke.isInteractingWithTool=!0,e.addEventListener(B.MOUSE_UP,i._mouseUpCallback),e.addEventListener(B.MOUSE_DRAG,i._mouseDragCallback),e.addEventListener(B.MOUSE_CLICK,i._mouseUpCallback)})),H(dt(i),"_deactivateModify",(function(e){ke.isInteractingWithTool=!1,e.removeEventListener(B.MOUSE_UP,i._mouseUpCallback),e.removeEventListener(B.MOUSE_DRAG,i._mouseDragCallback),e.removeEventListener(B.MOUSE_CLICK,i._mouseUpCallback)})),H(dt(i),"_mouseUpCallback",(function(e){var t=e.detail.element;i.editData.annotation.highlighted=!1,i.editData.annotation.data.handles.activeOperation=null,i.editData.annotation.data.activeViewportUIDs=[],i._deactivateModify(t),La(t),i.editData=null;var n=(0,A.getEnabledElement)(t).renderingEngine,r=Hi(t,o.toolName,!1);Qr(n,r)})),H(dt(i),"_mouseDragCallback",(function(e){var t=e.detail,n=t.deltaPoints.world;if(!(Math.abs(n[0])<.001&&Math.abs(n[1])<.001&&Math.abs(n[2])<.001)){var r=t.element,a=(0,A.getEnabledElement)(r),l=a.renderingEngine,c=a.viewport,s=de(r,o.toolName),u=i.filterInteractableAnnotationsForElement(r,s)[0];if(u){var d=u.data.handles,v=e.detail.currentPoints.canvas;if(1===d.activeOperation){var f=i._getAnnotationsForViewportsWithDifferentCameras(a,s).filter((function(e){var t=e.data,n=l.getViewport(t.viewportUID);return u.data.activeViewportUIDs.find((function(e){return e===n.uid}))}));i._applyDeltaShiftToSelectedViewportCameras(l,f,n)}else if(2===d.activeOperation){var g=i._getAnnotationsForViewportsWithDifferentCameras(a,s).filter((function(e){var t=e.data;t.handles.toolCenter=p;var n=l.getViewport(t.viewportUID),r=i._getReferenceLineControllable(n.uid),o=i._getReferenceLineDraggableRotatable(n.uid);return!0===r&&!0===o})),h=St.vec2.create(),m=St.vec2.create(),p=[i.toolCenter[0],i.toolCenter[1],i.toolCenter[2]],y=c.worldToCanvas(p),w=t.currentPoints.canvas,E=St.vec2.create();St.vec2.sub(E,w,t.deltaPoints.canvas),St.vec2.sub(h,E,y),St.vec2.sub(m,w,y);var D=St.vec2.angle(h,m);i._isClockWise(y,E,w)&&(D*=-1),D=Math.round(100*D)/100;var b=c.getCamera().viewPlaneNormal,I=Ni().buildFromRadian().translate(p[0],p[1],p[2]).rotate(D,b).translate(-p[0],-p[1],-p[2]).matrix,_=[];g.forEach((function(e){var t=e.data;t.handles.toolCenter=p;var n=l.getViewport(t.viewportUID),r=n.getCamera(),o=r.viewUp,a=r.position,i=r.focalPoint;o[0]+=a[0],o[1]+=a[1],o[2]+=a[2],St.vec3.transformMat4(i,i,I),St.vec3.transformMat4(a,a,I),St.vec3.transformMat4(o,o,I),o[0]-=a[0],o[1]-=a[1],o[2]-=a[2],n.setCamera({position:a,viewUp:o,focalPoint:i}),_.push(n.uid)})),l.renderViewports(_)}else 3===d.activeOperation&&s.filter((function(e){var t=e.data,n=l.getViewport(t.viewportUID);return u.data.activeViewportUIDs.find((function(e){return e===n.uid}))})).forEach((function(e){var r=e.data,o=l.getViewport(r.viewportUID),a=o.getCamera().viewPlaneNormal,s=xi().dot(n,a),d=Oe(a);if(xi().multiplyScalar(d,s),Math.abs(d[0])>.001||Math.abs(d[1])>.001||Math.abs(d[2])>.001){var f=Math.sqrt(d[0]*d[0]+d[1]*d[1]+d[2]*d[2]),g=t.lastPoints.world,h=[0,0,0],m=[i.toolCenter[0],i.toolCenter[1],i.toolCenter[2]];if(!i._getReferenceLineDraggableRotatable(o.uid)){var p=i.editData.annotation.data.handles.rotationPoints.filter((function(e){return e[1].uid===o.uid}));if(2===p.length){var y=c.canvasToWorld(p[0][3]),w=c.canvasToWorld(p[1][3]);xi().add(y,w,m),xi().multiplyScalar(m,.5)}}xi().subtract(g,m,h);var E=xi().dot(h,a),D=Oe(a);xi().multiplyScalar(D,E);var b=[D[0],D[1],D[2]];St.vec3.normalize(b,b);var I=[d[0],d[1],d[2]];St.vec3.normalize(I,I);var _=o.getSlabThickness();A.utilities.isOpposite(b,I,.001)?_-=f:_+=f,_=Math.abs(_),_=Math.max(.1,_),i._pointNearReferenceLine(u,v,6,o)?o.setSlabThickness(null):o.setSlabThickness(_),o.render()}}))}}})),H(dt(i),"_pointNearReferenceLine",(function(e,t,n,r){for(var o=e.data.handles.rotationPoints,a=0;a<o.length-1;++a){var l=o[a][1];if(l.uid===r.uid&&i._getReferenceLineControllable(l.uid)){var c={start:{x:o[a][2][0],y:o[a][2][1]},end:{x:o[a][3][0],y:o[a][3][1]}},s=bi.distanceToPoint([c.start.x,c.start.y],[c.end.x,c.end.y],[t[0],t[1]]),u={start:{x:o[a+1][2][0],y:o[a+1][2][1]},end:{x:o[a+1][3][0],y:o[a+1][3][1]}},d=bi.distanceToPoint([u.start.x,u.start.y],[u.end.x,u.end.y],[t[0],t[1]]);if(s<=n||d<=n)return!0;a++}}return!1})),i._getReferenceLineColor=(null===(e=l.configuration)||void 0===e?void 0:e.getReferenceLineColor)||Bl,i._getReferenceLineControllable=(null===(t=l.configuration)||void 0===t?void 0:t.getReferenceLineControllable)||Fl,i._getReferenceLineDraggableRotatable=(null===(n=l.configuration)||void 0===n?void 0:n.getReferenceLineDraggableRotatable)||Wl,i._getReferenceLineSlabThicknessControlsOn=(null===(a=l.configuration)||void 0===a?void 0:a.getReferenceLineSlabThicknessControlsOn)||Gl,i}return q(o,[{key:"getHandleNearImagePoint",value:function(e,t,n,r){var o=(0,A.getEnabledElement)(e).viewport,a=this._getRotationHandleNearImagePoint(o,t,n,r);return null!==a||null!==(a=this._getSlabThicknessHandleNearImagePoint(o,t,n,r))?a:void 0}},{key:"_autoPanViewportIfNecessary",value:function(e,t){var n,r=t.getViewport(e),o=r.sWidth,a=r.sHeight,i=r.canvasToWorld([0,0]),l=r.canvasToWorld([o,a]),c=r.canvasToWorld([o,0]),s=r.canvasToWorld([0,a]),u=Math.min(i[0],l[0],c[0],s[0]),d=Math.max(i[0],l[0],c[0],s[0]),v=Math.min(i[1],l[1],c[1],s[1]),f=Math.max(i[1],l[1],c[1],s[1]),g=Math.min(i[2],l[2],c[2],s[2]),h=Math.max(i[2],l[2],c[2],s[2]),m=this.configuration.autoPan.panSize;if(this.toolCenter[0]<u-ql)n=[u-this.toolCenter[0]+m,0,0];else if(this.toolCenter[0]>d+ql)n=[d-this.toolCenter[0]-m,0,0];else if(this.toolCenter[1]<v-ql)n=[0,v-this.toolCenter[1]+m,0];else if(this.toolCenter[1]>f+ql)n=[0,f-this.toolCenter[1]-m,0];else if(this.toolCenter[2]<g-ql)n=[0,0,g-this.toolCenter[2]+m];else{if(!(this.toolCenter[2]>h+ql))return;n=[0,0,h-this.toolCenter[2]-m]}var p=r.getCamera(),y=p.focalPoint,w=p.position,E=[w[0]-n[0],w[1]-n[1],w[2]-n[2]],D=[y[0]-n[0],y[1]-n[1],y[2]-n[2]];r.setCamera({focalPoint:D,position:E}),r.render()}},{key:"_isClockWise",value:function(e,t,n){return(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0])>0}},{key:"_applyDeltaShiftToSelectedViewportCameras",value:function(e,t,n){var r=this;t.forEach((function(t){r._applyDeltaShiftToViewportCamera(e,t,n)}))}},{key:"_applyDeltaShiftToViewportCamera",value:function(e,t,n){var r=t.data,o=e.getViewport(r.viewportUID),a=o.getCamera(),i=a.viewPlaneNormal,l=xi().dot(n,i),c=Oe(i);if(xi().multiplyScalar(c,l),Math.abs(c[0])>.001||Math.abs(c[1])>.001||Math.abs(c[2])>.001){var s=[0,0,0],u=[0,0,0];xi().add(a.focalPoint,c,s),xi().add(a.position,c,u),o.setCamera({focalPoint:s,position:u}),o.render()}}},{key:"_getRotationHandleNearImagePoint",value:function(e,t,n,r){for(var o=t.data,a=o.handles.rotationPoints,i=0;i<a.length;i++){var l=a[i][0],c=a[i][1];if(this._getReferenceLineControllable(c.uid)&&this._getReferenceLineDraggableRotatable(c.uid)){var s=e.worldToCanvas(l);if(St.vec2.distance(n,s)<r)return o.handles.activeOperation=2,this.editData={annotation:t},l}}return null}},{key:"_getSlabThicknessHandleNearImagePoint",value:function(e,t,n,r){for(var o=t.data,a=o.handles.slabThicknessPoints,i=0;i<a.length;i++){var l=a[i][0],c=a[i][1];if(this._getReferenceLineControllable(c.uid)&&this._getReferenceLineSlabThicknessControlsOn(c.uid)){var s=e.worldToCanvas(l);if(St.vec2.distance(n,s)<r)return o.handles.activeOperation=3,o.activeViewportUIDs=[c.uid],this.editData={annotation:t},l}}return null}},{key:"_pointNearTool",value:function(e,t,n,r){for(var o=this,a=(0,A.getEnabledElement)(e).viewport,i=a.sWidth,l=a.sHeight,c=Math.sqrt(i*i+l*l),s=t.data,u=s.handles.rotationPoints,d=s.handles.slabThicknessPoints,v=[],f=0;f<u.length-1;++f){var g=u[f][1],h=this._getReferenceLineControllable(g.uid),m=this._getReferenceLineDraggableRotatable(g.uid);if(h&&m){var p={start:{x:u[f][2][0],y:u[f][2][1]},end:{x:u[f][3][0],y:u[f][3][1]}},y=bi.distanceToPoint([p.start.x,p.start.y],[p.end.x,p.end.y],[n[0],n[1]]),w={start:{x:u[f+1][2][0],y:u[f+1][2][1]},end:{x:u[f+1][3][0],y:u[f+1][3][1]}},E=bi.distanceToPoint([w.start.x,w.start.y],[w.end.x,w.end.y],[n[0],n[1]]);(y<=r||E<=r)&&(v.push(g.uid),s.handles.activeOperation=1),f++}}for(var D=function(e){var t=d[e][1];if(v.find((function(e){return e===t.uid})))return b=e,"continue";var a=o._getReferenceLineControllable(t.uid),i=o._getReferenceLineSlabThicknessControlsOn(t.uid);if(!a||!i)return b=e,"continue";var l=d[e][2],u=d[e][3],f=St.vec2.create();St.vec2.add(f,l,u),St.vec2.scale(f,f,.5);var g=St.vec2.create();St.vec2.subtract(g,l,f),St.vec2.normalize(g,g);var h=St.vec2.create();St.vec2.scale(h,g,.05*c);var m=St.vec2.create(),p=St.vec2.create();St.vec2.add(m,f,h),St.vec2.subtract(p,f,h);var y={start:{x:m[0],y:m[1]},end:{x:l[0],y:l[1]}},w=bi.distanceToPoint([y.start.x,y.start.y],[y.end.x,y.end.y],[n[0],n[1]]),E={start:{x:p[0],y:p[1]},end:{x:u[0],y:u[1]}},D=bi.distanceToPoint([E.start.x,E.start.y],[E.end.x,E.end.y],[n[0],n[1]]);(w<=r||D<=r)&&(v.push(t.uid),s.handles.activeOperation=null),e++,b=e},b=0;b<d.length-1;++b)D(b);return s.activeViewportUIDs=[].concat(v),this.editData={annotation:t},1===s.handles.activeOperation}}]),o}(kn);H(Hl,"toolName","Crosshairs");var zl=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return W(this,o),H(dt(e=r.call(this,t,n)),"touchDragCallback",void 0),H(dt(e),"mouseDragCallback",void 0),H(dt(e),"_throttledCalculateCachedStats",void 0),H(dt(e),"editData",void 0),H(dt(e),"isDrawing",void 0),H(dt(e),"isHandleOutsideImage",void 0),H(dt(e),"preventHandleOutsideImage",void 0),H(dt(e),"isPointNearTool",(function(e,t,n,r){var o=(0,A.getEnabledElement)(e).viewport,a=t.data.handles.points,i=o.worldToCanvas(a[0]),l=o.worldToCanvas(a[1]),c={start:{x:i[0],y:i[1]},end:{x:l[0],y:l[1]}},s=bi.distanceToPoint([c.start.x,c.start.y],[c.end.x,c.end.y],[n[0],n[1]]);return s<=r||(i=o.worldToCanvas(a[2]),l=o.worldToCanvas(a[3]),c={start:{x:i[0],y:i[1]},end:{x:l[0],y:l[1]}},(s=bi.distanceToPoint([c.start.x,c.start.y],[c.end.x,c.end.y],[n[0],n[1]]))<=r)})),H(dt(e),"toolSelectedCallback",(function(t,n,r){var a=t.detail.element;n.highlighted=!0;var i=Hi(a,o.toolName);e.editData={annotation:n,viewportUIDsToRender:i,movingTextBox:!1},e._activateModify(a);var l=(0,A.getEnabledElement)(a).renderingEngine;Qr(l,i),Pa(a),t.preventDefault()})),H(dt(e),"handleSelectedCallback",(function(t,n,r){var a=t.detail.element,i=n.data;n.highlighted=!0;var l,c=!1;r.worldPosition?c=!0:l=i.handles.points.findIndex((function(e){return e===r}));var s=Hi(a,o.toolName);Pa(a),e.editData={annotation:n,viewportUIDsToRender:s,handleIndex:l,movingTextBox:c},e._activateModify(a);var u=(0,A.getEnabledElement)(a).renderingEngine;Qr(u,s),t.preventDefault()})),H(dt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportUIDsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){o.highlighted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),La(n);var s=(0,A.getEnabledElement)(n).renderingEngine;if(void 0!==e.editData.handleIndex){var u=c.handles.points,d=St.vec3.distance(u[0],u[1]);if(St.vec3.distance(u[2],u[3])>d){var v=[Oe(u[2]),Oe(u[3])],f=Oe(u[0]),g=Oe(u[1]),h=St.vec2.create();St.vec2.set(h,v[1][0]-v[0][0],v[1][1]-v[1][0]);var m=St.vec2.create();St.vec2.set(m,-h[1],h[0]);var p,y=St.vec2.create();St.vec2.set(y,g[0]-f[0],g[1]-f[0]),p=St.vec2.dot(y,m)>0?[f,g]:[g,f],c.handles.points=[v[0],v[1],p[0],p[1]]}}e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&fe(n,o.annotationUID),Qr(s,a),e.editData=null,e.isDrawing=!1}})),H(dt(e),"_mouseDragDrawCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.currentPoints,o=n.element,a=(0,A.getEnabledElement)(o),i=a.renderingEngine,l=a.viewport,c=l.worldToCanvas,s=e.editData,u=s.annotation,d=s.viewportUIDsToRender,v=s.handleIndex,f=u.data,g=r.world;f.handles.points[v]=Oe(g);var h=f.handles.points.map(c),m={x:h[0][0],y:h[0][1]},p={x:h[1][0],y:h[1][1]},y=(h[2][0],h[2][1],h[3][0],h[3][1],St.vec2.distance(h[0],h[1])/3),w=m.x-p.x,E=m.y-p.y,D=Math.sqrt(w*w+E*E),b=w/D,I=E/D,_=(m.x+p.x)/2,S=(m.y+p.y)/2,C=_+y*I,x=S-y*b,U=_-y*I,O=S+y*b;f.handles.points[2]=l.canvasToWorld([C,x]),f.handles.points[3]=l.canvasToWorld([U,O]),u.invalidated=!0,Qr(i,d),e.editData.hasMoved=!0})),H(dt(e),"_mouseDragModifyCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=(0,A.getEnabledElement)(r).renderingEngine,a=e.editData,i=a.annotation,l=a.viewportUIDsToRender,c=a.handleIndex,s=a.movingTextBox,u=i.data;if(s){var d=n.deltaPoints.world,v=u.handles.textBox,f=v.worldPosition;f[0]+=d[0],f[1]+=d[1],f[2]+=d[2],v.hasMoved=!0}else if(void 0===c){var g=n.deltaPoints.world;u.handles.points.forEach((function(e){e[0]+=g[0],e[1]+=g[1],e[2]+=g[2]})),i.invalidated=!0}else e._mouseDragModifyHandle(t),i.invalidated=!0;Qr(o,l)})),H(dt(e),"_mouseDragModifyHandle",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=(0,A.getEnabledElement)(o).viewport,i=e.editData,l=i.annotation,c=i.handleIndex,s=l.data,u=r.world,d=[a.worldToCanvas(s.handles.points[0]),a.worldToCanvas(s.handles.points[1]),a.worldToCanvas(s.handles.points[2]),a.worldToCanvas(s.handles.points[3])],v={start:{x:d[0][0],y:d[0][1]},end:{x:d[1][0],y:d[1][1]}},f={start:{x:d[2][0],y:d[2][1]},end:{x:d[3][0],y:d[3][1]}},g=Oe(u),h=a.worldToCanvas(g);if(0===c||1===c){var m=d[0===c?1:0],p={start:{x:m[0],y:m[1]},end:{x:h[0],y:h[1]}};if(e._movingLongAxisWouldPutItThroughShortAxis(p,f))return;var y=bi.intersectLine([f.start.x,f.start.y],[f.end.x,f.end.y],[v.start.x,v.start.y],[v.end.x,v.end.y]),w=St.vec2.create();St.vec2.set(w,y[0],y[1]);var E=St.vec2.distance(d[2],w),D=St.vec2.distance(d[3],w),b=Math.abs(St.vec2.distance(m,w)),I=m[0]-h[0],_=m[1]-h[1],S=Math.sqrt(I*I+_*_),C=I/S,x=_/S,U=m[0]-b*C,O=m[1]-b*x,T=0===c?-1:1,M=U+E*x*T,k=O-E*C*T,N=U-D*x*T,R=O+D*C*T;s.handles.points[c]=g,s.handles.points[2]=a.canvasToWorld([M,k]),s.handles.points[3]=a.canvasToWorld([N,R])}else{var L=2===c?3:2,P={x:h[0],y:h[1]},V={longLineSegment:{start:v.start,end:v.end},shortLineSegment:{start:f.start,end:f.end}},j=V.longLineSegment.start.x-V.longLineSegment.end.x,B=V.longLineSegment.start.y-V.longLineSegment.end.y,F=Math.sqrt(j*j+B*B),W=j/F,G=B/F,q=(0===c||3===c?1:-1)*Number.MAX_SAFE_INTEGER,H={start:P,end:{x:P.x+G*q,y:P.y+W*q*-1}},z=bi.intersectLine([V.longLineSegment.start.x,V.longLineSegment.start.y],[V.longLineSegment.end.x,V.longLineSegment.end.y],[H.start.x,H.start.y],[H.end.x,H.end.y]);if(void 0===z)return;var K=St.vec2.distance(d[L],[z[0],z[1]]),Y={start:{x:z[0]+G*K,y:z[1]+W*K*-1},end:{x:z[0]+G*K*-1,y:z[1]+W*K}},Z=2===L?Y.start:Y.end;s.handles.points[L]=a.canvasToWorld([Z.x,Z.y]),s.handles.points[c]=g}})),H(dt(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),La(t);var n=e.editData,r=n.annotation,o=n.viewportUIDsToRender,a=r.data;r.highlighted=!1,a.handles.activeHandleIndex=null;var i=(0,A.getEnabledElement)(t).renderingEngine;return Qr(i,o),e.editData=null,r.annotationUID}})),H(dt(e),"_activateDraw",(function(t){ke.isInteractingWithTool=!0,t.addEventListener(B.MOUSE_UP,e._mouseUpCallback),t.addEventListener(B.MOUSE_DRAG,e._mouseDragDrawCallback),t.addEventListener(B.MOUSE_MOVE,e._mouseDragDrawCallback),t.addEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_deactivateDraw",(function(t){ke.isInteractingWithTool=!1,t.removeEventListener(B.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(B.MOUSE_DRAG,e._mouseDragDrawCallback),t.removeEventListener(B.MOUSE_MOVE,e._mouseDragDrawCallback),t.removeEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_activateModify",(function(t){ke.isInteractingWithTool=!0,t.addEventListener(B.MOUSE_UP,e._mouseUpCallback),t.addEventListener(B.MOUSE_DRAG,e._mouseDragModifyCallback),t.addEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_deactivateModify",(function(t){ke.isInteractingWithTool=!1,t.removeEventListener(B.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(B.MOUSE_DRAG,e._mouseDragModifyCallback),t.removeEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"renderAnnotation",(function(t,n){var r,a,i=t.viewport,l=i.element,c=de(i.element,o.toolName);if(null!==(r=c)&&void 0!==r&&r.length&&null!==(a=c=e.filterInteractableAnnotationsForElement(l,c))&&void 0!==a&&a.length)for(var s=e.getTargetUID(i),u=i.getRenderingEngine(),d=0;d<c.length;d++){var v=c[d],f=A.Settings.getObjectSettings(v,o),g=v.annotationUID,h=v.data,m=h.handles,p=m.points,y=m.activeHandleIndex,w=p.map((function(e){return i.worldToCanvas(e)})),E=e.getStyle(f,"lineWidth",v),D=e.getStyle(f,"lineDash",v),b=e.getStyle(f,"color",v);if(h.cachedStats[s]?v.invalidated&&e._throttledCalculateCachedStats(v,u,t):(h.cachedStats[s]={length:null,width:null},e._calculateCachedStats(v,u,t)),!i.getRenderingEngine())return void console.warn("Rendering Engine has been destroyed");var I=void 0;J(v)||e.editData||null===y||(I=[w[y]]),I&&Lt(n,o.toolName,g,"0",I,{color:b}),Pt(n,o.toolName,g,"0",w[0],w[1],{color:b,lineDash:D,lineWidth:E}),Pt(n,o.toolName,g,"1",w[2],w[3],{color:b,lineDash:D,lineWidth:E});var _=e._getTextLines(h,s);if(_&&0!==_.length){var S=void 0;h.handles.textBox.hasMoved||(S=di(w),h.handles.textBox.worldPosition=i.canvasToWorld(S));var C=i.worldToCanvas(h.handles.textBox.worldPosition),x=Ht(n,o.toolName,g,"1",_,C,w,{},e.getLinkedTextBoxStyle(f,v)),U=x.x,O=x.y,T=x.width,M=x.height;h.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([U,O]),topRight:i.canvasToWorld([U+T,O]),bottomLeft:i.canvasToWorld([U,O+M]),bottomRight:i.canvasToWorld([U+T,O+M])}}}})),H(dt(e),"_movingLongAxisWouldPutItThroughShortAxis",(function(e,t){var n=St.vec2.create();St.vec2.set(n,t.end.x-t.start.x,t.end.y-t.start.y),St.vec2.normalize(n,n);var r={start:{x:t.start.x-10*n[0],y:t.start.y-10*n[1]},end:{x:t.end.x+10*n[0],y:t.end.y+10*n[1]}};return!bi.intersectLine([r.start.x,r.start.y],[r.end.x,r.end.y],[e.start.x,e.start.y],[e.end.x,e.end.y])})),H(dt(e),"_getTextLines",(function(e,t){var n=e.cachedStats[t],r=n.length,o=n.width;if(void 0!==r)return["L: ".concat(r.toFixed(2)," mm"),"W: ".concat(o.toFixed(2)," mm")]})),H(dt(e),"_calculateCachedStats",(function(t,n,r){for(var o=t.data,a=r.viewportUID,i=r.renderingEngineUID,l=o.handles.points[0],c=o.handles.points[1],s=o.handles.points[2],u=o.handles.points[3],d=o.cachedStats,v=Object.keys(d),f=0;f<v.length;f++){var g=v[f],h=e.getTargetUIDViewportAndImage(g,n).image,m=h.imageData,p=h.dimensions,y=e._calculateLength(l,c),w=e._calculateLength(s,u),E=y>w?y:w,D=y>w?w:y,b=ci(m,l),I=ci(m,c),_=ci(m,s),S=ci(m,u);e._isInsideVolume(b,I,_,S,p)?e.isHandleOutsideImage=!1:e.isHandleOutsideImage=!0,d[g]={length:E,width:D}}t.invalidated=!1;var C=B.ANNOTATION_MODIFIED,x={annotation:t,viewportUID:a,renderingEngineUID:i};return(0,A.triggerEvent)(A.eventTarget,C,x),d})),H(dt(e),"_isInsideVolume",(function(e,t,n,r,o){return A.utilities.indexWithinDimensions(e,o)&&A.utilities.indexWithinDimensions(t,o)&&A.utilities.indexWithinDimensions(n,o)&&A.utilities.indexWithinDimensions(r,o)})),e._throttledCalculateCachedStats=ai(e._calculateCachedStats,100,{trailing:!0}),e}return q(o,[{key:"addNewAnnotation",value:function(e){var t=e.detail,n=t.currentPoints,r=t.element,a=n.world,i=(0,A.getEnabledElement)(r),l=i.viewport,c=i.renderingEngine;this.isDrawing=!0;var s,u=l.getCamera(),d=u.viewPlaneNormal,v=u.viewUp;if(l instanceof A.StackViewport)s=l.getCurrentImageId&&l.getCurrentImageId();else{var f=this.getTargetUID(l),g=A.cache.getVolume(f);s=A.utilities.getClosestImageId(g,a,d,v)}if(s){var h=s.indexOf(":");s=s.substring(h+1)}var m={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Oe(d),viewUp:Oe(v),FrameOfReferenceUID:l.getFrameOfReferenceUID(),toolName:o.toolName,referencedImageId:s},data:{handles:{points:[Oe(a),Oe(a),Oe(a),Oe(a)],textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},activeHandleIndex:null},label:"",cachedStats:{}}};A.Settings.getObjectSettings(m,o),ve(r,m);var p=Hi(r,o.toolName);return this.editData={annotation:m,viewportUIDsToRender:p,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},this._activateDraw(r),Pa(r),e.preventDefault(),Qr(c,p),m}},{key:"_calculateLength",value:function(e,t){var n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return Math.sqrt(n*n+r*r+o*o)}}]),o}(kn);H(zl,"toolName","Bidirectional");var Kl=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return W(this,o),H(dt(e=r.call(this,t,n)),"touchDragCallback",void 0),H(dt(e),"mouseDragCallback",void 0),H(dt(e),"_throttledCalculateCachedStats",void 0),H(dt(e),"editData",void 0),H(dt(e),"isDrawing",void 0),H(dt(e),"isHandleOutsideImage",void 0),H(dt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=(0,A.getEnabledElement)(a),c=l.viewport,s=l.renderingEngine;Pa(a),e.isDrawing=!0;var u,d=c.getCamera(),v=d.viewPlaneNormal,f=d.viewUp;if(c instanceof A.StackViewport)u=c.getCurrentImageId&&c.getCurrentImageId();else{var g=e.getTargetUID(c),h=A.cache.getVolume(g);u=A.utilities.getClosestImageId(h,i,v,f)}if(u){var m=u.indexOf(":");u=u.substring(m+1)}var p={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Oe(v),viewUp:Oe(f),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:u,toolName:o.toolName},data:{handles:{points:[Oe(i),Oe(i)],activeHandleIndex:null,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}},label:"",cachedStats:{}}};A.Settings.getObjectSettings(p,o),ve(a,p);var y=Hi(a,o.toolName);return e.editData={annotation:p,viewportUIDsToRender:y,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),t.preventDefault(),Qr(s,y),p})),H(dt(e),"isPointNearTool",(function(e,t,n,r){var o=(0,A.getEnabledElement)(e).viewport,a=Ce(t.data.handles.points,2),i=a[0],l=a[1],c=o.worldToCanvas(i),s=o.worldToCanvas(l),u={start:{x:c[0],y:c[1]},end:{x:s[0],y:s[1]}};return bi.distanceToPoint([u.start.x,u.start.y],[u.end.x,u.end.y],[n[0],n[1]])<=r})),H(dt(e),"toolSelectedCallback",(function(t,n,r){var a=t.detail.element;n.highlighted=!0;var i=Hi(a,o.toolName);e.editData={annotation:n,viewportUIDsToRender:i,movingTextBox:!1},e._activateModify(a),Pa(a);var l=(0,A.getEnabledElement)(a).renderingEngine;Qr(l,i),t.preventDefault()})),H(dt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportUIDsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){o.highlighted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),La(n);var s=(0,A.getEnabledElement)(n).renderingEngine;e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&fe(n,o.annotationUID),Qr(s,a),e.editData=null,e.isDrawing=!1}})),H(dt(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportUIDsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var u=n.deltaPoints.world,d=s.handles.textBox,v=d.worldPosition;v[0]+=u[0],v[1]+=u[1],v[2]+=u[2],d.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else{var g=n.currentPoints.world;s.handles.points[l]=Oe(g),a.invalidated=!0}e.editData.hasMoved=!0;var h=(0,A.getEnabledElement)(r).renderingEngine;Qr(h,i)})),H(dt(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),La(t);var n=e.editData,r=n.annotation,o=n.viewportUIDsToRender,a=r.data;r.highlighted=!1,a.handles.activeHandleIndex=null;var i=(0,A.getEnabledElement)(t).renderingEngine;return Qr(i,o),e.editData=null,r.annotationUID}})),H(dt(e),"_activateModify",(function(t){ke.isInteractingWithTool=!0,t.addEventListener(B.MOUSE_UP,e._mouseUpCallback),t.addEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_deactivateModify",(function(t){ke.isInteractingWithTool=!1,t.removeEventListener(B.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_activateDraw",(function(t){ke.isInteractingWithTool=!0,t.addEventListener(B.MOUSE_UP,e._mouseUpCallback),t.addEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(B.MOUSE_MOVE,e._mouseDragCallback),t.addEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_deactivateDraw",(function(t){ke.isInteractingWithTool=!1,t.removeEventListener(B.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(B.MOUSE_MOVE,e._mouseDragCallback),t.removeEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"renderAnnotation",(function(t,n){var r,a,i=t.viewport,l=i.element,c=de(l,o.toolName);if(null!==(r=c)&&void 0!==r&&r.length&&null!==(a=c=e.filterInteractableAnnotationsForElement(l,c))&&void 0!==a&&a.length)for(var s=e.getTargetUID(i),u=i.getRenderingEngine(),d=0;d<c.length;d++){var v=c[d],f=A.Settings.getObjectSettings(v,o),g=v.annotationUID,h=v.data,m=h.handles,p=m.points,y=m.activeHandleIndex,w=e.getStyle(f,"lineWidth",v),E=e.getStyle(f,"lineDash",v),D=e.getStyle(f,"color",v),b=p.map((function(e){return i.worldToCanvas(e)})),I=void 0;if(J(v)||e.editData||null===y||(I=[b[y]]),I&&Lt(n,o.toolName,g,"0",b,{color:D,lineDash:E,lineWidth:w}),Pt(n,o.toolName,g,"1",b[0],b[1],{color:D,width:w}),h.cachedStats[s]?v.invalidated&&e._throttledCalculateCachedStats(v,u,t):(h.cachedStats[s]={length:null},e._calculateCachedStats(v,u,t)),!i.getRenderingEngine())return void console.warn("Rendering Engine has been destroyed");var _=e._getTextLines(h,s);if(!h.handles.textBox.hasMoved){var S=di(b);h.handles.textBox.worldPosition=i.canvasToWorld(S)}var C=i.worldToCanvas(h.handles.textBox.worldPosition),x=Ht(n,o.toolName,g,"1",_,C,b,{},e.getLinkedTextBoxStyle(f,v)),U=x.x,O=x.y,T=x.width,M=x.height;h.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([U,O]),topRight:i.canvasToWorld([U+T,O]),bottomLeft:i.canvasToWorld([U,O+M]),bottomRight:i.canvasToWorld([U+T,O+M])}}})),e._throttledCalculateCachedStats=ai(e._calculateCachedStats,100,{trailing:!0}),e}return q(o,[{key:"handleSelectedCallback",value:function(e,t,n){var r=e.detail.element,a=t.data;t.highlighted=!0;var i,l=!1;n.worldPosition?l=!0:i=a.handles.points.findIndex((function(e){return e===n}));var c=Hi(r,o.toolName);this.editData={annotation:t,viewportUIDsToRender:c,handleIndex:i,movingTextBox:l},this._activateModify(r),Pa(r);var s=(0,A.getEnabledElement)(r).renderingEngine;Qr(s,c),e.preventDefault()}},{key:"_getTextLines",value:function(e,t){var n=e.cachedStats[t].length;if(void 0!==n)return["".concat(n.toFixed(2)," mm")]}},{key:"_calculateLength",value:function(e,t){var n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return Math.sqrt(n*n+r*r+o*o)}},{key:"_calculateCachedStats",value:function(e,t,n){for(var r=e.data,o=n.viewportUID,a=n.renderingEngineUID,i=r.handles.points[0],l=r.handles.points[1],c=r.cachedStats,s=Object.keys(c),u=0;u<s.length;u++){var d=s[u],v=this.getTargetUIDViewportAndImage(d,t).image,f=v.imageData,g=v.dimensions,h=this._calculateLength(i,l),m=ci(f,i),p=ci(f,l);this._isInsideVolume(m,p,g)?this.isHandleOutsideImage=!1:this.isHandleOutsideImage=!0,c[d]={length:h}}e.invalidated=!1;var y=B.ANNOTATION_MODIFIED,w={annotation:e,viewportUID:o,renderingEngineUID:a};return(0,A.triggerEvent)(A.eventTarget,y,w),c}},{key:"_isInsideVolume",value:function(e,t,n){return A.utilities.indexWithinDimensions(e,n)&&A.utilities.indexWithinDimensions(t,n)}}]),o}(kn);H(Kl,"toolName","Length");var Yl=Kl;function Zl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zl(Object(n),!0).forEach((function(t){H(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Xl=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return W(this,o),H(dt(e=r.call(this,t,n)),"touchDragCallback",void 0),H(dt(e),"mouseDragCallback",void 0),H(dt(e),"editData",void 0),H(dt(e),"eventDispatchDetail",void 0),H(dt(e),"isDrawing",void 0),H(dt(e),"isHandleOutsideImage",void 0),H(dt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=(0,A.getEnabledElement)(a),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var u,d=c.getCamera(),v=d.viewPlaneNormal,f=d.viewUp;if(c instanceof A.StackViewport)u=c.getCurrentImageId&&c.getCurrentImageId();else{var g=e.getTargetUID(c),h=A.cache.getVolume(g);u=A.utilities.getClosestImageId(h,i,v,f)}if(u){var m=u.indexOf(":");u=u.substring(m+1)}var p={invalidated:!0,highlighted:!0,metadata:{viewPlaneNormal:Oe(v),viewUp:Oe(f),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:u,toolName:o.toolName},data:{label:"",handles:{points:[Oe(i)]},cachedStats:{}}};A.Settings.getObjectSettings(p,o),ve(a,p);var y=Hi(a,o.toolName);return e.editData={annotation:p,viewportUIDsToRender:y},e._activateModify(a),Pa(a),t.preventDefault(),Qr(s,y),p})),H(dt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportUIDsToRender;o.highlighted=!1;var i=(0,A.getEnabledElement)(n),l=i.renderingEngine,c=i.viewportUID;e.eventDispatchDetail={viewportUID:c,renderingEngineUID:l.uid},e._deactivateModify(n),La(n),e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&fe(n,o.annotationUID),Qr(l,a)})),H(dt(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=e.editData,l=i.annotation,c=i.viewportUIDsToRender;l.data.handles.points[0]=Oe(a),l.invalidated=!0;var s=(0,A.getEnabledElement)(o).renderingEngine;Qr(s,c)})),H(dt(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateModify(t),La(t);var n=e.editData,r=n.annotation,o=n.viewportUIDsToRender,a=r.data;r.highlighted=!1,a.handles.activeHandleIndex=null;var i=(0,A.getEnabledElement)(t).renderingEngine;return Qr(i,o),e.editData=null,r.annotationUID}})),H(dt(e),"_activateModify",(function(t){ke.isInteractingWithTool=!0,t.addEventListener(B.MOUSE_UP,e._mouseUpCallback),t.addEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_deactivateModify",(function(t){ke.isInteractingWithTool=!1,t.removeEventListener(B.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"renderAnnotation",(function(t,n){var r,a,i=t.viewport,l=i.element,c=de(l,o.toolName);if(null!==(r=c)&&void 0!==r&&r.length&&null!==(a=c=e.filterInteractableAnnotationsForElement(l,c))&&void 0!==a&&a.length)for(var s=e.getTargetUID(i),u=i.getRenderingEngine(),d=function(r){var a=c[r],l=A.Settings.getObjectSettings(a,o),d=a.annotationUID,v=a.data,f=v.handles.points[0],g=i.worldToCanvas(f),h=e.getStyle(l,"color",a);if(v.cachedStats[s]){if(a.invalidated&&(e._calculateCachedStats(a,u,t),i instanceof A.VolumeViewport)){var m=a.metadata.referencedImageId;u.getViewports().forEach((function(t){var n=e.getTargetUID(t);t instanceof A.StackViewport&&!t.getCurrentImageId().includes(m)&&v.cachedStats[n]&&delete v.cachedStats[n]}))}}else v.cachedStats[s]={Modality:null,index:null,value:null},e._calculateCachedStats(a,u,t);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:void 0};Lt(n,o.toolName,d,"0",[g],{color:h});var p=e._getTextLines(v,s);if(p){var y=[g[0]+6,g[1]-6];Ft(n,o.toolName,d,"0",p,[y[0],y[1]],e.getLinkedTextBoxStyle(l,a))}},v=0;v<c.length;v++){var f=d(v);if("object"===gt(f))return f.v}})),e}return q(o,[{key:"isPointNearTool",value:function(){return!1}},{key:"toolSelectedCallback",value:function(){}},{key:"getHandleNearImagePoint",value:function(e,t,n,r){var o=(0,A.getEnabledElement)(e).viewport,a=t.data.handles.points[0],i=o.worldToCanvas(a);if(!0==St.vec2.distance(n,i)<r)return a}},{key:"handleSelectedCallback",value:function(e,t,n){var r=e.detail.element;t.highlighted=!0;var a=Hi(r,o.toolName);this.editData={annotation:t,viewportUIDsToRender:a},this._activateModify(r),Pa(r);var i=(0,A.getEnabledElement)(r).renderingEngine;Qr(i,a),e.preventDefault()}},{key:"_getTextLines",value:function(e,t){var n=e.cachedStats[t],r=n.index,o=n.Modality,a=n.value,i=n.SUVBw,l=n.SUVLbm,c=n.SUVBsa;if(void 0!==a||void 0!==i){var s=[];return s.push("(".concat(r[0],", ").concat(r[1],", ").concat(r[2],")")),"PT"===o?a?s.push("".concat(a.toFixed(2)," SUV")):(s.push("".concat(i.toFixed(2)," SUV bw")),l&&s.push("".concat(l.toFixed(2)," SUV lbm")),c&&s.push("".concat(c.toFixed(2)," SUV bsa"))):"CT"===o?s.push("".concat(a.toFixed(2)," HU")):s.push("".concat(a.toFixed(2)," MO")),s}}},{key:"_getValueForModality",value:function(e,t,n){var r={};if("PT"===n)if(t.scaling.PET&&(t.scaling.PET.suvbwToSuvbsa||t.scaling.PET.suvbwToSuvlbm)){var o=t.scaling.PET,a=o.suvbwToSuvlbm,i=o.suvbwToSuvbsa;if(r.SUVBw=e,a){var l=e*a;r.SUVLbm=l}if(a){var c=e*i;r.SUVBsa=c}}else r.value=e;else r.value=e;return r}},{key:"_calculateCachedStats",value:function(e,t,n){for(var r=e.data,o=n.viewportUID,a=n.renderingEngineUID,i=r.handles.points[0],l=r.cachedStats,c=Object.keys(l),s=0;s<c.length;s++){var u=c[s],d=this.getTargetUIDViewportAndImage(u,t),v=d.image,f=d.viewport,g=v.dimensions,h=v.scalarData,m=v.imageData,p=v.metadata.Modality,y=ci(m,i);if(y[0]=Math.round(y[0]),y[1]=Math.round(y[1]),y[2]=Math.round(y[2]),A.utilities.indexWithinDimensions(y,g)){this.isHandleOutsideImage=!1;var w=g[0],E=g[0]*g[1],D=h[y[2]*E+y[1]*w+y[0]];f instanceof A.StackViewport&&(y[2]=f.getCurrentImageIdIndex());var b=this._getValueForModality(D,v,p);l[u]=$l($l({index:y},b),{},{Modality:p})}else this.isHandleOutsideImage=!0,l[u]={index:y,Modality:p};e.invalidated=!1;var I=B.ANNOTATION_MODIFIED,_={annotation:e,viewportUID:o,renderingEngineUID:a};(0,A.triggerEvent)(A.eventTarget,I,_)}return l}}]),o}(kn);H(Xl,"toolName","Probe");var Jl=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return W(this,o),H(dt(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),H(dt(e),"editData",void 0),H(dt(e),"isDrawing",void 0),H(dt(e),"isHandleOutsideImage",void 0),H(dt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=(0,A.getEnabledElement)(a),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var u,d=c.getCamera(),v=d.viewPlaneNormal,f=d.viewUp;if(c instanceof A.StackViewport)u=c.getCurrentImageId&&c.getCurrentImageId();else{var g=e.getTargetUID(c),h=A.cache.getVolume(g);u=A.utilities.getClosestImageId(h,i,v,f)}if(u){var m=u.indexOf(":");u=u.substring(m+1)}var p={invalidated:!0,highlighted:!0,metadata:{viewPlaneNormal:Oe(v),viewUp:Oe(f),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:u,toolName:o.toolName},data:{label:"",handles:{points:[Oe(i),Oe(i),Oe(i),Oe(i)],textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},activeHandleIndex:null},cachedStats:{}}};A.Settings.getObjectSettings(p,o),ve(a,p);var y=Hi(a,o.toolName);return e.editData={annotation:p,viewportUIDsToRender:y,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),Pa(a),t.preventDefault(),Qr(s,y),p})),H(dt(e),"isPointNearTool",(function(t,n,r,o){var a=(0,A.getEnabledElement)(t).viewport,i=n.data.handles.points,l=a.worldToCanvas(i[0]),c=a.worldToCanvas(i[3]),s=e._getRectangleImageCoordinates([l,c]),u=[r[0],r[1]],d=s.left,v=s.top,f=s.width,g=s.height;return Ii.distanceToPoint([d,v,f,g],u)<=o})),H(dt(e),"toolSelectedCallback",(function(t,n,r){var a=t.detail.element;n.highlighted=!0;var i=Hi(a,o.toolName);e.editData={annotation:n,viewportUIDsToRender:i,movingTextBox:!1},e._activateModify(a),Pa(a);var l=(0,A.getEnabledElement)(a).renderingEngine;Qr(l,i),t.preventDefault()})),H(dt(e),"handleSelectedCallback",(function(t,n,r){var a=t.detail.element,i=n.data;n.highlighted=!0;var l,c=!1;r.worldPosition?c=!0:l=i.handles.points.findIndex((function(e){return e===r}));var s=Hi(a,o.toolName);e.editData={annotation:n,viewportUIDsToRender:s,handleIndex:l,movingTextBox:c},e._activateModify(a),Pa(a);var u=(0,A.getEnabledElement)(a).renderingEngine;Qr(u,s),t.preventDefault()})),H(dt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportUIDsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){o.highlighted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),La(n);var s=(0,A.getEnabledElement)(n).renderingEngine;e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&fe(n,o.annotationUID),Qr(s,a)}})),H(dt(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportUIDsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var u=n.deltaPoints.world,d=s.handles.textBox,v=d.worldPosition;v[0]+=u[0],v[1]+=u[1],v[2]+=u[2],d.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else{var g,h,m,p,y,w,E,D,b=n.currentPoints,I=(0,A.getEnabledElement)(r).viewport,_=I.worldToCanvas,S=I.canvasToWorld,C=b.world,x=s.handles.points;switch(x[l]=Oe(C),l){case 0:case 3:g=_(x[0]),h=[(p=_(x[3]))[0],g[1]],m=[g[0],p[1]],w=S(h),E=S(m),x[1]=w,x[2]=E;break;case 1:case 2:h=_(x[1]),g=[(m=_(x[2]))[0],h[1]],p=[h[0],m[1]],y=S(g),D=S(p),x[0]=y,x[3]=D}a.invalidated=!0}e.editData.hasMoved=!0;var U=(0,A.getEnabledElement)(r).renderingEngine;Qr(U,i)})),H(dt(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),La(t);var n=e.editData,r=n.annotation,o=n.viewportUIDsToRender,a=r.data;r.highlighted=!1,a.handles.activeHandleIndex=null;var i=(0,A.getEnabledElement)(t).renderingEngine;return Qr(i,o),e.editData=null,r.annotationUID}})),H(dt(e),"_activateDraw",(function(t){ke.isInteractingWithTool=!0,t.addEventListener(B.MOUSE_UP,e._mouseUpCallback),t.addEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(B.MOUSE_MOVE,e._mouseDragCallback),t.addEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_deactivateDraw",(function(t){ke.isInteractingWithTool=!1,t.removeEventListener(B.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(B.MOUSE_MOVE,e._mouseDragCallback),t.removeEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_activateModify",(function(t){ke.isInteractingWithTool=!0,t.addEventListener(B.MOUSE_UP,e._mouseUpCallback),t.addEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_deactivateModify",(function(t){ke.isInteractingWithTool=!1,t.removeEventListener(B.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"renderAnnotation",(function(t,n){var r,a,i=t.viewport,l=i.element,c=de(l,o.toolName);if(null!==(r=c)&&void 0!==r&&r.length&&null!==(a=c=e.filterInteractableAnnotationsForElement(l,c))&&void 0!==a&&a.length)for(var s=e.getTargetUID(i),u=i.getRenderingEngine(),d=function(r){var a=c[r],l=A.Settings.getObjectSettings(a,o),d=a.annotationUID,v=a.data,f=v.handles,g=f.points,h=f.activeHandleIndex,m=g.map((function(e){return i.worldToCanvas(e)})),p=e.getStyle(l,"lineWidth",a),y=e.getStyle(l,"lineDash",a),w=e.getStyle(l,"color",a),E=i.getCamera(),D=E.viewPlaneNormal,b=E.viewUp;if(v.cachedStats[s]){if(a.invalidated&&(e._throttledCalculateCachedStats(a,D,b,u,t),i instanceof A.VolumeViewport)){var I=a.metadata.referencedImageId;u.getViewports().forEach((function(t){var n=e.getTargetUID(t);t instanceof A.StackViewport&&!t.getCurrentImageId().includes(I)&&v.cachedStats[n]&&delete v.cachedStats[n]}))}}else v.cachedStats[s]={Modality:null,area:null,max:null,mean:null,stdDev:null},e._calculateCachedStats(a,D,b,u,t);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:void 0};var _=void 0;J(a)||e.editData||null===h||(_=[m[h]]),_&&Lt(n,o.toolName,d,"0",_,{color:w}),zt(n,o.toolName,d,"0",m[0],m[3],{color:w,lineDash:y,lineWidth:p});var S=e._getTextLines(v,s);if(!S||0===S.length)return"continue";if(!v.handles.textBox.hasMoved){var C=di(m);v.handles.textBox.worldPosition=i.canvasToWorld(C)}var x=i.worldToCanvas(v.handles.textBox.worldPosition),U=Ht(n,o.toolName,d,"1",S,x,m,{},e.getLinkedTextBoxStyle(l,a)),O=U.x,T=U.y,M=U.width,k=U.height;v.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([O,T]),topRight:i.canvasToWorld([O+M,T]),bottomLeft:i.canvasToWorld([O,T+k]),bottomRight:i.canvasToWorld([O+M,T+k])}},v=0;v<c.length;v++){var f=d(v);if("continue"!==f&&"object"===gt(f))return f.v}})),H(dt(e),"_getRectangleImageCoordinates",(function(e){var t=Ce(e,2),n=t[0],r=t[1];return{left:Math.min(n[0],r[0]),top:Math.min(n[1],r[1]),width:Math.abs(n[0]-r[0]),height:Math.abs(n[1]-r[1])}})),H(dt(e),"_getTextLines",(function(e,t){var n=e.cachedStats[t],r=n.area,o=n.mean,a=n.max,i=n.stdDev,l=n.Modality;if(void 0!==o){var c=[],s="Area: ".concat(r.toFixed(2)," mm").concat(String.fromCharCode(178)),u="Mean: ".concat(o.toFixed(2)),d="Max: ".concat(a.toFixed(2)),v="Std Dev: ".concat(i.toFixed(2));return"PT"===l?(u+=" SUV",d+=" SUV",v+=" SUV"):"CT"===l?(u+=" HU",d+=" HU",v+=" HU"):(u+=" MO",d+=" MO",v+=" MO"),c.push(s),c.push(d),c.push(u),c.push(v),c}})),H(dt(e),"_calculateCachedStats",(function(t,n,r,o,a){for(var i=t.data,l=a.viewportUID,c=a.renderingEngineUID,s=i.handles.points[0],u=i.handles.points[3],d=i.cachedStats,v=Object.keys(d),f=0;f<v.length;f++){var g=v[f],h=e.getTargetUIDViewportAndImage(g,o).image,m=h.dimensions,p=h.scalarData,y=h.imageData,w=h.metadata,E=ci(y,s);E[0]=Math.floor(E[0]),E[1]=Math.floor(E[1]),E[2]=Math.floor(E[2]);var D=ci(y,u);if(D[0]=Math.floor(D[0]),D[1]=Math.floor(D[1]),D[2]=Math.floor(D[2]),e._isInsideVolume(E,D,m)){e.isHandleOutsideImage=!1;for(var b=Math.min(E[0],D[0]),I=Math.max(E[0],D[0]),_=Math.min(E[1],D[1]),S=Math.max(E[1],D[1]),C=Math.min(E[2],D[2]),x=Math.max(E[2],D[2]),U=Si(n,r,s,u),O=U.worldWidth*U.worldHeight,T=0,M=0,k=0,N=-1/0,R=m[0],L=m[0]*m[1],P=C;P<=x;P++)for(var V=_;V<=S;V++)for(var j=b;j<=I;j++){var F=p[P*L+V*R+j];F>N&&(N=F),T++,M+=F}M/=T;for(var W=C;W<=x;W++)for(var G=_;G<=S;G++)for(var q=b;q<=I;q++){var H=p[W*L+G*R+q]-M;k+=H*H}k/=T,k=Math.sqrt(k),d[g]={Modality:w.Modality,area:O,mean:M,stdDev:k,max:N}}else e.isHandleOutsideImage=!0,d[g]={Modality:w.Modality}}t.invalidated=!1;var z=B.ANNOTATION_MODIFIED,K={annotation:t,viewportUID:l,renderingEngineUID:c};return(0,A.triggerEvent)(A.eventTarget,z,K),d})),H(dt(e),"_isInsideVolume",(function(e,t,n){return A.utilities.indexWithinDimensions(e,n)&&A.utilities.indexWithinDimensions(t,n)})),e._throttledCalculateCachedStats=ai(e._calculateCachedStats,100,{trailing:!0}),e}return q(o)}(kn);function Ql(e,t,n,r){var o=St.vec3.create();St.vec3.cross(o,t,e),o=[-o[0],-o[1],-o[2]];var a=St.vec3.fromValues.apply(St.vec3,Oe(n)),i=St.vec3.fromValues.apply(St.vec3,Oe(r)),l=St.vec3.create();St.vec3.subtract(l,a,i);var c=St.vec3.length(l);if(c<1e-4)return{worldWidth:0,worldHeight:0};var s=St.vec3.dot(l,o)/(c*St.vec3.length(o));return{worldWidth:Math.sqrt(1-s*s)*c,worldHeight:s*c}}H(Jl,"toolName","RectangleRoi");var ec=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return W(this,o),H(dt(e=r.call(this,t,n)),"touchDragCallback",void 0),H(dt(e),"mouseDragCallback",void 0),H(dt(e),"_throttledCalculateCachedStats",void 0),H(dt(e),"editData",void 0),H(dt(e),"isDrawing",void 0),H(dt(e),"isHandleOutsideImage",!1),H(dt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=r.canvas,c=(0,A.getEnabledElement)(a),s=c.viewport,u=c.renderingEngine;e.isDrawing=!0;var d,v=s.getCamera(),f=v.viewPlaneNormal,g=v.viewUp;if(s instanceof A.StackViewport)d=s.getCurrentImageId&&s.getCurrentImageId();else{var h=e.getTargetUID(s),m=A.cache.getVolume(h);d=A.utilities.getClosestImageId(m,i,f,g)}if(d){var p=d.indexOf(":");d=d.substring(p+1)}e.isDrawing=!0;var y={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Oe(f),viewUp:Oe(g),FrameOfReferenceUID:s.getFrameOfReferenceUID(),referencedImageId:d,toolName:o.toolName},data:{label:"",handles:{textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},points:[Oe(i),Oe(i),Oe(i),Oe(i)],activeHandleIndex:null},cachedStats:{}}};A.Settings.getObjectSettings(y,o),ve(a,y);var w=Hi(a,o.toolName);return e.editData={annotation:y,viewportUIDsToRender:w,centerCanvas:l,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),Pa(a),t.preventDefault(),Qr(u,w),y})),H(dt(e),"isPointNearTool",(function(t,n,r,o){var a=(0,A.getEnabledElement)(t).viewport,i=Ce(pi(n.data.handles.points.map((function(e){return a.worldToCanvas(e)}))),2),l=i[0],c=i[1],s={left:Math.min(l[0],c[0])+o/2,top:Math.min(l[1],c[1])+o/2,width:Math.abs(l[0]-c[0])-o,height:Math.abs(l[1]-c[1])-o},u={left:Math.min(l[0],c[0])-o/2,top:Math.min(l[1],c[1])-o/2,width:Math.abs(l[0]-c[0])+o,height:Math.abs(l[1]-c[1])+o},d=e._pointInEllipseCanvas(s,r);return!(!e._pointInEllipseCanvas(u,r)||d)})),H(dt(e),"toolSelectedCallback",(function(t,n,r){var a=t.detail.element;n.highlighted=!0;var i=Hi(a,o.toolName);e.editData={annotation:n,viewportUIDsToRender:i,movingTextBox:!1},Pa(a),e._activateModify(a);var l=(0,A.getEnabledElement)(a).renderingEngine;Qr(l,i),t.preventDefault()})),H(dt(e),"handleSelectedCallback",(function(t,n,r){var a=t.detail.element,i=n.data;n.highlighted=!0;var l,c,s,u,d,v=!1;if(r.worldPosition)v=!0;else{var f=i.handles.points,g=(0,A.getEnabledElement)(a).viewport.worldToCanvas;l=f.findIndex((function(e){return e===r}));var h=f.map(g);d=h[l],s=Math.abs(h[2][0]-h[3][0]),u=Math.abs(h[0][1]-h[1][1]),c=[(h[2][0]+h[3][0])/2,(h[0][1]+h[1][1])/2]}var m=Hi(a,o.toolName);e.editData={annotation:n,viewportUIDsToRender:m,handleIndex:l,canvasWidth:s,canvasHeight:u,centerCanvas:c,originalHandleCanvas:d,movingTextBox:v},e._activateModify(a),Pa(a);var p=(0,A.getEnabledElement)(a).renderingEngine;Qr(p,m),t.preventDefault()})),H(dt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportUIDsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){o.highlighted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),La(n);var s=(0,A.getEnabledElement)(n).renderingEngine;e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&fe(n,o.annotationUID),Qr(s,a)}})),H(dt(e),"_mouseDragDrawCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,A.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport.canvasToWorld,c=e.editData,s=c.annotation,u=c.viewportUIDsToRender,d=c.centerCanvas,v=s.data,f=Math.abs(o[0]-d[0]),g=Math.abs(o[1]-d[1]),h=[d[0],d[1]-g],m=[d[0],d[1]+g],p=[d[0]-f,d[1]],y=[d[0]+f,d[1]];v.handles.points=[l(h),l(m),l(p),l(y)],s.invalidated=!0,e.editData.hasMoved=!0,Qr(i,u)})),H(dt(e),"_mouseDragModifyCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportUIDsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var u=n.deltaPoints.world,d=s.handles.textBox,v=d.worldPosition;v[0]+=u[0],v[1]+=u[1],v[2]+=u[2],d.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else e._dragHandle(t),a.invalidated=!0;var g=(0,A.getEnabledElement)(r).renderingEngine;Qr(g,i)})),H(dt(e),"_dragHandle",(function(t){var n=t.detail,r=n.element,o=(0,A.getEnabledElement)(r).viewport.canvasToWorld,a=e.editData,i=a.annotation,l=a.canvasWidth,c=a.canvasHeight,s=a.handleIndex,u=a.centerCanvas,d=a.originalHandleCanvas,v=i.data.handles.points,f=n.currentPoints.canvas;if(0===s||1===s){var g=Math.abs(f[1]-u[1]),h=[u[0],u[1]-g],m=[u[0],u[1]+g];v[0]=o(h),v[1]=o(m);var p=l/2+(f[0]-d[0]),y=[u[0]-p,u[1]],w=[u[0]+p,u[1]];v[2]=o(y),v[3]=o(w)}else{var E=Math.abs(f[0]-u[0]),D=[u[0]-E,u[1]],b=[u[0]+E,u[1]];v[2]=o(D),v[3]=o(b);var I=c/2+(f[1]-d[1]),_=[u[0],u[1]-I],S=[u[0],u[1]+I];v[0]=o(_),v[1]=o(S)}})),H(dt(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),La(t);var n=e.editData,r=n.annotation,o=n.viewportUIDsToRender,a=r.data;r.highlighted=!1,a.handles.activeHandleIndex=null;var i=(0,A.getEnabledElement)(t).renderingEngine;return Qr(i,o),e.editData=null,r.annotationUID}})),H(dt(e),"_activateModify",(function(t){ke.isInteractingWithTool=!0,t.addEventListener(B.MOUSE_UP,e._mouseUpCallback),t.addEventListener(B.MOUSE_DRAG,e._mouseDragModifyCallback),t.addEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_deactivateModify",(function(t){ke.isInteractingWithTool=!1,t.removeEventListener(B.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(B.MOUSE_DRAG,e._mouseDragModifyCallback),t.removeEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_activateDraw",(function(t){ke.isInteractingWithTool=!0,t.addEventListener(B.MOUSE_UP,e._mouseUpCallback),t.addEventListener(B.MOUSE_DRAG,e._mouseDragDrawCallback),t.addEventListener(B.MOUSE_MOVE,e._mouseDragDrawCallback),t.addEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_deactivateDraw",(function(t){ke.isInteractingWithTool=!1,t.removeEventListener(B.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(B.MOUSE_DRAG,e._mouseDragDrawCallback),t.removeEventListener(B.MOUSE_MOVE,e._mouseDragDrawCallback),t.removeEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"renderAnnotation",(function(t,n){var r,a,i=t.viewport,l=i.element,c=de(l,o.toolName);if(null!==(r=c)&&void 0!==r&&r.length&&null!==(a=c=e.filterInteractableAnnotationsForElement(l,c))&&void 0!==a&&a.length)for(var s=e.getTargetUID(i),u=i.getRenderingEngine(),d=function(r){var a=c[r],l=A.Settings.getObjectSettings(a,o),d=a.annotationUID,v=a.data,f=v.handles,g=f.points,h=f.activeHandleIndex,m=e.getStyle(l,"lineWidth",a),p=e.getStyle(l,"lineDash",a),y=e.getStyle(l,"color",a),w=g.map((function(e){return i.worldToCanvas(e)})),E=pi(w);if(v.cachedStats[s]){if(a.invalidated&&(e._throttledCalculateCachedStats(a,i,u,t),i instanceof A.VolumeViewport)){var D=a.metadata.referencedImageId;u.getViewports().forEach((function(t){var n=e.getTargetUID(t);t instanceof A.StackViewport&&!t.getCurrentImageId().includes(D)&&v.cachedStats[n]&&delete v.cachedStats[n]}))}}else v.cachedStats[s]={Modality:null,area:null,max:null,mean:null,stdDev:null},e._calculateCachedStats(a,i,u,t);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:void 0};var b=void 0;J(a)||e.editData||null===h||(b=[w[h]]),b&&Lt(n,o.toolName,d,"0",b,{color:y}),Rt(n,o.toolName,d,"0",E[0],E[1],{color:y,lineDash:p,lineWidth:m});var I=e._getTextLines(v,s);if(!I||0===I.length)return"continue";var _=void 0;v.handles.textBox.hasMoved||(_=di(E),v.handles.textBox.worldPosition=i.canvasToWorld(_));var S=i.worldToCanvas(v.handles.textBox.worldPosition),C=Ht(n,o.toolName,d,"1",I,S,w,{},e.getLinkedTextBoxStyle(l,a)),x=C.x,U=C.y,O=C.width,T=C.height;v.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([x,U]),topRight:i.canvasToWorld([x+O,U]),bottomLeft:i.canvasToWorld([x,U+T]),bottomRight:i.canvasToWorld([x+O,U+T])}},v=0;v<c.length;v++){var f=d(v);if("continue"!==f&&"object"===gt(f))return f.v}})),H(dt(e),"_getTextLines",(function(e,t){var n=e.cachedStats[t],r=n.area,o=n.mean,a=n.stdDev,i=n.max,l=n.isEmptyArea,c=n.Modality;if(void 0!==o){var s=[],u=l?"Area: Oblique not supported":"Area: ".concat(r.toFixed(2)," mm").concat(String.fromCharCode(178)),d="Mean: ".concat(o.toFixed(2)),v="Max: ".concat(i.toFixed(2)),f="Std Dev: ".concat(a.toFixed(2));return"PT"===c?(d+=" SUV",v+=" SUV",f+=" SUV"):"CT"===c?(d+=" HU",v+=" HU",f+=" HU"):(d+=" MO",v+=" MO",f+=" MO"),s.push(u),s.push(v),s.push(d),s.push(f),s}})),H(dt(e),"_calculateCachedStats",(function(t,n,r,o){for(var a=t.data,i=o.viewportUID,l=o.renderingEngineUID,c=a.handles.points.map((function(e){return n.worldToCanvas(e)})),s=n.getCamera(),u=s.viewPlaneNormal,d=s.viewUp,v=Ce(pi(c),2),f=v[0],g=v[1],h=n.canvasToWorld(f),m=n.canvasToWorld(g),p=a.cachedStats,y=Object.keys(p),w=h,E=m,D=0;D<y.length;D++){var b=y[D],I=e.getTargetUIDViewportAndImage(b,r).image,_=I.dimensions,S=I.imageData,C=I.metadata,x=ci(S,w);x[0]=Math.floor(x[0]),x[1]=Math.floor(x[1]),x[2]=Math.floor(x[2]);var U=ci(S,E);U[0]=Math.floor(U[0]),U[1]=Math.floor(U[1]),U[2]=Math.floor(U[2]),e._isInsideVolume(x,U,_)?function(){var e=[[Math.min(x[0],U[0]),Math.max(x[0],U[0])],[Math.min(x[1],U[1]),Math.max(x[1],U[1])],[Math.min(x[2],U[2]),Math.max(x[2],U[2])]],t={center:[(h[0]+m[0])/2,(h[1]+m[1])/2,(h[2]+m[2])/2],xRadius:Math.abs(h[0]-m[0])/2,yRadius:Math.abs(h[1]-m[1])/2,zRadius:Math.abs(h[2]-m[2])/2},n=Ql(u,d,w,E),r=n.worldWidth,o=n.worldHeight,a=0===r&&0===o,i=Math.PI*(r/2)*(o/2),l=0,c=0,s=0,v=-1/0;si(S,(function(e,n){return mi(t,e)}),(function(e){var t=e.value;t>v&&(v=t),c+=t,l+=1}),e),c/=l,si(S,(function(e,n){return mi(t,e)}),(function(e){var t=e.value-c;s+=t*t}),e),s/=l,s=Math.sqrt(s),p[b]={Modality:C.Modality,area:i,mean:c,max:v,stdDev:s,isEmptyArea:a}}():(e.isHandleOutsideImage=!0,p[b]={Modality:C.Modality})}t.invalidated=!1;var O=B.ANNOTATION_MODIFIED,T={annotation:t,viewportUID:i,renderingEngineUID:l};return(0,A.triggerEvent)(A.eventTarget,O,T),p})),H(dt(e),"_isInsideVolume",(function(e,t,n){return A.utilities.indexWithinDimensions(e,n)&&A.utilities.indexWithinDimensions(t,n)})),e._throttledCalculateCachedStats=ai(e._calculateCachedStats,100,{trailing:!0}),e}return q(o,[{key:"_pointInEllipseCanvas",value:function(e,t){var n=e.width/2,r=e.height/2;if(n<=0||r<=0)return!1;var o=[e.left+n,e.top+r],a=[t[0]-o[0],t[1]-o[1]];return a[0]*a[0]/(n*n)+a[1]*a[1]/(r*r)<=1}}]),o}(kn);function tc(e,t){!function(e,t){var n=t.volume,r=t.points,o=t.segmentsLocked,a=t.segmentIndex,i=t.segmentationDataUID,l=t.toolGroupUID,c=t.constraintFn,s=n.imageData,u=n.dimensions,d=n.scalarData,v=r.map((function(e){return ci(s,e)})),f=xe(v=v.map((function(e){return e.map((function(e){return Math.round(e)}))})),u);if(f.every((function(e){var t=Ce(e,2);return t[0]!==t[1]})))throw new Error("Oblique segmentation tools are not supported yet");si(s,(function(){return!0}),(function(e){var t=e.value,n=e.index,r=e.pointIJK;o.includes(t)||(c?c(r)&&(d[n]=a):d[n]=a)}),f),Ie(l,i)}(0,t)}function nc(e,t){!function(e,t){var n=t.volume,r=t.points,o=t.segmentsLocked,a=t.segmentationDataUID,i=t.toolGroupUID,l=n.imageData,c=n.dimensions,s=n.scalarData,u=xe(r.map((function(e){return ci(l,e)})),c);if(u.every((function(e){var t=Ce(e,2);return t[0]!==t[1]})))throw new Error("Oblique segmentation tools are not supported yet");si(l,(function(){return!0}),(function(e){var t=e.value,n=e.index;o.includes(t)||(s[n]=0)}),u),Ie(i,a)}(0,t)}H(ec,"toolName","EllipticalRoi");var rc=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE:tc,ERASE_INSIDE:nc},defaultStrategy:"FILL_INSIDE",activeStrategy:"FILL_INSIDE"}};return W(this,o),H(dt(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),H(dt(e),"editData",void 0),H(dt(e),"isDrawing",void 0),H(dt(e),"isHandleOutsideImage",void 0),H(dt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=(0,A.getEnabledElement)(a),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var u=c.getCamera(),d=u.viewPlaneNormal,v=u.viewUp,f=e.toolGroupUID,g=ur(f);if(!g)throw new Error("No active segmentation detected, create one before using scissors tool");var h=g.segmentationDataUID,m=g.volumeUID,p=Vr(f),y=pr(m),w=Er(f,g.segmentationDataUID,p),E=A.cache.getVolume(m),D={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Oe(d),viewUp:Oe(v),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:"",toolName:o.toolName,segmentColor:w},data:{handles:{points:[Oe(i),Oe(i),Oe(i),Oe(i)],activeHandleIndex:null}}};A.Settings.getObjectSettings(D,Jl);var b=Hi(a,o.toolName);e.editData={annotation:D,segmentation:E,segmentIndex:p,segmentsLocked:y,segmentColor:w,segmentationDataUID:h,viewportUIDsToRender:b,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),Pa(a),t.preventDefault(),Qr(s,b)})),H(dt(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n,r,o,a,i,l,c,s,u=t.detail,d=u.element,v=e.editData,f=v.annotation,g=v.viewportUIDsToRender,h=v.handleIndex,m=f.data,p=u.currentPoints,y=(0,A.getEnabledElement)(d),w=y.viewport,E=w.worldToCanvas,D=w.canvasToWorld,b=p.world,I=m.handles.points;switch(I[h]=Oe(b),h){case 0:case 3:n=E(I[0]),r=[(a=E(I[3]))[0],n[1]],o=[n[0],a[1]],l=D(r),c=D(o),I[1]=l,I[2]=c;break;case 1:case 2:r=E(I[1]),n=[(o=E(I[2]))[0],r[1]],a=[r[0],o[1]],i=D(n),s=D(a),I[0]=i,I[3]=s}f.invalidated=!0,e.editData.hasMoved=!0;var _=y.renderingEngine;Qr(_,g)})),H(dt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.newAnnotation,i=r.hasMoved,l=r.segmentation,c=r.segmentationDataUID,s=r.segmentIndex,u=r.segmentsLocked,d=o.data;if(!a||i){o.highlighted=!1,d.handles.activeHandleIndex=null,e._deactivateDraw(n),La(n);var v=(0,A.getEnabledElement)(n),f=v.viewport;if(e.editData=null,e.isDrawing=!1,f instanceof A.StackViewport)throw new Error("Not implemented yet");var g={points:d.handles.points,volume:l,segmentationDataUID:c,segmentIndex:s,segmentsLocked:u,toolGroupUID:e.toolGroupUID};e.applyActiveStrategy(v,g)}})),H(dt(e),"_activateDraw",(function(t){t.addEventListener(B.MOUSE_UP,e._mouseUpCallback),t.addEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_deactivateDraw",(function(t){t.removeEventListener(B.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"renderAnnotation",(function(t,n){if(e.editData){var r=t.viewport,a=e.editData.annotation,i=(A.Settings.getObjectSettings(a,Jl),a.metadata),l=a.annotationUID,c=a.data.handles.points.map((function(e){return r.worldToCanvas(e)})),s="rgb(".concat(i.segmentColor.slice(0,3),")");r.getRenderingEngine()?zt(n,o.toolName,l,"0",c[0],c[3],{color:s}):console.warn("Rendering Engine has been destroyed")}})),e}return q(o)}(_t);function oc(e,t){!function(e,t){var n=t.volume,r=t.points,o=t.segmentsLocked,a=t.segmentIndex,i=t.toolGroupUID,l=t.segmentationDataUID,c=n.imageData,s=n.dimensions,u=n.scalarData,d=e.viewport,v=St.vec3.fromValues(0,0,0);r.forEach((function(e){St.vec3.add(v,v,e)})),St.vec3.scale(v,v,1/r.length);var f=Ce(pi(r.map((function(e){return d.worldToCanvas(e)}))),2),g=f[0],h=f[1],m=d.canvasToWorld(g),p=d.canvasToWorld(h),y=xe([ci(c,m),ci(c,p)],s);if(y.every((function(e){var t=Ce(e,2);return t[0]!==t[1]})))throw new Error("Oblique segmentation tools are not supported yet");var w={center:v,xRadius:Math.abs(m[0]-p[0])/2,yRadius:Math.abs(m[1]-p[1])/2,zRadius:Math.abs(m[2]-p[2])/2};si(c,(function(e,t){return mi(w,e)}),(function(e){var t=e.value,n=e.index;o.includes(t)||(u[n]=a)}),y),Ie(i,l)}(e,t)}H(rc,"toolName","RectangleScissor");var ac=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE:oc},defaultStrategy:"FILL_INSIDE",activeStrategy:"FILL_INSIDE"}};return W(this,o),H(dt(e=r.call(this,t,n)),"editData",void 0),H(dt(e),"isDrawing",void 0),H(dt(e),"isHandleOutsideImage",void 0),H(dt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=r.canvas,c=(0,A.getEnabledElement)(a),s=c.viewport,u=c.renderingEngine;e.isDrawing=!0;var d=s.getCamera(),v=d.viewPlaneNormal,f=d.viewUp,g=e.toolGroupUID,h=ur(g);if(!h)throw new Error("No active segmentation detected, create one before using scissors tool");var m=h.volumeUID,p=h.segmentationDataUID,y=Vr(g),w=pr(m),E=Er(g,h.segmentationDataUID,y),D=A.cache.getVolume(m),b={invalidated:!0,highlighted:!0,metadata:{viewPlaneNormal:Oe(v),viewUp:Oe(f),FrameOfReferenceUID:s.getFrameOfReferenceUID(),referencedImageId:"",toolName:o.toolName,segmentColor:E},data:{handles:{points:[Oe(i),Oe(i),Oe(i),Oe(i)],activeHandleIndex:null},isDrawing:!0,cachedStats:{}}},I=[s.uid];e.editData={annotation:b,segmentation:D,centerCanvas:l,segmentIndex:y,segmentationDataUID:p,segmentsLocked:w,segmentColor:E,viewportUIDsToRender:I,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),Pa(a),t.preventDefault(),Qr(u,I)})),H(dt(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,A.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport.canvasToWorld,c=e.editData,s=c.annotation,u=c.viewportUIDsToRender,d=c.centerCanvas,v=s.data,f=Math.abs(o[0]-d[0]),g=Math.abs(o[1]-d[1]),h=Math.sqrt(f*f+g*g),m=[d[0],d[1]+h],p=[d[0],d[1]-h],y=[d[0]-h,d[1]],w=[d[0]+h,d[1]];v.handles.points=[l(m),l(p),l(y),l(w)],s.invalidated=!0,e.editData.hasMoved=!0,Qr(i,u)})),H(dt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.newAnnotation,i=r.hasMoved,l=r.segmentation,c=r.segmentIndex,s=r.segmentsLocked,u=r.segmentationDataUID,d=o.data,v=o.metadata,f=v.viewPlaneNormal,g=v.viewUp;if(!a||i){o.highlighted=!1,d.handles.activeHandleIndex=null,e._deactivateDraw(n),La(n);var h=(0,A.getEnabledElement)(n),m=h.viewport;if(e.editData=null,e.isDrawing=!1,m instanceof A.StackViewport)throw new Error("Not implemented yet");var p={points:d.handles.points,volume:l,segmentIndex:c,segmentsLocked:s,viewPlaneNormal:f,toolGroupUID:e.toolGroupUID,segmentationDataUID:u,viewUp:g};e.applyActiveStrategy(h,p)}})),H(dt(e),"_activateDraw",(function(t){t.addEventListener(B.MOUSE_UP,e._mouseUpCallback),t.addEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_deactivateDraw",(function(t){t.removeEventListener(B.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"renderAnnotation",(function(t,n){if(e.editData){var r=t.viewport;if(e.editData.viewportUIDsToRender.includes(r.uid)){var a=e.editData.annotation,i=a.metadata,l=a.annotationUID,c=a.data.handles.points.map((function(e){return r.worldToCanvas(e)})),s=c[0],u=c[1],d=[Math.floor((s[0]+u[0])/2),Math.floor((s[1]+u[1])/2)],v=Math.abs(s[1]-Math.floor((s[1]+u[1])/2)),f="rgb(".concat(i.segmentColor.slice(0,3),")");r.getRenderingEngine()?At(n,o.toolName,l,"0",d,v,{color:f}):console.warn("Rendering Engine has been destroyed")}}})),e}return q(o)}(_t);function ic(e,t){!function(e,t){var n=e.viewport,r=t.volume,o=t.segmentsLocked,a=t.segmentIndex,i=t.toolGroupUID,l=t.segmentationDataUID,c=t.points,s=r.scalarData;ui(n,r.imageData,[c[0],c[1]],(function(e){var t=e.index,n=e.value;o.includes(n)||(s[t]=a)})),Ie(i,l)}(e,t)}H(ac,"toolName","CircleScissor");var lc=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE:ic},defaultStrategy:"FILL_INSIDE",activeStrategy:"FILL_INSIDE"}};return W(this,o),H(dt(e=r.call(this,t,n)),"editData",void 0),H(dt(e),"isDrawing",void 0),H(dt(e),"isHandleOutsideImage",void 0),H(dt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=r.canvas,c=(0,A.getEnabledElement)(a),s=c.viewport,u=c.renderingEngine;e.isDrawing=!0;var d=s.getCamera(),v=d.viewPlaneNormal,f=d.viewUp,g=e.toolGroupUID,h=ur(g);if(!h)throw new Error("No active segmentation detected, create one before using scissors tool");var m=h.volumeUID,p=h.segmentationDataUID,y=Vr(g),w=pr(m),E=Er(g,h.segmentationDataUID,y),D=A.cache.getVolume(m);e.isDrawing=!0;var b={metadata:{viewPlaneNormal:Oe(v),viewUp:Oe(f),FrameOfReferenceUID:s.getFrameOfReferenceUID(),referencedImageId:"",toolName:o.toolName,segmentColor:E},data:{invalidated:!0,handles:{points:[Oe(i),Oe(i),Oe(i),Oe(i)],activeHandleIndex:null},cachedStats:{},highlighted:!0}},I=[s.uid];e.editData={annotation:b,segmentation:D,centerCanvas:l,segmentIndex:y,segmentsLocked:w,segmentColor:E,segmentationDataUID:p,toolGroupUID:g,viewportUIDsToRender:I,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),Pa(a),t.preventDefault(),Qr(u,I)})),H(dt(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,A.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport.canvasToWorld,c=e.editData,s=c.annotation,u=c.viewportUIDsToRender,d=c.centerCanvas,v=s.data,f=Math.abs(o[0]-d[0]),g=Math.abs(o[1]-d[1]),h=Math.sqrt(f*f+g*g),m=[d[0],d[1]+h],p=[d[0],d[1]-h],y=[d[0]-h,d[1]],w=[d[0]+h,d[1]];v.handles.points=[l(m),l(p),l(y),l(w)],s.invalidated=!0,e.editData.hasMoved=!0,Qr(i,u)})),H(dt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.newAnnotation,i=r.hasMoved,l=r.segmentation,c=r.segmentIndex,s=r.segmentsLocked,u=r.segmentationDataUID,d=o.data,v=o.metadata,f=v.viewPlaneNormal,g=v.viewUp;if(!a||i){o.highlighted=!1,d.handles.activeHandleIndex=null,e._deactivateDraw(n),La(n);var h=(0,A.getEnabledElement)(n),m=h.viewport;if(e.editData=null,e.isDrawing=!1,m instanceof A.StackViewport)throw new Error("Not implemented yet");var p={points:d.handles.points,volume:l,segmentIndex:c,segmentsLocked:s,segmentationDataUID:u,toolGroupUID:e.toolGroupUID,viewPlaneNormal:f,viewUp:g};e.applyActiveStrategy(h,p)}})),H(dt(e),"_activateDraw",(function(t){t.addEventListener(B.MOUSE_UP,e._mouseUpCallback),t.addEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"_deactivateDraw",(function(t){t.removeEventListener(B.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(B.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(B.MOUSE_CLICK,e._mouseUpCallback)})),H(dt(e),"renderAnnotation",(function(t,n){if(e.editData){var r=t.viewport;if(e.editData.viewportUIDsToRender.includes(r.uid)){var a=e.editData.annotation,i=a.metadata,l=a.annotationUID,c=a.data.handles.points.map((function(e){return r.worldToCanvas(e)})),s=c[0],u=c[1],d=[Math.floor((s[0]+u[0])/2),Math.floor((s[1]+u[1])/2)],v=Math.abs(s[1]-Math.floor((s[1]+u[1])/2)),f="rgb(".concat(i.segmentColor.slice(0,3),")");r.getRenderingEngine()?At(n,o.toolName,l,"0",d,v,{color:f}):console.warn("Rendering Engine has been destroyed")}}})),e}return q(o)}(_t);H(lc,"toolName","SphereScissor");var cc=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return W(this,o),H(dt(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),H(dt(e),"editData",void 0),H(dt(e),"isDrawing",void 0),H(dt(e),"isHandleOutsideImage",void 0),H(dt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=(0,A.getEnabledElement)(a),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var u,d,v=c.getCamera(),f=v.viewPlaneNormal,g=v.viewUp;if(c instanceof A.StackViewport)u=c.getCurrentImageId&&c.getCurrentImageId();else{d=e.getTargetUID(c);var h=A.cache.getVolume(d);u=A.utilities.getClosestImageId(h,i,f,g)}if(u){var m=u.indexOf(":");u=u.substring(m+1)}var p={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Oe(f),enabledElement:l,viewUp:Oe(g),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:u,toolName:o.toolName,volumeUID:d},data:{label:"",handles:{textBox:{hasMoved:!1,worldPosition:null,worldBoundingBox:null},points:[Oe(i),Oe(i),Oe(i),Oe(i)],activeHandleIndex:null},segmentationUID:null}};A.Settings.getObjectSettings(p,o),ve(a,p);var y=Hi(a,o.toolName);return e.editData={annotation:p,viewportUIDsToRender:y,handleIndex:3,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),Pa(a),t.preventDefault(),Qr(s,y),p})),H(dt(e),"renderAnnotation",(function(t,n){var r,a,i=t.viewport,l=t.renderingEngineUID,c=i.element,s=de(c,o.toolName);if(null!==(r=s)&&void 0!==r&&r.length&&null!==(a=s=e.filterInteractableAnnotationsForElement(c,s))&&void 0!==a&&a.length)for(var u=0;u<s.length;u++){var d=s[u],v=A.Settings.getObjectSettings(d,o),f=d.annotationUID,g=d.data.handles,h=g.points,m=g.activeHandleIndex,p=h.map((function(e){return i.worldToCanvas(e)})),y=e.getStyle(v,"lineWidth",d),w=e.getStyle(v,"lineDash",d),E=e.getStyle(v,"color",d);if(!i.getRenderingEngine())return void console.warn("Rendering Engine has been destroyed");var D=B.ANNOTATION_MODIFIED,b={annotation:d,viewportUID:i.uid,renderingEngineUID:l};(0,A.triggerEvent)(A.eventTarget,D,b);var I=void 0;J(d)||e.editData||null===m||(I=[p[m]]),I&&Lt(n,o.toolName,f,"0",I,{color:E}),zt(n,o.toolName,f,"0",p[0],p[3],{color:E,lineDash:w,lineWidth:y})}})),e}return q(o)}(Jl);H(cc,"toolName","RectangleRoiThreshold");var sc=function(e){ft(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=mt(t);if(n){var o=mt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ht(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{configuration:{numSlicesToPropagate:10}};return W(this,o),H(dt(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),H(dt(e),"editData",void 0),H(dt(e),"isDrawing",void 0),H(dt(e),"isHandleOutsideImage",void 0),H(dt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=(0,A.getEnabledElement)(a),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var u,d,v,f=c.getCamera(),g=f.viewPlaneNormal,h=f.viewUp;if(c instanceof A.StackViewport)throw new Error("Stack Viewport Not implemented");if(v=e.getTargetUID(c),d=A.cache.getVolume(v),!(u=A.utilities.getClosestImageId(d,i,g,h)))throw new Error("This tool does not work on non-acquisition planes");var m=u.indexOf(":");u=u.substring(m+1);var p=c.getCurrentImageIdIndex(),y=A.utilities.getSpacingInNormalDirection(d,g),w=e._getEndSliceIndex(d,i,y,g),E={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Oe(g),enabledElement:l,viewUp:Oe(h),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:u,toolName:o.toolName,volumeUID:v,spacingInNormal:y},data:{label:"",startSlice:p,endSlice:w,cachedStats:{projectionPoints:[],projectionPointsImageIds:[u]},handles:{textBox:{hasMoved:!1,worldPosition:null,worldBoundingBox:null},points:[Oe(i),Oe(i),Oe(i),Oe(i)],activeHandleIndex:null},labelmapUID:null}};e._computeProjectionPoints(E,d),A.Settings.getObjectSettings(E,o),ve(a,E);var D=Hi(a,o.toolName);return e.editData={annotation:E,viewportUIDsToRender:D,handleIndex:3,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),Pa(a),t.preventDefault(),Qr(s,D),E})),H(dt(e),"renderAnnotation",(function(t,n){var r=de(t.viewport.element,o.toolName);if(null!=r&&r.length)for(var a=t.viewport,i=a.getCurrentImageIdIndex(),l=0;l<r.length;l++){var c=r[l],s=A.Settings.getObjectSettings(c,o),u=c.annotationUID,d=c.data,v=d.startSlice,f=d.endSlice,g=d.handles,h=g.points,m=g.activeHandleIndex,p=h.map((function(e){return a.worldToCanvas(e)})),y=e.getStyle(s,"lineWidth",c),w=e.getStyle(s,"lineDash",c),E=e.getStyle(s,"color",c);if(!(i<Math.min(v,f)||i>Math.max(v,f))){c.invalidated&&e._throttledCalculateCachedStats(c,t);var D=!1;if(i!==v&&i!==f||(D=!0),!a.getRenderingEngine())return void console.warn("Rendering Engine has been destroyed");var b=void 0;J(c)||e.editData||null===m||!D||(b=[p[m]]),b&&Lt(n,o.toolName,u,"0",b,{color:E});var I=w;D||(I=2),zt(n,o.toolName,u,"0",p[0],p[3],{color:E,lineDash:I,lineWidth:y})}}})),e._throttledCalculateCachedStats=ai(e._calculateCachedStatsTool,100,{trailing:!0}),e}return q(o,[{key:"_computeProjectionPoints",value:function(e,t){var n=e.data,r=e.metadata,o=r.viewPlaneNormal,a=r.spacingInNormal,i=t.imageData,l=n.startSlice,c=n.endSlice,s=(n.cachedStats.projectionPoints,n.handles.points),u=St.vec3.create();if(i.worldToIndexVec3(s[0],u),u[2]!==l)throw new Error("Start slice does not match");var d=St.vec3.fromValues(u[0],u[1],c),v=St.vec3.create();i.indexToWorldVec3(u,v);var f=St.vec3.create();i.indexToWorldVec3(d,f);for(var g=St.vec3.distance(v,f),h=[],m=function(e){h.push(s.map((function(t){var n=St.vec3.create();return St.vec3.scaleAndAdd(n,t,o,e),Array.from(n)})))},p=0;p<g;p+=a)m(p);n.cachedStats.projectionPoints=h;for(var y=[],w=0,E=h;w<E.length;w++){var D=E[w],b=A.utilities.getClosestImageId(t,D[0],o,r.viewUp);y.push(b)}n.cachedStats.projectionPointsImageIds=y}},{key:"_calculateCachedStatsTool",value:function(e,t){var n=e.data,r=t.viewportUID,o=t.renderingEngineUID,a=t.viewport,i=n.cachedStats,l=this.getTargetUID(a),c=A.cache.getVolume(l);this._computeProjectionPoints(e,c),e.invalidated=!1;var s=B.ANNOTATION_MODIFIED,u={annotation:e,viewportUID:r,renderingEngineUID:o};return(0,A.triggerEvent)(A.eventTarget,s,u),i}},{key:"_getEndSliceIndex",value:function(e,t,n,r){var o=this.configuration.numSlicesToPropagate,a=St.vec3.create();St.vec3.scaleAndAdd(a,t,r,o*n);for(var i,l=n/2,c=e.imageIds,s=0;s<c.length;s++){var u=c[s],d=A.metaData.get("imagePlaneModule",u).imagePositionPatient,v=St.vec3.create();St.vec3.sub(v,a,d);var f=St.vec3.dot(v,r);Math.abs(f)<l&&(i=s)}return i}}]),o}(Jl);H(sc,"toolName","RectangleRoiStartEndThreshold");var uc={MouseBindings:T,KeyboardBindings:M,ToolModes:L,Events:B,SegmentationRepresentations:F}}(),s}()}));
1
+ /*! For license information please see index.js.LICENSE.txt */
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("cornerstone3D"),require("vtk.js/Sources/Rendering/Core/ColorTransferFunction"),require("vtk.js/Sources/Common/DataModel/PiecewiseFunction"),require("gl-matrix"),require("vtk.js/Sources/Common/Core/MatrixBuilder"),require("vtk.js/Sources/Common/Core/Math")):"function"==typeof define&&define.amd?define(["cornerstone3D","vtk.js/Sources/Rendering/Core/ColorTransferFunction","vtk.js/Sources/Common/DataModel/PiecewiseFunction","gl-matrix","vtk.js/Sources/Common/Core/MatrixBuilder","vtk.js/Sources/Common/Core/Math"],t):"object"==typeof exports?exports.cornerstoneTools3D=t(require("cornerstone3D"),require("vtk.js/Sources/Rendering/Core/ColorTransferFunction"),require("vtk.js/Sources/Common/DataModel/PiecewiseFunction"),require("gl-matrix"),require("vtk.js/Sources/Common/Core/MatrixBuilder"),require("vtk.js/Sources/Common/Core/Math")):e.cornerstoneTools3D=t(e.window,e["vtk.js/Sources/Rendering/Core/ColorTransferFunction"],e["vtk.js/Sources/Common/DataModel/PiecewiseFunction"],e.window,e["vtk.js/Sources/Common/Core/MatrixBuilder"],e["vtk.js/Sources/Common/Core/Math"])}(self,(function(e,t,n,r,o,a){return function(){var i={162:function(e,t,n){e.exports=n(47)},907:function(e,t,n){e=n.nmd(e);var r="__lodash_hash_undefined__",o=9007199254740991,a="[object Arguments]",i="[object Boolean]",l="[object Date]",c="[object Function]",s="[object GeneratorFunction]",u="[object Map]",d="[object Number]",v="[object Object]",f="[object Promise]",g="[object RegExp]",h="[object Set]",m="[object String]",p="[object Symbol]",y="[object WeakMap]",w="[object ArrayBuffer]",E="[object DataView]",b="[object Float32Array]",I="[object Float64Array]",_="[object Int8Array]",S="[object Int16Array]",D="[object Int32Array]",C="[object Uint8Array]",O="[object Uint8ClampedArray]",x="[object Uint16Array]",T="[object Uint32Array]",M=/\w*$/,k=/^\[object .+?Constructor\]$/,N=/^(?:0|[1-9]\d*)$/,A={};A[a]=A["[object Array]"]=A[w]=A[E]=A[i]=A[l]=A[b]=A[I]=A[_]=A[S]=A[D]=A[u]=A[d]=A[v]=A[g]=A[h]=A[m]=A[p]=A[C]=A[O]=A[x]=A[T]=!0,A["[object Error]"]=A[c]=A[y]=!1;var R="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,L="object"==typeof self&&self&&self.Object===Object&&self,P=R||L||Function("return this")(),U=t&&!t.nodeType&&t,V=U&&e&&!e.nodeType&&e,j=V&&V.exports===U;function B(e,t){return e.set(t[0],t[1]),e}function F(e,t){return e.add(t),e}function W(e,t,n,r){var o=-1,a=e?e.length:0;for(r&&a&&(n=e[++o]);++o<a;)n=t(n,e[o],o,e);return n}function G(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function q(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function H(e,t){return function(n){return e(t(n))}}function z(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var K,Y=Array.prototype,Z=Function.prototype,$=Object.prototype,X=P["__core-js_shared__"],J=(K=/[^.]+$/.exec(X&&X.keys&&X.keys.IE_PROTO||""))?"Symbol(src)_1."+K:"",Q=Z.toString,ee=$.hasOwnProperty,te=$.toString,ne=RegExp("^"+Q.call(ee).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),re=j?P.Buffer:void 0,oe=P.Symbol,ae=P.Uint8Array,ie=H(Object.getPrototypeOf,Object),le=Object.create,ce=$.propertyIsEnumerable,se=Y.splice,ue=Object.getOwnPropertySymbols,de=re?re.isBuffer:void 0,ve=H(Object.keys,Object),fe=Pe(P,"DataView"),ge=Pe(P,"Map"),he=Pe(P,"Promise"),me=Pe(P,"Set"),pe=Pe(P,"WeakMap"),ye=Pe(Object,"create"),we=Fe(fe),Ee=Fe(ge),be=Fe(he),Ie=Fe(me),_e=Fe(pe),Se=oe?oe.prototype:void 0,De=Se?Se.valueOf:void 0;function Ce(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Oe(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function xe(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Te(e){this.__data__=new Oe(e)}function Me(e,t,n){var r=e[t];ee.call(e,t)&&We(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function ke(e,t){for(var n=e.length;n--;)if(We(e[n][0],t))return n;return-1}function Ne(e,t,n,r,o,f,y){var k;if(r&&(k=f?r(e,o,f,y):r(e)),void 0!==k)return k;if(!Ke(e))return e;var N=Ge(e);if(N){if(k=function(e){var t=e.length,n=e.constructor(t);return t&&"string"==typeof e[0]&&ee.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!t)return function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}(e,k)}else{var R=Ve(e),L=R==c||R==s;if(He(e))return function(e,t){if(t)return e.slice();var n=new e.constructor(e.length);return e.copy(n),n}(e,t);if(R==v||R==a||L&&!f){if(G(e))return f?e:{};if(k=function(e){return"function"!=typeof e.constructor||Be(e)?{}:Ke(t=ie(e))?le(t):{};var t}(L?{}:e),!t)return function(e,t){return Re(e,Ue(e),t)}(e,function(e,t){return e&&Re(t,Ye(t),e)}(k,e))}else{if(!A[R])return f?e:{};k=function(e,t,n,r){var o,a=e.constructor;switch(t){case w:return Ae(e);case i:case l:return new a(+e);case E:return function(e,t){var n=t?Ae(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,r);case b:case I:case _:case S:case D:case C:case O:case x:case T:return function(e,t){var n=t?Ae(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}(e,r);case u:return function(e,t,n){return W(t?n(q(e),!0):q(e),B,new e.constructor)}(e,r,n);case d:case m:return new a(e);case g:return function(e){var t=new e.constructor(e.source,M.exec(e));return t.lastIndex=e.lastIndex,t}(e);case h:return function(e,t,n){return W(t?n(z(e),!0):z(e),F,new e.constructor)}(e,r,n);case p:return o=e,De?Object(De.call(o)):{}}}(e,R,Ne,t)}}y||(y=new Te);var P=y.get(e);if(P)return P;if(y.set(e,k),!N)var U=n?function(e){return function(e,t,n){var r=t(e);return Ge(e)?r:function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}(r,n(e))}(e,Ye,Ue)}(e):Ye(e);return function(e,t){for(var n=-1,r=e?e.length:0;++n<r&&!1!==t(e[n],n););}(U||e,(function(o,a){U&&(o=e[a=o]),Me(k,a,Ne(o,t,n,r,a,e,y))})),k}function Ae(e){var t=new e.constructor(e.byteLength);return new ae(t).set(new ae(e)),t}function Re(e,t,n,r){n||(n={});for(var o=-1,a=t.length;++o<a;){var i=t[o],l=r?r(n[i],e[i],i,n,e):void 0;Me(n,i,void 0===l?e[i]:l)}return n}function Le(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function Pe(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!Ke(e)||(t=e,J&&J in t))&&(ze(e)||G(e)?ne:k).test(Fe(e));var t}(n)?n:void 0}Ce.prototype.clear=function(){this.__data__=ye?ye(null):{}},Ce.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Ce.prototype.get=function(e){var t=this.__data__;if(ye){var n=t[e];return n===r?void 0:n}return ee.call(t,e)?t[e]:void 0},Ce.prototype.has=function(e){var t=this.__data__;return ye?void 0!==t[e]:ee.call(t,e)},Ce.prototype.set=function(e,t){return this.__data__[e]=ye&&void 0===t?r:t,this},Oe.prototype.clear=function(){this.__data__=[]},Oe.prototype.delete=function(e){var t=this.__data__,n=ke(t,e);return!(n<0||(n==t.length-1?t.pop():se.call(t,n,1),0))},Oe.prototype.get=function(e){var t=this.__data__,n=ke(t,e);return n<0?void 0:t[n][1]},Oe.prototype.has=function(e){return ke(this.__data__,e)>-1},Oe.prototype.set=function(e,t){var n=this.__data__,r=ke(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},xe.prototype.clear=function(){this.__data__={hash:new Ce,map:new(ge||Oe),string:new Ce}},xe.prototype.delete=function(e){return Le(this,e).delete(e)},xe.prototype.get=function(e){return Le(this,e).get(e)},xe.prototype.has=function(e){return Le(this,e).has(e)},xe.prototype.set=function(e,t){return Le(this,e).set(e,t),this},Te.prototype.clear=function(){this.__data__=new Oe},Te.prototype.delete=function(e){return this.__data__.delete(e)},Te.prototype.get=function(e){return this.__data__.get(e)},Te.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Oe){var r=n.__data__;if(!ge||r.length<199)return r.push([e,t]),this;n=this.__data__=new xe(r)}return n.set(e,t),this};var Ue=ue?H(ue,Object):function(){return[]},Ve=function(e){return te.call(e)};function je(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||N.test(e))&&e>-1&&e%1==0&&e<t}function Be(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||$)}function Fe(e){if(null!=e){try{return Q.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function We(e,t){return e===t||e!=e&&t!=t}(fe&&Ve(new fe(new ArrayBuffer(1)))!=E||ge&&Ve(new ge)!=u||he&&Ve(he.resolve())!=f||me&&Ve(new me)!=h||pe&&Ve(new pe)!=y)&&(Ve=function(e){var t=te.call(e),n=t==v?e.constructor:void 0,r=n?Fe(n):void 0;if(r)switch(r){case we:return E;case Ee:return u;case be:return f;case Ie:return h;case _e:return y}return t});var Ge=Array.isArray;function qe(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}(e.length)&&!ze(e)}var He=de||function(){return!1};function ze(e){var t=Ke(e)?te.call(e):"";return t==c||t==s}function Ke(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Ye(e){return qe(e)?function(e,t){var n=Ge(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&qe(e)}(e)&&ee.call(e,"callee")&&(!ce.call(e,"callee")||te.call(e)==a)}(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,o=!!r;for(var i in e)!t&&!ee.call(e,i)||o&&("length"==i||je(i,r))||n.push(i);return n}(e):function(e){if(!Be(e))return ve(e);var t=[];for(var n in Object(e))ee.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}e.exports=function(e){return Ne(e,!0,!0)}},47:function(e){var t=function(e){"use strict";var t,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function s(e,t,n,r){var o=t&&t.prototype instanceof m?t:m,a=Object.create(o.prototype),i=new x(r||[]);return a._invoke=function(e,t,n){var r=d;return function(o,a){if(r===f)throw new Error("Generator is already running");if(r===g){if("throw"===o)throw a;return M()}for(n.method=o,n.arg=a;;){var i=n.delegate;if(i){var l=D(i,n);if(l){if(l===h)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===d)throw r=g,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var c=u(e,t,n);if("normal"===c.type){if(r=n.done?g:v,c.arg===h)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=g,n.method="throw",n.arg=c.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var d="suspendedStart",v="suspendedYield",f="executing",g="completed",h={};function m(){}function p(){}function y(){}var w={};c(w,a,(function(){return this}));var E=Object.getPrototypeOf,b=E&&E(E(T([])));b&&b!==n&&r.call(b,a)&&(w=b);var I=y.prototype=m.prototype=Object.create(w);function _(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function n(o,a,i,l){var c=u(e[o],e,a);if("throw"!==c.type){var s=c.arg,d=s.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,i,l)}),(function(e){n("throw",e,i,l)})):t.resolve(d).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,l)}))}l(c.arg)}var o;this._invoke=function(e,r){function a(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(a,a):a()}}function D(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,D(e,n),"throw"===n.method))return h;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var o=u(r,e.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,h;var a=o.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,h):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function T(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function n(){for(;++o<e.length;)if(r.call(e,o))return n.value=e[o],n.done=!1,n;return n.value=t,n.done=!0,n};return i.next=i}}return{next:M}}function M(){return{value:t,done:!0}}return p.prototype=y,c(I,"constructor",y),c(y,"constructor",p),p.displayName=c(y,l,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,c(e,l,"GeneratorFunction")),e.prototype=Object.create(I),e},e.awrap=function(e){return{__await:e}},_(S.prototype),c(S.prototype,i,(function(){return this})),e.AsyncIterator=S,e.async=function(t,n,r,o,a){void 0===a&&(a=Promise);var i=new S(s(t,n,r,o),a);return e.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},_(I),c(I,l,"Generator"),c(I,a,(function(){return this})),c(I,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=T,x.prototype={constructor:x,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(O),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function o(r,o){return l.type="throw",l.arg=e,n.next=r,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],l=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,h):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),O(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;O(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:T(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),h}},e}(e.exports);try{regeneratorRuntime=t}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}},4:function(e){"use strict";e.exports=a},611:function(e){"use strict";e.exports=o},634:function(e){"use strict";e.exports=n},103:function(e){"use strict";e.exports=t},571:function(t){"use strict";t.exports=e},976:function(e){"use strict";e.exports=r}},l={};function c(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={id:e,loaded:!1,exports:{}};return i[e](n,n.exports,c),n.loaded=!0,n.exports}c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,{a:t}),t},c.d=function(e,t){for(var n in t)c.o(t,n)&&!c.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e};var s={};return function(){"use strict";c.r(s),c.d(s,{AnnotationTool:function(){return bl},BaseTool:function(){return zt},BidirectionalTool:function(){return Hl},CircleScissorsTool:function(){return $l},CrosshairsTool:function(){return Vl},EllipticalRoiTool:function(){return ql},Enums:function(){return tc},LengthTool:function(){return kl},MIPJumpToClickTool:function(){return Tl},PanTool:function(){return Il},ProbeTool:function(){return Fl},RectangleRoiStartEndThresholdTool:function(){return ec},RectangleRoiThresholdTool:function(){return Ql},RectangleRoiTool:function(){return Wl},RectangleScissorsTool:function(){return Yl},SegmentationDisplayTool:function(){return kn},SphereScissorsTool:function(){return Jl},StackScrollMouseWheelTool:function(){return Cl},StackScrollTool:function(){return Dl},Synchronizer:function(){return wo},SynchronizerManager:function(){return i},ToolGroupManager:function(){return u},Types:function(){return D},VolumeRotateMouseWheelTool:function(){return xl},WindowLevelTool:function(){return _l},ZoomTool:function(){return Sl},addTool:function(){return uo},annotation:function(){return O},cancelActiveManipulations:function(){return go},cursors:function(){return S},destroy:function(){return lo},drawing:function(){return v},init:function(){return io},removeTool:function(){return vo},segmentation:function(){return A},synchronizers:function(){return d},utilities:function(){return _}});var e={};c.r(e),c.d(e,{checkAndDefineIsLockedProperty:function(){return Z},getAnnotationsLocked:function(){return z},getAnnotationsLockedCount:function(){return Y},isAnnotationLocked:function(){return K},setAnnotationLocked:function(){return q},unlockAllAnnotations:function(){return H}});var t={};c.r(t),c.d(t,{addAnnotation:function(){return le},getAnnotation:function(){return se},getAnnotations:function(){return ie},getDefaultAnnotationManager:function(){return oe},getViewportSpecificAnnotationManager:function(){return ae},removeAnnotation:function(){return ce}});var n={};c.r(n),c.d(n,{triggerSegmentationDataModified:function(){return ye},triggerSegmentationGlobalStateModified:function(){return pe},triggerSegmentationStateModified:function(){return me}});var r={};c.r(r),c.d(r,{addColorLUT:function(){return Ye},addGlobalSegmentationData:function(){return Le},addSegmentationData:function(){return Be},getActiveSegmentationData:function(){return $e},getColorLut:function(){return Ke},getDefaultSegmentationStateManager:function(){return Ae},getGlobalSegmentationConfig:function(){return Fe},getGlobalSegmentationDataByUID:function(){return Re},getGlobalSegmentationState:function(){return Pe},getSegmentationConfig:function(){return qe},getSegmentationDataByUID:function(){return Ve},getSegmentationState:function(){return Ue},getToolGroups:function(){return ze},getToolGroupsWithSegmentation:function(){return He},removeSegmentationData:function(){return je},setActiveSegmentationData:function(){return Ze},setGlobalSegmentationConfig:function(){return We},setSegmentationConfig:function(){return Ge}});var o={};c.r(o),c.d(o,{getGlobalRepresentationConfig:function(){return bn},getGlobalSegmentationConfig:function(){return wn},getRepresentationConfig:function(){return xn},getSegmentationConfig:function(){return Dn},setGlobalRepresentationConfig:function(){return In},setGlobalSegmentationConfig:function(){return En},setRepresentationConfig:function(){return On},setSegmentationConfig:function(){return Cn},updateGlobalRepresentationConfig:function(){return _n},updateGlobalSegmentationConfig:function(){return Sn}});var a={};c.r(a),c.d(a,{getAnnotationSelected:function(){return cr},getAnnotationsSelected:function(){return lr},getAnnotationsSelectedByToolName:function(){return sr},getAnnotationsSelectedCount:function(){return dr},isAnnotationSelected:function(){return ur},setAnnotationSelected:function(){return or}});var i={};c.r(i),c.d(i,{createSynchronizer:function(){return Eo},destroy:function(){return bo},destroySynchronizerById:function(){return So},getAllSynchronizers:function(){return _o},getSynchronizerById:function(){return Io},getSynchronizers:function(){return qr}});var l={};c.r(l),c.d(l,{hideElementCursor:function(){return ua},initElementCursor:function(){return la},resetElementCursor:function(){return sa},setElementCursor:function(){return ca}});var u={};c.r(u),c.d(u,{createToolGroup:function(){return pa},destroy:function(){return oo},destroyToolGroupByToolGroupId:function(){return no},getAllToolGroups:function(){return ya},getToolGroup:function(){return Vt},getToolGroupByToolGroupId:function(){return tn}});var d={};c.r(d),c.d(d,{createCameraPositionSynchronizer:function(){return ba},createVOISynchronizer:function(){return _a}});var v={};c.r(v),c.d(v,{draw:function(){return Ut},drawCircle:function(){return Oa},drawEllipse:function(){return xa},drawHandles:function(){return Ta},drawLine:function(){return Ma},drawLinkedTextBox:function(){return ja},drawRect:function(){return Ba},drawTextBox:function(){return Ra}});var f={};c.r(f),c.d(f,{createMergedLabelmapForIndex:function(){return ai},extend2DBoundingBoxInViewAxis:function(){return ei},getBoundingBoxAroundShape:function(){return Qa},getDefaultRepresentationConfig:function(){return _e},isValidRepresentationConfig:function(){return Ie},thresholdVolumeByRange:function(){return ri},thresholdVolumeByRoiStats:function(){return oi}});var g={};c.r(g),c.d(g,{getTextBoxCoordsCanvas:function(){return ii}});var h={};c.r(h),c.d(h,{findClosestPoint:function(){return Pa},liangBarksyClip:function(){return si}});var m={};c.r(m),c.d(m,{getCanvasEllipseCorners:function(){return di},pointInEllipse:function(){return ui}});var p={};c.r(p),c.d(p,{distanceToPoint:function(){return gi},distanceToPointSquared:function(){return fi},intersectLine:function(){return mi}});var y={};c.r(y),c.d(y,{distanceToPoint:function(){return pi}});var w={};c.r(w),c.d(w,{ellipse:function(){return m},lineSegment:function(){return p},rectangle:function(){return y},vec2:function(){return h}});var E={};c.r(E),c.d(E,{default:function(){return Ci},filterAnnotationsForDisplay:function(){return bi},filterAnnotationsWithinSlice:function(){return wi},getPointInLineOfSightWithCriteria:function(){return Si},getWorldWidthAndHeightFromCorners:function(){return Ei}});var b={};c.r(b),c.d(b,{default:function(){return Ai},getSliceRange:function(){return Mi},scrollThroughStack:function(){return Ni},snapFocalPointToSlice:function(){return Oi}});var I={};c.r(I),c.d(I,{filterViewportsWithFrameOfReferenceUID:function(){return Ri},filterViewportsWithToolEnabled:function(){return Vi},getViewportIdsWithToolToRender:function(){return Fi}});var _={};c.r(_),c.d(_,{calibrateImageSpacing:function(){return Za},debounce:function(){return za},deepMerge:function(){return Me},drawing:function(){return g},getAnnotationNearPoint:function(){return Wa},getAnnotationNearPointOnEnabledElement:function(){return Ga},isObject:function(){return Ha},math:function(){return w},planar:function(){return E},pointInShapeCallback:function(){return Ja},pointInSurroundingSphereCallback:function(){return ti},segmentation:function(){return f},stackScrollTool:function(){return b},throttle:function(){return Ka},transformPhysicalToIndex:function(){return $a},triggerAnnotationRenderForViewportIds:function(){return zr},triggerEvent:function(){return L.triggerEvent},viewportFilters:function(){return I}});var S={};c.r(S),c.d(S,{CursorNames:function(){return Gi},ImageMouseCursor:function(){return Vo},MouseCursor:function(){return Lo},SVGMouseCursor:function(){return ea},elementCursor:function(){return l},registerCursor:function(){return Yo},setCursorForElement:function(){return Wi}});var D={};c.r(D);var C={};c.r(C),c.d(C,{getFont:function(){return zi},getState:function(){return qi},getStyle:function(){return Hi},setAnnotationStyle:function(){return Ki},setGlobalStyle:function(){return Yi},setToolStyle:function(){return Zi}});var O={};c.r(O),c.d(O,{config:function(){return C},locking:function(){return e},selection:function(){return a},state:function(){return t}});var x={};c.r(x),c.d(x,{getActiveSegmentationInfo:function(){return rl},setActiveSegmentation:function(){return ol}});var T={};c.r(T),c.d(T,{getSegmentIndexLocked:function(){return al},getSegmentIndexLockedForSegmentation:function(){return ll},getSegmentsLockedForSegmentation:function(){return sl},setSegmentIndexLocked:function(){return il},setSegmentIndexLockedForSegmentation:function(){return cl}});var M={};c.r(M),c.d(M,{addColorLUT:function(){return ul},getColorForSegmentIndex:function(){return dl}});var k={};c.r(k),c.d(k,{getSegmentationVisibility:function(){return fl},setSegmentationVisibility:function(){return vl}});var N={};c.r(N),c.d(N,{getActiveSegmentIndex:function(){return gl},getActiveSegmentIndexForSegmentation:function(){return pl},setActiveSegmentIndex:function(){return hl},setActiveSegmentIndexForSegmentation:function(){return ml}});var A={};c.r(A),c.d(A,{activeSegmentation:function(){return x},addSegmentationsForToolGroup:function(){return el},createNewSegmentationForToolGroup:function(){return nl},removeSegmentationsFromToolGroup:function(){return to},segmentIndex:function(){return N},segmentLocking:function(){return T},segmentationColor:function(){return M},segmentationConfig:function(){return o},segmentationVisibility:function(){return k},state:function(){return r},triggerSegmentationEvents:function(){return n}});var R,L=c(571);!function(e){e.ANNOTATION_ADDED="CORNERSTONE_TOOLS_ANNOTATION_ADDED",e.ANNOTATION_MODIFIED="CORNERSTONE_TOOLS_ANNOTATION_MODIFIED",e.ANNOTATION_REMOVED="CORNERSTONE_TOOLS_ANNOTATION_REMOVED",e.ANNOTATION_SELECTION_CHANGE="CORNERSTONE_TOOLS_ANNOTATION_SELECTION_CHANGE",e.ANNOTATION_LOCK_CHANGE="CORNERSTONE_TOOLS_ANNOTATION_LOCK_CHANGE",e.ANNOTATION_RENDERED="CORNERSTONE_TOOLS_ANNOTATION_RENDERED",e.SEGMENTATION_RENDERED="CORNERSTONE_TOOLS_SEGMENTATION_RENDERED",e.SEGMENTATION_STATE_MODIFIED="CORNERSTONE_TOOLS_SEGMENTATION_STATE_MODIFIED",e.SEGMENTATION_GLOBAL_STATE_MODIFIED="CORNERSTONE_TOOLS_SEGMENTATION_GLOBAL_STATE_MODIFIED",e.SEGMENTATION_DATA_MODIFIED="CORNERSTONE_TOOLS_SEGMENTATION_DATA_MODIFIED",e.KEY_DOWN="CORNERSTONE_TOOLS_KEY_DOWN",e.KEY_UP="CORNERSTONE_TOOLS_KEY_UP",e.MOUSE_DOWN="CORNERSTONE_TOOLS_MOUSE_DOWN",e.MOUSE_UP="CORNERSTONE_TOOLS_MOUSE_UP",e.MOUSE_DOWN_ACTIVATE="CORNERSTONE_TOOLS_MOUSE_DOWN_ACTIVATE",e.MOUSE_DRAG="CORNERSTONE_TOOLS_MOUSE_DRAG",e.MOUSE_MOVE="CORNERSTONE_TOOLS_MOUSE_MOVE",e.MOUSE_CLICK="CORNERSTONE_TOOLS_MOUSE_CLICK",e.MOUSE_DOUBLE_CLICK="CORNERSTONE_TOOLS_MOUSE_DOUBLE_CLICK",e.MOUSE_WHEEL="CORNERSTONE_TOOLS_MOUSE_WHEEL"}(R||(R={}));var P=R;function U(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function V(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function j(e,t,n){return t&&V(e.prototype,t),n&&V(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function B(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var F=c(907),W=c.n(F),G=new Set;function q(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=$();e&&(t?X(e,G,n):J(e,G,n)),Q(n,G)}function H(){var e=$();!function(e,t){e.forEach((function(n){J(n,e,t)}))}(G,e),Q(e,G)}function z(){return Array.from(G)}function K(e){return G.has(e)}function Y(){return G.size}function Z(e){if(e){var t=!!e.isLocked;(function(e){var t=Object.getOwnPropertyDescriptor(e,"isLocked");return t?t.configurable&&(t.set!==ee||t.get!==te):Object.isExtensible(e)})(e)&&Object.defineProperty(e,"isLocked",{configurable:!1,enumerable:!0,set:ee,get:te}),q(e,t)}}function $(){return Object.freeze({added:[],removed:[],locked:[]})}function X(e,t,n){t.has(e)||(t.add(e),n.added.push(e))}function J(e,t,n){t.delete(e)&&n.removed.push(e)}function Q(e,t){(e.added.length>0||e.removed.length>0)&&(t.forEach((function(t){e.locked.push(t)})),(0,L.triggerEvent)(L.eventTarget,P.ANNOTATION_LOCK_CHANGE,e))}function ee(e){q(this,e)}function te(){return K(this)}var ne=function(){function e(t){var n=this;U(this,e),B(this,"annotations",void 0),B(this,"uid",void 0),B(this,"_imageVolumeModifiedHandler",(function(e){var t=e.detail.FrameOfReferenceUID,r=n.annotations[t];r&&Object.keys(r).forEach((function(e){r[e].forEach((function(e){void 0!==e.invalidated&&(e.invalidated=!0)}))}))})),B(this,"getFramesOfReference",(function(){return Object.keys(n.annotations)})),B(this,"getFrameOfReferenceAnnotations",(function(e){return n.annotations[e]})),B(this,"get",(function(e,t){var r=n.annotations[e];if(r)return r[t]})),B(this,"getAnnotation",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n._getToolSpecificAnnotationsAndIndex(e,t);if(r){var o=r.toolSpecificAnnotations,a=r.index;return o[a]}})),B(this,"addAnnotation",(function(e){var t=e.metadata,r=t.FrameOfReferenceUID,o=t.toolName,a=n.annotations,i=a[r];i||(a[r]={},i=a[r]);var l=i[o];l||(i[o]=[],l=i[o]),l.push(e),Z(e)})),B(this,"removeAnnotation",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n._getToolSpecificAnnotationsAndIndex(e,t);if(r){var o=r.toolSpecificAnnotations,a=r.index,i=o[0].metadata;if(o.splice(a,1),!o.length){var l=i.toolName;delete n.annotations[i.FrameOfReferenceUID][l]}}})),B(this,"saveAnnotations",(function(e,t){var r=n.annotations;if(e&&t){var o=r[e];if(!o)return;var a=o[t];return W()(a)}if(e){var i=r[e];return W()(i)}return W()(r)})),B(this,"restoreAnnotations",(function(e,t,r){var o=n.annotations;if(t&&r){var a=o[t];a||(o[t]={},a=o[t]),a[r]=e}else t?o[t]=e:n.annotations=W()(e)})),t||(t=L.utilities.uuidv4()),this.annotations={},this.uid=t,L.eventTarget.addEventListener(L.Enums.Events.IMAGE_VOLUME_MODIFIED,this._imageVolumeModifiedHandler)}return j(e,[{key:"_getToolSpecificAnnotationsAndIndex",value:function(e,t){for(var n,r=t.toolName,o=t.FrameOfReferenceUID,a=this.annotations,i=(n=o?[o]:Object.keys(a)).length,l=0;l<i;l++)for(var c,s=a[n[l]],u=(c=r?[r]:Object.keys(s)).length,d=0;d<u;d++){var v=s[c[d]],f=v.findIndex((function(t){return t.annotationUID===e}));if(-1!==f)return{toolSpecificAnnotations:v,index:f}}}}]),e}(),re=new ne("DEFAULT");function oe(){return re}function ae(e){return re}function ie(e,t){var n=(0,L.getEnabledElement)(e),r=ae(),o=n.FrameOfReferenceUID;return r.get(o,t)}function le(e,t){var n=ae();void 0===t.annotationUID&&(t.annotationUID=L.utilities.uuidv4()),n.addAnnotation(t);var r=(0,L.getEnabledElement)(e),o=r.renderingEngine,a=r.viewportId,i=P.ANNOTATION_ADDED,l={annotation:t,viewportId:a,renderingEngineId:o.id};(0,L.triggerEvent)(L.eventTarget,i,l)}function ce(e,t){var n=ae(),r=n.getAnnotation(t);n.removeAnnotation(t);var o=(0,L.getEnabledElement)(e),a=o.renderingEngine,i=o.viewportId,l=P.ANNOTATION_REMOVED,c={annotation:r,viewportId:i,renderingEngineId:a.id};(0,L.triggerEvent)(L.eventTarget,l,c)}function se(e,t){return ae().getAnnotation(e)}var ue=[[0,0,0,0],[221,84,84,255],[77,228,121,255],[166,70,235,255],[189,180,116,255],[109,182,196,255],[204,101,157,255],[123,211,94,255],[93,87,218,255],[225,128,80,255],[73,232,172,255],[181,119,186,255],[176,193,112,255],[105,153,200,255],[208,97,120,255],[90,215,101,255],[135,83,222,255],[229,178,76,255],[122,183,181,255],[190,115,171,255],[149,197,108,255],[100,118,205,255],[212,108,93,255],[86,219,141,255],[183,79,226,255],[233,233,72,255],[118,167,187,255],[194,111,146,255],[116,201,104,255],[115,96,209,255],[216,147,89,255],[82,223,188,255],[230,75,224,255],[163,184,121,255],[114,143,191,255],[198,107,114,255],[99,206,122,255],[153,92,213,255],[220,192,85,255],[78,215,227,255],[234,71,173,255],[141,188,117,255],[110,113,195,255],[202,128,103,255],[95,210,157,255],[195,88,217,255],[206,224,81,255],[74,166,231,255],[185,120,139,255],[113,192,113,255],[133,106,199,255],[207,162,98,255],[91,214,198,255],[221,84,198,255],[159,228,77,255],[70,111,235,255],[189,119,116,255],[109,196,138,255],[165,101,204,255],[211,201,94,255],[87,191,218,255],[225,80,153,255],[106,232,73,255],[124,119,186,255],[193,142,112,255],[105,200,168,255],[203,97,208,255],[184,215,90,255],[83,147,222,255],[229,76,101,255],[122,183,130,255],[146,115,190,255],[197,171,108,255],[100,205,205,255],[212,93,177,255],[141,219,86,255],[79,97,226,255],[233,99,72,255],[118,187,150,255],[173,111,194,255],[197,201,104,255],[96,171,209,255],[216,89,137,255],[94,223,82,255],[107,75,230,255],[184,153,121,255],[114,191,175,255],[198,107,191,255],[166,206,99,255],[92,132,213,255],[220,85,91,255],[78,227,115,255],[159,71,234,255],[188,176,117,255],[110,185,195,255],[202,103,161,255],[129,210,95,255],[88,88,217,255],[224,123,81,255],[74,231,166,255],[177,120,185,255],[179,192,113,255],[106,156,199,255],[207,98,125,255],[91,214,96,255],[130,84,221,255],[228,171,77,255],[70,235,221,255],[189,116,174,255],[153,196,109,255],[101,123,204,255],[211,104,94,255],[87,218,136,255],[177,80,225,255],[232,225,73,255],[119,169,186,255],[193,112,149,255],[121,200,105,255],[111,97,208,255],[215,142,90,255],[83,222,181,255],[229,76,229,255],[165,183,122,255],[115,146,190,255],[197,108,119,255],[100,205,118,255],[148,93,212,255],[219,186,86,255],[79,220,226,255],[233,72,179,255],[144,187,118,255],[111,118,194,255],[201,124,104,255],[96,209,153,255],[189,89,216,255],[211,223,82,255],[75,172,230,255],[184,121,142,255],[117,191,114,255],[130,107,198,255],[206,157,99,255],[92,213,193,255],[220,85,203,255],[165,227,78,255],[71,118,234,255],[188,117,117,255],[110,195,135,255],[161,103,202,255],[210,195,95,255],[88,195,217,255],[224,81,158,255],[113,231,74,255],[123,120,185,255],[192,139,113,255],[106,199,164,255],[198,98,207,255],[188,214,91,255],[84,153,221,255],[228,77,108,255],[70,235,84,255],[143,116,189,255],[196,167,109,255],[101,204,199,255],[211,94,182,255],[147,218,87,255],[80,104,225,255],[232,93,73,255],[119,186,147,255],[170,112,193,255],[200,200,105,255],[97,175,208,255],[215,90,142,255],[100,222,83,255],[101,76,229,255],[183,150,122,255],[115,190,171,255],[197,108,194,255],[170,205,100,255],[93,138,212,255],[219,86,97,255],[79,226,110,255],[153,72,233,255],[187,173,118,255],[111,187,194,255],[201,104,165,255],[134,209,96,255],[89,95,216,255],[223,117,82,255],[75,230,159,255],[174,121,184,255],[182,191,114,255],[107,160,198,255],[206,99,130,255],[92,213,92,255],[124,85,220,255],[227,165,78,255],[71,234,214,255],[188,117,176,255],[156,195,110,255],[103,128,202,255],[210,100,95,255],[88,217,131,255],[170,81,224,255],[231,218,74,255],[120,172,185,255],[192,113,153,255],[125,199,106,255],[107,98,207,255],[214,137,91,255],[84,221,175,255],[222,77,228,255],[194,235,70,255],[116,149,189,255],[196,109,123,255],[101,204,114,255],[143,94,211,255],[218,180,87,255],[80,225,225,255],[232,73,186,255],[147,186,119,255],[112,122,193,255],[200,121,105,255],[97,208,148,255],[184,90,215,255],[216,222,83,255],[76,178,229,255],[183,122,145,255],[121,190,115,255],[126,108,197,255],[205,153,100,255],[93,212,187,255],[219,86,208,255],[171,226,79,255],[72,126,233,255],[187,118,121,255],[111,194,132,255],[157,104,201,255],[209,190,96,255],[89,200,216,255],[223,82,164,255],[120,230,75,255],[121,121,184,255],[191,136,114,255],[107,198,160,255],[192,99,206,255],[193,213,92,255],[85,158,220,255],[227,78,115,255],[71,234,78,255],[141,117,188,255],[195,163,110,255],[103,202,194,255],[210,95,186,255],[153,217,88,255],[81,111,224,255]];function de(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ve(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?de(Object(n),!0).forEach((function(t){B(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):de(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var fe={colorLutTables:[],global:{segmentations:[],config:{renderInactiveSegmentations:!0,representations:{}}},toolGroups:{}},ge=function(){function e(t){U(this,e),B(this,"state",void 0),B(this,"uid",void 0),t||(t=L.utilities.uuidv4()),this.state=W()(fe),this.uid=t}return j(e,[{key:"getState",value:function(){return W()(this.state)}},{key:"getToolGroups",value:function(){return Object.keys(this.state.toolGroups)}},{key:"getColorLut",value:function(e){return this.state.colorLutTables[e]}},{key:"resetState",value:function(){this.state=W()(fe)}},{key:"getGlobalSegmentationData",value:function(e){var t;return null===(t=this.state.global.segmentations)||void 0===t?void 0:t.find((function(t){return t.volumeId===e}))}},{key:"getGlobalSegmentationState",value:function(){return this.state.global.segmentations}},{key:"getGlobalSegmentationConfig",value:function(){return this.state.global.config}},{key:"setGlobalSegmentationConfig",value:function(e){this.state.global.config=e}},{key:"getToolGroupsWithSegmentation",value:function(e){var t=this,n=Object.keys(this.state.toolGroups),r=[];return n.forEach((function(n){t.getSegmentationState(n).find((function(t){return t.volumeId===e}))&&r.push(n)})),r}},{key:"getSegmentationState",value:function(e){return this.state.toolGroups[e]?this.state.toolGroups[e].segmentations:[]}},{key:"getSegmentationConfig",value:function(e){var t=this.state.toolGroups[e];if(t)return t.config}},{key:"setSegmentationConfig",value:function(e,t){var n=this.state.toolGroups[e];n||(this.state.toolGroups[e]={segmentations:[],config:{renderInactiveSegmentations:!0,representations:{}}},n=this.state.toolGroups[e]),n.config=ve(ve({},n.config),t)}},{key:"getSegmentationDataByUID",value:function(e,t){return this.getSegmentationState(e).find((function(e){return e.segmentationDataUID===t}))}},{key:"getActiveSegmentationData",value:function(e){return this.getSegmentationState(e).find((function(e){return e.active}))}},{key:"addColorLUT",value:function(e,t){this.state.colorLutTables[t]&&console.log("Color LUT table already exists, overwriting"),this.state.colorLutTables[t]=e}},{key:"addGlobalSegmentationData",value:function(e){var t=e.volumeId;this._initDefaultColorLutIfNecessary();var n=this.getGlobalSegmentationData(t),r=ve(ve({},n),e);if(n){var o=this.state.global.segmentations.findIndex((function(e){return e.volumeId===t}));this.state.global.segmentations[o]=r}else this.state.global.segmentations.push({volumeId:t,label:e.label,referenceVolumeId:e.referenceVolumeId,cachedStats:e.cachedStats,referenceImageId:e.referenceImageId,activeSegmentIndex:e.activeSegmentIndex,segmentsLocked:e.segmentsLocked})}},{key:"addSegmentationData",value:function(e,t){this.state.toolGroups[e]||(this.state.toolGroups[e]={segmentations:[],config:{}}),this.state.toolGroups[e].segmentations.push(t),this._handleActiveSegmentation(e,t)}},{key:"setActiveSegmentationData",value:function(e,t){var n=this.getSegmentationState(e);if(!n||!n.length)throw new Error("No segmentation data found for toolGroupId: ".concat(e));var r=n.find((function(e){return e.segmentationDataUID===t}));if(!r)throw new Error("No segmentation data found for segmentation data UID ".concat(t));r.active=!0,this._handleActiveSegmentation(e,r)}},{key:"removeSegmentationData",value:function(e,t){var n=this.getSegmentationState(e);if(!n||!n.length)throw new Error("No viewport specific segmentation state found for viewport ".concat(e));var r=n.findIndex((function(e){return e.segmentationDataUID===t}));-1===r&&console.warn("No viewport specific segmentation state data found for viewport ".concat(e," and segmentation data UID ").concat(t));var o=n[r];n.splice(r,1),this._handleActiveSegmentation(e,o)}},{key:"_handleActiveSegmentation",value:function(e,t){var n=this.getSegmentationState(e);0!==n.length&&(1!==n.length&&0!==n.filter((function(e){return e.active})).length?t.active&&n.forEach((function(e){e.segmentationDataUID!==t.segmentationDataUID&&(e.active=!1)})):n[0].active=!0)}},{key:"_initDefaultColorLutIfNecessary",value:function(){0!==this.state.colorLutTables.length&&this.state.colorLutTables[0]||this.addColorLUT(ue,0)}}]),e}(),he=new ge("DEFAULT");function me(e){var t={toolGroupId:e};(0,L.triggerEvent)(L.eventTarget,P.SEGMENTATION_STATE_MODIFIED,t)}function pe(e){var t,n;e?(t=He(e),n=[e]):(t=ze(),n=Pe().map((function(e){return e.volumeId}))),n.forEach((function(e){var t={segmentationUID:e};(0,L.triggerEvent)(L.eventTarget,P.SEGMENTATION_GLOBAL_STATE_MODIFIED,t)})),t.forEach((function(e){me(e)}))}function ye(e,t){var n={toolGroupId:e,segmentationDataUID:t};(0,L.triggerEvent)(L.eventTarget,P.SEGMENTATION_DATA_MODIFIED,n)}var we,Ee={renderOutline:!0,outlineWidth:3,outlineWidthActive:3,outlineWidthInactive:2,renderFill:!0,fillAlpha:.9,fillAlphaInactive:.85};!function(e){e.Labelmap="LABELMAP"}(we||(we={}));var be=we;function Ie(e,t){if(e===be.Labelmap)return function(e){return e&&"boolean"==typeof e.renderOutline&&"number"==typeof e.outlineWidth&&"number"==typeof e.outlineWidthActive&&"number"==typeof e.outlineWidthInactive&&"boolean"==typeof e.renderFill&&"number"==typeof e.fillAlpha&&"number"==typeof e.fillAlphaInactive}(t);throw new Error("Unknown representation type: ".concat(e))}function _e(e){if(e===be.Labelmap)return Ee;throw new Error("Unknown representation type: ".concat(e))}function Se(e){return Se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Se(e)}var De=function(e){return e&&"object"===Se(e)&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)},Ce=function(e,t){var n;return t&&!0===t.clone&&De(e)?Te((n=e,Array.isArray(n)?[]:{}),e,t):e},Oe=function(e,t,n){var r=e.slice();return t.forEach((function(t,o){void 0===r[o]?r[o]=Ce(t,n):De(t)?r[o]=Te(e[o],t,n):-1===e.indexOf(t)&&r.push(Ce(t,n))})),r},xe=function(e,t,n){var r={};return De(e)&&Object.keys(e).forEach((function(t){r[t]=Ce(e[t],n)})),Object.keys(t).forEach((function(o){De(t[o])&&e[o]?r[o]=Te(e[o],t[o],n):r[o]=Ce(t[o],n)})),r},Te=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=Array.isArray(t),o=n||{arrayMerge:Oe},a=o.arrayMerge||Oe;return r?Array.isArray(e)?a(e,t,n):Ce(t,n):xe(e,t,n)},Me=Te;function ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ne(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ke(Object(n),!0).forEach((function(t){B(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ke(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ae(){return he}function Re(e){return Ae().getGlobalSegmentationData(e)}function Le(e,t){Ae().addGlobalSegmentationData(e),t||pe(e.volumeId)}function Pe(){return Ae().getGlobalSegmentationState()}function Ue(e){return Ae().getSegmentationState(e)}function Ve(e,t){return Ae().getSegmentationDataByUID(e,t)}function je(e,t){Ae().removeSegmentationData(e,t),me(e)}function Be(e,t,n){var r=Ae();!function(e,t){var n=Re(t.volumeId),r=t.representation.type,o=Fe(),a=o.representations[r],i=Ie(r,a),l=!n||!i;if(!n){var c=t.volumeId;Le({volumeId:c,label:c,referenceVolumeId:null,cachedStats:{},referenceImageId:null,activeSegmentIndex:1,segmentsLocked:new Set},l)}if(!i){var s=_e(r),u=Me(s,a);We(Ne(Ne({},o),{},{representations:Ne(Ne({},o.representations),{},B({},r,u))}),l)}l&&pe(t.volumeId)}(0,t),r.addSegmentationData(e,t),n||me(e)}function Fe(){return Ae().getGlobalSegmentationConfig()}function We(e,t){Ae().setGlobalSegmentationConfig(e),t||pe()}function Ge(e,t,n){Ae().setSegmentationConfig(e,t),n||me(e)}function qe(e){return Ae().getSegmentationConfig(e)}function He(e){return Ae().getToolGroupsWithSegmentation(e)}function ze(){return Ae().getToolGroups()}function Ke(e){return Ae().getColorLut(e)}function Ye(e,t){Ae().addColorLUT(e,t)}function Ze(e,t,n){Ae().setActiveSegmentationData(e,t),n||me(e)}function $e(e){var t=Ae().getSegmentationState(e);if(0!==t.length)return t.find((function(e){return e.active}))}function Xe(e,t){var n=t||e.currentTarget,r=(0,L.getEnabledElement)(n).viewport,o=function(e){return[e.clientX,e.clientY]}(e),a=function(e){return[e.pageX,e.pageY]}(e),i=function(e,t){var n=e.getBoundingClientRect();return[t[0]-n.left-window.pageXOffset,t[1]-n.top-window.pageYOffset]}(n,a);return{page:a,client:o,canvas:i,world:r.canvasToWorld(i)}}var Je=function(e){var t=e.currentTarget,n=(0,L.getEnabledElement)(t),r=n.viewportId,o=n.renderingEngineId,a=Xe(e,t),i={event:e,eventName:P.MOUSE_DOUBLE_CLICK,viewportId:r,renderingEngineId:o,camera:{},element:t,startPoints:a,lastPoints:a,currentPoints:a,deltaPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]}};(0,L.triggerEvent)(t,P.MOUSE_DOUBLE_CLICK,i)},Qe=P.MOUSE_MOVE,et=function(e){var t=e.currentTarget,n=(0,L.getEnabledElement)(t),r={renderingEngineId:n.renderingEngineId,viewportId:n.viewportId,camera:{},element:t,currentPoints:Xe(e),eventName:Qe,event:e};(0,L.triggerEvent)(t,Qe,r)},tt=P.MOUSE_DOWN,nt=P.MOUSE_DOWN_ACTIVATE,rt=P.MOUSE_CLICK,ot=P.MOUSE_UP,at=P.MOUSE_DRAG,it={mouseButton:void 0,element:null,renderingEngineId:void 0,viewportId:void 0,isClickEvent:!0,clickDelay:200,preventClickTimeout:null,startPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]},lastPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]}},lt={mouseButton:void 0,renderingEngineId:void 0,viewportId:void 0,isClickEvent:!0,clickDelay:200,element:null,preventClickTimeout:null,startPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]},lastPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]}};function ct(e){var t=Xe(e,lt.element),n=function(e,t){var n=(0,L.getEnabledElement)(e).viewport.canvasToWorld(t.canvas);return{page:t.page,client:t.client,canvas:t.canvas,world:n}}(lt.element,lt.lastPoints),r=vt(t,n),o={event:e,eventName:at,mouseButton:lt.mouseButton,renderingEngineId:lt.renderingEngineId,viewportId:lt.viewportId,camera:{},element:lt.element,startPoints:dt(lt.startPoints),lastPoints:dt(n),currentPoints:t,deltaPoints:r};(0,L.triggerEvent)(lt.element,at,o),lt.lastPoints=dt(t)}function st(e){clearTimeout(lt.preventClickTimeout);var t=lt.isClickEvent?rt:ot,n=Xe(e,lt.element),r=vt(n,lt.lastPoints),o={event:e,eventName:t,mouseButton:lt.mouseButton,element:lt.element,renderingEngineId:lt.renderingEngineId,viewportId:lt.viewportId,camera:{},startPoints:dt(lt.startPoints),lastPoints:dt(lt.lastPoints),currentPoints:n,deltaPoints:r};(0,L.triggerEvent)(o.element,t,o),document.removeEventListener("mousemove",ct),document.removeEventListener("mouseup",st),lt.element.addEventListener("mousemove",et),lt=JSON.parse(JSON.stringify(it))}function ut(){lt.isClickEvent=!1}function dt(e){return JSON.parse(JSON.stringify(e))}function vt(e,t){return{page:ft(e.page,t.page),client:ft(e.client,t.client),canvas:ft(e.canvas,t.canvas),world:(n=e.world,r=t.world,[n[0]-r[0],n[1]-r[1],n[2]-r[2]])};var n,r}function ft(e,t){return[e[0]-t[0],e[1]-t[1]]}var gt=function(e){lt.element=e.currentTarget,lt.mouseButton=e.button;var t=(0,L.getEnabledElement)(lt.element),n=t.renderingEngineId,r=t.viewportId;lt.renderingEngineId=n,lt.viewportId=r,lt.preventClickTimeout=setTimeout(ut,lt.clickDelay),lt.element.removeEventListener("mousemove",et);var o=Xe(e,lt.element),a=vt(o,o),i={event:e,eventName:tt,element:lt.element,mouseButton:lt.mouseButton,renderingEngineId:lt.renderingEngineId,viewportId:lt.viewportId,camera:{},startPoints:o,lastPoints:o,currentPoints:o,deltaPoints:a};lt.startPoints=dt(i.startPoints),lt.lastPoints=dt(i.lastPoints),(0,L.triggerEvent)(i.element,tt,i)&&(0,L.triggerEvent)(i.element,nt,i),document.addEventListener("mousemove",ct),document.addEventListener("mouseup",st)};function ht(e){e.removeEventListener("dblclick",Je),e.removeEventListener("mousedown",gt),e.removeEventListener("mousemove",et)}var mt={enable:function(e){ht(e),e.addEventListener("dblclick",Je),e.addEventListener("mousedown",gt),e.addEventListener("mousemove",et)},disable:ht},pt=function(e){var t=e.currentTarget,n=(0,L.getEnabledElement)(t),r=n.renderingEngineId,o=n.viewportId;if(!(e.deltaY>-1&&e.deltaY<1)){e.preventDefault();var a=function(e){var t=0,n=0,r=0,o=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),r=10*t,o=10*n,"deltaY"in e&&(o=e.deltaY),"deltaX"in e&&(r=e.deltaX),(r||o)&&e.deltaMode&&(1===e.deltaMode?(r*=40,o*=40):(r*=800,o*=800)),r&&!t&&(t=r<1?-1:1),o&&!n&&(n=o<1?-1:1),{spinX:t,spinY:n,pixelX:r,pixelY:o}}(e),i=a.spinX,l=a.spinY,c=a.pixelX,s=a.pixelY,u=l<0?-1:1,d={event:e,eventName:P.MOUSE_WHEEL,renderingEngineId:r,viewportId:o,element:t,camera:{},detail:e,wheel:{spinX:i,spinY:l,pixelX:c,pixelY:s,direction:u},points:Xe(e)};(0,L.triggerEvent)(t,P.MOUSE_WHEEL,d)}};function yt(e){e.removeEventListener("wheel",pt)}var wt={enable:function(e){yt(e),e.addEventListener("wheel",pt,{passive:!1})},disable:yt},Et={renderingEngineId:void 0,viewportId:void 0,key:void 0,keyCode:void 0,element:null},bt={renderingEngineId:void 0,viewportId:void 0,key:void 0,keyCode:void 0,element:null};function It(e){bt.element=e.currentTarget;var t=(0,L.getEnabledElement)(bt.element),n=t.renderingEngineId,r=t.viewportId;bt.renderingEngineId=n,bt.viewportId=r,bt.key=e.key,bt.keyCode=e.keyCode,e.preventDefault();var o={renderingEngineId:bt.renderingEngineId,viewportId:bt.viewportId,element:bt.element,key:bt.key,keyCode:bt.keyCode};(0,L.triggerEvent)(o.element,P.KEY_DOWN,o),document.addEventListener("keyup",_t),bt.element.removeEventListener("keydown",It)}function _t(e){var t={renderingEngineId:bt.renderingEngineId,viewportId:bt.viewportId,element:bt.element,key:bt.key,keyCode:bt.keyCode};document.removeEventListener("keyup",_t),bt.element.addEventListener("keydown",It),bt=W()(Et),(0,L.triggerEvent)(t.element,P.KEY_UP,t)}var St=It;function Dt(e){e.removeEventListener("keydown",St)}var Ct,Ot,xt={enable:function(e){Dt(e),e.addEventListener("keydown",St)},disable:Dt,getModifierKey:function(){return bt.keyCode}};(Ot=Ct||(Ct={})).Active="Active",Ot.Passive="Passive",Ot.Enabled="Enabled",Ot.Disabled="Disabled";var Tt=Ct,Mt={},kt={isInteractingWithTool:!1,isMultiPartToolActive:!1,tools:{},toolGroups:[],synchronizers:[],svgNodeCache:Mt,enabledElements:[],handleRadius:6},Nt={isInteractingWithTool:!1,isMultiPartToolActive:!1,tools:{},toolGroups:[],synchronizers:[],svgNodeCache:Mt,enabledElements:[],handleRadius:6};function At(e,t){if(Nt.svgNodeCache[e])return Nt.svgNodeCache[e][t]?Nt.svgNodeCache[e][t].domRef:void 0}function Rt(e,t,n,r){if(!Nt.svgNodeCache[t])return null;Nt.svgNodeCache[t][r]={touched:!0,domRef:n},e.appendChild(n)}function Lt(e,t){Nt.svgNodeCache[e]&&Nt.svgNodeCache[e][t]&&(Nt.svgNodeCache[e][t].touched=!0)}function Pt(e,t){Nt.svgNodeCache[t]&&Object.keys(Nt.svgNodeCache[t]).forEach((function(n){var r=Nt.svgNodeCache[t][n];!r.touched&&r.domRef&&(e.removeChild(r.domRef),delete Nt.svgNodeCache[t][n])}))}var Ut=function(e,t){var n=function(e){var t=(0,L.getEnabledElement)(e),n=t.viewportId,r=t.renderingEngineId,o="".concat(n,":").concat(r),a=function(e){return e.firstChild.querySelector(".svg-layer")}(e);return Object.keys(Nt.svgNodeCache[o]).forEach((function(e){Nt.svgNodeCache[o][e].touched=!1})),{enabledElement:t,_element:e,_svgLayerElement:a,_svgNodeCacheForCanvas:Nt.svgNodeCache,_getSvgNode:At.bind(this,o),_appendNode:Rt.bind(this,a,o),_setNodeTouched:Lt.bind(this,o),_clearUntouched:Pt.bind(this,a,o)}}(e);t(n),n._clearUntouched()},Vt=function(e,t){var n=Nt.toolGroups.filter((function(n){return n.viewportsInfo.some((function(n){return n.renderingEngineId===t&&(!n.viewportId||n.viewportId===e)}))}));if(n.length){if(n.length>1)throw new Error("Multiple tool groups found for renderingEngineId: ".concat(t," and viewportId: ").concat(e,". You should only\n have one tool group per viewport in a renderingEngine."));return n[0]}};function jt(e,t){var n=(0,L.getEnabledElement)(e),r=n.renderingEngineId,o=n.viewportId,a=Vt(o,r);if(!a)return[];for(var i=[],l=Object.keys(a.toolOptions),c=0;c<l.length;c++){var s=l[c],u=a.toolOptions[s];if(u&&t.includes(u.mode)){var d=a.getToolInstance(s);i.push(d)}}return i}function Bt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ft(e,t){return Ft=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Ft(e,t)}function Wt(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ft(e,t)}function Gt(e,t){if(t&&("object"===Se(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return Bt(e)}function qt(e){return qt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},qt(e)}var Ht=function(){function e(t,n){U(this,e),B(this,"supportedInteractionTypes",void 0),B(this,"configuration",void 0),B(this,"toolGroupId",void 0),B(this,"mode",void 0);var r=Me(n,t),o=r.configuration,a=void 0===o?{}:o,i=r.supportedInteractionTypes,l=r.toolGroupId;a.strategies||(a.strategies={},a.defaultStrategy=void 0,a.activeStrategy=void 0,a.strategyOptions={}),this.toolGroupId=l,this.supportedInteractionTypes=i||[],this.configuration=Object.assign({},a),this.mode=Tt.Disabled}return j(e,[{key:"getToolName",value:function(){return this.constructor.toolName}},{key:"applyActiveStrategy",value:function(e,t){var n=this.configuration;return n.strategies[n.activeStrategy].call(this,e,t)}},{key:"setConfiguration",value:function(e){this.configuration=Me(this.configuration,e)}},{key:"setActiveStrategy",value:function(e){this.setConfiguration({activeStrategy:e})}},{key:"getTargetVolumeId",value:function(e){if(!(e instanceof L.VolumeViewport))throw new Error("getTargetVolumeId: viewport must be a VolumeViewport");if(this.configuration.volumeId)return this.configuration.volumeId;var t=e.getActors();return t||t.length?t[0].uid:void 0}},{key:"getTargetIdViewportAndImage",value:function(e,t){var n,r;if(e.startsWith("stackTarget")){var o=e.indexOf(":"),a=e.substring(o+1);n=(r=t.getViewport(a)).getImageData()}else n=L.cache.getVolume(e);return{image:n,viewport:r}}},{key:"getTargetId",value:function(e){if(e instanceof L.StackViewport)return"stackTarget:".concat(e.id);if(e instanceof L.VolumeViewport)return this.getTargetVolumeId(e);throw new Error("getTargetId: viewport must be a StackViewport or VolumeViewport")}}]),e}();B(Ht,"toolName","BaseTool");var zt=Ht;function Kt(e,t,n,r,o,a,i){try{var l=e[a](i),c=l.value}catch(e){return void n(e)}l.done?t(c):Promise.resolve(c).then(r,o)}function Yt(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var a=e.apply(t,n);function i(e){Kt(a,r,o,i,l,"next",e)}function l(e){Kt(a,r,o,i,l,"throw",e)}i(void 0)}))}}var Zt=c(162),$t=c.n(Zt),Xt=c(103),Jt=c.n(Xt),Qt=c(634),en=c.n(Qt),tn=function(e){return Nt.toolGroups.find((function(t){return t.id===e}))},nn=function(e,t){var n=(0,L.getEnabledElement)(e).viewport,r=t.representation,o=t.segmentationDataUID;if(r.type!==be.Labelmap)throw new Error("Only labelmap representation is supported for now");n.removeVolumeActors([o])};function rn(){return(rn=Yt($t().mark((function e(t,n){var r,o,a,i,l,c,s;return $t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&n){e.next=2;break}throw new Error("You need to provide an element and a segmentation");case 2:if(r=(0,L.getEnabledElement)(t),o=r.renderingEngine,a=r.viewport,i=a.id,l=n.representation,c=n.segmentationDataUID,l.type!==be.Labelmap){e.next=13;break}return s=n.volumeId,e.next=11,(0,L.addVolumesToViewports)(o,[{volumeId:s,actorUID:c,visibility:!0}],[i]);case 11:e.next=14;break;case 13:throw new Error("Only labelmap representation is supported for now");case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var on=function(e,t){return rn.apply(this,arguments)};function an(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ln(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?an(Object(n),!0).forEach((function(t){B(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):an(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function cn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return sn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?sn(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function sn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var un=255,dn=new Map;function vn(){return(vn=Yt($t().mark((function e(t,n,r){var o,a,i,l,c,s,u,d,v,f,g,h;return $t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=n.volumeId,a=n.segmentationDataUID,i=n.representation,e.next=3,gn(t,n);case 3:l=void 0!==n.segmentsHidden?n.segmentsHidden:new Set,c=void 0===n.visibility||n.visibility,s=void 0!==n.colorLUTIndex?n.colorLUTIndex:0,u=void 0===n.active||n.active,d=i.config.cfun||Jt().newInstance(),v=i.config.ofun||en().newInstance(),f={volumeId:o,segmentationDataUID:a,segmentsHidden:l,visibility:c,colorLUTIndex:s,active:u,representation:{type:be.Labelmap,config:{cfun:d,ofun:v}}},r&&(g=qe(t),h=Me(g,r),Ge(t,{renderInactiveSegmentations:h.renderInactiveSegmentations||!0,representations:ln({},h.representations)},!0)),Be(t,f);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function fn(e,t,n,r){var o="".concat(e,"-").concat(t),a=dn.get(o);return!(a&&a.fillAlpha===n&&a.colorLUTIndex===r||(dn.set(o,{fillAlpha:n,colorLUTIndex:r}),0))}function gn(e,t){return hn.apply(this,arguments)}function hn(){return(hn=Yt($t().mark((function e(t,n){var r,o,a,i,l,c,s,u,d;return $t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=tn(t),o=r.viewportsInfo,a=cn(o),e.prev=3,a.s();case 5:if((i=a.n()).done){e.next=15;break}if(l=i.value,c=l.viewportId,s=l.renderingEngineId,u=(0,L.getEnabledElementByIds)(c,s)){e.next=11;break}throw new Error("No enabled element found for rendering engine: ".concat(s," and viewport: ").concat(c));case 11:d=u.viewport,on(d.element,n);case 13:e.next=5;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(3),a.e(e.t0);case 20:return e.prev=20,a.f(),e.finish(20);case 23:case"end":return e.stop()}}),e,null,[[3,17,20,23]])})))).apply(this,arguments)}var mn={render:function(e,t,n){var r=t.volumeId,o=t.colorLUTIndex,a=t.active,i=t.representation,l=t.segmentationDataUID,c=t.visibility,s=i;if(!L.cache.getVolume(r))throw new Error("No Labelmap found for volumeId: ".concat(r));var u=e.getActor(l);if(u){var d=s.config,v=d.cfun,f=d.ofun,g=n.representations[be.Labelmap],h=n.renderInactiveSegmentations;!function(e,t,n,r,o,a,i,l){var c=!(arguments.length>8&&void 0!==arguments[8])||arguments[8];r.addPoint(0,0);var s=i?a.fillAlpha:a.fillAlphaInactive,u=i?a.outlineWidthActive:a.outlineWidthInactive,d=Ke(o),v=Math.min(256,d.length),f=t.volumeActor;if(t.uid,fn(e,t.uid,s,o)){for(var g=0;g<v;g++){var h=d[g];n.addRGBPoint(g,h[0]/un,h[1]/un,h[2]/un);var m=h[3]/255*s;r.addPoint(g,m)}r.setClamping(!1),f.getProperty().setRGBTransferFunction(0,n),f.getProperty().setScalarOpacity(0,r)}f.getProperty().setInterpolationTypeToNearest(),f.getProperty().setUseLabelOutline(a.renderOutline),f.getProperty().setLabelOutlineThickness(u);var p=c&&(i||l);f.setVisibility(p)}(e.id,u,v,f,o,g,a,h,c)}else console.warn("No actor found for actorUID: ",l)},addSegmentationData:function(e,t,n){return vn.apply(this,arguments)},removeSegmentationData:function(e,t){!function(e,t){var n=tn(e);if(void 0===n)throw new Error("ToolGroup with ToolGroupId ".concat(e," does not exist"));var r,o=n.viewportsInfo,a=Ve(e,t),i=cn(o);try{for(i.s();!(r=i.n()).done;){var l=r.value,c=l.viewportId,s=l.renderingEngineId,u=(0,L.getEnabledElementByIds)(c,s);nn(u.viewport.element,a)}}catch(e){i.e(e)}finally{i.f()}}(e,t),je(e,t)}};function pn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function yn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pn(Object(n),!0).forEach((function(t){B(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function wn(){return Fe()}function En(e){We(e)}function bn(e){return wn().representations[e]}function In(e,t){var n=wn();En(yn(yn({},n),{},{representations:yn(yn({},n.representations),{},B({},e,t))}))}function _n(e,t){In(e,yn(yn({},bn(e)),t))}function Sn(e){En(yn(yn({},wn()),e))}function Dn(e){return qe(e)}function Cn(e,t){Ge(e,t)}function On(e,t,n){var r=qe(e);r&&Cn(e,yn(yn({},r),{},{representations:yn(yn({},r.representations),{},B({},t,n))}))}function xn(e,t){var n=Dn(e);if(n)return n.representations[t]}function Tn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Mn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mn(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function Mn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var kn=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{configuration:{}};return U(this,o),B(Bt(e=r.call(this,t,n)),"renderSegmentation",(function(t){var n=tn(t);if(n){var r=Ue(t),o=n.viewportsInfo.map((function(e){var t=e.renderingEngineId,n=e.viewportId,r=(0,L.getEnabledElementByIds)(n,t);if(r)return r.viewport}));r.forEach((function(n){var r=e._getSegmentationConfig(t),a=n.representation;o.forEach((function(e){if(a.type!=be.Labelmap)throw new Error("Render for ".concat(a.type," is not supported yet"));mn.render(e,n,r)}))})),o.forEach((function(e){e.render()}))}})),e}return j(o,[{key:"enableCallback",value:function(){var e=this.toolGroupId,t=Ue(e);if(0!==t.length){var n,r=Tn(t);try{for(r.s();!(n=r.n()).done;)n.value.visibility=!0}catch(e){r.e(e)}finally{r.f()}me(e)}}},{key:"disableCallback",value:function(){var e=this.toolGroupId,t=Ue(e);if(0!==t.length){var n,r=Tn(t);try{for(r.s();!(n=r.n()).done;)n.value.visibility=!1}catch(e){r.e(e)}finally{r.f()}me(e)}}},{key:"_getSegmentationConfig",value:function(e){var t=Dn(e),n=wn();return Me(n,t)}}]),o}(zt);function Nn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}B(kn,"toolName","SegmentationDisplay");var An=Tt.Active,Rn=Tt.Passive,Ln=Tt.Enabled,Pn=function(){function e(){var t=this;U(this,e),B(this,"hasBeenDestroyed",void 0),B(this,"_needsRender",new Set),B(this,"_animationFrameSet",!1),B(this,"_animationFrameHandle",null),B(this,"_viewportElements",void 0),B(this,"_renderFlaggedViewports",(function(){t._throwIfDestroyed();for(var e=Array.from(t._viewportElements.values()),n=0;n<e.length;n++){var r=e[n];if(t._needsRender.has(r)&&(t._triggerRender(r),t._needsRender.delete(r),0===t._needsRender.size))return t._animationFrameSet=!1,void(t._animationFrameHandle=null)}})),this._viewportElements=new Map}return j(e,[{key:"addViewportElement",value:function(e,t){this._viewportElements.set(e,t)}},{key:"removeViewportElement",value:function(e){this._viewportElements.delete(e),0===this._viewportElements.size&&this._reset()}},{key:"renderViewport",value:function(e){this._setViewportsToBeRenderedNextFrame([e])}},{key:"_throwIfDestroyed",value:function(){if(this.hasBeenDestroyed)throw new Error("this.destroy() has been manually called to free up memory, can not longer use this instance. Instead make a new one.")}},{key:"_setViewportsToBeRenderedNextFrame",value:function(e){var t=this;e.forEach((function(e){t._needsRender.add(e)})),this._render()}},{key:"_render",value:function(){this._needsRender.size>0&&!1===this._animationFrameSet&&(this._animationFrameHandle=window.requestAnimationFrame(this._renderFlaggedViewports),this._animationFrameSet=!0)}},{key:"_triggerRender",value:function(e){var t=(0,L.getEnabledElement)(e);if(t)if((0,L.getRenderingEngine)(t.renderingEngineId)){var n=jt(e,[An,Rn,Ln]),r=t.renderingEngineId,o=t.viewportId,a={element:e,renderingEngineId:r,viewportId:o};Ut(e,(function(r){n.forEach((function(n){n instanceof kn||!n.renderAnnotation||(n.renderAnnotation(t,r),(0,L.triggerEvent)(e,P.ANNOTATION_RENDERED,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Nn(Object(n),!0).forEach((function(t){B(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},a)))}))}))}else console.warn("rendering Engine has been destroyed");else console.warn("Element has been disabled")}},{key:"_reset",value:function(){window.cancelAnimationFrame(this._animationFrameHandle),this._needsRender.clear(),this._animationFrameSet=!1,this._animationFrameHandle=null}}]),e}(),Un=new Pn,Vn=function(e){Un.renderViewport(e)},jn=function(e){Vn(e.detail.element)};function Bn(e,t,n){var r=e.detail,o=r.renderingEngineId,a=r.viewportId,i=Vt(a,o);if(!i)return[];for(var l=[],c=Object.keys(i.toolOptions),s=0;s<c.length;s++){var u=c[s],d=i.toolOptions[u],v=null!=n&&d.bindings.length&&d.bindings.some((function(e){return e.mouseButton===n}));if(t.includes(d.mode)&&(!n||v)){var f=i.getToolInstance(u);l.push(f)}}return l}var Fn=Tt.Active,Wn=Tt.Passive,Gn=Tt.Enabled,qn=function(e){Bn(e,[Fn,Wn,Gn]).forEach((function(t){t.onCameraModified&&t.onCameraModified(e)}))},Hn=Tt.Active,zn=Tt.Passive,Kn=Tt.Enabled,Yn=function(e){Bn(e,[Hn,zn,Kn]).forEach((function(t){t.onImageSpacingCalibrated&&t.onImageSpacingCalibrated(e)}))},Zn=Tt.Active;function $n(e,t,n){if(Nt.isInteractingWithTool)return!1;var r,o=n.detail,a=o.renderingEngineId,i=o.viewportId,l=Vt(i,a);if(!l)return!1;for(var c=Object.keys(l.toolOptions),s=0;s<c.length;s++){var u=c[s],d=l.toolOptions[u],v=l.getToolInstance(u);if(d.mode===Zn&&"function"==typeof v[t]){r=l.getToolInstance(u);break}}r&&r[t](n)}var Xn=$n.bind(null,"Mouse","mouseClickCallback");function Jn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Qn(e,t){if(e){if("string"==typeof e)return Jn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Jn(e,t):void 0}}function er(e){return function(e){if(Array.isArray(e))return Jn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Qn(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var tr,nr,rr=new Set;function or(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t?ar(e,n):ir(e)}function ar(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=vr();t||fr(rr,n),e&&!rr.has(e)&&(rr.add(e),n.added.push(e)),gr(n,rr)}function ir(e){var t=vr();e?rr.delete(e)&&t.removed.push(e):fr(rr,t),gr(t,rr)}function lr(){return Array.from(rr)}function cr(e){return lr().find((function(t){return t.annotationUID===e}))}function sr(e){return lr().filter((function(t){return t.metadata.toolName===e}))}function ur(e){return rr.has(e)}function dr(){return rr.size}function vr(){return Object.freeze({added:[],removed:[],selection:[]})}function fr(e,t){e.forEach((function(n){e.delete(n)&&t.removed.push(n)}))}function gr(e,t){(e.added.length>0||e.removed.length>0)&&(t.forEach((function(t){e.selection.push(t)})),(0,L.triggerEvent)(L.eventTarget,P.ANNOTATION_SELECTION_CHANGE,e))}function hr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function mr(e,t){for(var n=[],r=0;r<t.length;r++){var o=t[r];if(o){var a=ie(e,o.constructor.toolName);a&&("function"==typeof o.filterInteractableAnnotationsForElement&&(a=o.filterInteractableAnnotationsForElement(e,a)),a.length>0&&n.push({tool:o,annotations:a}))}else console.warn("undefined tool in filterToolsWithAnnotationsForElement")}return n}function pr(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return yr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yr(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function yr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!function(e){e[e.Primary=1]="Primary",e[e.Secondary=2]="Secondary",e[e.Primary_And_Secondary=3]="Primary_And_Secondary",e[e.Auxiliary=4]="Auxiliary",e[e.Primary_And_Auxiliary=5]="Primary_And_Auxiliary",e[e.Secondary_And_Auxiliary=6]="Secondary_And_Auxiliary",e[e.Primary_And_Secondary_And_Auxiliary=7]="Primary_And_Secondary_And_Auxiliary",e[e.Fourth_Button=8]="Fourth_Button",e[e.Fifth_Button=16]="Fifth_Button"}(tr||(tr={})),function(e){e[e.Shift=16]="Shift",e[e.Ctrl=18]="Ctrl",e[e.Alt=17]="Alt"}(nr||(nr={}));var wr=Tt.Active;function Er(e){var t=e.detail,n=t.renderingEngineId,r=t.viewportId,o=e.detail.event,a=xt.getModifierKey(),i=Vt(r,n);if(!i)return null;for(var l=Object.keys(i.toolOptions),c=0;c<l.length;c++){var s=l[c],u=i.toolOptions[s],d=u.bindings.length&&u.bindings.some((function(e){return e.mouseButton===(o?o.buttons:tr.Primary)&&e.modifierKey===a}));if(u.mode===wr&&d)return i.getToolInstance(s)}}var br=Tt.Active,Ir=Tt.Passive;function _r(e){if(!Nt.isInteractingWithTool){var t=Er(e);if(t&&"function"==typeof t.preMouseDownCallback&&t.preMouseDownCallback(e))return;var n=1===e.detail.event.buttons,r=Bn(e,[br],e.detail.event.buttons),o=n?Bn(e,[Ir]):void 0,a=[].concat(er(r||[]),er(o||[])),i=e.detail,l=i.element,c=mr(l,a),s=i.currentPoints.canvas,u=function(e,t,n){var r=[];return t.forEach((function(t){var o,a=t.tool,i=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return hr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?hr(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(t.annotations);try{for(i.s();!(o=i.n()).done;){var l=o.value;if(!l.isLocked){var c=a.getHandleNearImagePoint(e,l,n,6);if(c){r.push({tool:a,annotation:l,handle:c});break}}}}catch(e){i.e(e)}finally{i.f()}})),r}(l,c,s),d=!!e.detail.event.shiftKey;if(u.length>0){var v=Sr(u),f=v.tool,g=v.annotation,h=v.handle;return Dr(g,d),void f.handleSelectedCallback(e,g,h,"Mouse")}var m=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"mouse",o=6,a=[];return t.forEach((function(t){var i,l=t.tool,c=pr(t.annotations);try{for(c.s();!(i=c.n()).done;){var s=i.value;if(!s.isLocked&&l.isPointNearTool(e,s,n,o,r)){a.push({tool:l,annotation:s});break}}}catch(e){c.e(e)}finally{c.f()}})),a}(l,c,s,"mouse");if(m.length>0){var p=Sr(m),y=p.tool,w=p.annotation;return Dr(w,d),void y.toolSelectedCallback(e,w,"Mouse")}if(t&&"function"==typeof t.postMouseDownCallback&&t.postMouseDownCallback(e))return}}function Sr(e){return e.length>1&&e.find((function(e){return!K(e.annotation)}))||e[0]}function Dr(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t)if(ur(e))or(e,!1);else{var n=!0;or(e,!0,n)}else{var r=!1;or(e,!0,r)}}function Cr(e){if(!Nt.isInteractingWithTool){var t=Er(e);t&&(Nt.isMultiPartToolActive||t.addNewAnnotation&&or(t.addNewAnnotation(e,"mouse")))}}var Or=$n.bind(null,"Mouse","doubleClickCallback");function xr(e){if(!Nt.isInteractingWithTool){var t=Er(e);!t||"function"!=typeof t.mouseDragCallback||t.mouseDragCallback(e)}}function Tr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Mr=Tt.Active,kr=Tt.Passive;function Nr(e){if(!Nt.isInteractingWithTool&&!Nt.isMultiPartToolActive){var t,n=Bn(e,[Mr,kr]),r=e.detail.element,o=!1,a=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Tr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tr(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(mr(r,n));try{for(a.s();!(t=a.n()).done;){var i=t.value,l=i.tool,c=i.annotations;"function"==typeof l.mouseMoveCallback&&(o=l.mouseMoveCallback(e,c)||o)}}catch(e){a.e(e)}finally{a.f()}!0===o&&Vn(r)}}var Ar=$n.bind(null,"Mouse","mouseUpCallback"),Rr=$n.bind(null,"MouseWheel","mouseWheelCallback"),Lr=function(e){e.addEventListener(P.MOUSE_CLICK,Xn),e.addEventListener(P.MOUSE_DOWN,_r),e.addEventListener(P.MOUSE_DOWN_ACTIVATE,Cr),e.addEventListener(P.MOUSE_DOUBLE_CLICK,Or),e.addEventListener(P.MOUSE_DRAG,xr),e.addEventListener(P.MOUSE_MOVE,Nr),e.addEventListener(P.MOUSE_UP,Ar),e.addEventListener(P.MOUSE_WHEEL,Rr)},Pr=function(e){e.removeEventListener(P.MOUSE_CLICK,Xn),e.removeEventListener(P.MOUSE_DOWN,_r),e.removeEventListener(P.MOUSE_DOWN_ACTIVATE,Cr),e.removeEventListener(P.MOUSE_DOUBLE_CLICK,Or),e.removeEventListener(P.MOUSE_DRAG,xr),e.removeEventListener(P.MOUSE_MOVE,Nr),e.removeEventListener(P.MOUSE_UP,Ar),e.removeEventListener(P.MOUSE_WHEEL,Rr)},Ur=Tt.Active;function Vr(e){var t=e.detail,n=t.renderingEngineId,r=t.viewportId,o=lt.mouseButton,a=xt.getModifierKey(),i=Vt(r,n);if(!i)return null;for(var l=Object.keys(i.toolOptions),c=0;c<l.length;c++){var s=l[c],u=i.toolOptions[s],d=u.bindings.length&&u.bindings.some((function(e){return e.mouseButton===(null!=o?o:tr.Primary)&&e.modifierKey===a}));if(u.mode===Ur&&d)return i.getToolInstance(s)}}function jr(e){var t=Vr(e);if(t){var n=e.detail,r=n.renderingEngineId,o=n.viewportId,a=Vt(o,r),i=t.getToolName();Object.keys(a.toolOptions).includes(i)&&a.setViewportsCursorByToolName(i)}}function Br(e){var t=Vr(e);if(t){var n=e.detail,r=n.renderingEngineId,o=n.viewportId,a=Vt(o,r);bt.keyCode=void 0;var i=t.getToolName();Object.keys(a.toolOptions).includes(i)&&a.setViewportsCursorByToolName(i)}}var Fr=function(e){e.addEventListener(P.KEY_DOWN,jr),e.addEventListener(P.KEY_UP,Br)},Wr=function(e){e.removeEventListener(P.KEY_DOWN,jr),e.removeEventListener(P.KEY_UP,Br)};function Gr(e){var t,n=e.detail,r=n.element,o=n.viewportId,a=function(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"svg");t.classList.add("svg-layer"),t.setAttribute("id","svg-layer"),t.setAttribute("xmlns","http://www.w3.org/2000/svg"),t.style.width="100%",t.style.height="100%",t.style.pointerEvents="none",t.style.position="absolute";var n=document.createElementNS(e,"defs"),r=document.createElementNS(e,"filter"),o=document.createElementNS(e,"feOffset"),a=document.createElementNS(e,"feColorMatrix"),i=document.createElementNS(e,"feGaussianBlur"),l=document.createElementNS(e,"feBlend");return r.setAttribute("id","shadow"),r.setAttribute("width","110%"),r.setAttribute("height","110%"),o.setAttribute("result","offOut"),o.setAttribute("in","SourceGraphic"),o.setAttribute("dx","0.5"),o.setAttribute("dy","0.5"),a.setAttribute("result","matrixOut"),a.setAttribute("in","offOut"),a.setAttribute("type","matrix"),a.setAttribute("values","0.2 0 0 0 0 0 0.2 0 0 0 0 0 0.2 0 0 0 0 0 1 0"),i.setAttribute("result","blurOut"),i.setAttribute("in","matrixOut"),i.setAttribute("stdDeviation","0.25"),l.setAttribute("in","SourceGraphic"),l.setAttribute("in2","blurOut"),l.setAttribute("mode","normal"),r.appendChild(o),r.appendChild(a),r.appendChild(i),r.appendChild(l),n.appendChild(r),t.appendChild(n),t}();!function(e){var t=e.dataset,n=t.viewportUid,r=t.renderingEngineUid,o="".concat(n,":").concat(r);Nt.svgNodeCache[o]={}}(r),t=a,r.querySelector("div.viewport-element").appendChild(t),Un.addViewportElement(o,r),mt.enable(r),wt.enable(r),xt.enable(r),function(e){e.addEventListener(L.Enums.Events.IMAGE_RENDERED,jn)}(r),function(e){e.addEventListener(L.Enums.Events.CAMERA_MODIFIED,qn)}(r),function(e){e.addEventListener(L.Enums.Events.IMAGE_SPACING_CALIBRATED,Yn)}(r),Lr(r),Fr(r),Nt.enabledElements.push(r)}var qr=function(e,t){var n=[];if(!e&&!t)throw new Error("At least one of renderingEngineId or viewportId should be given");for(var r=0;r<Nt.synchronizers.length;r++){var o=Nt.synchronizers[r],a=!o.isDisabled(),i=o.hasSourceViewport(e,t);a&&i&&n.push(o)}return n},Hr=function(e){var t=e.detail,n=t.element,r=t.viewportId;!function(e){var t=e.dataset,n=t.viewportUid,r=t.renderingEngineUid,o="".concat(n,":").concat(r);delete Nt.svgNodeCache[o]}(n);var o=n.querySelector("svg"),a=n.querySelector("div.".concat("viewport-element"));o&&a.removeChild(o),Un.removeViewportElement(r),mt.disable(n),wt.disable(n),xt.disable(n),function(e){e.removeEventListener(L.Enums.Events.IMAGE_RENDERED,jn)}(n),function(e){e.removeEventListener(L.Enums.Events.CAMERA_MODIFIED,qn)}(n),function(e){e.removeEventListener(L.Enums.Events.IMAGE_SPACING_CALIBRATED,Yn)}(n),Pr(n),Wr(n),function(e){var t=(0,L.getEnabledElement)(e);qr(t.renderingEngineId,t.viewportId).forEach((function(e){e.remove(t)}))}(n),function(e){var t=(0,L.getEnabledElement)(e),n=t.renderingEngineId,r=t.viewportId,o=Vt(r,n);o&&o.removeViewports(n,r)}(n),function(e){var t=Nt.enabledElements.findIndex((function(t){return t===e}));t>-1&&Nt.enabledElements.splice(t,1)}(n)},zr=function(e,t){t.length&&t.forEach((function(t){var n=e.getViewport(t).element;Vn(n)}))},Kr=function(e){e.detail.removed.length&&(0,L.getRenderingEngines)().forEach((function(e){var t=e.getViewports().map((function(e){return e.id}));zr(e,t)}))};function Yr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Zr=function(){function e(){var t=this;U(this,e),B(this,"_needsRender",new Set),B(this,"_animationFrameSet",!1),B(this,"_animationFrameHandle",null),B(this,"hasBeenDestroyed",void 0),B(this,"_renderFlaggedToolGroups",(function(){t._throwIfDestroyed();for(var e=0,n=Array.from(t._needsRender.values());e<n.length;e++){var r=n[e];if(t._triggerRender(r),t._needsRender.delete(r),0===t._needsRender.size)return t._animationFrameSet=!1,void(t._animationFrameHandle=null)}}))}return j(e,[{key:"renderToolGroupSegmentations",value:function(e){this._setToolGroupSegmentationToBeRenderedNextFrame([e])}},{key:"_throwIfDestroyed",value:function(){if(this.hasBeenDestroyed)throw new Error("this.destroy() has been manually called to free up memory, can not longer use this instance. Instead make a new one.")}},{key:"_setToolGroupSegmentationToBeRenderedNextFrame",value:function(e){var t=this;e.forEach((function(e){t._needsRender.add(e)})),this._render()}},{key:"_render",value:function(){this._needsRender.size>0&&!1===this._animationFrameSet&&(this._animationFrameHandle=window.requestAnimationFrame(this._renderFlaggedToolGroups),this._animationFrameSet=!0)}},{key:"_triggerRender",value:function(e){var t=tn(e);if(t){var n=t.viewportsInfo,r=[];n.forEach((function(e){var t=e.viewportId,n=e.renderingEngineId,o=(0,L.getRenderingEngine)(n);o?r.push(o.getViewport(t)):console.warn("rendering Engine has been destroyed")}));var o=t.getToolInstance(kn.toolName);r.forEach((function(e){e.element.addEventListener(L.Enums.Events.IMAGE_RENDERED,a)})),o.renderSegmentation(e)}else console.warn("No tool group found with toolGroupId: ".concat(e));function a(e){var t=e.detail,n=t.element,r=t.viewportId,o=t.renderingEngineId;n.removeEventListener(L.Enums.Events.IMAGE_RENDERED,a);var i={toolGroupId:Vt(r,o).id,viewportId:r};(0,L.triggerEvent)(L.eventTarget,P.SEGMENTATION_RENDERED,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Yr(Object(n),!0).forEach((function(t){B(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},i))}}},{key:"_reset",value:function(){window.cancelAnimationFrame(this._animationFrameHandle),this._needsRender.clear(),this._animationFrameSet=!1,this._animationFrameHandle=null}}]),e}(),$r=new Zr,Xr=function(e){$r.renderToolGroupSegmentations(e)},Jr=function(e){var t=e.detail,n=t.toolGroupId,r=t.segmentationDataUID,o=Ve(n,r);if(o){var a=o.representation.type;if(a!==be.Labelmap)throw new Error("onSegmentationDataModified: representationType ".concat(a," not supported yet"));var i=o.volumeId,l=L.cache.getVolume(i);if(l){var c=l.imageData,s=l.vtkOpenGLTexture,u=c.getDimensions()[2];er(Array(u).keys()).forEach((function(e){s.setUpdatedFrame(e)})),c.modified(),He(i).forEach((function(e){Xr(e)}))}else console.warn("segmentation not found in cache")}else console.warn("onSegmentationDataModified: segmentationDataUID ".concat(r," not found in toolGroupId ").concat(n))},Qr=function(e){var t=e.detail.toolGroupId;Xr(t)},eo=function(e){var t=e.detail,n=t.viewportId,r=t.renderingEngineId,o=(0,L.getRenderingEngine)(r);zr(o,[n])},to=function(e,t){var n=Ue(e).map((function(e){return e.segmentationDataUID})),r=t;if(r){var o=t.filter((function(e){return!n.includes(e)}));if(o.length>0)throw new Error("You are trying to remove segmentationDataUIDs that are not in the toolGroup: segmentationDataUID: ".concat(o))}else r=n;r.forEach((function(t){!function(e,t){var n=Ve(e,t).representation;if(n.type!==be.Labelmap)throw new Error("The representation ".concat(n," is not supported"));mn.removeSegmentationData(e,t)}(e,t)}))},no=function(e){var t=Nt.toolGroups.findIndex((function(t){return t.id===e}));t>-1&&(to(e),Nt.toolGroups.splice(t,1))};function ro(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var oo=function(){var e,t=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return ro(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ro(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(er(Nt.toolGroups));try{for(t.s();!(e=t.n()).done;){var n=e.value;no(n.id)}}catch(e){t.e(e)}finally{t.f()}Nt.toolGroups=[]},ao=!1;function io(){ao||(function(){co();var e=L.Enums.Events.ELEMENT_ENABLED,t=L.Enums.Events.ELEMENT_DISABLED;L.eventTarget.addEventListener(e,Gr),L.eventTarget.addEventListener(t,Hr)}(),function(){so();var e=P.ANNOTATION_SELECTION_CHANGE,t=P.SEGMENTATION_DATA_MODIFIED,n=P.SEGMENTATION_STATE_MODIFIED,r=P.ANNOTATION_MODIFIED;L.eventTarget.addEventListener(e,Kr),L.eventTarget.addEventListener(t,Jr),L.eventTarget.addEventListener(n,Qr),L.eventTarget.addEventListener(e,Kr),L.eventTarget.addEventListener(r,eo)}(),ao=!0)}function lo(){co(),so(),oo(),Mt={},Nt=W()(kt);var e=oe(),t=Ae();e.restoreAnnotations({}),t.resetState(),ao=!1}function co(){var e=L.Enums.Events.ELEMENT_ENABLED,t=L.Enums.Events.ELEMENT_DISABLED;L.eventTarget.removeEventListener(e,Gr),L.eventTarget.removeEventListener(t,Hr)}function so(){var e=P.ANNOTATION_SELECTION_CHANGE,t=P.ANNOTATION_MODIFIED,n=P.SEGMENTATION_DATA_MODIFIED,r=P.SEGMENTATION_STATE_MODIFIED;L.eventTarget.removeEventListener(e,Kr),L.eventTarget.removeEventListener(n,Jr),L.eventTarget.removeEventListener(r,Qr),L.eventTarget.removeEventListener(e,Kr),L.eventTarget.removeEventListener(t,eo)}function uo(e){var t=e.toolName,n=void 0!==Nt.tools[t];if(!t)throw new Error("No Tool Found for the ToolClass ".concat(e.name));if(n)throw new Error("".concat(t," has already been added globally"));Nt.tools[t]={toolClass:e}}function vo(e){var t=e.toolName;if(!t)throw new Error("No tool found for: ".concat(e.name));if(void 0===!Nt.tools[t])throw new Error("".concat(t," cannot be removed because it has not been added"));delete Nt.tools[t]}function fo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function go(e){var t,n=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return fo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?fo(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(mr(e,jt(e,[Tt.Active,Tt.Passive])));try{for(n.s();!(t=n.n()).done;){var r=t.value.tool.cancel(e);if(r)return r}}catch(e){n.e(e)}finally{n.f()}}var ho=function(){function e(t,n,r){var o=this;U(this,e),B(this,"_enabled",void 0),B(this,"_eventName",void 0),B(this,"_eventHandler",void 0),B(this,"_ignoreFiredEvents",void 0),B(this,"_sourceViewports",void 0),B(this,"_targetViewports",void 0),B(this,"id",void 0),B(this,"_onEvent",(function(e){if(!0!==o._ignoreFiredEvents&&o._targetViewports.length){var t=(0,L.getEnabledElement)(e.currentTarget);if(t){var n=t.renderingEngineId,r=t.viewportId;o.fireEvent({renderingEngineId:n,viewportId:r},e)}}})),this._enabled=!0,this._eventName=n,this._eventHandler=r,this._ignoreFiredEvents=!1,this._sourceViewports=[],this._targetViewports=[],this.id=t}return j(e,[{key:"isDisabled",value:function(){return!this._enabled||!this._hasSourceElements()}},{key:"add",value:function(e){this.addTarget(e),this.addSource(e)}},{key:"addSource",value:function(e){if(!po(this._sourceViewports,e)){var t=e.renderingEngineId,n=e.viewportId;(0,L.getRenderingEngine)(t).getViewport(n).element.addEventListener(this._eventName,this._onEvent.bind(this)),this._updateDisableHandlers(),this._sourceViewports.push(e)}}},{key:"addTarget",value:function(e){po(this._targetViewports,e)||(this._targetViewports.push(e),this._updateDisableHandlers())}},{key:"getSourceViewports",value:function(){return this._sourceViewports}},{key:"getTargetViewports",value:function(){return this._targetViewports}},{key:"destroy",value:function(){var e=this;this._sourceViewports.forEach((function(t){return e.removeSource(t)})),this._targetViewports.forEach((function(t){return e.removeTarget(t)}))}},{key:"remove",value:function(e){this.removeTarget(e),this.removeSource(e)}},{key:"removeSource",value:function(e){var t=mo(this._sourceViewports,e);if(-1!==t){var n=function(e){var t=(0,L.getRenderingEngine)(e.renderingEngineId);if(!t)throw new Error("No RenderingEngine for Id: ".concat(e.renderingEngineId));return t.getViewport(e.viewportId).element}(e);this._sourceViewports.splice(t,1),n.removeEventListener(this._eventName,this._eventHandler),this._updateDisableHandlers()}}},{key:"removeTarget",value:function(e){var t=mo(this._targetViewports,e);-1!==t&&(this._targetViewports.splice(t,1),this._updateDisableHandlers())}},{key:"hasSourceViewport",value:function(e,t){return po(this._sourceViewports,{renderingEngineId:e,viewportId:t})}},{key:"fireEvent",value:function(e,t){if(!this.isDisabled()&&!this._ignoreFiredEvents){this._ignoreFiredEvents=!0;try{for(var n=0;n<this._targetViewports.length;n++){var r=this._targetViewports[n];e.viewportId===r.viewportId||this._eventHandler(this,e,r,t)}}catch(e){console.warn("Synchronizer, for: ".concat(this._eventName),e)}finally{this._ignoreFiredEvents=!1}}}},{key:"_hasSourceElements",value:function(){return 0!==this._sourceViewports.length}},{key:"_updateDisableHandlers",value:function(){var e=function(e,t){for(var n=[],r=e.concat(t),o=function(e){var t=r[e];n.some((function(e){return t.renderingEngineId===e.renderingEngineId&&t.viewportId===e.viewportId}))||n.push(t)},a=0;a<r.length;a++)o(a);return n}(this._sourceViewports,this._targetViewports),t=this.remove,n=function(e){t(e.detail.element)};e.forEach((function(e){var t=(0,L.getRenderingEngine)(e.renderingEngineId).getViewport(e.viewportId).element;t.removeEventListener(L.Enums.Events.ELEMENT_DISABLED,n),t.addEventListener(L.Enums.Events.ELEMENT_DISABLED,n)}))}}]),e}();function mo(e,t){return e.findIndex((function(e){return t.renderingEngineId===e.renderingEngineId&&t.viewportId===e.viewportId}))}function po(e,t){return e.some((function(e){return e.renderingEngineId===t.renderingEngineId&&e.viewportId===t.viewportId}))}var yo,wo=ho,Eo=function(e,t,n){if(Nt.synchronizers.some((function(t){return t.id===e})))throw new Error("Synchronizer with id '".concat(e,"' already exists."));var r=new wo(e,t,n);return Nt.synchronizers.push(r),r},bo=function(){for(;Nt.synchronizers.length>0;)Nt.synchronizers.pop().destroy()},Io=function(e){return Nt.synchronizers.find((function(t){return t.id===e}))},_o=function(){return Nt.synchronizers},So=function(e){var t=Nt.synchronizers.findIndex((function(t){return t.id===e}));t>-1&&(Nt.synchronizers[t].destroy(),Nt.synchronizers.splice(t,1))};function Do(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=qt(e)););return e}function Co(){return Co="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=Do(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},Co.apply(this,arguments)}!function(e){e.Default="",e.Highlighted="Highlighted",e.Selected="Selected",e.Locked="Locked"}(yo||(yo={}));var Oo,xo,To,Mo=yo;function ko(e,t,n,r){for(var o=function(e,t,n){var r=["tool.style.".concat(e)];return t&&r.push("".concat(r[0]).concat(t)),n&&r.push("".concat(r[r.length-1]).concat(n)),r}(t,n,r),a=o.length-1;a>=0;--a){var i=e.get(o[a]);if(void 0!==i)return i}}function No(e,t,n){return ko(L.Settings.getRuntimeSettings(),e,t,n)}L.Settings.getDefaultSettings().set("tool.style",{color:"rgb(255, 255, 0)",colorHighlighted:"rgb(0, 255, 0)",colorSelected:"rgb(0, 255, 0)",colorLocked:"rgb(255, 255, 0)",lineWidth:"1",lineDash:"",textBox:{fontFamily:"Helvetica Neue, Helvetica, Arial, sans-serif",fontSize:"14px",color:"rgb(255, 255, 0)",colorHighlighted:"rgb(0, 255, 0)",colorSelected:"rgb(0, 255, 0)",colorLocked:"rgb(255, 255, 0)",background:"",link:{lineWidth:"1",lineDash:"2,3"}}}),Oo=["",Tt.Active,Tt.Passive],xo=[Mo.Default,Mo.Highlighted,Mo.Selected,Mo.Locked],(To=L.Settings.getDefaultSettings()).forEach((function(e){var t=function(t){return t.length>0&&e.endsWith(t)};!e.startsWith("tool.style.")||xo.some(t)||Oo.some(t)||xo.forEach((function(t){Oo.forEach((function(n){var r="".concat(e).concat(t).concat(n);To.set(r,To.get(r))}))}))}));var Ao=Symbol("DefinedCursors"),Ro=new Set(["alias","all-scroll","auto","cell","col-resize","context-menu","copy","crosshair","default","e-resize","ew-resize","grab","grabbing","help","move","ne-resize","nesw-resize","no-drop","none","not-allowed","n-resize","ns-resize","nw-resize","nwse-resize","pointer","progress","row-resize","se-resize","s-resize","sw-resize","text","vertical-text","wait","w-resize","zoom-in","zoom-out"]),Lo=function(){function e(t,n){U(this,e),B(this,"name",void 0),B(this,"fallback",void 0),this.name=t+"",this.fallback=n}return j(e,[{key:"getName",value:function(){return this.name+""}},{key:"addFallbackStyleProperty",value:function(t){var n=this.fallback;return n instanceof e?"".concat(t,", ").concat(n.getStyleProperty()):t+""}},{key:"getStyleProperty",value:function(){return this.addFallbackStyleProperty(this.name)+""}}],[{key:"getDefinedCursor",value:function(t){var n=Po(e,Ao),r=n.get(t);return r instanceof e?r:Ro.has(t)?(r=new e(t),n.set(t,r),r):void 0}},{key:"setDefinedCursor",value:function(t,n){return n instanceof e&&(Po(e,Ao).set(t,n),!0)}}]),e}();function Po(e,t){var n=e[t];return n instanceof Map||(n=new Map,Object.defineProperty(e,t,{value:n})),n}var Uo=Ro.values();var Vo=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(e,t,n,a,i){var l;return U(this,o),B(Bt(l=r.call(this,a||o.getUniqueInstanceName("image-cursor"),i)),"url",void 0),B(Bt(l),"x",void 0),B(Bt(l),"y",void 0),l.url=e,l.x=Number(t)||0,l.y=Number(n)||0,l}return j(o,[{key:"getStyleProperty",value:function(){var e=this.url,t=this.x,n=this.y,r="url('".concat(e,"')");return t>=0&&n>=0&&(t>0||n>0)&&(r+=" ".concat(t," ").concat(n)),this.addFallbackStyleProperty(r)}}],[{key:"getUniqueInstanceName",value:function(e){return"".concat(e,"-").concat(L.utilities.getRuntimeId(o))}}]),o}(Lo),jo={iconContent:"",iconSize:16,viewBox:{x:16,y:16},mousePoint:{x:8,y:8},mousePointerGroupString:'\n <path stroke="{{color}}" d="M8 16L8 0"></path>\n <path stroke="{{color}}" d="M16 8L0 8"></path>\n '},Bo={x:127,y:60},Fo='\n<rect fill="{{color}}" x="80.19" y="25.03" width="47.14" height="15.85"/>\n',Wo='\n<rect fill="{{color}}" x="80.19" y="25.03" width="47.14" height="15.85"/>\n<rect fill="{{color}}" x="95.84" y="9.38" width="15.85" height="47.14"/>\n',Go='<path fill="{{color}}" d="M82.89,10a12.09,12.09,0,0,0-16.8-2.5l-27.5,20.4-8.5-6.3a2.93,2.93,0,0,1-1.1-3,14.66,14.66,0,0,0,.1-6.6,14.08,14.08,0,1,0-6.5,15.2,2.87,2.87,0,0,1,3.2.2l8.2,6.1-8.2,6.1a2.87,2.87,0,0,1-3.2.2,14.16,14.16,0,1,0,6.7,14.4,14,14,0,0,0-.3-5.8,2.93,2.93,0,0,1,1.1-3l8.5-6.3,27.5,20.4A11.91,11.91,0,0,0,82.89,57l-31.7-23.5ZM15.29,21a5.9,5.9,0,1,1,5.9-5.9A5.91,5.91,0,0,1,15.29,21Zm0,36.8a5.9,5.9,0,1,1,5.9-5.9A5.91,5.91,0,0,1,15.29,57.77Zm28.3-21.5a2.8,2.8,0,1,1,2.8-2.8A2.8,2.8,0,0,1,43.59,36.27Z" transform="translate(-1.17 -0.96)"/>',qo='<path fill="{{color}}" d="M8.86,2.25V66.08H72.69V2.25H8.86ZM65.28,58.67h-49v-49h49v49Z" transform="translate(-8.86 -2.25)"/>',Ho='<path fill="{{color}}" d="M40.77,2.25A31.92,31.92,0,1,0,72.69,34.16,31.92,31.92,0,0,0,40.77,2.25Zm0,57.63A25.71,25.71,0,1,1,66.48,34.16,25.71,25.71,0,0,1,40.77,59.87Z" transform="translate(-8.86 -2.25)"/>',zo={Angle:Ko(jo,{iconContent:'<path fill="{{color}}" d="M1203 544q0 13-10 23l-393 393 393 393q10 10 10 23t-10 23l-50\n 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23\n 10l50 50q10 10 10 23z" />',viewBox:{x:1792,y:1792}}),ArrowAnnotate:Ko(jo,{iconContent:'<g id="arrowAnnotate-group" fill="none" stroke-width="1" stroke="{{color}}" stroke-linecap="round" stroke-linejoin="round">\n <path id="arrowAnnotate-arrow" d="M23,7 l-15,15 M7,17 l0,6 6,0" stroke-width="2" />\n </g>',viewBox:{x:24,y:24}}),Bidirectional:Ko(jo,{iconContent:'<g fill="{{color}}" stroke-width="3" stroke="{{color}}">\n <path d="M27.63 3.21L3.12 28.81"></path>\n <path d="M27.63 15.75L15.27 4.43"></path>\n <path d="M16.5 4.28C16.5 4.96 15.95 5.51 15.27 5.51C14.59 5.51 14.03 4.96 14.03 4.28C14.03 3.59 14.59 3.04 15.27 3.04C15.95 3.04 16.5 3.59 16.5 4.28Z" ></path>\n <path d="M28.87 3.19C28.87 3.87 28.31 4.43 27.63 4.43C26.95 4.43 26.4 3.87 26.4 3.19C26.4 2.51 26.95 1.95 27.63 1.95C28.31 1.95 28.87 2.51 28.87 3.19Z"></path>\n <path d="M28.87 15.75C28.87 16.43 28.31 16.99 27.63 16.99C26.95 16.99 26.4 16.43 26.4 15.75C26.4 15.07 26.95 14.51 27.63 14.51C28.31 14.51 28.87 15.07 28.87 15.75Z"></path>\n <path d="M4.73 28.44C4.73 29.12 4.17 29.68 3.49 29.68C2.81 29.68 2.25 29.12 2.25 28.44C2.25 27.76 2.81 27.2 3.49 27.2C4.17 27.2 4.73 27.76 4.73 28.44Z"></path>\n </g>',viewBox:{x:48,y:48}}),CobbAngle:Ko(jo,{iconContent:'<g stroke="{{color}}" stroke-width="3">\n <path d="M28.59 2.34L3.82 12.32"></path>\n <path d="M28.59 29.66L3.82 19.68"></path>\n <path stroke-dasharray="2" fill-opacity="0" d="M12.37\n 23.06C12.67 22.36 12.85 21.93 12.92 21.76C14.6 17.8 14.68 13.35 13.15\n 9.33C13.11 9.24 13.02 9 12.88 8.63">\n </path>\n </g>',viewBox:{x:32,y:32}}),CircleRoi:Ko(jo,{iconContent:'<circle stroke="{{color}}" fill="none" stroke-width="3" cx="16" cy="16" r="14" />',viewBox:{x:32,y:32}}),EllipticalRoi:Ko(jo,{iconContent:'<path stroke="{{color}}" fill="none" stroke-width="3" d="M30.74 15.76C30.74 20.99 24.14 25.23 16\n 25.23C7.86 25.23 1.26 20.99 1.26 15.76C1.26 10.54 7.86 6.3 16 6.3C24.14\n 6.3 30.74 10.54 30.74 15.76Z" />',viewBox:{x:32,y:32}}),FreehandRoi:Ko(jo,{iconContent:'<g fill="{{color}}" stroke="{{color}}" stroke-width="2">\n <ellipse ry="1" rx="1" id="svg_3" cy="4.240343" cx="14.306499"/>\n <line id="svg_4" y2="3.58462" x2="12.242186" y1="3.997482" x1="13.432202"/>\n <line id="svg_5" y2="3.268901" x2="10.857882" y1="3.608906" x1="12.387902"/>\n <line id="svg_6" y2="3.147471" x2="9.740724" y1="3.293187" x1="10.955026"/>\n <line id="svg_7" y2="3.147471" x2="8.089274" y1="3.196043" x1="9.983585"/>\n <line id="svg_8" y2="3.268901" x2="6.874972" y1="3.123185" x1="8.307848"/>\n <line id="svg_9" y2="3.657478" x2="5.587812" y1="3.220329" x1="7.020688"/>\n <line id="svg_10" y2="4.046054" x2="4.737801" y1="3.560334" x1="5.854959"/>\n <line id="svg_11" y2="4.337487" x2="4.300652" y1="3.997482" x1="4.834945"/>\n <line id="svg_12" y2="4.726063" x2="3.88779" y1="4.191771" x1="4.470655"/>\n <line id="svg_15" y2="5.3575" x2="3.377783" y1="4.604633" x1="3.960648"/>\n <line id="svg_16" y2="6.183226" x2="2.916348" y1="5.138926" x1="3.547785"/>\n <line id="svg_17" y2="6.960379" x2="2.770632" y1="5.867507" x1="3.037779"/>\n <line id="svg_18" y2="7.713246" x2="2.673488" y1="6.741804" x1="2.819204"/>\n <line id="svg_19" y2="8.684687" x2="2.697774" y1="7.616102" x1="2.673488"/>\n <line id="svg_20" y2="9.753273" x2="2.892062" y1="8.611829" x1="2.697774"/>\n <line id="svg_21" y2="10.724714" x2="3.134923" y1="9.534698" x1="2.84349"/>\n <line id="svg_23" y2="11.647583" x2="3.596357" y1="10.578998" x1="3.086351"/>\n <line id="svg_25" y2="12.521881" x2="4.276366" y1="11.501867" x1="3.499213"/>\n <line id="svg_26" y2="13.930471" x2="5.830673" y1="12.376165" x1="4.13065"/>\n <line id="svg_28" y2="14.707624" x2="7.263549" y1="13.881899" x1="5.733528"/>\n <line id="svg_29" y2="15.339061" x2="8.963571" y1="14.61048" x1="7.06926"/>\n <line id="svg_30" y2="15.581921" x2="10.882168" y1="15.314775" x1="8.817855"/>\n <line id="svg_31" y2="15.460491" x2="12.023612" y1="15.581921" x1="10.785024"/>\n <line id="svg_33" y2="15.120487" x2="13.092197" y1="15.484777" x1="11.877895"/>\n <line id="svg_34" y2="14.586194" x2="13.86935" y1="15.217631" x1="12.897909"/>\n <line id="svg_35" y2="13.833327" x2="14.597931" y1="14.756196" x1="13.699348"/>\n <line id="svg_37" y2="12.716169" x2="15.180796" y1="13.881899" x1="14.549359"/>\n <line id="svg_39" y2="11.429009" x2="15.520801" y1="12.813313" x1="15.15651"/>\n <ellipse ry="1" rx="1" id="svg_40" cy="10.967574" cx="15.520801"/>\n </g>',viewBox:{x:18,y:18}}),FreehandRoiSculptor:Ko(jo,{iconContent:'<g id="icon-freehand-sculpt" fill="none" stroke-width="1.5" stroke="{{color}}" stroke-linecap="round" stroke-linejoin="round">\n <line id="svg_1" y2="2.559367" x2="10.184807" y1="4.467781" x1="8.81711"/>\n <line id="svg_4" y2="1.493836" x2="11.727442" y1="2.766112" x1="10.089386"/>\n <line id="svg_7" y2="1.080346" x2="13.047428" y1="1.748291" x1="11.345759"/>\n <line id="svg_8" y2="1.000829" x2="14.351511" y1="1.112153" x1="12.77707"/>\n <line id="svg_9" y2="1.350705" x2="15.242104" y1="0.905408" x1="13.969828"/>\n <line id="svg_10" y2="2.098167" x2="15.862339" y1="1.14396" x1="14.955842"/>\n <line id="svg_11" y2="3.195505" x2="16.41896" y1="1.939133" x1="15.766918"/>\n <line id="svg_12" y2="4.292843" x2="16.530284" y1="2.925147" x1="16.387153"/>\n <line id="svg_16" y2="5.644637" x2="16.196311" y1="3.831643" x1="16.593898"/>\n <line id="svg_18" y2="7.266789" x2="15.623787" y1="5.19934" x1="16.275829"/>\n <line id="svg_19" y2="10.813258" x2="14.526449" y1="6.726071" x1="15.766918"/>\n <line id="svg_20" y2="5.056209" x2="8.085552" y1="4.181519" x1="8.976145"/>\n <line id="svg_23" y2="5.326568" x2="7.481221" y1="4.78585" x1="8.403621"/>\n <line id="svg_24" y2="5.565119" x2="6.749662" y1="5.294761" x1="7.624352"/>\n <line id="svg_25" y2="5.994512" x2="5.429675" y1="5.533312" x1="6.956407"/>\n <line id="svg_27" y2="6.551133" x2="4.284627" y1="5.962706" x1="5.572807"/>\n <line id="svg_28" y2="7.584858" x2="3.044158" y1="6.392099" x1="4.427758"/>\n <line id="svg_29" y2="8.84123" x2="2.185372" y1="7.489437" x1="3.219096"/>\n <line id="svg_31" y2="10.606513" x2="1.644654" y1="8.602678" x1="2.280792"/>\n <line id="svg_32" y2="13.214679" x2="1.48562" y1="10.352058" x1="1.724171"/>\n <line id="svg_33" y2="14.375631" x2="1.676461" y1="12.992031" x1="1.453813"/>\n <line id="svg_34" y2="15.298031" x2="2.264889" y1="14.152983" x1="1.517427"/>\n <line id="svg_35" y2="16.172721" x2="3.521261" y1="14.948155" x1="1.915013"/>\n <line id="svg_36" y2="16.824762" x2="5.207027" y1="15.997783" x1="3.28271"/>\n <line id="svg_38" y2="17.063314" x2="7.035924" y1="16.745245" x1="4.968475"/>\n <line id="svg_39" y2="16.888376" x2="9.278311" y1="17.047411" x1="6.733758"/>\n <line id="svg_40" y2="16.284045" x2="10.661911" y1="16.983797" x1="8.992048"/>\n <line id="svg_41" y2="15.313934" x2="11.647925" y1="16.395369" x1="10.455166"/>\n <line id="svg_44" y2="13.898527" x2="12.82478" y1="15.425259" x1="11.504794"/>\n <line id="svg_45" y2="12.037824" x2="14.144766" y1="14.312017" x1="12.522614"/>\n <line id="svg_47" y2="10.59061" x2="14.605966" y1="12.228665" x1="13.953925"/>\n <ellipse ry="1" rx="1" id="svg_48" cy="3.982726" cx="13.460918"/>\n </g>',viewBox:{x:18,y:18}}),Length:Ko(jo,{iconContent:'<g id="length-group" fill="none" stroke-width="1" stroke="{{color}}" stroke-linecap="round" stroke-linejoin="round">\n <path id="length-dashes" d="m22.5,6 -16.5,16.5" stroke-width="3" stroke-dasharray="0.6666,5" />\n </g>',viewBox:{x:24,y:24}}),Probe:Ko(jo,{iconContent:'<path fill="{{color}}" d="M1152 896q0 106-75 181t-181 75-181-75-75-181 75-181 181-75 181 75\n 75 181zm-256-544q-148 0-273 73t-198 198-73 273 73 273 198 198 273 73 273-73\n 198-198 73-273-73-273-198-198-273-73zm768 544q0 209-103 385.5t-279.5\n 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5\n 385.5-103 385.5 103 279.5 279.5 103 385.5z" />',viewBox:{x:1792,y:1792}}),RectangleRoi:Ko(jo,{iconContent:'<path fill="{{color}}" d="M1312 256h-832q-66 0-113 47t-47 113v832q0 66 47\n 113t113 47h832q66 0 113-47t47-113v-832q0-66-47-113t-113-47zm288 160v832q0\n 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119\n 84.5-203.5t203.5-84.5h832q119 0 203.5 84.5t84.5 203.5z" />',viewBox:{x:1792,y:1792}}),TextMarker:Ko(jo,{iconContent:'<path fill="{{color}}" d="M789 559l-170 450q33 0 136.5 2t160.5 2q19 0\n 57-2-87-253-184-452zm-725 1105l2-79q23-7 56-12.5t57-10.5 49.5-14.5 44.5-29\n 31-50.5l237-616 280-724h128q8 14 11 21l205 480q33 78 106 257.5t114 274.5q15\n 34 58 144.5t72 168.5q20 45 35 57 19 15 88 29.5t84 20.5q6 38 6 57 0 5-.5\n 13.5t-.5 12.5q-63 0-190-8t-191-8q-76 0-215 7t-178 8q0-43 4-78l131-28q1 0\n 12.5-2.5t15.5-3.5 14.5-4.5 15-6.5 11-8 9-11\n 2.5-14q0-16-31-96.5t-72-177.5-42-100l-450-2q-26 58-76.5 195.5t-50.5 162.5q0\n 22 14 37.5t43.5 24.5 48.5 13.5 57 8.5 41 4q1 19 1 58 0 9-2 27-58\n 0-174.5-10t-174.5-10q-8 0-26.5 4t-21.5 4q-80 14-188 14z" />',viewBox:{x:1792,y:1792}}),Crosshairs:Ko(jo,{iconContent:'<path fill="{{color}}" d="M1325 1024h-109q-26 0-45-19t-19-45v-128q0-26\n 19-45t45-19h109q-32-108-112.5-188.5t-188.5-112.5v109q0 26-19 45t-45\n 19h-128q-26 0-45-19t-19-45v-109q-108 32-188.5 112.5t-112.5 188.5h109q26\n 0 45 19t19 45v128q0 26-19 45t-45 19h-109q32 108 112.5 188.5t188.5\n 112.5v-109q0-26 19-45t45-19h128q26 0 45 19t19 45v109q108-32\n 188.5-112.5t112.5-188.5zm339-192v128q0 26-19 45t-45 19h-143q-37 161-154.5\n 278.5t-278.5 154.5v143q0 26-19 45t-45 19h-128q-26\n 0-45-19t-19-45v-143q-161-37-278.5-154.5t-154.5-278.5h-143q-26\n 0-45-19t-19-45v-128q0-26 19-45t45-19h143q37-161\n 154.5-278.5t278.5-154.5v-143q0-26 19-45t45-19h128q26 0 45 19t19 45v143q161\n 37 278.5 154.5t154.5 278.5h143q26 0 45 19t19 45z" />',viewBox:{x:1792,y:1792}}),Eraser:Ko(jo,{iconContent:'<path transform="translate(0,1792) scale(1,-1)" fill="{{color}}" d="M960 1408l336-384h-768l-336 384h768zm1013-1077q15\n 34 9.5 71.5t-30.5 65.5l-896 1024q-38 44-96 44h-768q-38\n 0-69.5-20.5t-47.5-54.5q-15-34-9.5-71.5t30.5-65.5l896-1024q38-44 96-44h768q38\n 0 69.5 20.5t47.5 54.5z" />',viewBox:{x:2048,y:1792}}),Magnify:Ko(jo,{iconContent:'<path fill="{{color}}" d="M508.5 481.6l-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395\n 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5\n 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17\n 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208\n 32s176 78.7 176 176-78.7 176-176 176z" />',viewBox:{x:512,y:512}}),Pan:Ko(jo,{iconContent:'<path fill="{{color}}" d="M1411 541l-355 355 355 355 144-144q29-31 70-14 39 17\n 39 59v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39 14-69l144-144-355-355-355\n 355 144 144q31 30 14 69-17 40-59 40h-448q-26 0-45-19t-19-45v-448q0-42 40-59\n 39-17 69 14l144 144 355-355-355-355-144 144q-19 19-45 19-12\n 0-24-5-40-17-40-59v-448q0-26 19-45t45-19h448q42 0 59 40 17 39-14 69l-144\n 144 355 355 355-355-144-144q-31-30-14-69 17-40 59-40h448q26 0 45 19t19\n 45v448q0 42-39 59-13 5-25 5-26 0-45-19z" />',viewBox:{x:1792,y:1792}}),Rotate:Ko(jo,{iconContent:'<path fill="{{color}}" d="M1664 256v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39\n 14-69l138-138q-148-137-349-137-104 0-198.5 40.5t-163.5 109.5-109.5\n 163.5-40.5 198.5 40.5 198.5 109.5 163.5 163.5 109.5 198.5 40.5q119 0\n 225-52t179-147q7-10 23-12 15 0 25 9l137 138q9 8 9.5 20.5t-7.5 22.5q-109\n 132-264 204.5t-327 72.5q-156 0-298-61t-245-164-164-245-61-298 61-298\n 164-245 245-164 298-61q147 0 284.5 55.5t244.5 156.5l130-129q29-31 70-14\n 39 17 39 59z" />',viewBox:{x:1792,y:1792}}),StackScroll:Ko(jo,{iconContent:'<path fill="{{color}}" d="M24 21v2c0 0.547-0.453 1-1 1h-22c-0.547\n 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547 0 1 0.453 1 1zM24 13v2c0\n 0.547-0.453 1-1 1h-22c-0.547 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547\n 0 1 0.453 1 1zM24 5v2c0 0.547-0.453 1-1 1h-22c-0.547\n 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547 0 1 0.453 1 1z" />',viewBox:{x:24,y:28}}),WindowLevelRegion:Ko(jo,{iconContent:'<path fill="{{color}}" d="M1664 416v960q0 119-84.5 203.5t-203.5 84.5h-960q-119\n 0-203.5-84.5t-84.5-203.5v-960q0-119 84.5-203.5t203.5-84.5h960q119 0 203.5\n 84.5t84.5 203.5z" />',viewBox:{x:1792,y:1792}}),WindowLevel:Ko(jo,{iconContent:'\n <path fill="{{color}}" d="M14.5,3.5 a1 1 0 0 1 -11,11 Z" stroke="none" opacity="0.8" />\n <circle cx="9" cy="9" r="8" fill="none" stroke-width="2" stroke="{{color}}" />',viewBox:{x:18,y:18}}),Zoom:Ko(jo,{iconContent:'\n <path fill="{{color}}" d="M508.5 481.6l-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395\n 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5\n 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17\n 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208\n 32s176 78.7 176 176-78.7 176-176 176z" />\n <path fill="{{color}}" transform="scale(0.22,0.22) translate(1400,0)" d="M1216\n 320q0 26-19 45t-45 19h-128v1024h128q26 0 45 19t19 45-19 45l-256 256q-19\n 19-45 19t-45-19l-256-256q-19-19-19-45t19-45 45-19h128v-1024h-128q-26\n 0-45-19t-19-45 19-45l256-256q19-19 45-19t45 19l256 256q19 19 19 45z" />',viewBox:{x:640,y:512}}),segmentationFreeHandEraseInside:Ko(jo,{iconContent:"".concat(Go," ").concat(Fo),viewBox:Bo}),segmentationFreeHandFillInside:Ko(jo,{iconContent:"".concat(Go," ").concat(Wo),viewBox:Bo}),segmentationFreeHandEraseOutside:Ko(jo,{iconContent:"".concat(Go," ").concat(Fo),viewBox:Bo}),segmentationFreeHandFillOutside:Ko(jo,{iconContent:"".concat(Go," ").concat(Wo),viewBox:Bo}),segmentationRectangleEraseInside:Ko(jo,{iconContent:"".concat(qo," ").concat(Fo),viewBox:Bo}),RectangleScissor:Ko(jo,{iconContent:"".concat(qo," ").concat(Wo),viewBox:Bo}),"RectangleScissor.FILL_INSIDE":Ko(jo,{iconContent:"".concat(qo," ").concat(Wo),viewBox:Bo}),"RectangleScissor.FILL_OUTSIDE":Ko(jo,{iconContent:"".concat(qo," ").concat(Wo),viewBox:Bo}),"RectangleScissor.ERASE_OUTSIDE":Ko(jo,{iconContent:"".concat(qo," ").concat(Fo),viewBox:Bo}),"RectangleScissor.ERASE_INSIDE":Ko(jo,{iconContent:"".concat(qo," ").concat(Fo),viewBox:Bo}),CircleScissor:Ko(jo,{iconContent:"".concat(Ho," ").concat(Wo),viewBox:Bo}),"CircleScissor.FILL_INSIDE":Ko(jo,{iconContent:"".concat(Ho," ").concat(Wo),viewBox:Bo}),"CircleScissor.ERASE_OUTSIDE":Ko(jo,{iconContent:"".concat(Ho," ").concat(Fo),viewBox:Bo}),"CircleScissor.FILL_OUTSIDE":Ko(jo,{iconContent:"".concat(Ho," ").concat(Wo),viewBox:Bo})};function Ko(e,t){return Object.assign(Object.create(e),t)}function Yo(e,t,n){zo[e]=Ko(jo,{iconContent:t,viewBox:n})}function Zo(e){if(Object.prototype.hasOwnProperty.call(zo,e))return zo[e]}var $o=Object.keys(zo);var Xo="color",Jo=Mo.Highlighted,Qo=Tt.Active,ea=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(e,t,n,a,i){return U(this,o),r.call(this,e,t,n,a,i)}return j(o,null,[{key:"getDefinedCursor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2?arguments[2]:void 0;n||(n=No(Xo,Jo,Qo));var r=na(e,t,n),a=Co(qt(o),"getDefinedCursor",this).call(this,r);if(!a){var i=Zo(e);i&&(a=ra(i,r,t,n,Co(qt(o),"getDefinedCursor",this).call(this,"default")),Co(qt(o),"setDefinedCursor",this).call(this,r,a))}return a}}]),o}(Vo);function ta(e,t){var n=Object(t),r=Object.prototype.hasOwnProperty.bind(n);return(e+"").replace(/\{\{(\w+)\}\}/g,(function(e,t){return r(t)?n[t]+"":""}))}function na(e,t,n){return"".concat(t?"pointer":"cursor",":").concat(e,"/").concat(n)}function ra(e,t,n,r,o){var a=e.mousePoint,i=a.x,l=a.y;return new ea(function(e,t,n){return URL.createObjectURL(function(e,t,n){var r=(t?aa:oa)(e,n);return new Blob([r],{type:"image/svg+xml"})}(e,t,n))}(e,n,{color:r}),i,l,t,o)}function oa(e,t){var n=e.iconContent,r=e.iconSize,o=e.viewBox;return ta('\n <svg data-icon="cursor" role="img" xmlns="http://www.w3.org/2000/svg"\n width="'.concat(r,'" height="').concat(r,'" viewBox="0 0\n ').concat(o.x," ").concat(o.y,'">\n ').concat(n,"\n </svg>"),t)}function aa(e,t){var n=e.iconContent,r=e.iconSize,o=e.viewBox,a=e.mousePointerGroupString,i=r/Math.max(o.x,o.y,1),l=16+r;return ta('\n <svg data-icon="cursor" role="img" xmlns="http://www.w3.org/2000/svg"\n width="'.concat(l,'" height="').concat(l,'" viewBox="0 0 ').concat(l," ").concat(l,'">\n <g>').concat(a,'</g>\n <g transform="translate(16, 16) scale(').concat(i,')">').concat(n,"</g>\n </svg>"),t)}var ia=Symbol("ElementCursorsMap");function la(e,t){da(e)[0]=t,ca(e,t)}function ca(e,t){var n=da(e);n[1]=n[0],n[0]=t,e.style.cursor=(t instanceof Lo?t:Lo.getDefinedCursor("auto")).getStyleProperty()}function sa(e){ca(e,da(e)[1])}function ua(e){ca(e,Lo.getDefinedCursor("none"))}function da(e){var t=da[ia];t instanceof WeakMap||(t=new WeakMap,Object.defineProperty(da,ia,{value:t}));var n=t.get(e);return n||(n=[null,null],t.set(e,n)),n}var va=Tt.Active,fa=Tt.Passive,ga=Tt.Enabled,ha=Tt.Disabled,ma=function(){function e(t){U(this,e),B(this,"id",void 0),B(this,"viewportsInfo",[]),B(this,"toolOptions",{}),B(this,"_toolInstances",{}),this.id=t}return j(e,[{key:"getViewportIds",value:function(){return this.viewportsInfo.map((function(e){return e.viewportId}))}},{key:"getToolInstance",value:function(e){var t=this._toolInstances[e];if(t)return t;console.warn("'".concat(e,"' is not registered with this toolGroup."))}},{key:"addTool",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Nt.tools[e],r=void 0!==e&&""!==e,o=this.toolOptions[e];if(r)if(n)if(o)console.warn("'".concat(e,"' is already registered for ToolGroup ").concat(this.id,"."));else{var a=n.toolClass,i={name:e,toolGroupId:this.id,configuration:t},l=new a(i);this._toolInstances[e]=l}else console.warn("'".concat(e,"' is not registered with the library."));else console.warn("Tool with configuration did not produce a toolName: ",t)}},{key:"addViewport",value:function(e,t){var n=(0,L.getRenderingEngines)();if(!t&&n.length>1)throw new Error("You must specify a renderingEngineId when there are multiple rendering engines.");var r=t||n[0].id;this.viewportsInfo.push({viewportId:e,renderingEngineId:r})}},{key:"removeViewports",value:function(e,t){var n=[];if(this.viewportsInfo.forEach((function(r,o){var a=!1;r.renderingEngineId===e&&(a=!0,t&&r.viewportId!==t&&(a=!1)),a&&n.push(o)})),n.length)for(var r=n.length-1;r>=0;r--)this.viewportsInfo.splice(n[r],1)}},{key:"setToolActive",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this._toolInstances[e]){var n=this.toolOptions[e]?this.toolOptions[e].bindings:[],r=t.bindings?t.bindings:[],o={bindings:[].concat(er(n),er(r)),mode:va};this.toolOptions[e]=o,this._toolInstances[e].mode=va,this._hasMousePrimaryButtonBinding(t)&&this.setViewportsCursorByToolName(e),"function"==typeof this._toolInstances[e].init&&this._toolInstances[e].init(this.viewportsInfo),this._renderViewports()}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"setToolPassive",value:function(e){if(void 0!==this._toolInstances[e]){var t=this.getToolOptions(e),n=Object.assign({bindings:t?t.bindings:[]},t,{mode:fa});n.bindings=n.bindings.filter((function(e){return e.mouseButton!==tr.Primary}));var r=fa;0!==n.bindings.length&&(r=va,n.mode=r),this.toolOptions[e]=n,this._toolInstances[e].mode=r,this._renderViewports()}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"setToolEnabled",value:function(e){if(void 0!==this._toolInstances[e]){var t={bindings:[],mode:ga};this.toolOptions[e]=t,this._toolInstances[e].mode=ga,this._toolInstances[e].enableCallback&&this._toolInstances[e].enableCallback(this.id),this._renderViewports()}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"setToolDisabled",value:function(e){if(void 0!==this._toolInstances[e]){var t={bindings:[],mode:ha};this.toolOptions[e]=t,this._toolInstances[e].mode=ha,this._toolInstances[e].disableCallback&&this._toolInstances[e].disableCallback(this.id),this._renderViewports()}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"getToolOptions",value:function(e){return this.toolOptions[e]}},{key:"getActivePrimaryMouseButtonTool",value:function(){var e=this;return Object.keys(this.toolOptions).find((function(t){var n=e.toolOptions[t];return n.mode===va&&e._hasMousePrimaryButtonBinding(n)}))}},{key:"setViewportsCursorByToolName",value:function(e,t){var n=t?"".concat(e,".").concat(t):e,r=ea.getDefinedCursor(n,!0);r||(r=Lo.getDefinedCursor("default")),this.viewportsInfo.forEach((function(e){var t=e.renderingEngineId,n=e.viewportId,o=(0,L.getRenderingEngine)(t).getViewport(n);o&&o.element&&la(o.element,r)}))}},{key:"_hasMousePrimaryButtonBinding",value:function(e){var t;return null==e||null===(t=e.bindings)||void 0===t?void 0:t.some((function(e){return e.mouseButton===tr.Primary&&void 0===e.modifierKey}))}},{key:"_renderViewports",value:function(){this.viewportsInfo.forEach((function(e){var t=e.renderingEngineId,n=e.viewportId;(0,L.getRenderingEngine)(t).renderViewport(n)}))}}]),e}(),pa=function(e){if(!Nt.toolGroups.some((function(t){return t.id===e}))){var t=new ma(e);return Nt.toolGroups.push(t),t}console.warn("'".concat(e,"' already exists."))},ya=function(){return Nt.toolGroups};function wa(e,t,n,r){if(t.renderingEngineId!==n.renderingEngineId||t.viewportId!==n.viewportId){var o=r.detail.camera,a=(0,L.getRenderingEngine)(n.renderingEngineId);if(!a)throw new Error("No RenderingEngine for Id: ".concat(n.renderingEngineId));var i=a.getViewport(n.viewportId);i.setCamera(o),i.render()}}var Ea=L.Enums.Events.CAMERA_MODIFIED;function ba(e){return Eo(e,Ea,wa)}function Ia(e,t,n,r){var o=r.detail,a=o.volumeId,i=o.range,l=(0,L.getRenderingEngine)(n.renderingEngineId);if(!l)throw new Error("Rendering Engine does not exist: ".concat(n.renderingEngineId));var c=l.getViewport(n.viewportId);if(c instanceof L.VolumeViewport){var s=c.getActor(a);s&&s.volumeActor.getProperty().getRGBTransferFunction(0).setRange(i.lower,i.upper)}else{if(!(c instanceof L.StackViewport))throw new Error("Viewport type not supported.");c.setProperties({voiRange:i})}c.render()}function _a(e){return Eo(e,L.Enums.Events.VOI_MODIFIED,Ia)}var Sa=function(e,t,n,r){return"".concat(e,"::").concat(t,"::").concat(n,"::").concat(r)},Da=function(e,t){Object.keys(e).forEach((function(n){var r=t.getAttribute(n),o=e[n];void 0===o||""===o?t.removeAttribute(n):r!==o&&t.setAttribute(n,o)}))},Ca=function(e,t){Object.keys(e).forEach((function(n){var r=e[n];void 0!==r&&""!==r&&t.setAttribute(n,r)}))},Oa=function(e,t,n,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},l=Object.assign({color:"dodgerblue",fill:"transparent",width:"2",lineWidth:void 0},i),c=l.color,s=l.fill,u=l.width,d=l.lineWidth,v=d||u,f="http://www.w3.org/2000/svg",g=Sa(t,n,"circle",r),h=e._getSvgNode(g),m={cx:"".concat(o[0]),cy:"".concat(o[1]),r:"".concat(a),stroke:c,fill:s,"stroke-width":v};if(h)Da(m,h),e._setNodeTouched(g);else{var p=document.createElementNS(f,"circle");Ca(m,p),e._appendNode(p,g)}},xa=function(e,t,n,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},l=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0},i),c=l.color,s=l.width,u=l.lineWidth,d=l.lineDash,v=u||s,f="http://www.w3.org/2000/svg",g=Sa(t,n,"ellipse",r),h=e._getSvgNode(g),m=Math.abs(o[0]-a[0]),p=Math.abs(o[1]-a[1]),y=Math.min(o[0],a[0]),w=Math.min(o[1],a[1]),E=[y+m/2,w+p/2],b=m/2,I=p/2,_={cx:"".concat(E[0]),cy:"".concat(E[1]),rx:"".concat(b),ry:"".concat(I),stroke:c,fill:"transparent","stroke-width":v,"stroke-dasharray":d};if(h)Da(_,h),e._setNodeTouched(g);else{var S=document.createElementNS(f,"ellipse");Ca(_,S),e._appendNode(S,g)}},Ta=function(e,t,n,r,o){for(var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=Object.assign({color:"dodgerblue",handleRadius:"6",width:"2",lineWidth:void 0,fill:"transparent",type:"circle"},a),l=i.color,c=i.handleRadius,s=i.width,u=i.lineWidth,d=i.fill,v=i.type,f=u||s,g=0;g<o.length;g++){var h=o[g],m="http://www.w3.org/2000/svg",p=Sa(t,n,"handle","hg-".concat(r,"-index-").concat(g)),y=void 0;if("circle"===v)y={cx:"".concat(h[0]),cy:"".concat(h[1]),r:c,stroke:l,fill:d,"stroke-width":f};else{if("rect"!==v)throw new Error("Unsupported handle type: ".concat(v));var w=parseFloat(c),E=1.5*w,b=h[0]-.5*E,I=h[1]-.5*E;y={x:"".concat(b),y:"".concat(I),width:"".concat(E),height:"".concat(E),stroke:l,fill:d,"stroke-width":f,rx:"".concat(.1*E)}}var _=e._getSvgNode(p);if(_)Da(y,_),e._setNodeTouched(p);else{var S=document.createElementNS(m,v);Ca(y,S),e._appendNode(S,p)}}};function Ma(e,t,n,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{};if(!(isNaN(o[0])||isNaN(o[1])||isNaN(a[0])||isNaN(a[1]))){var l=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0},i),c=l.color,s=l.width,u=l.lineWidth,d=l.lineDash,v=u||s,f="http://www.w3.org/2000/svg",g=Sa(t,n,"line",r),h=e._getSvgNode(g),m={x1:"".concat(o[0]),y1:"".concat(o[1]),x2:"".concat(a[0]),y2:"".concat(a[1]),stroke:c,"stroke-width":v,"stroke-dasharray":d};if(h)Da(m,h),e._setNodeTouched(g);else{var p=document.createElementNS(f,"line");Ca(m,p),e._appendNode(p,g)}}}function ka(e,t,n,r,o,a,i){var l,c=i.padding,s=i.color,u=i.fontFamily,d=i.fontSize,v=i.background,f=a[0]+c,g=a[1]+c,h=Sa(t,n,"text",r),m=e._getSvgNode(h);if(m){for(var p=m.querySelector("text"),y=Array.from(p.children),w=0;w<y.length;w++){var E=y[w],b=o[w]||"";E.textContent=b}var I={fill:s,"font-size":d,"font-family":u},_={transform:"translate(".concat(f," ").concat(g,")")};Da(I,p),Da(_,m),l=Aa(m,v),e._setNodeTouched(h)}else{var S=document.createElementNS("http://www.w3.org/2000/svg","g");S.setAttribute("transform","translate(".concat(f," ").concat(g,")"));for(var D=function(e){var t=e.color,n=e.fontFamily,r=e.fontSize,o=document.createElementNS("http://www.w3.org/2000/svg","text"),a="".concat("user-select: none; pointer-events: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0);").concat("filter:url(#shadow);");return o.setAttribute("x","0"),o.setAttribute("y","0"),o.setAttribute("fill",t),o.setAttribute("font-family",n),o.setAttribute("font-size",r),o.setAttribute("style",a),o}(i),C=0;C<o.length;C++){var O=Na(o[C]);D.appendChild(O)}S.appendChild(D),e._appendNode(S,h),l=Aa(S,v)}return Object.assign({},l,{x:f,y:g,height:l.height+c,width:l.width+c})}function Na(e){var t=document.createElementNS("http://www.w3.org/2000/svg","tspan");return t.setAttribute("x","0"),t.setAttribute("dy","1.2em"),t.textContent=e,t}function Aa(e,t){var n=e.querySelector("rect.background");if(!t)return n&&e.removeChild(n),e.getBBox();n||((n=document.createElementNS("http://www.w3.org/2000/svg","rect")).setAttribute("class","background"),e.insertBefore(n,e.firstChild));var r=e.getBBox(),o={x:"".concat(r.x),y:"".concat(r.y),width:"".concat(r.width),height:"".concat(r.height),fill:t};return Da(o,n),r}var Ra=function(e,t,n,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},l=Object.assign({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"14px",color:"rgb(255, 255, 0)",background:"",padding:25,centerX:!1,centerY:!0},i),c=ka(e,t,n,r,o,a,l);return c};function La(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||Qn(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pa(e,t){var n=[0,0],r=Number.MAX_SAFE_INTEGER;return e.forEach((function(e){var o,a,i,l,c,s,u,d=(o=e,i=(a=La(t,2))[0],l=a[1],s=(c=La(o,2))[0],u=c[1],Math.sqrt(Math.pow(i-s,2)+Math.pow(l-u,2)));d<r&&(r=d,n=er(e))})),n}function Ua(e){var t=e.x,n=e.y,r=e.height,o=e.width,a=o/2,i=r/2;return[[t+a,n],[t,n+i],[t+a,n+r],[t+o,n+i]]}var Va=function(e,t,n,r,o,a,i){var l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{},c=o.length>0?Pa(o,a):a,s=Ua(i),u=Pa(s,c),d=Object.assign({color:"rgb(255, 255, 0)",lineWidth:"1",lineDash:"2,3"},l);Ma(e,t,n,"link-".concat(r),c,u,d)},ja=function(e,t,n,r,o,a,i,l){var c=arguments.length>8&&void 0!==arguments[8]?arguments[8]:{},s=Object.assign({handleRadius:"6",centering:{x:!1,y:!0}},c),u=Ra(e,t,n,r,o,a,s);return Va(e,t,n,r,i,a,u,s),u};function Ba(e,t,n,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},l=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0},i),c=l.color,s=l.width,u=l.lineWidth,d=l.lineDash,v=u||s,f="http://www.w3.org/2000/svg",g=Sa(t,n,"rect",r),h=e._getSvgNode(g),m=[Math.min(o[0],a[0]),Math.min(o[1],a[1])],p=Math.abs(o[0]-a[0]),y=Math.abs(o[1]-a[1]),w={x:"".concat(m[0]),y:"".concat(m[1]),width:"".concat(p),height:"".concat(y),stroke:c,fill:"transparent","stroke-width":v,"stroke-dasharray":d};if(h)Da(w,h),e._setNodeTouched(g);else{var E=document.createElementNS(f,"rect");Ca(w,E),e._appendNode(E,g)}}function Fa(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Wa(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=(0,L.getEnabledElement)(e);if(!r)throw new Error("getAnnotationNearPoint: enabledElement not found");return Ga(r,t,n)}function Ga(e,t,n){var r=e.renderingEngineId,o=e.viewportId,a=Vt(o,r);if(!a)return null;var i=a._toolInstances;for(var l in i){var c=qa(i[l],e,t,n);if(c)return c}return null}function qa(e,t,n,r){var o=ie(t.viewport.element,e.constructor.toolName);if(null!=o&&o.length){var a,i=t.viewport.element,l=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Fa(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Fa(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(o);try{for(l.s();!(a=l.n()).done;){var c=a.value;if(e.isPointNearTool(i,c,n,r,"")||e.getHandleNearImagePoint(i,c,n,r))return c}}catch(e){l.e(e)}finally{l.f()}}return null}var Ha=function(e){var t=Se(e);return null!==e&&("object"===t||"function"===t)},za=function(e,t,n){var r,o,a,i,l,c,s=0,u=!1,d=!1,v=!0,f=!t&&0!==t&&"function"==typeof window.requestAnimationFrame;if("function"!=typeof e)throw new TypeError("Expected a function");function g(t){var n=r,a=o;return r=o=void 0,s=t,i=e.apply(a,n)}function h(e,t){return f?window.requestAnimationFrame(e):setTimeout(e,t)}function m(e){return s=e,l=h(y,t),u?g(e):i}function p(e){var n=e-c;return void 0===c||n>=t||n<0||d&&e-s>=a}function y(){var e=Date.now();if(p(e))return w(e);l=h(y,function(e){var n=e-s,r=t-(e-c);return d?Math.min(r,a-n):r}(e))}function w(e){return l=void 0,v&&r?g(e):(r=o=void 0,i)}function E(){for(var e=Date.now(),n=p(e),a=arguments.length,s=new Array(a),u=0;u<a;u++)s[u]=arguments[u];if(r=s,o=this,c=e,n){if(void 0===l)return m(c);if(d)return l=h(y,t),g(c)}return void 0===l&&(l=h(y,t)),i}return t=Number(t)||0,Ha(n)&&(u=Boolean(n.leading),a=(d="maxWait"in n)?Math.max(Number(n.maxWait)||0,t):a,v="trailing"in n?Boolean(n.trailing):v),E.cancel=function(){void 0!==l&&function(e){if(f)return window.cancelAnimationFrame(e);clearTimeout(e)}(l),s=0,r=c=o=l=void 0},E.flush=function(){return void 0===l?i:w(Date.now())},E.pending=function(){return void 0!==l},E},Ka=function(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return Ha(n)&&(r="leading"in n?Boolean(n.leading):r,o="trailing"in n?Boolean(n.trailing):o),za(e,t,{leading:r,trailing:o,maxWait:t})},Ya=L.utilities.calibratedPixelSpacingMetadataProvider;function Za(e,t,n,r){r||(r=n),Ya.add(e,[n,r]),t.getStackViewports().forEach((function(t){t.getImageIds().includes(e)&&t.calibrateSpacing(e)}))}function $a(e,t){return e.worldToIndex(t).map(Math.round)}var Xa=c(976);function Ja(e,t,n,r){var o,a,i,l,c,s,u;u=e.getScalarData?e.getScalarData():e.getPointData().getScalars().getData();var d=e.getDimensions();if(r){var v=La(r,3),f=La(v[0],2);o=f[0],a=f[1];var g=La(v[1],2);i=g[0],l=g[1];var h=La(v[2],2);c=h[0],s=h[1]}else o=0,a=d[0],i=0,l=d[1],c=0,s=d[2];for(var m=Xa.vec3.fromValues(o,i,c),p=e.getDirection(),y=p.slice(0,3),w=p.slice(3,6),E=p.slice(6,9),b=La(e.getSpacing(),3),I=b[0],_=b[1],S=b[2],D=e.indexToWorld(m),C=Xa.vec3.fromValues(y[0]*I,y[1]*I,y[2]*I),O=Xa.vec3.fromValues(w[0]*_,w[1]*_,w[2]*_),x=Xa.vec3.fromValues(E[0]*S,E[1]*S,E[2]*S),T=d[0],M=d[0]*d[1],k=c;k<=s;k++)for(var N=i;N<=l;N++)for(var A=o;A<=a;A++){var R=[A,N,k],L=A-o,P=N-i,U=k-c,V=D,j=[V[0]+L*C[0]+P*O[0]+U*x[0],V[1]+L*C[1]+P*O[1]+U*x[1],V[2]+L*C[2]+P*O[2]+U*x[2]];if(t(j,R)){var B=k*M+N*T+A;n({value:u[B],index:B,pointIJK:R,pointLPS:j})}}}function Qa(e,t){var n=1/0,r=0,o=1/0,a=0,i=1/0,l=0;if(e.forEach((function(e){n=Math.min(e[0],n),r=Math.max(e[0],r),o=Math.min(e[1],o),a=Math.max(e[1],a),i=Math.min(e[2],i),l=Math.max(e[2],l)})),n=Math.floor(n),r=Math.floor(r),o=Math.floor(o),a=Math.floor(a),i=Math.floor(i),l=Math.floor(l),t){var c=La(t,3),s=c[0],u=c[1],d=c[2];n=Math.max(0,n),r=Math.min(s,r),o=Math.max(0,o),a=Math.min(u,a),i=Math.max(0,i),l=Math.min(d,l)}return[[n,r],[o,a],[i,l]]}function ei(e,t){var n=e.findIndex((function(e){var t=La(e,2);return t[0]===t[1]}));if(-1===n)throw new Error("3D bounding boxes not supported in an oblique plane");return e[n][0]-=t,e[n][1]+=t,e}function ti(e,t,n,r){var o=t.getDimensions(),a=e.getCamera(),i=Xa.vec3.fromValues(a.viewUp[0],a.viewUp[1],a.viewUp[2]),l=Xa.vec3.fromValues(a.viewPlaneNormal[0],a.viewPlaneNormal[1],a.viewPlaneNormal[2]),c=Xa.vec3.create();Xa.vec3.cross(c,i,l),c=[-c[0],-c[1],-c[2]];var s=La(n,2),u=s[0],d=s[1],v=Xa.vec3.fromValues((u[0]+d[0])/2,(u[1]+d[1])/2,(u[2]+d[2])/2),f=Xa.vec3.distance(u,d)/2,g=Xa.vec3.create(),h=Xa.vec3.create();Xa.vec3.scaleAndAdd(g,d,l,f),Xa.vec3.scaleAndAdd(h,u,l,-f),Xa.vec3.scaleAndAdd(g,g,c,-f),Xa.vec3.scaleAndAdd(h,h,c,f);var m=Qa([$a(t,g),$a(t,h)],o),p={center:v,radius:f};Ja(t,(function(e){return function(e,t){var n=e.center,r=e.radius,o=La(t,3),a=o[0],i=o[1],l=o[2],c=La(n,3),s=c[0],u=c[1],d=c[2];return Math.pow(a-s,2)+Math.pow(i-u,2)+Math.pow(l-d,2)<=Math.pow(r,2)}(p,e)}),r,m)}function ni(e,t){return ei(e,t)}var ri=function(e,t,n,r,o){if(n.length>1)throw new Error("thresholding more than one volumes is not supported yet");var a=Re(r.volumeId);if(!a)throw new Error("No Segmentation Found");var i=a.volumeId,l=L.cache.getVolume(i),c=r.segmentationDataUID,s=l.scalarData,u=l.imageData,d=o.lowerThreshold,v=o.higherThreshold,f=o.numSlicesToProject;if(o.overwrite)for(var g=0;g<s.length;g++)s[g]=0;return t.forEach((function(e){var t,r,o=e.data,a=o.handles.points,i=n[0],l=i.imageData,c=i.dimensions,g=l.getPointData().getScalars().getData(),h=a;if(null!==(t=o.cachedStats)&&void 0!==t&&t.projectionPoints){var m,p=o.cachedStats.projectionPoints;h=(m=[]).concat.apply(m,er(p))}var y=Qa(h.map((function(e){return $a(l,e)})),c);!f||null!==(r=o.cachedStats)&&void 0!==r&&r.projectionPoints||(y=ni(y,f)),Ja(u,(function(){return!0}),(function(e){var t=e.index,n=e.pointIJK,r=l.computeOffsetIndex(n),o=g[r];o<=d||o>=v||(s[t]=1)}),y)})),ye(e,c),l},oi=function(e,t,n,r,o){if(n.length>1)throw new Error("thresholding more than one volumes is not supported yet");var a=Re(r.volumeId);if(!a)throw new Error("No Segmentation Found");var i=a.volumeId,l=L.cache.getVolume(i),c=o.numSlicesToProject,s=o.overwrite,u=l.scalarData;if(s)for(var d=0;d<u.length;d++)u[d]=0;var v=n[0],f=v.imageData,g=v.dimensions,h=f.getPointData().getScalars().getData(),m=function(e){var t,n;if("min"===e)n=1/0,t=function(e,t){return e<t&&(t=e),t};else{if("max"!==e)throw new Error("Statistics other than min or max are not supported yet");n=-1/0,t=function(e,t){return e>t&&(t=e),t}}return[t,n]}(o.statistic),p=La(m,2),y=p[0],w=p[1];t.forEach((function(e){var t,n,r=e.data,o=r.handles.points;if(null!==(t=r.cachedStats)&&void 0!==t&&t.projectionPoints){var a,i=r.cachedStats.projectionPoints;o=(a=[]).concat.apply(a,er(i))}var l=Qa(o.map((function(e){return $a(f,e)})),g);!c||null!==(n=r.cachedStats)&&void 0!==n&&n.projectionPoints||(l=ni(l,c));for(var s=La(l,3),u=La(s[0],2),d=u[0],v=u[1],m=La(s[1],2),p=m[0],E=m[1],b=La(s[2],2),I=b[0],_=b[1],S=d;S<=v;S++)for(var D=p;D<=E;D++)for(var C=I;C<=_;C++){var O=f.computeOffsetIndex([S,D,C]);w=y(h[O],w)}}));var E={lowerThreshold:o.weight*w,higherThreshold:1/0,numSlicesToProject:c,overwrite:s};ri(e,t,n,r,E)},ai=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mergedLabelmap";e.forEach((function(t){var n=t.direction,r=t.dimensions,o=t.origin,a=t.spacing;if(!(L.utilities.isEqual(r,e[0].dimensions)&&L.utilities.isEqual(n,e[0].direction)&&L.utilities.isEqual(a,e[0].spacing)&&L.utilities.isEqual(o,e[0].origin)))throw new Error("labelmaps must have the same size and shape")}));var r=e[0],o=r.scalarData.constructor,a=new o(r.scalarData.length);e.forEach((function(e){for(var n=e.scalarData,r=0;r<n.length;r++)n[r]===t&&(a[r]=t)}));var i={scalarData:a,metadata:r.metadata,spacing:r.spacing,origin:r.origin,direction:r.direction,dimensions:r.dimensions},l=!0,c=L.volumeLoader.createLocalVolume(i,n,l);return c};function ii(e){var t,n,r,o,a=(n=[(t=e)[0],t[1]].sort((function(e,t){return e[0]<t[0]?-1:1})),r=[t[0],t[1]].sort((function(e,t){return e[1]<t[1]?-1:1})),o=n[n.length-1],{top:r[0],bottom:r[r.length-1],right:o}),i=(a.top[1]+a.bottom[1])/2;return[a.right[0],i]}var li=1e-6;function ci(e,t,n){var r=La(n,2),o=r[0],a=r[1];if(Math.abs(t)<li)return e<0;var i=e/t;if(t>0){if(i>a)return 0;i>o&&(n[0]=i)}else{if(i<o)return 0;i<a&&(n[1]=i)}return 1}function si(e,t,n,r,o){var a=La(e,2),i=a[0],l=a[1],c=La(t,2),s=c[0]-i,u=c[1]-l;if(void 0===r||void 0===o?(r=e,o=t):(r[0]=e[0],r[1]=e[1],o[0]=t[0],o[1]=t[1]),Math.abs(s)<li&&Math.abs(u)<li&&i>=n[0]&&i<=n[2]&&l>=n[1]&&l<=n[3])return 1;var d=[0,1];if(ci(n[0]-i,s,d)&&ci(i-n[2],-s,d)&&ci(n[1]-l,u,d)&&ci(l-n[3],-u,d)){var v=d[0],f=d[1];return f<1&&(o[0]=i+f*s,o[1]=l+f*u),v>0&&(r[0]+=v*s,r[1]+=v*u),1}return 0}function ui(e,t){var n=e.center,r=e.xRadius,o=e.yRadius,a=e.zRadius,i=La(t,3),l=i[0],c=i[1],s=i[2],u=La(n,3),d=u[0],v=u[1],f=u[2],g=0;return 0!==r&&(g+=(l-d)*(l-d)/(r*r)),0!==o&&(g+=(c-v)*(c-v)/(o*o)),0!==a&&(g+=(s-f)*(s-f)/(a*a)),g<=1}function di(e){var t=La(e,4),n=t[0],r=t[1],o=t[2],a=t[3];return[[o[0],r[1]],[a[0],n[1]]]}function vi(e,t){return(e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1])}function fi(e,t,n){var r=vi(e,t);if(0===r)return vi(n,e);var o=((n[0]-e[0])*(t[0]-e[0])+(n[1]-e[1])*(t[1]-e[1]))/r;return vi(n,o<0?e:o>1?t:[e[0]+o*(t[0]-e[0]),e[1]+o*(t[1]-e[1])])}function gi(e,t,n){if(2!==e.length||2!==t.length||2!==n.length)throw Error("lineStart, lineEnd, and point should have 2 elements of [x, y]");return Math.sqrt(fi(e,t,n))}function hi(e){return"number"==typeof e?e?e<0?-1:1:e==e?0:NaN:NaN}function mi(e,t,n,r){var o=La(e,2),a=o[0],i=o[1],l=La(t,2),c=l[0],s=l[1],u=La(n,2),d=u[0],v=u[1],f=La(r,2),g=f[0],h=f[1],m=s-i,p=a-c,y=c*i-a*s,w=m*d+p*v+y,E=m*g+p*h+y;if(0===w||0===E||hi(w)!==hi(E)){var b=h-v,I=d-g,_=g*v-d*h,S=b*a+I*i+_,D=b*c+I*s+_;if(0===S||0===D||hi(S)!==hi(D)){var C=m*I-b*p;return[(p*_-I*y)/C,(b*y-m*_)/C]}}}function pi(e,t){if(4!==e.length||2!==t.length)throw Error("rectangle:[left, top, width, height] or point: [x,y] not defined correctly");var n=La(e,4),r=n[0],o=n[1],a=n[2],i=n[3],l=655535,c=function(e,t,n,r){return{top:[[e,t],[e+n,t]],right:[[e+n,t],[e+n,t+r]],bottom:[[e+n,t+r],[e,t+r]],left:[[e,t+r],[e,t]]}}(r,o,a,i);return Object.keys(c).forEach((function(e){var n=La(c[e],2),r=gi(n[0],n[1],t);r<l&&(l=r)})),l}function yi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function wi(e,t,n){var r=t.viewPlaneNormal,o=e.filter((function(e){var t=e.metadata.viewPlaneNormal;return L.utilities.isEqual(t,r)}));if(!o.length)return[];var a,i=n/2,l=t.focalPoint,c=[],s=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return yi(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yi(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(o);try{for(s.s();!(a=s.n()).done;){var u=a.value,d=u.data.handles.points[0],v=Xa.vec3.create();Xa.vec3.sub(v,l,d);var f=Xa.vec3.dot(v,r);Math.abs(f)<i&&c.push(u)}}catch(e){s.e(e)}finally{s.f()}return c}function Ei(e,t,n,r){var o=Xa.vec3.create();Xa.vec3.cross(o,t,e),o=[-o[0],-o[1],-o[2]];var a=Xa.vec3.fromValues.apply(Xa.vec3,er(n)),i=Xa.vec3.fromValues.apply(Xa.vec3,er(r)),l=Xa.vec3.create();Xa.vec3.subtract(l,a,i);var c=Xa.vec3.length(l);if(c<1e-4)return{worldWidth:0,worldHeight:0};var s=Xa.vec3.dot(l,o)/(c*Xa.vec3.length(o));return{worldWidth:Math.sqrt(1-s*s)*c,worldHeight:s*c}}function bi(e,t){if(e instanceof L.StackViewport){var n=e.getCurrentImageId(),r=n.indexOf(":"),o=n.substring(r+1);return t.filter((function(e){return e.metadata.referencedImageId===o}))}if(e instanceof L.VolumeViewport){var a=e.getCamera();return wi(t,a,L.utilities.getTargetVolumeAndSpacingInNormalDir(e,a).spacingInNormalDirection)}throw new Error("Viewport Type ".concat(e.type," not supported"))}var Ii=c(4),_i=c.n(Ii);function Si(e,t,n,r){var o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.25,i=e.getCamera(),l=i.position,c=L.utilities.getTargetVolumeAndSpacingInNormalDir(e,i,n),s=c.spacingInNormalDirection,u=s*a,d=e.getBounds(),v=d[0],f=d[1],g=[0,0,0],h=[0,0,0];_i().subtract(t,l,g);for(var m=v;m<=f;m+=u){h=[m,0,0];var p=(m-l[0])/g[0];if(h[1]=p*g[1]+l[1],h[2]=p*g[2]+l[2],Di(h,d)){var y=e.getIntensityFromWorld(h),w=r(y,h);w&&(o=w)}}return o}var Di=function(e,t){var n=La(t,6),r=n[0],o=n[1],a=n[2],i=n[3],l=n[4],c=n[5];return e[0]>r&&e[0]<o&&e[1]>a&&e[1]<i&&e[2]>l&&e[2]<c},Ci={filterAnnotationsWithinSlice:wi,getWorldWidthAndHeightFromCorners:Ei,filterAnnotationsForDisplay:bi,getPointInLineOfSightWithCriteria:Si};function Oi(e,t,n,r,o,a){var i=n.min,l=n.max,c=n.current,s=Xa.vec3.create();Xa.vec3.sub(s,t,e);var u=Math.round((l-i)/o),d=(c-i)/(l-i)*u,v=Math.round(d),f=[e[0]-r[0]*d*o,e[1]-r[1]*d*o,e[2]-r[2]*d*o];(v+=a)>u?v=u:v<0&&(v=0);var g=v*o;return{newFocalPoint:f=[f[0]+r[0]*g,f[1]+r[1]*g,f[2]+r[2]*g],newPosition:[f[0]+s[0],f[1]+s[1],f[2]+s[2]]}}var xi=c(611),Ti=c.n(xi);function Mi(e,t,n){var r=L.utilities.getVolumeActorCorners(e),o=Ti().buildFromDegree().identity().rotateFromDirections(t,[1,0,0]);r.forEach((function(e){return o.apply(e)}));var a=er(n);o.apply(a);for(var i=a[0],l=1/0,c=-1/0,s=0;s<8;s++){var u=r[s][0];u>c&&(c=u),u<l&&(l=u)}return{min:l,max:c,current:i}}var ki=function(e,t,n){return Math.min(Math.max(t,e),n)};function Ni(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=e.detail.element,a=(0,L.getEnabledElement)(o),i=a.viewport,l=i.type,c=i.getCamera(),s=c.focalPoint,u=c.viewPlaneNormal,d=c.position,v=r?-t:t;if(i instanceof L.StackViewport){var f=i.getCurrentImageIdIndex(),g=i.getImageIds().length,h=f+v;h=ki(h,0,g-1),i.setImageIdIndex(h)}else{if(!(i instanceof L.VolumeViewport))throw new Error("Not implemented for Viewport Type: ".concat(l));var m=L.utilities.getTargetVolumeAndSpacingInNormalDir(i,c,n),p=m.spacingInNormalDirection,y=m.imageVolume;if(!y)return;var w=i.getActor(y.volumeId);w||console.warn("No actor found for with actorUID of",y.volumeId);var E=w.volumeActor,b=Mi(E,u,s),I=Oi(s,d,b,u,p,v),_=I.newFocalPoint,S=I.newPosition;i.setCamera({focalPoint:_,position:S}),i.render()}}var Ai={snapFocalPointToSlice:Oi,getSliceRange:Mi,scrollThroughStack:Ni};function Ri(e,t){for(var n=e.length,r=[],o=0;o<n;o++){var a=e[o];a.getFrameOfReferenceUID()===t&&r.push(a)}return r}var Li=Tt.Active,Pi=Tt.Passive,Ui=Tt.Enabled;function Vi(e,t){for(var n=e.length,r=[],o=0;o<n;o++){var a=e[o];ji(Vt(a.id,a.renderingEngineId),t)&&r.push(a)}return r}function ji(e,t){var n=e.toolOptions[t];if(!n)return!1;var r=n.mode;return r===Li||r===Pi||r===Ui}var Bi=function(e,t){return e.filter((function(e){var n=e.getCamera();return L.utilities.isEqual(n.viewPlaneNormal,t.viewPlaneNormal)&&L.utilities.isEqual(n.viewUp,t.viewUp)}))};function Fi(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=(0,L.getEnabledElement)(e),o=r.renderingEngine,a=r.FrameOfReferenceUID,i=o.getViewports();i=Vi(i=Ri(i,a),t);var l=o.getViewport(r.viewportId);n&&(i=Bi(i,l.getCamera()));var c=i.map((function(e){return e.id}));return c}var Wi=function(e,t){var n=ea.getDefinedCursor(t,!0);n||(n=Lo.getDefinedCursor(t)),n||(console.log("Cursor ".concat(t," is not defined either as SVG or as a standard cursor.")),n=Lo.getDefinedCursor(t)),ca(e,n)},Gi=[].concat(er($o),er(Uo)),qi=function(e){if(e){if(e.data&&e.highlighted)return Mo.Highlighted;if(ur(e))return Mo.Selected;if(K(e))return Mo.Locked}return Mo.Default};function Hi(e,t){if(e){var n=Nt.tools[e];if(n){var r=n.toolClass;return t?L.Settings.getObjectSettings(t,r):L.Settings.getObjectSettings(r)}}return L.Settings.getRuntimeSettings()}var zi=function(e,t,n){var r=L.Settings.assert(e),o=ko(r,"textBox.fontSize",t,n),a=ko(r,"textBox.fontFamily",t,n);return"".concat(o,"px ").concat(a)},Ki=function(e,t,n){var r=Nt.tools[e];if(r){var o=r.toolClass;return L.Settings.getObjectSettings(t,o).set("tool.style",n)}return!1};function Yi(e){return L.Settings.getRuntimeSettings().set("tool.style",e)}function Zi(e,t){var n=Nt.tools[e];if(n){var r=n.toolClass;return L.Settings.getObjectSettings(r).set("tool.style",t)}return!1}var $i=function(e){if(!e||!e.length)throw new Error("The segmentationDataArray undefined or empty array");e.forEach((function(e){if(!e.volumeId)throw new Error("volumeId is missing in the segmentationData")}))};function Xi(){return Xi=Yt($t().mark((function e(t,n,r){var o;return $t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if($i(n),tn(t)){e.next=4;break}throw new Error("No tool group found for toolGroupId: ".concat(t));case 4:return o=n.map(function(){var e=Yt($t().mark((function e(n){var o;return $t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(o=W()(n)).segmentationDataUID=L.utilities.uuidv4(),e.abrupt("return",Ji(t,o,r));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=7,Promise.all(o);case 7:case"end":return e.stop()}}),e)}))),Xi.apply(this,arguments)}function Ji(e,t,n){return Qi.apply(this,arguments)}function Qi(){return(Qi=Yt($t().mark((function e(t,n,r){var o,a;return $t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=null!==(o=n.representation)&&void 0!==o&&o.type?n.representation.type:be.Labelmap,n.representation||(n.representation={type:a}),n.representation.config||(n.representation.config={}),a!==be.Labelmap){e.next=8;break}return e.next=6,mn.addSegmentationData(t,n,r);case 6:e.next=9;break;case 8:throw new Error("The representation type ".concat(a," is not supported yet"));case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var el=function(e,t,n){return Xi.apply(this,arguments)};function tl(){return(tl=Yt($t().mark((function e(t,n){var r,o,a,i,l,c,s,u,d,v,f,g,h;return $t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=tn(t)){e.next=3;break}throw new Error("ToolGroup with Id ".concat(t," not found"));case 3:if(a=o.viewportsInfo[0],i=a.viewportId,l=a.renderingEngineId,c=(0,L.getEnabledElementByIds)(i,l)){e.next=7;break}throw new Error("element disabled");case 7:if((s=c.viewport)instanceof L.VolumeViewport){e.next=10;break}throw new Error("Segmentation not ready for stackViewport");case 10:if(u=s.getDefaultActor(),d=u.uid,v="".concat(d,"-based-segmentation-").concat(null!==(r=null==n?void 0:n.volumeId)&&void 0!==r?r:L.utilities.uuidv4().slice(0,8)),!n){e.next=18;break}return f=(0,F._cloneDeep)(n),e.next=16,L.volumeLoader.createLocalVolume(f,v);case 16:e.next=21;break;case 18:return g=s.getDefaultActor(),h=g.uid,e.next=21,L.volumeLoader.createAndCacheDerivedVolume(h,{volumeId:v});case 21:return e.abrupt("return",v);case 22:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var nl=function(e,t){return tl.apply(this,arguments)};function rl(e){var t=$e(e);if(!t)return null;var n=Re(t.volumeId);return{volumeId:t.volumeId,segmentationDataUID:t.segmentationDataUID,activeSegmentIndex:n.activeSegmentIndex}}function ol(e,t){Ze(e,t)}function al(e,t){var n=rl(e);if(!n)throw new Error("element does not contain an active segmentation");return Re(n.volumeId).segmentsLocked.has(t)}function il(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=rl(e);if(!r)throw new Error("element does not contain an active segmentation");var o=r.volumeId,a=Re(o),i=a.segmentsLocked;n?i.add(t):i.delete(t),pe(o)}function ll(e,t){var n=Re(e);if(!n)throw new Error("No segmentation state found for ".concat(e));return n.segmentsLocked.has(t)}function cl(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=Re(e);if(!r)throw new Error("No segmentation state found for ".concat(e));var o=r.segmentsLocked;n?o.add(t):o.delete(t),pe(e)}function sl(e){var t=Re(e);if(!t)throw new Error("No segmentation state found for ".concat(e));var n=t.segmentsLocked;return Array.from(n)}function ul(e,t){if(!e)throw new Error("addColorLUT: colorLUT is required");L.utilities.isEqual(e[0],[0,0,0,0])||(console.warn("addColorLUT: [0, 0, 0, 0] color is not provided for the background color (segmentIndex =0), automatically adding it"),e.unshift([0,0,0,0])),Ye(e,t)}function dl(e,t,n){var r=Ve(e,t);if(!r)throw new Error("Segmentation data with UID ".concat(t," does not exist for tool group ").concat(e));return Ke(r.colorLUTIndex)[n]}function vl(e,t,n){var r=Ue(e);r&&r.forEach((function(r){r.segmentationDataUID===t&&(r.visibility=n,me(e))}))}function fl(e,t){var n=Ue(e).find((function(e){return e.segmentationDataUID===t}));if(n)return n.visibility}function gl(e){var t=rl(e);if(!t)throw new Error("toolGroup does not contain an active segmentation");var n=Re(t.volumeId);if(n)return n.activeSegmentIndex}function hl(e,t){var n=rl(e);if(!n)throw new Error("element does not contain an active segmentation");var r=n.volumeId,o=Re(r);(null==o?void 0:o.activeSegmentIndex)!==t&&(o.activeSegmentIndex=t,pe(r))}function ml(e,t){var n=Re(e);(null==n?void 0:n.activeSegmentIndex)!==t&&(n.activeSegmentIndex=t,pe(e))}function pl(e){var t=Re(e);if(t)return t.activeSegmentIndex}function yl(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return wl(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wl(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function wl(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var El=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e;U(this,o);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return B(Bt(e=r.call.apply(r,[this].concat(n))),"mouseMoveCallback",(function(t,n){var r,o=t.detail,a=o.element,i=o.currentPoints.canvas,l=!1,c=yl(n);try{for(c.s();!(r=c.n()).done;){var s=r.value;if(!K(s)){var u=s.data,d=u.handles?u.handles.activeHandleIndex:void 0,v=e._imagePointNearToolOrHandle(a,s,i,6),f=v&&!s.highlighted,g=!v&&s.highlighted;f||g?(s.highlighted=!s.highlighted,l=!0):u.handles&&u.handles.activeHandleIndex!==d&&(l=!0)}}}catch(e){c.e(e)}finally{c.f()}return l})),B(Bt(e),"onImageSpacingCalibrated",(function(t){var n=t.detail,r=n.element,o=n.rowScale,a=n.columnScale,i=n.imageId,l=n.imageData,c=n.worldToIndex;if((0,L.getEnabledElement)(r).viewport instanceof L.VolumeViewport)throw new Error("Cannot calibrate a volume viewport");var s=l.getIndexToWorld(),u=L.utilities.imageIdToURI(i),d=ae();d.getFramesOfReference().forEach((function(t){var n=d.getFrameOfReferenceAnnotations(t)[e.getToolName()];n&&n.length&&(n.forEach((function(e){e.metadata.referencedImageId===u&&(e.invalidated=!0,e.data.cachedStats={},e.data.handles.points=e.data.handles.points.map((function(e){var t=Xa.vec4.fromValues.apply(Xa.vec4,er(e).concat([1])),n=Xa.vec4.fromValues(0,0,0,1),r=Xa.vec4.create();Xa.vec4.transformMat4(r,t,c);var i=[a*r[0],o*r[1],r[2]];return Xa.vec4.transformMat4(n,Xa.vec4.fromValues(i[0],i[1],i[2],1),s),n.slice(0,3)})))})),Vn(r))}))})),e}return j(o,[{key:"filterInteractableAnnotationsForElement",value:function(e,t){if(t&&t.length)return bi((0,L.getEnabledElement)(e).viewport,t)}},{key:"getHandleNearImagePoint",value:function(e,t,n,r){var o=(0,L.getEnabledElement)(e).viewport,a=t.data,i=a.handles,l=i.points,c=i.textBox,s=c.worldBoundingBox;if(s){var u={topLeft:o.worldToCanvas(s.topLeft),topRight:o.worldToCanvas(s.topRight),bottomLeft:o.worldToCanvas(s.bottomLeft),bottomRight:o.worldToCanvas(s.bottomRight)};if(n[0]>=u.topLeft[0]&&n[0]<=u.bottomRight[0]&&n[1]>=u.topLeft[1]&&n[1]<=u.bottomRight[1])return a.handles.activeHandleIndex=null,c}for(var d=0;d<l.length;d++){var v=l[d],f=o.worldToCanvas(v);if(!0==Xa.vec2.distance(n,f)<r)return a.handles.activeHandleIndex=d,v}a.handles.activeHandleIndex=null}},{key:"getStyle",value:function(e,t,n){return ko(e,t,qi(n),this.mode)}},{key:"getLinkedTextBoxStyle",value:function(e,t){return{fontFamily:this.getStyle(e,"textBox.fontFamily",t),fontSize:this.getStyle(e,"textBox.fontSize",t),color:this.getStyle(e,"textBox.color",t),background:this.getStyle(e,"textBox.background",t),lineWidth:this.getStyle(e,"textBox.link.lineWidth",t),lineDash:this.getStyle(e,"textBox.link.lineDash",t)}}},{key:"_imagePointNearToolOrHandle",value:function(e,t,n,r){return!!this.getHandleNearImagePoint(e,t,n,r)||!!this.isPointNearTool(e,t,n,r,"mouse")||void 0}}]),o}(zt);B(El,"toolName","AnnotationTool");var bl=El;var Il=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return U(this,o),B(Bt(e=r.call(this,t,n)),"touchDragCallback",void 0),B(Bt(e),"mouseDragCallback",void 0),e.touchDragCallback=e._dragCallback.bind(Bt(e)),e.mouseDragCallback=e._dragCallback.bind(Bt(e)),e}return j(o,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,r=t.deltaPoints,o=(0,L.getEnabledElement)(n),a=r.world,i=o.viewport.getCamera(),l=i.focalPoint,c=i.position,s=[c[0]-a[0],c[1]-a[1],c[2]-a[2]],u=[l[0]-a[0],l[1]-a[1],l[2]-a[2]];o.viewport.setCamera({focalPoint:u,position:s}),o.viewport.render()}}]),o}(zt);B(Il,"toolName","Pan");var _l=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return U(this,o),B(Bt(e=r.call(this,t,n)),"touchDragCallback",void 0),B(Bt(e),"mouseDragCallback",void 0),B(Bt(e),"_getImageDynamicRange",(function(e){var t,n,r=L.cache.getVolume(e),o=r.dimensions,a=r.scalarData,i=Math.floor(o[2]/2),l=o[0]*o[1];a instanceof Float32Array?(t=4,n=Float32Array):a instanceof Uint8Array&&(t=1,n=Uint8Array);for(var c=new n(a.buffer,i*l*t,l),s=1/0,u=-1/0,d=0;d<l;d++){var v=c[d];v<s&&(s=v),v>u&&(u=v)}return u-s})),e.touchDragCallback=e._dragCallback.bind(Bt(e)),e.mouseDragCallback=e._dragCallback.bind(Bt(e)),e}return j(o,[{key:"_dragCallback",value:function(e){var t,n,r,o,a,i,l,c=e.detail,s=c.element,u=c.deltaPoints,d=(0,L.getEnabledElement)(s),v=d.renderingEngine,f=d.viewportId,g=d.viewport,h=!1;if(g instanceof L.VolumeViewport){t=this.getTargetId(g),o=g.getActor(t).volumeActor.getProperty().getRGBTransferFunction(0),l=L.utilities.getVolumeViewportsContainingVolumeId(t,v.id);var m=La(o.getRange(),2);n=m[0],r=m[1],a=L.cache.getVolume(t).metadata.Modality,h=!0}else{var p=g.getProperties();a=g.modality;var y=p.voiRange;n=y.lower,r=y.upper}var w={volumeId:t,viewportId:f,range:i="PT"===a?this.getPTNewRange({deltaPointsCanvas:u.canvas,lower:n,upper:r,clientHeight:s.clientHeight}):this.getNewRange({deltaPointsCanvas:u.canvas,useDynamicRange:h,volumeId:t,lower:n,upper:r})};if((0,L.triggerEvent)(s,L.Enums.Events.VOI_MODIFIED,w),g instanceof L.StackViewport)return g.setProperties({voiRange:i}),void g.render();o.setRange(i.lower,i.upper),l.forEach((function(e){e.render()}))}},{key:"getPTNewRange",value:function(e){var t=e.deltaPointsCanvas,n=e.lower,r=e.upper,o=e.clientHeight;return r-=t[1]*(5/o),{lower:n,upper:r=Math.max(r,.1)}}},{key:"getNewRange",value:function(e){var t=e.deltaPointsCanvas,n=e.useDynamicRange,r=e.volumeId,o=e.lower,a=e.upper,i=n?this._getMultiplyerFromDynamicRange(r):4,l=t[0]*i,c=t[1]*i,s=L.utilities.windowLevel.toWindowLevel(o,a),u=s.windowWidth,d=s.windowCenter;return u+=l,d+=c,u=Math.max(u,1),L.utilities.windowLevel.toLowHighRange(u,d)}},{key:"_getMultiplyerFromDynamicRange",value:function(e){if(!e)throw new Error("No volumeId provided for the volume Viewport");var t=4,n=this._getImageDynamicRange(e)/1024;return n>1&&(t=Math.round(n)),t}}]),o}(zt);B(_l,"toolName","WindowLevel");var Sl=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return U(this,o),B(Bt(e=r.call(this,t,n)),"touchDragCallback",void 0),B(Bt(e),"mouseDragCallback",void 0),B(Bt(e),"_dragParallelProjection",(function(e,t){var n=e.detail,r=n.element,o=n.deltaPoints,a=(0,L.getEnabledElement)(r).viewport,i=1.5/(r.clientWidth,r.clientHeight),l=(1-o.canvas[1]*i)*t.parallelScale;a.setCamera({parallelScale:l})})),B(Bt(e),"_dragPerspectiveProjection",(function(e,t){var n=e.detail,r=n.element,o=n.deltaPoints,a=(0,L.getEnabledElement)(r).viewport,i=[r.clientWidth,r.clientHeight],l=t.clippingRange[1]/i[1]*1.5,c=t.position,s=t.focalPoint,u=t.viewPlaneNormal,d=[-u[0],-u[1],-u[2]],v=o.canvas[1]*l,f=v*d[0];c[0]+=f,s[0]+=f,f=v*d[1],c[1]+=f,s[1]+=f,f=v*d[2],c[2]+=f,s[2]+=f,a.setCamera({position:c,focalPoint:s})})),e.touchDragCallback=e._dragCallback.bind(Bt(e)),e.mouseDragCallback=e._dragCallback.bind(Bt(e)),e}return j(o,[{key:"_dragCallback",value:function(e){var t=e.detail.element,n=(0,L.getEnabledElement)(t).viewport,r=n.getCamera();r.parallelProjection?this._dragParallelProjection(e,r):this._dragPerspectiveProjection(e,r),n.render()}}]),o}(zt);B(Sl,"toolName","Zoom");var Dl=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{invert:!1}};return U(this,o),B(Bt(e=r.call(this,t,n)),"touchDragCallback",void 0),B(Bt(e),"mouseDragCallback",void 0),e.touchDragCallback=e._dragCallback.bind(Bt(e)),e.mouseDragCallback=e._dragCallback.bind(Bt(e)),e}return j(o,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.deltaPoints,r=t.viewportId,o=t.renderingEngineId,a=n.canvas[1],i=(0,L.getEnabledElementByIds)(r,o).viewport;Ni(e,a,this.getTargetId(i),this.configuration.invert)}}]),o}(zt);B(Dl,"toolName","StackScroll");var Cl=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],invert:!1};return U(this,o),B(Bt(e=r.call(this,t,n)),"_configuration",void 0),e}return j(o,[{key:"mouseWheelCallback",value:function(e){var t=e.detail.wheel.direction,n=this.configuration,r=n.invert;Ni(e,t,n.volumeId,r)}}]),o}(zt);B(Cl,"toolName","StackScrollMouseWheel");var Ol={X:[1,0,0],Y:[0,1,0],Z:[0,0,1],CUSTOM:[]},xl=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{direction:Ol.Z,rotateIncrementDegrees:.5}};return U(this,o),B(Bt(e=r.call(this,t,n)),"_configuration",void 0),e}return j(o,[{key:"mouseWheelCallback",value:function(e){var t=e.detail,n=t.element,r=t.wheel,o=(0,L.getEnabledElement)(n).viewport,a=this.configuration,i=a.direction,l=a.rotateIncrementDegrees,c=o.getCamera(),s=c.viewUp,u=c.position,d=c.focalPoint,v=r.direction,f=La(d,3),g=f[0],h=f[1],m=f[2],p=La(i,3),y=p[0],w=p[1],E=p[2],b=v*l,I=[0,0,0],_=[0,0,0],S=[0,0,0],D=Xa.mat4.identity(new Float32Array(16));Xa.mat4.translate(D,D,[g,h,m]),Xa.mat4.rotate(D,D,b,[y,w,E]),Xa.mat4.translate(D,D,[-g,-h,-m]),Xa.vec3.transformMat4(I,u,D),Xa.vec3.transformMat4(_,d,D),Xa.mat4.identity(D),Xa.mat4.rotate(D,D,b,[y,w,E]),Xa.vec3.transformMat4(S,s,D),o.setCamera({position:I,viewUp:S,focalPoint:_}),o.render()}}]),o}(zt);B(xl,"toolName","VolumeRotateMouseWheel");var Tl=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{targetViewportIds:[]}};return U(this,o),B(Bt(e=r.call(this,t,n)),"_bounds",void 0),e}return j(o,[{key:"mouseClickCallback",value:function(e){var t=e.detail,n=t.element,r=t.currentPoints,o=(0,L.getEnabledElement)(n),a=o.viewport,i=o.renderingEngine,l=this.getTargetId(a),c=-1/0,s=Si(a,r.world,l,(function(e,t){if(e>c)return c=e,t}));s&&s.length&&this.configuration.targetViewportIds.forEach((function(e){var t=i.getViewport(e);t instanceof L.VolumeViewport?function(e,t){if(e instanceof L.VolumeViewport){var n=e.getCamera().focalPoint,r=[0,0,0];Xa.vec3.sub(r,t,n),function(e,t){var n=e.getCamera(),r=n.viewPlaneNormal,o=Xa.vec3.dot(t,r),a=Xa.vec3.fromValues(r[0],r[1],r[2]);if(Xa.vec3.scale(a,a,o),Math.abs(a[0])>.001||Math.abs(a[1])>.001||Math.abs(a[2])>.001){var i=[0,0,0],l=[0,0,0];Xa.vec3.add(i,n.focalPoint,a),Xa.vec3.add(l,n.position,a),e.setCamera({focalPoint:i,position:l}),e.render()}}(e,r)}}(t,s):console.warn("Cannot jump to specified world coordinates for a viewport that is not a VolumeViewport")}))}}]),o}(zt);B(Tl,"toolName","MIPJumpToClickTool");var Ml=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return U(this,o),B(Bt(e=r.call(this,t,n)),"touchDragCallback",void 0),B(Bt(e),"mouseDragCallback",void 0),B(Bt(e),"_throttledCalculateCachedStats",void 0),B(Bt(e),"editData",void 0),B(Bt(e),"isDrawing",void 0),B(Bt(e),"isHandleOutsideImage",void 0),B(Bt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=(0,L.getEnabledElement)(a),c=l.viewport,s=l.renderingEngine;ua(a),e.isDrawing=!0;var u,d=c.getCamera(),v=d.viewPlaneNormal,f=d.viewUp;if(c instanceof L.StackViewport)u=c.getCurrentImageId&&c.getCurrentImageId();else{var g=e.getTargetId(c),h=L.cache.getVolume(g);u=L.utilities.getClosestImageId(h,i,v,f)}if(u){var m=u.indexOf(":");u=u.substring(m+1)}var p={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:er(v),viewUp:er(f),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:u,toolName:o.toolName},data:{handles:{points:[er(i),er(i)],activeHandleIndex:null,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}},label:"",cachedStats:{}}};L.Settings.getObjectSettings(p,o),le(a,p);var y=Fi(a,o.toolName);return e.editData={annotation:p,viewportIdsToRender:y,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),t.preventDefault(),zr(s,y),p})),B(Bt(e),"isPointNearTool",(function(e,t,n,r){var o=(0,L.getEnabledElement)(e).viewport,a=La(t.data.handles.points,2),i=a[0],l=a[1],c=o.worldToCanvas(i),s=o.worldToCanvas(l),u={start:{x:c[0],y:c[1]},end:{x:s[0],y:s[1]}};return gi([u.start.x,u.start.y],[u.end.x,u.end.y],[n[0],n[1]])<=r})),B(Bt(e),"toolSelectedCallback",(function(t,n,r){var a=t.detail.element;n.highlighted=!0;var i=Fi(a,o.toolName);e.editData={annotation:n,viewportIdsToRender:i,movingTextBox:!1},e._activateModify(a),ua(a);var l=(0,L.getEnabledElement)(a).renderingEngine;zr(l,i),t.preventDefault()})),B(Bt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){o.highlighted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),sa(n);var s=(0,L.getEnabledElement)(n).renderingEngine;e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&ce(n,o.annotationUID),zr(s,a),e.editData=null,e.isDrawing=!1}})),B(Bt(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var u=n.deltaPoints.world,d=s.handles.textBox,v=d.worldPosition;v[0]+=u[0],v[1]+=u[1],v[2]+=u[2],d.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else{var g=n.currentPoints.world;s.handles.points[l]=er(g),a.invalidated=!0}e.editData.hasMoved=!0;var h=(0,L.getEnabledElement)(r).renderingEngine;zr(h,i)})),B(Bt(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),sa(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=r.data;r.highlighted=!1,a.handles.activeHandleIndex=null;var i=(0,L.getEnabledElement)(t).renderingEngine;return zr(i,o),e.editData=null,r.annotationUID}})),B(Bt(e),"_activateModify",(function(t){Nt.isInteractingWithTool=!0,t.addEventListener(P.MOUSE_UP,e._mouseUpCallback),t.addEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_deactivateModify",(function(t){Nt.isInteractingWithTool=!1,t.removeEventListener(P.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_activateDraw",(function(t){Nt.isInteractingWithTool=!0,t.addEventListener(P.MOUSE_UP,e._mouseUpCallback),t.addEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(P.MOUSE_MOVE,e._mouseDragCallback),t.addEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_deactivateDraw",(function(t){Nt.isInteractingWithTool=!1,t.removeEventListener(P.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(P.MOUSE_MOVE,e._mouseDragCallback),t.removeEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"renderAnnotation",(function(t,n){var r,a,i=t.viewport,l=i.element,c=ie(l,o.toolName);if(null!==(r=c)&&void 0!==r&&r.length&&null!==(a=c=e.filterInteractableAnnotationsForElement(l,c))&&void 0!==a&&a.length)for(var s=e.getTargetId(i),u=i.getRenderingEngine(),d=0;d<c.length;d++){var v=c[d],f=L.Settings.getObjectSettings(v,o),g=v.annotationUID,h=v.data,m=h.handles,p=m.points,y=m.activeHandleIndex,w=e.getStyle(f,"lineWidth",v),E=e.getStyle(f,"lineDash",v),b=e.getStyle(f,"color",v),I=p.map((function(e){return i.worldToCanvas(e)})),_=void 0;if(K(v)||e.editData||null===y||(_=[I[y]]),_&&Ta(n,o.toolName,g,"0",I,{color:b,lineDash:E,lineWidth:w}),Ma(n,o.toolName,g,"1",I[0],I[1],{color:b,width:w}),h.cachedStats[s]?v.invalidated&&e._throttledCalculateCachedStats(v,u,t):(h.cachedStats[s]={length:null},e._calculateCachedStats(v,u,t)),!i.getRenderingEngine())return void console.warn("Rendering Engine has been destroyed");var S=e._getTextLines(h,s);if(!h.handles.textBox.hasMoved){var D=ii(I);h.handles.textBox.worldPosition=i.canvasToWorld(D)}var C=i.worldToCanvas(h.handles.textBox.worldPosition),O=ja(n,o.toolName,g,"1",S,C,I,{},e.getLinkedTextBoxStyle(f,v)),x=O.x,T=O.y,M=O.width,k=O.height;h.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([x,T]),topRight:i.canvasToWorld([x+M,T]),bottomLeft:i.canvasToWorld([x,T+k]),bottomRight:i.canvasToWorld([x+M,T+k])}}})),e._throttledCalculateCachedStats=Ka(e._calculateCachedStats,100,{trailing:!0}),e}return j(o,[{key:"handleSelectedCallback",value:function(e,t,n){var r=e.detail.element,a=t.data;t.highlighted=!0;var i,l=!1;n.worldPosition?l=!0:i=a.handles.points.findIndex((function(e){return e===n}));var c=Fi(r,o.toolName);this.editData={annotation:t,viewportIdsToRender:c,handleIndex:i,movingTextBox:l},this._activateModify(r),ua(r);var s=(0,L.getEnabledElement)(r).renderingEngine;zr(s,c),e.preventDefault()}},{key:"_getTextLines",value:function(e,t){var n=e.cachedStats[t].length;if(void 0!==n)return["".concat(n.toFixed(2)," mm")]}},{key:"_calculateLength",value:function(e,t){var n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return Math.sqrt(n*n+r*r+o*o)}},{key:"_calculateCachedStats",value:function(e,t,n){for(var r=e.data,o=n.viewportId,a=n.renderingEngineId,i=r.handles.points[0],l=r.handles.points[1],c=r.cachedStats,s=Object.keys(c),u=0;u<s.length;u++){var d=s[u],v=this.getTargetIdViewportAndImage(d,t).image,f=v.imageData,g=v.dimensions,h=this._calculateLength(i,l),m=$a(f,i),p=$a(f,l);this._isInsideVolume(m,p,g)?this.isHandleOutsideImage=!1:this.isHandleOutsideImage=!0,c[d]={length:h}}e.invalidated=!1;var y=P.ANNOTATION_MODIFIED,w={annotation:e,viewportId:o,renderingEngineId:a};return(0,L.triggerEvent)(L.eventTarget,y,w),c}},{key:"_isInsideVolume",value:function(e,t,n){return L.utilities.indexWithinDimensions(e,n)&&L.utilities.indexWithinDimensions(t,n)}}]),o}(bl);B(Ml,"toolName","Length");var kl=Ml;var Nl=si;function Al(){return"rgb(200, 200, 200)"}function Rl(){return!0}function Ll(){return!0}function Pl(){return!1}var Ul=.001,Vl=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t,n,a,i,l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse"],configuration:{shadow:!0,autoPan:{enabled:!1,panSize:10}}};return U(this,o),B(Bt(i=r.call(this,l,c)),"toolCenter",[0,0,0]),B(Bt(i),"_getReferenceLineColor",void 0),B(Bt(i),"_getReferenceLineControllable",void 0),B(Bt(i),"_getReferenceLineDraggableRotatable",void 0),B(Bt(i),"_getReferenceLineSlabThicknessControlsOn",void 0),B(Bt(i),"editData",void 0),B(Bt(i),"initializeViewport",(function(e){var t=e.renderingEngineId,n=e.viewportId,r=(0,L.getEnabledElementByIds)(n,t),a=r.FrameOfReferenceUID,l=r.viewport,c=l.element,s=l.getCamera(),u=s.position,d=s.focalPoint,v=s.viewPlaneNormal,f=ie(c,o.toolName);(f=i.filterInteractableAnnotationsForElement(c,f)).length&&ce(c,f[0].annotationUID);var g={highlighted:!1,metadata:{cameraPosition:er(u),cameraFocalPoint:er(d),FrameOfReferenceUID:a,toolName:o.toolName},data:{handles:{rotationPoints:[],slabThicknessPoints:[],toolCenter:i.toolCenter},activeOperation:null,activeViewportIds:[],viewportId:n}};return sa(c),le(c,g),{normal:v,point:l.canvasToWorld([l.sWidth/2,l.sHeight/2])}})),B(Bt(i),"init",(function(e){if(!e.length||1===e.length)throw new Error("For crosshairs to operate, at least two viewports must be given.");var t=La(e,3),n=t[0],r=t[1],o=t[2],a=i.initializeViewport(n),l=a.normal,c=a.point,s=i.initializeViewport(r),u=s.normal,d=s.point,v=[0,0,0],f=Xa.vec3.create();if(o){var g=i.initializeViewport(o);v=g.normal,f=g.point}else Xa.vec3.add(f,c,d),Xa.vec3.scale(f,f,.5),Xa.vec3.cross(v,l,u);var h=L.utilities.planar.planeEquation(l,c),m=L.utilities.planar.planeEquation(u,d),p=L.utilities.planar.planeEquation(v,f);i.toolCenter=L.utilities.planar.threePlaneIntersection(h,m,p)})),B(Bt(i),"addNewAnnotation",(function(e,t){var n=e.detail,r=n.element,a=n.currentPoints.world,l=(0,L.getEnabledElement)(r),c=l.viewport;i._jump(l,a);for(var s=ie(r,o.toolName),u=i.filterInteractableAnnotationsForElement(c.element,s),d=u[0].data,v=d.handles.rotationPoints,f=[],g=0;g<v.length-1;++g){var h=v[g][1],m=i._getReferenceLineControllable(h.id),p=i._getReferenceLineDraggableRotatable(h.id);m&&p&&(f.push(h.id),g++)}return d.activeViewportIds=[].concat(f),d.handles.activeOperation=1,e.preventDefault(),ua(r),i._activateModify(r),u[0]})),B(Bt(i),"cancel",(function(){console.log("Not implemented yet")})),B(Bt(i),"handleSelectedCallback",(function(e,t,n){var r=e.detail.element;t.highlighted=!0,i._activateModify(r),ua(r),e.preventDefault()})),B(Bt(i),"isPointNearTool",(function(e,t,n,r){return!!i._pointNearTool(e,t,n,6)})),B(Bt(i),"toolSelectedCallback",(function(e,t,n){var r=e.detail.element;t.highlighted=!0,i._activateModify(r),ua(r),e.preventDefault()})),B(Bt(i),"onCameraModified",(function(e){var t=e.detail.element,n=(0,L.getEnabledElement)(t),r=n.renderingEngine,a=n.viewport,l=Fi(t,o.toolName,!1),c=ie(t,o.toolName),s=i.filterInteractableAnnotationsForElement(t,c)[0];if(s){var u=a.getCamera(),d=s.metadata.cameraPosition,v=[0,0,0];_i().subtract(u.position,d,v);var f=s.metadata.cameraFocalPoint,g=[0,0,0];_i().subtract(u.focalPoint,f,g),s.metadata.cameraPosition=er(u.position),s.metadata.cameraFocalPoint=er(u.focalPoint);var h=i._getReferenceLineControllable(a.id),m=i._getReferenceLineDraggableRotatable(a.id);if(!L.utilities.isEqual(u.position,d,.001)&&h&&m){var p=!0;L.utilities.isEqual(v,g,.001)||(p=!1),p&&Math.abs(_i().dot(v,u.viewPlaneNormal))>.01&&(i.toolCenter[0]+=v[0],i.toolCenter[1]+=v[1],i.toolCenter[2]+=v[2])}i.configuration.autoPan.enabled&&L.utilities.getVolumeViewportsContainingSameVolumes(a,r.id).forEach((function(e){var t=e.id;t!==a.id&&i._autoPanViewportIfNecessary(t,r)})),zr(r,l)}})),B(Bt(i),"mouseMoveCallback",(function(e,t){for(var n=e.detail,r=n.element,o=n.currentPoints.canvas,a=!1,l=0;l<t.length;l++){var c=t[l];if(!K(c)){var s=c.data,u=c.highlighted;if(s.handles){var d=s.handles.activeOperation,v=s.activeViewportIds&&s.activeViewportIds.length>0?er(s.activeViewportIds):[];s.activeViewportIds=[],s.handles.activeOperation=null;var f;(f=!!i.getHandleNearImagePoint(r,c,o,6)||i._pointNearTool(r,c,o,6))&&!u||!f&&u?(c.highlighted=!u,a=!0):s.handles.activeOperation===d&&i._areViewportIdArraysEqual(s.activeViewportIds,v)||(a=!0)}}}return a})),B(Bt(i),"filterInteractableAnnotationsForElement",(function(e,t){if(!t||!t.length)return[];var n=(0,L.getEnabledElement)(e).viewportId;return t.filter((function(e){return e.data.viewportId===n}))})),B(Bt(i),"renderAnnotation",(function(e,t){var n=e.viewport,r=e.renderingEngine,a=n.element,l=ie(a,o.toolName),c=n.getCamera(),s=i.filterInteractableAnnotationsForElement(a,l)[0];if(l&&s&&s.data){var u=s.annotationUID,d=n.sWidth,v=n.sHeight,f=Math.sqrt(d*d+v*v),g=s.data,h=n.worldToCanvas(i.toolCenter),m=i._filterAnnotationsByUniqueViewportOrientations(e,l),p=[];m.forEach((function(e){var t=e.data;t.handles.toolCenter=i.toolCenter;var o=r.getViewport(t.viewportId),a=o.getCamera(),l=i._getReferenceLineControllable(o.id),s=i._getReferenceLineDraggableRotatable(o.id),u=i._getReferenceLineSlabThicknessControlsOn(o.id),d=o.sWidth,v=o.sHeight,g=Math.sqrt(d*d+v*v),y=[.5*d,.5*v],w=o.canvasToWorld(y),E=[0,0,0];_i().cross(c.viewPlaneNormal,a.viewPlaneNormal,E),_i().normalize(E),_i().multiplyScalar(E,g);var b=[0,0,0];_i().add(w,E,b);var I=[0,0,0];_i().subtract(w,E,I);var _=[0,0,d,v],S=n.worldToCanvas(b),D=n.worldToCanvas(w),C=Xa.vec2.create();Xa.vec2.subtract(C,S,D),Xa.vec2.normalize(C,C);var O=Xa.vec2.create();Xa.vec2.scale(O,C,100*f);var x=Xa.vec2.create();Xa.vec2.scale(x,C,.25*f);var T=Xa.vec2.create();Xa.vec2.scale(T,C,.15*f);var M=Xa.vec2.create();Xa.vec2.scale(M,C,2===m.length?.04*f:0);var k=Xa.vec2.create(),N=Xa.vec2.create(),A=Xa.vec2.create(),R=Xa.vec2.create(),L=Xa.vec2.clone(h);s&&l||(L=Xa.vec2.clone(D)),Xa.vec2.add(k,L,M),Xa.vec2.add(N,L,O),Xa.vec2.subtract(A,L,M),Xa.vec2.subtract(R,L,O),Nl(k,N,_),Nl(A,R,_);var P=Xa.vec2.create();Xa.vec2.subtract(P,h,x);var U=Xa.vec2.create();Xa.vec2.add(U,h,x);var V=Xa.vec2.clone(h);!s&&u&&(V=Xa.vec2.clone(D));var j=er(i.toolCenter);!s&&u&&(j=er(w));var B=[0,0,0];_i().subtract(b,I,B),_i().normalize(B);var F=c.viewPlaneNormal,W=Ti().buildFromDegree().rotate(90,F).matrix,G=[0,0,0];Xa.vec3.transformMat4(G,B,W);var q=o.getSlabThickness(),H=[].concat(G);_i().multiplyScalar(H,q);var z=[0,0,0];_i().add(j,H,z);var K=n.worldToCanvas(z),Y=Xa.vec2.create();Xa.vec2.subtract(Y,V,K);var Z=Xa.vec2.create();Xa.vec2.subtract(Z,V,O),Xa.vec2.add(Z,Z,Y);var $=Xa.vec2.create();Xa.vec2.add($,V,O),Xa.vec2.add($,$,Y),Nl(Z,$,_);var X=Xa.vec2.create();Xa.vec2.add(X,V,O),Xa.vec2.subtract(X,X,Y);var J=Xa.vec2.create();Xa.vec2.subtract(J,V,O),Xa.vec2.subtract(J,J,Y),Nl(X,J,_);var Q=Xa.vec2.create(),ee=Xa.vec2.create(),te=Xa.vec2.create(),ne=Xa.vec2.create();Xa.vec2.subtract(Q,V,T),Xa.vec2.add(Q,Q,Y),Xa.vec2.add(ee,V,T),Xa.vec2.add(ee,ee,Y),Xa.vec2.subtract(te,V,T),Xa.vec2.subtract(te,te,Y),Xa.vec2.add(ne,V,T),Xa.vec2.subtract(ne,ne,Y),p.push([o,k,N,A,R,Z,$,X,J,P,U,Q,ee,te,ne])}));var y=[],w=[],E=i._getReferenceLineColor(n.id),b=void 0!==E?E:"rgb(200, 200, 200)";p.forEach((function(e,r){var a=e[0],l=i._getReferenceLineColor(a.id),c=i._getReferenceLineControllable(a.id),s=i._getReferenceLineDraggableRotatable(a.id),d=i._getReferenceLineSlabThicknessControlsOn(a.id),v=g.activeViewportIds.find((function(e){return e===a.id})),f=void 0!==l?l:"rgb(200, 200, 200)",h=1,m=null!==g.handles.activeOperation&&1===g.handles.activeOperation&&v;m&&(h=2.5);var p="".concat(r);if(c&&s?(p="".concat(r,"One"),Ma(t,o.toolName,u,p,e[1],e[2],{color:f,lineWidth:h}),p="".concat(r,"Two"),Ma(t,o.toolName,u,p,e[3],e[4],{color:f,lineWidth:h})):Ma(t,o.toolName,u,p,e[2],e[4],{color:f,lineWidth:h}),c){f=void 0!==l?l:"rgb(200, 200, 200)";var E=2===g.handles.activeOperation,b=[e[9],e[10]],I=[n.canvasToWorld(e[9]),a,e[1],e[2]],_=[n.canvasToWorld(e[10]),a,e[3],e[4]];y.push(I,_);var S=3===g.handles.activeOperation,D=[e[11],e[12],e[13],e[14]],C=[n.canvasToWorld(e[11]),a,e[5],e[6]],O=[n.canvasToWorld(e[12]),a,e[5],e[6]],x=[n.canvasToWorld(e[13]),a,e[7],e[8]],T=[n.canvasToWorld(e[14]),a,e[7],e[8]];if(w.push(C,O,x,T),m&&!E&&!S&&s&&d){var M="".concat(r,"One");Ta(t,o.toolName,u,M,b,{color:f,handleRadius:3,type:"circle"}),M="".concat(r,"Two"),Ta(t,o.toolName,u,M,D,{color:f,handleRadius:3,type:"rect"})}else if(m&&!E&&!S&&s){var k="".concat(r);Ta(t,o.toolName,u,k,b,{color:f,handleRadius:3,type:"circle"})}else if(v&&!E&&!S&&d){var N="".concat(r);Ta(t,o.toolName,u,N,D,{color:f,handleRadius:3,type:"rect"})}else if(E&&s){var A="".concat(r);Ta(t,o.toolName,u,A,b,{color:f,handleRadius:2,fill:f,type:"circle"})}else S&&v&&d&&Ta(t,o.toolName,u,p,D,{color:f,handleRadius:2,fill:f,type:"rect"});a.getSlabThickness()>.5&&d&&(p="".concat(r,"STOne"),Ma(t,o.toolName,u,p,e[5],e[6],{color:f,width:1,lineDash:[2,3]}),p="".concat(r,"STTwo"),Ma(t,o.toolName,u,p,e[7],e[8],{color:f,width:e,lineDash:[2,3]}))}})),g.handles.rotationPoints=y,g.handles.slabThicknessPoints=w;var I=[.95*d,.05*v],_=.01*f;Oa(t,o.toolName,u,"0",I,_,{color:b,fill:b})}})),B(Bt(i),"_areViewportIdArraysEqual",(function(e,t){return e.length===t.length&&(e.forEach((function(e){for(var n=!1,r=0;r<t.length;++r)if(e===t[r]){n=!0;break}if(!1===n)return!1})),!0)})),B(Bt(i),"_getAnnotationsForViewportsWithDifferentCameras",(function(e,t){var n=e.viewportId,r=e.renderingEngine,o=e.viewport,a=t.filter((function(e){return e.data.viewportId!==n}));if(!a||!a.length)return[];var i=o.getCamera(),l=i.viewPlaneNormal,c=i.position,s=a.filter((function(e){var t=e.data.viewportId,n=r.getViewport(t).getCamera();return!(L.utilities.isEqual(n.viewPlaneNormal,l,.01)&&L.utilities.isEqual(n.position,c,1))}));return s})),B(Bt(i),"_filterLinkedViewportWithSameOrientationAndScene",(function(e,t){var n=e.renderingEngine,r=e.viewport,o=i._getReferenceLineControllable(r.id),a=t.filter((function(e){var t=e.data,a=n.getViewport(t.viewportId),l=i._getReferenceLineControllable(a.id);return r!==a&&!0===l&&!0===o}));if(!a||!a.length)return[];var l=r.getCamera(),c=l.viewPlaneNormal;return _i().normalize(c),a.filter((function(e){var t=e.data.viewportId,r=n.getViewport(t).getCamera(),o=r.viewPlaneNormal;return _i().normalize(o),L.utilities.isEqual(c,o,.01)&&L.utilities.isEqual(l.viewUp,r.viewUp,.01)}))})),B(Bt(i),"_filterAnnotationsByUniqueViewportOrientations",(function(e,t){var n=e.renderingEngine,r=e.viewport,o=r.getCamera().viewPlaneNormal;_i().normalize(o);for(var a=t.filter((function(e){var t=e.data,o=n.getViewport(t.viewportId),a=i._getReferenceLineControllable(o.id);return r!==o&&!0===a})),l=[],c=0;c<a.length;++c){var s=a[c],u=s.data.viewportId,d=n.getViewport(u).getCamera(),v=d.viewPlaneNormal;if(_i().normalize(v),!L.utilities.isEqual(o,v,.01)&&!L.utilities.isOpposite(o,v,.01)){for(var f=!1,g=0;g<l.length;++g){var h=l[g].data.viewportId,m=n.getViewport(h).getCamera();L.utilities.isEqual(m.viewPlaneNormal,d.viewPlaneNormal,.01)&&L.utilities.isEqual(m.position,d.position,1)&&(f=!0)}f||l.push(s)}}for(var p=t.filter((function(e){var t=e.data,o=n.getViewport(t.viewportId),a=i._getReferenceLineControllable(o.id);return r!==o&&!0!==a})),y=0;y<p.length;++y){var w=p[y],E=w.data.viewportId,b=n.getViewport(E).getCamera(),I=b.viewPlaneNormal;if(_i().normalize(I),!L.utilities.isEqual(o,I,.01)&&!L.utilities.isOpposite(o,I,.01)){for(var _=!1,S=0;S<l.length;++S){var D=l[S].data.viewportId,C=n.getViewport(D).getCamera();L.utilities.isEqual(C.viewPlaneNormal,b.viewPlaneNormal,.01)&&L.utilities.isEqual(C.position,b.position,1)&&(_=!0)}_||l.push(w)}}for(var O=i._getAnnotationsForViewportsWithDifferentCameras(e,t),x=function(e){var t=O[e];if(!0===l.find((function(e){return e===t})))return"continue";var r=t.data.viewportId,a=n.getViewport(r).getCamera(),i=a.viewPlaneNormal;if(_i().normalize(i),L.utilities.isEqual(o,i,.01)||L.utilities.isOpposite(o,i,.01))return"continue";for(var c=!1,s=0;s<l.length;++s){var u=l[s].data.viewportId,d=n.getViewport(u).getCamera();L.utilities.isEqual(d.viewPlaneNormal,a.viewPlaneNormal,.01)&&L.utilities.isEqual(d.position,a.position,1)&&(c=!0)}c||l.push(t)},T=0;T<O.length;++T)x(T);return l})),B(Bt(i),"_checkIfViewportsRenderingSameScene",(function(e,t){var n=e.getActors(),r=t.getActors(),o=!0;return n.forEach((function(e){n.length===r.length&&void 0!==r.find((function(t){return t.uid===e.uid}))||(o=!1)})),o})),B(Bt(i),"_jump",(function(e,t){Nt.isInteractingWithTool=!0;var n=e.viewport,r=e.renderingEngine,a=ie(n.element,o.toolName),l=[0,0,0];_i().subtract(t,i.toolCenter,l);var c=i._getAnnotationsForViewportsWithDifferentCameras(e,a).filter((function(e){var t=e.data,o=r.getViewport(t.viewportId),a=i._checkIfViewportsRenderingSameScene(n,o);return i._getReferenceLineControllable(o.id)&&i._getReferenceLineDraggableRotatable(o.id)&&a}));return 0===c.length?(Nt.isInteractingWithTool=!1,!1):(i._applyDeltaShiftToSelectedViewportCameras(r,c,l),Nt.isInteractingWithTool=!1,!0)})),B(Bt(i),"_activateModify",(function(e){Nt.isInteractingWithTool=!0,e.addEventListener(P.MOUSE_UP,i._mouseUpCallback),e.addEventListener(P.MOUSE_DRAG,i._mouseDragCallback),e.addEventListener(P.MOUSE_CLICK,i._mouseUpCallback)})),B(Bt(i),"_deactivateModify",(function(e){Nt.isInteractingWithTool=!1,e.removeEventListener(P.MOUSE_UP,i._mouseUpCallback),e.removeEventListener(P.MOUSE_DRAG,i._mouseDragCallback),e.removeEventListener(P.MOUSE_CLICK,i._mouseUpCallback)})),B(Bt(i),"_mouseUpCallback",(function(e){var t=e.detail.element;i.editData.annotation.highlighted=!1,i.editData.annotation.data.handles.activeOperation=null,i.editData.annotation.data.activeViewportIds=[],i._deactivateModify(t),sa(t),i.editData=null;var n=(0,L.getEnabledElement)(t).renderingEngine,r=Fi(t,o.toolName,!1);zr(n,r)})),B(Bt(i),"_mouseDragCallback",(function(e){var t=e.detail,n=t.deltaPoints.world;if(!(Math.abs(n[0])<.001&&Math.abs(n[1])<.001&&Math.abs(n[2])<.001)){var r=t.element,a=(0,L.getEnabledElement)(r),l=a.renderingEngine,c=a.viewport,s=ie(r,o.toolName),u=i.filterInteractableAnnotationsForElement(r,s)[0];if(u){var d=u.data.handles,v=e.detail.currentPoints.canvas;if(1===d.activeOperation){var f=i._getAnnotationsForViewportsWithDifferentCameras(a,s).filter((function(e){var t=e.data,n=l.getViewport(t.viewportId);return u.data.activeViewportIds.find((function(e){return e===n.id}))}));i._applyDeltaShiftToSelectedViewportCameras(l,f,n)}else if(2===d.activeOperation){var g=i._getAnnotationsForViewportsWithDifferentCameras(a,s).filter((function(e){var t=e.data;t.handles.toolCenter=p;var n=l.getViewport(t.viewportId),r=i._getReferenceLineControllable(n.id),o=i._getReferenceLineDraggableRotatable(n.id);return!0===r&&!0===o})),h=Xa.vec2.create(),m=Xa.vec2.create(),p=[i.toolCenter[0],i.toolCenter[1],i.toolCenter[2]],y=c.worldToCanvas(p),w=t.currentPoints.canvas,E=Xa.vec2.create();Xa.vec2.sub(E,w,t.deltaPoints.canvas),Xa.vec2.sub(h,E,y),Xa.vec2.sub(m,w,y);var b=Xa.vec2.angle(h,m);i._isClockWise(y,E,w)&&(b*=-1),b=Math.round(100*b)/100;var I=c.getCamera().viewPlaneNormal,_=Ti().buildFromRadian().translate(p[0],p[1],p[2]).rotate(b,I).translate(-p[0],-p[1],-p[2]).matrix,S=[];g.forEach((function(e){var t=e.data;t.handles.toolCenter=p;var n=l.getViewport(t.viewportId),r=n.getCamera(),o=r.viewUp,a=r.position,i=r.focalPoint;o[0]+=a[0],o[1]+=a[1],o[2]+=a[2],Xa.vec3.transformMat4(i,i,_),Xa.vec3.transformMat4(a,a,_),Xa.vec3.transformMat4(o,o,_),o[0]-=a[0],o[1]-=a[1],o[2]-=a[2],n.setCamera({position:a,viewUp:o,focalPoint:i}),S.push(n.id)})),l.renderViewports(S)}else 3===d.activeOperation&&s.filter((function(e){var t=e.data,n=l.getViewport(t.viewportId);return u.data.activeViewportIds.find((function(e){return e===n.id}))})).forEach((function(e){var r=e.data,o=l.getViewport(r.viewportId),a=o.getCamera().viewPlaneNormal,s=_i().dot(n,a),d=er(a);if(_i().multiplyScalar(d,s),Math.abs(d[0])>.001||Math.abs(d[1])>.001||Math.abs(d[2])>.001){var f=Math.sqrt(d[0]*d[0]+d[1]*d[1]+d[2]*d[2]),g=t.lastPoints.world,h=[0,0,0],m=[i.toolCenter[0],i.toolCenter[1],i.toolCenter[2]];if(!i._getReferenceLineDraggableRotatable(o.id)){var p=i.editData.annotation.data.handles.rotationPoints.filter((function(e){return e[1].uid===o.id}));if(2===p.length){var y=c.canvasToWorld(p[0][3]),w=c.canvasToWorld(p[1][3]);_i().add(y,w,m),_i().multiplyScalar(m,.5)}}_i().subtract(g,m,h);var E=_i().dot(h,a),b=er(a);_i().multiplyScalar(b,E);var I=[b[0],b[1],b[2]];Xa.vec3.normalize(I,I);var _=[d[0],d[1],d[2]];Xa.vec3.normalize(_,_);var S=o.getSlabThickness();L.utilities.isOpposite(I,_,.001)?S-=f:S+=f,S=Math.abs(S),S=Math.max(.1,S),i._pointNearReferenceLine(u,v,6,o)?o.setSlabThickness(null):o.setSlabThickness(S),o.render()}}))}}})),B(Bt(i),"_pointNearReferenceLine",(function(e,t,n,r){for(var o=e.data.handles.rotationPoints,a=0;a<o.length-1;++a){var l=o[a][1];if(l.id===r.id&&i._getReferenceLineControllable(l.id)){var c={start:{x:o[a][2][0],y:o[a][2][1]},end:{x:o[a][3][0],y:o[a][3][1]}},s=gi([c.start.x,c.start.y],[c.end.x,c.end.y],[t[0],t[1]]),u={start:{x:o[a+1][2][0],y:o[a+1][2][1]},end:{x:o[a+1][3][0],y:o[a+1][3][1]}},d=gi([u.start.x,u.start.y],[u.end.x,u.end.y],[t[0],t[1]]);if(s<=n||d<=n)return!0;a++}}return!1})),i._getReferenceLineColor=(null===(e=l.configuration)||void 0===e?void 0:e.getReferenceLineColor)||Al,i._getReferenceLineControllable=(null===(t=l.configuration)||void 0===t?void 0:t.getReferenceLineControllable)||Rl,i._getReferenceLineDraggableRotatable=(null===(n=l.configuration)||void 0===n?void 0:n.getReferenceLineDraggableRotatable)||Ll,i._getReferenceLineSlabThicknessControlsOn=(null===(a=l.configuration)||void 0===a?void 0:a.getReferenceLineSlabThicknessControlsOn)||Pl,i}return j(o,[{key:"getHandleNearImagePoint",value:function(e,t,n,r){var o=(0,L.getEnabledElement)(e).viewport,a=this._getRotationHandleNearImagePoint(o,t,n,r);return null!==a||null!==(a=this._getSlabThicknessHandleNearImagePoint(o,t,n,r))?a:void 0}},{key:"_autoPanViewportIfNecessary",value:function(e,t){var n,r=t.getViewport(e),o=r.sWidth,a=r.sHeight,i=r.canvasToWorld([0,0]),l=r.canvasToWorld([o,a]),c=r.canvasToWorld([o,0]),s=r.canvasToWorld([0,a]),u=Math.min(i[0],l[0],c[0],s[0]),d=Math.max(i[0],l[0],c[0],s[0]),v=Math.min(i[1],l[1],c[1],s[1]),f=Math.max(i[1],l[1],c[1],s[1]),g=Math.min(i[2],l[2],c[2],s[2]),h=Math.max(i[2],l[2],c[2],s[2]),m=this.configuration.autoPan.panSize;if(this.toolCenter[0]<u-Ul)n=[u-this.toolCenter[0]+m,0,0];else if(this.toolCenter[0]>d+Ul)n=[d-this.toolCenter[0]-m,0,0];else if(this.toolCenter[1]<v-Ul)n=[0,v-this.toolCenter[1]+m,0];else if(this.toolCenter[1]>f+Ul)n=[0,f-this.toolCenter[1]-m,0];else if(this.toolCenter[2]<g-Ul)n=[0,0,g-this.toolCenter[2]+m];else{if(!(this.toolCenter[2]>h+Ul))return;n=[0,0,h-this.toolCenter[2]-m]}var p=r.getCamera(),y=p.focalPoint,w=p.position,E=[w[0]-n[0],w[1]-n[1],w[2]-n[2]],b=[y[0]-n[0],y[1]-n[1],y[2]-n[2]];r.setCamera({focalPoint:b,position:E}),r.render()}},{key:"_isClockWise",value:function(e,t,n){return(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0])>0}},{key:"_applyDeltaShiftToSelectedViewportCameras",value:function(e,t,n){var r=this;t.forEach((function(t){r._applyDeltaShiftToViewportCamera(e,t,n)}))}},{key:"_applyDeltaShiftToViewportCamera",value:function(e,t,n){var r=t.data,o=e.getViewport(r.viewportId),a=o.getCamera(),i=a.viewPlaneNormal,l=_i().dot(n,i),c=er(i);if(_i().multiplyScalar(c,l),Math.abs(c[0])>.001||Math.abs(c[1])>.001||Math.abs(c[2])>.001){var s=[0,0,0],u=[0,0,0];_i().add(a.focalPoint,c,s),_i().add(a.position,c,u),o.setCamera({focalPoint:s,position:u}),o.render()}}},{key:"_getRotationHandleNearImagePoint",value:function(e,t,n,r){for(var o=t.data,a=o.handles.rotationPoints,i=0;i<a.length;i++){var l=a[i][0],c=a[i][1];if(this._getReferenceLineControllable(c.id)&&this._getReferenceLineDraggableRotatable(c.id)){var s=e.worldToCanvas(l);if(Xa.vec2.distance(n,s)<r)return o.handles.activeOperation=2,this.editData={annotation:t},l}}return null}},{key:"_getSlabThicknessHandleNearImagePoint",value:function(e,t,n,r){for(var o=t.data,a=o.handles.slabThicknessPoints,i=0;i<a.length;i++){var l=a[i][0],c=a[i][1];if(this._getReferenceLineControllable(c.id)&&this._getReferenceLineSlabThicknessControlsOn(c.id)){var s=e.worldToCanvas(l);if(Xa.vec2.distance(n,s)<r)return o.handles.activeOperation=3,o.activeViewportIds=[c.id],this.editData={annotation:t},l}}return null}},{key:"_pointNearTool",value:function(e,t,n,r){for(var o=this,a=(0,L.getEnabledElement)(e).viewport,i=a.sWidth,l=a.sHeight,c=Math.sqrt(i*i+l*l),s=t.data,u=s.handles.rotationPoints,d=s.handles.slabThicknessPoints,v=[],f=0;f<u.length-1;++f){var g=u[f][1],h=this._getReferenceLineControllable(g.id),m=this._getReferenceLineDraggableRotatable(g.id);if(h&&m){var p={start:{x:u[f][2][0],y:u[f][2][1]},end:{x:u[f][3][0],y:u[f][3][1]}},y=gi([p.start.x,p.start.y],[p.end.x,p.end.y],[n[0],n[1]]),w={start:{x:u[f+1][2][0],y:u[f+1][2][1]},end:{x:u[f+1][3][0],y:u[f+1][3][1]}},E=gi([w.start.x,w.start.y],[w.end.x,w.end.y],[n[0],n[1]]);(y<=r||E<=r)&&(v.push(g.id),s.handles.activeOperation=1),f++}}for(var b=function(e){var t=d[e][1];if(v.find((function(e){return e===t.id})))return I=e,"continue";var a=o._getReferenceLineControllable(t.id),i=o._getReferenceLineSlabThicknessControlsOn(t.id);if(!a||!i)return I=e,"continue";var l=d[e][2],u=d[e][3],f=Xa.vec2.create();Xa.vec2.add(f,l,u),Xa.vec2.scale(f,f,.5);var g=Xa.vec2.create();Xa.vec2.subtract(g,l,f),Xa.vec2.normalize(g,g);var h=Xa.vec2.create();Xa.vec2.scale(h,g,.05*c);var m=Xa.vec2.create(),p=Xa.vec2.create();Xa.vec2.add(m,f,h),Xa.vec2.subtract(p,f,h);var y={start:{x:m[0],y:m[1]},end:{x:l[0],y:l[1]}},w=gi([y.start.x,y.start.y],[y.end.x,y.end.y],[n[0],n[1]]),E={start:{x:p[0],y:p[1]},end:{x:u[0],y:u[1]}},b=gi([E.start.x,E.start.y],[E.end.x,E.end.y],[n[0],n[1]]);(w<=r||b<=r)&&(v.push(t.id),s.handles.activeOperation=null),e++,I=e},I=0;I<d.length-1;++I)b(I);return s.activeViewportIds=[].concat(v),this.editData={annotation:t},1===s.handles.activeOperation}}]),o}(bl);function jl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Bl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jl(Object(n),!0).forEach((function(t){B(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}B(Vl,"toolName","Crosshairs");var Fl=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return U(this,o),B(Bt(e=r.call(this,t,n)),"touchDragCallback",void 0),B(Bt(e),"mouseDragCallback",void 0),B(Bt(e),"editData",void 0),B(Bt(e),"eventDispatchDetail",void 0),B(Bt(e),"isDrawing",void 0),B(Bt(e),"isHandleOutsideImage",void 0),B(Bt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=(0,L.getEnabledElement)(a),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var u,d=c.getCamera(),v=d.viewPlaneNormal,f=d.viewUp;if(c instanceof L.StackViewport)u=c.getCurrentImageId&&c.getCurrentImageId();else{var g=e.getTargetId(c),h=L.cache.getVolume(g);u=L.utilities.getClosestImageId(h,i,v,f)}if(u){var m=u.indexOf(":");u=u.substring(m+1)}var p={invalidated:!0,highlighted:!0,metadata:{viewPlaneNormal:er(v),viewUp:er(f),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:u,toolName:o.toolName},data:{label:"",handles:{points:[er(i)]},cachedStats:{}}};L.Settings.getObjectSettings(p,o),le(a,p);var y=Fi(a,o.toolName);return e.editData={annotation:p,viewportIdsToRender:y},e._activateModify(a),ua(a),t.preventDefault(),zr(s,y),p})),B(Bt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender;o.highlighted=!1;var i=(0,L.getEnabledElement)(n),l=i.renderingEngine,c=i.viewportId;e.eventDispatchDetail={viewportId:c,renderingEngineId:l.id},e._deactivateModify(n),sa(n),e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&ce(n,o.annotationUID),zr(l,a)})),B(Bt(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=e.editData,l=i.annotation,c=i.viewportIdsToRender;l.data.handles.points[0]=er(a),l.invalidated=!0;var s=(0,L.getEnabledElement)(o).renderingEngine;zr(s,c)})),B(Bt(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateModify(t),sa(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=r.data;r.highlighted=!1,a.handles.activeHandleIndex=null;var i=(0,L.getEnabledElement)(t).renderingEngine;return zr(i,o),e.editData=null,r.annotationUID}})),B(Bt(e),"_activateModify",(function(t){Nt.isInteractingWithTool=!0,t.addEventListener(P.MOUSE_UP,e._mouseUpCallback),t.addEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_deactivateModify",(function(t){Nt.isInteractingWithTool=!1,t.removeEventListener(P.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"renderAnnotation",(function(t,n){var r,a,i=t.viewport,l=i.element,c=ie(l,o.toolName);if(null!==(r=c)&&void 0!==r&&r.length&&null!==(a=c=e.filterInteractableAnnotationsForElement(l,c))&&void 0!==a&&a.length)for(var s=e.getTargetId(i),u=i.getRenderingEngine(),d=function(r){var a=c[r],l=L.Settings.getObjectSettings(a,o),d=a.annotationUID,v=a.data,f=v.handles.points[0],g=i.worldToCanvas(f),h=e.getStyle(l,"color",a);if(v.cachedStats[s]){if(a.invalidated&&(e._calculateCachedStats(a,u,t),i instanceof L.VolumeViewport)){var m=a.metadata.referencedImageId;u.getViewports().forEach((function(t){var n=e.getTargetId(t);t instanceof L.StackViewport&&!t.getCurrentImageId().includes(m)&&v.cachedStats[n]&&delete v.cachedStats[n]}))}}else v.cachedStats[s]={Modality:null,index:null,value:null},e._calculateCachedStats(a,u,t);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:void 0};Ta(n,o.toolName,d,"0",[g],{color:h});var p=e._getTextLines(v,s);if(p){var y=[g[0]+6,g[1]-6];Ra(n,o.toolName,d,"0",p,[y[0],y[1]],e.getLinkedTextBoxStyle(l,a))}},v=0;v<c.length;v++){var f=d(v);if("object"===Se(f))return f.v}})),e}return j(o,[{key:"isPointNearTool",value:function(){return!1}},{key:"toolSelectedCallback",value:function(){}},{key:"getHandleNearImagePoint",value:function(e,t,n,r){var o=(0,L.getEnabledElement)(e).viewport,a=t.data.handles.points[0],i=o.worldToCanvas(a);if(!0==Xa.vec2.distance(n,i)<r)return a}},{key:"handleSelectedCallback",value:function(e,t,n){var r=e.detail.element;t.highlighted=!0;var a=Fi(r,o.toolName);this.editData={annotation:t,viewportIdsToRender:a},this._activateModify(r),ua(r);var i=(0,L.getEnabledElement)(r).renderingEngine;zr(i,a),e.preventDefault()}},{key:"_getTextLines",value:function(e,t){var n=e.cachedStats[t],r=n.index,o=n.Modality,a=n.value,i=n.SUVBw,l=n.SUVLbm,c=n.SUVBsa;if(void 0!==a||void 0!==i){var s=[];return s.push("(".concat(r[0],", ").concat(r[1],", ").concat(r[2],")")),"PT"===o?a?s.push("".concat(a.toFixed(2)," SUV")):(s.push("".concat(i.toFixed(2)," SUV bw")),l&&s.push("".concat(l.toFixed(2)," SUV lbm")),c&&s.push("".concat(c.toFixed(2)," SUV bsa"))):"CT"===o?s.push("".concat(a.toFixed(2)," HU")):s.push("".concat(a.toFixed(2)," MO")),s}}},{key:"_getValueForModality",value:function(e,t,n){var r={};if("PT"===n)if(t.scaling.PET&&(t.scaling.PET.suvbwToSuvbsa||t.scaling.PET.suvbwToSuvlbm)){var o=t.scaling.PET,a=o.suvbwToSuvlbm,i=o.suvbwToSuvbsa;if(r.SUVBw=e,a){var l=e*a;r.SUVLbm=l}if(a){var c=e*i;r.SUVBsa=c}}else r.value=e;else r.value=e;return r}},{key:"_calculateCachedStats",value:function(e,t,n){for(var r=e.data,o=n.viewportId,a=n.renderingEngineId,i=r.handles.points[0],l=r.cachedStats,c=Object.keys(l),s=0;s<c.length;s++){var u=c[s],d=this.getTargetIdViewportAndImage(u,t),v=d.image,f=d.viewport,g=v.dimensions,h=v.scalarData,m=v.imageData,p=v.metadata.Modality,y=$a(m,i);if(y[0]=Math.round(y[0]),y[1]=Math.round(y[1]),y[2]=Math.round(y[2]),L.utilities.indexWithinDimensions(y,g)){this.isHandleOutsideImage=!1;var w=g[0],E=g[0]*g[1],b=h[y[2]*E+y[1]*w+y[0]];f instanceof L.StackViewport&&(y[2]=f.getCurrentImageIdIndex());var I=this._getValueForModality(b,v,p);l[u]=Bl(Bl({index:y},I),{},{Modality:p})}else this.isHandleOutsideImage=!0,l[u]={index:y,Modality:p};e.invalidated=!1;var _=P.ANNOTATION_MODIFIED,S={annotation:e,viewportId:o,renderingEngineId:a};(0,L.triggerEvent)(L.eventTarget,_,S)}return l}}]),o}(bl);B(Fl,"toolName","Probe");var Wl=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return U(this,o),B(Bt(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),B(Bt(e),"editData",void 0),B(Bt(e),"isDrawing",void 0),B(Bt(e),"isHandleOutsideImage",void 0),B(Bt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=(0,L.getEnabledElement)(a),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var u,d=c.getCamera(),v=d.viewPlaneNormal,f=d.viewUp;if(c instanceof L.StackViewport)u=c.getCurrentImageId&&c.getCurrentImageId();else{var g=e.getTargetId(c),h=L.cache.getVolume(g);u=L.utilities.getClosestImageId(h,i,v,f)}if(u){var m=u.indexOf(":");u=u.substring(m+1)}var p={invalidated:!0,highlighted:!0,metadata:{viewPlaneNormal:er(v),viewUp:er(f),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:u,toolName:o.toolName},data:{label:"",handles:{points:[er(i),er(i),er(i),er(i)],textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},activeHandleIndex:null},cachedStats:{}}};L.Settings.getObjectSettings(p,o),le(a,p);var y=Fi(a,o.toolName);return e.editData={annotation:p,viewportIdsToRender:y,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),ua(a),t.preventDefault(),zr(s,y),p})),B(Bt(e),"isPointNearTool",(function(t,n,r,o){var a=(0,L.getEnabledElement)(t).viewport,i=n.data.handles.points,l=a.worldToCanvas(i[0]),c=a.worldToCanvas(i[3]),s=e._getRectangleImageCoordinates([l,c]),u=[r[0],r[1]];return pi([s.left,s.top,s.width,s.height],u)<=o})),B(Bt(e),"toolSelectedCallback",(function(t,n,r){var a=t.detail.element;n.highlighted=!0;var i=Fi(a,o.toolName);e.editData={annotation:n,viewportIdsToRender:i,movingTextBox:!1},e._activateModify(a),ua(a);var l=(0,L.getEnabledElement)(a).renderingEngine;zr(l,i),t.preventDefault()})),B(Bt(e),"handleSelectedCallback",(function(t,n,r){var a=t.detail.element,i=n.data;n.highlighted=!0;var l,c=!1;r.worldPosition?c=!0:l=i.handles.points.findIndex((function(e){return e===r}));var s=Fi(a,o.toolName);e.editData={annotation:n,viewportIdsToRender:s,handleIndex:l,movingTextBox:c},e._activateModify(a),ua(a);var u=(0,L.getEnabledElement)(a).renderingEngine;zr(u,s),t.preventDefault()})),B(Bt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){o.highlighted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),sa(n);var s=(0,L.getEnabledElement)(n).renderingEngine;e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&ce(n,o.annotationUID),zr(s,a)}})),B(Bt(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var u=n.deltaPoints.world,d=s.handles.textBox,v=d.worldPosition;v[0]+=u[0],v[1]+=u[1],v[2]+=u[2],d.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else{var g,h,m,p,y,w,E,b,I=n.currentPoints,_=(0,L.getEnabledElement)(r).viewport,S=_.worldToCanvas,D=_.canvasToWorld,C=I.world,O=s.handles.points;switch(O[l]=er(C),l){case 0:case 3:g=S(O[0]),h=[(p=S(O[3]))[0],g[1]],m=[g[0],p[1]],w=D(h),E=D(m),O[1]=w,O[2]=E;break;case 1:case 2:h=S(O[1]),g=[(m=S(O[2]))[0],h[1]],p=[h[0],m[1]],y=D(g),b=D(p),O[0]=y,O[3]=b}a.invalidated=!0}e.editData.hasMoved=!0;var x=(0,L.getEnabledElement)(r).renderingEngine;zr(x,i)})),B(Bt(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),sa(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=r.data;r.highlighted=!1,a.handles.activeHandleIndex=null;var i=(0,L.getEnabledElement)(t).renderingEngine;return zr(i,o),e.editData=null,r.annotationUID}})),B(Bt(e),"_activateDraw",(function(t){Nt.isInteractingWithTool=!0,t.addEventListener(P.MOUSE_UP,e._mouseUpCallback),t.addEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(P.MOUSE_MOVE,e._mouseDragCallback),t.addEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_deactivateDraw",(function(t){Nt.isInteractingWithTool=!1,t.removeEventListener(P.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(P.MOUSE_MOVE,e._mouseDragCallback),t.removeEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_activateModify",(function(t){Nt.isInteractingWithTool=!0,t.addEventListener(P.MOUSE_UP,e._mouseUpCallback),t.addEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_deactivateModify",(function(t){Nt.isInteractingWithTool=!1,t.removeEventListener(P.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"renderAnnotation",(function(t,n){var r,a,i=t.viewport,l=i.element,c=ie(l,o.toolName);if(null!==(r=c)&&void 0!==r&&r.length&&null!==(a=c=e.filterInteractableAnnotationsForElement(l,c))&&void 0!==a&&a.length)for(var s=e.getTargetId(i),u=i.getRenderingEngine(),d=function(r){var a=c[r],l=L.Settings.getObjectSettings(a,o),d=a.annotationUID,v=a.data,f=v.handles,g=f.points,h=f.activeHandleIndex,m=g.map((function(e){return i.worldToCanvas(e)})),p=e.getStyle(l,"lineWidth",a),y=e.getStyle(l,"lineDash",a),w=e.getStyle(l,"color",a),E=i.getCamera(),b=E.viewPlaneNormal,I=E.viewUp;if(v.cachedStats[s]){if(a.invalidated&&(e._throttledCalculateCachedStats(a,b,I,u,t),i instanceof L.VolumeViewport)){var _=a.metadata.referencedImageId;u.getViewports().forEach((function(t){var n=e.getTargetId(t);t instanceof L.StackViewport&&!t.getCurrentImageId().includes(_)&&v.cachedStats[n]&&delete v.cachedStats[n]}))}}else v.cachedStats[s]={Modality:null,area:null,max:null,mean:null,stdDev:null},e._calculateCachedStats(a,b,I,u,t);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:void 0};var S=void 0;K(a)||e.editData||null===h||(S=[m[h]]),S&&Ta(n,o.toolName,d,"0",S,{color:w}),Ba(n,o.toolName,d,"0",m[0],m[3],{color:w,lineDash:y,lineWidth:p});var D=e._getTextLines(v,s);if(!D||0===D.length)return"continue";if(!v.handles.textBox.hasMoved){var C=ii(m);v.handles.textBox.worldPosition=i.canvasToWorld(C)}var O=i.worldToCanvas(v.handles.textBox.worldPosition),x=ja(n,o.toolName,d,"1",D,O,m,{},e.getLinkedTextBoxStyle(l,a)),T=x.x,M=x.y,k=x.width,N=x.height;v.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([T,M]),topRight:i.canvasToWorld([T+k,M]),bottomLeft:i.canvasToWorld([T,M+N]),bottomRight:i.canvasToWorld([T+k,M+N])}},v=0;v<c.length;v++){var f=d(v);if("continue"!==f&&"object"===Se(f))return f.v}})),B(Bt(e),"_getRectangleImageCoordinates",(function(e){var t=La(e,2),n=t[0],r=t[1];return{left:Math.min(n[0],r[0]),top:Math.min(n[1],r[1]),width:Math.abs(n[0]-r[0]),height:Math.abs(n[1]-r[1])}})),B(Bt(e),"_getTextLines",(function(e,t){var n=e.cachedStats[t],r=n.area,o=n.mean,a=n.max,i=n.stdDev,l=n.Modality;if(void 0!==o){var c=[],s="Area: ".concat(r.toFixed(2)," mm").concat(String.fromCharCode(178)),u="Mean: ".concat(o.toFixed(2)),d="Max: ".concat(a.toFixed(2)),v="Std Dev: ".concat(i.toFixed(2));return"PT"===l?(u+=" SUV",d+=" SUV",v+=" SUV"):"CT"===l?(u+=" HU",d+=" HU",v+=" HU"):(u+=" MO",d+=" MO",v+=" MO"),c.push(s),c.push(d),c.push(u),c.push(v),c}})),B(Bt(e),"_calculateCachedStats",(function(t,n,r,o,a){for(var i=t.data,l=a.viewportId,c=a.renderingEngineId,s=i.handles.points[0],u=i.handles.points[3],d=i.cachedStats,v=Object.keys(d),f=0;f<v.length;f++){var g=v[f],h=e.getTargetIdViewportAndImage(g,o).image,m=h.dimensions,p=h.scalarData,y=h.imageData,w=h.metadata,E=$a(y,s);E[0]=Math.floor(E[0]),E[1]=Math.floor(E[1]),E[2]=Math.floor(E[2]);var b=$a(y,u);if(b[0]=Math.floor(b[0]),b[1]=Math.floor(b[1]),b[2]=Math.floor(b[2]),e._isInsideVolume(E,b,m)){e.isHandleOutsideImage=!1;for(var I=Math.min(E[0],b[0]),_=Math.max(E[0],b[0]),S=Math.min(E[1],b[1]),D=Math.max(E[1],b[1]),C=Math.min(E[2],b[2]),O=Math.max(E[2],b[2]),x=Ei(n,r,s,u),T=x.worldWidth*x.worldHeight,M=0,k=0,N=0,A=-1/0,R=m[0],U=m[0]*m[1],V=C;V<=O;V++)for(var j=S;j<=D;j++)for(var B=I;B<=_;B++){var F=p[V*U+j*R+B];F>A&&(A=F),M++,k+=F}k/=M;for(var W=C;W<=O;W++)for(var G=S;G<=D;G++)for(var q=I;q<=_;q++){var H=p[W*U+G*R+q]-k;N+=H*H}N/=M,N=Math.sqrt(N),d[g]={Modality:w.Modality,area:T,mean:k,stdDev:N,max:A}}else e.isHandleOutsideImage=!0,d[g]={Modality:w.Modality}}t.invalidated=!1;var z=P.ANNOTATION_MODIFIED,K={annotation:t,viewportId:l,renderingEngineId:c};return(0,L.triggerEvent)(L.eventTarget,z,K),d})),B(Bt(e),"_isInsideVolume",(function(e,t,n){return L.utilities.indexWithinDimensions(e,n)&&L.utilities.indexWithinDimensions(t,n)})),e._throttledCalculateCachedStats=Ka(e._calculateCachedStats,100,{trailing:!0}),e}return j(o)}(bl);function Gl(e,t,n,r){var o=Xa.vec3.create();Xa.vec3.cross(o,t,e),o=[-o[0],-o[1],-o[2]];var a=Xa.vec3.fromValues.apply(Xa.vec3,er(n)),i=Xa.vec3.fromValues.apply(Xa.vec3,er(r)),l=Xa.vec3.create();Xa.vec3.subtract(l,a,i);var c=Xa.vec3.length(l);if(c<1e-4)return{worldWidth:0,worldHeight:0};var s=Xa.vec3.dot(l,o)/(c*Xa.vec3.length(o));return{worldWidth:Math.sqrt(1-s*s)*c,worldHeight:s*c}}B(Wl,"toolName","RectangleRoi");var ql=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return U(this,o),B(Bt(e=r.call(this,t,n)),"touchDragCallback",void 0),B(Bt(e),"mouseDragCallback",void 0),B(Bt(e),"_throttledCalculateCachedStats",void 0),B(Bt(e),"editData",void 0),B(Bt(e),"isDrawing",void 0),B(Bt(e),"isHandleOutsideImage",!1),B(Bt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=r.canvas,c=(0,L.getEnabledElement)(a),s=c.viewport,u=c.renderingEngine;e.isDrawing=!0;var d,v=s.getCamera(),f=v.viewPlaneNormal,g=v.viewUp;if(s instanceof L.StackViewport)d=s.getCurrentImageId&&s.getCurrentImageId();else{var h=e.getTargetId(s),m=L.cache.getVolume(h);d=L.utilities.getClosestImageId(m,i,f,g)}if(d){var p=d.indexOf(":");d=d.substring(p+1)}e.isDrawing=!0;var y={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:er(f),viewUp:er(g),FrameOfReferenceUID:s.getFrameOfReferenceUID(),referencedImageId:d,toolName:o.toolName},data:{label:"",handles:{textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},points:[er(i),er(i),er(i),er(i)],activeHandleIndex:null},cachedStats:{}}};L.Settings.getObjectSettings(y,o),le(a,y);var w=Fi(a,o.toolName);return e.editData={annotation:y,viewportIdsToRender:w,centerCanvas:l,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),ua(a),t.preventDefault(),zr(u,w),y})),B(Bt(e),"isPointNearTool",(function(t,n,r,o){var a=(0,L.getEnabledElement)(t).viewport,i=La(di(n.data.handles.points.map((function(e){return a.worldToCanvas(e)}))),2),l=i[0],c=i[1],s={left:Math.min(l[0],c[0])+o/2,top:Math.min(l[1],c[1])+o/2,width:Math.abs(l[0]-c[0])-o,height:Math.abs(l[1]-c[1])-o},u={left:Math.min(l[0],c[0])-o/2,top:Math.min(l[1],c[1])-o/2,width:Math.abs(l[0]-c[0])+o,height:Math.abs(l[1]-c[1])+o},d=e._pointInEllipseCanvas(s,r);return!(!e._pointInEllipseCanvas(u,r)||d)})),B(Bt(e),"toolSelectedCallback",(function(t,n,r){var a=t.detail.element;n.highlighted=!0;var i=Fi(a,o.toolName);e.editData={annotation:n,viewportIdsToRender:i,movingTextBox:!1},ua(a),e._activateModify(a);var l=(0,L.getEnabledElement)(a).renderingEngine;zr(l,i),t.preventDefault()})),B(Bt(e),"handleSelectedCallback",(function(t,n,r){var a=t.detail.element,i=n.data;n.highlighted=!0;var l,c,s,u,d,v=!1;if(r.worldPosition)v=!0;else{var f=i.handles.points,g=(0,L.getEnabledElement)(a).viewport.worldToCanvas;l=f.findIndex((function(e){return e===r}));var h=f.map(g);d=h[l],s=Math.abs(h[2][0]-h[3][0]),u=Math.abs(h[0][1]-h[1][1]),c=[(h[2][0]+h[3][0])/2,(h[0][1]+h[1][1])/2]}var m=Fi(a,o.toolName);e.editData={annotation:n,viewportIdsToRender:m,handleIndex:l,canvasWidth:s,canvasHeight:u,centerCanvas:c,originalHandleCanvas:d,movingTextBox:v},e._activateModify(a),ua(a);var p=(0,L.getEnabledElement)(a).renderingEngine;zr(p,m),t.preventDefault()})),B(Bt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){o.highlighted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),sa(n);var s=(0,L.getEnabledElement)(n).renderingEngine;e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&ce(n,o.annotationUID),zr(s,a)}})),B(Bt(e),"_mouseDragDrawCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,L.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport.canvasToWorld,c=e.editData,s=c.annotation,u=c.viewportIdsToRender,d=c.centerCanvas,v=s.data,f=Math.abs(o[0]-d[0]),g=Math.abs(o[1]-d[1]),h=[d[0],d[1]-g],m=[d[0],d[1]+g],p=[d[0]-f,d[1]],y=[d[0]+f,d[1]];v.handles.points=[l(h),l(m),l(p),l(y)],s.invalidated=!0,e.editData.hasMoved=!0,zr(i,u)})),B(Bt(e),"_mouseDragModifyCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var u=n.deltaPoints.world,d=s.handles.textBox,v=d.worldPosition;v[0]+=u[0],v[1]+=u[1],v[2]+=u[2],d.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else e._dragHandle(t),a.invalidated=!0;var g=(0,L.getEnabledElement)(r).renderingEngine;zr(g,i)})),B(Bt(e),"_dragHandle",(function(t){var n=t.detail,r=n.element,o=(0,L.getEnabledElement)(r).viewport.canvasToWorld,a=e.editData,i=a.annotation,l=a.canvasWidth,c=a.canvasHeight,s=a.handleIndex,u=a.centerCanvas,d=a.originalHandleCanvas,v=i.data.handles.points,f=n.currentPoints.canvas;if(0===s||1===s){var g=Math.abs(f[1]-u[1]),h=[u[0],u[1]-g],m=[u[0],u[1]+g];v[0]=o(h),v[1]=o(m);var p=l/2+(f[0]-d[0]),y=[u[0]-p,u[1]],w=[u[0]+p,u[1]];v[2]=o(y),v[3]=o(w)}else{var E=Math.abs(f[0]-u[0]),b=[u[0]-E,u[1]],I=[u[0]+E,u[1]];v[2]=o(b),v[3]=o(I);var _=c/2+(f[1]-d[1]),S=[u[0],u[1]-_],D=[u[0],u[1]+_];v[0]=o(S),v[1]=o(D)}})),B(Bt(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),sa(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=r.data;r.highlighted=!1,a.handles.activeHandleIndex=null;var i=(0,L.getEnabledElement)(t).renderingEngine;return zr(i,o),e.editData=null,r.annotationUID}})),B(Bt(e),"_activateModify",(function(t){Nt.isInteractingWithTool=!0,t.addEventListener(P.MOUSE_UP,e._mouseUpCallback),t.addEventListener(P.MOUSE_DRAG,e._mouseDragModifyCallback),t.addEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_deactivateModify",(function(t){Nt.isInteractingWithTool=!1,t.removeEventListener(P.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(P.MOUSE_DRAG,e._mouseDragModifyCallback),t.removeEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_activateDraw",(function(t){Nt.isInteractingWithTool=!0,t.addEventListener(P.MOUSE_UP,e._mouseUpCallback),t.addEventListener(P.MOUSE_DRAG,e._mouseDragDrawCallback),t.addEventListener(P.MOUSE_MOVE,e._mouseDragDrawCallback),t.addEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_deactivateDraw",(function(t){Nt.isInteractingWithTool=!1,t.removeEventListener(P.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(P.MOUSE_DRAG,e._mouseDragDrawCallback),t.removeEventListener(P.MOUSE_MOVE,e._mouseDragDrawCallback),t.removeEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"renderAnnotation",(function(t,n){var r,a,i=t.viewport,l=i.element,c=ie(l,o.toolName);if(null!==(r=c)&&void 0!==r&&r.length&&null!==(a=c=e.filterInteractableAnnotationsForElement(l,c))&&void 0!==a&&a.length)for(var s=e.getTargetId(i),u=i.getRenderingEngine(),d=function(r){var a=c[r],l=L.Settings.getObjectSettings(a,o),d=a.annotationUID,v=a.data,f=v.handles,g=f.points,h=f.activeHandleIndex,m=e.getStyle(l,"lineWidth",a),p=e.getStyle(l,"lineDash",a),y=e.getStyle(l,"color",a),w=g.map((function(e){return i.worldToCanvas(e)})),E=di(w);if(v.cachedStats[s]){if(a.invalidated&&(e._throttledCalculateCachedStats(a,i,u,t),i instanceof L.VolumeViewport)){var b=a.metadata.referencedImageId;u.getViewports().forEach((function(t){var n=e.getTargetId(t);t instanceof L.StackViewport&&!t.getCurrentImageId().includes(b)&&v.cachedStats[n]&&delete v.cachedStats[n]}))}}else v.cachedStats[s]={Modality:null,area:null,max:null,mean:null,stdDev:null},e._calculateCachedStats(a,i,u,t);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:void 0};var I=void 0;K(a)||e.editData||null===h||(I=[w[h]]),I&&Ta(n,o.toolName,d,"0",I,{color:y}),xa(n,o.toolName,d,"0",E[0],E[1],{color:y,lineDash:p,lineWidth:m});var _=e._getTextLines(v,s);if(!_||0===_.length)return"continue";var S=void 0;v.handles.textBox.hasMoved||(S=ii(E),v.handles.textBox.worldPosition=i.canvasToWorld(S));var D=i.worldToCanvas(v.handles.textBox.worldPosition),C=ja(n,o.toolName,d,"1",_,D,w,{},e.getLinkedTextBoxStyle(l,a)),O=C.x,x=C.y,T=C.width,M=C.height;v.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([O,x]),topRight:i.canvasToWorld([O+T,x]),bottomLeft:i.canvasToWorld([O,x+M]),bottomRight:i.canvasToWorld([O+T,x+M])}},v=0;v<c.length;v++){var f=d(v);if("continue"!==f&&"object"===Se(f))return f.v}})),B(Bt(e),"_getTextLines",(function(e,t){var n=e.cachedStats[t],r=n.area,o=n.mean,a=n.stdDev,i=n.max,l=n.isEmptyArea,c=n.Modality;if(void 0!==o){var s=[],u=l?"Area: Oblique not supported":"Area: ".concat(r.toFixed(2)," mm").concat(String.fromCharCode(178)),d="Mean: ".concat(o.toFixed(2)),v="Max: ".concat(i.toFixed(2)),f="Std Dev: ".concat(a.toFixed(2));return"PT"===c?(d+=" SUV",v+=" SUV",f+=" SUV"):"CT"===c?(d+=" HU",v+=" HU",f+=" HU"):(d+=" MO",v+=" MO",f+=" MO"),s.push(u),s.push(v),s.push(d),s.push(f),s}})),B(Bt(e),"_calculateCachedStats",(function(t,n,r,o){for(var a=t.data,i=o.viewportId,l=o.renderingEngineId,c=a.handles.points.map((function(e){return n.worldToCanvas(e)})),s=n.getCamera(),u=s.viewPlaneNormal,d=s.viewUp,v=La(di(c),2),f=v[0],g=v[1],h=n.canvasToWorld(f),m=n.canvasToWorld(g),p=a.cachedStats,y=Object.keys(p),w=h,E=m,b=0;b<y.length;b++){var I=y[b],_=e.getTargetIdViewportAndImage(I,r).image,S=_.dimensions,D=_.imageData,C=_.metadata,O=$a(D,w);O[0]=Math.floor(O[0]),O[1]=Math.floor(O[1]),O[2]=Math.floor(O[2]);var x=$a(D,E);x[0]=Math.floor(x[0]),x[1]=Math.floor(x[1]),x[2]=Math.floor(x[2]),e._isInsideVolume(O,x,S)?function(){var e=[[Math.min(O[0],x[0]),Math.max(O[0],x[0])],[Math.min(O[1],x[1]),Math.max(O[1],x[1])],[Math.min(O[2],x[2]),Math.max(O[2],x[2])]],t={center:[(h[0]+m[0])/2,(h[1]+m[1])/2,(h[2]+m[2])/2],xRadius:Math.abs(h[0]-m[0])/2,yRadius:Math.abs(h[1]-m[1])/2,zRadius:Math.abs(h[2]-m[2])/2},n=Gl(u,d,w,E),r=n.worldWidth,o=n.worldHeight,a=0===r&&0===o,i=Math.PI*(r/2)*(o/2),l=0,c=0,s=0,v=-1/0;Ja(D,(function(e,n){return ui(t,e)}),(function(e){var t=e.value;t>v&&(v=t),c+=t,l+=1}),e),c/=l,Ja(D,(function(e,n){return ui(t,e)}),(function(e){var t=e.value-c;s+=t*t}),e),s/=l,s=Math.sqrt(s),p[I]={Modality:C.Modality,area:i,mean:c,max:v,stdDev:s,isEmptyArea:a}}():(e.isHandleOutsideImage=!0,p[I]={Modality:C.Modality})}t.invalidated=!1;var T=P.ANNOTATION_MODIFIED,M={annotation:t,viewportId:i,renderingEngineId:l};return(0,L.triggerEvent)(L.eventTarget,T,M),p})),B(Bt(e),"_isInsideVolume",(function(e,t,n){return L.utilities.indexWithinDimensions(e,n)&&L.utilities.indexWithinDimensions(t,n)})),e._throttledCalculateCachedStats=Ka(e._calculateCachedStats,100,{trailing:!0}),e}return j(o,[{key:"_pointInEllipseCanvas",value:function(e,t){var n=e.width/2,r=e.height/2;if(n<=0||r<=0)return!1;var o=[e.left+n,e.top+r],a=[t[0]-o[0],t[1]-o[1]];return a[0]*a[0]/(n*n)+a[1]*a[1]/(r*r)<=1}}]),o}(bl);B(ql,"toolName","EllipticalRoi");var Hl=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return U(this,o),B(Bt(e=r.call(this,t,n)),"touchDragCallback",void 0),B(Bt(e),"mouseDragCallback",void 0),B(Bt(e),"_throttledCalculateCachedStats",void 0),B(Bt(e),"editData",void 0),B(Bt(e),"isDrawing",void 0),B(Bt(e),"isHandleOutsideImage",void 0),B(Bt(e),"preventHandleOutsideImage",void 0),B(Bt(e),"isPointNearTool",(function(e,t,n,r){var o=(0,L.getEnabledElement)(e).viewport,a=t.data.handles.points,i=o.worldToCanvas(a[0]),l=o.worldToCanvas(a[1]),c={start:{x:i[0],y:i[1]},end:{x:l[0],y:l[1]}},s=gi([c.start.x,c.start.y],[c.end.x,c.end.y],[n[0],n[1]]);return s<=r||(i=o.worldToCanvas(a[2]),l=o.worldToCanvas(a[3]),(s=gi([(c={start:{x:i[0],y:i[1]},end:{x:l[0],y:l[1]}}).start.x,c.start.y],[c.end.x,c.end.y],[n[0],n[1]]))<=r)})),B(Bt(e),"toolSelectedCallback",(function(t,n,r){var a=t.detail.element;n.highlighted=!0;var i=Fi(a,o.toolName);e.editData={annotation:n,viewportIdsToRender:i,movingTextBox:!1},e._activateModify(a);var l=(0,L.getEnabledElement)(a).renderingEngine;zr(l,i),ua(a),t.preventDefault()})),B(Bt(e),"handleSelectedCallback",(function(t,n,r){var a=t.detail.element,i=n.data;n.highlighted=!0;var l,c=!1;r.worldPosition?c=!0:l=i.handles.points.findIndex((function(e){return e===r}));var s=Fi(a,o.toolName);ua(a),e.editData={annotation:n,viewportIdsToRender:s,handleIndex:l,movingTextBox:c},e._activateModify(a);var u=(0,L.getEnabledElement)(a).renderingEngine;zr(u,s),t.preventDefault()})),B(Bt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){o.highlighted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),sa(n);var s=(0,L.getEnabledElement)(n).renderingEngine;if(void 0!==e.editData.handleIndex){var u=c.handles.points,d=Xa.vec3.distance(u[0],u[1]);if(Xa.vec3.distance(u[2],u[3])>d){var v=[er(u[2]),er(u[3])],f=er(u[0]),g=er(u[1]),h=Xa.vec2.create();Xa.vec2.set(h,v[1][0]-v[0][0],v[1][1]-v[1][0]);var m=Xa.vec2.create();Xa.vec2.set(m,-h[1],h[0]);var p,y=Xa.vec2.create();Xa.vec2.set(y,g[0]-f[0],g[1]-f[0]),p=Xa.vec2.dot(y,m)>0?[f,g]:[g,f],c.handles.points=[v[0],v[1],p[0],p[1]]}}e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&ce(n,o.annotationUID),zr(s,a),e.editData=null,e.isDrawing=!1}})),B(Bt(e),"_mouseDragDrawCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.currentPoints,o=n.element,a=(0,L.getEnabledElement)(o),i=a.renderingEngine,l=a.viewport,c=l.worldToCanvas,s=e.editData,u=s.annotation,d=s.viewportIdsToRender,v=s.handleIndex,f=u.data,g=r.world;f.handles.points[v]=er(g);var h=f.handles.points.map(c),m={x:h[0][0],y:h[0][1]},p={x:h[1][0],y:h[1][1]},y=(h[2][0],h[2][1],h[3][0],h[3][1],Xa.vec2.distance(h[0],h[1])/3),w=m.x-p.x,E=m.y-p.y,b=Math.sqrt(w*w+E*E),I=w/b,_=E/b,S=(m.x+p.x)/2,D=(m.y+p.y)/2,C=S+y*_,O=D-y*I,x=S-y*_,T=D+y*I;f.handles.points[2]=l.canvasToWorld([C,O]),f.handles.points[3]=l.canvasToWorld([x,T]),u.invalidated=!0,zr(i,d),e.editData.hasMoved=!0})),B(Bt(e),"_mouseDragModifyCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=(0,L.getEnabledElement)(r).renderingEngine,a=e.editData,i=a.annotation,l=a.viewportIdsToRender,c=a.handleIndex,s=a.movingTextBox,u=i.data;if(s){var d=n.deltaPoints.world,v=u.handles.textBox,f=v.worldPosition;f[0]+=d[0],f[1]+=d[1],f[2]+=d[2],v.hasMoved=!0}else if(void 0===c){var g=n.deltaPoints.world;u.handles.points.forEach((function(e){e[0]+=g[0],e[1]+=g[1],e[2]+=g[2]})),i.invalidated=!0}else e._mouseDragModifyHandle(t),i.invalidated=!0;zr(o,l)})),B(Bt(e),"_mouseDragModifyHandle",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=(0,L.getEnabledElement)(o).viewport,i=e.editData,l=i.annotation,c=i.handleIndex,s=l.data,u=r.world,d=[a.worldToCanvas(s.handles.points[0]),a.worldToCanvas(s.handles.points[1]),a.worldToCanvas(s.handles.points[2]),a.worldToCanvas(s.handles.points[3])],v={start:{x:d[0][0],y:d[0][1]},end:{x:d[1][0],y:d[1][1]}},f={start:{x:d[2][0],y:d[2][1]},end:{x:d[3][0],y:d[3][1]}},g=er(u),h=a.worldToCanvas(g);if(0===c||1===c){var m=d[0===c?1:0],p={start:{x:m[0],y:m[1]},end:{x:h[0],y:h[1]}};if(e._movingLongAxisWouldPutItThroughShortAxis(p,f))return;var y=mi([f.start.x,f.start.y],[f.end.x,f.end.y],[v.start.x,v.start.y],[v.end.x,v.end.y]),w=Xa.vec2.create();Xa.vec2.set(w,y[0],y[1]);var E=Xa.vec2.distance(d[2],w),b=Xa.vec2.distance(d[3],w),I=Math.abs(Xa.vec2.distance(m,w)),_=m[0]-h[0],S=m[1]-h[1],D=Math.sqrt(_*_+S*S),C=_/D,O=S/D,x=m[0]-I*C,T=m[1]-I*O,M=0===c?-1:1,k=x+E*O*M,N=T-E*C*M,A=x-b*O*M,R=T+b*C*M;s.handles.points[c]=g,s.handles.points[2]=a.canvasToWorld([k,N]),s.handles.points[3]=a.canvasToWorld([A,R])}else{var P=2===c?3:2,U={x:h[0],y:h[1]},V={longLineSegment:{start:v.start,end:v.end},shortLineSegment:{start:f.start,end:f.end}},j=V.longLineSegment.start.x-V.longLineSegment.end.x,B=V.longLineSegment.start.y-V.longLineSegment.end.y,F=Math.sqrt(j*j+B*B),W=j/F,G=B/F,q=(0===c||3===c?1:-1)*Number.MAX_SAFE_INTEGER,H={start:U,end:{x:U.x+G*q,y:U.y+W*q*-1}},z=mi([V.longLineSegment.start.x,V.longLineSegment.start.y],[V.longLineSegment.end.x,V.longLineSegment.end.y],[H.start.x,H.start.y],[H.end.x,H.end.y]);if(void 0===z)return;var K=Xa.vec2.distance(d[P],[z[0],z[1]]),Y={start:{x:z[0]+G*K,y:z[1]+W*K*-1},end:{x:z[0]+G*K*-1,y:z[1]+W*K}},Z=2===P?Y.start:Y.end;s.handles.points[P]=a.canvasToWorld([Z.x,Z.y]),s.handles.points[c]=g}})),B(Bt(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),sa(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=r.data;r.highlighted=!1,a.handles.activeHandleIndex=null;var i=(0,L.getEnabledElement)(t).renderingEngine;return zr(i,o),e.editData=null,r.annotationUID}})),B(Bt(e),"_activateDraw",(function(t){Nt.isInteractingWithTool=!0,t.addEventListener(P.MOUSE_UP,e._mouseUpCallback),t.addEventListener(P.MOUSE_DRAG,e._mouseDragDrawCallback),t.addEventListener(P.MOUSE_MOVE,e._mouseDragDrawCallback),t.addEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_deactivateDraw",(function(t){Nt.isInteractingWithTool=!1,t.removeEventListener(P.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(P.MOUSE_DRAG,e._mouseDragDrawCallback),t.removeEventListener(P.MOUSE_MOVE,e._mouseDragDrawCallback),t.removeEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_activateModify",(function(t){Nt.isInteractingWithTool=!0,t.addEventListener(P.MOUSE_UP,e._mouseUpCallback),t.addEventListener(P.MOUSE_DRAG,e._mouseDragModifyCallback),t.addEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_deactivateModify",(function(t){Nt.isInteractingWithTool=!1,t.removeEventListener(P.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(P.MOUSE_DRAG,e._mouseDragModifyCallback),t.removeEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"renderAnnotation",(function(t,n){var r,a,i=t.viewport,l=i.element,c=ie(i.element,o.toolName);if(null!==(r=c)&&void 0!==r&&r.length&&null!==(a=c=e.filterInteractableAnnotationsForElement(l,c))&&void 0!==a&&a.length)for(var s=e.getTargetId(i),u=i.getRenderingEngine(),d=0;d<c.length;d++){var v=c[d],f=L.Settings.getObjectSettings(v,o),g=v.annotationUID,h=v.data,m=h.handles,p=m.points,y=m.activeHandleIndex,w=p.map((function(e){return i.worldToCanvas(e)})),E=e.getStyle(f,"lineWidth",v),b=e.getStyle(f,"lineDash",v),I=e.getStyle(f,"color",v);if(h.cachedStats[s]?v.invalidated&&e._throttledCalculateCachedStats(v,u,t):(h.cachedStats[s]={length:null,width:null},e._calculateCachedStats(v,u,t)),!i.getRenderingEngine())return void console.warn("Rendering Engine has been destroyed");var _=void 0;K(v)||e.editData||null===y||(_=[w[y]]),_&&Ta(n,o.toolName,g,"0",_,{color:I}),Ma(n,o.toolName,g,"0",w[0],w[1],{color:I,lineDash:b,lineWidth:E}),Ma(n,o.toolName,g,"1",w[2],w[3],{color:I,lineDash:b,lineWidth:E});var S=e._getTextLines(h,s);if(S&&0!==S.length){var D=void 0;h.handles.textBox.hasMoved||(D=ii(w),h.handles.textBox.worldPosition=i.canvasToWorld(D));var C=i.worldToCanvas(h.handles.textBox.worldPosition),O=ja(n,o.toolName,g,"1",S,C,w,{},e.getLinkedTextBoxStyle(f,v)),x=O.x,T=O.y,M=O.width,k=O.height;h.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([x,T]),topRight:i.canvasToWorld([x+M,T]),bottomLeft:i.canvasToWorld([x,T+k]),bottomRight:i.canvasToWorld([x+M,T+k])}}}})),B(Bt(e),"_movingLongAxisWouldPutItThroughShortAxis",(function(e,t){var n=Xa.vec2.create();Xa.vec2.set(n,t.end.x-t.start.x,t.end.y-t.start.y),Xa.vec2.normalize(n,n);var r={start:{x:t.start.x-10*n[0],y:t.start.y-10*n[1]},end:{x:t.end.x+10*n[0],y:t.end.y+10*n[1]}};return!mi([r.start.x,r.start.y],[r.end.x,r.end.y],[e.start.x,e.start.y],[e.end.x,e.end.y])})),B(Bt(e),"_getTextLines",(function(e,t){var n=e.cachedStats[t],r=n.length,o=n.width;if(void 0!==r)return["L: ".concat(r.toFixed(2)," mm"),"W: ".concat(o.toFixed(2)," mm")]})),B(Bt(e),"_calculateCachedStats",(function(t,n,r){for(var o=t.data,a=r.viewportId,i=r.renderingEngineId,l=o.handles.points[0],c=o.handles.points[1],s=o.handles.points[2],u=o.handles.points[3],d=o.cachedStats,v=Object.keys(d),f=0;f<v.length;f++){var g=v[f],h=e.getTargetIdViewportAndImage(g,n).image,m=h.imageData,p=h.dimensions,y=e._calculateLength(l,c),w=e._calculateLength(s,u),E=y>w?y:w,b=y>w?w:y,I=$a(m,l),_=$a(m,c),S=$a(m,s),D=$a(m,u);e._isInsideVolume(I,_,S,D,p)?e.isHandleOutsideImage=!1:e.isHandleOutsideImage=!0,d[g]={length:E,width:b}}t.invalidated=!1;var C=P.ANNOTATION_MODIFIED,O={annotation:t,viewportId:a,renderingEngineId:i};return(0,L.triggerEvent)(L.eventTarget,C,O),d})),B(Bt(e),"_isInsideVolume",(function(e,t,n,r,o){return L.utilities.indexWithinDimensions(e,o)&&L.utilities.indexWithinDimensions(t,o)&&L.utilities.indexWithinDimensions(n,o)&&L.utilities.indexWithinDimensions(r,o)})),e._throttledCalculateCachedStats=Ka(e._calculateCachedStats,100,{trailing:!0}),e}return j(o,[{key:"addNewAnnotation",value:function(e){var t=e.detail,n=t.currentPoints,r=t.element,a=n.world,i=(0,L.getEnabledElement)(r),l=i.viewport,c=i.renderingEngine;this.isDrawing=!0;var s,u=l.getCamera(),d=u.viewPlaneNormal,v=u.viewUp;if(l instanceof L.StackViewport)s=l.getCurrentImageId&&l.getCurrentImageId();else{var f=this.getTargetId(l),g=L.cache.getVolume(f);s=L.utilities.getClosestImageId(g,a,d,v)}if(s){var h=s.indexOf(":");s=s.substring(h+1)}var m={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:er(d),viewUp:er(v),FrameOfReferenceUID:l.getFrameOfReferenceUID(),toolName:o.toolName,referencedImageId:s},data:{handles:{points:[er(a),er(a),er(a),er(a)],textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},activeHandleIndex:null},label:"",cachedStats:{}}};L.Settings.getObjectSettings(m,o),le(r,m);var p=Fi(r,o.toolName);return this.editData={annotation:m,viewportIdsToRender:p,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},this._activateDraw(r),ua(r),e.preventDefault(),zr(c,p),m}},{key:"_calculateLength",value:function(e,t){var n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return Math.sqrt(n*n+r*r+o*o)}}]),o}(bl);function zl(e,t){!function(e,t){var n=t.volume,r=t.points,o=t.segmentsLocked,a=t.segmentIndex,i=t.segmentationDataUID,l=t.toolGroupId,c=t.constraintFn,s=n.imageData,u=n.dimensions,d=n.scalarData,v=r.map((function(e){return $a(s,e)})),f=Qa(v=v.map((function(e){return e.map((function(e){return Math.round(e)}))})),u);if(f.every((function(e){var t=La(e,2);return t[0]!==t[1]})))throw new Error("Oblique segmentation tools are not supported yet");Ja(s,(function(){return!0}),(function(e){var t=e.value,n=e.index,r=e.pointIJK;o.includes(t)||(c?c(r)&&(d[n]=a):d[n]=a)}),f),ye(l,i)}(0,t)}function Kl(e,t){!function(e,t){var n=t.volume,r=t.points,o=t.segmentsLocked,a=t.segmentationDataUID,i=t.toolGroupId,l=n.imageData,c=n.dimensions,s=n.scalarData,u=Qa(r.map((function(e){return $a(l,e)})),c);if(u.every((function(e){var t=La(e,2);return t[0]!==t[1]})))throw new Error("Oblique segmentation tools are not supported yet");Ja(l,(function(){return!0}),(function(e){var t=e.value,n=e.index;o.includes(t)||(s[n]=0)}),u),ye(i,a)}(0,t)}B(Hl,"toolName","Bidirectional");var Yl=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE:zl,ERASE_INSIDE:Kl},defaultStrategy:"FILL_INSIDE",activeStrategy:"FILL_INSIDE"}};return U(this,o),B(Bt(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),B(Bt(e),"editData",void 0),B(Bt(e),"isDrawing",void 0),B(Bt(e),"isHandleOutsideImage",void 0),B(Bt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=(0,L.getEnabledElement)(a),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var u=c.getCamera(),d=u.viewPlaneNormal,v=u.viewUp,f=e.toolGroupId,g=rl(f);if(!g)throw new Error("No active segmentation detected, create one before using scissors tool");var h=g.segmentationDataUID,m=g.volumeId,p=gl(f),y=sl(m),w=dl(f,g.segmentationDataUID,p),E=L.cache.getVolume(m),b={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:er(d),viewUp:er(v),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:"",toolName:o.toolName,segmentColor:w},data:{handles:{points:[er(i),er(i),er(i),er(i)],activeHandleIndex:null}}};L.Settings.getObjectSettings(b,Wl);var I=Fi(a,o.toolName);e.editData={annotation:b,segmentation:E,segmentIndex:p,segmentsLocked:y,segmentColor:w,segmentationDataUID:h,viewportIdsToRender:I,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),ua(a),t.preventDefault(),zr(s,I)})),B(Bt(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n,r,o,a,i,l,c,s,u=t.detail,d=u.element,v=e.editData,f=v.annotation,g=v.viewportIdsToRender,h=v.handleIndex,m=f.data,p=u.currentPoints,y=(0,L.getEnabledElement)(d),w=y.viewport,E=w.worldToCanvas,b=w.canvasToWorld,I=p.world,_=m.handles.points;switch(_[h]=er(I),h){case 0:case 3:n=E(_[0]),r=[(a=E(_[3]))[0],n[1]],o=[n[0],a[1]],l=b(r),c=b(o),_[1]=l,_[2]=c;break;case 1:case 2:r=E(_[1]),n=[(o=E(_[2]))[0],r[1]],a=[r[0],o[1]],i=b(n),s=b(a),_[0]=i,_[3]=s}f.invalidated=!0,e.editData.hasMoved=!0;var S=y.renderingEngine;zr(S,g)})),B(Bt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.newAnnotation,i=r.hasMoved,l=r.segmentation,c=r.segmentationDataUID,s=r.segmentIndex,u=r.segmentsLocked,d=o.data;if(!a||i){o.highlighted=!1,d.handles.activeHandleIndex=null,e._deactivateDraw(n),sa(n);var v=(0,L.getEnabledElement)(n),f=v.viewport;if(e.editData=null,e.isDrawing=!1,f instanceof L.StackViewport)throw new Error("Not implemented yet");var g={points:d.handles.points,volume:l,segmentationDataUID:c,segmentIndex:s,segmentsLocked:u,toolGroupId:e.toolGroupId};e.applyActiveStrategy(v,g)}})),B(Bt(e),"_activateDraw",(function(t){t.addEventListener(P.MOUSE_UP,e._mouseUpCallback),t.addEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_deactivateDraw",(function(t){t.removeEventListener(P.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"renderAnnotation",(function(t,n){if(e.editData){var r=t.viewport,a=e.editData.annotation,i=(L.Settings.getObjectSettings(a,Wl),a.metadata),l=a.annotationUID,c=a.data.handles.points.map((function(e){return r.worldToCanvas(e)})),s="rgb(".concat(i.segmentColor.slice(0,3),")");r.getRenderingEngine()?Ba(n,o.toolName,l,"0",c[0],c[3],{color:s}):console.warn("Rendering Engine has been destroyed")}})),e}return j(o)}(zt);function Zl(e,t){!function(e,t){var n=t.volume,r=t.points,o=t.segmentsLocked,a=t.segmentIndex,i=t.toolGroupId,l=t.segmentationDataUID,c=n.imageData,s=n.dimensions,u=n.scalarData,d=e.viewport,v=Xa.vec3.fromValues(0,0,0);r.forEach((function(e){Xa.vec3.add(v,v,e)})),Xa.vec3.scale(v,v,1/r.length);var f=La(di(r.map((function(e){return d.worldToCanvas(e)}))),2),g=f[0],h=f[1],m=d.canvasToWorld(g),p=d.canvasToWorld(h),y=Qa([$a(c,m),$a(c,p)],s);if(y.every((function(e){var t=La(e,2);return t[0]!==t[1]})))throw new Error("Oblique segmentation tools are not supported yet");var w={center:v,xRadius:Math.abs(m[0]-p[0])/2,yRadius:Math.abs(m[1]-p[1])/2,zRadius:Math.abs(m[2]-p[2])/2};Ja(c,(function(e,t){return ui(w,e)}),(function(e){var t=e.value,n=e.index;o.includes(t)||(u[n]=a)}),y),ye(i,l)}(e,t)}B(Yl,"toolName","RectangleScissor");var $l=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE:Zl},defaultStrategy:"FILL_INSIDE",activeStrategy:"FILL_INSIDE"}};return U(this,o),B(Bt(e=r.call(this,t,n)),"editData",void 0),B(Bt(e),"isDrawing",void 0),B(Bt(e),"isHandleOutsideImage",void 0),B(Bt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=r.canvas,c=(0,L.getEnabledElement)(a),s=c.viewport,u=c.renderingEngine;e.isDrawing=!0;var d=s.getCamera(),v=d.viewPlaneNormal,f=d.viewUp,g=e.toolGroupId,h=rl(g);if(!h)throw new Error("No active segmentation detected, create one before using scissors tool");var m=h.volumeId,p=h.segmentationDataUID,y=gl(g),w=sl(m),E=dl(g,h.segmentationDataUID,y),b=L.cache.getVolume(m),I={invalidated:!0,highlighted:!0,metadata:{viewPlaneNormal:er(v),viewUp:er(f),FrameOfReferenceUID:s.getFrameOfReferenceUID(),referencedImageId:"",toolName:o.toolName,segmentColor:E},data:{handles:{points:[er(i),er(i),er(i),er(i)],activeHandleIndex:null},isDrawing:!0,cachedStats:{}}},_=[s.id];e.editData={annotation:I,segmentation:b,centerCanvas:l,segmentIndex:y,segmentationDataUID:p,segmentsLocked:w,segmentColor:E,viewportIdsToRender:_,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),ua(a),t.preventDefault(),zr(u,_)})),B(Bt(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,L.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport.canvasToWorld,c=e.editData,s=c.annotation,u=c.viewportIdsToRender,d=c.centerCanvas,v=s.data,f=Math.abs(o[0]-d[0]),g=Math.abs(o[1]-d[1]),h=Math.sqrt(f*f+g*g),m=[d[0],d[1]+h],p=[d[0],d[1]-h],y=[d[0]-h,d[1]],w=[d[0]+h,d[1]];v.handles.points=[l(m),l(p),l(y),l(w)],s.invalidated=!0,e.editData.hasMoved=!0,zr(i,u)})),B(Bt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.newAnnotation,i=r.hasMoved,l=r.segmentation,c=r.segmentIndex,s=r.segmentsLocked,u=r.segmentationDataUID,d=o.data,v=o.metadata,f=v.viewPlaneNormal,g=v.viewUp;if(!a||i){o.highlighted=!1,d.handles.activeHandleIndex=null,e._deactivateDraw(n),sa(n);var h=(0,L.getEnabledElement)(n),m=h.viewport;if(e.editData=null,e.isDrawing=!1,m instanceof L.StackViewport)throw new Error("Not implemented yet");var p={points:d.handles.points,volume:l,segmentIndex:c,segmentsLocked:s,viewPlaneNormal:f,toolGroupId:e.toolGroupId,segmentationDataUID:u,viewUp:g};e.applyActiveStrategy(h,p)}})),B(Bt(e),"_activateDraw",(function(t){t.addEventListener(P.MOUSE_UP,e._mouseUpCallback),t.addEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_deactivateDraw",(function(t){t.removeEventListener(P.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"renderAnnotation",(function(t,n){if(e.editData){var r=t.viewport;if(e.editData.viewportIdsToRender.includes(r.id)){var a=e.editData.annotation,i=a.metadata,l=a.annotationUID,c=a.data.handles.points.map((function(e){return r.worldToCanvas(e)})),s=c[0],u=c[1],d=[Math.floor((s[0]+u[0])/2),Math.floor((s[1]+u[1])/2)],v=Math.abs(s[1]-Math.floor((s[1]+u[1])/2)),f="rgb(".concat(i.segmentColor.slice(0,3),")");r.getRenderingEngine()?Oa(n,o.toolName,l,"0",d,v,{color:f}):console.warn("Rendering Engine has been destroyed")}}})),e}return j(o)}(zt);function Xl(e,t){!function(e,t){var n=e.viewport,r=t.volume,o=t.segmentsLocked,a=t.segmentIndex,i=t.toolGroupId,l=t.segmentationDataUID,c=t.points,s=r.scalarData;ti(n,r.imageData,[c[0],c[1]],(function(e){var t=e.index,n=e.value;o.includes(n)||(s[t]=a)})),ye(i,l)}(e,t)}B($l,"toolName","CircleScissor");var Jl=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE:Xl},defaultStrategy:"FILL_INSIDE",activeStrategy:"FILL_INSIDE"}};return U(this,o),B(Bt(e=r.call(this,t,n)),"editData",void 0),B(Bt(e),"isDrawing",void 0),B(Bt(e),"isHandleOutsideImage",void 0),B(Bt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=r.canvas,c=(0,L.getEnabledElement)(a),s=c.viewport,u=c.renderingEngine;e.isDrawing=!0;var d=s.getCamera(),v=d.viewPlaneNormal,f=d.viewUp,g=e.toolGroupId,h=rl(g);if(!h)throw new Error("No active segmentation detected, create one before using scissors tool");var m=h.volumeId,p=h.segmentationDataUID,y=gl(g),w=sl(m),E=dl(g,h.segmentationDataUID,y),b=L.cache.getVolume(m);e.isDrawing=!0;var I={metadata:{viewPlaneNormal:er(v),viewUp:er(f),FrameOfReferenceUID:s.getFrameOfReferenceUID(),referencedImageId:"",toolName:o.toolName,segmentColor:E},data:{invalidated:!0,handles:{points:[er(i),er(i),er(i),er(i)],activeHandleIndex:null},cachedStats:{},highlighted:!0}},_=[s.id];e.editData={annotation:I,segmentation:b,centerCanvas:l,segmentIndex:y,segmentsLocked:w,segmentColor:E,segmentationDataUID:p,toolGroupId:g,viewportIdsToRender:_,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),ua(a),t.preventDefault(),zr(u,_)})),B(Bt(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,L.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport.canvasToWorld,c=e.editData,s=c.annotation,u=c.viewportIdsToRender,d=c.centerCanvas,v=s.data,f=Math.abs(o[0]-d[0]),g=Math.abs(o[1]-d[1]),h=Math.sqrt(f*f+g*g),m=[d[0],d[1]+h],p=[d[0],d[1]-h],y=[d[0]-h,d[1]],w=[d[0]+h,d[1]];v.handles.points=[l(m),l(p),l(y),l(w)],s.invalidated=!0,e.editData.hasMoved=!0,zr(i,u)})),B(Bt(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.newAnnotation,i=r.hasMoved,l=r.segmentation,c=r.segmentIndex,s=r.segmentsLocked,u=r.segmentationDataUID,d=o.data,v=o.metadata,f=v.viewPlaneNormal,g=v.viewUp;if(!a||i){o.highlighted=!1,d.handles.activeHandleIndex=null,e._deactivateDraw(n),sa(n);var h=(0,L.getEnabledElement)(n),m=h.viewport;if(e.editData=null,e.isDrawing=!1,m instanceof L.StackViewport)throw new Error("Not implemented yet");var p={points:d.handles.points,volume:l,segmentIndex:c,segmentsLocked:s,segmentationDataUID:u,toolGroupId:e.toolGroupId,viewPlaneNormal:f,viewUp:g};e.applyActiveStrategy(h,p)}})),B(Bt(e),"_activateDraw",(function(t){t.addEventListener(P.MOUSE_UP,e._mouseUpCallback),t.addEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"_deactivateDraw",(function(t){t.removeEventListener(P.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(P.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(P.MOUSE_CLICK,e._mouseUpCallback)})),B(Bt(e),"renderAnnotation",(function(t,n){if(e.editData){var r=t.viewport;if(e.editData.viewportIdsToRender.includes(r.id)){var a=e.editData.annotation,i=a.metadata,l=a.annotationUID,c=a.data.handles.points.map((function(e){return r.worldToCanvas(e)})),s=c[0],u=c[1],d=[Math.floor((s[0]+u[0])/2),Math.floor((s[1]+u[1])/2)],v=Math.abs(s[1]-Math.floor((s[1]+u[1])/2)),f="rgb(".concat(i.segmentColor.slice(0,3),")");r.getRenderingEngine()?Oa(n,o.toolName,l,"0",d,v,{color:f}):console.warn("Rendering Engine has been destroyed")}}})),e}return j(o)}(zt);B(Jl,"toolName","SphereScissor");var Ql=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return U(this,o),B(Bt(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),B(Bt(e),"editData",void 0),B(Bt(e),"isDrawing",void 0),B(Bt(e),"isHandleOutsideImage",void 0),B(Bt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=(0,L.getEnabledElement)(a),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var u,d,v=c.getCamera(),f=v.viewPlaneNormal,g=v.viewUp;if(c instanceof L.StackViewport)u=c.getCurrentImageId&&c.getCurrentImageId();else{d=e.getTargetId(c);var h=L.cache.getVolume(d);u=L.utilities.getClosestImageId(h,i,f,g)}if(u){var m=u.indexOf(":");u=u.substring(m+1)}var p={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:er(f),enabledElement:l,viewUp:er(g),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:u,toolName:o.toolName,volumeId:d},data:{label:"",handles:{textBox:{hasMoved:!1,worldPosition:null,worldBoundingBox:null},points:[er(i),er(i),er(i),er(i)],activeHandleIndex:null},segmentationUID:null}};L.Settings.getObjectSettings(p,o),le(a,p);var y=Fi(a,o.toolName);return e.editData={annotation:p,viewportIdsToRender:y,handleIndex:3,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),ua(a),t.preventDefault(),zr(s,y),p})),B(Bt(e),"renderAnnotation",(function(t,n){var r,a,i=t.viewport,l=t.renderingEngineId,c=i.element,s=ie(c,o.toolName);if(null!==(r=s)&&void 0!==r&&r.length&&null!==(a=s=e.filterInteractableAnnotationsForElement(c,s))&&void 0!==a&&a.length)for(var u=0;u<s.length;u++){var d=s[u],v=L.Settings.getObjectSettings(d,o),f=d.annotationUID,g=d.data.handles,h=g.points,m=g.activeHandleIndex,p=h.map((function(e){return i.worldToCanvas(e)})),y=e.getStyle(v,"lineWidth",d),w=e.getStyle(v,"lineDash",d),E=e.getStyle(v,"color",d);if(!i.getRenderingEngine())return void console.warn("Rendering Engine has been destroyed");var b=P.ANNOTATION_MODIFIED,I={annotation:d,viewportId:i.id,renderingEngineId:l};(0,L.triggerEvent)(L.eventTarget,b,I);var _=void 0;K(d)||e.editData||null===m||(_=[p[m]]),_&&Ta(n,o.toolName,f,"0",_,{color:E}),Ba(n,o.toolName,f,"0",p[0],p[3],{color:E,lineDash:w,lineWidth:y})}})),e}return j(o)}(Wl);B(Ql,"toolName","RectangleRoiThreshold");var ec=function(e){Wt(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=qt(t);if(n){var o=qt(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return Gt(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{configuration:{numSlicesToPropagate:10}};return U(this,o),B(Bt(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),B(Bt(e),"editData",void 0),B(Bt(e),"isDrawing",void 0),B(Bt(e),"isHandleOutsideImage",void 0),B(Bt(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,a=n.element,i=r.world,l=(0,L.getEnabledElement)(a),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var u,d,v,f=c.getCamera(),g=f.viewPlaneNormal,h=f.viewUp;if(c instanceof L.StackViewport)throw new Error("Stack Viewport Not implemented");if(v=e.getTargetId(c),d=L.cache.getVolume(v),!(u=L.utilities.getClosestImageId(d,i,g,h)))throw new Error("This tool does not work on non-acquisition planes");var m=u.indexOf(":");u=u.substring(m+1);var p=c.getCurrentImageIdIndex(),y=L.utilities.getSpacingInNormalDirection(d,g),w=e._getEndSliceIndex(d,i,y,g),E={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:er(g),enabledElement:l,viewUp:er(h),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:u,toolName:o.toolName,volumeId:v,spacingInNormal:y},data:{label:"",startSlice:p,endSlice:w,cachedStats:{projectionPoints:[],projectionPointsImageIds:[u]},handles:{textBox:{hasMoved:!1,worldPosition:null,worldBoundingBox:null},points:[er(i),er(i),er(i),er(i)],activeHandleIndex:null},labelmapUID:null}};e._computeProjectionPoints(E,d),L.Settings.getObjectSettings(E,o),le(a,E);var b=Fi(a,o.toolName);return e.editData={annotation:E,viewportIdsToRender:b,handleIndex:3,newAnnotation:!0,hasMoved:!1},e._activateDraw(a),ua(a),t.preventDefault(),zr(s,b),E})),B(Bt(e),"renderAnnotation",(function(t,n){var r=ie(t.viewport.element,o.toolName);if(null!=r&&r.length)for(var a=t.viewport,i=a.getCurrentImageIdIndex(),l=0;l<r.length;l++){var c=r[l],s=L.Settings.getObjectSettings(c,o),u=c.annotationUID,d=c.data,v=d.startSlice,f=d.endSlice,g=d.handles,h=g.points,m=g.activeHandleIndex,p=h.map((function(e){return a.worldToCanvas(e)})),y=e.getStyle(s,"lineWidth",c),w=e.getStyle(s,"lineDash",c),E=e.getStyle(s,"color",c);if(!(i<Math.min(v,f)||i>Math.max(v,f))){c.invalidated&&e._throttledCalculateCachedStats(c,t);var b=!1;if(i!==v&&i!==f||(b=!0),!a.getRenderingEngine())return void console.warn("Rendering Engine has been destroyed");var I=void 0;K(c)||e.editData||null===m||!b||(I=[p[m]]),I&&Ta(n,o.toolName,u,"0",I,{color:E});var _=w;b||(_=2),Ba(n,o.toolName,u,"0",p[0],p[3],{color:E,lineDash:_,lineWidth:y})}}})),e._throttledCalculateCachedStats=Ka(e._calculateCachedStatsTool,100,{trailing:!0}),e}return j(o,[{key:"_computeProjectionPoints",value:function(e,t){var n=e.data,r=e.metadata,o=r.viewPlaneNormal,a=r.spacingInNormal,i=t.imageData,l=n.startSlice,c=n.endSlice,s=(n.cachedStats.projectionPoints,n.handles.points),u=Xa.vec3.create();if(i.worldToIndexVec3(s[0],u),u[2]!==l)throw new Error("Start slice does not match");var d=Xa.vec3.fromValues(u[0],u[1],c),v=Xa.vec3.create();i.indexToWorldVec3(u,v);var f=Xa.vec3.create();i.indexToWorldVec3(d,f);for(var g=Xa.vec3.distance(v,f),h=[],m=function(e){h.push(s.map((function(t){var n=Xa.vec3.create();return Xa.vec3.scaleAndAdd(n,t,o,e),Array.from(n)})))},p=0;p<g;p+=a)m(p);n.cachedStats.projectionPoints=h;for(var y=[],w=0,E=h;w<E.length;w++){var b=E[w],I=L.utilities.getClosestImageId(t,b[0],o,r.viewUp);y.push(I)}n.cachedStats.projectionPointsImageIds=y}},{key:"_calculateCachedStatsTool",value:function(e,t){var n=e.data,r=t.viewportId,o=t.renderingEngineId,a=t.viewport,i=n.cachedStats,l=this.getTargetId(a),c=L.cache.getVolume(l);this._computeProjectionPoints(e,c),e.invalidated=!1;var s=P.ANNOTATION_MODIFIED,u={annotation:e,viewportId:r,renderingEngineId:o};return(0,L.triggerEvent)(L.eventTarget,s,u),i}},{key:"_getEndSliceIndex",value:function(e,t,n,r){var o=this.configuration.numSlicesToPropagate,a=Xa.vec3.create();Xa.vec3.scaleAndAdd(a,t,r,o*n);for(var i,l=n/2,c=e.imageIds,s=0;s<c.length;s++){var u=c[s],d=L.metaData.get("imagePlaneModule",u).imagePositionPatient,v=Xa.vec3.create();Xa.vec3.sub(v,a,d);var f=Xa.vec3.dot(v,r);Math.abs(f)<l&&(i=s)}return i}}]),o}(Wl);B(ec,"toolName","RectangleRoiStartEndThreshold");var tc={MouseBindings:tr,KeyboardBindings:nr,ToolModes:Tt,Events:P,SegmentationRepresentations:be}}(),s}()}));
2
3
  //# sourceMappingURL=index.js.map