@cornerstonejs/tools 1.32.3 → 1.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/dist/cjs/eventListeners/index.d.ts +2 -2
  2. package/dist/cjs/eventListeners/index.js +2 -1
  3. package/dist/cjs/eventListeners/index.js.map +1 -1
  4. package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.d.ts +5 -0
  5. package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.js +143 -0
  6. package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.js.map +1 -0
  7. package/dist/cjs/eventListeners/segmentation/index.d.ts +2 -1
  8. package/dist/cjs/eventListeners/segmentation/index.js +3 -1
  9. package/dist/cjs/eventListeners/segmentation/index.js.map +1 -1
  10. package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js +31 -5
  11. package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
  12. package/dist/cjs/store/addEnabledElement.js +1 -0
  13. package/dist/cjs/store/addEnabledElement.js.map +1 -1
  14. package/dist/cjs/store/removeEnabledElement.js +2 -0
  15. package/dist/cjs/store/removeEnabledElement.js.map +1 -1
  16. package/dist/cjs/tools/annotation/CircleROITool.js +3 -1
  17. package/dist/cjs/tools/annotation/CircleROITool.js.map +1 -1
  18. package/dist/cjs/tools/annotation/EllipticalROITool.js +1 -1
  19. package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
  20. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +2 -1
  21. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js +23 -10
  22. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
  23. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.d.ts +1 -1
  24. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +36 -22
  25. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  26. package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js +6 -5
  27. package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js.map +1 -1
  28. package/dist/cjs/tools/segmentation/BrushTool.js +40 -45
  29. package/dist/cjs/tools/segmentation/BrushTool.js.map +1 -1
  30. package/dist/cjs/tools/segmentation/CircleScissorsTool.d.ts +4 -2
  31. package/dist/cjs/tools/segmentation/CircleScissorsTool.js +18 -17
  32. package/dist/cjs/tools/segmentation/CircleScissorsTool.js.map +1 -1
  33. package/dist/cjs/tools/segmentation/PaintFillTool.js +28 -5
  34. package/dist/cjs/tools/segmentation/PaintFillTool.js.map +1 -1
  35. package/dist/cjs/tools/segmentation/RectangleScissorsTool.d.ts +3 -1
  36. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js +15 -16
  37. package/dist/cjs/tools/segmentation/RectangleScissorsTool.js.map +1 -1
  38. package/dist/cjs/tools/segmentation/SphereScissorsTool.d.ts +4 -2
  39. package/dist/cjs/tools/segmentation/SphereScissorsTool.js +20 -20
  40. package/dist/cjs/tools/segmentation/SphereScissorsTool.js.map +1 -1
  41. package/dist/cjs/tools/segmentation/strategies/eraseCircle.d.ts +2 -10
  42. package/dist/cjs/tools/segmentation/strategies/eraseCircle.js.map +1 -1
  43. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.d.ts +4 -8
  44. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js +4 -20
  45. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
  46. package/dist/cjs/tools/segmentation/strategies/eraseSphere.d.ts +2 -10
  47. package/dist/cjs/tools/segmentation/strategies/eraseSphere.js.map +1 -1
  48. package/dist/cjs/tools/segmentation/strategies/fillCircle.d.ts +3 -11
  49. package/dist/cjs/tools/segmentation/strategies/fillCircle.js +57 -32
  50. package/dist/cjs/tools/segmentation/strategies/fillCircle.js.map +1 -1
  51. package/dist/cjs/tools/segmentation/strategies/fillRectangle.d.ts +2 -7
  52. package/dist/cjs/tools/segmentation/strategies/fillRectangle.js +16 -8
  53. package/dist/cjs/tools/segmentation/strategies/fillRectangle.js.map +1 -1
  54. package/dist/cjs/tools/segmentation/strategies/fillSphere.d.ts +2 -10
  55. package/dist/cjs/tools/segmentation/strategies/fillSphere.js +31 -17
  56. package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -1
  57. package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.d.ts +9 -0
  58. package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.js +43 -0
  59. package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.js.map +1 -0
  60. package/dist/cjs/tools/segmentation/strategies/utils/isWithinThreshold.d.ts +2 -2
  61. package/dist/cjs/tools/segmentation/strategies/utils/isWithinThreshold.js +2 -2
  62. package/dist/cjs/tools/segmentation/strategies/utils/isWithinThreshold.js.map +1 -1
  63. package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +5 -0
  64. package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.js +13 -0
  65. package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.js.map +1 -0
  66. package/dist/cjs/types/LabelmapToolOperationData.d.ts +14 -0
  67. package/dist/cjs/types/LabelmapToolOperationData.js +3 -0
  68. package/dist/cjs/types/LabelmapToolOperationData.js.map +1 -0
  69. package/dist/cjs/types/LabelmapTypes.d.ts +5 -1
  70. package/dist/cjs/types/index.d.ts +2 -1
  71. package/dist/cjs/utilities/math/ellipse/pointInEllipse.d.ts +7 -9
  72. package/dist/cjs/utilities/math/ellipse/pointInEllipse.js +19 -11
  73. package/dist/cjs/utilities/math/ellipse/pointInEllipse.js.map +1 -1
  74. package/dist/esm/eventListeners/index.js +2 -2
  75. package/dist/esm/eventListeners/index.js.map +1 -1
  76. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +115 -0
  77. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js.map +1 -0
  78. package/dist/esm/eventListeners/segmentation/index.js +2 -1
  79. package/dist/esm/eventListeners/segmentation/index.js.map +1 -1
  80. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +32 -6
  81. package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
  82. package/dist/esm/store/addEnabledElement.js +2 -1
  83. package/dist/esm/store/addEnabledElement.js.map +1 -1
  84. package/dist/esm/store/removeEnabledElement.js +2 -0
  85. package/dist/esm/store/removeEnabledElement.js.map +1 -1
  86. package/dist/esm/tools/annotation/CircleROITool.js +4 -2
  87. package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
  88. package/dist/esm/tools/annotation/EllipticalROITool.js +1 -1
  89. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  90. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +24 -11
  91. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
  92. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +36 -22
  93. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  94. package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js +6 -5
  95. package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js.map +1 -1
  96. package/dist/esm/tools/segmentation/BrushTool.js +38 -29
  97. package/dist/esm/tools/segmentation/BrushTool.js.map +1 -1
  98. package/dist/esm/tools/segmentation/CircleScissorsTool.js +27 -15
  99. package/dist/esm/tools/segmentation/CircleScissorsTool.js.map +1 -1
  100. package/dist/esm/tools/segmentation/PaintFillTool.js +28 -5
  101. package/dist/esm/tools/segmentation/PaintFillTool.js.map +1 -1
  102. package/dist/esm/tools/segmentation/RectangleScissorsTool.js +26 -17
  103. package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -1
  104. package/dist/esm/tools/segmentation/SphereScissorsTool.js +28 -17
  105. package/dist/esm/tools/segmentation/SphereScissorsTool.js.map +1 -1
  106. package/dist/esm/tools/segmentation/strategies/eraseCircle.js.map +1 -1
  107. package/dist/esm/tools/segmentation/strategies/eraseRectangle.js +4 -20
  108. package/dist/esm/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
  109. package/dist/esm/tools/segmentation/strategies/eraseSphere.js.map +1 -1
  110. package/dist/esm/tools/segmentation/strategies/fillCircle.js +56 -31
  111. package/dist/esm/tools/segmentation/strategies/fillCircle.js.map +1 -1
  112. package/dist/esm/tools/segmentation/strategies/fillRectangle.js +16 -8
  113. package/dist/esm/tools/segmentation/strategies/fillRectangle.js.map +1 -1
  114. package/dist/esm/tools/segmentation/strategies/fillSphere.js +32 -18
  115. package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -1
  116. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +40 -0
  117. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js.map +1 -0
  118. package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.js +2 -2
  119. package/dist/esm/tools/segmentation/strategies/utils/isWithinThreshold.js.map +1 -1
  120. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js +9 -0
  121. package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js.map +1 -0
  122. package/dist/esm/types/LabelmapToolOperationData.js +2 -0
  123. package/dist/esm/types/LabelmapToolOperationData.js.map +1 -0
  124. package/dist/esm/utilities/math/ellipse/pointInEllipse.js +19 -11
  125. package/dist/esm/utilities/math/ellipse/pointInEllipse.js.map +1 -1
  126. package/dist/types/eventListeners/index.d.ts +2 -2
  127. package/dist/types/eventListeners/index.d.ts.map +1 -1
  128. package/dist/types/eventListeners/segmentation/imageChangeEventListener.d.ts +6 -0
  129. package/dist/types/eventListeners/segmentation/imageChangeEventListener.d.ts.map +1 -0
  130. package/dist/types/eventListeners/segmentation/index.d.ts +2 -1
  131. package/dist/types/eventListeners/segmentation/index.d.ts.map +1 -1
  132. package/dist/types/eventListeners/segmentation/segmentationDataModifiedEventListener.d.ts.map +1 -1
  133. package/dist/types/store/addEnabledElement.d.ts.map +1 -1
  134. package/dist/types/store/removeEnabledElement.d.ts.map +1 -1
  135. package/dist/types/tools/annotation/CircleROITool.d.ts.map +1 -1
  136. package/dist/types/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +2 -1
  137. package/dist/types/tools/displayTools/Labelmap/addLabelmapToElement.d.ts.map +1 -1
  138. package/dist/types/tools/displayTools/Labelmap/labelmapDisplay.d.ts +1 -1
  139. package/dist/types/tools/displayTools/Labelmap/labelmapDisplay.d.ts.map +1 -1
  140. package/dist/types/tools/displayTools/Labelmap/validateRepresentationData.d.ts.map +1 -1
  141. package/dist/types/tools/segmentation/BrushTool.d.ts.map +1 -1
  142. package/dist/types/tools/segmentation/CircleScissorsTool.d.ts +4 -2
  143. package/dist/types/tools/segmentation/CircleScissorsTool.d.ts.map +1 -1
  144. package/dist/types/tools/segmentation/PaintFillTool.d.ts.map +1 -1
  145. package/dist/types/tools/segmentation/RectangleScissorsTool.d.ts +3 -1
  146. package/dist/types/tools/segmentation/RectangleScissorsTool.d.ts.map +1 -1
  147. package/dist/types/tools/segmentation/SphereScissorsTool.d.ts +4 -2
  148. package/dist/types/tools/segmentation/SphereScissorsTool.d.ts.map +1 -1
  149. package/dist/types/tools/segmentation/strategies/eraseCircle.d.ts +2 -10
  150. package/dist/types/tools/segmentation/strategies/eraseCircle.d.ts.map +1 -1
  151. package/dist/types/tools/segmentation/strategies/eraseRectangle.d.ts +4 -8
  152. package/dist/types/tools/segmentation/strategies/eraseRectangle.d.ts.map +1 -1
  153. package/dist/types/tools/segmentation/strategies/eraseSphere.d.ts +2 -10
  154. package/dist/types/tools/segmentation/strategies/eraseSphere.d.ts.map +1 -1
  155. package/dist/types/tools/segmentation/strategies/fillCircle.d.ts +3 -11
  156. package/dist/types/tools/segmentation/strategies/fillCircle.d.ts.map +1 -1
  157. package/dist/types/tools/segmentation/strategies/fillRectangle.d.ts +2 -7
  158. package/dist/types/tools/segmentation/strategies/fillRectangle.d.ts.map +1 -1
  159. package/dist/types/tools/segmentation/strategies/fillSphere.d.ts +2 -10
  160. package/dist/types/tools/segmentation/strategies/fillSphere.d.ts.map +1 -1
  161. package/dist/types/tools/segmentation/strategies/utils/getStrategyData.d.ts +10 -0
  162. package/dist/types/tools/segmentation/strategies/utils/getStrategyData.d.ts.map +1 -0
  163. package/dist/types/tools/segmentation/strategies/utils/isWithinThreshold.d.ts +2 -2
  164. package/dist/types/tools/segmentation/strategies/utils/isWithinThreshold.d.ts.map +1 -1
  165. package/dist/types/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +6 -0
  166. package/dist/types/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts.map +1 -0
  167. package/dist/types/types/LabelmapToolOperationData.d.ts +15 -0
  168. package/dist/types/types/LabelmapToolOperationData.d.ts.map +1 -0
  169. package/dist/types/types/LabelmapTypes.d.ts +5 -1
  170. package/dist/types/types/LabelmapTypes.d.ts.map +1 -1
  171. package/dist/types/types/index.d.ts +2 -1
  172. package/dist/types/types/index.d.ts.map +1 -1
  173. package/dist/types/utilities/math/ellipse/pointInEllipse.d.ts +7 -9
  174. package/dist/types/utilities/math/ellipse/pointInEllipse.d.ts.map +1 -1
  175. package/dist/umd/index.js +1 -1
  176. package/dist/umd/index.js.map +1 -1
  177. package/package.json +3 -3
  178. package/src/eventListeners/index.ts +2 -0
  179. package/src/eventListeners/segmentation/imageChangeEventListener.ts +215 -0
  180. package/src/eventListeners/segmentation/index.ts +2 -0
  181. package/src/eventListeners/segmentation/segmentationDataModifiedEventListener.ts +70 -9
  182. package/src/store/addEnabledElement.ts +2 -0
  183. package/src/store/removeEnabledElement.ts +3 -0
  184. package/src/tools/annotation/CircleROITool.ts +5 -5
  185. package/src/tools/annotation/EllipticalROITool.ts +1 -1
  186. package/src/tools/displayTools/Labelmap/addLabelmapToElement.ts +51 -22
  187. package/src/tools/displayTools/Labelmap/labelmapDisplay.ts +65 -35
  188. package/src/tools/displayTools/Labelmap/validateRepresentationData.ts +17 -11
  189. package/src/tools/segmentation/BrushTool.ts +78 -39
  190. package/src/tools/segmentation/CircleScissorsTool.ts +46 -29
  191. package/src/tools/segmentation/PaintFillTool.ts +45 -8
  192. package/src/tools/segmentation/RectangleScissorsTool.ts +41 -31
  193. package/src/tools/segmentation/SphereScissorsTool.ts +46 -28
  194. package/src/tools/segmentation/strategies/eraseCircle.ts +3 -11
  195. package/src/tools/segmentation/strategies/eraseRectangle.ts +13 -42
  196. package/src/tools/segmentation/strategies/eraseSphere.ts +2 -10
  197. package/src/tools/segmentation/strategies/fillCircle.ts +93 -61
  198. package/src/tools/segmentation/strategies/fillRectangle.ts +31 -22
  199. package/src/tools/segmentation/strategies/fillSphere.ts +51 -41
  200. package/src/tools/segmentation/strategies/utils/getStrategyData.ts +58 -0
  201. package/src/tools/segmentation/strategies/utils/isWithinThreshold.ts +3 -2
  202. package/src/tools/segmentation/strategies/utils/stackVolumeCheck.ts +33 -0
  203. package/src/types/LabelmapToolOperationData.ts +27 -0
  204. package/src/types/LabelmapTypes.ts +16 -1
  205. package/src/types/index.ts +8 -0
  206. package/src/utilities/math/ellipse/pointInEllipse.ts +43 -22
@@ -1 +1 @@
1
- {"version":3,"file":"EllipticalROITool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/EllipticalROITool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EllipticalROITool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/EllipticalROITool.ts"],"names":[],"mappings":";;;;;AAAA,kCAAyC;AAEzC,8CAM6B;AAG7B,2EAG4C;AAC5C,8EAAsD;AACtD,wEAAgD;AAChD,sFAI0D;AAC1D,0FAAwF;AACxF,gGAA4F;AAC5F,iDAK0B;AAC1B,uCAAoC;AACpC,uCAAqC;AACrC,qEAAiF;AACjF,qDAAiE;AACjE,qIAA6G;AAC7G,0DAGsC;AACtC,+DAGqC;AAerC,kIAA0G;AAC1G,gDAAwD;AAExD,qEAGyC;AACzC,sFAAmF;AACnF,sDAAkE;AAElE,MAAM,EAAE,qBAAqB,EAAE,GAAG,gBAAO,CAAC;AAiD1C,MAAM,iBAAkB,SAAQ,qBAAc;IAqB5C,YACE,YAA6B,EAAE,EAC/B,mBAA8B;QAC5B,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,aAAa,EAAE;YACb,MAAM,EAAE,IAAI;YACZ,yBAAyB,EAAE,KAAK;YAGhC,iBAAiB,EAAE,CAAC;YACpB,YAAY,EAAE,mBAAmB;YACjC,eAAe,EAAE,4BAAoB;SACtC;KACF;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAjBrC,yBAAoB,GAAG,KAAK,CAAC;QAkC7B,qBAAgB,GAAG,CACjB,GAAoC,EACX,EAAE;YAC3B,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;YACrC,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;YAEvC,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAErD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YAE3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CACjD,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,MAAM,CACP,CAAC;YAEF,MAAM,mBAAmB,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;YAE9D,MAAM,UAAU,GAAG;gBACjB,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE;oBACR,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC5B,eAAe,EAAgB,CAAC,GAAG,eAAe,CAAC;oBACnD,MAAM,EAAgB,CAAC,GAAG,MAAM,CAAC;oBACjC,mBAAmB;oBACnB,iBAAiB;iBAClB;gBACD,IAAI,EAAE;oBACJ,KAAK,EAAE,EAAE;oBACT,OAAO,EAAE;wBACP,OAAO,EAAE;4BACP,QAAQ,EAAE,KAAK;4BACf,aAAa,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACtC,gBAAgB,EAAE;gCAChB,OAAO,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gCAChC,QAAQ,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gCACjC,UAAU,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gCACnC,WAAW,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;6BACrC;yBACF;wBACD,MAAM,EAAE;4BACN,CAAC,GAAG,QAAQ,CAAC;4BACb,CAAC,GAAG,QAAQ,CAAC;4BACb,CAAC,GAAG,QAAQ,CAAC;4BACb,CAAC,GAAG,QAAQ,CAAC;yBAC8C;wBAC7D,iBAAiB,EAAE,IAAI;qBACxB;oBACD,WAAW,EAAE,EAAE;oBACf,eAAe,EAAE,QAAQ,CAAC,WAAW,EAAE;iBACxC;aACF,CAAC;YAEF,IAAA,+BAAa,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEnC,MAAM,mBAAmB,GAAG,IAAA,gDAA8B,EACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG;gBACd,UAAU;gBACV,mBAAmB;gBACnB,WAAW,EAAE,QAAQ;gBACrB,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,KAAK;aAChB,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5B,IAAA,iCAAiB,EAAC,OAAO,CAAC,CAAC;YAE3B,GAAG,CAAC,cAAc,EAAE,CAAC;YAErB,IAAA,+CAAqC,EAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAE5E,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;QAaF,oBAAe,GAAG,CAChB,OAAuB,EACvB,UAAmC,EACnC,YAA0B,EAC1B,SAAiB,EACR,EAAE;YACX,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;YAEpC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAIhC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAKpE,CAAC;YACF,MAAM,aAAa,GAAG,IAAA,iCAAuB,EAAC,iBAAiB,CAAC,CAAC;YAEjE,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,aAAa,CAAC;YAEnD,MAAM,YAAY,GAAG;gBACnB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;gBAChE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;gBAC/D,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;gBAC9D,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;aAChE,CAAC;YAEF,MAAM,YAAY,GAAG;gBACnB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;gBAChE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;gBAC/D,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;gBAC9D,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;aAChE,CAAC;YAEF,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CACpD,YAAY,EACZ,YAAY,CACb,CAAC;YACF,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CACpD,YAAY,EACZ,YAAY,CACb,CAAC;YAEF,IAAI,mBAAmB,IAAI,CAAC,mBAAmB,EAAE;gBAC/C,OAAO,IAAI,CAAC;aACb;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,yBAAoB,GAAG,CACrB,GAAoC,EACpC,UAAmC,EAC7B,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,IAAA,gDAA8B,EACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG;gBACd,UAAU;gBACV,mBAAmB;gBACnB,aAAa,EAAE,KAAK;aACrB,CAAC;YAEF,IAAA,iCAAiB,EAAC,OAAO,CAAC,CAAC;YAE3B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE9B,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAE3C,IAAA,+CAAqC,EAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAE5E,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC,CAAC;QAEF,2BAAsB,GAAG,CACvB,GAAoC,EACpC,UAAmC,EACnC,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,IAAI,YAAY,CAAC;YACjB,IAAI,WAAW,CAAC;YAChB,IAAI,WAAW,CAAC;YAChB,IAAI,YAAY,CAAC;YACjB,IAAI,oBAAoB,CAAC;YAEzB,IAAK,MAAwB,CAAC,aAAa,EAAE;gBAC3C,aAAa,GAAG,IAAI,CAAC;aACtB;iBAAM;gBACL,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;gBAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;gBAChD,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;gBAElD,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;gBAEpD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAE/C,oBAAoB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;gBAEjD,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEjE,YAAY,GAAG;oBACb,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC7C,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;iBAC9C,CAAC;gBAEF,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;aAC3C;YAGD,MAAM,mBAAmB,GAAG,IAAA,gDAA8B,EACxD,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG;gBACd,UAAU;gBACV,mBAAmB;gBACnB,WAAW;gBACX,WAAW;gBACX,YAAY;gBACZ,WAAW;gBACX,oBAAoB;gBACpB,aAAa;aACd,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE9B,IAAA,iCAAiB,EAAC,OAAO,CAAC,CAAC;YAE3B,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAE3C,IAAA,+CAAqC,EAAC,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,QAAQ,EAAE,GAChE,IAAI,CAAC,QAAQ,CAAC;YAChB,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAE5B,IAAI,aAAa,IAAI,CAAC,QAAQ,EAAE;gBAC9B,OAAO;aACR;YAMD,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAEtC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE9B,IAAA,kCAAkB,EAAC,OAAO,CAAC,CAAC;YAE5B,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAE3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAEvB,IACE,IAAI,CAAC,oBAAoB;gBACzB,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAC5C;gBACA,IAAA,kCAAgB,EAAC,UAAU,CAAC,aAAa,CAAC,CAAC;aAC5C;YAED,IAAA,+CAAqC,EAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAE5E,IAAI,aAAa,EAAE;gBACjB,MAAM,SAAS,GAAG,cAAM,CAAC,oBAAoB,CAAC;gBAE9C,MAAM,WAAW,GAAmC;oBAClD,UAAU;iBACX,CAAC;gBAEF,IAAA,mBAAY,EAAC,kBAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;aACnD;QACH,CAAC,CAAC;QAEF,sBAAiB,GAAG,CAAC,GAAoC,EAAQ,EAAE;YACjE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,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,mBAAmB,GAAG,aAAa,CAAC,MAAM,CAAC;YACjD,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;YACrD,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;YAGnC,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACvE,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,WAA2B,CAAC,CAAC;YACzE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAE5B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAG9D,MAAM,YAAY,GAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3E,MAAM,SAAS,GAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACxE,MAAM,UAAU,GAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,WAAW,GAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1E,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG;gBACpB,aAAa,CAAC,YAAY,CAAC;gBAC3B,aAAa,CAAC,SAAS,CAAC;gBACxB,aAAa,CAAC,UAAU,CAAC;gBACzB,aAAa,CAAC,WAAW,CAAC;aAC3B,CAAC;YAEF,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;YAE9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;YAE9B,IAAA,+CAAqC,EAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAC9E,CAAC,CAAC;QAEF,wBAAmB,GAAG,CAAC,GAAoC,EAAQ,EAAE;YACnE,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;gBACjB,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;gBACpC,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,WAAW,CAAC;gBACpC,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;gBACL,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACtB,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;aAC/B;YAED,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAE3C,IAAA,+CAAqC,EAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAC9E,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,GAAoC,EAAQ,EAAE;YAC3D,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;YAChD,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;YAElD,MAAM,EACJ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,oBAAoB,GACrB,GAAG,IAAI,CAAC,QAAQ,CAAC;YAClB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,WAA2B,CAAC,CAAC;YACzE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAKhC,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;YACtC,MAAM,mBAAmB,GAAG,aAAa,CAAC,MAAM,CAAC;YAEjD,IAAI,WAAW,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,EAAE;gBAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM,YAAY,GAAiB;oBACjC,YAAY,CAAC,CAAC,CAAC;oBACf,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ;iBAC3B,CAAC;gBACF,MAAM,SAAS,GAAiB;oBAC9B,YAAY,CAAC,CAAC,CAAC;oBACf,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ;iBAC3B,CAAC;gBAEF,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;gBACxC,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;gBAErC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAClE,MAAM,kBAAkB,GAAG,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC;gBACtD,MAAM,UAAU,GAAiB;oBAC/B,YAAY,CAAC,CAAC,CAAC,GAAG,kBAAkB;oBACpC,YAAY,CAAC,CAAC,CAAC;iBAChB,CAAC;gBACF,MAAM,WAAW,GAAiB;oBAChC,YAAY,CAAC,CAAC,CAAC,GAAG,kBAAkB;oBACpC,YAAY,CAAC,CAAC,CAAC;iBAChB,CAAC;gBAEF,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBACtC,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;aACxC;iBAAM;gBAEL,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM,UAAU,GAAiB;oBAC/B,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ;oBAC1B,YAAY,CAAC,CAAC,CAAC;iBAChB,CAAC;gBACF,MAAM,WAAW,GAAiB;oBAChC,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ;oBAC1B,YAAY,CAAC,CAAC,CAAC;iBAChB,CAAC;gBAEF,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBACtC,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;gBAEvC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAClE,MAAM,mBAAmB,GAAG,YAAY,GAAG,CAAC,GAAG,QAAQ,CAAC;gBACxD,MAAM,YAAY,GAAiB;oBACjC,YAAY,CAAC,CAAC,CAAC;oBACf,YAAY,CAAC,CAAC,CAAC,GAAG,mBAAmB;iBACtC,CAAC;gBACF,MAAM,SAAS,GAAiB;oBAC9B,YAAY,CAAC,CAAC,CAAC;oBACf,YAAY,CAAC,CAAC,CAAC,GAAG,mBAAmB;iBACtC,CAAC;gBAEF,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;gBACxC,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;aACtC;QACH,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,OAAuB,EAAE,EAAE;YAEnC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAChC,IAAA,kCAAkB,EAAC,OAAO,CAAC,CAAC;gBAE5B,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACzE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;gBAE5B,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAEtC,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;gBAE3C,IAAA,+CAAqC,EACnC,eAAe,EACf,mBAAmB,CACpB,CAAC;gBAEF,IAAI,aAAa,EAAE;oBACjB,MAAM,SAAS,GAAG,cAAM,CAAC,oBAAoB,CAAC;oBAE9C,MAAM,WAAW,GAAmC;wBAClD,UAAU;qBACX,CAAC;oBAEF,IAAA,mBAAY,EAAC,kBAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;iBACnD;gBAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,OAAO,UAAU,CAAC,aAAa,CAAC;aACjC;QACH,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,OAAO,EAAE,EAAE;YAC5B,aAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAEnC,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACtE,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEhE,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9D,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACtE,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC,CAAC;QAEF,sBAAiB,GAAG,CAAC,OAAO,EAAE,EAAE;YAC9B,aAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAEpC,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAChE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACzE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEnE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACjE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACzE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,CAAC,CAAC;QAEF,kBAAa,GAAG,CAAC,OAAO,EAAE,EAAE;YAC1B,aAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAEnC,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACpE,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACpE,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEhE,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9D,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACpE,OAAO,CAAC,gBAAgB,CAAC,cAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,OAAO,EAAE,EAAE;YAC5B,aAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAEpC,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAChE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACvE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACvE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEnE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACjE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACvE,OAAO,CAAC,mBAAmB,CAAC,cAAM,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,CAAC,CAAC;QAUF,qBAAgB,GAAG,CACjB,cAAqC,EACrC,gBAAkC,EACzB,EAAE;YACX,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;YACpC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;YAE7B,IAAI,WAAW,GAAG,IAAA,gCAAc,EAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;YAE9D,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE;gBACxB,OAAO,YAAY,CAAC;aACrB;YAED,WAAW,GAAG,IAAI,CAAC,uCAAuC,CACxD,OAAO,EACP,WAAW,CACZ,CAAC;YAEF,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE;gBACxB,OAAO,YAAY,CAAC;aACrB;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE5C,MAAM,eAAe,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAEtD,MAAM,cAAc,GAAmB;gBACrC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;gBAC5B,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;aACvC,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAA4B,CAAC;gBAC7D,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;gBAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;gBACzB,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;gBAE9C,cAAc,CAAC,aAAa,GAAG,aAAa,CAAC;gBAE7C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;gBACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;gBACvE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;gBAEjE,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACzC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CACkC,CAAC;gBAE9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,CACrD,CAAC;gBACF,IAAI,aAAa,CAAC;gBAElB,IAAI,QAAQ,IAAI,EAAE,IAAI,QAAQ,IAAI,GAAG,EAAE;oBACrC,aAAa,GAAwB,IAAA,iCAAuB,EAAC;wBAC3D,iBAAiB,CAAC,CAAC,CAAC;wBACpB,iBAAiB,CAAC,CAAC,CAAC;wBACpB,iBAAiB,CAAC,CAAC,CAAC;wBACpB,iBAAiB,CAAC,CAAC,CAAC;qBACrB,CAAC,CAAC;iBACJ;qBAAM;oBACL,aAAa,GAAwB,CACnC,IAAA,iCAAuB,EAAC,iBAAiB,CAAC,CAC3C,CAAC;iBACH;gBAED,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;gBAIjD,IACE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAC3B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI,IAAI,EAC3C;oBACA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG;wBAC3B,QAAQ,EAAE,IAAI;wBACd,IAAI,EAAE,IAAI;wBACV,GAAG,EAAE,IAAI;wBACT,IAAI,EAAE,IAAI;wBACV,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,IAAI;qBACf,CAAC;oBAEF,IAAI,CAAC,qBAAqB,CACxB,UAAU,EACV,QAAQ,EACR,eAAe,EACf,cAAc,CACf,CAAC;iBACH;qBAAM,IAAI,UAAU,CAAC,WAAW,EAAE;oBACjC,IAAI,CAAC,8BAA8B,CACjC,UAAU,EACV,QAAQ,EACR,eAAe,EACf,cAAc,CACf,CAAC;oBAOF,IAAI,QAAQ,YAAY,qBAAc,EAAE;wBACtC,MAAM,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;wBAIlD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;4BACvC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;gCAClC,MAAM,SAAS,GAAG,eAAe,CAAC,iBAAiB,EAAE,CAAC;gCAEtD,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;oCAG7C,MAAM,kBAAkB,GACtB,gBAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;oCAC1C,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;oCACvD,MAAM,eAAe,GAAG,gBAAO,CAAC,YAAY,CAC1C,EAAE,CAAC,iBAAiB,EAAE,CACvB,CAAC;oCACF,OAAO,WAAW,IAAI,eAAe,KAAK,kBAAkB,CAAC;gCAC/D,CAAC,CAAC,CAAC;gCAEH,IAAI,gBAAgB,EAAE;oCACpB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;iCACnC;6BACF;yBACF;qBACF;iBACF;gBAGD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE;oBAClC,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;oBACpD,OAAO,YAAY,CAAC;iBACrB;gBAED,IAAI,wBAAwB,CAAC;gBAE7B,IAAI,CAAC,IAAA,0CAAmB,EAAC,aAAa,CAAC,EAAE;oBACvC,SAAS;iBACV;gBAED,IACE,CAAC,IAAA,sCAAkB,EAAC,UAAU,CAAC;oBAC/B,CAAC,IAAI,CAAC,QAAQ;oBACd,iBAAiB,KAAK,IAAI,EAC1B;oBAEA,wBAAwB,GAAG,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;iBACnE;gBAED,IAAI,wBAAwB,EAAE;oBAC5B,MAAM,cAAc,GAAG,GAAG,CAAC;oBAC3B,IAAA,wBAAc,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB;wBACE,KAAK;qBACN,CACF,CAAC;iBACH;gBAED,MAAM,MAAM,GAAG,GAAG,aAAa,UAAU,CAAC;gBAC1C,MAAM,UAAU,GAAG,GAAG,CAAC;gBACvB,IAAA,wBAAc,EACZ,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,aAAa,CAAC,CAAC,CAAC,EAChB,aAAa,CAAC,CAAC,CAAC,EAChB;oBACE,KAAK;oBACL,QAAQ;oBACR,SAAS;iBACV,EACD,MAAM,CACP,CAAC;gBAGF,IAAI,iBAAiB,GAAG,CAAC,EAAE;oBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EACvD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CACxD,CAAC;oBACF,IAAI,SAAS,GAAG,CAAC,GAAG,iBAAiB,EAAE;wBACrC,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;wBACpE,IAAA,uBAAa,EACX,gBAAgB,EAChB,aAAa,EACb,GAAG,UAAU,SAAS,EACtB,WAAW,EACX,iBAAiB,EACjB;4BACE,KAAK;4BACL,QAAQ;4BACR,SAAS;yBACV,CACF,CAAC;qBACH;iBACF;gBAED,YAAY,GAAG,IAAI,CAAC;gBAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gBACvE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG;wBACrB,QAAQ,EAAE,KAAK;wBACf,aAAa,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACtC,gBAAgB,EAAE;4BAChB,OAAO,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BAChC,QAAQ,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACjC,UAAU,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACnC,WAAW,EAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;yBACrC;qBACF,CAAC;oBACF,SAAS;iBACV;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAClE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxC,SAAS;iBACV;gBAGD,IAAI,mBAAmB,CAAC;gBAExB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAClC,mBAAmB,GAAG,IAAA,gCAAsB,EAAC,aAAa,CAAC,CAAC;oBAE5D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa;wBAChC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;iBAC/C;gBAED,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAC5C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CACnC,CAAC;gBAEF,MAAM,UAAU,GAAG,GAAG,CAAC;gBACvB,MAAM,WAAW,GAAG,IAAA,8BAAoB,EACtC,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,EAAE,EACF,OAAO,CACR,CAAC;gBAEF,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;gBAEvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,GAAG;oBACtC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBAC5C,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;oBACrD,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;oBACxD,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;iBAClE,CAAC;aACH;YAED,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;QAEF,0BAAqB,GAAG,CACtB,UAAU,EACV,QAAQ,EACR,eAAe,EACf,cAAc,EACd,EAAE;;YACF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YAC7B,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,cAAc,CAAC;YAEzD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAEhC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YAEzD,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC,GAAwB,CAC9D,IAAA,iCAAuB,EAAC,iBAAiB,CAAC,CAC3C,CAAC;YAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC3D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;YACnE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;YAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,YAAY,CAAC;YAC/B,MAAM,SAAS,GAAG,gBAAgB,CAAC;YAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAK/D,IAAI,CAAC,KAAK,EAAE;oBACV,SAAS;iBACV;gBAED,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;gBAEnE,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAEnE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAElD,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAEnE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAKlD,IAAI,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE;oBACpE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE5D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE5D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE5D,MAAM,SAAS,GAAG;wBAChB,CAAC,IAAI,EAAE,IAAI,CAAC;wBACZ,CAAC,IAAI,EAAE,IAAI,CAAC;wBACZ,CAAC,IAAI,EAAE,IAAI,CAAC;qBACiC,CAAC;oBAEhD,MAAM,MAAM,GAAG;wBACb,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;wBAC3C,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;wBAC3C,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;qBAC5B,CAAC;oBAElB,MAAM,UAAU,GAAG;wBACjB,MAAM;wBACN,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;wBAC5D,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;wBAC5D,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;qBAC7D,CAAC;oBAEF,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAA,6CAAmC,EACrE,eAAe,EACf,MAAM,EACN,SAAS,EACT,SAAS,CACV,CAAC;oBACF,MAAM,WAAW,GAAG,UAAU,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,CAAC;oBAC1D,MAAM,KAAK,GAAG,IAAA,uCAAkB,EAAC,KAAK,CAAC,CAAC;oBACxC,MAAM,IAAI,GACR,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;wBACxD,KAAK;wBACL,KAAK,CAAC;oBAER,MAAM,mBAAmB,GAAG;wBAC1B,WAAW,EAAE,IAAA,yCAAmB,EAAC,QAAQ,EAAE,QAAQ,CAAC;wBAEpD,WAAW,EAAE,IAAI,CAAC,WAAW,CAC3B,QAAQ,EACR,QAAQ,EACR,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CACtC;qBACF,CAAC;oBAEF,MAAM,YAAY,GAAG,IAAA,iCAAe,EAClC,QAAQ,CAAC,QAAQ,EACjB,UAAU,CAAC,QAAQ,CAAC,iBAAiB,EACrC,mBAAmB,CACpB,CAAC;oBAEF,MAAM,aAAa,GAAG,IAAA,gCAAoB,EACxC,SAAS,EACT,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAA,wBAAc,EAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAClE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,aAAa,EAChD,SAAS,CACV,CAAC;oBAEF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;oBAEjE,WAAW,CAAC,QAAQ,CAAC,GAAG;wBACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,IAAI;wBACJ,IAAI,EAAE,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,KAAK;wBACrB,GAAG,EAAE,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,KAAK;wBACpB,MAAM,EAAE,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,KAAK;wBACvB,UAAU,EAAE,KAAK;wBACjB,aAAa,EAAE,aAAa;wBAC5B,WAAW;wBACX,QAAQ,EAAE,IAAA,2CAAsB,EAAC,IAAI,EAAE,KAAK,CAAC;wBAC7C,YAAY;qBACb,CAAC;iBACH;qBAAM;oBACL,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBAEjC,WAAW,CAAC,QAAQ,CAAC,GAAG;wBACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;qBAC5B,CAAC;iBACH;aACF;YAED,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;YAG/B,MAAM,SAAS,GAAG,cAAM,CAAC,mBAAmB,CAAC;YAE7C,MAAM,WAAW,GAAkC;gBACjD,UAAU;gBACV,UAAU;gBACV,iBAAiB;aAClB,CAAC;YAEF,IAAA,mBAAY,EAAC,kBAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAElD,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;YAC/C,OAAO,CACL,gBAAO,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC;gBACjD,gBAAO,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAClD,CAAC;QACJ,CAAC,CAAC;QAn/BA,IAAI,CAAC,8BAA8B,GAAG,IAAA,kBAAQ,EAC5C,IAAI,CAAC,qBAAqB,EAC1B,GAAG,EACH,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;IACJ,CAAC;IAy/BD,qBAAqB,CAAC,OAAO,EAAE,QAAsB;QACnD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAEnC,IAAI,OAAO,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,EAAE;YACpC,OAAO,KAAK,CAAC;SACd;QAED,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,EAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtE,MAAM,SAAS,GACb,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;YACnD,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;YACvD,GAAG,CAAC;QAEN,OAAO,SAAS,CAAC;IACnB,CAAC;IAQD,uBAAuB,CAAC,mBAAmC;QACzD,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,mBAAmB,CAAC;QACvD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO;YACL,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACjC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SAClB,CAAC;IACpB,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,IAAI,EAAE,QAAQ;IACzC,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,GACpE,iBAAiB,CAAC;IAEpB,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,IAAI,EAAE;QACR,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,SAAS,IAAA,qBAAW,EAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC7C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1B;IAED,IAAI,IAAI,EAAE;QACR,SAAS,CAAC,IAAI,CAAC,SAAS,IAAA,qBAAW,EAAC,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;KAC9D;IAED,IAAI,GAAG,EAAE;QACP,SAAS,CAAC,IAAI,CAAC,QAAQ,IAAA,qBAAW,EAAC,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;KAC5D;IAED,IAAI,MAAM,EAAE;QACV,SAAS,CAAC,IAAI,CAAC,YAAY,IAAA,qBAAW,EAAC,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;KACnE;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,iBAAiB,CAAC,QAAQ,GAAG,eAAe,CAAC;AAC7C,kBAAe,iBAAiB,CAAC"}
@@ -1,2 +1,3 @@
1
- declare function addLabelmapToElement(element: HTMLDivElement, volumeId: string, segmentationRepresentationUID: string): Promise<void>;
1
+ import { LabelmapSegmentationData } from '../../../types/LabelmapTypes';
2
+ declare function addLabelmapToElement(element: HTMLDivElement, labelMapData: LabelmapSegmentationData, segmentationRepresentationUID: string): Promise<void>;
2
3
  export default addLabelmapToElement;
@@ -10,7 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const core_1 = require("@cornerstonejs/core");
13
- function addLabelmapToElement(element, volumeId, segmentationRepresentationUID) {
13
+ const stackVolumeCheck_1 = require("../../segmentation/strategies/utils/stackVolumeCheck");
14
+ function addLabelmapToElement(element, labelMapData, segmentationRepresentationUID) {
14
15
  return __awaiter(this, void 0, void 0, function* () {
15
16
  const enabledElement = (0, core_1.getEnabledElement)(element);
16
17
  const { renderingEngine, viewport } = enabledElement;
@@ -18,15 +19,27 @@ function addLabelmapToElement(element, volumeId, segmentationRepresentationUID)
18
19
  const visibility = true;
19
20
  const immediateRender = false;
20
21
  const suppressEvents = true;
21
- const volumeInputs = [
22
- {
23
- volumeId,
24
- actorUID: segmentationRepresentationUID,
25
- visibility,
26
- blendMode: core_1.Enums.BlendModes.MAXIMUM_INTENSITY_BLEND,
27
- },
28
- ];
29
- yield (0, core_1.addVolumesToViewports)(renderingEngine, volumeInputs, [viewportId], immediateRender, suppressEvents);
22
+ if ((0, stackVolumeCheck_1.isVolumeSegmentation)(labelMapData)) {
23
+ const volumeInputs = [
24
+ {
25
+ volumeId: labelMapData.volumeId,
26
+ actorUID: segmentationRepresentationUID,
27
+ visibility,
28
+ blendMode: core_1.Enums.BlendModes.MAXIMUM_INTENSITY_BLEND,
29
+ },
30
+ ];
31
+ yield (0, core_1.addVolumesToViewports)(renderingEngine, volumeInputs, [viewportId], immediateRender, suppressEvents);
32
+ }
33
+ else {
34
+ const segmentationImageId = labelMapData.imageIdReferenceMap.get(viewport.getCurrentImageId());
35
+ const stackInputs = [
36
+ {
37
+ imageId: segmentationImageId,
38
+ actorUID: segmentationRepresentationUID,
39
+ },
40
+ ];
41
+ yield (0, core_1.addImageSlicesToViewports)(renderingEngine, stackInputs, [viewportId], immediateRender, suppressEvents);
42
+ }
30
43
  });
31
44
  }
32
45
  exports.default = addLabelmapToElement;
@@ -1 +1 @@
1
- {"version":3,"file":"addLabelmapToElement.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Labelmap/addLabelmapToElement.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,8CAK6B;AAY7B,SAAe,oBAAoB,CACjC,OAAuB,EACvB,QAAgB,EAChB,6BAAqC;;QAErC,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAClD,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACrD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;QAKpC,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,MAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC;QAM5B,MAAM,YAAY,GAAyB;YACzC;gBACE,QAAQ;gBACR,QAAQ,EAAE,6BAA6B;gBACvC,UAAU;gBACV,SAAS,EAAE,YAAK,CAAC,UAAU,CAAC,uBAAuB;aACpD;SACF,CAAC;QAGF,MAAM,IAAA,4BAAqB,EACzB,eAAe,EACf,YAAY,EACZ,CAAC,UAAU,CAAC,EACZ,eAAe,EACf,cAAc,CACf,CAAC;IACJ,CAAC;CAAA;AAED,kBAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"addLabelmapToElement.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Labelmap/addLabelmapToElement.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,8CAM6B;AAK7B,2FAA4F;AAW5F,SAAe,oBAAoB,CACjC,OAAuB,EACvB,YAAsC,EACtC,6BAAqC;;QAErC,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAClD,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACrD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;QAKpC,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,MAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC;QAE5B,IAAI,IAAA,uCAAoB,EAAC,YAAY,CAAC,EAAE;YAKtC,MAAM,YAAY,GAAyB;gBACzC;oBACE,QAAQ,EAAE,YAAY,CAAC,QAAQ;oBAC/B,QAAQ,EAAE,6BAA6B;oBACvC,UAAU;oBACV,SAAS,EAAE,YAAK,CAAC,UAAU,CAAC,uBAAuB;iBACpD;aACF,CAAC;YAGF,MAAM,IAAA,4BAAqB,EACzB,eAAe,EACf,YAAY,EACZ,CAAC,UAAU,CAAC,EACZ,eAAe,EACf,cAAc,CACf,CAAC;SACH;aAAM;YAGL,MAAM,mBAAmB,GACvB,YACD,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAExD,MAAM,WAAW,GAAwB;gBACvC;oBACE,OAAO,EAAE,mBAAmB;oBAC5B,QAAQ,EAAE,6BAA6B;iBACxC;aACF,CAAC;YAGF,MAAM,IAAA,gCAAyB,EAC7B,eAAe,EACf,WAAW,EACX,CAAC,UAAU,CAAC,EACZ,eAAe,EACf,cAAc,CACf,CAAC;SACH;IACH,CAAC;CAAA;AAED,kBAAe,oBAAoB,CAAC"}
@@ -2,7 +2,7 @@ import { Types } from '@cornerstonejs/core';
2
2
  import { RepresentationPublicInput, SegmentationRepresentationConfig, ToolGroupSpecificRepresentation } from '../../../types/SegmentationStateTypes';
3
3
  declare function addSegmentationRepresentation(toolGroupId: string, representationInput: RepresentationPublicInput, toolGroupSpecificConfig?: SegmentationRepresentationConfig): Promise<string>;
4
4
  declare function removeSegmentationRepresentation(toolGroupId: string, segmentationRepresentationUID: string, renderImmediate?: boolean): void;
5
- declare function render(viewport: Types.IVolumeViewport, representation: ToolGroupSpecificRepresentation, toolGroupConfig: SegmentationRepresentationConfig): Promise<void>;
5
+ declare function render(viewport: Types.IVolumeViewport | Types.IStackViewport, representation: ToolGroupSpecificRepresentation, toolGroupConfig: SegmentationRepresentationConfig): Promise<void>;
6
6
  declare const _default: {
7
7
  render: typeof render;
8
8
  addSegmentationRepresentation: typeof addSegmentationRepresentation;
@@ -44,6 +44,7 @@ const SegmentationState = __importStar(require("../../../stateManagement/segment
44
44
  const ToolGroupManager_1 = require("../../../store/ToolGroupManager");
45
45
  const addLabelmapToElement_1 = __importDefault(require("./addLabelmapToElement"));
46
46
  const removeLabelmapFromElement_1 = __importDefault(require("./removeLabelmapFromElement"));
47
+ const stackVolumeCheck_1 = require("../../segmentation/strategies/utils/stackVolumeCheck");
47
48
  const MAX_NUMBER_COLORS = 255;
48
49
  const labelMapConfigCache = new Map();
49
50
  function addSegmentationRepresentation(toolGroupId, representationInput, toolGroupSpecificConfig) {
@@ -118,19 +119,30 @@ function render(viewport, representation, toolGroupConfig) {
118
119
  const { colorLUTIndex, active, segmentationId, segmentationRepresentationUID, segmentsHidden, config: renderingConfig, } = representation;
119
120
  const segmentation = SegmentationState.getSegmentation(segmentationId);
120
121
  const labelmapData = segmentation.representationData[SegmentationRepresentations_1.default.Labelmap];
121
- const { volumeId: labelmapUID } = labelmapData;
122
- const labelmap = core_1.cache.getVolume(labelmapUID);
123
- if (!labelmap) {
124
- throw new Error(`No Labelmap found for volumeId: ${labelmapUID}`);
125
- }
126
- if (!isSameFrameOfReference(viewport, labelmapData === null || labelmapData === void 0 ? void 0 : labelmapData.referencedVolumeId)) {
127
- return;
128
- }
129
122
  let actorEntry = viewport.getActor(segmentationRepresentationUID);
130
- if (!actorEntry) {
131
- const segmentation = SegmentationState.getSegmentation(segmentationId);
132
- const { volumeId } = segmentation.representationData[SegmentationRepresentations_1.default.Labelmap];
133
- yield _addLabelmapToViewport(viewport, volumeId, segmentationRepresentationUID);
123
+ if ((0, stackVolumeCheck_1.isVolumeSegmentation)(labelmapData)) {
124
+ const { volumeId: labelmapUID } = labelmapData;
125
+ const labelmap = core_1.cache.getVolume(labelmapUID);
126
+ if (!labelmap) {
127
+ throw new Error(`No Labelmap found for volumeId: ${labelmapUID}`);
128
+ }
129
+ if (!isSameFrameOfReference(viewport, labelmapData === null || labelmapData === void 0 ? void 0 : labelmapData.referencedVolumeId)) {
130
+ return;
131
+ }
132
+ if (!actorEntry) {
133
+ yield _addLabelmapToViewport(viewport, labelmapData, segmentationRepresentationUID);
134
+ }
135
+ actorEntry = viewport.getActor(segmentationRepresentationUID);
136
+ }
137
+ else {
138
+ const imageId = viewport.getCurrentImageId();
139
+ const { imageIdReferenceMap } = labelmapData;
140
+ if (!imageIdReferenceMap.has(imageId)) {
141
+ return;
142
+ }
143
+ if (!actorEntry) {
144
+ yield _addLabelmapToViewport(viewport, labelmapData, segmentationRepresentationUID);
145
+ }
134
146
  actorEntry = viewport.getActor(segmentationRepresentationUID);
135
147
  }
136
148
  if (!actorEntry) {
@@ -147,7 +159,6 @@ function _setLabelmapColorAndOpacity(viewportId, actorEntry, cfun, ofun, colorLU
147
159
  const segmentationRepresentationLabelmapConfig = segmentationRepresentationSpecificConfig[SegmentationRepresentations_1.default.Labelmap];
148
160
  const colorLUT = SegmentationState.getColorLUT(colorLUTIndex);
149
161
  const numColors = Math.min(256, colorLUT.length);
150
- const volumeActor = actorEntry.actor;
151
162
  const { uid: actorUID } = actorEntry;
152
163
  const { outlineWidth, renderOutline, outlineOpacity } = _getLabelmapConfig(toolGroupLabelmapConfig, segmentationRepresentationLabelmapConfig, isActiveLabelmap);
153
164
  for (let i = 0; i < numColors; i++) {
@@ -179,15 +190,18 @@ function _setLabelmapColorAndOpacity(viewportId, actorEntry, cfun, ofun, colorLU
179
190
  }
180
191
  }
181
192
  }
182
- volumeActor.getProperty().setRGBTransferFunction(0, cfun);
193
+ const actor = actorEntry.actor;
194
+ actor.getProperty().setRGBTransferFunction(0, cfun);
183
195
  ofun.setClamping(false);
184
- volumeActor.getProperty().setScalarOpacity(0, ofun);
185
- volumeActor.getProperty().setInterpolationTypeToNearest();
186
- volumeActor.getProperty().setUseLabelOutline(renderOutline);
187
- volumeActor.getProperty().setLabelOutlineOpacity(outlineOpacity);
188
- volumeActor.getProperty().setLabelOutlineThickness(outlineWidth);
196
+ actor.getProperty().setScalarOpacity(0, ofun);
197
+ actor.getProperty().setInterpolationTypeToNearest();
198
+ if (core_1.utilities.actorIsA(actorEntry, 'vtkVolume')) {
199
+ actor.getProperty().setUseLabelOutline(renderOutline);
200
+ actor.getProperty().setLabelOutlineOpacity(outlineOpacity);
201
+ actor.getProperty().setLabelOutlineThickness(outlineWidth);
202
+ }
189
203
  const visible = isActiveLabelmap || renderInactiveSegmentations;
190
- volumeActor.setVisibility(visible);
204
+ actor.setVisibility(visible);
191
205
  }
192
206
  function _getLabelmapConfig(toolGroupLabelmapConfig, segmentationRepresentationLabelmapConfig, isActiveLabelmap, segmentsLabelmapConfig) {
193
207
  const segmentLabelmapConfig = segmentsLabelmapConfig || {};
@@ -265,9 +279,9 @@ function _removeLabelmapFromToolGroupViewports(toolGroupId, segmentationRepresen
265
279
  (0, removeLabelmapFromElement_1.default)(enabledElement.viewport.element, segmentationRepresentationUID);
266
280
  }
267
281
  }
268
- function _addLabelmapToViewport(viewport, volumeId, segmentationRepresentationUID) {
282
+ function _addLabelmapToViewport(viewport, labelmapData, segmentationRepresentationUID) {
269
283
  return __awaiter(this, void 0, void 0, function* () {
270
- yield (0, addLabelmapToElement_1.default)(viewport.element, volumeId, segmentationRepresentationUID);
284
+ yield (0, addLabelmapToElement_1.default)(viewport.element, labelmapData, segmentationRepresentationUID);
271
285
  });
272
286
  }
273
287
  exports.default = {
@@ -1 +1 @@
1
- {"version":3,"file":"labelmapDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Labelmap/labelmapDisplay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"labelmapDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Labelmap/labelmapDisplay.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,13 @@ function validate(segmentationInput) {
7
7
  }
8
8
  const representationData = segmentationInput.representation
9
9
  .data;
10
- if (!representationData.volumeId) {
11
- throw new Error('The segmentationInput.representationData.volumeId is undefined, please provide a valid representationData.volumeId');
10
+ if ('volumeId' in representationData) {
11
+ const cachedVolume = core_1.cache.getVolume(representationData.volumeId);
12
+ if (!cachedVolume) {
13
+ throw new Error(`volumeId of ${representationData.volumeId} not found in cache, you should load and cache volume before adding segmentation`);
14
+ }
12
15
  }
13
- const cachedVolume = core_1.cache.getVolume(representationData.volumeId);
14
- if (!cachedVolume) {
15
- throw new Error(`volumeId of ${representationData.volumeId} not found in cache, you should load and cache volume before adding segmentation`);
16
+ else {
16
17
  }
17
18
  }
18
19
  exports.default = validate;
@@ -1 +1 @@
1
- {"version":3,"file":"validateRepresentationData.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Labelmap/validateRepresentationData.ts"],"names":[],"mappings":";;AACA,8CAA4C;AAG5C,SAAS,QAAQ,CAAC,iBAA0C;IAC1D,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE;QAC1C,MAAM,IAAI,KAAK,CACb,4GAA4G,CAC7G,CAAC;KACH;IAED,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,cAAc;SACxD,IAAgC,CAAC;IAEpC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE;QAChC,MAAM,IAAI,KAAK,CACb,oHAAoH,CACrH,CAAC;KACH;IAED,MAAM,YAAY,GAAG,YAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAElE,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CACb,eAAe,kBAAkB,CAAC,QAAQ,kFAAkF,CAC7H,CAAC;KACH;AACH,CAAC;AAED,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"validateRepresentationData.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Labelmap/validateRepresentationData.ts"],"names":[],"mappings":";;AACA,8CAA4C;AAM5C,SAAS,QAAQ,CAAC,iBAA0C;IAC1D,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE;QAC1C,MAAM,IAAI,KAAK,CACb,4GAA4G,CAC7G,CAAC;KACH;IAED,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,cAAc;SACxD,IAAgC,CAAC;IAEpC,IAAI,UAAU,IAAI,kBAAkB,EAAE;QAEpC,MAAM,YAAY,GAAG,YAAK,CAAC,SAAS,CACjC,kBAAqD,CAAC,QAAQ,CAChE,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CACb,eACG,kBAAqD,CAAC,QACzD,kFAAkF,CACnF,CAAC;SACH;KACF;SAAM;KAEN;AACH,CAAC;AAED,kBAAe,QAAQ,CAAC"}
@@ -15,6 +15,7 @@ const drawingSvg_1 = require("../../drawingSvg");
15
15
  const elementCursor_1 = require("../../cursors/elementCursor");
16
16
  const triggerAnnotationRenderForViewportIds_1 = __importDefault(require("../../utilities/triggerAnnotationRenderForViewportIds"));
17
17
  const segmentation_1 = require("../../stateManagement/segmentation");
18
+ const stackVolumeCheck_1 = require("./strategies/utils/stackVolumeCheck");
18
19
  class BrushTool extends base_1.BaseTool {
19
20
  constructor(toolProps = {}, defaultToolProps = {
20
21
  supportedInteractionTypes: ['Mouse', 'Touch'],
@@ -52,28 +53,46 @@ class BrushTool extends base_1.BaseTool {
52
53
  const { element } = eventData;
53
54
  const enabledElement = (0, core_1.getEnabledElement)(element);
54
55
  const { viewport, renderingEngine } = enabledElement;
55
- if (viewport instanceof core_1.StackViewport) {
56
- throw new Error('Not implemented yet');
57
- }
58
56
  const toolGroupId = this.toolGroupId;
59
57
  const activeSegmentationRepresentation = segmentation_1.activeSegmentation.getActiveSegmentationRepresentation(toolGroupId);
60
58
  if (!activeSegmentationRepresentation) {
61
59
  throw new Error('No active segmentation detected, create one before using the brush tool');
62
60
  }
63
- const { segmentationId, type } = activeSegmentationRepresentation;
61
+ const { segmentationId, type, segmentationRepresentationUID } = activeSegmentationRepresentation;
62
+ if (type === enums_1.SegmentationRepresentations.Contour) {
63
+ throw new Error('Not implemented yet');
64
+ }
64
65
  const segmentsLocked = segmentation_1.segmentLocking.getLockedSegments(segmentationId);
65
66
  const { representationData } = segmentation_1.state.getSegmentation(segmentationId);
66
- const { volumeId } = representationData[type];
67
- const segmentation = core_1.cache.getVolume(volumeId);
68
- const actors = viewport.getActors();
69
- const firstVolumeActorUID = actors[0].uid;
70
- const imageVolume = core_1.cache.getVolume(firstVolumeActorUID);
67
+ const labelmapData = representationData[enums_1.SegmentationRepresentations.Labelmap];
71
68
  const viewportIdsToRender = [viewport.id];
72
- this._editData = {
73
- segmentation,
74
- imageVolume,
75
- segmentsLocked,
76
- };
69
+ if ((0, stackVolumeCheck_1.isVolumeSegmentation)(labelmapData)) {
70
+ const { volumeId } = representationData[type];
71
+ const actors = viewport.getActors();
72
+ const firstVolumeActorUID = actors[0].uid;
73
+ this._editData = {
74
+ volumeId,
75
+ referencedVolumeId: firstVolumeActorUID,
76
+ segmentsLocked,
77
+ segmentationRepresentationUID,
78
+ };
79
+ }
80
+ else {
81
+ const { imageIdReferenceMap } = labelmapData;
82
+ const currentImageId = viewport.getCurrentImageId();
83
+ if (!imageIdReferenceMap.get(currentImageId)) {
84
+ return;
85
+ }
86
+ if (this.configuration.activeStrategy.includes('SPHERE')) {
87
+ console.warn('Sphere manipulation is not supported for this stack of images yet');
88
+ return;
89
+ }
90
+ this._editData = {
91
+ imageIdReferenceMap,
92
+ segmentsLocked,
93
+ segmentationRepresentationUID,
94
+ };
95
+ }
77
96
  this._activateDraw(element);
78
97
  (0, elementCursor_1.hideElementCursor)(element);
79
98
  evt.preventDefault();
@@ -90,56 +109,32 @@ class BrushTool extends base_1.BaseTool {
90
109
  const { element } = eventData;
91
110
  const enabledElement = (0, core_1.getEnabledElement)(element);
92
111
  const { renderingEngine } = enabledElement;
93
- const { imageVolume, segmentation, segmentsLocked } = this._editData;
94
112
  this.updateCursor(evt);
95
113
  const { segmentIndex, segmentationId, segmentationRepresentationUID, brushCursor, viewportIdsToRender, } = this._hoverData;
96
114
  const { data } = brushCursor;
97
115
  const { viewPlaneNormal, viewUp } = brushCursor.metadata;
98
116
  (0, triggerAnnotationRenderForViewportIds_1.default)(renderingEngine, viewportIdsToRender);
99
- const operationData = {
100
- points: data.handles.points,
101
- volume: segmentation,
102
- imageVolume,
103
- segmentIndex,
104
- segmentsLocked,
105
- viewPlaneNormal,
106
- toolGroupId: this.toolGroupId,
107
- segmentationId,
117
+ const operationData = Object.assign(Object.assign({}, this._editData), { points: data.handles.points, segmentIndex,
118
+ viewPlaneNormal, toolGroupId: this.toolGroupId, segmentationId,
108
119
  segmentationRepresentationUID,
109
- viewUp,
110
- strategySpecificConfiguration: this.configuration.strategySpecificConfiguration,
111
- };
120
+ viewUp, strategySpecificConfiguration: this.configuration.strategySpecificConfiguration });
112
121
  this.applyActiveStrategy(enabledElement, operationData);
113
122
  };
114
123
  this._endCallback = (evt) => {
115
124
  const eventData = evt.detail;
116
125
  const { element } = eventData;
117
- const { imageVolume, segmentation, segmentsLocked } = this._editData;
118
126
  const { segmentIndex, segmentationId, segmentationRepresentationUID, brushCursor, } = this._hoverData;
119
127
  const { data } = brushCursor;
120
128
  const { viewPlaneNormal, viewUp } = brushCursor.metadata;
121
129
  this._deactivateDraw(element);
122
130
  (0, elementCursor_1.resetElementCursor)(element);
123
131
  const enabledElement = (0, core_1.getEnabledElement)(element);
124
- const { viewport } = enabledElement;
125
- this._editData = null;
126
132
  this.updateCursor(evt);
127
- if (viewport instanceof core_1.StackViewport) {
128
- throw new Error('Not implemented yet');
129
- }
130
- const operationData = {
131
- points: data.handles.points,
132
- volume: segmentation,
133
- imageVolume,
134
- segmentIndex,
135
- segmentsLocked,
136
- viewPlaneNormal,
137
- toolGroupId: this.toolGroupId,
138
- segmentationId,
133
+ const operationData = Object.assign(Object.assign({ points: data.handles.points }, this._editData), { segmentIndex,
134
+ viewPlaneNormal, toolGroupId: this.toolGroupId, segmentationId,
139
135
  segmentationRepresentationUID,
140
- viewUp,
141
- strategySpecificConfiguration: this.configuration.strategySpecificConfiguration,
142
- };
136
+ viewUp, strategySpecificConfiguration: this.configuration.strategySpecificConfiguration });
137
+ this._editData = null;
143
138
  this.applyActiveStrategy(enabledElement, operationData);
144
139
  };
145
140
  this._activateDraw = (element) => {
@@ -1 +1 @@
1
- {"version":3,"file":"BrushTool.js","sourceRoot":"","sources":["../../../../src/tools/segmentation/BrushTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrushTool.js","sourceRoot":"","sources":["../../../../src/tools/segmentation/BrushTool.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,10 @@ declare class CircleScissorsTool extends BaseTool {
5
5
  static toolName: any;
6
6
  editData: {
7
7
  annotation: any;
8
- segmentation: any;
9
8
  segmentIndex: number;
10
- segmentationId: string;
9
+ volumeId: string;
10
+ referencedVolumeId: string;
11
+ imageIdReferenceMap: Map<string, string>;
11
12
  segmentsLocked: number[];
12
13
  segmentColor: [number, number, number, number];
13
14
  viewportIdsToRender: string[];
@@ -16,6 +17,7 @@ declare class CircleScissorsTool extends BaseTool {
16
17
  newAnnotation?: boolean;
17
18
  hasMoved?: boolean;
18
19
  centerCanvas?: Array<number>;
20
+ segmentationRepresentationUID?: string;
19
21
  } | null;
20
22
  isDrawing: boolean;
21
23
  isHandleOutsideImage: boolean;