@cornerstonejs/tools 1.51.5 → 1.53.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/drawingSvg/drawPath.d.ts +11 -0
- package/dist/cjs/drawingSvg/drawPath.js +55 -0
- package/dist/cjs/drawingSvg/drawPath.js.map +1 -0
- package/dist/cjs/drawingSvg/drawPolyline.d.ts +1 -1
- package/dist/cjs/drawingSvg/drawPolyline.js +3 -11
- package/dist/cjs/drawingSvg/drawPolyline.js.map +1 -1
- package/dist/cjs/drawingSvg/index.d.ts +2 -1
- package/dist/cjs/drawingSvg/index.js +3 -1
- package/dist/cjs/drawingSvg/index.js.map +1 -1
- package/dist/cjs/enums/ChangeTypes.d.ts +2 -1
- package/dist/cjs/enums/ChangeTypes.js +1 -0
- package/dist/cjs/enums/ChangeTypes.js.map +1 -1
- package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js +1 -1
- package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
- package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts +1 -1
- package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +165 -78
- package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/annotationState.d.ts +6 -1
- package/dist/cjs/stateManagement/annotation/annotationState.js +49 -1
- package/dist/cjs/stateManagement/annotation/annotationState.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/helpers/state.d.ts +4 -2
- package/dist/cjs/stateManagement/annotation/helpers/state.js +16 -4
- package/dist/cjs/stateManagement/annotation/helpers/state.js.map +1 -1
- package/dist/cjs/stateManagement/index.d.ts +6 -1
- package/dist/cjs/stateManagement/index.js +6 -1
- package/dist/cjs/stateManagement/index.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +3 -1
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js +3 -2
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/cjs/tools/SegmentationIntersectionTool.js +1 -1
- package/dist/cjs/tools/SegmentationIntersectionTool.js.map +1 -1
- package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.d.ts +4 -0
- package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.js +82 -0
- package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.js.map +1 -1
- package/dist/cjs/tools/annotation/LivewireContourTool.d.ts +13 -11
- package/dist/cjs/tools/annotation/LivewireContourTool.js +78 -65
- package/dist/cjs/tools/annotation/LivewireContourTool.js.map +1 -1
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +3 -1
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/SplineROITool.d.ts +6 -3
- package/dist/cjs/tools/annotation/SplineROITool.js +40 -21
- package/dist/cjs/tools/annotation/SplineROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +12 -7
- package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js +24 -18
- package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js +16 -10
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js +19 -7
- package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -1
- package/dist/cjs/tools/annotation/splines/LinearSpline.js +1 -1
- package/dist/cjs/tools/annotation/splines/LinearSpline.js.map +1 -1
- package/dist/cjs/tools/annotation/splines/Spline.d.ts +2 -0
- package/dist/cjs/tools/annotation/splines/Spline.js +7 -3
- package/dist/cjs/tools/annotation/splines/Spline.js.map +1 -1
- package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
- package/dist/cjs/tools/base/ContourBaseTool.d.ts +1 -0
- package/dist/cjs/tools/base/ContourBaseTool.js +18 -1
- package/dist/cjs/tools/base/ContourBaseTool.js.map +1 -1
- package/dist/cjs/tools/base/ContourSegmentationBaseTool.js +4 -0
- package/dist/cjs/tools/base/ContourSegmentationBaseTool.js.map +1 -1
- package/dist/cjs/tools/displayTools/Contour/contourConfig.js +1 -0
- package/dist/cjs/tools/displayTools/Contour/contourConfig.js.map +1 -1
- package/dist/cjs/types/AnnotationTypes.d.ts +2 -0
- package/dist/cjs/types/ContourAnnotation.d.ts +6 -0
- package/dist/cjs/types/ContourAnnotation.js +7 -0
- package/dist/cjs/types/ContourAnnotation.js.map +1 -1
- package/dist/cjs/types/ContourSegmentationAnnotation.d.ts +8 -0
- package/dist/cjs/types/ContourTypes.d.ts +1 -0
- package/dist/cjs/types/EventTypes.d.ts +4 -1
- package/dist/cjs/types/ISpline.d.ts +1 -0
- package/dist/cjs/types/InterpolationTypes.d.ts +2 -0
- package/dist/cjs/types/SplineProps.d.ts +1 -0
- package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +2 -5
- package/dist/cjs/utilities/contours/getContourHolesDataCanvas.d.ts +3 -0
- package/dist/cjs/utilities/contours/getContourHolesDataCanvas.js +21 -0
- package/dist/cjs/utilities/contours/getContourHolesDataCanvas.js.map +1 -0
- package/dist/cjs/utilities/contours/getContourHolesDataWorld.d.ts +3 -0
- package/dist/cjs/utilities/contours/getContourHolesDataWorld.js +10 -0
- package/dist/cjs/utilities/contours/getContourHolesDataWorld.js.map +1 -0
- package/dist/cjs/utilities/contours/index.d.ts +4 -1
- package/dist/cjs/utilities/contours/index.js +7 -1
- package/dist/cjs/utilities/contours/index.js.map +1 -1
- package/dist/cjs/utilities/contours/interpolation/acceptAutogeneratedInterpolations.js.map +1 -1
- package/dist/cjs/utilities/contours/interpolation/createPolylineToolData.js +2 -1
- package/dist/cjs/utilities/contours/interpolation/createPolylineToolData.js.map +1 -1
- package/dist/cjs/utilities/contours/interpolation/findAnnotationForInterpolation.js +2 -1
- package/dist/cjs/utilities/contours/interpolation/findAnnotationForInterpolation.js.map +1 -1
- package/dist/cjs/utilities/contours/interpolation/getInterpolationData.js +3 -1
- package/dist/cjs/utilities/contours/interpolation/getInterpolationData.js.map +1 -1
- package/dist/cjs/utilities/contours/interpolation/interpolate.d.ts +8 -0
- package/dist/cjs/utilities/contours/interpolation/interpolate.js +56 -42
- package/dist/cjs/utilities/contours/interpolation/interpolate.js.map +1 -1
- package/dist/cjs/utilities/contours/interpolation/selectHandles.d.ts +4 -0
- package/dist/cjs/utilities/contours/interpolation/selectHandles.js +170 -0
- package/dist/cjs/utilities/contours/interpolation/selectHandles.js.map +1 -0
- package/dist/cjs/utilities/contours/updateContourPolyline.d.ts +10 -0
- package/dist/cjs/utilities/contours/updateContourPolyline.js +64 -0
- package/dist/cjs/utilities/contours/updateContourPolyline.js.map +1 -0
- package/dist/cjs/utilities/livewire/LivewireScissors.d.ts +2 -1
- package/dist/cjs/utilities/livewire/LivewireScissors.js +46 -24
- package/dist/cjs/utilities/livewire/LivewireScissors.js.map +1 -1
- package/dist/cjs/utilities/math/polyline/containsPoints.d.ts +2 -0
- package/dist/cjs/utilities/math/polyline/containsPoints.js +16 -0
- package/dist/cjs/utilities/math/polyline/containsPoints.js.map +1 -0
- package/dist/cjs/utilities/math/polyline/getWindingDirection.d.ts +2 -0
- package/dist/cjs/utilities/math/polyline/getWindingDirection.js +12 -0
- package/dist/cjs/utilities/math/polyline/getWindingDirection.js.map +1 -0
- package/dist/cjs/utilities/math/polyline/index.d.ts +3 -1
- package/dist/cjs/utilities/math/polyline/index.js +5 -1
- package/dist/cjs/utilities/math/polyline/index.js.map +1 -1
- package/dist/cjs/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +1 -0
- package/dist/cjs/utilities/segmentation/InterpolationManager/InterpolationManager.js +13 -3
- package/dist/cjs/utilities/segmentation/InterpolationManager/InterpolationManager.js.map +1 -1
- package/dist/esm/drawingSvg/drawPath.js +49 -0
- package/dist/esm/drawingSvg/drawPath.js.map +1 -0
- package/dist/esm/drawingSvg/drawPolyline.js +3 -11
- package/dist/esm/drawingSvg/drawPolyline.js.map +1 -1
- package/dist/esm/drawingSvg/index.js +2 -1
- package/dist/esm/drawingSvg/index.js.map +1 -1
- package/dist/esm/enums/ChangeTypes.js +1 -0
- package/dist/esm/enums/ChangeTypes.js.map +1 -1
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js +1 -1
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
- package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +106 -32
- package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js.map +1 -1
- package/dist/esm/stateManagement/annotation/annotationState.js +42 -1
- package/dist/esm/stateManagement/annotation/annotationState.js.map +1 -1
- package/dist/esm/stateManagement/annotation/helpers/state.js +15 -4
- package/dist/esm/stateManagement/annotation/helpers/state.js.map +1 -1
- package/dist/esm/stateManagement/index.js +2 -2
- package/dist/esm/stateManagement/index.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +3 -2
- package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/esm/tools/SegmentationIntersectionTool.js +1 -1
- package/dist/esm/tools/SegmentationIntersectionTool.js.map +1 -1
- package/dist/esm/tools/annotation/LivewireContourSegmentationTool.js +81 -0
- package/dist/esm/tools/annotation/LivewireContourSegmentationTool.js.map +1 -1
- package/dist/esm/tools/annotation/LivewireContourTool.js +80 -67
- package/dist/esm/tools/annotation/LivewireContourTool.js.map +1 -1
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js +3 -1
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
- package/dist/esm/tools/annotation/SplineROITool.js +40 -22
- package/dist/esm/tools/annotation/SplineROITool.js.map +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +12 -7
- package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +25 -19
- package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +16 -10
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +20 -8
- package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -1
- package/dist/esm/tools/annotation/splines/LinearSpline.js +1 -1
- package/dist/esm/tools/annotation/splines/LinearSpline.js.map +1 -1
- package/dist/esm/tools/annotation/splines/Spline.js +5 -1
- package/dist/esm/tools/annotation/splines/Spline.js.map +1 -1
- package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
- package/dist/esm/tools/base/ContourBaseTool.js +20 -3
- package/dist/esm/tools/base/ContourBaseTool.js.map +1 -1
- package/dist/esm/tools/base/ContourSegmentationBaseTool.js +4 -0
- package/dist/esm/tools/base/ContourSegmentationBaseTool.js.map +1 -1
- package/dist/esm/tools/displayTools/Contour/contourConfig.js +1 -0
- package/dist/esm/tools/displayTools/Contour/contourConfig.js.map +1 -1
- package/dist/esm/types/ContourAnnotation.js +6 -1
- package/dist/esm/types/ContourAnnotation.js.map +1 -1
- package/dist/esm/utilities/contours/getContourHolesDataCanvas.js +15 -0
- package/dist/esm/utilities/contours/getContourHolesDataCanvas.js.map +1 -0
- package/dist/esm/utilities/contours/getContourHolesDataWorld.js +6 -0
- package/dist/esm/utilities/contours/getContourHolesDataWorld.js.map +1 -0
- package/dist/esm/utilities/contours/index.js +4 -1
- package/dist/esm/utilities/contours/index.js.map +1 -1
- package/dist/esm/utilities/contours/interpolation/acceptAutogeneratedInterpolations.js.map +1 -1
- package/dist/esm/utilities/contours/interpolation/createPolylineToolData.js +2 -1
- package/dist/esm/utilities/contours/interpolation/createPolylineToolData.js.map +1 -1
- package/dist/esm/utilities/contours/interpolation/findAnnotationForInterpolation.js +2 -1
- package/dist/esm/utilities/contours/interpolation/findAnnotationForInterpolation.js.map +1 -1
- package/dist/esm/utilities/contours/interpolation/getInterpolationData.js +3 -1
- package/dist/esm/utilities/contours/interpolation/getInterpolationData.js.map +1 -1
- package/dist/esm/utilities/contours/interpolation/interpolate.js +57 -43
- package/dist/esm/utilities/contours/interpolation/interpolate.js.map +1 -1
- package/dist/esm/utilities/contours/interpolation/selectHandles.js +164 -0
- package/dist/esm/utilities/contours/interpolation/selectHandles.js.map +1 -0
- package/dist/esm/utilities/contours/updateContourPolyline.js +38 -0
- package/dist/esm/utilities/contours/updateContourPolyline.js.map +1 -0
- package/dist/esm/utilities/livewire/LivewireScissors.js +46 -24
- package/dist/esm/utilities/livewire/LivewireScissors.js.map +1 -1
- package/dist/esm/utilities/math/polyline/containsPoints.js +10 -0
- package/dist/esm/utilities/math/polyline/containsPoints.js.map +1 -0
- package/dist/esm/utilities/math/polyline/getWindingDirection.js +6 -0
- package/dist/esm/utilities/math/polyline/getWindingDirection.js.map +1 -0
- package/dist/esm/utilities/math/polyline/index.js +3 -1
- package/dist/esm/utilities/math/polyline/index.js.map +1 -1
- package/dist/esm/utilities/segmentation/InterpolationManager/InterpolationManager.js +13 -3
- package/dist/esm/utilities/segmentation/InterpolationManager/InterpolationManager.js.map +1 -1
- package/dist/types/drawingSvg/drawPath.d.ts +12 -0
- package/dist/types/drawingSvg/drawPath.d.ts.map +1 -0
- package/dist/types/drawingSvg/drawPolyline.d.ts +1 -1
- package/dist/types/drawingSvg/drawPolyline.d.ts.map +1 -1
- package/dist/types/drawingSvg/index.d.ts +2 -1
- package/dist/types/drawingSvg/index.d.ts.map +1 -1
- package/dist/types/enums/ChangeTypes.d.ts +2 -1
- package/dist/types/enums/ChangeTypes.d.ts.map +1 -1
- package/dist/types/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts +1 -1
- package/dist/types/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.d.ts.map +1 -1
- package/dist/types/stateManagement/annotation/annotationState.d.ts +6 -1
- package/dist/types/stateManagement/annotation/annotationState.d.ts.map +1 -1
- package/dist/types/stateManagement/annotation/helpers/state.d.ts +4 -2
- package/dist/types/stateManagement/annotation/helpers/state.d.ts.map +1 -1
- package/dist/types/stateManagement/index.d.ts +6 -1
- package/dist/types/store/ToolGroupManager/ToolGroup.d.ts +3 -1
- package/dist/types/store/ToolGroupManager/ToolGroup.d.ts.map +1 -1
- package/dist/types/tools/annotation/LivewireContourSegmentationTool.d.ts +4 -0
- package/dist/types/tools/annotation/LivewireContourSegmentationTool.d.ts.map +1 -1
- package/dist/types/tools/annotation/LivewireContourTool.d.ts +13 -11
- package/dist/types/tools/annotation/LivewireContourTool.d.ts.map +1 -1
- package/dist/types/tools/annotation/PlanarFreehandROITool.d.ts.map +1 -1
- package/dist/types/tools/annotation/SplineROITool.d.ts +6 -3
- package/dist/types/tools/annotation/SplineROITool.d.ts.map +1 -1
- package/dist/types/tools/annotation/planarFreehandROITool/closedContourEditLoop.d.ts.map +1 -1
- package/dist/types/tools/annotation/planarFreehandROITool/drawLoop.d.ts.map +1 -1
- package/dist/types/tools/annotation/planarFreehandROITool/openContourEditLoop.d.ts.map +1 -1
- package/dist/types/tools/annotation/planarFreehandROITool/renderMethods.d.ts.map +1 -1
- package/dist/types/tools/annotation/splines/Spline.d.ts +2 -0
- package/dist/types/tools/annotation/splines/Spline.d.ts.map +1 -1
- package/dist/types/tools/base/AnnotationTool.d.ts.map +1 -1
- package/dist/types/tools/base/ContourBaseTool.d.ts +1 -0
- package/dist/types/tools/base/ContourBaseTool.d.ts.map +1 -1
- package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts.map +1 -1
- package/dist/types/tools/displayTools/Contour/contourConfig.d.ts.map +1 -1
- package/dist/types/types/AnnotationTypes.d.ts +2 -0
- package/dist/types/types/AnnotationTypes.d.ts.map +1 -1
- package/dist/types/types/ContourAnnotation.d.ts +6 -0
- package/dist/types/types/ContourAnnotation.d.ts.map +1 -1
- package/dist/types/types/ContourSegmentationAnnotation.d.ts +8 -0
- package/dist/types/types/ContourSegmentationAnnotation.d.ts.map +1 -1
- package/dist/types/types/ContourTypes.d.ts +1 -0
- package/dist/types/types/ContourTypes.d.ts.map +1 -1
- package/dist/types/types/EventTypes.d.ts +4 -1
- package/dist/types/types/EventTypes.d.ts.map +1 -1
- package/dist/types/types/ISpline.d.ts +1 -0
- package/dist/types/types/ISpline.d.ts.map +1 -1
- package/dist/types/types/InterpolationTypes.d.ts +2 -0
- package/dist/types/types/InterpolationTypes.d.ts.map +1 -1
- package/dist/types/types/SplineProps.d.ts +1 -0
- package/dist/types/types/SplineProps.d.ts.map +1 -1
- package/dist/types/types/ToolSpecificAnnotationTypes.d.ts +2 -5
- package/dist/types/types/ToolSpecificAnnotationTypes.d.ts.map +1 -1
- package/dist/types/utilities/contours/getContourHolesDataCanvas.d.ts +4 -0
- package/dist/types/utilities/contours/getContourHolesDataCanvas.d.ts.map +1 -0
- package/dist/types/utilities/contours/getContourHolesDataWorld.d.ts +4 -0
- package/dist/types/utilities/contours/getContourHolesDataWorld.d.ts.map +1 -0
- package/dist/types/utilities/contours/index.d.ts +4 -1
- package/dist/types/utilities/contours/index.d.ts.map +1 -1
- package/dist/types/utilities/contours/interpolation/acceptAutogeneratedInterpolations.d.ts.map +1 -1
- package/dist/types/utilities/contours/interpolation/createPolylineToolData.d.ts.map +1 -1
- package/dist/types/utilities/contours/interpolation/findAnnotationForInterpolation.d.ts.map +1 -1
- package/dist/types/utilities/contours/interpolation/getInterpolationData.d.ts.map +1 -1
- package/dist/types/utilities/contours/interpolation/interpolate.d.ts +8 -0
- package/dist/types/utilities/contours/interpolation/interpolate.d.ts.map +1 -1
- package/dist/types/utilities/contours/interpolation/selectHandles.d.ts +5 -0
- package/dist/types/utilities/contours/interpolation/selectHandles.d.ts.map +1 -0
- package/dist/types/utilities/contours/updateContourPolyline.d.ts +11 -0
- package/dist/types/utilities/contours/updateContourPolyline.d.ts.map +1 -0
- package/dist/types/utilities/livewire/LivewireScissors.d.ts +2 -1
- package/dist/types/utilities/livewire/LivewireScissors.d.ts.map +1 -1
- package/dist/types/utilities/math/polyline/containsPoints.d.ts +3 -0
- package/dist/types/utilities/math/polyline/containsPoints.d.ts.map +1 -0
- package/dist/types/utilities/math/polyline/getWindingDirection.d.ts +3 -0
- package/dist/types/utilities/math/polyline/getWindingDirection.d.ts.map +1 -0
- package/dist/types/utilities/math/polyline/index.d.ts +3 -1
- package/dist/types/utilities/math/polyline/index.d.ts.map +1 -1
- package/dist/types/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +1 -0
- package/dist/types/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts.map +1 -1
- package/dist/types/utilities/segmentation/InterpolationManager/InterpolationManager.d.ts.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
- package/src/drawingSvg/drawPath.ts +96 -0
- package/src/drawingSvg/drawPolyline.ts +13 -17
- package/src/drawingSvg/index.ts +2 -0
- package/src/enums/ChangeTypes.ts +4 -0
- package/src/eventDispatchers/keyboardEventHandlers/keyDown.ts +1 -1
- package/src/eventDispatchers/shared/getActiveToolForMouseEvent.ts +1 -1
- package/src/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.ts +194 -58
- package/src/stateManagement/annotation/annotationState.ts +101 -0
- package/src/stateManagement/annotation/helpers/state.ts +33 -3
- package/src/stateManagement/index.js +10 -0
- package/src/store/ToolGroupManager/ToolGroup.ts +9 -2
- package/src/tools/SegmentationIntersectionTool.ts +1 -1
- package/src/tools/annotation/LivewireContourSegmentationTool.ts +151 -0
- package/src/tools/annotation/LivewireContourTool.ts +172 -114
- package/src/tools/annotation/PlanarFreehandROITool.ts +13 -3
- package/src/tools/annotation/SplineROITool.ts +78 -31
- package/src/tools/annotation/planarFreehandROITool/closedContourEditLoop.ts +20 -11
- package/src/tools/annotation/planarFreehandROITool/drawLoop.ts +40 -21
- package/src/tools/annotation/planarFreehandROITool/openContourEditLoop.ts +28 -13
- package/src/tools/annotation/planarFreehandROITool/renderMethods.ts +28 -10
- package/src/tools/annotation/splines/LinearSpline.ts +1 -1
- package/src/tools/annotation/splines/Spline.ts +13 -1
- package/src/tools/base/AnnotationTool.ts +1 -0
- package/src/tools/base/ContourBaseTool.ts +45 -3
- package/src/tools/base/ContourSegmentationBaseTool.ts +6 -0
- package/src/tools/displayTools/Contour/contourConfig.ts +1 -0
- package/src/types/AnnotationTypes.ts +14 -0
- package/src/types/ContourAnnotation.ts +13 -0
- package/src/types/ContourSegmentationAnnotation.ts +38 -0
- package/src/types/ContourTypes.ts +3 -0
- package/src/types/EventTypes.ts +9 -0
- package/src/types/ISpline.ts +3 -0
- package/src/types/InterpolationTypes.ts +6 -0
- package/src/types/SplineProps.ts +10 -0
- package/src/types/ToolSpecificAnnotationTypes.ts +7 -5
- package/src/utilities/contours/getContourHolesDataCanvas.ts +33 -0
- package/src/utilities/contours/getContourHolesDataWorld.ts +19 -0
- package/src/utilities/contours/index.ts +6 -0
- package/src/utilities/contours/interpolation/acceptAutogeneratedInterpolations.ts +3 -1
- package/src/utilities/contours/interpolation/createPolylineToolData.ts +7 -1
- package/src/utilities/contours/interpolation/findAnnotationForInterpolation.ts +2 -1
- package/src/utilities/contours/interpolation/getInterpolationData.ts +3 -1
- package/src/utilities/contours/interpolation/interpolate.ts +94 -75
- package/src/utilities/contours/interpolation/selectHandles.ts +240 -0
- package/src/utilities/contours/updateContourPolyline.ts +74 -0
- package/src/utilities/livewire/LivewireScissors.ts +65 -53
- package/src/utilities/math/polyline/containsPoint.ts +1 -1
- package/src/utilities/math/polyline/containsPoints.ts +22 -0
- package/src/utilities/math/polyline/getWindingDirection.ts +14 -0
- package/src/utilities/math/polyline/index.ts +4 -0
- package/src/utilities/math/polyline/planarFreehandROIInternalTypes.ts +1 -0
- package/src/utilities/segmentation/InterpolationManager/InterpolationManager.ts +39 -4
- package/dist/cjs/utilities/contours/PointsArray.d.ts +0 -29
- package/dist/cjs/utilities/contours/PointsArray.js +0 -104
- package/dist/cjs/utilities/contours/PointsArray.js.map +0 -1
- package/dist/esm/utilities/contours/PointsArray.js +0 -98
- package/dist/esm/utilities/contours/PointsArray.js.map +0 -1
- package/dist/types/utilities/contours/PointsArray.d.ts +0 -30
- package/dist/types/utilities/contours/PointsArray.d.ts.map +0 -1
- package/src/utilities/contours/PointsArray.ts +0 -165
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlanarFreehandROITool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/PlanarFreehandROITool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlanarFreehandROITool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/PlanarFreehandROITool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { getEnabledElement, eventTarget, triggerEvent, utilities, } from '@cornerstonejs/core';
|
|
2
2
|
import { vec3 } from 'gl-matrix';
|
|
3
|
-
import { removeAnnotation } from '../../stateManagement/annotation/annotationState';
|
|
3
|
+
import { getChildAnnotations, removeAnnotation, } from '../../stateManagement/annotation/annotationState';
|
|
4
4
|
import { drawHandles as drawHandlesSvg, drawPolyline as drawPolylineSvg, drawLinkedTextBox as drawLinkedTextBoxSvg, } from '../../drawingSvg';
|
|
5
5
|
import { state } from '../../store';
|
|
6
6
|
import { Events, MouseBindings, KeyboardBindings, ChangeTypes, } from '../../enums';
|
|
7
7
|
import { resetElementCursor } from '../../cursors/elementCursor';
|
|
8
8
|
import { math, throttle, roundNumber, triggerAnnotationRenderForViewportIds, getCalibratedScale, getCalibratedAreaUnits, } from '../../utilities';
|
|
9
|
+
import getMouseModifierKey from '../../eventDispatchers/shared/getMouseModifier';
|
|
9
10
|
import { getViewportIdsWithToolToRender } from '../../utilities/viewportFilters';
|
|
10
11
|
import { getTextBoxCoordsCanvas } from '../../utilities/drawing';
|
|
12
|
+
import { ContourWindingDirection } from '../../types/ContourAnnotation';
|
|
11
13
|
import { CardinalSpline } from './splines/CardinalSpline';
|
|
12
14
|
import { LinearSpline } from './splines/LinearSpline';
|
|
13
15
|
import { CatmullRomSpline } from './splines/CatmullRomSpline';
|
|
14
16
|
import { BSpline } from './splines/BSpline';
|
|
15
17
|
import ContourSegmentationBaseTool from '../base/ContourSegmentationBaseTool';
|
|
16
|
-
import
|
|
18
|
+
import updateContourPolyline from '../../utilities/contours/updateContourPolyline';
|
|
17
19
|
const SPLINE_MIN_POINTS = 3;
|
|
18
20
|
const SPLINE_CLICK_CLOSE_CURVE_DIST = 10;
|
|
19
21
|
const DEFAULT_SPLINE_CONFIG = {
|
|
@@ -43,6 +45,7 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
43
45
|
preventHandleOutsideImage: false,
|
|
44
46
|
calculateStats: true,
|
|
45
47
|
getTextLines: defaultGetTextLines,
|
|
48
|
+
contourHoleAdditionModifierKey: KeyboardBindings.Shift,
|
|
46
49
|
spline: {
|
|
47
50
|
configuration: {
|
|
48
51
|
[SplineTypesEnum.Cardinal]: {
|
|
@@ -141,7 +144,7 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
141
144
|
this._endCallback = (evt) => {
|
|
142
145
|
const eventDetail = evt.detail;
|
|
143
146
|
const { element } = eventDetail;
|
|
144
|
-
const { annotation, viewportIdsToRender, newAnnotation } = this.editData;
|
|
147
|
+
const { annotation, viewportIdsToRender, newAnnotation, contourHoleProcessingEnabled, } = this.editData;
|
|
145
148
|
const { data } = annotation;
|
|
146
149
|
annotation.autoGenerated = false;
|
|
147
150
|
data.handles.activeHandleIndex = null;
|
|
@@ -164,6 +167,7 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
164
167
|
changeType: newAnnotation
|
|
165
168
|
? ChangeTypes.Completed
|
|
166
169
|
: ChangeTypes.HandlesUpdated,
|
|
170
|
+
contourHoleProcessingEnabled,
|
|
167
171
|
};
|
|
168
172
|
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
169
173
|
this.editData = null;
|
|
@@ -255,13 +259,7 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
255
259
|
else if (handleIndex === undefined) {
|
|
256
260
|
const { deltaPoints } = eventDetail;
|
|
257
261
|
const worldPosDelta = deltaPoints.world;
|
|
258
|
-
|
|
259
|
-
points.forEach((point) => {
|
|
260
|
-
point[0] += worldPosDelta[0];
|
|
261
|
-
point[1] += worldPosDelta[1];
|
|
262
|
-
point[2] += worldPosDelta[2];
|
|
263
|
-
});
|
|
264
|
-
annotation.invalidated = true;
|
|
262
|
+
this.moveAnnotation(annotation, worldPosDelta);
|
|
265
263
|
}
|
|
266
264
|
else {
|
|
267
265
|
const { currentPoints } = eventDetail;
|
|
@@ -274,11 +272,12 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
274
272
|
const { renderingEngine } = enabledElement;
|
|
275
273
|
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
276
274
|
};
|
|
277
|
-
this.triggerAnnotationCompleted = (annotation) => {
|
|
275
|
+
this.triggerAnnotationCompleted = (annotation, contourHoleProcessingEnabled) => {
|
|
278
276
|
const eventType = Events.ANNOTATION_COMPLETED;
|
|
279
277
|
const eventDetail = {
|
|
280
278
|
annotation,
|
|
281
279
|
changeType: ChangeTypes.Completed,
|
|
280
|
+
contourHoleProcessingEnabled,
|
|
282
281
|
};
|
|
283
282
|
triggerEvent(eventTarget, eventType, eventDetail);
|
|
284
283
|
};
|
|
@@ -293,9 +292,9 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
293
292
|
};
|
|
294
293
|
triggerEvent(eventTarget, eventType, eventDetail);
|
|
295
294
|
};
|
|
296
|
-
this.triggerChangeEvent = (annotation, enabledElement, changeType = ChangeTypes.StatsUpdated) => {
|
|
295
|
+
this.triggerChangeEvent = (annotation, enabledElement, changeType = ChangeTypes.StatsUpdated, contourHoleProcessingEnabled) => {
|
|
297
296
|
if (changeType === ChangeTypes.Completed) {
|
|
298
|
-
this.triggerAnnotationCompleted(annotation);
|
|
297
|
+
this.triggerAnnotationCompleted(annotation, contourHoleProcessingEnabled);
|
|
299
298
|
}
|
|
300
299
|
else {
|
|
301
300
|
this.triggerAnnotationModified(annotation, enabledElement, changeType);
|
|
@@ -457,6 +456,8 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
457
456
|
const eventDetail = evt.detail;
|
|
458
457
|
const { currentPoints, element } = eventDetail;
|
|
459
458
|
const { canvas: canvasPos } = currentPoints;
|
|
459
|
+
const contourHoleProcessingEnabled = getMouseModifierKey(evt.detail.event) ===
|
|
460
|
+
this.configuration.contourHoleAdditionModifierKey;
|
|
460
461
|
const enabledElement = getEnabledElement(element);
|
|
461
462
|
const { renderingEngine } = enabledElement;
|
|
462
463
|
const annotation = this.createAnnotation(evt);
|
|
@@ -470,6 +471,7 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
470
471
|
newAnnotation: true,
|
|
471
472
|
hasMoved: false,
|
|
472
473
|
lastCanvasPoint: canvasPos,
|
|
474
|
+
contourHoleProcessingEnabled,
|
|
473
475
|
};
|
|
474
476
|
this._activateDraw(element);
|
|
475
477
|
evt.preventDefault();
|
|
@@ -513,10 +515,22 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
513
515
|
const { drawPreviewEnabled } = this.configuration.spline;
|
|
514
516
|
const splineType = annotation.data.spline.type;
|
|
515
517
|
const splineConfig = this._getSplineConfig(splineType);
|
|
516
|
-
const spline =
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
518
|
+
const spline = annotation.data.spline.instance;
|
|
519
|
+
if (annotation.invalidated) {
|
|
520
|
+
const splineAnnotationsGroup = [
|
|
521
|
+
annotation,
|
|
522
|
+
...getChildAnnotations(annotation),
|
|
523
|
+
].filter((annotation) => this._isSplineROIAnnotation(annotation));
|
|
524
|
+
splineAnnotationsGroup.forEach((annotation) => {
|
|
525
|
+
const spline = this._updateSplineInstance(element, annotation);
|
|
526
|
+
const splinePolylineCanvas = spline.getPolylinePoints();
|
|
527
|
+
updateContourPolyline(annotation, {
|
|
528
|
+
points: splinePolylineCanvas,
|
|
529
|
+
closed: data.contour.closed,
|
|
530
|
+
targetWindingDirection: ContourWindingDirection.Clockwise,
|
|
531
|
+
}, viewport);
|
|
532
|
+
});
|
|
533
|
+
}
|
|
520
534
|
super.renderAnnotationInstance(renderContext);
|
|
521
535
|
if (!data.cachedStats[targetId] ||
|
|
522
536
|
data.cachedStats[targetId].areaUnit == null) {
|
|
@@ -566,7 +580,7 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
566
580
|
}
|
|
567
581
|
this._renderStats(annotation, viewport, svgDrawingHelper, annotationStyle.textbox);
|
|
568
582
|
if (this.fireChangeOnUpdate?.annotationUID === annotationUID) {
|
|
569
|
-
this.triggerChangeEvent(annotation, enabledElement, this.fireChangeOnUpdate.changeType);
|
|
583
|
+
this.triggerChangeEvent(annotation, enabledElement, this.fireChangeOnUpdate.changeType, this.fireChangeOnUpdate.contourHoleProcessingEnabled);
|
|
570
584
|
this.fireChangeOnUpdate = null;
|
|
571
585
|
}
|
|
572
586
|
annotation.invalidated = false;
|
|
@@ -599,9 +613,9 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
599
613
|
instance: spline,
|
|
600
614
|
resolution: splineConfig.resolution,
|
|
601
615
|
});
|
|
602
|
-
let
|
|
616
|
+
let onInterpolationComplete;
|
|
603
617
|
if (this.configuration.interpolation?.enabled) {
|
|
604
|
-
|
|
618
|
+
onInterpolationComplete = (annotation) => {
|
|
605
619
|
annotation.data.spline ||= createSpline();
|
|
606
620
|
this.createInterpolatedSplineControl(annotation);
|
|
607
621
|
};
|
|
@@ -614,7 +628,7 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
614
628
|
spline: createSpline(),
|
|
615
629
|
cachedStats: {},
|
|
616
630
|
},
|
|
617
|
-
|
|
631
|
+
onInterpolationComplete,
|
|
618
632
|
});
|
|
619
633
|
}
|
|
620
634
|
_deleteControlPointByIndex(element, annotation, controlPointIndex) {
|
|
@@ -631,6 +645,9 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
631
645
|
annotation.invalidated = true;
|
|
632
646
|
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
633
647
|
}
|
|
648
|
+
_isSplineROIAnnotation(annotation) {
|
|
649
|
+
return !!annotation.data?.spline;
|
|
650
|
+
}
|
|
634
651
|
_getSplineConfig(type) {
|
|
635
652
|
const { configuration: config } = this;
|
|
636
653
|
const splineConfigs = config.spline.configuration;
|
|
@@ -647,7 +664,8 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
647
664
|
const canvasPoints = worldPoints.map(worldToCanvas);
|
|
648
665
|
spline.setControlPoints(canvasPoints);
|
|
649
666
|
spline.closed = !!data.contour.closed;
|
|
650
|
-
if (spline.
|
|
667
|
+
if (!spline.fixedResolution &&
|
|
668
|
+
spline.resolution !== splineConfig.resolution) {
|
|
651
669
|
spline.resolution = parseInt(splineConfig.resolution);
|
|
652
670
|
annotation.invalidated = true;
|
|
653
671
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplineROITool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/SplineROITool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,SAAS,GACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EACL,WAAW,IAAI,cAAc,EAC7B,YAAY,IAAI,eAAe,EAC/B,iBAAiB,IAAI,oBAAoB,GAC1C,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAUjE,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,qCAAqC,EACrC,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAQjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,2BAA2B,MAAM,qCAAqC,CAAC;AAC9E,OAAO,sBAAsB,MAAM,iDAAiD,CAAC;AAErF,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEzC,MAAM,qBAAqB,GAAG;IAC5B,UAAU,EAAE,EAAE;IACd,4BAA4B,EAAE,CAAC;IAC/B,4BAA4B,EAAE,CAAC;IAC/B,2BAA2B,EAAE,KAAK;IAClC,2BAA2B,EAAE,IAAI;IACjC,2BAA2B,EAAE,IAAI;CAClC,CAAC;AAEF,IAAK,eAKJ;AALD,WAAK,eAAe;IAClB,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;IACjB,4CAAyB,CAAA;IACzB,sCAAmB,CAAA;AACrB,CAAC,EALI,eAAe,KAAf,eAAe,QAKnB;AAED,IAAK,iBAGJ;AAHD,WAAK,iBAAiB;IACpB,wDAAmC,CAAA;IACnC,8DAAyC,CAAA;AAC3C,CAAC,EAHI,iBAAiB,KAAjB,iBAAiB,QAGrB;AAED,MAAM,aAAc,SAAQ,2BAA2B;IAwBrD,YACE,YAA6B,EAAE,EAC/B,mBAA8B;QAC5B,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,aAAa,EAAE;YACb,yBAAyB,EAAE,KAAK;YAChC,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,mBAAmB;YACjC,MAAM,EAAE;gBACN,aAAa,EAAE;oBACb,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;wBAC1B,KAAK,EAAE,cAAc;wBACrB,KAAK,EAAE,GAAG;qBACX;oBACD,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;wBAC5B,KAAK,EAAE,gBAAgB;qBACxB;oBACD,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;wBACxB,KAAK,EAAE,YAAY;qBACpB;oBACD,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;wBACzB,KAAK,EAAE,OAAO;wBACd,2BAA2B,EAAE,KAAK;wBAClC,2BAA2B,EAAE,KAAK;wBAClC,2BAA2B,EAAE,IAAI;qBAClC;iBACF;gBACD,IAAI,EAAE,eAAe,CAAC,UAAU;gBAChC,kBAAkB,EAAE,IAAI;gBACxB,4BAA4B,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;aACtD;YACD,OAAO,EAAE;gBACP,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE;oBACnC,MAAM,EAAE,yBAAyB;oBACjC,QAAQ,EAAE;wBACR;4BACE,WAAW,EAAE,aAAa,CAAC,OAAO;4BAClC,WAAW,EAAE,gBAAgB,CAAC,KAAK;yBACpC;qBACF;iBACF;gBACD,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE;oBACtC,MAAM,EAAE,4BAA4B;oBACpC,QAAQ,EAAE;wBACR;4BACE,WAAW,EAAE,aAAa,CAAC,OAAO;4BAClC,WAAW,EAAE,gBAAgB,CAAC,IAAI;yBACnC;qBACF;iBACF;aACF;SACF;KACF;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QA5DrC,yBAAoB,GAAG,KAAK,CAAC;QAC7B,uBAAkB,GAGd,IAAI,CAAC;QAqHT,oBAAe,GAAG,CAChB,OAAuB,EACvB,UAA+B,EAC/B,YAA0B,EAC1B,SAAiB,EACR,EAAE;YACX,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YAEpD,OAAO,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,yBAAoB,GAAG,CACrB,GAAoC,EACpC,UAA+B,EACzB,EAAE;YACR,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAEhC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;YAE9B,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG;gBACd,UAAU;gBACV,mBAAmB;gBACnB,aAAa,EAAE,KAAK;aACrB,CAAC;YAEF,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAE3C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC9B,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAC5E,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC,CAAC;QAEF,2BAAsB,GAAG,CACvB,GAAoC,EACpC,UAA+B,EAC/B,MAAkB,EACZ,EAAE;YACR,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAChC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAE5B,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;YAE9B,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,IAAI,WAAW,CAAC;YAEhB,IAAK,MAAwB,CAAC,aAAa,EAAE;gBAC3C,aAAa,GAAG,IAAI,CAAC;aACtB;iBAAM;gBACL,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;gBAEhC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;aACrD;YAGD,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG;gBACd,UAAU;gBACV,mBAAmB;gBACnB,WAAW;gBACX,aAAa;aACd,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE9B,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAE3C,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAE5E,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC,CAAC;QAEF,iBAAY,GAAG,CAAC,GAAoC,EAAQ,EAAE;YAC5D,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAEhC,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAC5B,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC;YAEjC,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAEtC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC9B,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAE5B,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAG3C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CACjC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,EACzC,cAAc,CAAC,eAAe,CAC/B,CAAC;YACF,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;iBAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;iBACzD,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;YAExE,IACE,IAAI,CAAC,oBAAoB;gBACzB,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAC5C;gBACA,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;aAC5C;YAED,IAAI,CAAC,kBAAkB,KAAK;gBAC1B,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,UAAU,EAAE,aAAa;oBACvB,CAAC,CAAC,WAAW,CAAC,SAAS;oBACvB,CAAC,CAAC,WAAW,CAAC,cAAc;aAC/B,CAAC;YAEF,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAE5E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,GAAgC,EAAE,EAAE;YAC9D,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAChC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,IAAI,EAAE,CAAC;YAClC,MAAM,EAAE,4BAA4B,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YACnE,MAAM,eAAe,GAAG,4BAA4B,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEnE,IAAI,CAAC,eAAe,EAAE;gBACpB,OAAO;aACR;YAED,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAE5B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,iBAAiB,EAAE;gBACpD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrB,OAAO;aACR;iBAAM;gBACL,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzD,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;aACzE;YAED,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC,CAAC;QAEM,uBAAkB,GAAG,CAAC,GAAoC,EAAQ,EAAE;YAC1E,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAGzD,IAAI,CAAC,kBAAkB,EAAE;gBACvB,OAAO;aACR;YAED,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,eAAe,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YAEhE,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAC5E,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC,CAAC;QAEM,uBAAkB,GAAG,CAAC,GAAoC,EAAQ,EAAE;YAC1E,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,kBAAkB,CAAC;YAC3D,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAE5B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACvB,OAAO;aACR;YAED,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAChC,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;YACtC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;YACjE,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAC3C,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC;YAClE,IAAI,WAAW,GAAG,IAAI,CAAC;YAGvB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;gBACnC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;gBACzC,MAAM,mBAAmB,GAAG,MAAM,CAAC,oCAAoC,CACrE,WAAW,EACX,6BAA6B,CAC9B,CAAC;gBAEF,IAAI,mBAAmB,EAAE,KAAK,KAAK,CAAC,EAAE;oBACpC,WAAW,GAAG,KAAK,CAAC;oBACpB,YAAY,GAAG,IAAI,CAAC;iBACrB;aACF;YAED,IAAI,WAAW,EAAE;gBACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACtC;YAED,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC;YAC1D,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;YAC9B,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAE5E,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACvB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;aACxB;YAED,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,GAAoC,EAAQ,EAAE;YACrE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAEhC,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,GACnE,IAAI,CAAC,QAAQ,CAAC;YAChB,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAE5B,IAAI,aAAa,EAAE;gBAEjB,MAAM,EAAE,WAAW,EAAE,GAAG,WAA8C,CAAC;gBACvE,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC;gBAExC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;gBACjC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;gBAElC,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;gBACrC,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;gBACrC,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;gBAErC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;aACzB;iBAAM,IAAI,WAAW,KAAK,SAAS,EAAE;gBAEpC,MAAM,EAAE,WAAW,EAAE,GAAG,WAA8C,CAAC;gBACvE,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC;gBAExC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAEnC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACvB,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC7B,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC7B,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBACH,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;aAC/B;iBAAM;gBAEL,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;gBACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;gBAErC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;gBACjD,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;aAC/B;YAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;YAE9B,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAE3C,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAC9E,CAAC,CAAC;QAiCF,+BAA0B,GAAG,CAAC,UAA+B,EAAQ,EAAE;YACrE,MAAM,SAAS,GAAG,MAAM,CAAC,oBAAoB,CAAC;YAC9C,MAAM,WAAW,GAAmC;gBAClD,UAAU;gBACV,UAAU,EAAE,WAAW,CAAC,SAAS;aAClC,CAAC;YAEF,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACpD,CAAC,CAAC;QAKF,8BAAyB,GAAG,CAC1B,UAA+B,EAC/B,cAAqC,EACrC,UAAU,GAAG,WAAW,CAAC,YAAY,EAC/B,EAAE;YACR,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,cAAc,CAAC;YACzD,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC;YAC7C,MAAM,WAAW,GAAkC;gBACjD,UAAU;gBACV,UAAU;gBACV,iBAAiB;gBACjB,UAAU;aACX,CAAC;YAEF,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACpD,CAAC,CAAC;QAKF,uBAAkB,GAAG,CACnB,UAA+B,EAC/B,cAAqC,EACrC,UAAU,GAAG,WAAW,CAAC,YAAY,EAC/B,EAAE;YACR,IAAI,UAAU,KAAK,WAAW,CAAC,SAAS,EAAE;gBACxC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;aAC7C;iBAAM;gBACL,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;aACxE;QACH,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAC,OAAO,EAAE,EAAE;YACpC,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAEnC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAChE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEhE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9D,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAChE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC,CAAC;QAEM,sBAAiB,GAAG,CAAC,OAAO,EAAE,EAAE;YACtC,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAEpC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAChE,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACnE,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEnE,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACjE,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACnE,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,OAAO,EAAE,EAAE;YAClC,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAEnC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACjE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrE,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,kBAAkB,EACzB,IAAI,CAAC,kBAAkB,CACxB,CAAC;YAEF,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtE,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAC,OAAO,EAAE,EAAE;YACpC,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAEpC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpE,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACxE,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACxE,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,kBAAkB,EACzB,IAAI,CAAC,kBAAkB,CACxB,CAAC;YAEF,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzE,CAAC,CAAC;QAyNM,iBAAY,GAAG,CACrB,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,EAAE;YACF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE5C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;gBAC5D,OAAO;aACR;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxC,OAAO;aACR;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtD,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAC1B,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAClC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;gBAEtE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa;oBAChC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;aAC/C;YAED,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAC5C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CACnC,CAAC;YAEF,MAAM,UAAU,GAAG,SAAS,CAAC;YAC7B,MAAM,WAAW,GAAG,oBAAoB,CACtC,gBAAgB,EAChB,UAAU,CAAC,aAAa,IAAI,EAAE,EAC9B,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,EAAE,EACF,YAAY,CACb,CAAC;YAEF,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;YAEvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,GAAG;gBACtC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC5C,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;gBACrD,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;gBACxD,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;aAClE,CAAC;QACJ,CAAC,CAAC;QAEF,4BAAuB,GAAG,CACxB,GAAoC,EACpC,UAA+B,EAC/B,EAAE;YACF,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACpC,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,YAAY,CAAC,4BAA4B,CAAC;YAE1D,IAAI,YAAY,CAAC,2BAA2B,KAAK,KAAK,EAAE;gBACtD,OAAO;aACR;YAED,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAEhC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;YACrD,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;YAEnC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YACzC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YAClD,MAAM,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAE3D,IAAI,gBAAgB,CAAC,QAAQ,GAAG,OAAO,EAAE;gBACvC,OAAO;aACR;YAGD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAC7D,gBAAgB,CAAC,MAAM,CACxB,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;YACjE,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;YAE9B,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;YAEF,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAC9E,CAAC,CAAC;QA4BF,+BAA0B,GAAG,CAC3B,GAAoC,EACpC,UAA+B,EAC/B,EAAE;YACF,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,YAAY,CAAC,4BAA4B,CAAC;YAE1D,IAAI,YAAY,CAAC,2BAA2B,KAAK,KAAK,EAAE;gBACtD,OAAO;aACR;YAED,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;YAC/C,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;YAC5C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YACpD,MAAM,mBAAmB,GAAG,MAAM,CAAC,oCAAoC,CACrE,SAAS,EACT,OAAO,CACR,CAAC;YAEF,IAAI,CAAC,mBAAmB,EAAE;gBACxB,OAAO;aACR;YAED,IAAI,CAAC,0BAA0B,CAC7B,OAAO,EACP,UAAU,EACV,mBAAmB,CAAC,KAAK,CAC1B,CAAC;QACJ,CAAC,CAAC;QAkDM,0BAAqB,GAAG,CAC9B,UAA+B,EAC/B,OAAuB,EACvB,EAAE;YACF,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;gBACtC,OAAO;aACR;YACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YAE7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACxB,OAAO;aACR;YAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YACrD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;YAC7B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAK/D,IAAI,CAAC,KAAK,EAAE;oBACV,SAAS;iBACV;gBAED,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;gBAC3B,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAIvE,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC/D,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC;oBACzC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;oBAClB,WAAW,CAAC,CAAC,CAAC;iBACf,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC;oBACzC,WAAW,CAAC,CAAC,CAAC;oBACd,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;iBACnB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;gBAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;gBAEhE,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;gBAGpE,IAAI,IAAI,QAAQ,GAAG,QAAQ,CAAC;gBAE5B,WAAW,CAAC,QAAQ,CAAC,GAAG;oBACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,IAAI;oBACJ,QAAQ,EAAE,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC;iBAC9C,CAAC;aACH;YAED,IAAI,CAAC,yBAAyB,CAC5B,UAAU,EACV,cAAc,EACd,WAAW,CAAC,YAAY,CACzB,CAAC;YAEF,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAt7BA,IAAI,CAAC,8BAA8B,GAAG,QAAQ,CAC5C,IAAI,CAAC,qBAAqB,EAC1B,GAAG,EACH,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;IACJ,CAAC;aAnFM,gBAAW,GAAG,eAAe,CAAC;aAC9B,YAAO,GAAG,iBAAiB,CAAC;IA4FnC,gBAAgB,CAAC,GAAoC;QACnD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;QAC/B,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAC/C,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;QAE5C,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAwB,CAAC;QAErE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAExC,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG;YACd,UAAU;YACV,mBAAmB;YACnB,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,SAAS;SAC3B,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAE5E,OAAO,UAAU,CAAC;IACpB,CAAC;IAgSD,MAAM,CAAC,OAAuB;QAE5B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO;SACR;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAE5B,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEzE,IAAI,aAAa,EAAE;YACjB,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAC5C;QAED,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEnC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;QAE3C,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAE5E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,UAAU,CAAC,aAAa,CAAC;IAClC,CAAC;IAsGS,yBAAyB;QAGjC,OAAO,KAAK,CAAC;IACf,CAAC;IAOS,wBAAwB,CAChC,aAAsC;QAEtC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,GACnE,aAAa,CAAC;QAChB,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACpC,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;QACnC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAC7B,MAAM,UAAU,GAAG,aAAa,CAAC,UAAiC,CAAC;QACnE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;QACxD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;QAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC;QAEnD,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,KAAK,EACL,MAAM,EAAE,gBAAgB,GACzB,GAAG,eAAe,CAAC;QAEpB,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChD,aAAa,CAAC,CAAC,CAAC,CACC,CAAC;QAEpB,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACzD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,oBAAoB,GAAG,sBAAsB,CACjD,MAAM,CAAC,iBAAiB,EAAE,CAC3B,CAAC;QACF,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC9D,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAC/B,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,mBAAmB,CAAC;QAG5C,KAAK,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;QAI9C,IACE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI,IAAI,EAC3C;YACA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG;gBAC3B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI;aACf,CAAC;YAEF,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SACjD;aAAM,IAAI,UAAU,CAAC,WAAW,EAAE;YACjC,IAAI,CAAC,8BAA8B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SAC1D;QAED,IAAI,wBAAwB,CAAC;QAE7B,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,iBAAiB,KAAK,IAAI,EAAE;YAErE,wBAAwB,GAAG,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;SACnE;QAED,IAAI,wBAAwB,IAAI,aAAa,IAAI,WAAW,EAAE;YAC5D,MAAM,cAAc,GAAG,GAAG,CAAC;YAG3B,cAAc,CACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB;gBACE,KAAK;gBACL,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;gBACjC,YAAY,EAAE,GAAG;aAClB,CACF,CAAC;SACH;QAED,IACE,kBAAkB;YAClB,MAAM,CAAC,gBAAgB,GAAG,CAAC;YAC3B,IAAI,CAAC,QAAQ,EAAE,eAAe;YAC9B,CAAC,MAAM,CAAC,MAAM,EACd;YACA,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC1C,MAAM,qBAAqB,GAAG,MAAM,CAAC,wBAAwB,CAC3D,eAAe,EACf,6BAA6B,CAC9B,CAAC;YAEF,eAAe,CACb,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB;gBACE,KAAK,EAAE,SAAS;gBAChB,QAAQ;gBACR,SAAS,EAAE,CAAC;aACb,CACF,CAAC;SACH;QAED,IAAI,YAAY,CAAC,2BAA2B,EAAE;YAC5C,MAAM,uBAAuB,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAGvD,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;aACpD;YAED,eAAe,CACb,gBAAgB,EAChB,aAAa,EACb,yBAAyB,EACzB,uBAAuB,EACvB;gBACE,KAAK,EAAE,0BAA0B;gBACjC,SAAS,EAAE,CAAC;aACb,CACF,CAAC;SACH;QAED,IAAI,CAAC,YAAY,CACf,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,eAAe,CAAC,OAAO,CACxB,CAAC;QAEF,IAAI,IAAI,CAAC,kBAAkB,EAAE,aAAa,KAAK,aAAa,EAAE;YAC5D,IAAI,CAAC,kBAAkB,CACrB,UAAU,EACV,cAAc,EACd,IAAI,CAAC,kBAAkB,CAAC,UAAU,CACnC,CAAC;YACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;QAED,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAOS,+BAA+B,CAAC,UAAU;QAClD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE;YAE1C,OAAO;SACR;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACjC,OAAO;SACR;QACD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;QACpC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;QACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC,IAAI,SAAS,EAAE;YAC/D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1B;QACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAES,gBAAgB,CAAC,GAAoC;QAC7D,MAAM,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;QACrD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,YAAY,CAAC,UAAU;SACpC,CAAC,CAAC;QAIH,IAAI,qBAAqB,CAAC;QAC1B,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE;YAC7C,qBAAqB,GAAG,CAAC,UAAU,EAAE,EAAE;gBACrC,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC1C,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC;YACnD,CAAC,CAAC;SACH;QAED,OAA4B,SAAS,CAAC,SAAS,CAAC,iBAAiB,EAAE;YACjE,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,MAAM,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;iBACxB;gBACD,MAAM,EAAE,YAAY,EAAE;gBACtB,WAAW,EAAE,EAAE;aAChB;YACD,qBAAqB;SACtB,CAAC,CAAC;IACL,CAAC;IAoGO,0BAA0B,CAChC,OAAuB,EACvB,UAA+B,EAC/B,iBAAyB;QAEzB,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;QAG1D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAC5C;aAAM;YACL,aAAa,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;SAC5C;QAED,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;QAC3C,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;QAEF,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;QAE9B,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAC9E,CAAC;IAuCO,gBAAgB,CAAC,IAAY;QACnC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACvC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;QAElD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,qBAAqB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEO,qBAAqB,CAC3B,OAAuB,EACvB,UAA+B;QAE/B,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACpC,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;QACnC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;QAC5B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QACtE,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACxC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEpD,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAGtC,IAAI,MAAM,CAAC,UAAU,KAAK,YAAY,CAAC,UAAU,EAAE;YACjD,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACtD,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;SAC/B;QAGD,IACE,MAAM,YAAY,cAAc;YAChC,CAAC,MAAM,CAAC,UAAU;YAClB,YAAY,CAAC,KAAK,KAAK,SAAS;YAChC,MAAM,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,EACnC;YACA,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;YAClC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;SAC/B;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;AA0EH,SAAS,mBAAmB,CAAC,IAAI,EAAE,QAAQ;IACzC,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC;IAC1D,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,IAAI,EAAE;QACR,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,SAAS,WAAW,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;QAE7C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1B;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,aAAa,CAAC,QAAQ,GAAG,WAAW,CAAC;AACrC,eAAe,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"SplineROITool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/SplineROITool.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,10 @@ import { state } from '../../../store';
|
|
|
4
4
|
import { Events } from '../../../enums';
|
|
5
5
|
import { resetElementCursor, hideElementCursor, } from '../../../cursors/elementCursor';
|
|
6
6
|
import { polyline } from '../../../utilities/math';
|
|
7
|
+
import { ContourWindingDirection } from '../../../types/ContourAnnotation';
|
|
7
8
|
import { getInterpolatedPoints, shouldSmooth, } from '../../../utilities/planarFreehandROITool/smoothPoints';
|
|
8
9
|
import triggerAnnotationRenderForViewportIds from '../../../utilities/triggerAnnotationRenderForViewportIds';
|
|
10
|
+
import updateContourPolyline from '../../../utilities/contours/updateContourPolyline';
|
|
9
11
|
import { triggerAnnotationModified } from '../../../stateManagement/annotation/helpers/state';
|
|
10
12
|
const { getSubPixelSpacingAndXYDirections, addCanvasPointsToArray, getArea } = polyline;
|
|
11
13
|
function activateClosedContourEdit(evt, annotation, viewportIdsToRender) {
|
|
@@ -100,9 +102,11 @@ function finishEditAndStartNewEdit(evt) {
|
|
|
100
102
|
const { viewport, renderingEngine } = enabledElement;
|
|
101
103
|
const { annotation, viewportIdsToRender } = this.commonData;
|
|
102
104
|
const { fusedCanvasPoints, editCanvasPoints } = this.editData;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
105
|
+
updateContourPolyline(annotation, {
|
|
106
|
+
points: fusedCanvasPoints,
|
|
107
|
+
closed: true,
|
|
108
|
+
targetWindingDirection: ContourWindingDirection.Clockwise,
|
|
109
|
+
}, viewport);
|
|
106
110
|
if (annotation.autoGenerated) {
|
|
107
111
|
annotation.autoGenerated = false;
|
|
108
112
|
}
|
|
@@ -206,10 +210,11 @@ function completeClosedContourEdit(element) {
|
|
|
206
210
|
const updatedPoints = shouldSmooth(this.configuration, annotation)
|
|
207
211
|
? getInterpolatedPoints(this.configuration, fusedCanvasPoints, prevCanvasPoints)
|
|
208
212
|
: fusedCanvasPoints;
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
+
updateContourPolyline(annotation, {
|
|
214
|
+
points: updatedPoints,
|
|
215
|
+
closed: true,
|
|
216
|
+
targetWindingDirection: ContourWindingDirection.Clockwise,
|
|
217
|
+
}, viewport);
|
|
213
218
|
if (annotation.autoGenerated) {
|
|
214
219
|
annotation.autoGenerated = false;
|
|
215
220
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closedContourEditLoop.js","sourceRoot":"","sources":["../../../../../src/tools/annotation/planarFreehandROITool/closedContourEditLoop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"closedContourEditLoop.js","sourceRoot":"","sources":["../../../../../src/tools/annotation/planarFreehandROITool/closedContourEditLoop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EACL,qBAAqB,EACrB,YAAY,GACb,MAAM,uDAAuD,CAAC;AAC/D,OAAO,qCAAqC,MAAM,0DAA0D,CAAC;AAC7G,OAAO,qBAAqB,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AAE9F,MAAM,EAAE,iCAAiC,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAC1E,QAAQ,CAAC;AAKX,SAAS,yBAAyB,CAChC,GAAoC,EACpC,UAAuC,EACvC,mBAA6B;IAE7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAE5B,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAC/C,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;IACvC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,cAAc,EAAE;QAEnB,OAAO;KACR;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IAEpC,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAC3D,QAAQ,CAAC,aAAa,CACvB,CAAC;IAEF,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,iCAAiC,CAC/D,QAAQ,EACR,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACtC,CAAC;IAEF,IAAI,CAAC,QAAQ,GAAG;QACd,gBAAgB;QAChB,gBAAgB,EAAE,CAAC,SAAS,CAAC;QAC7B,kBAAkB,EAAE,SAAS;QAC7B,SAAS,EAAE,CAAC;KACb,CAAC;IAEF,IAAI,CAAC,UAAU,GAAG;QAChB,UAAU;QACV,mBAAmB;QACnB,OAAO;QACP,IAAI;QACJ,IAAI;QACJ,aAAa,EAAE,KAAK;KACrB,CAAC;IAEF,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAEnC,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,gCAAgC,CACtC,CAAC;IACF,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kCAAkC,CACxC,CAAC;IACF,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,WAAW,EAClB,IAAI,CAAC,gCAAgC,CACtC,CAAC;IAEF,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,SAAS,EAChB,IAAI,CAAC,gCAAgC,CACtC,CAAC;IACF,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kCAAkC,CACxC,CAAC;IACF,OAAO,CAAC,gBAAgB,CACtB,MAAM,CAAC,SAAS,EAChB,IAAI,CAAC,gCAAgC,CACtC,CAAC;IAEF,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAKD,SAAS,2BAA2B,CAAC,OAAuB;IAC1D,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC;IAEpC,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,gCAAgC,CACtC,CAAC;IACF,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kCAAkC,CACxC,CAAC;IACF,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,WAAW,EAClB,IAAI,CAAC,gCAAgC,CACtC,CAAC;IAEF,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,SAAS,EAChB,IAAI,CAAC,gCAAgC,CACtC,CAAC;IACF,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,kCAAkC,CACxC,CAAC;IACF,OAAO,CAAC,mBAAmB,CACzB,MAAM,CAAC,SAAS,EAChB,IAAI,CAAC,gCAAgC,CACtC,CAAC;IAEF,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAOD,SAAS,kCAAkC,CACzC,GAAoC;IAEpC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;IACrC,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;IACvC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IAErD,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;IACrE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE1E,MAAM,eAAe,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAE/D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAEnC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IAGrD,IAAI,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;QAE9C,OAAO;KACR;IAED,IAAI,kBAAkB,KAAK,SAAS,EAAE;QAGpC,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC;KAC3C;IAED,MAAM,cAAc,GAAG,sBAAsB,CAC3C,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,IAAI,CAAC,UAAU,CAChB,CAAC;IAEF,MAAM,gBAAgB,GAAG,SAAS,GAAG,cAAc,CAAC;IAEpD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,gBAAgB,CAAC;IAE3C,IAAI,kBAAkB,KAAK,SAAS,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QAGnE,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;KACvC;IAED,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAE/C,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE;QAGlC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO;KACR;IAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC;IAE5E,IACE,kBAAkB,KAAK,SAAS;QAChC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,EACtC;QAEA,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;KACrC;IAED,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAC9E,CAAC;AAKD,SAAS,yBAAyB,CAAC,GAAoC;IACrE,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAChC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;IAErD,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;IAC5D,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE9D,qBAAqB,CACnB,UAAU,EACV;QACE,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,IAAI;QACZ,sBAAsB,EAAE,uBAAuB,CAAC,SAAS;KAC1D,EACD,QAAQ,CACT,CAAC;IAGF,IAAI,UAAU,CAAC,aAAa,EAAE;QAC5B,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC;KAClC;IAED,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE/C,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC;IAEnD,IAAI,CAAC,QAAQ,GAAG;QACd,gBAAgB,EAAE,iBAAiB;QACnC,gBAAgB,EAAE,CAAC,mBAAmB,CAAC;QACvC,kBAAkB,EAAE,SAAS;QAC7B,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,SAAS;KACrB,CAAC;IAEF,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAC9E,CAAC;AAmBD,SAAS,+BAA+B,CACtC,GAAoC;IAEpC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,SAAS,EAAE,GACzE,IAAI,CAAC,QAAQ,CAAC;IAEhB,IAAI,kBAAkB,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE;QAC/D,OAAO;KACR;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAGhC,MAAM,yBAAyB,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAExD,sBAAsB,CACpB,OAAO,EACP,yBAAyB,EACzB,gBAAgB,CAAC,SAAS,CAAC,EAC3B,IAAI,CAAC,UAAU,CAChB,CAAC;IAEF,IAAI,yBAAyB,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE;QAE9D,yBAAyB,CAAC,GAAG,EAAE,CAAC;KACjC;IAKD,IAAI,QAAQ,CAAC;IACb,IAAI,SAAS,CAAC;IAEd,IAAI,kBAAkB,GAAG,SAAS,EAAE;QAClC,QAAQ,GAAG,SAAS,CAAC;QACrB,SAAS,GAAG,kBAAkB,CAAC;KAChC;SAAM;QACL,QAAQ,GAAG,kBAAkB,CAAC;QAC9B,SAAS,GAAG,SAAS,CAAC;KACvB;IAED,MAAM,+BAA+B,GAAG,IAAI,CAAC,QAAQ,CACnD,gBAAgB,CAAC,QAAQ,CAAC,EAC1B,yBAAyB,CAAC,CAAC,CAAC,CAC7B,CAAC;IAEF,MAAM,8BAA8B,GAAG,IAAI,CAAC,QAAQ,CAClD,gBAAgB,CAAC,QAAQ,CAAC,EAC1B,yBAAyB,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC,CAChE,CAAC;IAEF,MAAM,gCAAgC,GAAG,IAAI,CAAC,QAAQ,CACpD,gBAAgB,CAAC,SAAS,CAAC,EAC3B,yBAAyB,CAAC,CAAC,CAAC,CAC7B,CAAC;IAEF,MAAM,+BAA+B,GAAG,IAAI,CAAC,QAAQ,CACnD,gBAAgB,CAAC,SAAS,CAAC,EAC3B,yBAAyB,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC,CAChE,CAAC;IAYF,MAAM,SAAS,GAAG,EAAE,CAAC;IAGrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAExC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAClD;IAKD,IAAI,eAAe,GACjB,+BAA+B,GAAG,+BAA+B,CAAC;IAEpE,IAAI,eAAe,GACjB,8BAA8B,GAAG,gCAAgC,CAAC;IAEpE,IAAI,eAAe,GAAG,eAAe,EAAE;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,yBAAyB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzD,MAAM,WAAW,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAEjD,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;KACF;SAAM;QACL,KAAK,IAAI,CAAC,GAAG,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9D,MAAM,WAAW,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAEjD,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;KACF;IAGD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxD,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAExC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAClD;IAGD,MAAM,SAAS,GAAG,EAAE,CAAC;IAErB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAExC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAClD;IAED,eAAe;QACb,gCAAgC,GAAG,8BAA8B,CAAC;IAEpE,eAAe;QACb,+BAA+B,GAAG,+BAA+B,CAAC;IAEpE,IAAI,eAAe,GAAG,eAAe,EAAE;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,yBAAyB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzD,MAAM,WAAW,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAEjD,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;KACF;SAAM;QACL,KAAK,IAAI,CAAC,GAAG,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9D,MAAM,WAAW,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAEjD,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;KACF;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzC,MAAM,cAAc,GAClB,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAExD,OAAO,cAAc,CAAC;AACxB,CAAC;AAKD,SAAS,gCAAgC,CACvC,GAAoC;IAEpC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAEhC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAKD,SAAS,yBAAyB,CAAC,OAAuB;IACxD,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;IAErD,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;IAC5D,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE9D,IAAI,iBAAiB,EAAE;QACrB,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC;YAChE,CAAC,CAAC,qBAAqB,CACnB,IAAI,CAAC,aAAa,EAClB,iBAAiB,EACjB,gBAAgB,CACjB;YACH,CAAC,CAAC,iBAAiB,CAAC;QAEtB,qBAAqB,CACnB,UAAU,EACV;YACE,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,IAAI;YACZ,sBAAsB,EAAE,uBAAuB,CAAC,SAAS;SAC1D,EACD,QAAQ,CACT,CAAC;QAGF,IAAI,UAAU,CAAC,aAAa,EAAE;YAC5B,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC;SAClC;QAED,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KAChD;IAED,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC7B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAE5B,qCAAqC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAE5E,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAMD,SAAS,uBAAuB,CAAC,OAAuB;IACtD,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAKD,SAAS,6BAA6B,CAAC,YAAY;IACjD,YAAY,CAAC,yBAAyB;QACpC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,YAAY,CAAC,2BAA2B;QACtC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,YAAY,CAAC,kCAAkC;QAC7C,kCAAkC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxD,YAAY,CAAC,gCAAgC;QAC3C,gCAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtD,YAAY,CAAC,yBAAyB;QACpC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,YAAY,CAAC,+BAA+B;QAC1C,+BAA+B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,YAAY,CAAC,uBAAuB;QAClC,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,YAAY,CAAC,yBAAyB;QACpC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACjD,CAAC;AAED,eAAe,6BAA6B,CAAC"}
|
|
@@ -4,11 +4,13 @@ import { Events } from '../../../enums';
|
|
|
4
4
|
import { state } from '../../../store';
|
|
5
5
|
import { vec3 } from 'gl-matrix';
|
|
6
6
|
import { shouldSmooth, getInterpolatedPoints, } from '../../../utilities/planarFreehandROITool/smoothPoints';
|
|
7
|
+
import getMouseModifierKey from '../../../eventDispatchers/shared/getMouseModifier';
|
|
7
8
|
import triggerAnnotationRenderForViewportIds from '../../../utilities/triggerAnnotationRenderForViewportIds';
|
|
8
|
-
import {
|
|
9
|
+
import { triggerContourAnnotationCompleted } from '../../../stateManagement/annotation/helpers/state';
|
|
9
10
|
import findOpenUShapedContourVectorToPeak from './findOpenUShapedContourVectorToPeak';
|
|
10
11
|
import { polyline } from '../../../utilities/math';
|
|
11
12
|
import { removeAnnotation } from '../../../stateManagement/annotation/annotationState';
|
|
13
|
+
import { updateContourPolyline } from '../../../utilities/contours/';
|
|
12
14
|
import reverseIfAntiClockwise from '../../../utilities/contours/reverseIfAntiClockwise';
|
|
13
15
|
const { addCanvasPointsToArray, pointsAreWithinCloseContourProximity, getFirstLineSegmentIntersectionIndexes, getSubPixelSpacingAndXYDirections, } = polyline;
|
|
14
16
|
function activateDraw(evt, annotation, viewportIdsToRender) {
|
|
@@ -18,10 +20,13 @@ function activateDraw(evt, annotation, viewportIdsToRender) {
|
|
|
18
20
|
const canvasPos = currentPoints.canvas;
|
|
19
21
|
const enabledElement = getEnabledElement(element);
|
|
20
22
|
const { viewport } = enabledElement;
|
|
23
|
+
const contourHoleProcessingEnabled = getMouseModifierKey(evt.detail.event) ===
|
|
24
|
+
this.configuration.contourHoleAdditionModifierKey;
|
|
21
25
|
const { spacing, xDir, yDir } = getSubPixelSpacingAndXYDirections(viewport, this.configuration.subPixelResolution);
|
|
22
26
|
this.drawData = {
|
|
23
27
|
canvasPoints: [canvasPos],
|
|
24
28
|
polylineIndex: 0,
|
|
29
|
+
contourHoleProcessingEnabled,
|
|
25
30
|
};
|
|
26
31
|
this.commonData = {
|
|
27
32
|
annotation,
|
|
@@ -93,20 +98,20 @@ function mouseDragDrawCallback(evt) {
|
|
|
93
98
|
}
|
|
94
99
|
function mouseUpDrawCallback(evt) {
|
|
95
100
|
const { allowOpenContours } = this.configuration;
|
|
96
|
-
const { canvasPoints } = this.drawData;
|
|
101
|
+
const { canvasPoints, contourHoleProcessingEnabled } = this.drawData;
|
|
97
102
|
const firstPoint = canvasPoints[0];
|
|
98
103
|
const lastPoint = canvasPoints[canvasPoints.length - 1];
|
|
99
104
|
const eventDetail = evt.detail;
|
|
100
105
|
const { element } = eventDetail;
|
|
101
106
|
if (allowOpenContours &&
|
|
102
107
|
!pointsAreWithinCloseContourProximity(firstPoint, lastPoint, this.configuration.closeContourProximity)) {
|
|
103
|
-
this.completeDrawOpenContour(element);
|
|
108
|
+
this.completeDrawOpenContour(element, contourHoleProcessingEnabled);
|
|
104
109
|
}
|
|
105
110
|
else {
|
|
106
|
-
this.completeDrawClosedContour(element);
|
|
111
|
+
this.completeDrawClosedContour(element, contourHoleProcessingEnabled);
|
|
107
112
|
}
|
|
108
113
|
}
|
|
109
|
-
function completeDrawClosedContour(element) {
|
|
114
|
+
function completeDrawClosedContour(element, contourHoleProcessingEnabled) {
|
|
110
115
|
this.removeCrossedLinesOnCompleteDraw();
|
|
111
116
|
const { canvasPoints } = this.drawData;
|
|
112
117
|
if (this.haltDrawing(element, canvasPoints)) {
|
|
@@ -123,13 +128,13 @@ function completeDrawClosedContour(element) {
|
|
|
123
128
|
const updatedPoints = shouldSmooth(this.configuration, annotation)
|
|
124
129
|
? getInterpolatedPoints(this.configuration, clockwise)
|
|
125
130
|
: clockwise;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
131
|
+
updateContourPolyline(annotation, {
|
|
132
|
+
points: updatedPoints,
|
|
133
|
+
closed: true,
|
|
134
|
+
}, viewport);
|
|
130
135
|
const { textBox } = annotation.data.handles;
|
|
131
136
|
if (!textBox.hasMoved) {
|
|
132
|
-
|
|
137
|
+
triggerContourAnnotationCompleted(annotation, contourHoleProcessingEnabled);
|
|
133
138
|
}
|
|
134
139
|
this.isDrawing = false;
|
|
135
140
|
this.drawData = undefined;
|
|
@@ -149,7 +154,7 @@ function removeCrossedLinesOnCompleteDraw() {
|
|
|
149
154
|
this.drawData.canvasPoints = canvasPoints.splice(0, indexToRemoveUpTo);
|
|
150
155
|
}
|
|
151
156
|
}
|
|
152
|
-
function completeDrawOpenContour(element) {
|
|
157
|
+
function completeDrawOpenContour(element, contourHoleProcessingEnabled) {
|
|
153
158
|
const { canvasPoints } = this.drawData;
|
|
154
159
|
if (this.haltDrawing(element, canvasPoints)) {
|
|
155
160
|
return false;
|
|
@@ -160,11 +165,12 @@ function completeDrawOpenContour(element) {
|
|
|
160
165
|
const updatedPoints = shouldSmooth(this.configuration, annotation)
|
|
161
166
|
? getInterpolatedPoints(this.configuration, canvasPoints)
|
|
162
167
|
: canvasPoints;
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
168
|
+
updateContourPolyline(annotation, {
|
|
169
|
+
points: updatedPoints,
|
|
170
|
+
closed: false,
|
|
171
|
+
}, viewport);
|
|
167
172
|
const { textBox } = annotation.data.handles;
|
|
173
|
+
const worldPoints = annotation.data.contour.polyline;
|
|
168
174
|
annotation.data.handles.points = [
|
|
169
175
|
worldPoints[0],
|
|
170
176
|
worldPoints[worldPoints.length - 1],
|
|
@@ -174,7 +180,7 @@ function completeDrawOpenContour(element) {
|
|
|
174
180
|
findOpenUShapedContourVectorToPeak(canvasPoints, viewport);
|
|
175
181
|
}
|
|
176
182
|
if (!textBox.hasMoved) {
|
|
177
|
-
|
|
183
|
+
triggerContourAnnotationCompleted(annotation, contourHoleProcessingEnabled);
|
|
178
184
|
}
|
|
179
185
|
this.isDrawing = false;
|
|
180
186
|
this.drawData = undefined;
|
|
@@ -213,15 +219,15 @@ function applyCreateOnCross(evt, crossingIndex) {
|
|
|
213
219
|
}
|
|
214
220
|
function cancelDrawing(element) {
|
|
215
221
|
const { allowOpenContours } = this.configuration;
|
|
216
|
-
const { canvasPoints } = this.drawData;
|
|
222
|
+
const { canvasPoints, contourHoleProcessingEnabled } = this.drawData;
|
|
217
223
|
const firstPoint = canvasPoints[0];
|
|
218
224
|
const lastPoint = canvasPoints[canvasPoints.length - 1];
|
|
219
225
|
if (allowOpenContours &&
|
|
220
226
|
!pointsAreWithinCloseContourProximity(firstPoint, lastPoint, this.configuration.closeContourProximity)) {
|
|
221
|
-
this.completeDrawOpenContour(element);
|
|
227
|
+
this.completeDrawOpenContour(element, contourHoleProcessingEnabled);
|
|
222
228
|
}
|
|
223
229
|
else {
|
|
224
|
-
this.completeDrawClosedContour(element);
|
|
230
|
+
this.completeDrawClosedContour(element, contourHoleProcessingEnabled);
|
|
225
231
|
}
|
|
226
232
|
}
|
|
227
233
|
function shouldHaltDrawing(canvasPoints, subPixelResolution) {
|