@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.0.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 (301) hide show
  1. package/LICENSE +73 -0
  2. package/README.md +3 -0
  3. package/dist/RenderingEngine.d.ts +296 -0
  4. package/dist/RenderingEngine.d.ts.map +1 -0
  5. package/dist/RenderingEngine.js +1079 -0
  6. package/dist/RenderingEngine.js.map +1 -0
  7. package/dist/index.d.ts +12 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +47 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/injectors/Tag3dGeometryCreationInjector.d.ts +11 -0
  12. package/dist/injectors/Tag3dGeometryCreationInjector.d.ts.map +1 -0
  13. package/dist/injectors/Tag3dGeometryCreationInjector.js +169 -0
  14. package/dist/injectors/Tag3dGeometryCreationInjector.js.map +1 -0
  15. package/dist/injectors/TextureUnifierInjector.d.ts +14 -0
  16. package/dist/injectors/TextureUnifierInjector.d.ts.map +1 -0
  17. package/dist/injectors/TextureUnifierInjector.js +227 -0
  18. package/dist/injectors/TextureUnifierInjector.js.map +1 -0
  19. package/dist/interfaces/ILoader.d.ts +4 -0
  20. package/dist/interfaces/ILoader.d.ts.map +1 -0
  21. package/dist/interfaces/ILoader.js +3 -0
  22. package/dist/interfaces/ILoader.js.map +1 -0
  23. package/dist/interfaces/IPostProcessingEffectDefinitions.d.ts +307 -0
  24. package/dist/interfaces/IPostProcessingEffectDefinitions.d.ts.map +1 -0
  25. package/dist/interfaces/IPostProcessingEffectDefinitions.js +31 -0
  26. package/dist/interfaces/IPostProcessingEffectDefinitions.js.map +1 -0
  27. package/dist/interfaces/IRenderingEngine.d.ts +43 -0
  28. package/dist/interfaces/IRenderingEngine.d.ts.map +1 -0
  29. package/dist/interfaces/IRenderingEngine.js +3 -0
  30. package/dist/interfaces/IRenderingEngine.js.map +1 -0
  31. package/dist/loaders/EnvironmentMapLoader.d.ts +98 -0
  32. package/dist/loaders/EnvironmentMapLoader.d.ts.map +1 -0
  33. package/dist/loaders/EnvironmentMapLoader.js +348 -0
  34. package/dist/loaders/EnvironmentMapLoader.js.map +1 -0
  35. package/dist/loaders/GeometryLoader.d.ts +38 -0
  36. package/dist/loaders/GeometryLoader.d.ts.map +1 -0
  37. package/dist/loaders/GeometryLoader.js +505 -0
  38. package/dist/loaders/GeometryLoader.js.map +1 -0
  39. package/dist/loaders/HTMLElementAnchorLoader.d.ts +17 -0
  40. package/dist/loaders/HTMLElementAnchorLoader.d.ts.map +1 -0
  41. package/dist/loaders/HTMLElementAnchorLoader.js +84 -0
  42. package/dist/loaders/HTMLElementAnchorLoader.js.map +1 -0
  43. package/dist/loaders/LightLoader.d.ts +19 -0
  44. package/dist/loaders/LightLoader.d.ts.map +1 -0
  45. package/dist/loaders/LightLoader.js +152 -0
  46. package/dist/loaders/LightLoader.js.map +1 -0
  47. package/dist/loaders/MaterialLoader.d.ts +99 -0
  48. package/dist/loaders/MaterialLoader.d.ts.map +1 -0
  49. package/dist/loaders/MaterialLoader.js +1175 -0
  50. package/dist/loaders/MaterialLoader.js.map +1 -0
  51. package/dist/managers/CameraManager.d.ts +20 -0
  52. package/dist/managers/CameraManager.d.ts.map +1 -0
  53. package/dist/managers/CameraManager.js +195 -0
  54. package/dist/managers/CameraManager.js.map +1 -0
  55. package/dist/managers/EnvironmentGeometryManager.d.ts +43 -0
  56. package/dist/managers/EnvironmentGeometryManager.d.ts.map +1 -0
  57. package/dist/managers/EnvironmentGeometryManager.js +210 -0
  58. package/dist/managers/EnvironmentGeometryManager.js.map +1 -0
  59. package/dist/managers/PostProcessingManager.d.ts +1014 -0
  60. package/dist/managers/PostProcessingManager.d.ts.map +1 -0
  61. package/dist/managers/PostProcessingManager.js +1013 -0
  62. package/dist/managers/PostProcessingManager.js.map +1 -0
  63. package/dist/managers/RenderingManager.d.ts +83 -0
  64. package/dist/managers/RenderingManager.d.ts.map +1 -0
  65. package/dist/managers/RenderingManager.js +567 -0
  66. package/dist/managers/RenderingManager.js.map +1 -0
  67. package/dist/managers/SceneTracingManager.d.ts +26 -0
  68. package/dist/managers/SceneTracingManager.d.ts.map +1 -0
  69. package/dist/managers/SceneTracingManager.js +122 -0
  70. package/dist/managers/SceneTracingManager.js.map +1 -0
  71. package/dist/managers/SceneTreeManager.d.ts +55 -0
  72. package/dist/managers/SceneTreeManager.d.ts.map +1 -0
  73. package/dist/managers/SceneTreeManager.js +501 -0
  74. package/dist/managers/SceneTreeManager.js.map +1 -0
  75. package/dist/managers/postprocessing/GodRaysManager.d.ts +13 -0
  76. package/dist/managers/postprocessing/GodRaysManager.d.ts.map +1 -0
  77. package/dist/managers/postprocessing/GodRaysManager.js +64 -0
  78. package/dist/managers/postprocessing/GodRaysManager.js.map +1 -0
  79. package/dist/managers/postprocessing/OutlineManager.d.ts +15 -0
  80. package/dist/managers/postprocessing/OutlineManager.d.ts.map +1 -0
  81. package/dist/managers/postprocessing/OutlineManager.js +67 -0
  82. package/dist/managers/postprocessing/OutlineManager.js.map +1 -0
  83. package/dist/managers/postprocessing/SSAARenderPass.d.ts +54 -0
  84. package/dist/managers/postprocessing/SSAARenderPass.d.ts.map +1 -0
  85. package/dist/managers/postprocessing/SSAARenderPass.js +234 -0
  86. package/dist/managers/postprocessing/SSAARenderPass.js.map +1 -0
  87. package/dist/managers/postprocessing/SelectiveBloomManager.d.ts +15 -0
  88. package/dist/managers/postprocessing/SelectiveBloomManager.d.ts.map +1 -0
  89. package/dist/managers/postprocessing/SelectiveBloomManager.js +67 -0
  90. package/dist/managers/postprocessing/SelectiveBloomManager.js.map +1 -0
  91. package/dist/managers/postprocessing/ao/ao/AOEffect.d.ts +47 -0
  92. package/dist/managers/postprocessing/ao/ao/AOEffect.d.ts.map +1 -0
  93. package/dist/managers/postprocessing/ao/ao/AOEffect.js +134 -0
  94. package/dist/managers/postprocessing/ao/ao/AOEffect.js.map +1 -0
  95. package/dist/managers/postprocessing/ao/ao/AOPass.d.ts +13 -0
  96. package/dist/managers/postprocessing/ao/ao/AOPass.d.ts.map +1 -0
  97. package/dist/managers/postprocessing/ao/ao/AOPass.js +78 -0
  98. package/dist/managers/postprocessing/ao/ao/AOPass.js.map +1 -0
  99. package/dist/managers/postprocessing/ao/ao/shader/ao_compose.d.ts +2 -0
  100. package/dist/managers/postprocessing/ao/ao/shader/ao_compose.d.ts.map +1 -0
  101. package/dist/managers/postprocessing/ao/ao/shader/ao_compose.js +23 -0
  102. package/dist/managers/postprocessing/ao/ao/shader/ao_compose.js.map +1 -0
  103. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.d.ts +15 -0
  104. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.d.ts.map +1 -0
  105. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.js +25 -0
  106. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.js.map +1 -0
  107. package/dist/managers/postprocessing/ao/hbao/shader/hbao.d.ts +2 -0
  108. package/dist/managers/postprocessing/ao/hbao/shader/hbao.d.ts.map +1 -0
  109. package/dist/managers/postprocessing/ao/hbao/shader/hbao.js +102 -0
  110. package/dist/managers/postprocessing/ao/hbao/shader/hbao.js.map +1 -0
  111. package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.d.ts +2 -0
  112. package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.d.ts.map +1 -0
  113. package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.js +99 -0
  114. package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.js.map +1 -0
  115. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts +37 -0
  116. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts.map +1 -0
  117. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js +171 -0
  118. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js.map +1 -0
  119. package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.d.ts +2 -0
  120. package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.d.ts.map +1 -0
  121. package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.js +131 -0
  122. package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.js.map +1 -0
  123. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.d.ts +15 -0
  124. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.d.ts.map +1 -0
  125. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js +76 -0
  126. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js.map +1 -0
  127. package/dist/managers/postprocessing/ao/ssao/shader/ssao.d.ts +2 -0
  128. package/dist/managers/postprocessing/ao/ssao/shader/ssao.d.ts.map +1 -0
  129. package/dist/managers/postprocessing/ao/ssao/shader/ssao.js +134 -0
  130. package/dist/managers/postprocessing/ao/ssao/shader/ssao.js.map +1 -0
  131. package/dist/managers/postprocessing/ao/utils/shader/basic.d.ts +2 -0
  132. package/dist/managers/postprocessing/ao/utils/shader/basic.d.ts.map +1 -0
  133. package/dist/managers/postprocessing/ao/utils/shader/basic.js +12 -0
  134. package/dist/managers/postprocessing/ao/utils/shader/basic.js.map +1 -0
  135. package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.d.ts +2 -0
  136. package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.d.ts.map +1 -0
  137. package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.js +42 -0
  138. package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.js.map +1 -0
  139. package/dist/managers/postprocessing/utils/CopyMaterial.d.ts +38 -0
  140. package/dist/managers/postprocessing/utils/CopyMaterial.d.ts.map +1 -0
  141. package/dist/managers/postprocessing/utils/CopyMaterial.js +106 -0
  142. package/dist/managers/postprocessing/utils/CopyMaterial.js.map +1 -0
  143. package/dist/managers/postprocessing/utils/CopyShader.d.ts +14 -0
  144. package/dist/managers/postprocessing/utils/CopyShader.d.ts.map +1 -0
  145. package/dist/managers/postprocessing/utils/CopyShader.js +36 -0
  146. package/dist/managers/postprocessing/utils/CopyShader.js.map +1 -0
  147. package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts +10 -0
  148. package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts.map +1 -0
  149. package/dist/managers/postprocessing/utils/FullScreenQuad.js +29 -0
  150. package/dist/managers/postprocessing/utils/FullScreenQuad.js.map +1 -0
  151. package/dist/managers/postprocessing/utils/NormalPass.d.ts +88 -0
  152. package/dist/managers/postprocessing/utils/NormalPass.d.ts.map +1 -0
  153. package/dist/managers/postprocessing/utils/NormalPass.js +157 -0
  154. package/dist/managers/postprocessing/utils/NormalPass.js.map +1 -0
  155. package/dist/managers/postprocessing/utils/RenderPass.d.ts +115 -0
  156. package/dist/managers/postprocessing/utils/RenderPass.d.ts.map +1 -0
  157. package/dist/managers/postprocessing/utils/RenderPass.js +251 -0
  158. package/dist/managers/postprocessing/utils/RenderPass.js.map +1 -0
  159. package/dist/materials/GemMaterial.d.ts +38 -0
  160. package/dist/materials/GemMaterial.d.ts.map +1 -0
  161. package/dist/materials/GemMaterial.js +253 -0
  162. package/dist/materials/GemMaterial.js.map +1 -0
  163. package/dist/materials/MeshUnlitMaterialParameters.d.ts +4 -0
  164. package/dist/materials/MeshUnlitMaterialParameters.d.ts.map +1 -0
  165. package/dist/materials/MeshUnlitMaterialParameters.js +3 -0
  166. package/dist/materials/MeshUnlitMaterialParameters.js.map +1 -0
  167. package/dist/materials/MultiPointsMaterial.d.ts +94 -0
  168. package/dist/materials/MultiPointsMaterial.d.ts.map +1 -0
  169. package/dist/materials/MultiPointsMaterial.js +567 -0
  170. package/dist/materials/MultiPointsMaterial.js.map +1 -0
  171. package/dist/materials/SpecularGlossinessMaterial.d.ts +14 -0
  172. package/dist/materials/SpecularGlossinessMaterial.d.ts.map +1 -0
  173. package/dist/materials/SpecularGlossinessMaterial.js +162 -0
  174. package/dist/materials/SpecularGlossinessMaterial.js.map +1 -0
  175. package/dist/objects/SDBone.d.ts +13 -0
  176. package/dist/objects/SDBone.d.ts.map +1 -0
  177. package/dist/objects/SDBone.js +75 -0
  178. package/dist/objects/SDBone.js.map +1 -0
  179. package/dist/objects/SDColor.d.ts +17 -0
  180. package/dist/objects/SDColor.d.ts.map +1 -0
  181. package/dist/objects/SDColor.js +49 -0
  182. package/dist/objects/SDColor.js.map +1 -0
  183. package/dist/objects/SDData.d.ts +19 -0
  184. package/dist/objects/SDData.d.ts.map +1 -0
  185. package/dist/objects/SDData.js +48 -0
  186. package/dist/objects/SDData.js.map +1 -0
  187. package/dist/objects/SDObject.d.ts +14 -0
  188. package/dist/objects/SDObject.d.ts.map +1 -0
  189. package/dist/objects/SDObject.js +81 -0
  190. package/dist/objects/SDObject.js.map +1 -0
  191. package/dist/shaders/PCSS.d.ts +3 -0
  192. package/dist/shaders/PCSS.d.ts.map +1 -0
  193. package/dist/shaders/PCSS.js +127 -0
  194. package/dist/shaders/PCSS.js.map +1 -0
  195. package/dist/shaders/gem.d.ts +3 -0
  196. package/dist/shaders/gem.d.ts.map +1 -0
  197. package/dist/shaders/gem.js +578 -0
  198. package/dist/shaders/gem.js.map +1 -0
  199. package/dist/shaders/multi_points.d.ts +3 -0
  200. package/dist/shaders/multi_points.d.ts.map +1 -0
  201. package/dist/shaders/multi_points.js +294 -0
  202. package/dist/shaders/multi_points.js.map +1 -0
  203. package/dist/styling/viewport-css.d.ts +2 -0
  204. package/dist/styling/viewport-css.d.ts.map +1 -0
  205. package/dist/styling/viewport-css.js +117 -0
  206. package/dist/styling/viewport-css.js.map +1 -0
  207. package/dist/three/font.d.ts +2365 -0
  208. package/dist/three/font.d.ts.map +1 -0
  209. package/dist/three/font.js +6 -0
  210. package/dist/three/font.js.map +1 -0
  211. package/dist/three/geometries/TextGeometry.d.ts +22 -0
  212. package/dist/three/geometries/TextGeometry.d.ts.map +1 -0
  213. package/dist/three/geometries/TextGeometry.js +45 -0
  214. package/dist/three/geometries/TextGeometry.js.map +1 -0
  215. package/dist/three/loaders/FontLoader.d.ts +15 -0
  216. package/dist/three/loaders/FontLoader.d.ts.map +1 -0
  217. package/dist/three/loaders/FontLoader.js +118 -0
  218. package/dist/three/loaders/FontLoader.js.map +1 -0
  219. package/dist/three/loaders/RGBELoader.d.ts +24 -0
  220. package/dist/three/loaders/RGBELoader.d.ts.map +1 -0
  221. package/dist/three/loaders/RGBELoader.js +299 -0
  222. package/dist/three/loaders/RGBELoader.js.map +1 -0
  223. package/dist/types/IThreejsData.d.ts +7 -0
  224. package/dist/types/IThreejsData.d.ts.map +1 -0
  225. package/dist/types/IThreejsData.js +3 -0
  226. package/dist/types/IThreejsData.js.map +1 -0
  227. package/dist/types/ThreejsData.d.ts +11 -0
  228. package/dist/types/ThreejsData.d.ts.map +1 -0
  229. package/dist/types/ThreejsData.js +42 -0
  230. package/dist/types/ThreejsData.js.map +1 -0
  231. package/package.json +65 -0
  232. package/src/RenderingEngine.ts +1342 -0
  233. package/src/index.ts +23 -0
  234. package/src/injectors/Tag3dGeometryCreationInjector.ts +170 -0
  235. package/src/injectors/TextureUnifierInjector.ts +224 -0
  236. package/src/interfaces/ILoader.ts +3 -0
  237. package/src/interfaces/IPostProcessingEffectDefinitions.ts +402 -0
  238. package/src/interfaces/IRenderingEngine.ts +48 -0
  239. package/src/loaders/EnvironmentMapLoader.ts +355 -0
  240. package/src/loaders/GeometryLoader.ts +565 -0
  241. package/src/loaders/HTMLElementAnchorLoader.ts +107 -0
  242. package/src/loaders/LightLoader.ts +171 -0
  243. package/src/loaders/MaterialLoader.ts +1418 -0
  244. package/src/managers/CameraManager.ts +178 -0
  245. package/src/managers/EnvironmentGeometryManager.ts +224 -0
  246. package/src/managers/PostProcessingManager.ts +1169 -0
  247. package/src/managers/RenderingManager.ts +657 -0
  248. package/src/managers/SceneTracingManager.ts +120 -0
  249. package/src/managers/SceneTreeManager.ts +569 -0
  250. package/src/managers/postprocessing/GodRaysManager.ts +52 -0
  251. package/src/managers/postprocessing/OutlineManager.ts +58 -0
  252. package/src/managers/postprocessing/SSAARenderPass.ts +339 -0
  253. package/src/managers/postprocessing/SelectiveBloomManager.ts +58 -0
  254. package/src/managers/postprocessing/ao/ao/AOEffect.ts +180 -0
  255. package/src/managers/postprocessing/ao/ao/AOPass.ts +128 -0
  256. package/src/managers/postprocessing/ao/ao/shader/ao_compose.glsl +17 -0
  257. package/src/managers/postprocessing/ao/ao/shader/ao_compose.ts +19 -0
  258. package/src/managers/postprocessing/ao/hbao/HBAOEffect.ts +41 -0
  259. package/src/managers/postprocessing/ao/hbao/shader/hbao.glsl +96 -0
  260. package/src/managers/postprocessing/ao/hbao/shader/hbao.ts +98 -0
  261. package/src/managers/postprocessing/ao/hbao/shader/hbao_utils.glsl +92 -0
  262. package/src/managers/postprocessing/ao/hbao/shader/hbao_utils.ts +95 -0
  263. package/src/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.ts +245 -0
  264. package/src/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.glsl +125 -0
  265. package/src/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.ts +127 -0
  266. package/src/managers/postprocessing/ao/ssao/SSAOEffect.ts +106 -0
  267. package/src/managers/postprocessing/ao/ssao/shader/ssao.glsl +128 -0
  268. package/src/managers/postprocessing/ao/ssao/shader/ssao.ts +130 -0
  269. package/src/managers/postprocessing/ao/utils/shader/basic.glsl +6 -0
  270. package/src/managers/postprocessing/ao/utils/shader/basic.ts +8 -0
  271. package/src/managers/postprocessing/ao/utils/shader/sampleBlueNoise.glsl +36 -0
  272. package/src/managers/postprocessing/ao/utils/shader/sampleBlueNoise.ts +38 -0
  273. package/src/managers/postprocessing/utils/CopyMaterial.ts +130 -0
  274. package/src/managers/postprocessing/utils/CopyShader.ts +39 -0
  275. package/src/managers/postprocessing/utils/FullScreenQuad.ts +47 -0
  276. package/src/managers/postprocessing/utils/NormalPass.ts +222 -0
  277. package/src/managers/postprocessing/utils/RenderPass.ts +366 -0
  278. package/src/materials/GemMaterial.ts +268 -0
  279. package/src/materials/MeshUnlitMaterialParameters.ts +4 -0
  280. package/src/materials/MultiPointsMaterial.ts +646 -0
  281. package/src/materials/SpecularGlossinessMaterial.ts +182 -0
  282. package/src/objects/SDBone.ts +51 -0
  283. package/src/objects/SDColor.ts +54 -0
  284. package/src/objects/SDData.ts +44 -0
  285. package/src/objects/SDObject.ts +58 -0
  286. package/src/shaders/PCSS.ts +124 -0
  287. package/src/shaders/gem.ts +575 -0
  288. package/src/shaders/gem_frag.glsl +517 -0
  289. package/src/shaders/gem_vert.glsl +53 -0
  290. package/src/shaders/multi_points.ts +291 -0
  291. package/src/shaders/multi_points_frag.glsl +166 -0
  292. package/src/shaders/multi_points_vert.glsl +120 -0
  293. package/src/styling/viewport-css.ts +113 -0
  294. package/src/styling/viewport.css +111 -0
  295. package/src/three/font.ts +2 -0
  296. package/src/three/geometries/TextGeometry.ts +58 -0
  297. package/src/three/loaders/FontLoader.ts +205 -0
  298. package/src/three/loaders/RGBELoader.ts +496 -0
  299. package/src/types/IThreejsData.ts +16 -0
  300. package/src/types/ThreejsData.ts +43 -0
  301. package/tsconfig.json +20 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderingEngine.js","sourceRoot":"","sources":["../src/RenderingEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,6DAAwE;AACxE,mHAAuF;AACvF,4DAAyD;AACzD,6GAA0F;AAC1F,sFAAmF;AACnF,yEAAsE;AACtE,6DAA0D;AAC1D,+EAA4E;AAC5E,yHAA6F;AAE7F,iFAA6E;AAC7E,2GAA+E;AAC/E,uDAAoD;AACpD,4EAAyE;AACzE,yCAA6C;AAC7C,kEAA+D;AAC/D,wEAAqE;AACrE,kEAA+D;AAC/D,+CAA4C;AAC5C,6FAA0F;AAC1F,6GAE2D;AAC3D,mHAQ8D;AAC9D,+EAa4C;AAC5C,yEAgByC;AACzC,yDAA6C;AAE7C,MAAa,eAAe;IAmG1B,6BAA6B;IAE7B,2BAA2B;IAE3B,YAAY,UAaX;QAnHD,0BAA0B;QAE1B,uCAAgC,oEAAoE,EAAC;QACrG,6CAAsC,oDAAoD,EAAC;QAC3F,0CAAmC,8DAA8D,EAAC;QACjF,qBAAgB,GAAoB,0DAAe,CAAC,QAAQ,CAAC;QAc7D,kBAAa,GAAiB,oDAAY,CAAC,QAAQ,CAAC;QACpD,gBAAW,GAAc,EAAE,CAAC;QAC7C,QAAQ;QACS,eAAU,GAAc,kCAAS,CAAC,QAAQ,CAAC;QAK3C,iBAAY,GAAgB,oCAAW,CAAC,QAAQ,CAAC;QAIjD,yBAAoB,GAAuB,gEAAkB,CAAC,QAAQ,CAAC;QAGvE,YAAO,GAAW,+BAAM,CAAC,QAAQ,CAAC;QAMlC,iBAAY,GAAgB,oCAAW,CAAC,QAAQ,CAAC;QACjD,gBAAW,GAAe,mCAAU,CAAC,QAAQ,CAAC;QAE9C,UAAK,GAAU,8BAAI,CAAC,QAAQ,CAAC;QAC7B,mBAAc,GAAkB,sCAAa,CAAC,QAAQ,CAAC;QAGxE,sCAEI,EAAE,EAAC;QACP,iCAAsC;YACpC,CAAC,oDAAS,CAAC,aAAa,CAAC,EAAE,EAAE;YAC7B,CAAC,oDAAS,CAAC,oBAAoB,CAAC,EAAE,EAAE;YACpC,CAAC,oDAAS,CAAC,4BAA4B,CAAC,EAAE,EAAE;SAC7C,EAAC;QACF,WAAW;QACH,gBAAW,GAAS,gBAAI,CAAC,MAAM,EAAE,CAAC;QAClC,aAAQ,GAAS,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,mBAAc,GAAS,gBAAI,CAAC,MAAM,EAAE,CAAC;QACrC,8BAAyB,GAAY,IAAI,CAAC;QAC1C,uBAAkB,GAAY,IAAI,CAAC;QACnC,kCAA6B,GAAW,IAAI,CAAC;QAC7C,uBAAkB,GAAW,EAAE,CAAC;QAChC,UAAK,GAAY,KAAK,CAAC;QACvB,qBAAgB,GAAsB,4DAAiB,CAAC,OAAO,CAAC;QAChE,gBAAW,GAAW,GAAG,CAAC;QAC1B,gBAAW,GAAU,SAAS,CAAC;QACvC,qBAAqB;QACb,YAAO,GAAY,KAAK,CAAC;QACzB,cAAS,GAAY,IAAI,CAAC;QAC1B,oBAAe,GAAsB,MAAM,CAAC;QAC5C,gCAA2B,GAAY,KAAK,CAAC;QAC7C,8BAAyB,GAAW,CAAC,CAAC;QACtC,qCAAgC,GAAY,KAAK,CAAC;QAClD,6BAAwB,GAAW,CAAC,CAAC;QACrC,8BAAyB,GAAW,MAAM,CAAC;QAC3C,4BAAuB,GAAS,gBAAI,CAAC,MAAM,EAAE,CAAC;QAC9C,oBAAe,GAAY,IAAI,CAAC;QAChC,iCAA4B,GAAY,KAAK,CAAC;QAC9C,2BAAsB,GAAY,IAAI,CAAC;QACvC,YAAO,GAAY,IAAI,CAAC;QAExB,0BAAqB,GAAsC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACpJ,WAAM,GAAY,KAAK,CAAC;QAOxB,aAAQ,GAAY,IAAI,CAAC;QACzB,UAAK,GAAY,KAAK,CAAC;QACvB,oBAAe,GAAY,KAAK,CAAC;QACjC,iBAAY,GAAY,IAAI,CAAC;QAE7B,UAAK,GAAkB,wDAAa,CAAC,QAAQ,CAAC;QAqBpD,mFAAmF;QACnF,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;QAEtC,4DAA4D;QAC5D,IAAA,6BAAY,GAAE,CAAC;QAEf,0BAA0B;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,SAAS,GAAG,kBAAG,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEjC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElD,0CAA0C;QAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,sCAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;QACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,IAAI,0DAAe,CAAC,OAAO,CAAC;QAC9D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,IAAI,8CAAqB,CAAC,KAAK,CAAC;QACpF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAA,IAAI,oCAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;YACrE,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,WAAW;YACxD,eAAe,EAAE,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAA,IAAI,uCAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe;YACzG,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,4DAAiB,CAAC,OAAO;YACtE,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,IAAI,8DAAmB,CAAC,YAAY;SACpF,CAAC;QAEF,gCAAgC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEhG,uEAAuE;QACvE,IAAI,CAAC,eAAe,GAAG,IAAI,uCAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACtE,IAAI,CAAC,aAAa,GAAG,IAAI,oDAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,kDAAW,CAAC,IAAI,CAAC,CAAC;QAE1C,wEAAwE;QACxE,IAAI,CAAC,cAAc,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,2BAA2B,GAAG,IAAI,uDAA0B,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,oBAAoB,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,iBAAiB,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,iBAAiB,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,sBAAsB,GAAG,IAAI,6CAAqB,CAAC,IAAI,CAAC,CAAC;QAE9D,UAAU;QACV,IAAI,CAAC,qBAAqB,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,eAAe,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,wBAAwB,GAAG,IAAI,iDAAuB,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;QAE1C,YAAY;QACZ,IAAI,CAAC,8BAA8B,GAAG,IAAI,6DAA6B,EAAE,CAAC;QAE1E,iDAAiD;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAClF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEjG,wEAAwE;QACxE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;QAEnC,UAAU;QACV,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAEzB,YAAY;QACZ,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,8BAA8B;IAE9B,2CAA2C;IAE3C,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAW,UAAU,CAAC,KAAW;QAC/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,OAAO,CAAC,KAAW;QAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAW,aAAa,CAAC,KAAW;QAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAW,wBAAwB;QACjC,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAED,IAAW,wBAAwB,CAAC,KAAc;QAChD,IAAI,IAAI,CAAC,yBAAyB,KAAK,KAAK;YAAE,OAAO;QACrD,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,IAAW,iBAAiB,CAAC,KAAc;QACzC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,IAAW,4BAA4B;QACrC,OAAO,IAAI,CAAC,6BAA6B,CAAC;IAC5C,CAAC;IAED,IAAW,4BAA4B,CAAC,KAAa;QACnD,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;IAC7C,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,IAAW,iBAAiB,CAAC,KAAa;QACxC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,IAAW,QAAQ;QAOjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,IAAI,CAAC,KAAc;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAW,eAAe,CAAC,KAAwB;QACjD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;IACpC,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAW,UAAU,CAAC,KAAa;QACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAW,UAAU,CAAC,KAAY;QAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;IACpD,CAAC;IAED,IAAW,mBAAmB,CAAC,KAAc;QAC3C,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACrD,CAAC;IAED,IAAW,yBAAyB;QAClC,OAAO,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC;IAC1D,CAAC;IAED,IAAW,yBAAyB,CAAC,KAAc;QACjD,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,GAAG,KAAK,CAAC;IAC3D,CAAC;IAED,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC;IACrD,CAAC;IAED,IAAW,mBAAmB,CAAC,KAA4B;QACzD,IAAI,CAAC,cAAc,CAAC,uBAAuB,GAAG,KAAK,CAAC;IACtD,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC;IACjD,CAAC;IAED,IAAW,eAAe,CAAC,KAA2B;QACpD,IAAI,CAAC,cAAc,CAAC,mBAAmB,GAAG,KAAK,CAAC;IAClD,CAAC;IAED,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC;IACvD,CAAC;IAED,IAAW,oBAAoB,CAAC,KAAY;QAC1C,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,KAAK,GAAG,KAAK,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC;IAC9C,CAAC;IAED,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC;IACtD,CAAC;IAED,IAAW,oBAAoB,CAAC,KAAwB;QACtD,IAAI,CAAC,cAAc,CAAC,wBAAwB,GAAG,KAAK,CAAC;IACvD,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,QAAQ,CAAC,KAAc;QAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAW,cAAc,CAAC,KAAwB;QAChD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,IAAW,0BAA0B;QACnC,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC1C,CAAC;IAED,IAAW,0BAA0B,CAAC,KAAc;QAClD,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;IAC3C,CAAC;IAED,IAAW,wBAAwB;QACjC,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAED,IAAW,wBAAwB,CAAC,KAAa;QAC/C,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,CAAC;IACrF,CAAC;IAED,IAAW,+BAA+B;QACxC,OAAO,IAAI,CAAC,gCAAgC,CAAC;IAC/C,CAAC;IAED,IAAW,+BAA+B,CAAC,KAAc;QACvD,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;QAC9C,IAAI,CAAC,eAAe,CAAC,qCAAqC,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,IAAW,uBAAuB;QAChC,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IAED,IAAW,uBAAuB,CAAC,KAAa;QAC9C,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACzD,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,IAAW,wBAAwB;QACjC,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAED,IAAW,wBAAwB,CAAC,KAAa;QAC/C,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,IAAW,sBAAsB;QAC/B,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,IAAW,sBAAsB,CAAC,KAAW;QAC3C,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC;IACpD,CAAC;IAED,IAAW,SAAS,CAAC,KAAY;QAC/B,IAAI,CAAC,2BAA2B,CAAC,SAAS,GAAG,KAAK,CAAC;IACrD,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAW,cAAc,CAAC,KAAc;QACtC,IAAI,IAAI,CAAC,2BAA2B,CAAC,IAAI;YAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACjG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,CAAC;IAC3D,CAAC;IAED,IAAW,gBAAgB,CAAC,KAAY;QACtC,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAC5D,CAAC;IAED,IAAW,sBAAsB;QAC/B,OAAO,IAAI,CAAC,2BAA2B,CAAC,sBAAsB,CAAC;IACjE,CAAC;IAED,IAAW,sBAAsB,CAAC,KAAY;QAC5C,IAAI,CAAC,2BAA2B,CAAC,sBAAsB,GAAG,KAAK,CAAC;IAClE,CAAC;IAED,IAAW,2BAA2B;QACpC,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC3C,CAAC;IAED,IAAW,2BAA2B,CAAC,KAAc;QACnD,IAAI,IAAI,CAAC,2BAA2B,CAAC,iBAAiB;YAAE,IAAI,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;QAC3H,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;IAC5C,CAAC;IAED,IAAW,qBAAqB;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED,IAAW,qBAAqB,CAAC,KAAc;QAC7C,IAAI,IAAI,CAAC,2BAA2B,CAAC,WAAW;YAAE,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/G,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,IAAW,uBAAuB;QAChC,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IAED,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,MAAM,CAAC,KAAc;QAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAW,oBAAoB;QAI7B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,IAAW,oBAAoB,CAAC,KAG/B;QACC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;IAChD,CAAC;IAED,IAAW,cAAc;QACvB,QAAQ,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;YACvC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;gBACzB,OAAO,2DAAgB,CAAC,IAAI,CAAC;YAC/B,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAClC;gBACE,OAAO,2DAAgB,CAAC,MAAM,CAAC;SAClC;IACH,CAAC;IAED,IAAW,cAAc,CAAC,KAAuB;QAC/C,QAAQ,KAAK,EAAE;YACb,KAAK,CAAC,2DAAgB,CAAC,IAAI,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC;gBACvD,MAAM;YACR,KAAK,CAAC,2DAAgB,CAAC,MAAM,CAAC,CAAC;YAC/B;gBACE,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,KAAK,CAAC,oBAAoB,CAAC;gBAC7D,MAAM;SACT;IACH,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAW,KAAK,CAAC,KAAc;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,uBAAuB;QAChC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;IACzC,CAAC;IAED,IAAW,uBAAuB,CAAC,KAAc;QAC/C,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,IAAW,SAAS,CAAC,KAAa;QAChC,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,0BAA0B,EAAE,CAAC;IACnD,CAAC;IAED,IAAW,qBAAqB;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED,IAAW,qBAAqB;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED,IAAW,qBAAqB,CAAC,KAAsG;QACrI,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,IAAW,oBAAoB,CAAC,KAA4D;QAC1F,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;IACtC,CAAC;IAED,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,IAAW,iBAAiB,CAAC,KAAyB;QACpD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,IAAW,mBAAmB,CAAC,KAA4B;QACzD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAW,cAAc,CAAC,KAAiC;QACzD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,OAAO,CAAC,KAAc;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,IAAI,CAAC,KAAc;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAW,cAAc,CAAC,KAAc;QACtC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,WAAW,CAAC,KAAc;QACnC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,eAAe;QACxB,QAAQ,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE;YAC3C,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;gBACzB,OAAO,2DAAgB,CAAC,IAAI,CAAC;YAC/B,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAClC;gBACE,OAAO,2DAAgB,CAAC,MAAM,CAAC;SAClC;IACH,CAAC;IAED,IAAW,eAAe,CAAC,KAAuB;QAChD,QAAQ,KAAK,EAAE;YACb,KAAK,CAAC,2DAAgB,CAAC,IAAI,CAAC;gBAC1B,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC;gBACjE,IAAI,CAAC,cAAc,CAAC,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC;gBAC3D,MAAM;YACR,KAAK,CAAC,2DAAgB,CAAC,MAAM,CAAC,CAAC;YAC/B;gBACE,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,KAAK,CAAC,oBAAoB,CAAC;gBACvE,IAAI,CAAC,cAAc,CAAC,eAAe,GAAG,KAAK,CAAC,oBAAoB,CAAC;SACpE;IACH,CAAC;IAED,IAAW,WAAW;QACpB,QAAQ,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAClC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC5B,OAAO,uDAAY,CAAC,MAAM,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC;gBAC9B,OAAO,uDAAY,CAAC,QAAQ,CAAC;YAC/B,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC5B,OAAO,uDAAY,CAAC,MAAM,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC;gBAChC,OAAO,uDAAY,CAAC,WAAW,CAAC;YAClC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC3B;gBACE,OAAO,uDAAY,CAAC,IAAI,CAAC;SAC5B;IACH,CAAC;IAED,IAAW,WAAW,CAAC,KAAmB;QACxC,QAAQ,KAAK,EAAE;YACb,KAAK,CAAC,uDAAY,CAAC,MAAM,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC;gBACrD,MAAM;YACR,KAAK,CAAC,uDAAY,CAAC,QAAQ,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,mBAAmB,CAAC;gBACvD,MAAM;YACR,KAAK,CAAC,uDAAY,CAAC,MAAM,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC;gBACrD,MAAM;YACR,KAAK,CAAC,uDAAY,CAAC,WAAW,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,qBAAqB,CAAC;gBACzD,MAAM;YACR,KAAK,CAAC,uDAAY,CAAC,IAAI,CAAC,CAAC;YACzB;gBACE,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC;SACpD;QACD,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC;IAED,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;IAC5C,CAAC;IAED,IAAW,mBAAmB,CAAC,KAAa;QAC1C,IAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,KAAK,CAAC;IAC7C,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,IAAI,CAAC,KAAoB;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;IAChD,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,IAAW,mBAAmB,CAAC,KAA2G;QACxI,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,8CAA8C;IAE9C,8BAA8B;IAEvB,OAAO,CAAC,IAAe;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,IAAI,KAAK,oDAAS,CAAC,SAAS,EAAE;YAChC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5D;aAAM;YACL,uBAAA,IAAI,8BAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAEY,aAAa,CACxB,WAAsC;QACpC,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;KACrB,EACD,cAA+B,EAC/B,iBAA0B,IAAI;;YAE9B,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC,eAAe,CAAC;YACxD,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE5B,IAAI,QAAQ,CAAC,WAAW,EAAE;gBACxB,kFAAkF;gBAClF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE;wBACxE,IAAI;4BACF,IAAI,CAAC,cAAc;gCAAE,OAAO;4BAC5B,IAAI,CAAC,0BAA0B,GAAG,cAAc,CAAC,WAAW,CAAC,eAAe,CAAC;4BAC7E,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC;4BACxD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;4BACpF,IAAI,CAAC,sBAAsB,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;4BAC3L,IAAI,CAAC,wBAAwB,GAAG,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC;4BACtE,IAAI,CAAC,uBAAuB,GAAG,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC;4BACpE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;4BAEjE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,2CAAkB,CAAC,wBAAwB,EAAkB,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;4BAClH,OAAO,EAAE,CAAC;yBACX;wBAAC,OAAO,CAAC,EAAE;4BACV,MAAM,CAAC,CAAC,CAAC,CAAC;yBACX;oBACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEzB,8CAA8C;oBAC9C,IAAI,CAAC,cAAc,GAAG,cAAe,CAAC,WAAW,CAAC,GAAG,CAAC;gBACxD,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;gBACjE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,2CAAkB,CAAC,wBAAwB,EAAkB,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;aACnH;QACH,CAAC;KAAA;IAEM,oBAAoB,CAAC,cAA8B;QACxD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAEY,KAAK;;;YAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,0CAAE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5E,MAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,0CAAE,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/E,MAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,0CAAE,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAC5F,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;;KACtB;IAEM,iBAAiB;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAEM,aAAa,CAAC,CAAO;QAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAEM,kBAAkB,CAAC,IAAe;QACvC,MAAM,GAAG,GAAsB,IAAI,sCAAgB,CAAC,EAAE,CAAC,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAClD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,sCAAgB;gBAC1C,GAAG,CAAC,KAAK,CAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YACtD,GAAG,CAAC,KAAK,CAAC,IAAI,sCAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7E,OAAO,GAAG,CAAC,QAAQ,CAAC;IACtB,CAAC;IAEM,kBAAkB,CAAC,KAAY;QACpC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/E,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,mBAAmB,CAAC,OAAe;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;YAC5C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAE7E,MAAM,CAAC,GAAmB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEnC,MAAM,CAAC,GAAyB,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACrC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,eAAe,CAAC;QAC1D,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAEM,iBAAiB;QACtB,OAAO;QACP;YACE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;YACnC,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1G,IAAI,CAAC,gBAAgB,EAAE;oBACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBACjB,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;oBAChC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;iBACvF;aACF;iBAAM;gBACL,IAAI,gBAAgB,EAAE;oBACpB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;oBAClB,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;oBAChC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;iBACxF;aACF;SACF;QAED,gBAAgB;QAChB;YACE,IAAI,uBAAA,IAAI,8BAAO,CAAC,oDAAS,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnD,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;aAC5C;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;aAC1C;SACF;QAED,uBAAuB;QACvB;YACE,MAAM,+BAA+B,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACjE,IAAI,uBAAA,IAAI,8BAAO,CAAC,oDAAS,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1D,IAAI,CAAC,+BAA+B,EAAE;oBACpC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAChC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;iBACjC;aACF;iBAAM;gBACL,IAAI,+BAA+B,EAAE;oBACnC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;iBAClC;aACF;SACF;QAED,+BAA+B;QAC/B;YACE,MAAM,2BAA2B,GAAG,IAAI,CAAC,yBAAyB,CAAC;YACnE,IAAI,uBAAA,IAAI,8BAAO,CAAC,oDAAS,CAAC,4BAA4B,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClE,IAAI,CAAC,2BAA2B,EAAE;oBAChC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;oBACtC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;iBACjC;aACF;iBAAM;gBACL,IAAI,2BAA2B,EAAE;oBAC/B,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;iBACxC;aACF;SACF;IACH,CAAC;IAEM,yBAAyB;QAC9B,OAAO,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnF,CAAC;IAEM,aAAa,CAAC,IAAa,EAAE,cAAuB;QACzD,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC;IAEM,qCAAqC;QAC1C,kCAAkC;QAClC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,KAAK;YAC1E,OAAO,KAAK,CAAC;QAEf,wBAAwB;QACxB,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,IAAI;YAC5E,OAAO,IAAI,CAAC;QAEd,sBAAsB;QACtB,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,KAAK,IAAI;YAC1E,OAAO,IAAI,CAAC;QAEd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,cAAc;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAEM,iBAAiB,CAAC,KAAmB;QAC1C,OAAO,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAEM,aAAa,CAAC,MAAY,EAAE,SAAe,EAAE,IAAgB;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACzG,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACvB,OAAO;gBACL,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,YAAY;aACrB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,UAAU,CAAC,KAAa;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,oDAAS,CAAC,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,KAAK,oDAAS,CAAC,SAAS,EAAE;gBAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAClE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxH,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM;iBACP;aACF;iBAAM;gBACL,IAAI,uBAAA,IAAI,8BAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAClC,uBAAA,IAAI,8BAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,uBAAA,IAAI,8BAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxD,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM;iBACP;aACF;SACF;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAExE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE;YACtE,IAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAa,EAAE,MAAc;QACzC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IAEM,YAAY,CAAC,cAA+B;QACjD,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC,eAAe,CAAC;QACxD,IAAI,CAAC,cAAc;YAAE,OAAO;QAEd,IAAI,CAAC,WAAY,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACvC,IAAI,CAAC,qBAAsB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAEjF,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEzC,cAAc,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC;QACzE,cAAc,CAAC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAChI,cAAc,CAAC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC,0BAA0B,CAAC;QAC7E,cAAc,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACxD,cAAc,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpF,cAAc,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;QACrL,cAAc,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC;QACtE,cAAc,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAEpE,cAAc,CAAC,mBAAmB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACxE,cAAc,CAAC,mBAAmB,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACtF,cAAc,CAAC,mBAAmB,CAAC,2BAA2B,GAAG,IAAI,CAAC,2BAA2B,CAAC;QAClG,cAAc,CAAC,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1F,cAAc,CAAC,mBAAmB,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxG,cAAc,CAAC,mBAAmB,CAAC,sBAAsB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAEpH,cAAc,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClD,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACzH,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACrI,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,cAAc,CAAC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAEpG,cAAc,CAAC,SAAS,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;QAClF,cAAc,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9C,cAAc,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC9D,cAAc,CAAC,SAAS,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAChF,cAAc,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAChE,cAAc,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACxD,cAAc,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACxE,cAAc,CAAC,SAAS,CAAC,4BAA4B,GAAG,IAAI,CAAC,4BAA4B,CAAC;QAC1F,cAAc,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACpE,cAAc,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAChD,cAAc,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC1D,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE;YACtE,IAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,oBAAoB,KAAK,8CAAqB,CAAC,IAAI,EAAE;YAC5D,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;SACtC;IACH,CAAC;IAED,6DAA6D;IACtD,MAAM,CAAC,EAAU;QACtB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,2CAAkB,CAAC,gBAAgB,EAAkB,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5G,CAAC;IAEM,yBAAyB;QAC9B,IAAI,CAAC,2BAA2B,CAAC,iCAAiC,EAAE,CAAC;IACvE,CAAC;IAEY,QAAQ,CAAC,IAAY,EAAE,UAAmG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE;;YACpM,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;YAC/G,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAE9D,oDAAoD;YACpD,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,KAAK,EAAE;gBACjC,MAAM,KAAK,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,oCAAoC,EAAE,CAAC;gBACjI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAC/D,MAAM,IAAI,gDAAuB,CAAC,+HAA+H,CAAC,CAAC;aACpK;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9D,yEAAyE;YACzE,uEAAuE;YAEvE,0BAA0B;YAC1B,sDAAsD;YACtD,0BAA0B;YAC1B,sCAAsC;YACtC,mDAAmD;YACnD,aAAa;YACb,wDAAwD;YACxD,MAAM;YACN,IAAI;YAEJ,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;gBAC1B,+BAA+B;gBAC/B,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACtC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACjF,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;gBACb,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC1C,GAAG,CAAC,GAAG,GAAG,uBAAA,IAAI,0CAAmB,CAAC;gBAClC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC,CAAC,KAAK,EAAE,CAAC;aACX;iBAAM;gBACL,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACtC,CAAC,CAAC,IAAI,GAAG,uDAAuD,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,SAAS,IAAI,qGAAqG,CAAC;gBACzN,CAAC,CAAC,KAAK,EAAE,CAAC;aACX;YAED,MAAM,MAAM,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;YACnI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEM,YAAY;QACjB,kCAAkC;QAClC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,KAAK;YAC1E,OAAO,KAAK,CAAC;QAEf,wBAAwB;QACxB,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,IAAI;YAC5E,OAAO,KAAK,CAAC;QAEf,oBAAoB;QACpB,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,IAAI;YACxE,OAAO,KAAK,CAAC;QAEf,sBAAsB;QACtB,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,KAAK,IAAI;YAC1E,OAAO,KAAK,CAAC;QAEf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iCAAiC;IAEjC,8BAA8B;IAEtB,iBAAiB,CAAC,WAAsC;QAC9D,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;KACrB,EACC,cAA+B,EAC/B,iBAA0B,IAAI;QAC9B,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC,eAAe,CAAC;QACxD,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,IAAI,QAAQ,CAAC,EAAE,EAAE;YACf,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC;YACzC,IAAI,CAAC,OAAO,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7J,IAAI,CAAC,aAAa,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACrL,IAAI,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC1K;QAED,IAAI,QAAQ,CAAC,KAAK,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC;YAC9D,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,mBAAmB,CAAC,cAAc,CAAC;YACxE,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;YAC5E,IAAI,CAAC,qBAAqB,GAAG,cAAc,CAAC,mBAAmB,CAAC,qBAAqB,CAAC;YACtF,IAAI,CAAC,sBAAsB,GAAG,cAAc,CAAC,mBAAmB,CAAC,sBAAsB,CAAC;YACxF,IAAI,CAAC,2BAA2B,GAAG,cAAc,CAAC,mBAAmB,CAAC,2BAA2B,CAAC;YAElG,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC;YAE9C,IAAI,CAAC,wBAAwB,GAAG,cAAc,CAAC,SAAS,CAAC,wBAAwB,CAAC;YAClF,IAAI,CAAC,eAAe,GAAqB,cAAc,CAAC,SAAS,CAAC,eAAe,CAAC;YAClF,IAAI,CAAC,cAAc,GAAqB,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC;YAChF,IAAI,CAAC,uBAAuB,GAAG,cAAc,CAAC,SAAS,CAAC,uBAAuB,CAAC;YAChF,IAAI,CAAC,WAAW,GAAiB,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC;YACtE,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,SAAS,CAAC,mBAAmB,CAAC;SACzE;QAED,IAAI,QAAQ,CAAC,OAAO,EAAE;YACpB,IAAI,CAAC,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC;YACxE,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;SACnD;QAED,IAAI,QAAQ,CAAC,KAAK;YAAgB,IAAI,CAAC,WAAY,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAClF,IAAI,QAAQ,CAAC,MAAM;YAAiB,IAAI,CAAC,YAAa,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACrF,IAAI,QAAQ,CAAC,cAAc;YAA0B,IAAI,CAAC,qBAAsB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAE/G,yDAAyD;QACzD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAEnC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1E,IAAI,cAAc;YAAE,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;IACvE,CAAC;CAGF;AA3vCD,0CA2vCC"}
@@ -0,0 +1,12 @@
1
+ import { RenderingEngine } from './RenderingEngine';
2
+ import { ThreejsData } from './types/ThreejsData';
3
+ import { ENVIRONMENT_MAP, ENVIRONMENT_MAP_CUBE, ENVIRONMENT_MAP_EMPTY } from './loaders/EnvironmentMapLoader';
4
+ import { IThreejsData } from './types/IThreejsData';
5
+ import { POST_PROCESSING_EFFECT_TYPE, IPostProcessingEffectDefinition, IDepthOfFieldEffectDefinition, IOutlineEffectDefinition, IBloomEffectDefinition, IChromaticAberrationEffectDefinition, IDotScreenEffectDefinition, IGodRaysEffectDefinition, ISSAOEffectDefinition, IHueSaturationEffectDefinition, INoiseEffectDefinition, IPixelationEffectDefinition, IScanlineEffectDefinition, ISelectiveBloomEffectDefinition, ISepiaEffectDefinition, ITiltShiftEffectDefinition, IVignetteEffectDefinition, IGridEffectDefinition, ANTI_ALIASING_TECHNIQUE, IHBAOEffectDefinition, IPostProcessingEffectsArray } from './interfaces/IPostProcessingEffectDefinitions';
6
+ import { PostProcessingManager } from './managers/PostProcessingManager';
7
+ import { BlendFunction, BloomEffect, ChromaticAberrationEffect, DepthOfFieldEffect, DotScreenEffect, EdgeDetectionMode, Effect, EffectComposer, FXAAEffect, GodRaysEffect, GridEffect, HueSaturationEffect, KernelSize, NoiseEffect, OutlineEffect, PixelationEffect, PredicationMode, Resolution, ScanlineEffect, SelectiveBloomEffect, SepiaEffect, SMAAEffect, SMAAPreset, SSAOEffect, TiltShiftEffect, VignetteEffect, VignetteTechnique } from 'postprocessing';
8
+ import { MultiPointsMaterial } from './materials/MultiPointsMaterial';
9
+ export { RenderingEngine, IThreejsData, ThreejsData, ENVIRONMENT_MAP, ENVIRONMENT_MAP_CUBE, ENVIRONMENT_MAP_EMPTY };
10
+ export { MultiPointsMaterial };
11
+ export { PostProcessingManager, ANTI_ALIASING_TECHNIQUE, POST_PROCESSING_EFFECT_TYPE, IPostProcessingEffectDefinition, Effect, EffectComposer, IPostProcessingEffectsArray, IBloomEffectDefinition, IChromaticAberrationEffectDefinition, IDepthOfFieldEffectDefinition, IDotScreenEffectDefinition, IGodRaysEffectDefinition, IGridEffectDefinition, IHBAOEffectDefinition, IHueSaturationEffectDefinition, INoiseEffectDefinition, IOutlineEffectDefinition, IPixelationEffectDefinition, ISSAOEffectDefinition, IScanlineEffectDefinition, ISelectiveBloomEffectDefinition, ISepiaEffectDefinition, ITiltShiftEffectDefinition, IVignetteEffectDefinition, BloomEffect, ChromaticAberrationEffect, DepthOfFieldEffect, DotScreenEffect, FXAAEffect, GodRaysEffect, GridEffect, HueSaturationEffect, NoiseEffect, OutlineEffect, PixelationEffect, SMAAEffect, SSAOEffect, ScanlineEffect, SelectiveBloomEffect, SepiaEffect, TiltShiftEffect, VignetteEffect, BlendFunction, VignetteTechnique, KernelSize, SMAAPreset, EdgeDetectionMode, PredicationMode, Resolution };
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC9G,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,oCAAoC,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AACroB,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrc,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EACL,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EACzG,CAAC;AAEF,OAAO,EACL,mBAAmB,EACpB,CAAC;AAEF,OAAO,EACL,qBAAqB,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,+BAA+B,EAAE,MAAM,EAAE,cAAc,EAAE,2BAA2B,EACjK,sBAAsB,EAAE,oCAAoC,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,yBAAyB,EAChd,WAAW,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EACjS,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,UAAU,EACzG,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Resolution = exports.PredicationMode = exports.EdgeDetectionMode = exports.SMAAPreset = exports.KernelSize = exports.VignetteTechnique = exports.BlendFunction = exports.VignetteEffect = exports.TiltShiftEffect = exports.SepiaEffect = exports.SelectiveBloomEffect = exports.ScanlineEffect = exports.SSAOEffect = exports.SMAAEffect = exports.PixelationEffect = exports.OutlineEffect = exports.NoiseEffect = exports.HueSaturationEffect = exports.GridEffect = exports.GodRaysEffect = exports.FXAAEffect = exports.DotScreenEffect = exports.DepthOfFieldEffect = exports.ChromaticAberrationEffect = exports.BloomEffect = exports.EffectComposer = exports.Effect = exports.POST_PROCESSING_EFFECT_TYPE = exports.ANTI_ALIASING_TECHNIQUE = exports.PostProcessingManager = exports.MultiPointsMaterial = exports.ENVIRONMENT_MAP_EMPTY = exports.ENVIRONMENT_MAP_CUBE = exports.ENVIRONMENT_MAP = exports.ThreejsData = exports.RenderingEngine = void 0;
4
+ const RenderingEngine_1 = require("./RenderingEngine");
5
+ Object.defineProperty(exports, "RenderingEngine", { enumerable: true, get: function () { return RenderingEngine_1.RenderingEngine; } });
6
+ const ThreejsData_1 = require("./types/ThreejsData");
7
+ Object.defineProperty(exports, "ThreejsData", { enumerable: true, get: function () { return ThreejsData_1.ThreejsData; } });
8
+ const EnvironmentMapLoader_1 = require("./loaders/EnvironmentMapLoader");
9
+ Object.defineProperty(exports, "ENVIRONMENT_MAP", { enumerable: true, get: function () { return EnvironmentMapLoader_1.ENVIRONMENT_MAP; } });
10
+ Object.defineProperty(exports, "ENVIRONMENT_MAP_CUBE", { enumerable: true, get: function () { return EnvironmentMapLoader_1.ENVIRONMENT_MAP_CUBE; } });
11
+ Object.defineProperty(exports, "ENVIRONMENT_MAP_EMPTY", { enumerable: true, get: function () { return EnvironmentMapLoader_1.ENVIRONMENT_MAP_EMPTY; } });
12
+ const IPostProcessingEffectDefinitions_1 = require("./interfaces/IPostProcessingEffectDefinitions");
13
+ Object.defineProperty(exports, "POST_PROCESSING_EFFECT_TYPE", { enumerable: true, get: function () { return IPostProcessingEffectDefinitions_1.POST_PROCESSING_EFFECT_TYPE; } });
14
+ Object.defineProperty(exports, "ANTI_ALIASING_TECHNIQUE", { enumerable: true, get: function () { return IPostProcessingEffectDefinitions_1.ANTI_ALIASING_TECHNIQUE; } });
15
+ const PostProcessingManager_1 = require("./managers/PostProcessingManager");
16
+ Object.defineProperty(exports, "PostProcessingManager", { enumerable: true, get: function () { return PostProcessingManager_1.PostProcessingManager; } });
17
+ const postprocessing_1 = require("postprocessing");
18
+ Object.defineProperty(exports, "BlendFunction", { enumerable: true, get: function () { return postprocessing_1.BlendFunction; } });
19
+ Object.defineProperty(exports, "BloomEffect", { enumerable: true, get: function () { return postprocessing_1.BloomEffect; } });
20
+ Object.defineProperty(exports, "ChromaticAberrationEffect", { enumerable: true, get: function () { return postprocessing_1.ChromaticAberrationEffect; } });
21
+ Object.defineProperty(exports, "DepthOfFieldEffect", { enumerable: true, get: function () { return postprocessing_1.DepthOfFieldEffect; } });
22
+ Object.defineProperty(exports, "DotScreenEffect", { enumerable: true, get: function () { return postprocessing_1.DotScreenEffect; } });
23
+ Object.defineProperty(exports, "EdgeDetectionMode", { enumerable: true, get: function () { return postprocessing_1.EdgeDetectionMode; } });
24
+ Object.defineProperty(exports, "Effect", { enumerable: true, get: function () { return postprocessing_1.Effect; } });
25
+ Object.defineProperty(exports, "EffectComposer", { enumerable: true, get: function () { return postprocessing_1.EffectComposer; } });
26
+ Object.defineProperty(exports, "FXAAEffect", { enumerable: true, get: function () { return postprocessing_1.FXAAEffect; } });
27
+ Object.defineProperty(exports, "GodRaysEffect", { enumerable: true, get: function () { return postprocessing_1.GodRaysEffect; } });
28
+ Object.defineProperty(exports, "GridEffect", { enumerable: true, get: function () { return postprocessing_1.GridEffect; } });
29
+ Object.defineProperty(exports, "HueSaturationEffect", { enumerable: true, get: function () { return postprocessing_1.HueSaturationEffect; } });
30
+ Object.defineProperty(exports, "KernelSize", { enumerable: true, get: function () { return postprocessing_1.KernelSize; } });
31
+ Object.defineProperty(exports, "NoiseEffect", { enumerable: true, get: function () { return postprocessing_1.NoiseEffect; } });
32
+ Object.defineProperty(exports, "OutlineEffect", { enumerable: true, get: function () { return postprocessing_1.OutlineEffect; } });
33
+ Object.defineProperty(exports, "PixelationEffect", { enumerable: true, get: function () { return postprocessing_1.PixelationEffect; } });
34
+ Object.defineProperty(exports, "PredicationMode", { enumerable: true, get: function () { return postprocessing_1.PredicationMode; } });
35
+ Object.defineProperty(exports, "Resolution", { enumerable: true, get: function () { return postprocessing_1.Resolution; } });
36
+ Object.defineProperty(exports, "ScanlineEffect", { enumerable: true, get: function () { return postprocessing_1.ScanlineEffect; } });
37
+ Object.defineProperty(exports, "SelectiveBloomEffect", { enumerable: true, get: function () { return postprocessing_1.SelectiveBloomEffect; } });
38
+ Object.defineProperty(exports, "SepiaEffect", { enumerable: true, get: function () { return postprocessing_1.SepiaEffect; } });
39
+ Object.defineProperty(exports, "SMAAEffect", { enumerable: true, get: function () { return postprocessing_1.SMAAEffect; } });
40
+ Object.defineProperty(exports, "SMAAPreset", { enumerable: true, get: function () { return postprocessing_1.SMAAPreset; } });
41
+ Object.defineProperty(exports, "SSAOEffect", { enumerable: true, get: function () { return postprocessing_1.SSAOEffect; } });
42
+ Object.defineProperty(exports, "TiltShiftEffect", { enumerable: true, get: function () { return postprocessing_1.TiltShiftEffect; } });
43
+ Object.defineProperty(exports, "VignetteEffect", { enumerable: true, get: function () { return postprocessing_1.VignetteEffect; } });
44
+ Object.defineProperty(exports, "VignetteTechnique", { enumerable: true, get: function () { return postprocessing_1.VignetteTechnique; } });
45
+ const MultiPointsMaterial_1 = require("./materials/MultiPointsMaterial");
46
+ Object.defineProperty(exports, "MultiPointsMaterial", { enumerable: true, get: function () { return MultiPointsMaterial_1.MultiPointsMaterial; } });
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAUlD,gGAVO,iCAAe,OAUP;AATjB,qDAAkD;AASjB,4FATxB,yBAAW,OASwB;AAR5C,yEAA8G;AAQhE,gGARrC,sCAAe,OAQqC;AAAE,qGARrC,2CAAoB,OAQqC;AAAE,sGARrC,4CAAqB,OAQqC;AAN1G,oGAAqoB;AAcnlB,4GAdzC,8DAA2B,OAcyC;AAApD,wGAdye,0DAAuB,OAcze;AAbhD,4EAAyE;AAavE,sGAbO,6CAAqB,OAaP;AAZvB,mDAAqc;AAenc,8FAfO,8BAAa,OAeP;AADb,4FAdsB,4BAAW,OActB;AAAE,0GAdsB,0CAAyB,OActB;AAAE,mGAdsB,mCAAkB,OActB;AAAE,gGAdsB,gCAAe,OActB;AACjB,kGAfyC,kCAAiB,OAezC;AAHmC,uFAZQ,uBAAM,OAYR;AAAE,+FAZQ,+BAAc,OAYR;AAEvD,2FAdiE,2BAAU,OAcjE;AAAE,8FAdiE,8BAAa,OAcjE;AAAE,2FAdiE,2BAAU,OAcjE;AAAE,oGAdiE,oCAAmB,OAcjE;AACrG,2FAfwK,2BAAU,OAexK;AAD6F,4FAd6E,4BAAW,OAc7E;AAAE,8FAd6E,8BAAa,OAc7E;AAAE,iGAd6E,iCAAgB,OAc7E;AACxG,gGAfuL,gCAAe,OAevL;AAAE,2FAfuL,2BAAU,OAevL;AADuG,+FAdkF,+BAAc,OAclF;AAAE,qGAdkF,qCAAoB,OAclF;AAAE,4FAdkF,4BAAW,OAclF;AAAzE,2FAd6J,2BAAU,OAc7J;AACnJ,2FAfkT,2BAAU,OAelT;AAD2I,2FAdyK,2BAAU,OAczK;AAAqD,gGAdsH,gCAAe,OActH;AAAE,+FAdsH,+BAAc,OActH;AAClR,kGAf0Y,kCAAiB,OAe1Y;AAdlC,yEAAsE;AAOpE,oGAPO,yCAAmB,OAOP"}
@@ -0,0 +1,11 @@
1
+ import { Font } from '../three/loaders/FontLoader';
2
+ import { IManager } from '@shapediver/viewer.rendering-engine.rendering-engine';
3
+ export declare class Tag3dGeometryCreationInjector implements IManager {
4
+ #private;
5
+ _font: Font;
6
+ constructor();
7
+ close(): void;
8
+ init(): void;
9
+ private convertTag3dToGeometry;
10
+ }
11
+ //# sourceMappingURL=Tag3dGeometryCreationInjector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tag3dGeometryCreationInjector.d.ts","sourceRoot":"","sources":["../../src/injectors/Tag3dGeometryCreationInjector.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAOnD,OAAO,EAAE,QAAQ,EAAE,MAAM,sDAAsD,CAAC;AAEhF,qBAAa,6BAA8B,YAAW,QAAQ;;IAKnD,KAAK,EAAG,IAAI,CAAC;;IAYb,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAanB,OAAO,CAAC,sBAAsB;CAsHjC"}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
26
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
27
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
28
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
29
+ };
30
+ var _Tag3dGeometryCreationInjector_stateEngine;
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.Tag3dGeometryCreationInjector = void 0;
33
+ const THREE = __importStar(require("three"));
34
+ const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
35
+ const FontLoader_1 = require("../three/loaders/FontLoader");
36
+ const font_1 = require("../three/font");
37
+ const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
38
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
39
+ const viewer_data_engine_tag3d_engine_1 = require("@shapediver/viewer.data-engine.tag3d-engine");
40
+ const TextGeometry_1 = require("../three/geometries/TextGeometry");
41
+ class Tag3dGeometryCreationInjector {
42
+ // #endregion Properties (2)
43
+ // #region Constructors (1)
44
+ constructor() {
45
+ // #region Properties (2)
46
+ _Tag3dGeometryCreationInjector_stateEngine.set(this, viewer_shared_services_1.StateEngine.instance);
47
+ }
48
+ // #endregion Constructors (1)
49
+ // #region Public Methods (2)
50
+ close() {
51
+ viewer_data_engine_tag3d_engine_1.Tag3dEngine.instance.geometryCreator = undefined;
52
+ }
53
+ init() {
54
+ if (!this._font) {
55
+ this._font = new FontLoader_1.Font(font_1.font);
56
+ __classPrivateFieldGet(this, _Tag3dGeometryCreationInjector_stateEngine, "f").fontLoaded.resolve(true);
57
+ }
58
+ viewer_data_engine_tag3d_engine_1.Tag3dEngine.instance.geometryCreator = this.convertTag3dToGeometry.bind(this);
59
+ }
60
+ // #endregion Public Methods (2)
61
+ // #region Private Methods (1)
62
+ convertTag3dToGeometry(tag3dInfo) {
63
+ const node = new viewer_shared_node_tree_1.TreeNode('tag3d_' + tag3dInfo.version);
64
+ tag3dInfo.size = tag3dInfo.size ? +tag3dInfo.size : 1;
65
+ if (tag3dInfo.text === undefined || tag3dInfo.text === '' || /^[ \t\n\r]*$/.test(tag3dInfo.text))
66
+ return;
67
+ const tagLines = tag3dInfo.text.split(/\r\n|\r|\n/g);
68
+ const lineArray = [];
69
+ for (let lineIndex = 0; lineIndex < tagLines.length; ++lineIndex) {
70
+ if (tagLines[lineIndex] === '')
71
+ continue;
72
+ // create tag mesh object
73
+ const tag = new TextGeometry_1.TextGeometry(tagLines[lineIndex], { size: tag3dInfo.size, height: tag3dInfo.size / 10, font: this._font });
74
+ lineArray.push(tag);
75
+ }
76
+ // create temporary object
77
+ const parentObject = new THREE.Object3D();
78
+ for (const line of lineArray) {
79
+ parentObject.add(new THREE.Mesh(line, new THREE.MeshPhongMaterial()));
80
+ }
81
+ // align lines
82
+ let bb, tempExtentsY, lineHeight = 0;
83
+ {
84
+ lineHeight = 0;
85
+ for (const child of parentObject.children) {
86
+ bb = new THREE.Box3().setFromObject(child);
87
+ tempExtentsY = bb.max.y - bb.min.y;
88
+ lineHeight = Math.max(lineHeight, tempExtentsY);
89
+ }
90
+ }
91
+ lineHeight *= 1.15;
92
+ lineArray.forEach((line, i) => {
93
+ line.translate(0, (-i - 1) * lineHeight, 0);
94
+ });
95
+ // justification
96
+ bb = new THREE.Box3().setFromObject(parentObject);
97
+ const extentsX = bb.max.x - bb.min.x;
98
+ const extentsY = bb.max.y - bb.min.y;
99
+ const tagJustTranslation = new THREE.Vector3(0, 0, 0);
100
+ switch (tag3dInfo.justification) {
101
+ case 'TL':
102
+ break;
103
+ case 'TC':
104
+ tagJustTranslation.x = -extentsX * 0.5;
105
+ break;
106
+ case 'TR':
107
+ tagJustTranslation.x = -extentsX;
108
+ break;
109
+ case 'ML':
110
+ tagJustTranslation.y = extentsY * 0.5;
111
+ break;
112
+ case 'MC':
113
+ tagJustTranslation.x = -extentsX * 0.5;
114
+ tagJustTranslation.y = extentsY * 0.5;
115
+ break;
116
+ case 'MR':
117
+ tagJustTranslation.x = -extentsX;
118
+ tagJustTranslation.y = extentsY * 0.5;
119
+ break;
120
+ case 'BL':
121
+ tagJustTranslation.y = extentsY;
122
+ break;
123
+ case 'BC':
124
+ tagJustTranslation.x = -extentsX * 0.5;
125
+ tagJustTranslation.y = extentsY;
126
+ break;
127
+ case 'BR':
128
+ tagJustTranslation.x = -extentsX;
129
+ tagJustTranslation.y = extentsY;
130
+ break;
131
+ }
132
+ for (const line of lineArray) {
133
+ line.translate(tagJustTranslation.x, tagJustTranslation.y, tagJustTranslation.z);
134
+ }
135
+ // rotation
136
+ if (tag3dInfo.location.xAxis !== undefined) {
137
+ const rotMatrix = new THREE.Matrix4();
138
+ rotMatrix.set(tag3dInfo.location.xAxis.X, tag3dInfo.location.yAxis.X, tag3dInfo.location.normal.X, 0, tag3dInfo.location.xAxis.Y, tag3dInfo.location.yAxis.Y, tag3dInfo.location.normal.Y, 0, tag3dInfo.location.xAxis.Z, tag3dInfo.location.yAxis.Z, tag3dInfo.location.normal.Z, 0, 0, 0, 0, 1);
139
+ for (const line of lineArray) {
140
+ line.applyMatrix4(rotMatrix);
141
+ line.translate(tag3dInfo.location.origin.X, tag3dInfo.location.origin.Y, tag3dInfo.location.origin.Z);
142
+ }
143
+ }
144
+ for (const line of lineArray) {
145
+ const attributes = {};
146
+ for (const attribute in line.attributes) {
147
+ let attributeName = attribute.toUpperCase();
148
+ if (/\d/.test(attributeName) && !attributeName.includes('_')) {
149
+ const index = attributeName.search(/\d/);
150
+ attributeName = attributeName.substring(0, index) + '_' + attributeName.substring(index, attributeName.length);
151
+ }
152
+ else if (attributeName === 'TEXCOORD' || attributeName === 'COLOR' || attributeName === 'JOINTS' || attributeName === 'WEIGHTS') {
153
+ attributeName += '_0';
154
+ }
155
+ else if (attributeName === 'UV') {
156
+ attributeName = 'TEXCOORD_0';
157
+ }
158
+ attributes[attributeName] = new viewer_shared_types_1.AttributeData(line.attributes[attribute].array, line.attributes[attribute].itemSize, 0, 0, 0, false, line.attributes[attribute].array.length / line.attributes[attribute].itemSize);
159
+ }
160
+ const child = new viewer_shared_node_tree_1.TreeNode('tag3d_' + line);
161
+ child.data.push(new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, null), viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLES, new viewer_shared_types_1.MaterialStandardData({ color: tag3dInfo.color, metalness: 0, roughness: 1 })));
162
+ node.children.push(child);
163
+ }
164
+ return node;
165
+ }
166
+ }
167
+ exports.Tag3dGeometryCreationInjector = Tag3dGeometryCreationInjector;
168
+ _Tag3dGeometryCreationInjector_stateEngine = new WeakMap();
169
+ //# sourceMappingURL=Tag3dGeometryCreationInjector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tag3dGeometryCreationInjector.js","sourceRoot":"","sources":["../../src/injectors/Tag3dGeometryCreationInjector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { IManager } from '@shapediver/viewer.rendering-engine.rendering-engine';
2
+ export declare class TextureUnifierInjector implements IManager {
3
+ private _mergeShader?;
4
+ private _quad?;
5
+ private _quadCamera?;
6
+ private _quadScene?;
7
+ private _renderer?;
8
+ constructor();
9
+ close(): void;
10
+ init(): void;
11
+ private combineTextures;
12
+ private createThreeJsUtils;
13
+ }
14
+ //# sourceMappingURL=TextureUnifierInjector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextureUnifierInjector.d.ts","sourceRoot":"","sources":["../../src/injectors/TextureUnifierInjector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sDAAsD,CAAC;AAGhF,qBAAa,sBAAuB,YAAW,QAAQ;IAGnD,OAAO,CAAC,YAAY,CAAC,CAAuB;IAC5C,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,WAAW,CAAC,CAA2B;IAC/C,OAAO,CAAC,UAAU,CAAC,CAAc;IACjC,OAAO,CAAC,SAAS,CAAC,CAAsB;;IAYjC,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;YAQL,eAAe;IAyG7B,OAAO,CAAC,kBAAkB;CAmF7B"}
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.TextureUnifierInjector = void 0;
36
+ const THREE = __importStar(require("three"));
37
+ const viewer_data_engine_gltf_converter_1 = require("@shapediver/viewer.data-engine.gltf-converter");
38
+ class TextureUnifierInjector {
39
+ // #endregion Properties (5)
40
+ // #region Constructors (1)
41
+ constructor() { }
42
+ // #endregion Constructors (1)
43
+ // #region Public Methods (2)
44
+ close() {
45
+ viewer_data_engine_gltf_converter_1.GLTFConverter.instance.combineTextures = undefined;
46
+ }
47
+ init() {
48
+ viewer_data_engine_gltf_converter_1.GLTFConverter.instance.combineTextures = this.combineTextures.bind(this);
49
+ }
50
+ // #endregion Public Methods (2)
51
+ // #region Private Methods (2)
52
+ combineTextures(red, green, blue) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ if (!red && !green && !blue)
55
+ throw new Error('No maps supplied.');
56
+ if (red && red instanceof ArrayBuffer)
57
+ return { image: red, blob: new Blob([new Uint8Array(red)], { type: 'image/jpeg' }) };
58
+ if (green && green instanceof ArrayBuffer)
59
+ return { image: green, blob: new Blob([new Uint8Array(green)], { type: 'image/jpeg' }) };
60
+ if (blue && blue instanceof ArrayBuffer)
61
+ return { image: blue, blob: new Blob([new Uint8Array(blue)], { type: 'image/jpeg' }) };
62
+ if (!this._renderer)
63
+ this.createThreeJsUtils();
64
+ let width = 0, height = 0;
65
+ const textures = [red, green, blue];
66
+ for (const t of textures) {
67
+ if (t) {
68
+ if (width === 0 && height === 0) {
69
+ width = t.width;
70
+ height = t.height;
71
+ }
72
+ else if (t.width !== width && t.height !== height) {
73
+ throw new Error('Maps have different sizes. Combining not supported.');
74
+ }
75
+ }
76
+ }
77
+ if (red) {
78
+ const redTexture = new THREE.Texture(red);
79
+ redTexture.needsUpdate = true;
80
+ this._mergeShader.uniforms.tRed.value = redTexture;
81
+ this._mergeShader.uniforms.activeRed.value = true;
82
+ }
83
+ else {
84
+ this._mergeShader.uniforms.activeRed.value = false;
85
+ }
86
+ if (green) {
87
+ const greenTexture = new THREE.Texture(green);
88
+ greenTexture.needsUpdate = true;
89
+ this._mergeShader.uniforms.tGreen.value = greenTexture;
90
+ this._mergeShader.uniforms.activeGreen.value = true;
91
+ }
92
+ else {
93
+ this._mergeShader.uniforms.activeGreen.value = false;
94
+ }
95
+ if (blue) {
96
+ const blueTexture = new THREE.Texture(blue);
97
+ blueTexture.needsUpdate = true;
98
+ this._mergeShader.uniforms.tBlue.value = blueTexture;
99
+ this._mergeShader.uniforms.activeBlue.value = true;
100
+ }
101
+ else {
102
+ this._mergeShader.uniforms.activeBlue.value = false;
103
+ }
104
+ // The different render targets that are used by the passes
105
+ const renderTarget = new THREE.WebGLRenderTarget(width, height, {
106
+ minFilter: THREE.LinearFilter,
107
+ magFilter: THREE.LinearFilter,
108
+ format: THREE.RGBAFormat
109
+ });
110
+ renderTarget.texture.name = 'target.rt';
111
+ this._renderer.setRenderTarget(renderTarget);
112
+ this._renderer.render(this._quadScene, this._quadCamera);
113
+ const buffer = new Uint8ClampedArray(4 * width * height);
114
+ this._renderer.readRenderTargetPixels(renderTarget, 0, 0, width, height, buffer);
115
+ const imageData = new ImageData(buffer, width, height);
116
+ const canvas = document.createElement('canvas');
117
+ const ctx = canvas.getContext('2d');
118
+ canvas.width = imageData.width;
119
+ canvas.height = imageData.height;
120
+ ctx.putImageData(imageData, 0, 0);
121
+ const imageOut = new Image();
122
+ const promises = [];
123
+ promises.push(new Promise((resolve, reject) => {
124
+ imageOut.onload = () => resolve();
125
+ imageOut.onerror = reject;
126
+ }));
127
+ imageOut.crossOrigin = 'anonymous';
128
+ const mimeType = 'image/jpeg';
129
+ imageOut.src = canvas.toDataURL(mimeType, 1.0);
130
+ let blob;
131
+ promises.push(new Promise((resolve, reject) => {
132
+ canvas.toBlob((b) => {
133
+ if (!b) {
134
+ reject('Could not create blob.');
135
+ }
136
+ else {
137
+ blob = b;
138
+ }
139
+ resolve();
140
+ }, mimeType, 1.0);
141
+ }));
142
+ yield Promise.all(promises);
143
+ return { image: imageOut, blob };
144
+ });
145
+ }
146
+ createThreeJsUtils() {
147
+ this._mergeShader = new THREE.ShaderMaterial({
148
+ uniforms: {
149
+ tRed: { value: null },
150
+ activeRed: { value: false },
151
+ defaultRed: { value: 1.0 },
152
+ tGreen: { value: null },
153
+ activeGreen: { value: false },
154
+ defaultGreen: { value: 1.0 },
155
+ tBlue: { value: null },
156
+ activeBlue: { value: false },
157
+ defaultBlue: { value: 1.0 },
158
+ },
159
+ vertexShader: `// @author Michael Oppitz
160
+
161
+ uniform sampler2D tRed;
162
+ uniform bool activeRed;
163
+ uniform float defaultRed;
164
+
165
+ uniform sampler2D tGreen;
166
+ uniform bool activeGreen;
167
+ uniform float defaultGreen;
168
+
169
+ uniform sampler2D tBlue;
170
+ uniform bool activeBlue;
171
+ uniform float defaultBlue;
172
+
173
+ varying vec2 vUv;
174
+
175
+ void main() {
176
+ vUv = uv;
177
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
178
+ }`,
179
+ fragmentShader: `// @author Michael Oppitz
180
+
181
+ uniform sampler2D tRed;
182
+ uniform bool activeRed;
183
+ uniform float defaultRed;
184
+
185
+ uniform sampler2D tGreen;
186
+ uniform bool activeGreen;
187
+ uniform float defaultGreen;
188
+
189
+ uniform sampler2D tBlue;
190
+ uniform bool activeBlue;
191
+ uniform float defaultBlue;
192
+
193
+ varying vec2 vUv;
194
+
195
+ void main() {
196
+ vec4 outColor = vec4(0.0, 0.0, 0.0, 1.0);
197
+
198
+ if(activeRed == true) {
199
+ outColor.r = texture2D(tRed, vUv).r;
200
+ } else {
201
+ outColor.r = defaultRed;
202
+ }
203
+
204
+ if(activeGreen == true) {
205
+ outColor.g = texture2D(tGreen, vUv).g;
206
+ } else {
207
+ outColor.g = defaultGreen;
208
+ }
209
+
210
+ if(activeBlue == true) {
211
+ outColor.b = texture2D(tBlue, vUv).b;
212
+ } else {
213
+ outColor.b = defaultBlue;
214
+ }
215
+
216
+ gl_FragColor = outColor;
217
+ }`
218
+ });
219
+ this._quadCamera = new THREE.OrthographicCamera(-1, 1, 1, -1, 0, 1);
220
+ this._quadScene = new THREE.Scene();
221
+ this._quad = new THREE.Mesh(new THREE.PlaneGeometry(2, 2), this._mergeShader);
222
+ this._quadScene.add(this._quad);
223
+ this._renderer = new THREE.WebGLRenderer();
224
+ }
225
+ }
226
+ exports.TextureUnifierInjector = TextureUnifierInjector;
227
+ //# sourceMappingURL=TextureUnifierInjector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextureUnifierInjector.js","sourceRoot":"","sources":["../../src/injectors/TextureUnifierInjector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export interface ILoader {
2
+ init(): void;
3
+ }
4
+ //# sourceMappingURL=ILoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ILoader.d.ts","sourceRoot":"","sources":["../../src/interfaces/ILoader.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACpB,IAAI,IAAI,IAAI,CAAC;CAChB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ILoader.js.map