manim-web 0.2.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 (356) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +109 -0
  3. package/dist/animation/Animation.d.ts +69 -0
  4. package/dist/animation/Animation.d.ts.map +1 -0
  5. package/dist/animation/AnimationGroup.d.ts +48 -0
  6. package/dist/animation/AnimationGroup.d.ts.map +1 -0
  7. package/dist/animation/LaggedStart.d.ts +25 -0
  8. package/dist/animation/LaggedStart.d.ts.map +1 -0
  9. package/dist/animation/MaintainPositionRelativeTo.d.ts +23 -0
  10. package/dist/animation/MaintainPositionRelativeTo.d.ts.map +1 -0
  11. package/dist/animation/Succession.d.ts +19 -0
  12. package/dist/animation/Succession.d.ts.map +1 -0
  13. package/dist/animation/Timeline.d.ts +89 -0
  14. package/dist/animation/Timeline.d.ts.map +1 -0
  15. package/dist/animation/UpdateFromAlphaFunc.d.ts +32 -0
  16. package/dist/animation/UpdateFromAlphaFunc.d.ts.map +1 -0
  17. package/dist/animation/UpdateFromFunc.d.ts +30 -0
  18. package/dist/animation/UpdateFromFunc.d.ts.map +1 -0
  19. package/dist/animation/changing/index.d.ts +213 -0
  20. package/dist/animation/changing/index.d.ts.map +1 -0
  21. package/dist/animation/composition/LaggedStartMap.d.ts +47 -0
  22. package/dist/animation/composition/LaggedStartMap.d.ts.map +1 -0
  23. package/dist/animation/composition/index.d.ts +5 -0
  24. package/dist/animation/composition/index.d.ts.map +1 -0
  25. package/dist/animation/creation/Create.d.ts +232 -0
  26. package/dist/animation/creation/Create.d.ts.map +1 -0
  27. package/dist/animation/creation/CreationExtensions.d.ts +127 -0
  28. package/dist/animation/creation/CreationExtensions.d.ts.map +1 -0
  29. package/dist/animation/creation/TypeWithCursor.d.ts +133 -0
  30. package/dist/animation/creation/TypeWithCursor.d.ts.map +1 -0
  31. package/dist/animation/creation/index.d.ts +4 -0
  32. package/dist/animation/creation/index.d.ts.map +1 -0
  33. package/dist/animation/fading/FadeIn.d.ts +31 -0
  34. package/dist/animation/fading/FadeIn.d.ts.map +1 -0
  35. package/dist/animation/fading/FadeOut.d.ts +32 -0
  36. package/dist/animation/fading/FadeOut.d.ts.map +1 -0
  37. package/dist/animation/fading/index.d.ts +3 -0
  38. package/dist/animation/fading/index.d.ts.map +1 -0
  39. package/dist/animation/growing/index.d.ts +103 -0
  40. package/dist/animation/growing/index.d.ts.map +1 -0
  41. package/dist/animation/index.d.ts +20 -0
  42. package/dist/animation/index.d.ts.map +1 -0
  43. package/dist/animation/indication/ApplyWave.d.ts +51 -0
  44. package/dist/animation/indication/ApplyWave.d.ts.map +1 -0
  45. package/dist/animation/indication/Blink.d.ts +34 -0
  46. package/dist/animation/indication/Blink.d.ts.map +1 -0
  47. package/dist/animation/indication/Circumscribe.d.ts +54 -0
  48. package/dist/animation/indication/Circumscribe.d.ts.map +1 -0
  49. package/dist/animation/indication/Flash.d.ts +45 -0
  50. package/dist/animation/indication/Flash.d.ts.map +1 -0
  51. package/dist/animation/indication/FocusOn.d.ts +79 -0
  52. package/dist/animation/indication/FocusOn.d.ts.map +1 -0
  53. package/dist/animation/indication/Indicate.d.ts +30 -0
  54. package/dist/animation/indication/Indicate.d.ts.map +1 -0
  55. package/dist/animation/indication/ShowCreationThenDestruction.d.ts +26 -0
  56. package/dist/animation/indication/ShowCreationThenDestruction.d.ts.map +1 -0
  57. package/dist/animation/indication/ShowPassingFlash.d.ts +47 -0
  58. package/dist/animation/indication/ShowPassingFlash.d.ts.map +1 -0
  59. package/dist/animation/indication/ShowPassingFlashWithThinningStrokeWidth.d.ts +21 -0
  60. package/dist/animation/indication/ShowPassingFlashWithThinningStrokeWidth.d.ts.map +1 -0
  61. package/dist/animation/indication/Wiggle.d.ts +48 -0
  62. package/dist/animation/indication/Wiggle.d.ts.map +1 -0
  63. package/dist/animation/indication/WiggleOutThenIn.d.ts +44 -0
  64. package/dist/animation/indication/WiggleOutThenIn.d.ts.map +1 -0
  65. package/dist/animation/indication/index.d.ts +20 -0
  66. package/dist/animation/indication/index.d.ts.map +1 -0
  67. package/dist/animation/movement/Homotopy.d.ts +204 -0
  68. package/dist/animation/movement/Homotopy.d.ts.map +1 -0
  69. package/dist/animation/movement/MoveAlongPath.d.ts +48 -0
  70. package/dist/animation/movement/MoveAlongPath.d.ts.map +1 -0
  71. package/dist/animation/movement/Rotate.d.ts +47 -0
  72. package/dist/animation/movement/Rotate.d.ts.map +1 -0
  73. package/dist/animation/movement/Scale.d.ts +74 -0
  74. package/dist/animation/movement/Scale.d.ts.map +1 -0
  75. package/dist/animation/movement/Shift.d.ts +74 -0
  76. package/dist/animation/movement/Shift.d.ts.map +1 -0
  77. package/dist/animation/movement/index.d.ts +6 -0
  78. package/dist/animation/movement/index.d.ts.map +1 -0
  79. package/dist/animation/numbers/index.d.ts +152 -0
  80. package/dist/animation/numbers/index.d.ts.map +1 -0
  81. package/dist/animation/speed/index.d.ts +114 -0
  82. package/dist/animation/speed/index.d.ts.map +1 -0
  83. package/dist/animation/transform/ApplyPointwiseFunction.d.ts +23 -0
  84. package/dist/animation/transform/ApplyPointwiseFunction.d.ts.map +1 -0
  85. package/dist/animation/transform/Transform.d.ts +89 -0
  86. package/dist/animation/transform/Transform.d.ts.map +1 -0
  87. package/dist/animation/transform/TransformExtensions.d.ts +444 -0
  88. package/dist/animation/transform/TransformExtensions.d.ts.map +1 -0
  89. package/dist/animation/transform/TransformMatching.d.ts +138 -0
  90. package/dist/animation/transform/TransformMatching.d.ts.map +1 -0
  91. package/dist/animation/transform/index.d.ts +5 -0
  92. package/dist/animation/transform/index.d.ts.map +1 -0
  93. package/dist/animation/utility/index.d.ts +171 -0
  94. package/dist/animation/utility/index.d.ts.map +1 -0
  95. package/dist/constants/colors.d.ts +72 -0
  96. package/dist/constants/colors.d.ts.map +1 -0
  97. package/dist/constants/colors.test.d.ts +2 -0
  98. package/dist/constants/colors.test.d.ts.map +1 -0
  99. package/dist/constants/directions.test.d.ts +2 -0
  100. package/dist/constants/directions.test.d.ts.map +1 -0
  101. package/dist/constants/index.d.ts +16 -0
  102. package/dist/constants/index.d.ts.map +1 -0
  103. package/dist/core/AudioManager.d.ts +203 -0
  104. package/dist/core/AudioManager.d.ts.map +1 -0
  105. package/dist/core/Camera.d.ts +172 -0
  106. package/dist/core/Camera.d.ts.map +1 -0
  107. package/dist/core/Camera2DFrame.d.ts +31 -0
  108. package/dist/core/Camera2DFrame.d.ts.map +1 -0
  109. package/dist/core/CameraExtensions.d.ts +420 -0
  110. package/dist/core/CameraExtensions.d.ts.map +1 -0
  111. package/dist/core/CameraFrame.d.ts +178 -0
  112. package/dist/core/CameraFrame.d.ts.map +1 -0
  113. package/dist/core/Group.d.ts +139 -0
  114. package/dist/core/Group.d.ts.map +1 -0
  115. package/dist/core/InteractiveScene.d.ts +122 -0
  116. package/dist/core/InteractiveScene.d.ts.map +1 -0
  117. package/dist/core/Lighting.d.ts +128 -0
  118. package/dist/core/Lighting.d.ts.map +1 -0
  119. package/dist/core/Mobject.d.ts +488 -0
  120. package/dist/core/Mobject.d.ts.map +1 -0
  121. package/dist/core/Renderer.d.ts +84 -0
  122. package/dist/core/Renderer.d.ts.map +1 -0
  123. package/dist/core/Scene.d.ts +353 -0
  124. package/dist/core/Scene.d.ts.map +1 -0
  125. package/dist/core/SceneExtensions.d.ts +640 -0
  126. package/dist/core/SceneExtensions.d.ts.map +1 -0
  127. package/dist/core/SceneExtensions.test.d.ts +2 -0
  128. package/dist/core/SceneExtensions.test.d.ts.map +1 -0
  129. package/dist/core/StateManager.d.ts +193 -0
  130. package/dist/core/StateManager.d.ts.map +1 -0
  131. package/dist/core/VDict.d.ts +229 -0
  132. package/dist/core/VDict.d.ts.map +1 -0
  133. package/dist/core/VGroup.d.ts +200 -0
  134. package/dist/core/VGroup.d.ts.map +1 -0
  135. package/dist/core/VMobject.d.ts +419 -0
  136. package/dist/core/VMobject.d.ts.map +1 -0
  137. package/dist/core/index.d.ts +16 -0
  138. package/dist/core/index.d.ts.map +1 -0
  139. package/dist/examples.test.d.ts +2 -0
  140. package/dist/examples.test.d.ts.map +1 -0
  141. package/dist/export/GifExporter.d.ts +40 -0
  142. package/dist/export/GifExporter.d.ts.map +1 -0
  143. package/dist/export/VideoExporter.d.ts +135 -0
  144. package/dist/export/VideoExporter.d.ts.map +1 -0
  145. package/dist/export/index.d.ts +3 -0
  146. package/dist/export/index.d.ts.map +1 -0
  147. package/dist/index.d.ts +65 -0
  148. package/dist/index.d.ts.map +1 -0
  149. package/dist/index.js +49064 -0
  150. package/dist/integrations/index.d.ts +1 -0
  151. package/dist/integrations/index.d.ts.map +1 -0
  152. package/dist/integrations/react.d.ts +144 -0
  153. package/dist/integrations/react.d.ts.map +1 -0
  154. package/dist/integrations/react.js +570 -0
  155. package/dist/integrations/vue.d.ts +249 -0
  156. package/dist/integrations/vue.d.ts.map +1 -0
  157. package/dist/integrations/vue.js +560 -0
  158. package/dist/interaction/Clickable.d.ts +71 -0
  159. package/dist/interaction/Clickable.d.ts.map +1 -0
  160. package/dist/interaction/Controls.d.ts +174 -0
  161. package/dist/interaction/Controls.d.ts.map +1 -0
  162. package/dist/interaction/Draggable.d.ts +88 -0
  163. package/dist/interaction/Draggable.d.ts.map +1 -0
  164. package/dist/interaction/Hoverable.d.ts +82 -0
  165. package/dist/interaction/Hoverable.d.ts.map +1 -0
  166. package/dist/interaction/OrbitControls.d.ts +139 -0
  167. package/dist/interaction/OrbitControls.d.ts.map +1 -0
  168. package/dist/interaction/PlaybackControls.d.ts +113 -0
  169. package/dist/interaction/PlaybackControls.d.ts.map +1 -0
  170. package/dist/interaction/SelectionManager.d.ts +125 -0
  171. package/dist/interaction/SelectionManager.d.ts.map +1 -0
  172. package/dist/interaction/index.d.ts +12 -0
  173. package/dist/interaction/index.d.ts.map +1 -0
  174. package/dist/mobjects/fractals/MandelbrotSet.d.ts +92 -0
  175. package/dist/mobjects/fractals/MandelbrotSet.d.ts.map +1 -0
  176. package/dist/mobjects/fractals/NewtonFractal.d.ts +121 -0
  177. package/dist/mobjects/fractals/NewtonFractal.d.ts.map +1 -0
  178. package/dist/mobjects/fractals/index.d.ts +3 -0
  179. package/dist/mobjects/fractals/index.d.ts.map +1 -0
  180. package/dist/mobjects/frame/index.d.ts +188 -0
  181. package/dist/mobjects/frame/index.d.ts.map +1 -0
  182. package/dist/mobjects/geometry/AngleShapes.d.ts +326 -0
  183. package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -0
  184. package/dist/mobjects/geometry/Arc.d.ts +111 -0
  185. package/dist/mobjects/geometry/Arc.d.ts.map +1 -0
  186. package/dist/mobjects/geometry/ArcBetweenPoints.d.ts +68 -0
  187. package/dist/mobjects/geometry/ArcBetweenPoints.d.ts.map +1 -0
  188. package/dist/mobjects/geometry/ArcShapes.d.ts +659 -0
  189. package/dist/mobjects/geometry/ArcShapes.d.ts.map +1 -0
  190. package/dist/mobjects/geometry/Arrow.d.ts +130 -0
  191. package/dist/mobjects/geometry/Arrow.d.ts.map +1 -0
  192. package/dist/mobjects/geometry/ArrowTips.d.ts +238 -0
  193. package/dist/mobjects/geometry/ArrowTips.d.ts.map +1 -0
  194. package/dist/mobjects/geometry/BooleanOperations.d.ts +163 -0
  195. package/dist/mobjects/geometry/BooleanOperations.d.ts.map +1 -0
  196. package/dist/mobjects/geometry/Circle.d.ts +92 -0
  197. package/dist/mobjects/geometry/Circle.d.ts.map +1 -0
  198. package/dist/mobjects/geometry/CubicBezier.d.ts +126 -0
  199. package/dist/mobjects/geometry/CubicBezier.d.ts.map +1 -0
  200. package/dist/mobjects/geometry/DashedLine.d.ts +109 -0
  201. package/dist/mobjects/geometry/DashedLine.d.ts.map +1 -0
  202. package/dist/mobjects/geometry/DashedVMobject.d.ts +96 -0
  203. package/dist/mobjects/geometry/DashedVMobject.d.ts.map +1 -0
  204. package/dist/mobjects/geometry/Dot.d.ts +100 -0
  205. package/dist/mobjects/geometry/Dot.d.ts.map +1 -0
  206. package/dist/mobjects/geometry/LabeledGeometry.d.ts +372 -0
  207. package/dist/mobjects/geometry/LabeledGeometry.d.ts.map +1 -0
  208. package/dist/mobjects/geometry/Line.d.ts +83 -0
  209. package/dist/mobjects/geometry/Line.d.ts.map +1 -0
  210. package/dist/mobjects/geometry/Polygon.d.ts +155 -0
  211. package/dist/mobjects/geometry/Polygon.d.ts.map +1 -0
  212. package/dist/mobjects/geometry/PolygonExtensions.d.ts +412 -0
  213. package/dist/mobjects/geometry/PolygonExtensions.d.ts.map +1 -0
  214. package/dist/mobjects/geometry/Rectangle.d.ts +123 -0
  215. package/dist/mobjects/geometry/Rectangle.d.ts.map +1 -0
  216. package/dist/mobjects/geometry/ShapeMatchers.d.ts +252 -0
  217. package/dist/mobjects/geometry/ShapeMatchers.d.ts.map +1 -0
  218. package/dist/mobjects/geometry/index.d.ts +25 -0
  219. package/dist/mobjects/geometry/index.d.ts.map +1 -0
  220. package/dist/mobjects/graph/index.d.ts +425 -0
  221. package/dist/mobjects/graph/index.d.ts.map +1 -0
  222. package/dist/mobjects/graphing/Axes.d.ts +254 -0
  223. package/dist/mobjects/graphing/Axes.d.ts.map +1 -0
  224. package/dist/mobjects/graphing/BarChart.d.ts +241 -0
  225. package/dist/mobjects/graphing/BarChart.d.ts.map +1 -0
  226. package/dist/mobjects/graphing/ComplexPlane.d.ts +311 -0
  227. package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -0
  228. package/dist/mobjects/graphing/FunctionGraph.d.ts +123 -0
  229. package/dist/mobjects/graphing/FunctionGraph.d.ts.map +1 -0
  230. package/dist/mobjects/graphing/ImplicitFunction.d.ts +131 -0
  231. package/dist/mobjects/graphing/ImplicitFunction.d.ts.map +1 -0
  232. package/dist/mobjects/graphing/NumberLine.d.ts +195 -0
  233. package/dist/mobjects/graphing/NumberLine.d.ts.map +1 -0
  234. package/dist/mobjects/graphing/NumberPlane.d.ts +91 -0
  235. package/dist/mobjects/graphing/NumberPlane.d.ts.map +1 -0
  236. package/dist/mobjects/graphing/ParametricFunction.d.ts +111 -0
  237. package/dist/mobjects/graphing/ParametricFunction.d.ts.map +1 -0
  238. package/dist/mobjects/graphing/Vector.d.ts +121 -0
  239. package/dist/mobjects/graphing/Vector.d.ts.map +1 -0
  240. package/dist/mobjects/graphing/VectorField.d.ts +321 -0
  241. package/dist/mobjects/graphing/VectorField.d.ts.map +1 -0
  242. package/dist/mobjects/graphing/index.d.ts +18 -0
  243. package/dist/mobjects/graphing/index.d.ts.map +1 -0
  244. package/dist/mobjects/image/index.d.ts +223 -0
  245. package/dist/mobjects/image/index.d.ts.map +1 -0
  246. package/dist/mobjects/matrix/Matrix.d.ts +260 -0
  247. package/dist/mobjects/matrix/Matrix.d.ts.map +1 -0
  248. package/dist/mobjects/matrix/index.d.ts +8 -0
  249. package/dist/mobjects/matrix/index.d.ts.map +1 -0
  250. package/dist/mobjects/point/index.d.ts +707 -0
  251. package/dist/mobjects/point/index.d.ts.map +1 -0
  252. package/dist/mobjects/probability/DiceFace.d.ts +137 -0
  253. package/dist/mobjects/probability/DiceFace.d.ts.map +1 -0
  254. package/dist/mobjects/probability/SampleSpace.d.ts +267 -0
  255. package/dist/mobjects/probability/SampleSpace.d.ts.map +1 -0
  256. package/dist/mobjects/probability/index.d.ts +9 -0
  257. package/dist/mobjects/probability/index.d.ts.map +1 -0
  258. package/dist/mobjects/svg/Brace.d.ts +308 -0
  259. package/dist/mobjects/svg/Brace.d.ts.map +1 -0
  260. package/dist/mobjects/svg/SVGMobject.d.ts +64 -0
  261. package/dist/mobjects/svg/SVGMobject.d.ts.map +1 -0
  262. package/dist/mobjects/svg/index.d.ts +10 -0
  263. package/dist/mobjects/svg/index.d.ts.map +1 -0
  264. package/dist/mobjects/table/Table.d.ts +315 -0
  265. package/dist/mobjects/table/Table.d.ts.map +1 -0
  266. package/dist/mobjects/table/index.d.ts +8 -0
  267. package/dist/mobjects/table/index.d.ts.map +1 -0
  268. package/dist/mobjects/text/Code.d.ts +244 -0
  269. package/dist/mobjects/text/Code.d.ts.map +1 -0
  270. package/dist/mobjects/text/DecimalNumber.d.ts +199 -0
  271. package/dist/mobjects/text/DecimalNumber.d.ts.map +1 -0
  272. package/dist/mobjects/text/GlyphVMobject.d.ts +76 -0
  273. package/dist/mobjects/text/GlyphVMobject.d.ts.map +1 -0
  274. package/dist/mobjects/text/MarkupText.d.ts +161 -0
  275. package/dist/mobjects/text/MarkupText.d.ts.map +1 -0
  276. package/dist/mobjects/text/MathJaxRenderer.d.ts +49 -0
  277. package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -0
  278. package/dist/mobjects/text/MathTex.d.ts +242 -0
  279. package/dist/mobjects/text/MathTex.d.ts.map +1 -0
  280. package/dist/mobjects/text/Paragraph.d.ts +86 -0
  281. package/dist/mobjects/text/Paragraph.d.ts.map +1 -0
  282. package/dist/mobjects/text/Tex.d.ts +40 -0
  283. package/dist/mobjects/text/Tex.d.ts.map +1 -0
  284. package/dist/mobjects/text/Text.d.ts +171 -0
  285. package/dist/mobjects/text/Text.d.ts.map +1 -0
  286. package/dist/mobjects/text/TextExtensions.d.ts +383 -0
  287. package/dist/mobjects/text/TextExtensions.d.ts.map +1 -0
  288. package/dist/mobjects/text/TextGlyphGroup.d.ts +48 -0
  289. package/dist/mobjects/text/TextGlyphGroup.d.ts.map +1 -0
  290. package/dist/mobjects/text/Variable.d.ts +160 -0
  291. package/dist/mobjects/text/Variable.d.ts.map +1 -0
  292. package/dist/mobjects/text/index.d.ts +21 -0
  293. package/dist/mobjects/text/index.d.ts.map +1 -0
  294. package/dist/mobjects/text/katex-styles.d.ts +23 -0
  295. package/dist/mobjects/text/katex-styles.d.ts.map +1 -0
  296. package/dist/mobjects/text/svgPathParser.d.ts +39 -0
  297. package/dist/mobjects/text/svgPathParser.d.ts.map +1 -0
  298. package/dist/mobjects/three-d/Arrow3D.d.ts +136 -0
  299. package/dist/mobjects/three-d/Arrow3D.d.ts.map +1 -0
  300. package/dist/mobjects/three-d/Cube.d.ts +186 -0
  301. package/dist/mobjects/three-d/Cube.d.ts.map +1 -0
  302. package/dist/mobjects/three-d/Cylinder.d.ts +189 -0
  303. package/dist/mobjects/three-d/Cylinder.d.ts.map +1 -0
  304. package/dist/mobjects/three-d/Line3D.d.ts +100 -0
  305. package/dist/mobjects/three-d/Line3D.d.ts.map +1 -0
  306. package/dist/mobjects/three-d/ParametricSurface.d.ts +86 -0
  307. package/dist/mobjects/three-d/ParametricSurface.d.ts.map +1 -0
  308. package/dist/mobjects/three-d/Polyhedra.d.ts +271 -0
  309. package/dist/mobjects/three-d/Polyhedra.d.ts.map +1 -0
  310. package/dist/mobjects/three-d/Sphere.d.ts +100 -0
  311. package/dist/mobjects/three-d/Sphere.d.ts.map +1 -0
  312. package/dist/mobjects/three-d/Surface3D.d.ts +156 -0
  313. package/dist/mobjects/three-d/Surface3D.d.ts.map +1 -0
  314. package/dist/mobjects/three-d/TexturedSurface.d.ts +208 -0
  315. package/dist/mobjects/three-d/TexturedSurface.d.ts.map +1 -0
  316. package/dist/mobjects/three-d/ThreeDAxes.d.ts +172 -0
  317. package/dist/mobjects/three-d/ThreeDAxes.d.ts.map +1 -0
  318. package/dist/mobjects/three-d/ThreeDExtensions.d.ts +335 -0
  319. package/dist/mobjects/three-d/ThreeDExtensions.d.ts.map +1 -0
  320. package/dist/mobjects/three-d/Torus.d.ts +123 -0
  321. package/dist/mobjects/three-d/Torus.d.ts.map +1 -0
  322. package/dist/mobjects/three-d/index.d.ts +19 -0
  323. package/dist/mobjects/three-d/index.d.ts.map +1 -0
  324. package/dist/mobjects/value-tracker/ValueTracker.d.ts +248 -0
  325. package/dist/mobjects/value-tracker/ValueTracker.d.ts.map +1 -0
  326. package/dist/mobjects/value-tracker/index.d.ts +9 -0
  327. package/dist/mobjects/value-tracker/index.d.ts.map +1 -0
  328. package/dist/rate-functions/index.d.ts +81 -0
  329. package/dist/rate-functions/index.d.ts.map +1 -0
  330. package/dist/rate-functions/rateFunctions.test.d.ts +2 -0
  331. package/dist/rate-functions/rateFunctions.test.d.ts.map +1 -0
  332. package/dist/rendering/BezierRenderer.d.ts +112 -0
  333. package/dist/rendering/BezierRenderer.d.ts.map +1 -0
  334. package/dist/rendering/BezierShaderMaterial.d.ts +50 -0
  335. package/dist/rendering/BezierShaderMaterial.d.ts.map +1 -0
  336. package/dist/rendering/index.d.ts +10 -0
  337. package/dist/rendering/index.d.ts.map +1 -0
  338. package/dist/utils/Performance.d.ts +118 -0
  339. package/dist/utils/Performance.d.ts.map +1 -0
  340. package/dist/utils/featureFlags.d.ts +15 -0
  341. package/dist/utils/featureFlags.d.ts.map +1 -0
  342. package/dist/utils/hungarian.d.ts +66 -0
  343. package/dist/utils/hungarian.d.ts.map +1 -0
  344. package/dist/utils/logger.d.ts +14 -0
  345. package/dist/utils/logger.d.ts.map +1 -0
  346. package/dist/utils/math.d.ts +52 -0
  347. package/dist/utils/math.d.ts.map +1 -0
  348. package/dist/utils/ode.d.ts +135 -0
  349. package/dist/utils/ode.d.ts.map +1 -0
  350. package/dist/utils/skeletonize.d.ts +35 -0
  351. package/dist/utils/skeletonize.d.ts.map +1 -0
  352. package/dist/utils/triangulate.d.ts +54 -0
  353. package/dist/utils/triangulate.d.ts.map +1 -0
  354. package/dist/utils/vectors.d.ts +57 -0
  355. package/dist/utils/vectors.d.ts.map +1 -0
  356. package/package.json +122 -0
@@ -0,0 +1,326 @@
1
+ import { VMobject } from '../../core/VMobject';
2
+ import { Vector3Tuple } from '../../core/Mobject';
3
+ import { Line } from './Line';
4
+ /**
5
+ * Options for creating an Angle
6
+ */
7
+ export interface AngleOptions {
8
+ /** Radius of the angle arc. Default: 0.5 */
9
+ radius?: number;
10
+ /** Quadrant for angle indicator (1, 2, 3, or 4). Default: auto-detect */
11
+ quadrant?: 1 | 2 | 3 | 4;
12
+ /** If true, display the reflex angle (other side). Default: false */
13
+ otherAngle?: boolean;
14
+ /** Show the angle value as a label. Default: false */
15
+ showValue?: boolean;
16
+ /** Stroke color. Default: WHITE (matches Manim Python) */
17
+ color?: string;
18
+ /** Stroke width. Default: 4 */
19
+ strokeWidth?: number;
20
+ /** Number of decimal places for angle value display. Default: 2 */
21
+ decimalPlaces?: number;
22
+ /** Display unit for angle. Default: 'radians' */
23
+ unit?: 'radians' | 'degrees';
24
+ }
25
+ /**
26
+ * Input for Angle constructor - either two Lines or three points
27
+ */
28
+ export type AngleInput = {
29
+ line1: Line;
30
+ line2: Line;
31
+ } | {
32
+ points: [Vector3Tuple, Vector3Tuple, Vector3Tuple];
33
+ };
34
+ /**
35
+ * Angle - Angle indicator between two lines
36
+ *
37
+ * Creates an arc to indicate the angle between two lines or
38
+ * three points (vertex at the second point).
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * // Using two lines
43
+ * const line1 = new Line({ start: [0, 0, 0], end: [2, 0, 0] });
44
+ * const line2 = new Line({ start: [0, 0, 0], end: [1, 1, 0] });
45
+ * const angle = new Angle({ line1, line2 }, { radius: 0.5 });
46
+ *
47
+ * // Using three points (vertex at middle point)
48
+ * const angle2 = new Angle(
49
+ * { points: [[2, 0, 0], [0, 0, 0], [1, 1, 0]] },
50
+ * { showValue: true }
51
+ * );
52
+ * ```
53
+ */
54
+ export declare class Angle extends VMobject {
55
+ private _vertex;
56
+ private _startAngle;
57
+ private _angleValue;
58
+ private _radius;
59
+ private _label;
60
+ private _showValue;
61
+ private _decimalPlaces;
62
+ private _unit;
63
+ constructor(input: AngleInput, options?: AngleOptions);
64
+ private _distance;
65
+ private _adjustForQuadrant;
66
+ private _generatePoints;
67
+ /**
68
+ * Get the angle value in radians
69
+ */
70
+ getAngleValue(): number;
71
+ /**
72
+ * Get the angle value in degrees
73
+ */
74
+ getAngleValueDegrees(): number;
75
+ /**
76
+ * Get the vertex point
77
+ */
78
+ getVertex(): Vector3Tuple;
79
+ /**
80
+ * Get the radius of the angle arc
81
+ */
82
+ getRadius(): number;
83
+ /**
84
+ * Set the radius of the angle arc
85
+ */
86
+ setRadius(radius: number): this;
87
+ /**
88
+ * Get the label for this angle
89
+ */
90
+ getLabel(): string | null;
91
+ /**
92
+ * Set a custom label for this angle
93
+ */
94
+ setLabel(label: string): this;
95
+ /**
96
+ * Get a point on the angle arc at a given proportion (0 = start, 1 = end).
97
+ * @param alpha - Proportion along the arc (0 to 1)
98
+ * @returns Point on the arc as [x, y, z]
99
+ */
100
+ pointFromProportion(alpha: number): Vector3Tuple;
101
+ /**
102
+ * Get the midpoint of the angle arc (useful for label positioning)
103
+ */
104
+ getArcMidpoint(): Vector3Tuple;
105
+ protected _createCopy(): Angle;
106
+ }
107
+ /**
108
+ * Options for creating a RightAngle
109
+ */
110
+ export interface RightAngleOptions {
111
+ /** Size of the square indicator. Default: 0.3 */
112
+ size?: number;
113
+ /** Stroke color. Default: Manim's blue (#58C4DD) */
114
+ color?: string;
115
+ /** Stroke width. Default: 4 */
116
+ strokeWidth?: number;
117
+ }
118
+ /**
119
+ * RightAngle - 90 degree angle indicator (square corner)
120
+ *
121
+ * Creates a square marker to indicate a right angle between two lines
122
+ * or three points.
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * // Using two perpendicular lines
127
+ * const line1 = new Line({ start: [0, 0, 0], end: [2, 0, 0] });
128
+ * const line2 = new Line({ start: [0, 0, 0], end: [0, 2, 0] });
129
+ * const rightAngle = new RightAngle({ line1, line2 });
130
+ *
131
+ * // Using three points
132
+ * const rightAngle2 = new RightAngle(
133
+ * { points: [[2, 0, 0], [0, 0, 0], [0, 2, 0]] },
134
+ * { size: 0.4 }
135
+ * );
136
+ * ```
137
+ */
138
+ export declare class RightAngle extends VMobject {
139
+ private _vertex;
140
+ private _size;
141
+ private _angle1;
142
+ private _angle2;
143
+ constructor(input: AngleInput, options?: RightAngleOptions);
144
+ private _distance;
145
+ private _generatePoints;
146
+ private _addLinePoints;
147
+ /**
148
+ * Get the size of the right angle indicator
149
+ */
150
+ getSize(): number;
151
+ /**
152
+ * Set the size of the right angle indicator
153
+ */
154
+ setSize(size: number): this;
155
+ /**
156
+ * Get the vertex point
157
+ */
158
+ getVertex(): Vector3Tuple;
159
+ protected _createCopy(): RightAngle;
160
+ }
161
+ /**
162
+ * Options for creating an Elbow
163
+ */
164
+ export interface ElbowOptions {
165
+ /** Width of the elbow (horizontal extent). Default: 1 */
166
+ width?: number;
167
+ /** Height of the elbow (vertical extent). Default: 1 */
168
+ height?: number;
169
+ /** Rotation angle in radians. Default: 0 */
170
+ angle?: number;
171
+ /** Stroke color. Default: Manim's blue (#58C4DD) */
172
+ color?: string;
173
+ /** Stroke width. Default: 4 */
174
+ strokeWidth?: number;
175
+ /** Position of the corner/vertex. Default: [0, 0, 0] */
176
+ position?: Vector3Tuple;
177
+ }
178
+ /**
179
+ * Elbow - L-shaped line
180
+ *
181
+ * Creates an L-shaped path useful for indicating connections,
182
+ * orthogonal paths, or decorative elements.
183
+ *
184
+ * @example
185
+ * ```typescript
186
+ * // Create a basic L-shape
187
+ * const elbow = new Elbow();
188
+ *
189
+ * // Create a rotated elbow
190
+ * const rotatedElbow = new Elbow({
191
+ * width: 2,
192
+ * height: 1,
193
+ * angle: Math.PI / 4,
194
+ * color: '#ff0000'
195
+ * });
196
+ * ```
197
+ */
198
+ export declare class Elbow extends VMobject {
199
+ private _width;
200
+ private _height;
201
+ private _angle;
202
+ private _cornerPosition;
203
+ constructor(options?: ElbowOptions);
204
+ private _generatePoints;
205
+ private _addLinePoints;
206
+ /**
207
+ * Get the width of the elbow
208
+ */
209
+ getWidth(): number;
210
+ /**
211
+ * Set the width of the elbow
212
+ */
213
+ setWidth(width: number): this;
214
+ /**
215
+ * Get the height of the elbow
216
+ */
217
+ getHeight(): number;
218
+ /**
219
+ * Set the height of the elbow
220
+ */
221
+ setHeight(height: number): this;
222
+ /**
223
+ * Get the rotation angle of the elbow
224
+ */
225
+ getAngle(): number;
226
+ /**
227
+ * Set the rotation angle of the elbow
228
+ */
229
+ setAngle(angle: number): this;
230
+ /**
231
+ * Get the corner position
232
+ */
233
+ getCornerPosition(): Vector3Tuple;
234
+ /**
235
+ * Set the corner position
236
+ */
237
+ setCornerPosition(position: Vector3Tuple): this;
238
+ protected _createCopy(): Elbow;
239
+ }
240
+ /**
241
+ * Options for creating a TangentLine
242
+ */
243
+ export interface TangentLineOptions {
244
+ /** Parameter t (0-1) for where to place the tangent on the curve. Default: 0.5 */
245
+ t?: number;
246
+ /** Length of the tangent line. Default: 2 */
247
+ length?: number;
248
+ /** Stroke color. Default: Manim's blue (#58C4DD) */
249
+ color?: string;
250
+ /** Stroke width. Default: 4 */
251
+ strokeWidth?: number;
252
+ /** Small offset for numerical derivative calculation. Default: 0.001 */
253
+ dT?: number;
254
+ }
255
+ /**
256
+ * TangentLine - Tangent line to a curve at a specific point
257
+ *
258
+ * Creates a line tangent to a VMobject at the given parameter t (0-1).
259
+ * The tangent direction is computed numerically from the curve's points.
260
+ *
261
+ * @example
262
+ * ```typescript
263
+ * // Create a tangent line to a circle at t=0.25
264
+ * const circle = new Circle({ radius: 2 });
265
+ * const tangent = new TangentLine(circle, { t: 0.25, length: 3 });
266
+ *
267
+ * // Tangent to a parametric function
268
+ * const curve = new ParametricFunction({
269
+ * function: (t) => [Math.cos(t * Math.PI), Math.sin(t * Math.PI), 0],
270
+ * range: [0, 1]
271
+ * });
272
+ * const curveTangent = new TangentLine(curve, { t: 0.5 });
273
+ * ```
274
+ */
275
+ export declare class TangentLine extends VMobject {
276
+ private _vmobject;
277
+ private _t;
278
+ private _length;
279
+ private _dT;
280
+ private _tangentPoint;
281
+ private _tangentDirection;
282
+ constructor(vmobject: VMobject, options?: TangentLineOptions);
283
+ private _generatePoints;
284
+ private _getPointAtT;
285
+ private _evaluateBezierPoint;
286
+ private _createLinePoints;
287
+ /**
288
+ * Get the parameter t
289
+ */
290
+ getT(): number;
291
+ /**
292
+ * Set the parameter t and regenerate the tangent
293
+ */
294
+ setT(t: number): this;
295
+ /**
296
+ * Get the length of the tangent line
297
+ */
298
+ getLength(): number;
299
+ /**
300
+ * Set the length of the tangent line
301
+ */
302
+ setLength(length: number): this;
303
+ /**
304
+ * Get the point where the tangent touches the curve
305
+ */
306
+ getTangentPoint(): Vector3Tuple;
307
+ /**
308
+ * Get the tangent direction (unit vector)
309
+ */
310
+ getTangentDirection(): Vector3Tuple;
311
+ /**
312
+ * Get the start point of the tangent line
313
+ */
314
+ getStart(): Vector3Tuple;
315
+ /**
316
+ * Get the end point of the tangent line
317
+ */
318
+ getEnd(): Vector3Tuple;
319
+ /**
320
+ * Update the tangent for a new position on the curve
321
+ * Call this if the underlying VMobject has changed
322
+ */
323
+ update(): this;
324
+ protected _createCopy(): TangentLine;
325
+ }
326
+ //# sourceMappingURL=AngleShapes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AngleShapes.d.ts","sourceRoot":"","sources":["../../../src/mobjects/geometry/AngleShapes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ import { VMobject } from '../../core/VMobject';
2
+ import { Vector3Tuple } from '../../core/Mobject';
3
+ /**
4
+ * Options for creating an Arc
5
+ */
6
+ export interface ArcOptions {
7
+ /** Radius of the arc. Default: 1 */
8
+ radius?: number;
9
+ /** Start angle in radians. Default: 0 */
10
+ startAngle?: number;
11
+ /** Arc angle (span) in radians. Default: PI/2 */
12
+ angle?: number;
13
+ /** Stroke color as CSS color string. Default: Manim's blue (#58C4DD) */
14
+ color?: string;
15
+ /** Stroke width in pixels. Default: 4 (Manim's default) */
16
+ strokeWidth?: number;
17
+ /** Number of Bezier segments for approximation. Default: 8 */
18
+ numComponents?: number;
19
+ /** Center position. Default: [0, 0, 0] */
20
+ center?: Vector3Tuple;
21
+ }
22
+ /**
23
+ * Arc - A circular arc VMobject
24
+ *
25
+ * Creates a circular arc using cubic Bezier curve approximation.
26
+ * The arc starts at `startAngle` and spans `angle` radians.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * // Create a quarter circle arc
31
+ * const arc = new Arc();
32
+ *
33
+ * // Create a semicircle
34
+ * const semicircle = new Arc({ angle: Math.PI });
35
+ *
36
+ * // Create a full circle using Arc
37
+ * const fullCircle = new Arc({ angle: Math.PI * 2 });
38
+ * ```
39
+ */
40
+ export declare class Arc extends VMobject {
41
+ protected _radius: number;
42
+ protected _startAngle: number;
43
+ protected _angle: number;
44
+ protected _numComponents: number;
45
+ protected _arcCenter: Vector3Tuple;
46
+ constructor(options?: ArcOptions);
47
+ /**
48
+ * Generate the arc points using cubic Bezier approximation.
49
+ * Each segment approximates a portion of the arc.
50
+ */
51
+ protected _generatePoints(): void;
52
+ /**
53
+ * Get the start angle of the arc
54
+ */
55
+ getStartAngle(): number;
56
+ /**
57
+ * Set the start angle of the arc
58
+ * @param angle Start angle in radians
59
+ */
60
+ setStartAngle(angle: number): this;
61
+ /**
62
+ * Get the arc angle (span)
63
+ */
64
+ getAngle(): number;
65
+ /**
66
+ * Set the arc angle (span)
67
+ * @param angle Arc angle in radians
68
+ */
69
+ setAngle(angle: number): this;
70
+ /**
71
+ * Get the radius of the arc
72
+ */
73
+ getRadius(): number;
74
+ /**
75
+ * Set the radius of the arc
76
+ * @param r Radius value
77
+ */
78
+ setRadius(r: number): this;
79
+ /**
80
+ * Get the center of the arc
81
+ */
82
+ getArcCenter(): Vector3Tuple;
83
+ /**
84
+ * Set the center of the arc
85
+ * @param center Center position [x, y, z]
86
+ */
87
+ setArcCenter(center: Vector3Tuple): this;
88
+ /**
89
+ * Get a point at a given proportion along the arc
90
+ * @param alpha Proportion from 0 (start) to 1 (end)
91
+ * @returns Point on the arc as [x, y, z]
92
+ */
93
+ pointFromProportion(alpha: number): Vector3Tuple;
94
+ /**
95
+ * Get the start point of the arc
96
+ */
97
+ getStartPoint(): Vector3Tuple;
98
+ /**
99
+ * Get the end point of the arc
100
+ */
101
+ getEndPoint(): Vector3Tuple;
102
+ /**
103
+ * Get the arc length
104
+ */
105
+ getArcLength(): number;
106
+ /**
107
+ * Create a copy of this Arc
108
+ */
109
+ protected _createCopy(): Arc;
110
+ }
111
+ //# sourceMappingURL=Arc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Arc.d.ts","sourceRoot":"","sources":["../../../src/mobjects/geometry/Arc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,GAAI,SAAQ,QAAQ;IAC/B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC;gBAEvB,OAAO,GAAE,UAAe;IA0BpC;;;OAGG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IAsDjC;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMlC;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;;OAGG;IACH,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAM1B;;OAEG;IACH,YAAY,IAAI,YAAY;IAI5B;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAMxC;;;;OAIG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IAShD;;OAEG;IACH,aAAa,IAAI,YAAY;IAI7B;;OAEG;IACH,WAAW,IAAI,YAAY;IAI3B;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;cACgB,WAAW,IAAI,GAAG;CAWtC"}
@@ -0,0 +1,68 @@
1
+ import { Arc } from './Arc';
2
+ import { Vector3Tuple } from '../../core/Mobject';
3
+ /**
4
+ * Options for creating an ArcBetweenPoints
5
+ */
6
+ export interface ArcBetweenPointsOptions {
7
+ /** Start point of the arc */
8
+ start: Vector3Tuple;
9
+ /** End point of the arc */
10
+ end: Vector3Tuple;
11
+ /** Arc angle in radians. Default: PI/2 */
12
+ angle?: number;
13
+ /** Stroke color as CSS color string. Default: Manim's blue (#58C4DD) */
14
+ color?: string;
15
+ /** Stroke width in pixels. Default: 4 (Manim's default) */
16
+ strokeWidth?: number;
17
+ }
18
+ /**
19
+ * ArcBetweenPoints - An arc that passes through two specified points
20
+ *
21
+ * Creates a circular arc from a start point to an end point with a given
22
+ * arc angle. The center and radius are calculated automatically.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * // Create an arc from (-1, 0) to (1, 0)
27
+ * const arc = new ArcBetweenPoints({
28
+ * start: [-1, 0, 0],
29
+ * end: [1, 0, 0],
30
+ * angle: Math.PI / 2
31
+ * });
32
+ *
33
+ * // Create a semicircle between two points
34
+ * const semicircle = new ArcBetweenPoints({
35
+ * start: [0, 0, 0],
36
+ * end: [2, 0, 0],
37
+ * angle: Math.PI
38
+ * });
39
+ * ```
40
+ */
41
+ export declare class ArcBetweenPoints extends Arc {
42
+ private _startPoint;
43
+ private _endPoint;
44
+ constructor(options: ArcBetweenPointsOptions);
45
+ /**
46
+ * Calculate the arc parameters (center, radius, startAngle) from two points and angle.
47
+ *
48
+ * Given two points and an arc angle, we find the circle that:
49
+ * 1. Passes through both points
50
+ * 2. The arc from start to end subtends the given angle
51
+ *
52
+ * The center lies on the perpendicular bisector of the chord between the points.
53
+ */
54
+ private static _calculateArcParams;
55
+ /**
56
+ * Get the start point of the arc
57
+ */
58
+ getStartPoint(): Vector3Tuple;
59
+ /**
60
+ * Get the end point of the arc
61
+ */
62
+ getEndPoint(): Vector3Tuple;
63
+ /**
64
+ * Create a copy of this ArcBetweenPoints
65
+ */
66
+ protected _createCopy(): ArcBetweenPoints;
67
+ }
68
+ //# sourceMappingURL=ArcBetweenPoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArcBetweenPoints.d.ts","sourceRoot":"","sources":["../../../src/mobjects/geometry/ArcBetweenPoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,6BAA6B;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,2BAA2B;IAC3B,GAAG,EAAE,YAAY,CAAC;IAClB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,gBAAiB,SAAQ,GAAG;IACvC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,SAAS,CAAe;gBAEpB,OAAO,EAAE,uBAAuB;IA8B5C;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA0ElC;;OAEG;IACM,aAAa,IAAI,YAAY;IAItC;;OAEG;IACM,WAAW,IAAI,YAAY;IAIpC;;OAEG;cACgB,WAAW,IAAI,gBAAgB;CASnD"}