@kurot/core 1.0.14 → 1.0.15

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 (286) hide show
  1. package/README.md +63 -1
  2. package/dist/kurot/display/Bitmap.d.ts +0 -1
  3. package/dist/kurot/display/Bitmap.d.ts.map +1 -1
  4. package/dist/kurot/display/Bitmap.js +0 -3
  5. package/dist/kurot/display/Bitmap.js.map +1 -1
  6. package/dist/kurot/display/DisplayObject.d.ts +16 -35
  7. package/dist/kurot/display/DisplayObject.d.ts.map +1 -1
  8. package/dist/kurot/display/DisplayObject.js +6 -41
  9. package/dist/kurot/display/DisplayObject.js.map +1 -1
  10. package/dist/kurot/display/DisplayObjectContainer.d.ts +0 -10
  11. package/dist/kurot/display/DisplayObjectContainer.d.ts.map +1 -1
  12. package/dist/kurot/display/DisplayObjectContainer.js +0 -14
  13. package/dist/kurot/display/DisplayObjectContainer.js.map +1 -1
  14. package/dist/kurot/display/Graphics.d.ts +0 -1
  15. package/dist/kurot/display/Graphics.d.ts.map +1 -1
  16. package/dist/kurot/display/Graphics.js +0 -3
  17. package/dist/kurot/display/Graphics.js.map +1 -1
  18. package/dist/kurot/display/Mesh.d.ts +9 -3
  19. package/dist/kurot/display/Mesh.d.ts.map +1 -1
  20. package/dist/kurot/display/Mesh.js +9 -3
  21. package/dist/kurot/display/Mesh.js.map +1 -1
  22. package/dist/kurot/display/Stage.d.ts +0 -1
  23. package/dist/kurot/display/Stage.d.ts.map +1 -1
  24. package/dist/kurot/display/Stage.js +0 -2
  25. package/dist/kurot/display/Stage.js.map +1 -1
  26. package/dist/kurot/display/enums/BlendMode.d.ts.map +1 -1
  27. package/dist/kurot/display/enums/BlendMode.js +0 -2
  28. package/dist/kurot/display/enums/BlendMode.js.map +1 -1
  29. package/dist/kurot/display/texture/RenderTexture.d.ts +0 -1
  30. package/dist/kurot/display/texture/RenderTexture.d.ts.map +1 -1
  31. package/dist/kurot/display/texture/RenderTexture.js +0 -4
  32. package/dist/kurot/display/texture/RenderTexture.js.map +1 -1
  33. package/dist/kurot/display/texture/Texture.d.ts +9 -3
  34. package/dist/kurot/display/texture/Texture.d.ts.map +1 -1
  35. package/dist/kurot/display/texture/Texture.js +9 -3
  36. package/dist/kurot/display/texture/Texture.js.map +1 -1
  37. package/dist/kurot/events/Event.d.ts +3 -1
  38. package/dist/kurot/events/Event.d.ts.map +1 -1
  39. package/dist/kurot/events/Event.js +0 -2
  40. package/dist/kurot/events/Event.js.map +1 -1
  41. package/dist/kurot/events/EventDispatcher.d.ts.map +1 -1
  42. package/dist/kurot/events/EventDispatcher.js +0 -2
  43. package/dist/kurot/events/EventDispatcher.js.map +1 -1
  44. package/dist/kurot/events/TimerEvent.d.ts +0 -1
  45. package/dist/kurot/events/TimerEvent.d.ts.map +1 -1
  46. package/dist/kurot/events/TimerEvent.js +0 -1
  47. package/dist/kurot/events/TimerEvent.js.map +1 -1
  48. package/dist/kurot/events/TouchEvent.d.ts +0 -1
  49. package/dist/kurot/events/TouchEvent.d.ts.map +1 -1
  50. package/dist/kurot/events/TouchEvent.js +0 -1
  51. package/dist/kurot/events/TouchEvent.js.map +1 -1
  52. package/dist/kurot/filters/BlurFilter.d.ts.map +1 -1
  53. package/dist/kurot/filters/BlurFilter.js +0 -3
  54. package/dist/kurot/filters/BlurFilter.js.map +1 -1
  55. package/dist/kurot/filters/DropShadowFilter.d.ts.map +1 -1
  56. package/dist/kurot/filters/DropShadowFilter.js +0 -2
  57. package/dist/kurot/filters/DropShadowFilter.js.map +1 -1
  58. package/dist/kurot/geom/Matrix.d.ts +3 -9
  59. package/dist/kurot/geom/Matrix.d.ts.map +1 -1
  60. package/dist/kurot/geom/Matrix.js +3 -9
  61. package/dist/kurot/geom/Matrix.js.map +1 -1
  62. package/dist/kurot/geom/Point.d.ts +3 -1
  63. package/dist/kurot/geom/Point.d.ts.map +1 -1
  64. package/dist/kurot/geom/Point.js +3 -1
  65. package/dist/kurot/geom/Point.js.map +1 -1
  66. package/dist/kurot/geom/Rectangle.d.ts +3 -3
  67. package/dist/kurot/geom/Rectangle.d.ts.map +1 -1
  68. package/dist/kurot/geom/Rectangle.js +3 -3
  69. package/dist/kurot/geom/Rectangle.js.map +1 -1
  70. package/dist/kurot/media/Sound.d.ts.map +1 -1
  71. package/dist/kurot/media/Sound.js +1 -8
  72. package/dist/kurot/media/Sound.js.map +1 -1
  73. package/dist/kurot/media/SoundChannel.d.ts +0 -1
  74. package/dist/kurot/media/SoundChannel.d.ts.map +1 -1
  75. package/dist/kurot/media/SoundChannel.js +0 -3
  76. package/dist/kurot/media/SoundChannel.js.map +1 -1
  77. package/dist/kurot/player/InstructionSet.d.ts +4 -17
  78. package/dist/kurot/player/InstructionSet.d.ts.map +1 -1
  79. package/dist/kurot/player/InstructionSet.js +3 -20
  80. package/dist/kurot/player/InstructionSet.js.map +1 -1
  81. package/dist/kurot/player/KurotOptions.d.ts +24 -9
  82. package/dist/kurot/player/KurotOptions.d.ts.map +1 -1
  83. package/dist/kurot/player/Player.d.ts +15 -9
  84. package/dist/kurot/player/Player.d.ts.map +1 -1
  85. package/dist/kurot/player/Player.js +20 -22
  86. package/dist/kurot/player/Player.js.map +1 -1
  87. package/dist/kurot/player/RenderBuffer.d.ts +4 -14
  88. package/dist/kurot/player/RenderBuffer.d.ts.map +1 -1
  89. package/dist/kurot/player/RenderContext.d.ts +11 -27
  90. package/dist/kurot/player/RenderContext.d.ts.map +1 -1
  91. package/dist/kurot/player/RenderPipe.d.ts +3 -13
  92. package/dist/kurot/player/RenderPipe.d.ts.map +1 -1
  93. package/dist/kurot/player/ScreenAdapter.d.ts +6 -5
  94. package/dist/kurot/player/ScreenAdapter.d.ts.map +1 -1
  95. package/dist/kurot/player/ScreenAdapter.js +6 -15
  96. package/dist/kurot/player/ScreenAdapter.js.map +1 -1
  97. package/dist/kurot/player/SystemTicker.d.ts +13 -9
  98. package/dist/kurot/player/SystemTicker.d.ts.map +1 -1
  99. package/dist/kurot/player/SystemTicker.js +10 -13
  100. package/dist/kurot/player/SystemTicker.js.map +1 -1
  101. package/dist/kurot/player/TouchHandler.d.ts +3 -4
  102. package/dist/kurot/player/TouchHandler.d.ts.map +1 -1
  103. package/dist/kurot/player/TouchHandler.js +3 -12
  104. package/dist/kurot/player/TouchHandler.js.map +1 -1
  105. package/dist/kurot/player/canvas/CanvasBuffer.d.ts.map +1 -1
  106. package/dist/kurot/player/canvas/CanvasBuffer.js +0 -3
  107. package/dist/kurot/player/canvas/CanvasBuffer.js.map +1 -1
  108. package/dist/kurot/player/canvas/CanvasRenderer.d.ts +9 -17
  109. package/dist/kurot/player/canvas/CanvasRenderer.d.ts.map +1 -1
  110. package/dist/kurot/player/canvas/CanvasRenderer.js +182 -74
  111. package/dist/kurot/player/canvas/CanvasRenderer.js.map +1 -1
  112. package/dist/kurot/player/canvas/DisplayList.d.ts +1 -5
  113. package/dist/kurot/player/canvas/DisplayList.d.ts.map +1 -1
  114. package/dist/kurot/player/canvas/DisplayList.js +1 -5
  115. package/dist/kurot/player/canvas/DisplayList.js.map +1 -1
  116. package/dist/kurot/player/createPlayer.d.ts.map +1 -1
  117. package/dist/kurot/player/createPlayer.js +0 -2
  118. package/dist/kurot/player/createPlayer.js.map +1 -1
  119. package/dist/kurot/player/pipes/BitmapPipe.d.ts +3 -9
  120. package/dist/kurot/player/pipes/BitmapPipe.d.ts.map +1 -1
  121. package/dist/kurot/player/pipes/BitmapPipe.js +19 -33
  122. package/dist/kurot/player/pipes/BitmapPipe.js.map +1 -1
  123. package/dist/kurot/player/pipes/FilterPipe.d.ts +11 -28
  124. package/dist/kurot/player/pipes/FilterPipe.d.ts.map +1 -1
  125. package/dist/kurot/player/pipes/FilterPipe.js +8 -51
  126. package/dist/kurot/player/pipes/FilterPipe.js.map +1 -1
  127. package/dist/kurot/player/pipes/GraphicsPipe.d.ts +2 -7
  128. package/dist/kurot/player/pipes/GraphicsPipe.d.ts.map +1 -1
  129. package/dist/kurot/player/pipes/GraphicsPipe.js +28 -38
  130. package/dist/kurot/player/pipes/GraphicsPipe.js.map +1 -1
  131. package/dist/kurot/player/pipes/MaskPipe.d.ts +9 -14
  132. package/dist/kurot/player/pipes/MaskPipe.d.ts.map +1 -1
  133. package/dist/kurot/player/pipes/MaskPipe.js +24 -46
  134. package/dist/kurot/player/pipes/MaskPipe.js.map +1 -1
  135. package/dist/kurot/player/pipes/MeshPipe.d.ts +4 -1
  136. package/dist/kurot/player/pipes/MeshPipe.d.ts.map +1 -1
  137. package/dist/kurot/player/pipes/MeshPipe.js +20 -22
  138. package/dist/kurot/player/pipes/MeshPipe.js.map +1 -1
  139. package/dist/kurot/player/pipes/ParticlePipe.d.ts +1 -2
  140. package/dist/kurot/player/pipes/ParticlePipe.d.ts.map +1 -1
  141. package/dist/kurot/player/pipes/ParticlePipe.js +6 -14
  142. package/dist/kurot/player/pipes/ParticlePipe.js.map +1 -1
  143. package/dist/kurot/player/pipes/TextPipe.d.ts +3 -23
  144. package/dist/kurot/player/pipes/TextPipe.d.ts.map +1 -1
  145. package/dist/kurot/player/pipes/TextPipe.js +31 -74
  146. package/dist/kurot/player/pipes/TextPipe.js.map +1 -1
  147. package/dist/kurot/player/webgl/MultiTextureBatcher.d.ts +1 -12
  148. package/dist/kurot/player/webgl/MultiTextureBatcher.d.ts.map +1 -1
  149. package/dist/kurot/player/webgl/MultiTextureBatcher.js +2 -11
  150. package/dist/kurot/player/webgl/MultiTextureBatcher.js.map +1 -1
  151. package/dist/kurot/player/webgl/WebGLDrawCmdManager.d.ts +4 -4
  152. package/dist/kurot/player/webgl/WebGLDrawCmdManager.d.ts.map +1 -1
  153. package/dist/kurot/player/webgl/WebGLDrawCmdManager.js +11 -10
  154. package/dist/kurot/player/webgl/WebGLDrawCmdManager.js.map +1 -1
  155. package/dist/kurot/player/webgl/WebGLProgram.d.ts.map +1 -1
  156. package/dist/kurot/player/webgl/WebGLProgram.js.map +1 -1
  157. package/dist/kurot/player/webgl/WebGLRenderBuffer.d.ts +2 -0
  158. package/dist/kurot/player/webgl/WebGLRenderBuffer.d.ts.map +1 -1
  159. package/dist/kurot/player/webgl/WebGLRenderBuffer.js +9 -6
  160. package/dist/kurot/player/webgl/WebGLRenderBuffer.js.map +1 -1
  161. package/dist/kurot/player/webgl/WebGLRenderContext.d.ts +14 -43
  162. package/dist/kurot/player/webgl/WebGLRenderContext.d.ts.map +1 -1
  163. package/dist/kurot/player/webgl/WebGLRenderContext.js +34 -114
  164. package/dist/kurot/player/webgl/WebGLRenderContext.js.map +1 -1
  165. package/dist/kurot/player/webgl/WebGLRenderTarget.d.ts +2 -0
  166. package/dist/kurot/player/webgl/WebGLRenderTarget.d.ts.map +1 -1
  167. package/dist/kurot/player/webgl/WebGLRenderTarget.js +6 -0
  168. package/dist/kurot/player/webgl/WebGLRenderTarget.js.map +1 -1
  169. package/dist/kurot/player/webgl/WebGLRenderer.d.ts +3 -147
  170. package/dist/kurot/player/webgl/WebGLRenderer.d.ts.map +1 -1
  171. package/dist/kurot/player/webgl/WebGLRenderer.js +6 -210
  172. package/dist/kurot/player/webgl/WebGLRenderer.js.map +1 -1
  173. package/dist/kurot/player/webgl/WebGLUtils.d.ts +4 -4
  174. package/dist/kurot/player/webgl/WebGLUtils.d.ts.map +1 -1
  175. package/dist/kurot/player/webgl/WebGLUtils.js +3 -2
  176. package/dist/kurot/player/webgl/WebGLUtils.js.map +1 -1
  177. package/dist/kurot/player/webgl/WebGLVertexArrayObject.d.ts +6 -2
  178. package/dist/kurot/player/webgl/WebGLVertexArrayObject.d.ts.map +1 -1
  179. package/dist/kurot/player/webgl/WebGLVertexArrayObject.js +6 -11
  180. package/dist/kurot/player/webgl/WebGLVertexArrayObject.js.map +1 -1
  181. package/dist/kurot/player/webgl/shaders/ShaderLib.d.ts +1 -2
  182. package/dist/kurot/player/webgl/shaders/ShaderLib.d.ts.map +1 -1
  183. package/dist/kurot/player/webgl/shaders/ShaderLib.js +1 -6
  184. package/dist/kurot/player/webgl/shaders/ShaderLib.js.map +1 -1
  185. package/dist/kurot/player/webgl/shaders/ShaderLib2.d.ts +1 -2
  186. package/dist/kurot/player/webgl/shaders/ShaderLib2.d.ts.map +1 -1
  187. package/dist/kurot/player/webgl/shaders/ShaderLib2.js +1 -13
  188. package/dist/kurot/player/webgl/shaders/ShaderLib2.js.map +1 -1
  189. package/dist/kurot/player/webgl/shaders/index.d.ts.map +1 -1
  190. package/dist/kurot/player/webgl/shaders/index.js +0 -2
  191. package/dist/kurot/player/webgl/shaders/index.js.map +1 -1
  192. package/dist/kurot/resource/Resource.d.ts +1 -1
  193. package/dist/kurot/resource/Resource.d.ts.map +1 -1
  194. package/dist/kurot/resource/Resource.js +1 -12
  195. package/dist/kurot/resource/Resource.js.map +1 -1
  196. package/dist/kurot/resource/ResourceEvent.d.ts +15 -5
  197. package/dist/kurot/resource/ResourceEvent.d.ts.map +1 -1
  198. package/dist/kurot/resource/ResourceLoader.d.ts +15 -24
  199. package/dist/kurot/resource/ResourceLoader.d.ts.map +1 -1
  200. package/dist/kurot/resource/ResourceLoader.js +17 -35
  201. package/dist/kurot/resource/ResourceLoader.js.map +1 -1
  202. package/dist/kurot/resource/analyzers/AnalyzerBase.d.ts +3 -4
  203. package/dist/kurot/resource/analyzers/AnalyzerBase.d.ts.map +1 -1
  204. package/dist/kurot/resource/analyzers/AnalyzerBase.js +3 -5
  205. package/dist/kurot/resource/analyzers/AnalyzerBase.js.map +1 -1
  206. package/dist/kurot/resource/analyzers/ImageAnalyzer.d.ts.map +1 -1
  207. package/dist/kurot/resource/analyzers/ImageAnalyzer.js +0 -1
  208. package/dist/kurot/resource/analyzers/ImageAnalyzer.js.map +1 -1
  209. package/dist/kurot/resource/analyzers/SheetAnalyzer.d.ts +6 -5
  210. package/dist/kurot/resource/analyzers/SheetAnalyzer.d.ts.map +1 -1
  211. package/dist/kurot/resource/analyzers/SheetAnalyzer.js +6 -12
  212. package/dist/kurot/resource/analyzers/SheetAnalyzer.js.map +1 -1
  213. package/dist/kurot/resource/analyzers/SoundAnalyzer.d.ts.map +1 -1
  214. package/dist/kurot/resource/analyzers/SoundAnalyzer.js +0 -1
  215. package/dist/kurot/resource/analyzers/SoundAnalyzer.js.map +1 -1
  216. package/dist/kurot/resource/index.d.ts.map +1 -1
  217. package/dist/kurot/resource/index.js +0 -3
  218. package/dist/kurot/resource/index.js.map +1 -1
  219. package/dist/kurot/system/Capabilities.d.ts +11 -13
  220. package/dist/kurot/system/Capabilities.d.ts.map +1 -1
  221. package/dist/kurot/system/Capabilities.js +12 -18
  222. package/dist/kurot/system/Capabilities.js.map +1 -1
  223. package/dist/kurot/text/BitmapFont.d.ts +0 -1
  224. package/dist/kurot/text/BitmapFont.d.ts.map +1 -1
  225. package/dist/kurot/text/BitmapFont.js +0 -2
  226. package/dist/kurot/text/BitmapFont.js.map +1 -1
  227. package/dist/kurot/text/BitmapText.d.ts +0 -5
  228. package/dist/kurot/text/BitmapText.d.ts.map +1 -1
  229. package/dist/kurot/text/BitmapText.js +0 -6
  230. package/dist/kurot/text/BitmapText.js.map +1 -1
  231. package/dist/kurot/text/HtmlTextParser.d.ts +3 -1
  232. package/dist/kurot/text/HtmlTextParser.d.ts.map +1 -1
  233. package/dist/kurot/text/HtmlTextParser.js +3 -1
  234. package/dist/kurot/text/HtmlTextParser.js.map +1 -1
  235. package/dist/kurot/text/InputController.d.ts.map +1 -1
  236. package/dist/kurot/text/InputController.js +0 -2
  237. package/dist/kurot/text/InputController.js.map +1 -1
  238. package/dist/kurot/text/StageText.d.ts +1 -20
  239. package/dist/kurot/text/StageText.d.ts.map +1 -1
  240. package/dist/kurot/text/StageText.js +2 -46
  241. package/dist/kurot/text/StageText.js.map +1 -1
  242. package/dist/kurot/text/TextField.d.ts +0 -12
  243. package/dist/kurot/text/TextField.d.ts.map +1 -1
  244. package/dist/kurot/text/TextField.js +0 -41
  245. package/dist/kurot/text/TextField.js.map +1 -1
  246. package/dist/kurot/text/WordWrap.d.ts +0 -1
  247. package/dist/kurot/text/WordWrap.d.ts.map +1 -1
  248. package/dist/kurot/text/WordWrap.js +0 -3
  249. package/dist/kurot/text/WordWrap.js.map +1 -1
  250. package/dist/kurot/utils/Base64Util.d.ts +1 -6
  251. package/dist/kurot/utils/Base64Util.d.ts.map +1 -1
  252. package/dist/kurot/utils/Base64Util.js +1 -7
  253. package/dist/kurot/utils/Base64Util.js.map +1 -1
  254. package/dist/kurot/utils/DebugLog.js +0 -1
  255. package/dist/kurot/utils/DebugLog.js.map +1 -1
  256. package/dist/kurot/utils/FontManager.d.ts.map +1 -1
  257. package/dist/kurot/utils/FontManager.js +3 -1
  258. package/dist/kurot/utils/FontManager.js.map +1 -1
  259. package/dist/kurot/utils/NumberUtils.d.ts.map +1 -1
  260. package/dist/kurot/utils/NumberUtils.js +0 -1
  261. package/dist/kurot/utils/NumberUtils.js.map +1 -1
  262. package/package.json +14 -3
  263. package/dist/kurot/benchmark/BenchmarkRunner.d.ts +0 -60
  264. package/dist/kurot/benchmark/BenchmarkRunner.d.ts.map +0 -1
  265. package/dist/kurot/benchmark/BenchmarkRunner.js +0 -112
  266. package/dist/kurot/benchmark/BenchmarkRunner.js.map +0 -1
  267. package/dist/kurot/benchmark/MetricsCollector.d.ts +0 -34
  268. package/dist/kurot/benchmark/MetricsCollector.d.ts.map +0 -1
  269. package/dist/kurot/benchmark/MetricsCollector.js +0 -123
  270. package/dist/kurot/benchmark/MetricsCollector.js.map +0 -1
  271. package/dist/kurot/benchmark/PerfPanel.d.ts +0 -24
  272. package/dist/kurot/benchmark/PerfPanel.d.ts.map +0 -1
  273. package/dist/kurot/benchmark/PerfPanel.js +0 -131
  274. package/dist/kurot/benchmark/PerfPanel.js.map +0 -1
  275. package/dist/kurot/benchmark/ReportExporter.d.ts +0 -8
  276. package/dist/kurot/benchmark/ReportExporter.d.ts.map +0 -1
  277. package/dist/kurot/benchmark/ReportExporter.js +0 -54
  278. package/dist/kurot/benchmark/ReportExporter.js.map +0 -1
  279. package/dist/kurot/benchmark/SceneRegistry.d.ts +0 -16
  280. package/dist/kurot/benchmark/SceneRegistry.d.ts.map +0 -1
  281. package/dist/kurot/benchmark/SceneRegistry.js +0 -233
  282. package/dist/kurot/benchmark/SceneRegistry.js.map +0 -1
  283. package/dist/kurot/benchmark/types.d.ts +0 -47
  284. package/dist/kurot/benchmark/types.d.ts.map +0 -1
  285. package/dist/kurot/benchmark/types.js +0 -2
  286. package/dist/kurot/benchmark/types.js.map +0 -1
@@ -14,18 +14,7 @@ const STAGE_BUILD_OPTIONS = { isStage: true };
14
14
  const MASK_BUILD_OPTIONS = { inlineRenderGroups: true };
15
15
  // ── WebGLRenderer ─────────────────────────────────────────────────────────────
16
16
  /**
17
- * Two-phase WebGL renderer inspired by Pixi.js 8's RenderPipe / InstructionSet pattern.
18
- *
19
- * Phase A — Build (only when structureDirty):
20
- * Traverse the DisplayObject tree and produce a flat InstructionSet.
21
- * Each instruction captures the object reference + transform snapshot.
22
- *
23
- * Phase B — Execute (every frame):
24
- * Walk the InstructionSet and dispatch each instruction to its pipe.
25
- * No scene-graph traversal happens here.
26
- *
27
- * When only data changes ($renderDirty but not structureDirty):
28
- * Call pipe.updateRenderable() for each dirty object, then execute.
17
+ * Builds reusable instruction sets and executes them through render pipes.
29
18
  */
30
19
  export class WebGLRenderer {
31
20
  // ── Pipes ─────────────────────────────────────────────────────────────────
@@ -39,20 +28,10 @@ export class WebGLRenderer {
39
28
  _particlePipe = new ParticlePipe();
40
29
  // ── Instruction set ───────────────────────────────────────────────────────
41
30
  _instructionSet = new InstructionSet();
42
- // Scratch instruction sets used by nested mask-object renders.
43
31
  _maskInstructionSets = [];
44
- // Current mask-object rendering depth.
45
32
  _maskInstructionDepth = 0;
46
33
  _renderGroupSets = new WeakMap();
47
34
  _renderGroupSetList = [];
48
- // Tracks recursive render() depth. Currently render() is never called
49
- // recursively (cacheAsBitmap uses an instruction-based path, RenderTexture
50
- // uses CanvasRenderer), so this stays at 0 on entry / exit. The guard below
51
- // (`if (this._nestLevel === 0)`) therefore fires on every render today.
52
- // Kept so that a future WebGL cacheAsBitmap / drawToTexture that recurses
53
- // through render() will only restore the root projection on the outermost
54
- // call — restoring it on an inner call would corrupt the in-flight
55
- // offscreen pass. DO NOT remove even though it looks unused.
56
35
  _nestLevel = 0;
57
36
  constructor() {
58
37
  this._bitmapPipe = new BitmapPipe();
@@ -63,11 +42,7 @@ export class WebGLRenderer {
63
42
  this._renderMaskObject(obj, buffer, offsetX, offsetY);
64
43
  });
65
44
  }
66
- // ── Public entry point ────────────────────────────────────────────────────
67
- /**
68
- * Release pooled instructions (filter/mask push/pop) back to their
69
- * respective pipes before a rebuild discards `set`'s current contents.
70
- */
45
+ // ── Instruction lifecycle ────────────────────────────────────────────────
71
46
  _releaseInstructions(set) {
72
47
  for (let i = 0; i < set.instructionSize; i++) {
73
48
  const inst = set.instructions[i];
@@ -91,12 +66,13 @@ export class WebGLRenderer {
91
66
  * Render `displayObject` into `buffer` and return the number of draw calls
92
67
  * issued. Rebuilds the instruction set when the scene structure is dirty,
93
68
  * otherwise patches dirty renderables in place, then executes.
69
+ * The outermost pass cycles a scratch buffer after execution to restore the
70
+ * root projection following any offscreen activation.
94
71
  */
95
72
  render(displayObject, buffer, matrix) {
96
73
  this._nestLevel++;
97
74
  const ctx = buffer.context;
98
75
  ctx.pushBuffer(buffer);
99
- // Set (not multiply) the root transform so it doesn't accumulate across frames.
100
76
  buffer.setTransform(matrix.a, matrix.b, matrix.c, matrix.d, 0, 0);
101
77
  const set = this._instructionSet;
102
78
  // ── Phase A: build instructions if scene structure changed ────────────
@@ -119,45 +95,15 @@ export class WebGLRenderer {
119
95
  const drawCalls = buffer.drawCalls;
120
96
  buffer.onRenderFinish();
121
97
  ctx.popBuffer();
122
- // Reset to identity — clean slate for next frame.
123
98
  buffer.setTransform(1, 0, 0, 1, 0, 0);
124
- // Root $renderDirty is consumed after a full render pass.
125
99
  displayObject.$renderDirty = false;
126
100
  this._nestLevel--;
127
- // Only the outermost render() restores the root buffer's projection /
128
- // viewport. See _nestLevel comment for why this guard exists despite
129
- // render() currently never recursing.
130
- //
131
- // What this call actually does: create()+release() cycles a scratch
132
- // buffer through the pool, but its real effect is the pushBuffer /
133
- // popBuffer pair inside WebGLRenderBuffer.resize(). That queues an
134
- // activateBuffer command which, when flush() runs it, calls
135
- // _activateBuffer() → onResize(), resetting the GL projection/viewport
136
- // to the root canvas size. Without this, an in-frame offscreen buffer
137
- // activation (filter / mask / cacheAsBitmap) leaves the projection set
138
- // to the offscreen size, and the next frame's output is vertically
139
- // offset. DO NOT delete as dead code — it is not dead.
140
101
  if (this._nestLevel === 0) {
141
102
  WebGLRenderBuffer.release(WebGLRenderBuffer.create(buffer.context, 0, 0));
142
103
  }
143
104
  return drawCalls;
144
105
  }
145
106
  // ── Phase A: build ────────────────────────────────────────────────────────
146
- /**
147
- * Recursively build render instructions for the display subtree rooted at
148
- * `displayObject`, appending leaf/effect/group instructions into `set`.
149
- *
150
- * A `cacheAsBitmap` object is treated as a single opaque leaf: a synthetic
151
- * `BitmapInstruction` backed by its DisplayList cache is emitted via
152
- * `addLeaf` (not `add`), so an ancestor's later transform/alpha/tint
153
- * change can still refresh this instruction's snapshot through the same
154
- * `renderableIndex` path as ordinary leaves; the cache itself is refreshed
155
- * lazily during the execute phase if dirty.
156
- *
157
- * A child with `isRenderGroup` is built into its own `InstructionSet` and
158
- * emitted as a single `renderGroup` instruction in the parent set, rather
159
- * than being inlined here.
160
- */
161
107
  _buildInstructions(displayObject, set, buffer, offsetX, offsetY, options) {
162
108
  const $displayList = displayObject.$displayList;
163
109
  if ($displayList && !options?.isStage) {
@@ -171,7 +117,6 @@ export class WebGLRenderer {
171
117
  ? MASK_BUILD_OPTIONS
172
118
  : undefined
173
119
  : options;
174
- // Emit self instruction (Bitmap / Shape / Sprite / Mesh).
175
120
  this._buildLeaf(displayObject, set, buffer, offsetX, offsetY);
176
121
  const $children = displayObject.$children;
177
122
  if (!$children || $children.length === 0)
@@ -179,7 +124,6 @@ export class WebGLRenderer {
179
124
  for (const child of $children) {
180
125
  if (child.$renderMode === 1 /* RenderMode.NONE */)
181
126
  continue;
182
- // Compute child transform.
183
127
  let ox, oy;
184
128
  let savedMatrix;
185
129
  if (child.$useTranslate) {
@@ -202,7 +146,6 @@ export class WebGLRenderer {
202
146
  const prevTint = buffer.globalTintColor;
203
147
  if (child.$tintRGB !== 0xffffff)
204
148
  buffer.globalTintColor = child.$tintRGB;
205
- // Emit effect wrappers then recurse.
206
149
  if (!childOptions?.inlineRenderGroups && child instanceof DisplayObjectContainer && child.isRenderGroup) {
207
150
  this._buildRenderGroup(child, set, buffer, ox, oy);
208
151
  }
@@ -229,11 +172,6 @@ export class WebGLRenderer {
229
172
  }
230
173
  }
231
174
  }
232
- /**
233
- * Emit a leaf instruction (bitmap/mesh/shape/text/particle) for a single
234
- * DisplayObject, based on its `$renderObjectType`. No-op for object types
235
- * that don't map to a render pipe (e.g. plain containers).
236
- */
237
175
  _buildLeaf(obj, set, buffer, offsetX, offsetY) {
238
176
  const instruction = this._createLeafInstruction(obj, offsetX, offsetY);
239
177
  if (!instruction)
@@ -241,10 +179,6 @@ export class WebGLRenderer {
241
179
  const transform = this._snapshotTransform(buffer, offsetX, offsetY);
242
180
  set.addLeaf(Object.assign(instruction, { transform }));
243
181
  }
244
- /**
245
- * Map one renderable DisplayObject to its pipe-specific leaf instruction.
246
- * Returns undefined for plain containers and empty Sprite graphics.
247
- */
248
182
  _createLeafInstruction(obj, offsetX, offsetY) {
249
183
  switch (obj.$renderObjectType) {
250
184
  case 2 /* RenderObjectType.MESH */:
@@ -299,12 +233,6 @@ export class WebGLRenderer {
299
233
  return undefined;
300
234
  }
301
235
  }
302
- /**
303
- * Wrap `obj`'s subtree with filter push/pop instructions. Skips the
304
- * wrapper entirely (falls through to a plain build) if `obj` has no
305
- * filters, since an empty push/pop pair would still incur an offscreen
306
- * buffer allocation for nothing.
307
- */
308
236
  _buildFilter(obj, set, buffer, offsetX, offsetY, options) {
309
237
  const filters = obj.$filters;
310
238
  if (!filters.length) {
@@ -319,9 +247,6 @@ export class WebGLRenderer {
319
247
  this._buildInstructions(obj, set, buffer, offsetX, offsetY, options);
320
248
  set.add(FilterPipe.makePop(obj, push));
321
249
  }
322
- /**
323
- * Wrap `obj`'s subtree with mask push/pop instructions (`obj.$mask`).
324
- */
325
250
  _buildClip(obj, set, buffer, offsetX, offsetY, options) {
326
251
  const transform = this._snapshotTransform(buffer, offsetX, offsetY);
327
252
  const push = Object.assign(MaskPipe.makePush(obj, offsetX, offsetY), { transform });
@@ -329,11 +254,6 @@ export class WebGLRenderer {
329
254
  this._buildInstructions(obj, set, buffer, offsetX, offsetY, options);
330
255
  set.add(MaskPipe.makePop(obj, push));
331
256
  }
332
- /**
333
- * Wrap `obj`'s subtree with a mask push/pop pair driven by its
334
- * `$scrollRect`/`$maskRect`, using the mask pipe's scrollRect path
335
- * (`isScrollRect`) rather than a full clip mask.
336
- */
337
257
  _buildScrollRect(obj, set, buffer, offsetX, offsetY, options) {
338
258
  const rect = obj.$scrollRect ?? obj.$maskRect;
339
259
  if (!rect || rect.isEmpty())
@@ -345,19 +265,11 @@ export class WebGLRenderer {
345
265
  }
346
266
  const transform = this._snapshotTransform(buffer, offsetX, offsetY);
347
267
  const push = Object.assign(MaskPipe.makePush(obj, offsetX, offsetY), { transform });
348
- // Tag as scrollRect so execute knows which path to take.
349
268
  push.isScrollRect = true;
350
269
  set.addIndexed(push);
351
270
  this._buildInstructions(obj, set, buffer, ox, oy, options);
352
271
  set.add(MaskPipe.makePop(obj, push));
353
272
  }
354
- /**
355
- * Build a RenderGroup subtree into its own InstructionSet and emit a
356
- * single `renderGroup` instruction into the parent set.
357
- *
358
- * The child set is rebuilt only when its own `structureDirty` flag is set,
359
- * so changes inside the group never force a rebuild of the parent set.
360
- */
361
273
  _buildRenderGroup(obj, parentSet, buffer, offsetX, offsetY) {
362
274
  let groupSet = this._renderGroupSets.get(obj);
363
275
  if (!groupSet) {
@@ -384,10 +296,6 @@ export class WebGLRenderer {
384
296
  transform,
385
297
  });
386
298
  }
387
- /**
388
- * Build a `displayListCache` instruction for a `cacheAsBitmap` object.
389
- * Returns `undefined` if the object has no `$displayList` cache.
390
- */
391
299
  _makeCacheInstruction(obj, offsetX, offsetY, buffer) {
392
300
  const $displayList = obj.$displayList;
393
301
  if (!$displayList)
@@ -396,8 +304,6 @@ export class WebGLRenderer {
396
304
  return {
397
305
  renderPipeId: 'displayListCache',
398
306
  renderable: obj,
399
- offsetX,
400
- offsetY,
401
307
  transform,
402
308
  };
403
309
  }
@@ -418,31 +324,6 @@ export class WebGLRenderer {
418
324
  };
419
325
  }
420
326
  // ── Partial update ────────────────────────────────────────────────────────
421
- /**
422
- * Patch cached transform/alpha/tint snapshots for objects marked dirty
423
- * since the last build, without forcing a full instruction rebuild.
424
- *
425
- * `set.renderableIndex.get(obj)` misses (returns `undefined`) in two
426
- * distinct cases, both handled by recursing/flagging rather than
427
- * refreshing directly:
428
- * 1. `obj` is a plain container (or any non-leaf) whose own
429
- * transform/alpha/tint changed. Containers never get a leaf
430
- * instruction (see `_buildLeaf`'s switch — containers don't match any
431
- * `RenderObjectType` case), so without recursing into descendants here,
432
- * their cached snapshots would never be refreshed: Canvas re-walks the
433
- * tree every frame and picks up new state for free, but WebGL's
434
- * snapshot-based leaves would keep drawing at the old position
435
- * indefinitely.
436
- * 2. `obj` is a leaf-type object that was skipped during
437
- * `_buildInstructions` because its graphics commands were empty at
438
- * build time (e.g. a UI component whose Validator fills commands one
439
- * frame later). If it now has graphics content, flag the set for a
440
- * full rebuild so it gets an instruction.
441
- *
442
- * When a hit is found, the snapshot is rebuilt from the object's current
443
- * world transform rather than `buffer.globalMatrix`, since that reflects
444
- * the main buffer's current state, not this object's.
445
- */
446
327
  _updateDirtyRenderables(set) {
447
328
  for (let i = 0; i < set.dirtyRenderableCount; i++) {
448
329
  const obj = set.dirtyRenderables[i];
@@ -467,20 +348,12 @@ export class WebGLRenderer {
467
348
  if (inst.renderPipeId === 'renderGroup')
468
349
  isRenderGroupBoundary = true;
469
350
  }
470
- // A Sprite can render its own Graphics and also contain children. Its
471
- // own indexed leaf must not prevent descendant snapshots from updating.
472
- // A renderGroup instruction is the boundary in the parent set; its
473
- // descendants belong to the group's independent set instead.
474
351
  if (!isRenderGroupBoundary && obj.$children && obj.$children.length > 0) {
475
352
  this._refreshDescendantTransforms(obj, set);
476
353
  }
477
354
  }
478
355
  set.clearDirtyRenderables();
479
356
  }
480
- /**
481
- * Process dirty or structurally changed nested RenderGroup sets even when
482
- * the root InstructionSet remains stable.
483
- */
484
357
  _prepareRenderGroups(set, buffer) {
485
358
  for (let i = 0; i < set.instructionSize; i++) {
486
359
  const inst = set.instructions[i];
@@ -513,18 +386,6 @@ export class WebGLRenderer {
513
386
  this._prepareRenderGroups(groupSet, buffer);
514
387
  }
515
388
  }
516
- /**
517
- * Recursively refresh the transform snapshot of every descendant leaf
518
- * instruction under `obj`. Used when an ancestor container's own
519
- * transform/alpha/tint changed — the container itself has no instruction,
520
- * but its descendants' cached snapshots are now stale and must be patched
521
- * without forcing a full structural rebuild.
522
- *
523
- * Stops descending into a subtree once it hits a nested RenderGroup —
524
- * that subtree owns its own InstructionSet and is refreshed independently
525
- * (see markRenderableDirty's RenderGroup routing), so walking into it here
526
- * would refresh against the wrong InstructionSet.
527
- */
528
389
  _refreshDescendantTransforms(obj, set) {
529
390
  const children = obj.$children;
530
391
  if (!children)
@@ -553,10 +414,6 @@ export class WebGLRenderer {
553
414
  }
554
415
  }
555
416
  }
556
- /**
557
- * Recompute the transform snapshot for a leaf instruction from the object's
558
- * current concatenated matrix and cached world alpha/tint.
559
- */
560
417
  _refreshInstructionTransform(obj, inst) {
561
418
  const cm = obj.$getConcatenatedMatrix();
562
419
  const t = inst.transform;
@@ -571,24 +428,14 @@ export class WebGLRenderer {
571
428
  t.alpha = obj.$worldAlpha;
572
429
  t.tint = obj.$worldTint;
573
430
  }
574
- /**
575
- * Check if a display object now has graphics content that warrants an instruction.
576
- */
577
431
  _hasGraphicsContent(obj) {
578
432
  const graphics = obj.graphics;
579
433
  return graphics != null && graphics.commands.length > 0;
580
434
  }
581
435
  // ── Phase B: execute ──────────────────────────────────────────────────────
582
- /**
583
- * Walk `set` and dispatch each instruction to its render pipe. No
584
- * scene-graph traversal happens here — `renderGroup` instructions recurse
585
- * into their own nested `InstructionSet` via this same method.
586
- */
587
436
  _executeInstructions(set, buffer) {
588
- // Stack for offscreen buffers opened by filter/mask push instructions.
589
437
  const offscreenStack = [];
590
438
  const scissorStack = [];
591
- // Track the currently active buffer — leaf instructions draw into this.
592
439
  let activeBuffer = buffer;
593
440
  for (let i = 0; i < set.instructionSize; i++) {
594
441
  const inst = set.instructions[i];
@@ -608,7 +455,7 @@ export class WebGLRenderer {
608
455
  case 'displayListCache': {
609
456
  const cacheInst = inst;
610
457
  this._applyTransform(activeBuffer, cacheInst.transform);
611
- this._executeDisplayListCache(cacheInst.renderable, activeBuffer, cacheInst.offsetX, cacheInst.offsetY);
458
+ this._executeDisplayListCache(cacheInst.renderable, activeBuffer);
612
459
  break;
613
460
  }
614
461
  // ── RenderGroup ───────────────────────────────────────────────
@@ -670,7 +517,6 @@ export class WebGLRenderer {
670
517
  }
671
518
  else {
672
519
  const displayBuffer = offscreenStack.pop();
673
- // Restore the parent buffer before compositing.
674
520
  if (displayBuffer)
675
521
  activeBuffer =
676
522
  offscreenStack.length > 0
@@ -684,9 +530,6 @@ export class WebGLRenderer {
684
530
  }
685
531
  }
686
532
  }
687
- /**
688
- * Execute one leaf instruction through its owning render pipe.
689
- */
690
533
  _executeLeafInstruction(instruction, buffer) {
691
534
  switch (instruction.renderPipeId) {
692
535
  case 'bitmap':
@@ -706,10 +549,6 @@ export class WebGLRenderer {
706
549
  break;
707
550
  }
708
551
  }
709
- /**
710
- * Restore `buffer`'s global matrix/alpha/tint from a snapshot, adjusting
711
- * for the buffer's offscreen origin if it's a filter/mask offscreen target.
712
- */
713
552
  _applyTransform(buffer, t) {
714
553
  const m = buffer.globalMatrix;
715
554
  const tx = t.tx + t.a * t.offsetX + t.c * t.offsetY;
@@ -735,11 +574,6 @@ export class WebGLRenderer {
735
574
  buffer.globalAlpha = t.alpha;
736
575
  buffer.globalTintColor = t.tint;
737
576
  }
738
- /**
739
- * Configure conversion from world-space instruction snapshots into the
740
- * effect owner's local offscreen coordinate system. Filter padding shifts
741
- * the content bounds origin from (0,0) to (padX,padY).
742
- */
743
577
  _configureOffscreenTransform(buf, bounds, t) {
744
578
  const padX = buf.filterPadX;
745
579
  const padY = buf.filterPadY;
@@ -767,12 +601,7 @@ export class WebGLRenderer {
767
601
  buf.offscreenLocalY = padY - bounds.y;
768
602
  buf.hasOffscreenTransform = true;
769
603
  }
770
- /**
771
- * Execute a `displayListCache` instruction: refresh the cached bitmap if
772
- * dirty (re-rendering `obj`'s subtree via the canvas renderer into an
773
- * offscreen surface), then draw that cached bitmap into `buffer`.
774
- */
775
- _executeDisplayListCache(obj, buffer, offsetX, offsetY) {
604
+ _executeDisplayListCache(obj, buffer) {
776
605
  const $displayList = obj.$displayList;
777
606
  if (!$displayList)
778
607
  return;
@@ -783,11 +612,6 @@ export class WebGLRenderer {
783
612
  $displayList.canvasBuffer.context.setTransform(resolution, 0, 0, resolution, 0, 0);
784
613
  this._canvasRenderer.renderToContext(obj, $displayList.canvasBuffer.context, $displayList.offsetX, $displayList.offsetY);
785
614
  $displayList.updateBitmapData();
786
- // The DisplayList keeps the same BitmapData and canvas identity
787
- // between cache refreshes. getWebGLTexture() therefore reuses the
788
- // existing GPU texture, but an offscreen canvas does not upload its
789
- // changed pixels automatically. Refresh it explicitly so resized or
790
- // re-rendered cache content is sampled at its current dimensions.
791
615
  const bitmapData = $displayList.bitmapData;
792
616
  if (bitmapData?.webGLTexture && bitmapData.source) {
793
617
  buffer.context.updateTexture(bitmapData.webGLTexture, bitmapData.source);
@@ -795,8 +619,6 @@ export class WebGLRenderer {
795
619
  }
796
620
  obj.$cacheDirty = false;
797
621
  obj.$renderDirty = false;
798
- // Structure may have changed inside the cached subtree — mark dirty
799
- // so next frame rebuilds if the cache is invalidated.
800
622
  }
801
623
  if (!$displayList.bitmapData?.source)
802
624
  return;
@@ -804,20 +626,8 @@ export class WebGLRenderer {
804
626
  const w = $displayList.canvasBuffer.width;
805
627
  const h = $displayList.canvasBuffer.height;
806
628
  const resolution = $displayList.actualResolution;
807
- // offsetX/Y already in globalMatrix via _applyTransform.
808
- if (offsetX !== 0 || offsetY !== 0) {
809
- buffer.globalMatrix.append(1, 0, 0, 1, offsetX, offsetY);
810
- }
811
629
  buffer.context.drawImage(bd, 0, 0, w, h, -$displayList.offsetX, -$displayList.offsetY, w / resolution, h / resolution, w, h, false, $displayList.scaleMode === 'linear');
812
- if (offsetX !== 0 || offsetY !== 0) {
813
- buffer.globalMatrix.append(1, 0, 0, 1, -offsetX, -offsetY);
814
- }
815
630
  }
816
- /**
817
- * Build and execute a mask object through the regular instruction pipeline.
818
- * Scratch sets are separated by nesting depth because a mask subtree may
819
- * contain another mask and re-enter this method during execution.
820
- */
821
631
  _renderMaskObject(obj, buffer, offsetX, offsetY) {
822
632
  const depth = this._maskInstructionDepth++;
823
633
  let set = this._maskInstructionSets[depth];
@@ -829,8 +639,6 @@ export class WebGLRenderer {
829
639
  set.reset();
830
640
  buffer.globalAlpha = 1;
831
641
  buffer.globalTintColor = 0xffffff;
832
- // RenderGroups are intentionally inlined into this scratch set. Their
833
- // persistent sets contain transforms from the main scene coordinate space.
834
642
  this._buildInstructions(obj, set, buffer, offsetX, offsetY, MASK_BUILD_OPTIONS);
835
643
  this._executeInstructions(set, buffer);
836
644
  }
@@ -857,13 +665,10 @@ export class WebGLRenderer {
857
665
  }
858
666
  }
859
667
  this._instructionSet.structureDirty = true;
860
- // When no specific owner is given (e.g. context restored), mark ALL
861
- // RenderGroup sets dirty so they also rebuild with fresh texture refs.
862
668
  if (!owner) {
863
669
  for (let i = this._renderGroupSetList.length - 1; i >= 0; i--) {
864
670
  const container = this._renderGroupSetList[i].deref();
865
671
  if (!container) {
866
- // GC'd — remove dead entry.
867
672
  this._renderGroupSetList.splice(i, 1);
868
673
  continue;
869
674
  }
@@ -873,13 +678,6 @@ export class WebGLRenderer {
873
678
  }
874
679
  }
875
680
  }
876
- /**
877
- * @internal Called by Player when a DisplayObject's data changes but the
878
- * scene structure is stable. Queues the object for a transform-snapshot
879
- * update instead of a full rebuild.
880
- *
881
- * Routes to the RenderGroup's set if the object lives inside one.
882
- */
883
681
  markRenderableDirty(obj) {
884
682
  if (obj instanceof DisplayObjectContainer && obj.isRenderGroup) {
885
683
  const groupSet = this._renderGroupSets.get(obj);
@@ -888,7 +686,6 @@ export class WebGLRenderer {
888
686
  this._findOwningSet(obj.$parent).markRenderableDirty(obj);
889
687
  return;
890
688
  }
891
- // Walk up to find the nearest RenderGroup ancestor (if any).
892
689
  let p = obj.$parent;
893
690
  while (p) {
894
691
  if (p instanceof DisplayObjectContainer && p.isRenderGroup) {
@@ -901,7 +698,6 @@ export class WebGLRenderer {
901
698
  }
902
699
  p = p.$parent;
903
700
  }
904
- // No RenderGroup ancestor — route to the root set.
905
701
  if (!this._instructionSet.structureDirty)
906
702
  this._instructionSet.markRenderableDirty(obj);
907
703
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebGLRenderer.js","sourceRoot":"","sources":["../../../../src/kurot/player/webgl/WebGLRenderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAKjF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAA0B,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAA4B,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAwB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAyD,MAAM,wBAAwB,CAAC;AAC3G,OAAO,EAAE,QAAQ,EAAqD,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAwB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,YAAY,EAA4B,MAAM,0BAA0B,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AA0B3D,MAAM,mBAAmB,GAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACvE,MAAM,kBAAkB,GAA4B,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;AA+CjF,iFAAiF;AAEjF;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,aAAa;IACzB,6EAA6E;IAC5D,eAAe,GAAG,IAAI,cAAc,EAAE,CAAC;IACvC,WAAW,CAAa;IACxB,aAAa,CAAe;IAC5B,SAAS,CAAW;IACpB,SAAS,CAAW;IACpB,WAAW,GAAG,IAAI,UAAU,EAAE,CAAC;IAC/B,SAAS,CAAW;IACpB,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;IAEpD,6EAA6E;IAC5D,eAAe,GAAG,IAAI,cAAc,EAAE,CAAC;IACxD,+DAA+D;IAC9C,oBAAoB,GAAqB,EAAE,CAAC;IAC7D,uCAAuC;IAC/B,qBAAqB,GAAG,CAAC,CAAC;IAEjB,gBAAgB,GAAG,IAAI,OAAO,EAA0C,CAAC;IACzE,mBAAmB,GAA2C,EAAE,CAAC;IAElF,sEAAsE;IACtE,2EAA2E;IAC3E,4EAA4E;IAC5E,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,mEAAmE;IACnE,6DAA6D;IACrD,UAAU,GAAG,CAAC,CAAC;IAEvB;QACC,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;YAC/D,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,6EAA6E;IAE7E;;;OAGG;IACK,oBAAoB,CAAC,GAAmB;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC3B,KAAK,YAAY;oBAChB,UAAU,CAAC,WAAW,CAAC,IAA6B,CAAC,CAAC;oBACtD,MAAM;gBACP,KAAK,WAAW;oBACf,UAAU,CAAC,UAAU,CAAC,IAA4B,CAAC,CAAC;oBACpD,MAAM;gBACP,KAAK,UAAU;oBACd,QAAQ,CAAC,WAAW,CAAC,IAA2B,CAAC,CAAC;oBAClD,MAAM;gBACP,KAAK,SAAS;oBACb,QAAQ,CAAC,UAAU,CAAC,IAA0B,CAAC,CAAC;oBAChD,MAAM;YACR,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAA4B,EAAE,MAAyB,EAAE,MAAc;QACpF,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3B,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEvB,gFAAgF;QAChF,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAElE,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;QAEjC,yEAAyE;QACzE,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC/B,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;YACvB,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC;YAClC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;YAC/F,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,CAAC;aAAM,CAAC;YACP,qEAAqE;YACrE,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEvC,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,MAAM,CAAC,cAAc,EAAE,CAAC;QAExB,GAAG,CAAC,SAAS,EAAE,CAAC;QAEhB,kDAAkD;QAClD,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtC,0DAA0D;QAC1D,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;QAEnC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,sEAAsE;QACtE,qEAAqE;QACrE,sCAAsC;QACtC,EAAE;QACF,oEAAoE;QACpE,mEAAmE;QACnE,mEAAmE;QACnE,4DAA4D;QAC5D,uEAAuE;QACvE,sEAAsE;QACtE,uEAAuE;QACvE,mEAAmE;QACnE,uDAAuD;QACvD,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;YAC3B,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;;;;OAcG;IACK,kBAAkB,CACzB,aAA4B,EAC5B,GAAmB,EACnB,MAAyB,EACzB,OAAe,EACf,OAAe,EACf,OAAiC;QAEjC,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;QAChD,IAAI,YAAY,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACjF,IAAI,IAAI;gBAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO;QACR,CAAC;QACD,MAAM,YAAY,GAAG,OAAO,EAAE,OAAO;YACpC,CAAC,CAAC,OAAO,CAAC,kBAAkB;gBAC3B,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,SAAS;YACZ,CAAC,CAAC,OAAO,CAAC;QAEX,0DAA0D;QAC1D,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE9D,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEjD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,WAAW,4BAAoB;gBAAE,SAAS;YAEpD,2BAA2B;YAC3B,IAAI,EAAU,EAAE,EAAU,CAAC;YAC3B,IAAI,WAA+B,CAAC;YAEpC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC7B,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;gBACxB,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;gBACxB,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC9B,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC7C,EAAE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC3B,EAAE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACP,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC;gBAC/C,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC;YAChD,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;YACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YAE3D,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;YACxC,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAAE,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC;YAEzE,qCAAqC;YACrC,IAAI,CAAC,YAAY,EAAE,kBAAkB,IAAI,KAAK,YAAY,sBAAsB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACzG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACP,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC;oBAC3B;wBACC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;wBAC5D,MAAM;oBACP;wBACC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;wBAC1D,MAAM;oBACP;wBACC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;wBAChE,MAAM;oBACP;wBACC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;gBACpE,CAAC;YACF,CAAC;YACD,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC;YAC/B,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC;YAElC,IAAI,WAAW,EAAE,CAAC;gBACjB,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC1C,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;OAIG;IACK,UAAU,CACjB,GAAkB,EAClB,GAAmB,EACnB,MAAyB,EACzB,OAAe,EACf,OAAe;QAEf,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW;YAAE,OAAO;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAoB,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAC7B,GAAkB,EAClB,OAAe,EACf,OAAe;QAEf,QAAQ,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAC/B;gBACC,OAAO;oBACN,YAAY,EAAE,MAAM;oBACpB,UAAU,EAAE,GAAW;oBACvB,OAAO;oBACP,OAAO;iBACP,CAAC;YACH;gBACC,OAAO;oBACN,YAAY,EAAE,QAAQ;oBACtB,UAAU,EAAE,GAAa;oBACzB,OAAO;oBACP,OAAO;iBACP,CAAC;YACH;gBACC,OAAO;oBACN,YAAY,EAAE,UAAU;oBACxB,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAG,GAAa,CAAC,QAAQ;oBACjC,OAAO;oBACP,OAAO;iBACP,CAAC;YACH;gBACC,OAAO;oBACN,YAAY,EAAE,MAAM;oBACpB,UAAU,EAAE,GAAgB;oBAC5B,OAAO;oBACP,OAAO;iBACP,CAAC;YACH,oCAA4B,CAAC,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,GAAa,CAAC;gBAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,SAAS,CAAC;gBAC5D,OAAO;oBACN,YAAY,EAAE,UAAU;oBACxB,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO;oBACP,OAAO;iBACP,CAAC;YACH,CAAC;YACD;gBACC,OAAO;oBACN,YAAY,EAAE,UAAU;oBACxB,UAAU,EAAE,GAAG;oBACf,OAAO;oBACP,OAAO;iBACP,CAAC;YACH;gBACC,OAAO,SAAS,CAAC;QACnB,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACK,YAAY,CACnB,GAAkB,EAClB,GAAmB,EACnB,MAAyB,EACzB,OAAe,EACf,OAAe,EACf,OAAiC;QAEjC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrE,OAAO;QACR,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;YAC/E,SAAS;SACT,CAA0B,CAAC;QAC5B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,IAA6B,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACK,UAAU,CACjB,GAAkB,EAClB,GAAmB,EACnB,MAAyB,EACzB,OAAe,EACf,OAAe,EACf,OAAiC;QAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,CAA0B,CAAC;QAC7G,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAA2B,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CACvB,GAAkB,EAClB,GAAmB,EACnB,MAAyB,EACzB,OAAe,EACf,OAAe,EACf,OAAiC;QAEjC,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,SAAS,CAAC;QAC9C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO;QAEpC,IAAI,EAAE,GAAG,OAAO,EACf,EAAE,GAAG,OAAO,CAAC;QACd,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YACb,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,CAA0B,CAAC;QAC7G,yDAAyD;QACxD,IAA4B,CAAC,YAAY,GAAG,IAAI,CAAC;QAClD,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAA2B,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB,CACxB,GAA2B,EAC3B,SAAyB,EACzB,MAAyB,EACzB,OAAe,EACf,OAAe;QAEf,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACpC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACjE,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC;QACjC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,SAAS,CAAC,UAAU,CAAC;YACpB,YAAY,EAAE,aAAa;YAC3B,UAAU,EAAE,GAAG;YACf,GAAG,EAAE,QAAQ;YACb,OAAO;YACP,OAAO;YACP,SAAS;SACiB,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAC5B,GAAkB,EAClB,OAAe,EACf,OAAe,EACf,MAAyB;QAEzB,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,YAAY;YAAE,OAAO,SAAS,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,OAAO;YACN,YAAY,EAAE,kBAAkB;YAChC,UAAU,EAAE,GAAG;YACf,OAAO;YACP,OAAO;YACP,SAAS;SACT,CAAC;IACH,CAAC;IAED,6EAA6E;IAErE,kBAAkB,CAAC,MAAyB,EAAE,OAAe,EAAE,OAAe;QACrF,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;QAC9B,OAAO;YACN,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,OAAO;YACP,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,WAAW;YACzB,IAAI,EAAE,MAAM,CAAC,eAAe;SAC5B,CAAC;IACH,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACK,uBAAuB,CAAC,GAAmB;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/C,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7C,CAAC;qBAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1C,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBACD,SAAS;YACV,CAAC;YACD,IAAI,qBAAqB,GAAG,KAAK,CAAC;YAClC,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YAC/D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC5C,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnE,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAqE,CAAC;gBACvG,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC7C,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa;oBAAE,qBAAqB,GAAG,IAAI,CAAC;YACvE,CAAC;YACD,sEAAsE;YACtE,wEAAwE;YACxE,mEAAmE;YACnE,6DAA6D;YAC7D,IAAI,CAAC,qBAAqB,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzE,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;QACF,CAAC;QACD,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,GAAmB,EAAE,MAAyB;QAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa;gBAAE,SAAS;YAClD,MAAM,KAAK,GAAG,IAA8B,CAAC;YAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;YAC3B,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;gBACtC,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC;gBACzC,IAAI,CAAC;oBACJ,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC9C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;oBACpC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACjB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClE,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC;gBACjC,CAAC;wBAAS,CAAC;oBACV,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAC1C,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;oBAChC,MAAM,CAAC,eAAe,GAAG,SAAS,CAAC;oBACnC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC7B,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAED;;;;;;;;;;;OAWG;IACK,4BAA4B,CAAC,GAAkB,EAAE,GAAmB;QAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC9B,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YACnD,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;YACjF,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC/D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC5C,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACnE,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAqE,CAAC;oBACvG,IAAI,IAAI;wBAAE,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC1D,CAAC;YACF,CAAC;YACD,IAAI,KAAK,YAAY,sBAAsB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc;oBAAE,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC9E,SAAS;YACV,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;OAGG;IACK,4BAA4B,CACnC,GAAkB,EAClB,IAAsE;QAEtE,MAAM,EAAE,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACzB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC;QAC1B,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,GAAkB;QAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,OAAO,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,6EAA6E;IAE7E;;;;OAIG;IACK,oBAAoB,CAAC,GAAmB,EAAE,MAAyB;QAC1E,uEAAuE;QACvE,MAAM,cAAc,GAAsC,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAc,EAAE,CAAC;QACnC,wEAAwE;QACxE,IAAI,YAAY,GAAG,MAAM,CAAC;QAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAmB,CAAC;YAEnD,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC3B,iEAAiE;gBACjE,KAAK,QAAQ,CAAC;gBACd,KAAK,MAAM,CAAC;gBACZ,KAAK,UAAU,CAAC;gBAChB,KAAK,MAAM,CAAC;gBACZ,KAAK,UAAU,CAAC,CAAC,CAAC;oBACjB,MAAM,IAAI,GAAG,IAAuB,CAAC;oBACrC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBACnD,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACjD,MAAM;gBACP,CAAC;gBAED,iEAAiE;gBACjE,KAAK,kBAAkB,CAAC,CAAC,CAAC;oBACzB,MAAM,SAAS,GAAG,IAAmC,CAAC;oBACtD,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;oBACxD,IAAI,CAAC,wBAAwB,CAC5B,SAAS,CAAC,UAAU,EACpB,YAAY,EACZ,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,OAAO,CACjB,CAAC;oBACF,MAAM;gBACP,CAAC;gBAED,iEAAiE;gBACjE,KAAK,aAAa,CAAC,CAAC,CAAC;oBACpB,MAAM,MAAM,GAAG,IAA8B,CAAC;oBAC9C,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;oBACrD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;oBACpD,MAAM;gBACP,CAAC;gBAED,iEAAiE;gBACjE,KAAK,YAAY,CAAC,CAAC,CAAC;oBACnB,MAAM,IAAI,GAAG,IAA6B,CAAC;oBAC3C,MAAM,KAAK,GAAI,IAA8B,CAAC,SAAS,CAAC;oBACxD,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;oBAE1C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACnE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC/B,IAAI,SAAS,EAAE,CAAC;wBACf,IAAI,CAAC,4BAA4B,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,CAAC;wBAC1F,YAAY,GAAG,SAAS,CAAC;oBAC1B,CAAC;oBACD,MAAM;gBACP,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBAClB,MAAM,GAAG,GAAG,IAA4B,CAAC;oBACzC,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;oBAEvC,IAAI,SAAS;wBACZ,YAAY;4BACX,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC7F,IAAI,CAAC,eAAe,CAAC,YAAY,EAAG,GAAG,CAAC,IAA8B,CAAC,SAAS,CAAC,CAAC;oBAClF,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;oBAC1D,MAAM;gBACP,CAAC;gBAED,iEAAiE;gBACjE,KAAK,UAAU,CAAC,CAAC,CAAC;oBACjB,MAAM,IAAI,GAAG,IAA2B,CAAC;oBACzC,MAAM,KAAK,GAAI,IAA8B,CAAC,SAAS,CAAC;oBACxD,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;oBAC1C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACvB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBAC7E,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAC/B,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACP,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBACzE,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBACnC,IAAI,aAAa,EAAE,CAAC;4BACnB,IAAI,CAAC,4BAA4B,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,CAAC;4BAC9F,YAAY,GAAG,aAAa,CAAC;wBAC9B,CAAC;oBACF,CAAC;oBACD,MAAM;gBACP,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBAChB,MAAM,GAAG,GAAG,IAA0B,CAAC;oBACvC,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;wBAC3B,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC;wBAChD,cAAc,CAAC,GAAG,EAAE,CAAC;wBACrB,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;oBAChE,CAAC;yBAAM,CAAC;wBACP,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;wBAC3C,gDAAgD;wBAChD,IAAI,aAAa;4BAChB,YAAY;gCACX,cAAc,CAAC,MAAM,GAAG,CAAC;oCACxB,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC;oCACvD,CAAC,CAAC,MAAM,CAAC;wBACZ,IAAI,CAAC,eAAe,CAAC,YAAY,EAAG,GAAG,CAAC,IAA8B,CAAC,SAAS,CAAC,CAAC;wBAClF,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;oBACjE,CAAC;oBACD,MAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,WAAgC,EAAE,MAAyB;QAC1F,QAAQ,WAAW,CAAC,YAAY,EAAE,CAAC;YAClC,KAAK,QAAQ;gBACZ,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC9C,MAAM;YACP,KAAK,MAAM;gBACV,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM;YACP,KAAK,UAAU;gBACd,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAChD,MAAM;YACP,KAAK,MAAM;gBACV,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM;YACP,KAAK,UAAU;gBACd,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAChD,MAAM;QACR,CAAC;IACF,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,MAAyB,EAAE,CAAiB;QACnE,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;QAC9B,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACpD,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACpD,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,CAAC,yBAAyB,CAAC;YACjD,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC;YAC7E,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC;YAC7E,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC;YAC7B,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;YAChC,OAAO;QACR,CAAC;QACD,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACpC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACpC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC;QAC7B,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACK,4BAA4B,CAAC,GAAsB,EAAE,MAAiB,EAAE,CAAiB;QAChG,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;QAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;QAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACpD,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACpD,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;YACrD,GAAG,CAAC,gBAAgB,GAAG,OAAO,GAAG,IAAI,CAAC;YACtC,GAAG,CAAC,gBAAgB,GAAG,OAAO,GAAG,IAAI,CAAC;YACtC,GAAG,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAClC,OAAO;QACR,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,yBAAyB,CAAC;QAC9C,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACtB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACvB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACvB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACtB,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACpD,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACpD,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACzC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACzC,GAAG,CAAC,eAAe,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,eAAe,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACK,wBAAwB,CAC/B,GAAkB,EAClB,MAAyB,EACzB,OAAe,EACf,OAAe;QAEf,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,YAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBACnE,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,YAAY,CAAC,gBAAgB,CAAC;gBACjD,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnF,IAAI,CAAC,eAAe,CAAC,eAAe,CACnC,GAAG,EACH,YAAY,CAAC,YAAY,CAAC,OAAO,EACjC,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,OAAO,CACpB,CAAC;gBACF,YAAY,CAAC,gBAAgB,EAAE,CAAC;gBAChC,gEAAgE;gBAChE,kEAAkE;gBAClE,oEAAoE;gBACpE,oEAAoE;gBACpE,kEAAkE;gBAClE,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;gBAC3C,IAAI,UAAU,EAAE,YAAY,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBACnD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,MAA2B,CAAC,CAAC;gBAC/F,CAAC;YACF,CAAC;YACD,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YACxB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;YACzB,oEAAoE;YACpE,sDAAsD;QACvD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM;YAAE,OAAO;QAE7C,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC;QACnC,MAAM,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC;QAC1C,MAAM,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC;QAC3C,MAAM,UAAU,GAAG,YAAY,CAAC,gBAAgB,CAAC;QACjD,yDAAyD;QACzD,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,SAAS,CACvB,EAAE,EACF,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,YAAY,CAAC,OAAO,EACrB,CAAC,YAAY,CAAC,OAAO,EACrB,CAAC,GAAG,UAAU,EACd,CAAC,GAAG,UAAU,EACd,CAAC,EACD,CAAC,EACD,KAAK,EACL,YAAY,CAAC,SAAS,KAAK,QAAQ,CACnC,CAAC;QACF,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC;IACF,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CACxB,GAAkB,EAClB,MAAyB,EACzB,OAAe,EACf,OAAe;QAEf,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACxC,CAAC;QAED,IAAI,CAAC;YACJ,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;YACvB,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC;YAClC,sEAAsE;YACtE,2EAA2E;YAC3E,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAChF,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC/B,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,6EAA6E;IAE7E;;;;;;OAMG;IACI,kBAAkB,CAAC,KAA8B;QACvD,IAAI,KAAK,EAAE,aAAa,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,QAAQ,EAAE,CAAC;gBACd,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC/B,OAAO;YACR,CAAC;QACF,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3C,oEAAoE;QACpE,uEAAuE;QACvE,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBACtD,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,4BAA4B;oBAC5B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtC,SAAS;gBACV,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACtD,IAAI,QAAQ;oBAAE,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;YAC9C,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACI,mBAAmB,CAAC,GAAkB;QAC5C,IAAI,GAAG,YAAY,sBAAsB,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc;gBAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC5E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC1D,OAAO;QACR,CAAC;QAED,6DAA6D;QAC7D,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,CAAC;YACV,IAAI,CAAC,YAAY,sBAAsB,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,QAAQ,CAAC,cAAc;wBAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;oBAChE,OAAO;gBACR,CAAC;YACF,CAAC;YACD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACf,CAAC;QACD,mDAAmD;QACnD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc;YAAE,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzF,CAAC;IAEO,cAAc,CAAC,MAA0C;QAChE,IAAI,OAAO,GAAG,MAAM,CAAC;QACrB,OAAO,OAAO,EAAE,CAAC;YAChB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpD,IAAI,QAAQ;oBAAE,OAAO,QAAQ,CAAC;YAC/B,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;CACD"}
1
+ {"version":3,"file":"WebGLRenderer.js","sourceRoot":"","sources":["../../../../src/kurot/player/webgl/WebGLRenderer.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- /** Symbol keys stored on WebGLTexture objects. */
1
+ /**
2
+ * Symbol keys stored on WebGLTexture objects.
3
+ */
2
4
  export declare const SYM_GL_CONTEXT = "__kurotGlContext";
3
5
  export declare const SYM_PREMULTIPLIED = "__kurotPremultiplied";
4
6
  export declare const SYM_DEFAULT_EMPTY = "__kurotDefaultEmpty";
5
7
  export declare const SYM_SMOOTHING = "__kurotSmoothing";
6
8
  /**
7
- * Unified GL context type.
8
- * WebGL2RenderingContext is a strict superset of WebGL1 — all existing API
9
- * calls are identical, so no rendering code needs to change.
9
+ * WebGL context accepted by shared rendering utilities.
10
10
  */
11
11
  export type GL = WebGL2RenderingContext | WebGLRenderingContext;
12
12
  export declare function compileShader(gl: GL, type: number, source: string): WebGLShader;
@@ -1 +1 @@
1
- {"version":3,"file":"WebGLUtils.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/webgl/WebGLUtils.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,eAAO,MAAM,cAAc,qBAAqB,CAAC;AACjD,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AACxD,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,MAAM,EAAE,GAAG,sBAAsB,GAAG,qBAAqB,CAAC;AAEhE,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAQ/E;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CAWpF;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAI9F;AAGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQnE;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAO3C"}
1
+ {"version":3,"file":"WebGLUtils.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/webgl/WebGLUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,cAAc,qBAAqB,CAAC;AACjD,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AACxD,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,EAAE,GAAG,sBAAsB,GAAG,qBAAqB,CAAC;AAEhE,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAQ/E;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CAWpF;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAI9F;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQnE;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAO3C"}