image-js 0.0.0-next-e30968a2d8 → 0.0.0-next-24a123720f

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 (692) hide show
  1. package/lib/IJS.d.ts +130 -14
  2. package/lib/IJS.d.ts.map +1 -1
  3. package/lib/IJS.js +180 -49
  4. package/lib/IJS.js.map +1 -1
  5. package/lib/Mask.d.ts +99 -11
  6. package/lib/Mask.d.ts.map +1 -1
  7. package/lib/Mask.js +134 -15
  8. package/lib/Mask.js.map +1 -1
  9. package/lib/correctColor/__tests__/testUtils/referenceColorCard.d.ts +42 -0
  10. package/lib/correctColor/__tests__/testUtils/referenceColorCard.d.ts.map +1 -0
  11. package/lib/correctColor/__tests__/testUtils/referenceColorCard.js +149 -0
  12. package/lib/correctColor/__tests__/testUtils/referenceColorCard.js.map +1 -0
  13. package/lib/correctColor/correctColor.d.ts +22 -0
  14. package/lib/correctColor/correctColor.d.ts.map +1 -0
  15. package/lib/correctColor/correctColor.js +83 -0
  16. package/lib/correctColor/correctColor.js.map +1 -0
  17. package/lib/correctColor/index.d.ts +2 -0
  18. package/lib/correctColor/index.d.ts.map +1 -0
  19. package/lib/correctColor/index.js +18 -0
  20. package/lib/correctColor/index.js.map +1 -0
  21. package/lib/correctColor/utils/formatData.d.ts +41 -0
  22. package/lib/correctColor/utils/formatData.d.ts.map +1 -0
  23. package/lib/correctColor/utils/formatData.js +71 -0
  24. package/lib/correctColor/utils/formatData.js.map +1 -0
  25. package/lib/correctColor/utils/getImageColors.d.ts +10 -0
  26. package/lib/correctColor/utils/getImageColors.d.ts.map +1 -0
  27. package/lib/correctColor/utils/getImageColors.js +24 -0
  28. package/lib/correctColor/utils/getImageColors.js.map +1 -0
  29. package/lib/draw/drawCircleOnIjs.d.ts +31 -0
  30. package/lib/draw/drawCircleOnIjs.d.ts.map +1 -0
  31. package/lib/draw/drawCircleOnIjs.js +57 -0
  32. package/lib/draw/drawCircleOnIjs.js.map +1 -0
  33. package/lib/draw/drawLineOnIjs.d.ts +25 -0
  34. package/lib/draw/drawLineOnIjs.d.ts.map +1 -0
  35. package/lib/draw/drawLineOnIjs.js +35 -0
  36. package/lib/draw/drawLineOnIjs.js.map +1 -0
  37. package/lib/draw/drawLineOnMask.d.ts +19 -0
  38. package/lib/draw/drawLineOnMask.d.ts.map +1 -0
  39. package/lib/draw/drawLineOnMask.js +23 -0
  40. package/lib/draw/drawLineOnMask.js.map +1 -0
  41. package/lib/draw/drawPolygonOnIjs.d.ts +21 -0
  42. package/lib/draw/drawPolygonOnIjs.d.ts.map +1 -0
  43. package/lib/draw/drawPolygonOnIjs.js +46 -0
  44. package/lib/draw/drawPolygonOnIjs.js.map +1 -0
  45. package/lib/draw/drawPolygonOnMask.d.ts +19 -0
  46. package/lib/draw/drawPolygonOnMask.d.ts.map +1 -0
  47. package/lib/draw/drawPolygonOnMask.js +37 -0
  48. package/lib/draw/drawPolygonOnMask.js.map +1 -0
  49. package/lib/draw/drawPolylineOnIjs.d.ts +24 -0
  50. package/lib/draw/drawPolylineOnIjs.d.ts.map +1 -0
  51. package/lib/draw/drawPolylineOnIjs.js +32 -0
  52. package/lib/draw/drawPolylineOnIjs.js.map +1 -0
  53. package/lib/draw/drawPolylineOnMask.d.ts +18 -0
  54. package/lib/draw/drawPolylineOnMask.d.ts.map +1 -0
  55. package/lib/draw/drawPolylineOnMask.js +23 -0
  56. package/lib/draw/drawPolylineOnMask.js.map +1 -0
  57. package/lib/draw/drawRectangle.d.ts +46 -0
  58. package/lib/draw/drawRectangle.d.ts.map +1 -0
  59. package/lib/draw/drawRectangle.js +58 -0
  60. package/lib/draw/drawRectangle.js.map +1 -0
  61. package/lib/draw/index.d.ts +9 -0
  62. package/lib/draw/index.d.ts.map +1 -0
  63. package/lib/draw/index.js +25 -0
  64. package/lib/draw/index.js.map +1 -0
  65. package/lib/draw/utils/deleteDuplicates.d.ts +9 -0
  66. package/lib/draw/utils/deleteDuplicates.d.ts.map +1 -0
  67. package/lib/draw/utils/deleteDuplicates.js +24 -0
  68. package/lib/draw/utils/deleteDuplicates.js.map +1 -0
  69. package/lib/draw/utils/lineUtils.d.ts +33 -0
  70. package/lib/draw/utils/lineUtils.d.ts.map +1 -0
  71. package/lib/draw/utils/lineUtils.js +44 -0
  72. package/lib/draw/utils/lineUtils.js.map +1 -0
  73. package/lib/filters/convolution.js +7 -4
  74. package/lib/filters/convolution.js.map +1 -1
  75. package/lib/filters/flip.d.ts +23 -0
  76. package/lib/filters/flip.d.ts.map +1 -0
  77. package/lib/filters/flip.js +32 -0
  78. package/lib/filters/flip.js.map +1 -0
  79. package/lib/filters/flipX.d.ts +9 -0
  80. package/lib/filters/flipX.d.ts.map +1 -0
  81. package/lib/filters/flipX.js +31 -0
  82. package/lib/filters/flipX.js.map +1 -0
  83. package/lib/filters/flipY.d.ts +9 -0
  84. package/lib/filters/flipY.d.ts.map +1 -0
  85. package/lib/filters/flipY.js +31 -0
  86. package/lib/filters/flipY.js.map +1 -0
  87. package/lib/filters/gaussianBlur.d.ts +5 -5
  88. package/lib/filters/gaussianBlur.d.ts.map +1 -1
  89. package/lib/filters/gaussianBlur.js.map +1 -1
  90. package/lib/filters/index.d.ts +2 -0
  91. package/lib/filters/index.d.ts.map +1 -1
  92. package/lib/filters/index.js +2 -0
  93. package/lib/filters/index.js.map +1 -1
  94. package/lib/filters/level.d.ts +53 -0
  95. package/lib/filters/level.d.ts.map +1 -0
  96. package/lib/filters/level.js +40 -0
  97. package/lib/filters/level.js.map +1 -0
  98. package/lib/geometry/resize.js +14 -10
  99. package/lib/geometry/resize.js.map +1 -1
  100. package/lib/geometry/rotate.d.ts +1 -1
  101. package/lib/geometry/rotate.js +1 -1
  102. package/lib/geometry/transform.js +8 -5
  103. package/lib/geometry/transform.js.map +1 -1
  104. package/lib/index.d.ts +1 -0
  105. package/lib/index.d.ts.map +1 -1
  106. package/lib/index.js +1 -0
  107. package/lib/index.js.map +1 -1
  108. package/lib/load/decodePng.js +5 -2
  109. package/lib/load/decodePng.js.map +1 -1
  110. package/lib/load/decodeTiff.js +1 -1
  111. package/lib/load/decodeTiff.js.map +1 -1
  112. package/lib/load/readCanvas.d.ts +6 -0
  113. package/lib/load/readCanvas.d.ts.map +1 -1
  114. package/lib/load/readCanvas.js +6 -0
  115. package/lib/load/readCanvas.js.map +1 -1
  116. package/lib/load/readImg.d.ts +6 -0
  117. package/lib/load/readImg.d.ts.map +1 -1
  118. package/lib/load/readImg.js +6 -0
  119. package/lib/load/readImg.js.map +1 -1
  120. package/lib/morphology/cannyEdgeDetector.js +18 -18
  121. package/lib/morphology/cannyEdgeDetector.js.map +1 -1
  122. package/lib/morphology/clearBorder.d.ts +2 -2
  123. package/lib/morphology/clearBorder.d.ts.map +1 -1
  124. package/lib/morphology/clearBorder.js +11 -76
  125. package/lib/morphology/clearBorder.js.map +1 -1
  126. package/lib/morphology/dilate.js +9 -9
  127. package/lib/morphology/dilate.js.map +1 -1
  128. package/lib/morphology/erode.js +9 -9
  129. package/lib/morphology/erode.js.map +1 -1
  130. package/lib/morphology/floodFill.d.ts +14 -2
  131. package/lib/morphology/floodFill.d.ts.map +1 -1
  132. package/lib/morphology/floodFill.js +10 -7
  133. package/lib/morphology/floodFill.js.map +1 -1
  134. package/lib/morphology/index.d.ts +1 -0
  135. package/lib/morphology/index.d.ts.map +1 -1
  136. package/lib/morphology/index.js +1 -0
  137. package/lib/morphology/index.js.map +1 -1
  138. package/lib/morphology/multipleFloodFill.d.ts +41 -0
  139. package/lib/morphology/multipleFloodFill.d.ts.map +1 -0
  140. package/lib/morphology/multipleFloodFill.js +93 -0
  141. package/lib/morphology/multipleFloodFill.js.map +1 -0
  142. package/lib/morphology/solidFill.d.ts +22 -0
  143. package/lib/morphology/solidFill.d.ts.map +1 -0
  144. package/lib/morphology/solidFill.js +20 -0
  145. package/lib/morphology/solidFill.js.map +1 -0
  146. package/lib/operations/convertColor.js +1 -1
  147. package/lib/operations/convertColor.js.map +1 -1
  148. package/lib/operations/convertDepth.js +1 -1
  149. package/lib/operations/convertDepth.js.map +1 -1
  150. package/lib/operations/copyTo.d.ts +7 -14
  151. package/lib/operations/copyTo.d.ts.map +1 -1
  152. package/lib/operations/copyTo.js +16 -29
  153. package/lib/operations/copyTo.js.map +1 -1
  154. package/lib/operations/crop.d.ts +41 -0
  155. package/lib/operations/crop.d.ts.map +1 -0
  156. package/lib/operations/crop.js +50 -0
  157. package/lib/operations/crop.js.map +1 -0
  158. package/lib/operations/extract.d.ts +26 -0
  159. package/lib/operations/extract.d.ts.map +1 -0
  160. package/lib/operations/extract.js +42 -0
  161. package/lib/operations/extract.js.map +1 -0
  162. package/lib/operations/grey.d.ts +1 -1
  163. package/lib/operations/grey.d.ts.map +1 -1
  164. package/lib/operations/grey.js +2 -1
  165. package/lib/operations/grey.js.map +1 -1
  166. package/lib/operations/greyAlgorithms.d.ts +6 -6
  167. package/lib/operations/greyAlgorithms.d.ts.map +1 -1
  168. package/lib/operations/greyAlgorithms.js +6 -6
  169. package/lib/operations/greyAlgorithms.js.map +1 -1
  170. package/lib/operations/index.d.ts +3 -0
  171. package/lib/operations/index.d.ts.map +1 -1
  172. package/lib/operations/index.js +3 -0
  173. package/lib/operations/index.js.map +1 -1
  174. package/lib/operations/paintMask.d.ts +42 -0
  175. package/lib/operations/paintMask.d.ts.map +1 -0
  176. package/lib/operations/paintMask.js +57 -0
  177. package/lib/operations/paintMask.js.map +1 -0
  178. package/lib/operations/thresholds/huang.d.ts.map +1 -1
  179. package/lib/operations/thresholds/huang.js +2 -1
  180. package/lib/operations/thresholds/huang.js.map +1 -1
  181. package/lib/operations/thresholds/maxEntropy.js.map +1 -1
  182. package/lib/operations/thresholds/renyiEntropy.d.ts.map +1 -1
  183. package/lib/operations/thresholds/renyiEntropy.js +4 -6
  184. package/lib/operations/thresholds/renyiEntropy.js.map +1 -1
  185. package/lib/operations/thresholds/shanbhag.d.ts +0 -1
  186. package/lib/operations/thresholds/shanbhag.d.ts.map +1 -1
  187. package/lib/operations/thresholds/shanbhag.js +0 -1
  188. package/lib/operations/thresholds/shanbhag.js.map +1 -1
  189. package/lib/operations/thresholds/yen.js.map +1 -1
  190. package/lib/roi/Roi.d.ts +51 -0
  191. package/lib/roi/Roi.d.ts.map +1 -0
  192. package/lib/roi/Roi.js +63 -0
  193. package/lib/roi/Roi.js.map +1 -0
  194. package/lib/roi/RoiMapManager.d.ts +28 -3
  195. package/lib/roi/RoiMapManager.d.ts.map +1 -1
  196. package/lib/roi/RoiMapManager.js +28 -2
  197. package/lib/roi/RoiMapManager.js.map +1 -1
  198. package/lib/roi/colorRois.d.ts +2 -1
  199. package/lib/roi/colorRois.d.ts.map +1 -1
  200. package/lib/roi/colorRois.js +7 -6
  201. package/lib/roi/colorRois.js.map +1 -1
  202. package/lib/roi/computeRois.d.ts +8 -0
  203. package/lib/roi/computeRois.d.ts.map +1 -0
  204. package/lib/roi/computeRois.js +83 -0
  205. package/lib/roi/computeRois.js.map +1 -0
  206. package/lib/roi/fromMask.d.ts +2 -2
  207. package/lib/roi/fromMask.d.ts.map +1 -1
  208. package/lib/roi/fromMask.js +14 -15
  209. package/lib/roi/fromMask.js.map +1 -1
  210. package/lib/roi/getBorderPoints.d.ts +26 -0
  211. package/lib/roi/getBorderPoints.d.ts.map +1 -0
  212. package/lib/roi/getBorderPoints.js +60 -0
  213. package/lib/roi/getBorderPoints.js.map +1 -0
  214. package/lib/roi/getMask/getContourMask.d.ts +32 -0
  215. package/lib/roi/getMask/getContourMask.d.ts.map +1 -0
  216. package/lib/roi/getMask/getContourMask.js +37 -0
  217. package/lib/roi/getMask/getContourMask.js.map +1 -0
  218. package/lib/roi/getMask/getConvexHullMask.d.ts +20 -0
  219. package/lib/roi/getMask/getConvexHullMask.d.ts.map +1 -0
  220. package/lib/roi/getMask/getConvexHullMask.js +27 -0
  221. package/lib/roi/getMask/getConvexHullMask.js.map +1 -0
  222. package/lib/roi/getMask.d.ts +14 -0
  223. package/lib/roi/getMask.d.ts.map +1 -0
  224. package/lib/roi/getMask.js +25 -0
  225. package/lib/roi/getMask.js.map +1 -0
  226. package/lib/roi/getRois.d.ts +36 -0
  227. package/lib/roi/getRois.d.ts.map +1 -0
  228. package/lib/roi/getRois.js +40 -0
  229. package/lib/roi/getRois.js.map +1 -0
  230. package/lib/roi/index.d.ts +0 -1
  231. package/lib/roi/index.d.ts.map +1 -1
  232. package/lib/roi/index.js +0 -1
  233. package/lib/roi/index.js.map +1 -1
  234. package/lib/roi/utils/colorMaps/getBinaryMap.d.ts +1 -1
  235. package/lib/roi/utils/colorMaps/getBinaryMap.d.ts.map +1 -1
  236. package/lib/roi/utils/colorMaps/getBinaryMap.js +4 -4
  237. package/lib/roi/utils/colorMaps/getBinaryMap.js.map +1 -1
  238. package/lib/roi/utils/colorMaps/getRainbowMap.d.ts +1 -1
  239. package/lib/roi/utils/colorMaps/getRainbowMap.d.ts.map +1 -1
  240. package/lib/roi/utils/colorMaps/getRainbowMap.js +7 -7
  241. package/lib/roi/utils/colorMaps/getRainbowMap.js.map +1 -1
  242. package/lib/roi/utils/colorMaps/getSaturationMap.d.ts +1 -6
  243. package/lib/roi/utils/colorMaps/getSaturationMap.d.ts.map +1 -1
  244. package/lib/roi/utils/colorMaps/getSaturationMap.js +5 -5
  245. package/lib/roi/utils/colorMaps/getSaturationMap.js.map +1 -1
  246. package/lib/roi/utils/getColorMap.d.ts +1 -1
  247. package/lib/roi/utils/getColorMap.d.ts.map +1 -1
  248. package/lib/roi/utils/getColorMap.js +2 -0
  249. package/lib/roi/utils/getColorMap.js.map +1 -1
  250. package/lib/roi/utils/monotoneChainConvexHull.d.ts +15 -0
  251. package/lib/roi/utils/monotoneChainConvexHull.d.ts.map +1 -0
  252. package/lib/roi/utils/monotoneChainConvexHull.js +49 -0
  253. package/lib/roi/utils/monotoneChainConvexHull.js.map +1 -0
  254. package/lib/save/write.js +4 -1
  255. package/lib/save/write.js.map +1 -1
  256. package/lib/utils/arrayPointsToObjects.d.ts +9 -0
  257. package/lib/utils/arrayPointsToObjects.d.ts.map +1 -0
  258. package/lib/utils/arrayPointsToObjects.js +18 -0
  259. package/lib/utils/arrayPointsToObjects.js.map +1 -0
  260. package/lib/utils/assert.d.ts +8 -0
  261. package/lib/utils/assert.d.ts.map +1 -0
  262. package/lib/utils/assert.js +16 -0
  263. package/lib/utils/assert.js.map +1 -0
  264. package/lib/utils/checkProcessable.d.ts +2 -2
  265. package/lib/utils/checkProcessable.d.ts.map +1 -1
  266. package/lib/utils/checkProcessable.js.map +1 -1
  267. package/lib/utils/getDefaultColor.d.ts +10 -0
  268. package/lib/utils/getDefaultColor.d.ts.map +1 -0
  269. package/lib/utils/getDefaultColor.js +28 -0
  270. package/lib/utils/getDefaultColor.js.map +1 -0
  271. package/lib/utils/getIndex.d.ts +2 -10
  272. package/lib/utils/getIndex.d.ts.map +1 -1
  273. package/lib/utils/getIndex.js +4 -4
  274. package/lib/utils/getIndex.js.map +1 -1
  275. package/lib/utils/getMinMax.d.ts +12 -0
  276. package/lib/utils/getMinMax.d.ts.map +1 -0
  277. package/lib/utils/getMinMax.js +29 -0
  278. package/lib/utils/getMinMax.js.map +1 -0
  279. package/lib/utils/getOutputImage.d.ts.map +1 -1
  280. package/lib/utils/getOutputImage.js +5 -4
  281. package/lib/utils/getOutputImage.js.map +1 -1
  282. package/lib/utils/interpolateBorder.d.ts +28 -12
  283. package/lib/utils/interpolateBorder.d.ts.map +1 -1
  284. package/lib/utils/interpolateBorder.js +36 -20
  285. package/lib/utils/interpolateBorder.js.map +1 -1
  286. package/lib/utils/interpolatePixel.js +23 -11
  287. package/lib/utils/interpolatePixel.js.map +1 -1
  288. package/lib/utils/round.d.ts +6 -0
  289. package/lib/utils/round.d.ts.map +1 -1
  290. package/lib/utils/round.js +6 -0
  291. package/lib/utils/round.js.map +1 -1
  292. package/lib/utils/setBlendedPixel.d.ts +20 -0
  293. package/lib/utils/setBlendedPixel.d.ts.map +1 -0
  294. package/lib/utils/setBlendedPixel.js +41 -0
  295. package/lib/utils/setBlendedPixel.js.map +1 -0
  296. package/lib/utils/types.d.ts +17 -0
  297. package/lib/utils/types.d.ts.map +1 -0
  298. package/lib/utils/types.js +3 -0
  299. package/lib/utils/types.js.map +1 -0
  300. package/lib-esm/IJS.d.ts +130 -14
  301. package/lib-esm/IJS.d.ts.map +1 -1
  302. package/lib-esm/IJS.js +175 -41
  303. package/lib-esm/IJS.js.map +1 -1
  304. package/lib-esm/Mask.d.ts +99 -11
  305. package/lib-esm/Mask.d.ts.map +1 -1
  306. package/lib-esm/Mask.js +136 -17
  307. package/lib-esm/Mask.js.map +1 -1
  308. package/lib-esm/correctColor/__tests__/testUtils/referenceColorCard.d.ts +42 -0
  309. package/lib-esm/correctColor/__tests__/testUtils/referenceColorCard.d.ts.map +1 -0
  310. package/lib-esm/correctColor/__tests__/testUtils/referenceColorCard.js +146 -0
  311. package/lib-esm/correctColor/__tests__/testUtils/referenceColorCard.js.map +1 -0
  312. package/lib-esm/correctColor/correctColor.d.ts +22 -0
  313. package/lib-esm/correctColor/correctColor.d.ts.map +1 -0
  314. package/lib-esm/correctColor/correctColor.js +75 -0
  315. package/lib-esm/correctColor/correctColor.js.map +1 -0
  316. package/lib-esm/correctColor/index.d.ts +2 -0
  317. package/lib-esm/correctColor/index.d.ts.map +1 -0
  318. package/lib-esm/correctColor/index.js +2 -0
  319. package/lib-esm/correctColor/index.js.map +1 -0
  320. package/lib-esm/correctColor/utils/formatData.d.ts +41 -0
  321. package/lib-esm/correctColor/utils/formatData.d.ts.map +1 -0
  322. package/lib-esm/correctColor/utils/formatData.js +61 -0
  323. package/lib-esm/correctColor/utils/formatData.js.map +1 -0
  324. package/lib-esm/correctColor/utils/getImageColors.d.ts +10 -0
  325. package/lib-esm/correctColor/utils/getImageColors.d.ts.map +1 -0
  326. package/lib-esm/correctColor/utils/getImageColors.js +20 -0
  327. package/lib-esm/correctColor/utils/getImageColors.js.map +1 -0
  328. package/lib-esm/draw/drawCircleOnIjs.d.ts +31 -0
  329. package/lib-esm/draw/drawCircleOnIjs.d.ts.map +1 -0
  330. package/lib-esm/draw/drawCircleOnIjs.js +50 -0
  331. package/lib-esm/draw/drawCircleOnIjs.js.map +1 -0
  332. package/lib-esm/draw/drawLineOnIjs.d.ts +25 -0
  333. package/lib-esm/draw/drawLineOnIjs.d.ts.map +1 -0
  334. package/lib-esm/draw/drawLineOnIjs.js +28 -0
  335. package/lib-esm/draw/drawLineOnIjs.js.map +1 -0
  336. package/lib-esm/draw/drawLineOnMask.d.ts +19 -0
  337. package/lib-esm/draw/drawLineOnMask.d.ts.map +1 -0
  338. package/lib-esm/draw/drawLineOnMask.js +19 -0
  339. package/lib-esm/draw/drawLineOnMask.js.map +1 -0
  340. package/lib-esm/draw/drawPolygonOnIjs.d.ts +21 -0
  341. package/lib-esm/draw/drawPolygonOnIjs.d.ts.map +1 -0
  342. package/lib-esm/draw/drawPolygonOnIjs.js +39 -0
  343. package/lib-esm/draw/drawPolygonOnIjs.js.map +1 -0
  344. package/lib-esm/draw/drawPolygonOnMask.d.ts +19 -0
  345. package/lib-esm/draw/drawPolygonOnMask.d.ts.map +1 -0
  346. package/lib-esm/draw/drawPolygonOnMask.js +30 -0
  347. package/lib-esm/draw/drawPolygonOnMask.js.map +1 -0
  348. package/lib-esm/draw/drawPolylineOnIjs.d.ts +24 -0
  349. package/lib-esm/draw/drawPolylineOnIjs.d.ts.map +1 -0
  350. package/lib-esm/draw/drawPolylineOnIjs.js +25 -0
  351. package/lib-esm/draw/drawPolylineOnIjs.js.map +1 -0
  352. package/lib-esm/draw/drawPolylineOnMask.d.ts +18 -0
  353. package/lib-esm/draw/drawPolylineOnMask.d.ts.map +1 -0
  354. package/lib-esm/draw/drawPolylineOnMask.js +19 -0
  355. package/lib-esm/draw/drawPolylineOnMask.js.map +1 -0
  356. package/lib-esm/draw/drawRectangle.d.ts +46 -0
  357. package/lib-esm/draw/drawRectangle.d.ts.map +1 -0
  358. package/lib-esm/draw/drawRectangle.js +51 -0
  359. package/lib-esm/draw/drawRectangle.js.map +1 -0
  360. package/lib-esm/draw/index.d.ts +9 -0
  361. package/lib-esm/draw/index.d.ts.map +1 -0
  362. package/lib-esm/draw/index.js +9 -0
  363. package/lib-esm/draw/index.js.map +1 -0
  364. package/lib-esm/draw/utils/deleteDuplicates.d.ts +9 -0
  365. package/lib-esm/draw/utils/deleteDuplicates.d.ts.map +1 -0
  366. package/lib-esm/draw/utils/deleteDuplicates.js +20 -0
  367. package/lib-esm/draw/utils/deleteDuplicates.js.map +1 -0
  368. package/lib-esm/draw/utils/lineUtils.d.ts +33 -0
  369. package/lib-esm/draw/utils/lineUtils.d.ts.map +1 -0
  370. package/lib-esm/draw/utils/lineUtils.js +39 -0
  371. package/lib-esm/draw/utils/lineUtils.js.map +1 -0
  372. package/lib-esm/filters/convolution.js +7 -4
  373. package/lib-esm/filters/convolution.js.map +1 -1
  374. package/lib-esm/filters/flip.d.ts +23 -0
  375. package/lib-esm/filters/flip.d.ts.map +1 -0
  376. package/lib-esm/filters/flip.js +25 -0
  377. package/lib-esm/filters/flip.js.map +1 -0
  378. package/lib-esm/filters/flipX.d.ts +9 -0
  379. package/lib-esm/filters/flipX.d.ts.map +1 -0
  380. package/lib-esm/filters/flipX.js +25 -0
  381. package/lib-esm/filters/flipX.js.map +1 -0
  382. package/lib-esm/filters/flipY.d.ts +9 -0
  383. package/lib-esm/filters/flipY.d.ts.map +1 -0
  384. package/lib-esm/filters/flipY.js +25 -0
  385. package/lib-esm/filters/flipY.js.map +1 -0
  386. package/lib-esm/filters/gaussianBlur.d.ts +5 -5
  387. package/lib-esm/filters/gaussianBlur.d.ts.map +1 -1
  388. package/lib-esm/filters/gaussianBlur.js.map +1 -1
  389. package/lib-esm/filters/index.d.ts +2 -0
  390. package/lib-esm/filters/index.d.ts.map +1 -1
  391. package/lib-esm/filters/index.js +2 -0
  392. package/lib-esm/filters/index.js.map +1 -1
  393. package/lib-esm/filters/level.d.ts +53 -0
  394. package/lib-esm/filters/level.d.ts.map +1 -0
  395. package/lib-esm/filters/level.js +33 -0
  396. package/lib-esm/filters/level.js.map +1 -0
  397. package/lib-esm/geometry/resize.js +14 -10
  398. package/lib-esm/geometry/resize.js.map +1 -1
  399. package/lib-esm/geometry/rotate.d.ts +1 -1
  400. package/lib-esm/geometry/rotate.js +1 -1
  401. package/lib-esm/geometry/transform.js +8 -5
  402. package/lib-esm/geometry/transform.js.map +1 -1
  403. package/lib-esm/index.d.ts +1 -0
  404. package/lib-esm/index.d.ts.map +1 -1
  405. package/lib-esm/index.js +1 -0
  406. package/lib-esm/index.js.map +1 -1
  407. package/lib-esm/load/decodePng.js +5 -2
  408. package/lib-esm/load/decodePng.js.map +1 -1
  409. package/lib-esm/load/decodeTiff.js +1 -1
  410. package/lib-esm/load/decodeTiff.js.map +1 -1
  411. package/lib-esm/load/readCanvas.d.ts +6 -0
  412. package/lib-esm/load/readCanvas.d.ts.map +1 -1
  413. package/lib-esm/load/readCanvas.js +6 -0
  414. package/lib-esm/load/readCanvas.js.map +1 -1
  415. package/lib-esm/load/readImg.d.ts +6 -0
  416. package/lib-esm/load/readImg.d.ts.map +1 -1
  417. package/lib-esm/load/readImg.js +6 -0
  418. package/lib-esm/load/readImg.js.map +1 -1
  419. package/lib-esm/morphology/cannyEdgeDetector.js +18 -18
  420. package/lib-esm/morphology/cannyEdgeDetector.js.map +1 -1
  421. package/lib-esm/morphology/clearBorder.d.ts +2 -2
  422. package/lib-esm/morphology/clearBorder.d.ts.map +1 -1
  423. package/lib-esm/morphology/clearBorder.js +11 -76
  424. package/lib-esm/morphology/clearBorder.js.map +1 -1
  425. package/lib-esm/morphology/dilate.js +9 -9
  426. package/lib-esm/morphology/dilate.js.map +1 -1
  427. package/lib-esm/morphology/erode.js +9 -9
  428. package/lib-esm/morphology/erode.js.map +1 -1
  429. package/lib-esm/morphology/floodFill.d.ts +14 -2
  430. package/lib-esm/morphology/floodFill.d.ts.map +1 -1
  431. package/lib-esm/morphology/floodFill.js +10 -7
  432. package/lib-esm/morphology/floodFill.js.map +1 -1
  433. package/lib-esm/morphology/index.d.ts +1 -0
  434. package/lib-esm/morphology/index.d.ts.map +1 -1
  435. package/lib-esm/morphology/index.js +1 -0
  436. package/lib-esm/morphology/index.js.map +1 -1
  437. package/lib-esm/morphology/multipleFloodFill.d.ts +41 -0
  438. package/lib-esm/morphology/multipleFloodFill.d.ts.map +1 -0
  439. package/lib-esm/morphology/multipleFloodFill.js +89 -0
  440. package/lib-esm/morphology/multipleFloodFill.js.map +1 -0
  441. package/lib-esm/morphology/solidFill.d.ts +22 -0
  442. package/lib-esm/morphology/solidFill.d.ts.map +1 -0
  443. package/lib-esm/morphology/solidFill.js +16 -0
  444. package/lib-esm/morphology/solidFill.js.map +1 -0
  445. package/lib-esm/operations/convertColor.js +1 -1
  446. package/lib-esm/operations/convertColor.js.map +1 -1
  447. package/lib-esm/operations/convertDepth.js +1 -1
  448. package/lib-esm/operations/convertDepth.js.map +1 -1
  449. package/lib-esm/operations/copyTo.d.ts +7 -14
  450. package/lib-esm/operations/copyTo.d.ts.map +1 -1
  451. package/lib-esm/operations/copyTo.js +16 -30
  452. package/lib-esm/operations/copyTo.js.map +1 -1
  453. package/lib-esm/operations/crop.d.ts +41 -0
  454. package/lib-esm/operations/crop.d.ts.map +1 -0
  455. package/lib-esm/operations/crop.js +43 -0
  456. package/lib-esm/operations/crop.js.map +1 -0
  457. package/lib-esm/operations/extract.d.ts +26 -0
  458. package/lib-esm/operations/extract.d.ts.map +1 -0
  459. package/lib-esm/operations/extract.js +38 -0
  460. package/lib-esm/operations/extract.js.map +1 -0
  461. package/lib-esm/operations/grey.d.ts +1 -1
  462. package/lib-esm/operations/grey.d.ts.map +1 -1
  463. package/lib-esm/operations/grey.js +1 -1
  464. package/lib-esm/operations/grey.js.map +1 -1
  465. package/lib-esm/operations/greyAlgorithms.d.ts +6 -6
  466. package/lib-esm/operations/greyAlgorithms.d.ts.map +1 -1
  467. package/lib-esm/operations/greyAlgorithms.js +6 -6
  468. package/lib-esm/operations/greyAlgorithms.js.map +1 -1
  469. package/lib-esm/operations/index.d.ts +3 -0
  470. package/lib-esm/operations/index.d.ts.map +1 -1
  471. package/lib-esm/operations/index.js +3 -0
  472. package/lib-esm/operations/index.js.map +1 -1
  473. package/lib-esm/operations/paintMask.d.ts +42 -0
  474. package/lib-esm/operations/paintMask.d.ts.map +1 -0
  475. package/lib-esm/operations/paintMask.js +53 -0
  476. package/lib-esm/operations/paintMask.js.map +1 -0
  477. package/lib-esm/operations/thresholds/huang.d.ts.map +1 -1
  478. package/lib-esm/operations/thresholds/huang.js +2 -1
  479. package/lib-esm/operations/thresholds/huang.js.map +1 -1
  480. package/lib-esm/operations/thresholds/maxEntropy.js.map +1 -1
  481. package/lib-esm/operations/thresholds/renyiEntropy.d.ts.map +1 -1
  482. package/lib-esm/operations/thresholds/renyiEntropy.js +4 -6
  483. package/lib-esm/operations/thresholds/renyiEntropy.js.map +1 -1
  484. package/lib-esm/operations/thresholds/shanbhag.d.ts +0 -1
  485. package/lib-esm/operations/thresholds/shanbhag.d.ts.map +1 -1
  486. package/lib-esm/operations/thresholds/shanbhag.js +0 -1
  487. package/lib-esm/operations/thresholds/shanbhag.js.map +1 -1
  488. package/lib-esm/operations/thresholds/yen.js.map +1 -1
  489. package/lib-esm/roi/Roi.d.ts +51 -0
  490. package/lib-esm/roi/Roi.d.ts.map +1 -0
  491. package/lib-esm/roi/Roi.js +59 -0
  492. package/lib-esm/roi/Roi.js.map +1 -0
  493. package/lib-esm/roi/RoiMapManager.d.ts +28 -3
  494. package/lib-esm/roi/RoiMapManager.d.ts.map +1 -1
  495. package/lib-esm/roi/RoiMapManager.js +28 -2
  496. package/lib-esm/roi/RoiMapManager.js.map +1 -1
  497. package/lib-esm/roi/colorRois.d.ts +2 -1
  498. package/lib-esm/roi/colorRois.d.ts.map +1 -1
  499. package/lib-esm/roi/colorRois.js +6 -5
  500. package/lib-esm/roi/colorRois.js.map +1 -1
  501. package/lib-esm/roi/computeRois.d.ts +8 -0
  502. package/lib-esm/roi/computeRois.d.ts.map +1 -0
  503. package/lib-esm/roi/computeRois.js +79 -0
  504. package/lib-esm/roi/computeRois.js.map +1 -0
  505. package/lib-esm/roi/fromMask.d.ts +2 -2
  506. package/lib-esm/roi/fromMask.d.ts.map +1 -1
  507. package/lib-esm/roi/fromMask.js +14 -15
  508. package/lib-esm/roi/fromMask.js.map +1 -1
  509. package/lib-esm/roi/getBorderPoints.d.ts +26 -0
  510. package/lib-esm/roi/getBorderPoints.d.ts.map +1 -0
  511. package/lib-esm/roi/getBorderPoints.js +56 -0
  512. package/lib-esm/roi/getBorderPoints.js.map +1 -0
  513. package/lib-esm/roi/getMask/getContourMask.d.ts +32 -0
  514. package/lib-esm/roi/getMask/getContourMask.d.ts.map +1 -0
  515. package/lib-esm/roi/getMask/getContourMask.js +33 -0
  516. package/lib-esm/roi/getMask/getContourMask.js.map +1 -0
  517. package/lib-esm/roi/getMask/getConvexHullMask.d.ts +20 -0
  518. package/lib-esm/roi/getMask/getConvexHullMask.d.ts.map +1 -0
  519. package/lib-esm/roi/getMask/getConvexHullMask.js +23 -0
  520. package/lib-esm/roi/getMask/getConvexHullMask.js.map +1 -0
  521. package/lib-esm/roi/getMask.d.ts +14 -0
  522. package/lib-esm/roi/getMask.d.ts.map +1 -0
  523. package/lib-esm/roi/getMask.js +21 -0
  524. package/lib-esm/roi/getMask.js.map +1 -0
  525. package/lib-esm/roi/getRois.d.ts +36 -0
  526. package/lib-esm/roi/getRois.d.ts.map +1 -0
  527. package/lib-esm/roi/getRois.js +36 -0
  528. package/lib-esm/roi/getRois.js.map +1 -0
  529. package/lib-esm/roi/index.d.ts +0 -1
  530. package/lib-esm/roi/index.d.ts.map +1 -1
  531. package/lib-esm/roi/index.js +0 -1
  532. package/lib-esm/roi/index.js.map +1 -1
  533. package/lib-esm/roi/utils/colorMaps/getBinaryMap.d.ts +1 -1
  534. package/lib-esm/roi/utils/colorMaps/getBinaryMap.d.ts.map +1 -1
  535. package/lib-esm/roi/utils/colorMaps/getBinaryMap.js +1 -1
  536. package/lib-esm/roi/utils/colorMaps/getBinaryMap.js.map +1 -1
  537. package/lib-esm/roi/utils/colorMaps/getRainbowMap.d.ts +1 -1
  538. package/lib-esm/roi/utils/colorMaps/getRainbowMap.d.ts.map +1 -1
  539. package/lib-esm/roi/utils/colorMaps/getRainbowMap.js +1 -1
  540. package/lib-esm/roi/utils/colorMaps/getRainbowMap.js.map +1 -1
  541. package/lib-esm/roi/utils/colorMaps/getSaturationMap.d.ts +1 -6
  542. package/lib-esm/roi/utils/colorMaps/getSaturationMap.d.ts.map +1 -1
  543. package/lib-esm/roi/utils/colorMaps/getSaturationMap.js +2 -2
  544. package/lib-esm/roi/utils/colorMaps/getSaturationMap.js.map +1 -1
  545. package/lib-esm/roi/utils/getColorMap.d.ts +1 -1
  546. package/lib-esm/roi/utils/getColorMap.d.ts.map +1 -1
  547. package/lib-esm/roi/utils/getColorMap.js +2 -0
  548. package/lib-esm/roi/utils/getColorMap.js.map +1 -1
  549. package/lib-esm/roi/utils/monotoneChainConvexHull.d.ts +15 -0
  550. package/lib-esm/roi/utils/monotoneChainConvexHull.d.ts.map +1 -0
  551. package/lib-esm/roi/utils/monotoneChainConvexHull.js +45 -0
  552. package/lib-esm/roi/utils/monotoneChainConvexHull.js.map +1 -0
  553. package/lib-esm/save/write.js +4 -1
  554. package/lib-esm/save/write.js.map +1 -1
  555. package/lib-esm/utils/arrayPointsToObjects.d.ts +9 -0
  556. package/lib-esm/utils/arrayPointsToObjects.d.ts.map +1 -0
  557. package/lib-esm/utils/arrayPointsToObjects.js +14 -0
  558. package/lib-esm/utils/arrayPointsToObjects.js.map +1 -0
  559. package/lib-esm/utils/assert.d.ts +8 -0
  560. package/lib-esm/utils/assert.d.ts.map +1 -0
  561. package/lib-esm/utils/assert.js +12 -0
  562. package/lib-esm/utils/assert.js.map +1 -0
  563. package/lib-esm/utils/checkProcessable.d.ts +2 -2
  564. package/lib-esm/utils/checkProcessable.d.ts.map +1 -1
  565. package/lib-esm/utils/checkProcessable.js.map +1 -1
  566. package/lib-esm/utils/getDefaultColor.d.ts +10 -0
  567. package/lib-esm/utils/getDefaultColor.d.ts.map +1 -0
  568. package/lib-esm/utils/getDefaultColor.js +24 -0
  569. package/lib-esm/utils/getDefaultColor.js.map +1 -0
  570. package/lib-esm/utils/getIndex.d.ts +2 -10
  571. package/lib-esm/utils/getIndex.d.ts.map +1 -1
  572. package/lib-esm/utils/getIndex.js +4 -4
  573. package/lib-esm/utils/getIndex.js.map +1 -1
  574. package/lib-esm/utils/getMinMax.d.ts +12 -0
  575. package/lib-esm/utils/getMinMax.d.ts.map +1 -0
  576. package/lib-esm/utils/getMinMax.js +25 -0
  577. package/lib-esm/utils/getMinMax.js.map +1 -0
  578. package/lib-esm/utils/getOutputImage.d.ts.map +1 -1
  579. package/lib-esm/utils/getOutputImage.js +5 -4
  580. package/lib-esm/utils/getOutputImage.js.map +1 -1
  581. package/lib-esm/utils/interpolateBorder.d.ts +28 -12
  582. package/lib-esm/utils/interpolateBorder.d.ts.map +1 -1
  583. package/lib-esm/utils/interpolateBorder.js +36 -20
  584. package/lib-esm/utils/interpolateBorder.js.map +1 -1
  585. package/lib-esm/utils/interpolatePixel.js +23 -11
  586. package/lib-esm/utils/interpolatePixel.js.map +1 -1
  587. package/lib-esm/utils/round.d.ts +6 -0
  588. package/lib-esm/utils/round.d.ts.map +1 -1
  589. package/lib-esm/utils/round.js +6 -0
  590. package/lib-esm/utils/round.js.map +1 -1
  591. package/lib-esm/utils/setBlendedPixel.d.ts +20 -0
  592. package/lib-esm/utils/setBlendedPixel.d.ts.map +1 -0
  593. package/lib-esm/utils/setBlendedPixel.js +37 -0
  594. package/lib-esm/utils/setBlendedPixel.js.map +1 -0
  595. package/lib-esm/utils/types.d.ts +17 -0
  596. package/lib-esm/utils/types.d.ts.map +1 -0
  597. package/lib-esm/utils/types.js +2 -0
  598. package/lib-esm/utils/types.js.map +1 -0
  599. package/package.json +36 -35
  600. package/src/IJS.ts +244 -45
  601. package/src/Mask.ts +185 -16
  602. package/src/correctColor/correctColor.ts +106 -0
  603. package/src/correctColor/index.ts +1 -0
  604. package/src/correctColor/utils/formatData.ts +85 -0
  605. package/src/correctColor/utils/getImageColors.ts +24 -0
  606. package/src/draw/drawCircleOnIjs.ts +89 -0
  607. package/src/draw/drawLineOnIjs.ts +57 -0
  608. package/src/draw/drawLineOnMask.ts +41 -0
  609. package/src/draw/drawPolygonOnIjs.ts +62 -0
  610. package/src/draw/drawPolygonOnMask.ts +51 -0
  611. package/src/draw/drawPolylineOnIjs.ts +47 -0
  612. package/src/draw/drawPolylineOnMask.ts +34 -0
  613. package/src/draw/drawRectangle.ts +130 -0
  614. package/src/draw/index.ts +8 -0
  615. package/src/draw/utils/deleteDuplicates.ts +22 -0
  616. package/src/draw/utils/lineUtils.ts +57 -0
  617. package/src/filters/convolution.ts +7 -4
  618. package/src/filters/flip.ts +38 -0
  619. package/src/filters/flipX.ts +33 -0
  620. package/src/filters/flipY.ts +35 -0
  621. package/src/filters/gaussianBlur.ts +5 -6
  622. package/src/filters/index.ts +2 -0
  623. package/src/filters/level.ts +96 -0
  624. package/src/geometry/resize.ts +15 -10
  625. package/src/geometry/rotate.ts +1 -1
  626. package/src/geometry/transform.ts +9 -6
  627. package/src/index.ts +1 -0
  628. package/src/load/decodePng.ts +5 -2
  629. package/src/load/decodeTiff.ts +1 -1
  630. package/src/load/readCanvas.ts +6 -0
  631. package/src/load/readImg.ts +6 -0
  632. package/src/morphology/cannyEdgeDetector.ts +18 -18
  633. package/src/morphology/clearBorder.ts +12 -91
  634. package/src/morphology/dilate.ts +9 -9
  635. package/src/morphology/erode.ts +9 -9
  636. package/src/morphology/floodFill.ts +24 -9
  637. package/src/morphology/index.ts +1 -0
  638. package/src/morphology/multipleFloodFill.ts +143 -0
  639. package/src/morphology/solidFill.ts +31 -0
  640. package/src/operations/convertColor.ts +1 -1
  641. package/src/operations/convertDepth.ts +1 -1
  642. package/src/operations/copyTo.ts +45 -71
  643. package/src/operations/crop.ts +94 -0
  644. package/src/operations/extract.ts +78 -0
  645. package/src/operations/grey.ts +1 -1
  646. package/src/operations/greyAlgorithms.ts +8 -6
  647. package/src/operations/index.ts +3 -0
  648. package/src/operations/paintMask.ts +121 -0
  649. package/src/operations/thresholds/huang.ts +2 -1
  650. package/src/operations/thresholds/maxEntropy.ts +3 -3
  651. package/src/operations/thresholds/renyiEntropy.ts +6 -8
  652. package/src/operations/thresholds/shanbhag.ts +3 -4
  653. package/src/operations/thresholds/yen.ts +4 -4
  654. package/src/roi/Roi.ts +76 -0
  655. package/src/roi/RoiMapManager.ts +38 -4
  656. package/src/roi/colorRois.ts +7 -5
  657. package/src/roi/computeRois.ts +89 -0
  658. package/src/roi/fromMask.ts +17 -17
  659. package/src/roi/getBorderPoints.ts +86 -0
  660. package/src/roi/getMask/getContourMask.ts +61 -0
  661. package/src/roi/getMask/getConvexHullMask.ts +41 -0
  662. package/src/roi/getMask.ts +32 -0
  663. package/src/roi/getRois.ts +69 -0
  664. package/src/roi/index.ts +0 -1
  665. package/src/roi/utils/colorMaps/getBinaryMap.ts +1 -1
  666. package/src/roi/utils/colorMaps/getRainbowMap.ts +1 -1
  667. package/src/roi/utils/colorMaps/getSaturationMap.ts +2 -7
  668. package/src/roi/utils/getColorMap.ts +2 -1
  669. package/src/roi/utils/monotoneChainConvexHull.ts +62 -0
  670. package/src/save/write.ts +4 -1
  671. package/src/types/bresenham-zingl.d.ts +53 -0
  672. package/src/utils/arrayPointsToObjects.ts +16 -0
  673. package/src/utils/assert.ts +11 -0
  674. package/src/utils/checkProcessable.ts +2 -2
  675. package/src/utils/getDefaultColor.ts +29 -0
  676. package/src/utils/getIndex.ts +12 -5
  677. package/src/utils/getMinMax.ts +28 -0
  678. package/src/utils/getOutputImage.ts +9 -11
  679. package/src/utils/interpolateBorder.ts +36 -20
  680. package/src/utils/interpolatePixel.ts +23 -11
  681. package/src/utils/round.ts +6 -0
  682. package/src/utils/setBlendedPixel.ts +63 -0
  683. package/src/utils/types.ts +17 -0
  684. package/lib/roi/RoiManager.d.ts +0 -32
  685. package/lib/roi/RoiManager.d.ts.map +0 -1
  686. package/lib/roi/RoiManager.js +0 -10
  687. package/lib/roi/RoiManager.js.map +0 -1
  688. package/lib-esm/roi/RoiManager.d.ts +0 -32
  689. package/lib-esm/roi/RoiManager.d.ts.map +0 -1
  690. package/lib-esm/roi/RoiManager.js +0 -7
  691. package/lib-esm/roi/RoiManager.js.map +0 -1
  692. package/src/roi/RoiManager.ts +0 -34
package/lib/IJS.d.ts CHANGED
@@ -1,13 +1,17 @@
1
+ import { RgbColor } from 'colord';
1
2
  import { Mask } from './Mask';
2
- import { BlurOptions, ConvolutionOptions, GaussianBlurOptions, SubtractImageOptions, HypotenuseOptions, GradientFilterOptions, DerivativeFilterOptions } from './filters';
3
- import { InvertOptions } from './filters/invert';
3
+ import { DrawPolygonOnIjsOptions, DrawPolylineOnIjsOptions, DrawCircleOnIjsOptions, DrawRectangleOptions, DrawLineOnIjsOptions } from './draw';
4
+ import { BlurOptions, ConvolutionOptions, GaussianBlurOptions, SubtractImageOptions, HypotenuseOptions, GradientFilterOptions, DerivativeFilterOptions, FlipOptions, InvertOptions, LevelOptions } from './filters';
4
5
  import { BottomHatOptions, CannyEdgeOptions, CloseOptions, DilateOptions, ErodeOptions, MorphologicalGradientOptions, OpenOptions, TopHatOptions } from './morphology';
5
- import { ConvertColorOptions } from './operations/convertColor';
6
- import { CopyToOptions } from './operations/copyTo';
6
+ import { ConvertColorOptions, CopyToOptions, CropOptions, PaintMaskOptions } from './operations';
7
7
  import { ImageColorModel, colorModels } from './utils/colorModels';
8
- import { GreyOptions, HistogramOptions, ResizeOptions, RotateOptions, ThresholdOptions, TransformOptions } from '.';
8
+ import { Point } from './utils/types';
9
+ import { ExtractOptions, GreyOptions, HistogramOptions, ResizeOptions, RotateOptions, ThresholdOptions, TransformOptions } from '.';
9
10
  export { ImageColorModel, colorModels };
10
11
  export declare type ImageDataArray = Uint8Array | Uint16Array | Uint8ClampedArray;
12
+ /**
13
+ * Bit depth of the image (nb of bits that encode each value in the image).
14
+ */
11
15
  export declare enum ColorDepth {
12
16
  UINT1 = 1,
13
17
  UINT8 = 8,
@@ -102,37 +106,51 @@ export declare class IJS {
102
106
  /**
103
107
  * Get all the channels of a pixel.
104
108
  *
105
- * @param row - Row index.
106
109
  * @param column - Column index.
110
+ * @param row - Row index.
107
111
  * @returns Channels of the pixel.
108
112
  */
109
- getPixel(row: number, column: number): number[];
113
+ getPixel(column: number, row: number): number[];
110
114
  /**
111
115
  * Set all the channels of a pixel.
112
116
  *
113
- * @param row - Row index.
114
117
  * @param column - Column index.
118
+ * @param row - Row index.
115
119
  * @param value - New channel values of the pixel to set.
116
120
  */
117
- setPixel(row: number, column: number, value: number[]): void;
121
+ setPixel(column: number, row: number, value: number[]): void;
122
+ /**
123
+ * Get all the channels of a pixel using its index.
124
+ *
125
+ * @param index - Index of the pixel.
126
+ * @returns Channels of the pixel.
127
+ */
128
+ getPixelByIndex(index: number): number[];
129
+ /**
130
+ * Set all the channels of a pixel using its index.
131
+ *
132
+ * @param index - Index of the pixel.
133
+ * @param value - New channel values of the pixel to set.
134
+ */
135
+ setPixelByIndex(index: number, value: number[]): void;
118
136
  /**
119
137
  * Get the value of a specific pixel channel. Select pixel using coordinates.
120
138
  *
121
- * @param row - Row index.
122
139
  * @param column - Column index.
140
+ * @param row - Row index.
123
141
  * @param channel - Channel index.
124
142
  * @returns Value of the specified channel of one pixel.
125
143
  */
126
- getValue(row: number, column: number, channel: number): number;
144
+ getValue(column: number, row: number, channel: number): number;
127
145
  /**
128
146
  * Set the value of a specific pixel channel. Select pixel using coordinates.
129
147
  *
130
- * @param row - Row index.
131
148
  * @param column - Column index.
149
+ * @param row - Row index.
132
150
  * @param channel - Channel index.
133
151
  * @param value - Value to set.
134
152
  */
135
- setValue(row: number, column: number, channel: number, value: number): void;
153
+ setValue(column: number, row: number, channel: number, value: number): void;
136
154
  /**
137
155
  * Get the value of a specific pixel channel. Select pixel using index.
138
156
  *
@@ -189,15 +207,91 @@ export declare class IJS {
189
207
  * @returns The image clone.
190
208
  */
191
209
  clone(): IJS;
210
+ /**
211
+ * Modify all the values of the image using the given callback.
212
+ *
213
+ * @param cb - Callback that modifies a given value-
214
+ */
192
215
  changeEach(cb: (value: number) => number): void;
216
+ /**
217
+ * Get the coordinates of a point in the image. The reference is the top-left corner.
218
+ *
219
+ * @param coordinates - The point for which you want the coordinates.
220
+ * @param round - Should the coordinates be rounded? This is useful when you want the center of the image.
221
+ * @returns Coordinates of the point in the format [x, y].
222
+ */
193
223
  getCoordinates(coordinates: ImageCoordinates, round?: boolean): [number, number];
194
224
  histogram(options?: HistogramOptions): Uint32Array;
225
+ /**
226
+ * Draw a line defined by two points onto an image.
227
+ *
228
+ * @param from - Line starting point.
229
+ * @param to - Line ending point.
230
+ * @param options - Draw Line options.
231
+ * @returns The mask with the line drawing.
232
+ */
233
+ drawLine(from: Point, to: Point, options?: DrawLineOnIjsOptions): IJS;
234
+ /**
235
+ * Draw a rectangle defined by position of the top-left corner, width and height.
236
+ *
237
+ * @param options - Draw rectangle options.
238
+ * @returns The image with the rectangle drawing.
239
+ */
240
+ drawRectangle(options?: DrawRectangleOptions<IJS>): IJS;
241
+ /**
242
+ * Draw a polyline defined by an array of points on an image.
243
+ *
244
+ * @param points - Polyline array of points.
245
+ * @param options - Draw polyline options.
246
+ * @returns The image with the polyline drawing.
247
+ */
248
+ drawPolyline(points: Point[], options?: DrawPolylineOnIjsOptions): IJS;
249
+ /**
250
+ * Draw a polygon defined by an array of points onto an image.
251
+ *
252
+ * @param points - Polygon vertices.
253
+ * @param options - Draw Line options.
254
+ * @returns The image with the polygon drawing.
255
+ */
256
+ drawPolygon(points: Point[], options?: DrawPolygonOnIjsOptions): IJS;
257
+ /**
258
+ * Draw a circle defined by center and radius onto an image.
259
+ *
260
+ * @param center - Circle center.
261
+ * @param radius - Circle radius
262
+ * @param options - Draw circle options.
263
+ * @returns The image with the circle drawing.
264
+ */
265
+ drawCircle(center: Point, radius: number, options: DrawCircleOnIjsOptions): IJS;
195
266
  split(): IJS[];
196
267
  convertColor(colorModel: ImageColorModel, options?: ConvertColorOptions): IJS;
197
268
  convertDepth(newDepth: ColorDepth): IJS;
198
269
  grey(options?: GreyOptions): IJS;
199
- copyTo(target: IJS, options?: CopyToOptions): IJS;
270
+ copyTo(target: IJS, options?: CopyToOptions<IJS>): IJS;
200
271
  threshold(options?: ThresholdOptions): Mask;
272
+ /**
273
+ * Crop the input image to a desired size.
274
+ *
275
+ * @param [options] - Crop options.
276
+ * @returns The new cropped image
277
+ */
278
+ crop(options?: CropOptions): IJS;
279
+ /**
280
+ * Extract the pixels of an image, as specified in a mask.
281
+ *
282
+ * @param mask - The mask defining which pixels to keep.
283
+ * @param options - Extract options.
284
+ * @returns The extracted image.
285
+ */
286
+ extract(mask: Mask, options?: ExtractOptions): IJS;
287
+ /**
288
+ * Paint a mask onto an image and the given position and with the given color.
289
+ *
290
+ * @param mask - Mask to paint on the image.
291
+ * @param options - Paint mask options.
292
+ * @returns The painted image.
293
+ */
294
+ paintMask(mask: Mask, options?: PaintMaskOptions): IJS;
201
295
  blur(options: BlurOptions): IJS;
202
296
  directConvolution(kernel: number[][], options?: ConvolutionOptions): IJS;
203
297
  /**
@@ -216,6 +310,13 @@ export declare class IJS {
216
310
  * @returns The blurred image.
217
311
  */
218
312
  gaussianBlur(options: GaussianBlurOptions): IJS;
313
+ /**
314
+ * Flip the image.
315
+ *
316
+ * @param options - Flip options
317
+ * @returns The flipped image.
318
+ */
319
+ flip(options?: FlipOptions): IJS;
219
320
  /**
220
321
  * Invert the colors of the image.
221
322
  *
@@ -253,6 +354,21 @@ export declare class IJS {
253
354
  * @returns The processed image.
254
355
  */
255
356
  derivativeFilter(options?: DerivativeFilterOptions): IJS;
357
+ /**
358
+ * Level the image using the optional input and output value. This function allows you to enhance the image's contrast.
359
+ *
360
+ * @param options - Level options.
361
+ * @returns The levelled image.
362
+ */
363
+ level(options?: LevelOptions): IJS;
364
+ /**
365
+ * Correct the colors in an image using the reference colors.
366
+ *
367
+ * @param measuredColors - Colors from the image, which will be compared to the reference.
368
+ * @param referenceColors - Reference colors.
369
+ * @returns Image with the colors corrected.
370
+ */
371
+ correctColor(measuredColors: RgbColor[], referenceColors: RgbColor[]): IJS;
256
372
  rotate(angle: number, options?: RotateOptions): IJS;
257
373
  resize(options: ResizeOptions): IJS;
258
374
  transform(transformMatrix: number[][], options?: TransformOptions): IJS;
package/lib/IJS.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"IJS.d.ts","sourceRoot":"","sources":["../src/IJS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IJS.d.ts","sourceRoot":"","sources":["../src/IJS.ts"],"names":[],"mappings":"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"}
package/lib/IJS.js CHANGED
@@ -1,23 +1,19 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.IJS = exports.ImageCoordinates = exports.ColorDepth = exports.colorModels = exports.ImageColorModel = void 0;
4
+ const correctColor_1 = require("./correctColor");
5
+ const draw_1 = require("./draw");
7
6
  const filters_1 = require("./filters");
8
- const hypotenuse_1 = require("./filters/hypotenuse");
9
- const invert_1 = require("./filters/invert");
10
7
  const morphology_1 = require("./morphology");
11
- const convertColor_1 = require("./operations/convertColor");
12
- const convertDepth_1 = require("./operations/convertDepth");
13
- const copyTo_1 = __importDefault(require("./operations/copyTo"));
14
- const grey_1 = __importDefault(require("./operations/grey"));
15
- const split_1 = require("./operations/split");
8
+ const operations_1 = require("./operations");
16
9
  const colorModels_1 = require("./utils/colorModels");
17
10
  Object.defineProperty(exports, "ImageColorModel", { enumerable: true, get: function () { return colorModels_1.ImageColorModel; } });
18
11
  Object.defineProperty(exports, "colorModels", { enumerable: true, get: function () { return colorModels_1.colorModels; } });
19
12
  const validators_1 = require("./utils/validators");
20
13
  const _1 = require(".");
14
+ /**
15
+ * Bit depth of the image (nb of bits that encode each value in the image).
16
+ */
21
17
  var ColorDepth;
22
18
  (function (ColorDepth) {
23
19
  ColorDepth[ColorDepth["UINT1"] = 1] = "UINT1";
@@ -92,7 +88,7 @@ class IJS {
92
88
  depth = ColorDepth.UINT8;
93
89
  }
94
90
  return new IJS(width, height, {
95
- depth: depth,
91
+ depth,
96
92
  colorModel: other.colorModel,
97
93
  ...options,
98
94
  });
@@ -100,11 +96,11 @@ class IJS {
100
96
  /**
101
97
  * Get all the channels of a pixel.
102
98
  *
103
- * @param row - Row index.
104
99
  * @param column - Column index.
100
+ * @param row - Row index.
105
101
  * @returns Channels of the pixel.
106
102
  */
107
- getPixel(row, column) {
103
+ getPixel(column, row) {
108
104
  const result = [];
109
105
  const start = (row * this.width + column) * this.channels;
110
106
  for (let i = 0; i < this.channels; i++) {
@@ -115,36 +111,62 @@ class IJS {
115
111
  /**
116
112
  * Set all the channels of a pixel.
117
113
  *
118
- * @param row - Row index.
119
114
  * @param column - Column index.
115
+ * @param row - Row index.
120
116
  * @param value - New channel values of the pixel to set.
121
117
  */
122
- setPixel(row, column, value) {
118
+ setPixel(column, row, value) {
123
119
  const start = (row * this.width + column) * this.channels;
124
120
  for (let i = 0; i < this.channels; i++) {
125
121
  this.data[start + i] = value[i];
126
122
  }
127
123
  }
124
+ /**
125
+ * Get all the channels of a pixel using its index.
126
+ *
127
+ * @param index - Index of the pixel.
128
+ * @returns Channels of the pixel.
129
+ */
130
+ getPixelByIndex(index) {
131
+ const result = [];
132
+ const start = index * this.channels;
133
+ for (let i = 0; i < this.channels; i++) {
134
+ result.push(this.data[start + i]);
135
+ }
136
+ return result;
137
+ }
138
+ /**
139
+ * Set all the channels of a pixel using its index.
140
+ *
141
+ * @param index - Index of the pixel.
142
+ * @param value - New channel values of the pixel to set.
143
+ */
144
+ setPixelByIndex(index, value) {
145
+ const start = index * this.channels;
146
+ for (let i = 0; i < this.channels; i++) {
147
+ this.data[start + i] = value[i];
148
+ }
149
+ }
128
150
  /**
129
151
  * Get the value of a specific pixel channel. Select pixel using coordinates.
130
152
  *
131
- * @param row - Row index.
132
153
  * @param column - Column index.
154
+ * @param row - Row index.
133
155
  * @param channel - Channel index.
134
156
  * @returns Value of the specified channel of one pixel.
135
157
  */
136
- getValue(row, column, channel) {
158
+ getValue(column, row, channel) {
137
159
  return this.data[(row * this.width + column) * this.channels + channel];
138
160
  }
139
161
  /**
140
162
  * Set the value of a specific pixel channel. Select pixel using coordinates.
141
163
  *
142
- * @param row - Row index.
143
164
  * @param column - Column index.
165
+ * @param row - Row index.
144
166
  * @param channel - Channel index.
145
167
  * @param value - Value to set.
146
168
  */
147
- setValue(row, column, channel, value) {
169
+ setValue(column, row, channel, value) {
148
170
  this.data[(row * this.width + column) * this.channels + channel] = value;
149
171
  }
150
172
  /**
@@ -253,11 +275,23 @@ class IJS {
253
275
  clone() {
254
276
  return IJS.createFrom(this, { data: this.data.slice() });
255
277
  }
278
+ /**
279
+ * Modify all the values of the image using the given callback.
280
+ *
281
+ * @param cb - Callback that modifies a given value-
282
+ */
256
283
  changeEach(cb) {
257
284
  for (let i = 0; i < this.data.length; i++) {
258
285
  this.data[i] = cb(this.data[i]);
259
286
  }
260
287
  }
288
+ /**
289
+ * Get the coordinates of a point in the image. The reference is the top-left corner.
290
+ *
291
+ * @param coordinates - The point for which you want the coordinates.
292
+ * @param round - Should the coordinates be rounded? This is useful when you want the center of the image.
293
+ * @returns Coordinates of the point in the format [x, y].
294
+ */
261
295
  getCoordinates(coordinates, round = false) {
262
296
  switch (coordinates) {
263
297
  case ImageCoordinates.CENTER: {
@@ -279,32 +313,113 @@ class IJS {
279
313
  case ImageCoordinates.BOTTOM_RIGHT:
280
314
  return [this.width - 1, this.height - 1];
281
315
  default:
282
- throw new Error(`Unknow image coordinates ${coordinates}`);
316
+ throw new Error(`Unknown image coordinates ${coordinates}`);
283
317
  }
284
318
  }
285
319
  // COMPUTE
286
320
  histogram(options) {
287
321
  return (0, _1.histogram)(this, options);
288
322
  }
323
+ // DRAW
324
+ /**
325
+ * Draw a line defined by two points onto an image.
326
+ *
327
+ * @param from - Line starting point.
328
+ * @param to - Line ending point.
329
+ * @param options - Draw Line options.
330
+ * @returns The mask with the line drawing.
331
+ */
332
+ drawLine(from, to, options = {}) {
333
+ return (0, draw_1.drawLineOnIjs)(this, from, to, options);
334
+ }
335
+ /**
336
+ * Draw a rectangle defined by position of the top-left corner, width and height.
337
+ *
338
+ * @param options - Draw rectangle options.
339
+ * @returns The image with the rectangle drawing.
340
+ */
341
+ drawRectangle(options = {}) {
342
+ return (0, draw_1.drawRectangle)(this, options);
343
+ }
344
+ /**
345
+ * Draw a polyline defined by an array of points on an image.
346
+ *
347
+ * @param points - Polyline array of points.
348
+ * @param options - Draw polyline options.
349
+ * @returns The image with the polyline drawing.
350
+ */
351
+ drawPolyline(points, options = {}) {
352
+ return (0, draw_1.drawPolylineOnIjs)(this, points, options);
353
+ }
354
+ /**
355
+ * Draw a polygon defined by an array of points onto an image.
356
+ *
357
+ * @param points - Polygon vertices.
358
+ * @param options - Draw Line options.
359
+ * @returns The image with the polygon drawing.
360
+ */
361
+ drawPolygon(points, options = {}) {
362
+ return (0, draw_1.drawPolygonOnIjs)(this, points, options);
363
+ }
364
+ /**
365
+ * Draw a circle defined by center and radius onto an image.
366
+ *
367
+ * @param center - Circle center.
368
+ * @param radius - Circle radius
369
+ * @param options - Draw circle options.
370
+ * @returns The image with the circle drawing.
371
+ */
372
+ drawCircle(center, radius, options) {
373
+ return (0, draw_1.drawCircleOnIjs)(this, center, radius, options);
374
+ }
289
375
  // OPERATIONS
290
376
  split() {
291
- return (0, split_1.split)(this);
377
+ return (0, operations_1.split)(this);
292
378
  }
293
379
  convertColor(colorModel, options) {
294
- return (0, convertColor_1.convertColor)(this, colorModel, options);
380
+ return (0, operations_1.convertColor)(this, colorModel, options);
295
381
  }
296
382
  convertDepth(newDepth) {
297
- return (0, convertDepth_1.convertDepth)(this, newDepth);
383
+ return (0, operations_1.convertDepth)(this, newDepth);
298
384
  }
299
385
  grey(options) {
300
- return (0, grey_1.default)(this, options);
386
+ return (0, operations_1.grey)(this, options);
301
387
  }
302
388
  copyTo(target, options = {}) {
303
- return (0, copyTo_1.default)(this, target, options);
389
+ return (0, operations_1.copyTo)(this, target, options);
304
390
  }
305
391
  threshold(options = {}) {
306
392
  return (0, _1.threshold)(this, options);
307
393
  }
394
+ /**
395
+ * Crop the input image to a desired size.
396
+ *
397
+ * @param [options] - Crop options.
398
+ * @returns The new cropped image
399
+ */
400
+ crop(options) {
401
+ return (0, operations_1.crop)(this, options);
402
+ }
403
+ /**
404
+ * Extract the pixels of an image, as specified in a mask.
405
+ *
406
+ * @param mask - The mask defining which pixels to keep.
407
+ * @param options - Extract options.
408
+ * @returns The extracted image.
409
+ */
410
+ extract(mask, options) {
411
+ return (0, _1.extract)(this, mask, options);
412
+ }
413
+ /**
414
+ * Paint a mask onto an image and the given position and with the given color.
415
+ *
416
+ * @param mask - Mask to paint on the image.
417
+ * @param options - Paint mask options.
418
+ * @returns The painted image.
419
+ */
420
+ paintMask(mask, options) {
421
+ return (0, operations_1.paintMask)(this, mask, options);
422
+ }
308
423
  // FILTERS
309
424
  blur(options) {
310
425
  return (0, filters_1.blur)(this, options);
@@ -334,6 +449,15 @@ class IJS {
334
449
  gaussianBlur(options) {
335
450
  return (0, filters_1.gaussianBlur)(this, options);
336
451
  }
452
+ /**
453
+ * Flip the image.
454
+ *
455
+ * @param options - Flip options
456
+ * @returns The flipped image.
457
+ */
458
+ flip(options) {
459
+ return (0, filters_1.flip)(this, options);
460
+ }
337
461
  /**
338
462
  * Invert the colors of the image.
339
463
  *
@@ -341,7 +465,7 @@ class IJS {
341
465
  * @returns The inverted image.
342
466
  */
343
467
  invert(options) {
344
- return (0, invert_1.invert)(this, options);
468
+ return (0, filters_1.invert)(this, options);
345
469
  }
346
470
  /**
347
471
  * Subtract other from an image.
@@ -361,7 +485,7 @@ class IJS {
361
485
  * @returns Hypotenuse of the two images.
362
486
  */
363
487
  hypotenuse(other, options) {
364
- return (0, hypotenuse_1.hypotenuse)(this, other, options);
488
+ return (0, filters_1.hypotenuse)(this, other, options);
365
489
  }
366
490
  /**
367
491
  * Apply a gradient filter to an image.
@@ -381,6 +505,25 @@ class IJS {
381
505
  derivativeFilter(options) {
382
506
  return (0, filters_1.derivativeFilter)(this, options);
383
507
  }
508
+ /**
509
+ * Level the image using the optional input and output value. This function allows you to enhance the image's contrast.
510
+ *
511
+ * @param options - Level options.
512
+ * @returns The levelled image.
513
+ */
514
+ level(options) {
515
+ return (0, filters_1.level)(this, options);
516
+ }
517
+ /**
518
+ * Correct the colors in an image using the reference colors.
519
+ *
520
+ * @param measuredColors - Colors from the image, which will be compared to the reference.
521
+ * @param referenceColors - Reference colors.
522
+ * @returns Image with the colors corrected.
523
+ */
524
+ correctColor(measuredColors, referenceColors) {
525
+ return (0, correctColor_1.correctColor)(this, measuredColors, referenceColors);
526
+ }
384
527
  // GEOMETRY
385
528
  rotate(angle, options) {
386
529
  return (0, _1.rotate)(this, angle, options);
@@ -504,31 +647,19 @@ function createPixelArray(size, channels, alpha, depth, maxValue) {
504
647
  * @returns Formatted string containing the image data.
505
648
  */
506
649
  function printData(img) {
507
- const channels = [];
508
- for (let c = 0; c < img.channels; c++) {
509
- channels.push(`[${printChannel(img, c)}]`);
510
- }
511
- return `{
512
- ${channels.join('\n\n ')}
513
- }`;
514
- }
515
- /**
516
- * Returns all values of a channel as a string.
517
- *
518
- * @param img - Input image.
519
- * @param channel - Specified channel.
520
- * @returns Formatted string with all values of a channel.
521
- */
522
- function printChannel(img, channel) {
523
650
  const result = [];
524
651
  const padding = img.depth === 8 ? 3 : 5;
525
- for (let i = 0; i < img.height; i++) {
526
- const line = [];
527
- for (let j = 0; j < img.width; j++) {
528
- line.push(String(img.getValue(i, j, channel)).padStart(padding, ' '));
652
+ for (let row = 0; row < img.height; row++) {
653
+ const currentRow = [];
654
+ for (let column = 0; column < img.width; column++) {
655
+ for (let channel = 0; channel < img.channels; channel++) {
656
+ currentRow.push(String(img.getValue(column, row, channel)).padStart(padding, ' '));
657
+ }
529
658
  }
530
- result.push(`[${line.join(' ')}]`);
659
+ result.push(`[${currentRow.join(' ')}]`);
531
660
  }
532
- return result.join('\n ');
661
+ return `{
662
+ ${`[\n ${result.join('\n ')}\n ]`}
663
+ }`;
533
664
  }
534
665
  //# sourceMappingURL=IJS.js.map
package/lib/IJS.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"IJS.js","sourceRoot":"","sources":["../src/IJS.ts"],"names":[],"mappings":";;;;;;AACA,uCAgBmB;AACnB,qDAAkD;AAClD,6CAAyD;AACzD,6CAiBsB;AACtB,4DAA8E;AAC9E,4DAAyD;AACzD,iEAA4D;AAC5D,6DAAqC;AACrC,8CAA2C;AAC3C,qDAAmE;AAiB1D,gGAjBA,6BAAe,OAiBA;AAAE,4FAjBA,yBAAW,OAiBA;AAhBrC,mDAAoE;AAEpE,wBAYW;AAMX,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,6CAAS,CAAA;IACT,6CAAS,CAAA;IACT,gDAAW,CAAA;AACb,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AAED,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;IACrB,2CAAuB,CAAA;IACvB,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;AAC/B,CAAC,EANW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAM3B;AA4BD,MAAa,GAAG;IAoDd;;;;;;OAMG;IACH,YACE,KAAa,EACb,MAAc,EACd,UAAwB,EAAE;QAE1B,MAAM,EACJ,KAAK,GAAG,UAAU,CAAC,KAAK,EACxB,IAAI,EACJ,UAAU,GAAG,6BAAe,CAAC,GAAG,GACjC,GAAG,OAAO,CAAC;QAEZ,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACzC,MAAM,IAAI,UAAU,CAClB,qDAAqD,KAAK,EAAE,CAC7D,CAAC;SACH;QAED,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YAC3C,MAAM,IAAI,UAAU,CAClB,sDAAsD,MAAM,EAAE,CAC/D,CAAC;SACH;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,MAAM,aAAa,GAAG,yBAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;QAEvC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;QAE/B,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAC1B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,CACd,CAAC;SACH;aAAM;YACL,IAAI,KAAK,KAAK,UAAU,CAAC,KAAK,IAAI,IAAI,YAAY,WAAW,EAAE;gBAC7D,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,0BAA0B,CAAC,CAAC;aAC9D;iBAAM,IAAI,KAAK,KAAK,UAAU,CAAC,MAAM,IAAI,IAAI,YAAY,UAAU,EAAE;gBACpE,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,yBAAyB,CAAC,CAAC;aAC7D;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;YACjD,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE;gBAClC,MAAM,IAAI,UAAU,CAClB,wBAAwB,IAAI,CAAC,MAAM,cAAc,cAAc,EAAE,CAClE,CAAC;aACH;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;IACH,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,UAAU,CACtB,KAAiB,EACjB,UAA6B,EAAE;QAE/B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC;QAC/D,IAAI,KAAK,CAAC;QACV,IAAI,KAAK,YAAY,GAAG,EAAE;YACxB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;SACrB;aAAM;YACL,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;SAC1B;QACD,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE;YAC5B,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,QAAQ,CAAC,GAAW,EAAE,MAAc;QACzC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;SACnC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,QAAQ,CAAC,GAAW,EAAE,MAAc,EAAE,KAAe;QAC1D,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IAED;;;;;;;OAOG;IACI,QAAQ,CAAC,GAAW,EAAE,MAAc,EAAE,OAAe;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;OAOG;IACI,QAAQ,CACb,GAAW,EACX,MAAc,EACd,OAAe,EACf,KAAa;QAEb,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,KAAK,CAAC;IAC3E,CAAC;IAED;;;;;;OAMG;IACI,eAAe,CAAC,KAAa,EAAE,OAAe;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;IACpD,CAAC;IACD;;;;;;OAMG;IACI,eAAe,CAAC,KAAa,EAAE,OAAe,EAAE,KAAa;QAClE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,KAAK,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACI,WAAW;QAChB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAEM,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC/C,OAAO;WACA,IAAI,CAAC,KAAK;YACT,IAAI,CAAC,MAAM;WACZ,IAAI,CAAC,KAAK;gBACL,IAAI,CAAC,UAAU;cACjB,IAAI,CAAC,QAAQ;UACjB,SAAS,CAAC,IAAI,CAAC;EACvB,CAAC;IACD,CAAC;IAED;;;;;OAKG;IACI,IAAI,CAAC,KAAwB;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,IAAA,0BAAa,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE;gBAClC,MAAM,IAAI,UAAU,CAClB,wDAAwD,IAAI,CAAC,QAAQ,UAAU,KAAK,CAAC,MAAM,UAAU,CACtG,CAAC;aACH;YACD,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;oBACvC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC7B;aACF;YACD,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAAC,OAAe,EAAE,KAAa;QAC/C,IAAA,4BAAe,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAA,0BAAa,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC9D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;SACtB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,SAAS,CAAC,KAAa;QAC5B,IAAA,0BAAa,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;SACH;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACI,KAAK;QACV,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAEM,UAAU,CAAC,EAA6B;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IAEM,cAAc,CACnB,WAA6B,EAC7B,KAAK,GAAG,KAAK;QAEb,QAAQ,WAAW,EAAE;YACnB,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC5B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,KAAK,EAAE;oBACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;iBACnD;qBAAM;oBACL,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;iBAC3B;aACF;YACD,KAAK,gBAAgB,CAAC,QAAQ;gBAC5B,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChB,KAAK,gBAAgB,CAAC,SAAS;gBAC7B,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,KAAK,gBAAgB,CAAC,WAAW;gBAC/B,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9B,KAAK,gBAAgB,CAAC,YAAY;gBAChC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3C;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,WAAW,EAAE,CAAC,CAAC;SAC9D;IACH,CAAC;IAED,UAAU;IACH,SAAS,CAAC,OAA0B;QACzC,OAAO,IAAA,YAAS,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,aAAa;IAEN,KAAK;QACV,OAAO,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAEM,YAAY,CACjB,UAA2B,EAC3B,OAA6B;QAE7B,OAAO,IAAA,2BAAY,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAEM,YAAY,CAAC,QAAoB;QACtC,OAAO,IAAA,2BAAY,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEM,IAAI,CAAC,OAAqB;QAC/B,OAAO,IAAA,cAAI,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,MAAW,EAAE,UAAyB,EAAE;QACpD,OAAO,IAAA,gBAAM,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,SAAS,CAAC,UAA4B,EAAE;QAC7C,OAAO,IAAA,YAAS,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,UAAU;IAEH,IAAI,CAAC,OAAoB;QAC9B,OAAO,IAAA,cAAI,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEM,iBAAiB,CACtB,MAAkB,EAClB,OAA4B;QAE5B,OAAO,IAAA,2BAAiB,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACI,oBAAoB,CACzB,MAAkB,EAClB,OAA4B;QAE5B,OAAO,IAAA,8BAAoB,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAEM,oBAAoB,CACzB,OAAiB,EACjB,OAAiB,EACjB,OAA4B;QAE5B,OAAO,IAAA,8BAAoB,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,OAA4B;QAC9C,OAAO,IAAA,sBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,OAAuB;QACnC,OAAO,IAAA,eAAM,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAAC,KAAU,EAAE,OAA8B;QAC7D,OAAO,IAAA,uBAAa,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACI,UAAU,CAAC,KAAU,EAAE,OAA2B;QACvD,OAAO,IAAA,uBAAU,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,OAA8B;QAClD,OAAO,IAAA,wBAAc,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,OAAiC;QACvD,OAAO,IAAA,0BAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,WAAW;IAEJ,MAAM,CAAC,KAAa,EAAE,OAAuB;QAClD,OAAO,IAAA,SAAM,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,OAAsB;QAClC,OAAO,IAAA,SAAM,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAEM,SAAS,CACd,eAA2B,EAC3B,OAA0B;QAE1B,OAAO,IAAA,YAAS,EAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,aAAa;IACb;;;;;OAKG;IACI,KAAK,CAAC,OAAsB;QACjC,OAAO,IAAA,kBAAK,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD;;;;;OAKG;IACI,MAAM,CAAC,OAAuB;QACnC,OAAO,IAAA,mBAAM,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD;;;;;OAKG;IACI,IAAI,CAAC,OAAqB;QAC/B,OAAO,IAAA,iBAAI,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAsB;QACjC,OAAO,IAAA,kBAAK,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,OAAuB;QACnC,OAAO,IAAA,mBAAM,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,SAAS,CAAC,OAA0B;QACzC,OAAO,IAAA,sBAAS,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACI,qBAAqB,CAAC,OAAsC;QACjE,OAAO,IAAA,kCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,OAA0B;QACjD,OAAO,IAAA,8BAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;CACF;AAjkBD,kBAikBC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CACvB,IAAY,EACZ,QAAgB,EAChB,KAAc,EACd,KAAiB,EACjB,QAAgB;IAEhB,MAAM,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC/B,IAAI,GAAG,CAAC;IACR,QAAQ,KAAK,EAAE;QACb,KAAK,UAAU,CAAC,KAAK;YACnB,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM;QACR,KAAK,UAAU,CAAC,MAAM;YACpB,GAAG,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9B,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;KACvD;IAED,oCAAoC;IACpC,IAAI,KAAK,EAAE;QACT,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,QAAQ,EAAE;YACpD,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;SACnB;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,GAAQ;IACzB,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;QACrC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;KAC5C;IACD,OAAO;MACH,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,GAAQ,EAAE,OAAe;IAC7C,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;SACvE;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACpC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"IJS.js","sourceRoot":"","sources":["../src/IJS.ts"],"names":[],"mappings":"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"}