@zephyr3d/scene 0.9.21 → 0.9.23

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 (238) hide show
  1. package/dist/animation/joint_dynamics/collision.js +1 -7
  2. package/dist/animation/joint_dynamics/collision.js.map +1 -1
  3. package/dist/animation/joint_dynamics/constraints.js +2 -17
  4. package/dist/animation/joint_dynamics/constraints.js.map +1 -1
  5. package/dist/animation/joint_dynamics/controller.js +2 -20
  6. package/dist/animation/joint_dynamics/controller.js.map +1 -1
  7. package/dist/animation/joint_dynamics/joint_dynamics_system.js +1 -3
  8. package/dist/animation/joint_dynamics/joint_dynamics_system.js.map +1 -1
  9. package/dist/animation/joint_dynamics/solver.js +14 -60
  10. package/dist/animation/joint_dynamics/solver.js.map +1 -1
  11. package/dist/animation/joint_dynamics/types.js +3 -3
  12. package/dist/animation/joint_dynamics/types.js.map +1 -1
  13. package/dist/app/app.js +23 -0
  14. package/dist/app/app.js.map +1 -1
  15. package/dist/app/scriptregistry.js +16 -53
  16. package/dist/app/scriptregistry.js.map +1 -1
  17. package/dist/asset/assetmanager.js +2 -0
  18. package/dist/asset/assetmanager.js.map +1 -1
  19. package/dist/asset/model.js +22 -0
  20. package/dist/asset/model.js.map +1 -1
  21. package/dist/blitter/bilateralblur.js +3 -1
  22. package/dist/blitter/bilateralblur.js.map +1 -1
  23. package/dist/blitter/blitter.js +3 -3
  24. package/dist/blitter/blitter.js.map +1 -1
  25. package/dist/camera/camera.js +398 -45
  26. package/dist/camera/camera.js.map +1 -1
  27. package/dist/camera/perspectivecamera.js +69 -2
  28. package/dist/camera/perspectivecamera.js.map +1 -1
  29. package/dist/index.d.ts +9100 -8712
  30. package/dist/index.js +9 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/material/blinn.js +1 -1
  33. package/dist/material/blinn.js.map +1 -1
  34. package/dist/material/lambert.js +3 -3
  35. package/dist/material/lambert.js.map +1 -1
  36. package/dist/material/material.js +8 -5
  37. package/dist/material/material.js.map +1 -1
  38. package/dist/material/meshmaterial.js +17 -10
  39. package/dist/material/meshmaterial.js.map +1 -1
  40. package/dist/material/mixins/lightmodel/blinnphong.js +1 -1
  41. package/dist/material/mixins/lightmodel/blinnphong.js.map +1 -1
  42. package/dist/material/mixins/lightmodel/lambert.js +1 -1
  43. package/dist/material/mixins/lightmodel/lambert.js.map +1 -1
  44. package/dist/material/mixins/lightmodel/pbrblueprintmixin.js +21 -6
  45. package/dist/material/mixins/lightmodel/pbrblueprintmixin.js.map +1 -1
  46. package/dist/material/mixins/lightmodel/pbrmetallicroughness.js +1 -1
  47. package/dist/material/mixins/lightmodel/pbrmetallicroughness.js.map +1 -1
  48. package/dist/material/mixins/lightmodel/pbrspecularglossness.js +1 -1
  49. package/dist/material/mixins/lightmodel/pbrspecularglossness.js.map +1 -1
  50. package/dist/material/mixins/lit.js +33 -11
  51. package/dist/material/mixins/lit.js.map +1 -1
  52. package/dist/material/mixins/pbr/brdf.js +44 -12
  53. package/dist/material/mixins/pbr/brdf.js.map +1 -1
  54. package/dist/material/mixins/pbr/common.js +149 -14
  55. package/dist/material/mixins/pbr/common.js.map +1 -1
  56. package/dist/material/mtoon.js +7 -4
  57. package/dist/material/mtoon.js.map +1 -1
  58. package/dist/material/pbrblueprint.js +5 -1
  59. package/dist/material/pbrblueprint.js.map +1 -1
  60. package/dist/material/pbrmr.js +1 -1
  61. package/dist/material/pbrmr.js.map +1 -1
  62. package/dist/material/pbrsg.js +1 -1
  63. package/dist/material/pbrsg.js.map +1 -1
  64. package/dist/material/shader/helper.js +186 -11
  65. package/dist/material/shader/helper.js.map +1 -1
  66. package/dist/material/skin.js +2 -2
  67. package/dist/material/skin.js.map +1 -1
  68. package/dist/material/terrain-cm.js +5 -5
  69. package/dist/material/terrain-cm.js.map +1 -1
  70. package/dist/material/water.js +6 -4
  71. package/dist/material/water.js.map +1 -1
  72. package/dist/posteffect/bloom.js +54 -4
  73. package/dist/posteffect/bloom.js.map +1 -1
  74. package/dist/posteffect/compositor.js +41 -0
  75. package/dist/posteffect/compositor.js.map +1 -1
  76. package/dist/posteffect/posteffect.js +51 -0
  77. package/dist/posteffect/posteffect.js.map +1 -1
  78. package/dist/posteffect/sao.js +7 -6
  79. package/dist/posteffect/sao.js.map +1 -1
  80. package/dist/posteffect/skinsss.js +3 -3
  81. package/dist/posteffect/skinsss.js.map +1 -1
  82. package/dist/posteffect/ssgi.js +1196 -0
  83. package/dist/posteffect/ssgi.js.map +1 -0
  84. package/dist/posteffect/ssr.js +83 -45
  85. package/dist/posteffect/ssr.js.map +1 -1
  86. package/dist/posteffect/sss.js +137 -49
  87. package/dist/posteffect/sss.js.map +1 -1
  88. package/dist/posteffect/taa.js +5 -4
  89. package/dist/posteffect/taa.js.map +1 -1
  90. package/dist/posteffect/tonemap.js +15 -3
  91. package/dist/posteffect/tonemap.js.map +1 -1
  92. package/dist/render/abuffer_oit.js +2 -2
  93. package/dist/render/abuffer_oit.js.map +1 -1
  94. package/dist/render/cluster_light.js +12 -6
  95. package/dist/render/cluster_light.js.map +1 -1
  96. package/dist/render/drawable_mixin.js +8 -5
  97. package/dist/render/drawable_mixin.js.map +1 -1
  98. package/dist/render/dualdepthpeeling_oit.js +10 -5
  99. package/dist/render/dualdepthpeeling_oit.js.map +1 -1
  100. package/dist/render/envlight.js +298 -5
  101. package/dist/render/envlight.js.map +1 -1
  102. package/dist/render/gpu_picking.js +7 -5
  103. package/dist/render/gpu_picking.js.map +1 -1
  104. package/dist/render/hzb.js +28 -19
  105. package/dist/render/hzb.js.map +1 -1
  106. package/dist/render/lightpass.js +18 -4
  107. package/dist/render/lightpass.js.map +1 -1
  108. package/dist/render/render_queue.js +37 -4
  109. package/dist/render/render_queue.js.map +1 -1
  110. package/dist/render/renderer.js +8 -3
  111. package/dist/render/renderer.js.map +1 -1
  112. package/dist/render/rendergraph/blackboard.js +20 -48
  113. package/dist/render/rendergraph/blackboard.js.map +1 -1
  114. package/dist/render/rendergraph/device_pool_allocator.js +18 -58
  115. package/dist/render/rendergraph/device_pool_allocator.js.map +1 -1
  116. package/dist/render/rendergraph/executor.js +89 -115
  117. package/dist/render/rendergraph/executor.js.map +1 -1
  118. package/dist/render/rendergraph/forward_plus_builder.js +1003 -715
  119. package/dist/render/rendergraph/forward_plus_builder.js.map +1 -1
  120. package/dist/render/rendergraph/frame_graph_context.js +41 -0
  121. package/dist/render/rendergraph/frame_graph_context.js.map +1 -0
  122. package/dist/render/rendergraph/frame_resource_requirements.js +14 -0
  123. package/dist/render/rendergraph/frame_resource_requirements.js.map +1 -0
  124. package/dist/render/rendergraph/history_resource_manager.js +74 -140
  125. package/dist/render/rendergraph/history_resource_manager.js.map +1 -1
  126. package/dist/render/rendergraph/history_resources.js +7 -5
  127. package/dist/render/rendergraph/history_resources.js.map +1 -1
  128. package/dist/render/rendergraph/render_context.js +19 -0
  129. package/dist/render/rendergraph/render_context.js.map +1 -0
  130. package/dist/render/rendergraph/render_pipeline.js +315 -0
  131. package/dist/render/rendergraph/render_pipeline.js.map +1 -0
  132. package/dist/render/rendergraph/rendergraph.js +158 -141
  133. package/dist/render/rendergraph/rendergraph.js.map +1 -1
  134. package/dist/render/rendergraph/scene_render_context.js +267 -0
  135. package/dist/render/rendergraph/scene_render_context.js.map +1 -0
  136. package/dist/render/rendergraph/texture_affinity_cache.js +19 -0
  137. package/dist/render/rendergraph/texture_affinity_cache.js.map +1 -0
  138. package/dist/render/rendergraph/types.js +19 -31
  139. package/dist/render/rendergraph/types.js.map +1 -1
  140. package/dist/render/renderpass.js +3 -3
  141. package/dist/render/renderpass.js.map +1 -1
  142. package/dist/render/shadow_mask_pass.js +10 -6
  143. package/dist/render/shadow_mask_pass.js.map +1 -1
  144. package/dist/render/sky.js +197 -35
  145. package/dist/render/sky.js.map +1 -1
  146. package/dist/render/weightedblended_oit.js +4 -3
  147. package/dist/render/weightedblended_oit.js.map +1 -1
  148. package/dist/scene/basesprite.js +2 -0
  149. package/dist/scene/basesprite.js.map +1 -1
  150. package/dist/scene/batchgroup.js +10 -0
  151. package/dist/scene/batchgroup.js.map +1 -1
  152. package/dist/scene/environment.js +61 -2
  153. package/dist/scene/environment.js.map +1 -1
  154. package/dist/scene/light.js +178 -10
  155. package/dist/scene/light.js.map +1 -1
  156. package/dist/scene/meshdrawable.js +89 -2
  157. package/dist/scene/meshdrawable.js.map +1 -1
  158. package/dist/scene/msdftext.js +2 -0
  159. package/dist/scene/msdftext.js.map +1 -1
  160. package/dist/scene/msdftextsprite.js +2 -0
  161. package/dist/scene/msdftextsprite.js.map +1 -1
  162. package/dist/scene/particlesys.js +2 -0
  163. package/dist/scene/particlesys.js.map +1 -1
  164. package/dist/scene/scene.js +34 -1
  165. package/dist/scene/scene.js.map +1 -1
  166. package/dist/scene/terrain-cm/grass.js +2 -1
  167. package/dist/scene/terrain-cm/grass.js.map +1 -1
  168. package/dist/scene/terrain-cm/terrain-cm.js +2 -0
  169. package/dist/scene/terrain-cm/terrain-cm.js.map +1 -1
  170. package/dist/scene/water.js +2 -0
  171. package/dist/scene/water.js.map +1 -1
  172. package/dist/shaders/atmosphere.js +5 -4
  173. package/dist/shaders/atmosphere.js.map +1 -1
  174. package/dist/shaders/fog.js +10 -3
  175. package/dist/shaders/fog.js.map +1 -1
  176. package/dist/shaders/shadow.js +96 -29
  177. package/dist/shaders/shadow.js.map +1 -1
  178. package/dist/shaders/ssgi.js +63 -0
  179. package/dist/shaders/ssgi.js.map +1 -0
  180. package/dist/shaders/ssgi_reprojection.js +118 -0
  181. package/dist/shaders/ssgi_reprojection.js.map +1 -0
  182. package/dist/shaders/ssr.js +322 -154
  183. package/dist/shaders/ssr.js.map +1 -1
  184. package/dist/shadow/esm.js +13 -8
  185. package/dist/shadow/esm.js.map +1 -1
  186. package/dist/shadow/pcf_opt.js +15 -12
  187. package/dist/shadow/pcf_opt.js.map +1 -1
  188. package/dist/shadow/pcf_pd.js +15 -12
  189. package/dist/shadow/pcf_pd.js.map +1 -1
  190. package/dist/shadow/pcss.js +17 -11
  191. package/dist/shadow/pcss.js.map +1 -1
  192. package/dist/shadow/shadow_impl.js +20 -2
  193. package/dist/shadow/shadow_impl.js.map +1 -1
  194. package/dist/shadow/shadowmapper.js +10 -3
  195. package/dist/shadow/shadowmapper.js.map +1 -1
  196. package/dist/shadow/ssm.js +16 -13
  197. package/dist/shadow/ssm.js.map +1 -1
  198. package/dist/shadow/vsm.js +10 -8
  199. package/dist/shadow/vsm.js.map +1 -1
  200. package/dist/utility/physical.js +74 -0
  201. package/dist/utility/physical.js.map +1 -0
  202. package/dist/utility/rendermipmap.js +2 -2
  203. package/dist/utility/rendermipmap.js.map +1 -1
  204. package/dist/utility/serialization/manager.js +3 -1
  205. package/dist/utility/serialization/manager.js.map +1 -1
  206. package/dist/utility/serialization/scene/animation.js +3 -1
  207. package/dist/utility/serialization/scene/animation.js.map +1 -1
  208. package/dist/utility/serialization/scene/batch.js +3 -1
  209. package/dist/utility/serialization/scene/batch.js.map +1 -1
  210. package/dist/utility/serialization/scene/camera.js +598 -2
  211. package/dist/utility/serialization/scene/camera.js.map +1 -1
  212. package/dist/utility/serialization/scene/light.js +180 -9
  213. package/dist/utility/serialization/scene/light.js.map +1 -1
  214. package/dist/utility/serialization/scene/material.js +43 -3
  215. package/dist/utility/serialization/scene/material.js.map +1 -1
  216. package/dist/utility/serialization/scene/mesh.js +3 -1
  217. package/dist/utility/serialization/scene/mesh.js.map +1 -1
  218. package/dist/utility/serialization/scene/node.js +3 -1
  219. package/dist/utility/serialization/scene/node.js.map +1 -1
  220. package/dist/utility/serialization/scene/particle.js +3 -1
  221. package/dist/utility/serialization/scene/particle.js.map +1 -1
  222. package/dist/utility/serialization/scene/primitive.js +2 -0
  223. package/dist/utility/serialization/scene/primitive.js.map +1 -1
  224. package/dist/utility/serialization/scene/scene.js +70 -0
  225. package/dist/utility/serialization/scene/scene.js.map +1 -1
  226. package/dist/utility/serialization/scene/sprite.js +3 -1
  227. package/dist/utility/serialization/scene/sprite.js.map +1 -1
  228. package/dist/utility/serialization/scene/terrain.js +3 -1
  229. package/dist/utility/serialization/scene/terrain.js.map +1 -1
  230. package/dist/utility/serialization/scene/text.js +3 -0
  231. package/dist/utility/serialization/scene/text.js.map +1 -1
  232. package/dist/utility/serialization/scene/water.js +3 -1
  233. package/dist/utility/serialization/scene/water.js.map +1 -1
  234. package/dist/values.js +2 -3
  235. package/dist/values.js.map +1 -1
  236. package/package.json +3 -3
  237. package/dist/animation/joint_dynamics/convex_collider.js +0 -320
  238. package/dist/animation/joint_dynamics/convex_collider.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"material.js","sources":["../../../../src/utility/serialization/scene/material.ts"],"sourcesContent":["import type { FaceMode, Texture2D } from '@zephyr3d/device';\r\nimport type { BlendMode } from '../../../material';\r\nimport {\r\n BlinnMaterial,\r\n LambertMaterial,\r\n MeshMaterial,\r\n MToonMaterial,\r\n ParticleMaterial,\r\n PBRBluePrintMaterial,\r\n PBRMetallicRoughnessMaterial,\r\n PBRSpecularGlossinessMaterial,\r\n SkinMaterial,\r\n SubsurfaceProfile,\r\n type MToonOutlineWidthMode,\r\n type SubsurfaceProfilePreset,\r\n SpriteBlueprintMaterial,\r\n UnlitMaterial\r\n} from '../../../material';\r\nimport type { PBRBlueprintOutputName } from '../../../material/pbrblueprint';\r\nimport { defineProps, type PropertyAccessor, type SerializableClass } from '../types';\r\nimport type { Nullable } from '@zephyr3d/base';\r\nimport { Vector2, Vector3, Vector4 } from '@zephyr3d/base';\r\nimport { getTextureProps } from './common';\r\nimport type { ResourceManager } from '../manager';\r\nimport { getMeshMaterialInstanceUniformsClass } from './common';\r\nimport { SpriteMaterial } from '../../../material/sprite';\r\nimport { StandardSpriteMaterial } from '../../../material/sprite_std';\r\nimport type { PBRReflectionMode } from '../../../material/mixins/lightmodel/pbrmetallicroughness';\r\n\r\ntype PBRMaterial = PBRMetallicRoughnessMaterial | PBRSpecularGlossinessMaterial;\r\ntype LitPropTypes = LambertMaterial | BlinnMaterial | SkinMaterial | PBRMaterial;\r\ntype UnlitPropTypes = UnlitMaterial | LitPropTypes;\r\n\r\nfunction createBlueprintOutputHiddenPredicate(_outputs: readonly PBRBlueprintOutputName[]) {\r\n return function (this: any) {\r\n return this instanceof PBRBluePrintMaterial;\r\n };\r\n}\r\n\r\nexport function getSubsurfaceProfileClass(): SerializableClass {\r\n return {\r\n ctor: SubsurfaceProfile,\r\n name: 'SubsurfaceProfile',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Preset',\r\n type: 'string',\r\n default: 'skin_default',\r\n options: {\r\n label: 'LookPreset',\r\n enum: {\r\n labels: [\r\n 'Skin Thin',\r\n 'Skin Default',\r\n 'Skin HeavyMakeup',\r\n 'Wax Backlit',\r\n 'Wax Soft',\r\n 'Jade Backlit',\r\n 'Jade Soft'\r\n ],\r\n values: [\r\n 'skin_thin',\r\n 'skin_default',\r\n 'skin_heavy_makeup',\r\n 'wax_backlit',\r\n 'wax_soft',\r\n 'jade_backlit',\r\n 'jade_soft'\r\n ]\r\n }\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.str[0] = this.preset;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.preset = value.str[0] as SubsurfaceProfilePreset;\r\n }\r\n },\r\n {\r\n name: 'ScatterColor',\r\n type: 'rgb',\r\n default: [1, 0.45, 0.17],\r\n options: {\r\n label: 'MeanFreePathColor',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.meanFreePathColor.x;\r\n value.num[1] = this.meanFreePathColor.y;\r\n value.num[2] = this.meanFreePathColor.z;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.meanFreePathColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'ScatterDistance',\r\n type: 'float',\r\n default: 0.92,\r\n options: {\r\n label: 'MeanFreePathDistance',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 8\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.meanFreePathDistance;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.meanFreePathDistance = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatterWeight',\r\n type: 'float',\r\n default: 0.82,\r\n options: {\r\n label: 'ScatterWeight',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 8\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.strength;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.strength = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatterScale',\r\n type: 'float',\r\n default: 0.96,\r\n options: {\r\n label: 'ScatterScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 8\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.scale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.scale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'WorldUnitScale',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n label: 'WorldUnitScale',\r\n animatable: true,\r\n minValue: 0.05,\r\n maxValue: 4\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.worldUnitScale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.worldUnitScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'BoundaryColorBleed',\r\n type: 'float',\r\n default: 0.22,\r\n options: {\r\n label: 'BoundaryColorBleed',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.boundaryColorBleed;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.boundaryColorBleed = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'TransmissionTintColor',\r\n type: 'rgb',\r\n default: [1, 0.46, 0.34],\r\n options: {\r\n label: 'TransmissionTintColor',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.transmissionTintColor.x;\r\n value.num[1] = this.transmissionTintColor.y;\r\n value.num[2] = this.transmissionTintColor.z;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.transmissionTintColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'ExtinctionScale',\r\n type: 'float',\r\n default: 1.06,\r\n options: {\r\n label: 'ExtinctionScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.extinctionScale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.extinctionScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'NormalScale',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n label: 'NormalScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.normalScale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.normalScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatteringDistribution',\r\n type: 'float',\r\n default: 0.6,\r\n options: {\r\n label: 'ScatteringDistribution',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.scatteringDistribution;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.scatteringDistribution = value.num[0];\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\nfunction getPBRCommonProps(manager: ResourceManager): PropertyAccessor<PBRMaterial>[] {\r\n const supportsSSSThicknessAuthoring = function (this: PBRMaterial) {\r\n return (\r\n !this.$isInstance &&\r\n !!(this.transmission || (this as PBRMaterial & { subsurfaceProfile?: unknown }).subsurfaceProfile)\r\n );\r\n };\r\n return defineProps([\r\n {\r\n name: 'IOR',\r\n description: 'Index of refraction for the material surface',\r\n type: 'float',\r\n default: 1.5,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.ior;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.ior = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'OcclusionStrength',\r\n description: 'Strength multiplier for the occlusion texture effect',\r\n type: 'float',\r\n phase: 2,\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.occlusionStrength;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.occlusionStrength = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['AO']),\r\n isValid(this: PBRMaterial) {\r\n return !this.$isInstance && !!this.occlusionTexture;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'occlusionTexture', '2D', false, 0, undefined, ['AO']),\r\n {\r\n name: 'EmissiveColor',\r\n description: 'Base self-illumination color emitted by the material',\r\n type: 'rgb',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.emissiveColor.x;\r\n value.num[1] = this.emissiveColor.y;\r\n value.num[2] = this.emissiveColor.z;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.emissiveColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Emissive']),\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveColor : [0, 0, 0];\r\n }\r\n },\r\n {\r\n name: 'EmissiveStrength',\r\n description: 'Intensity multiplier for the emissive color and emissive texture',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.emissiveStrength;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.emissiveStrength = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Emissive']),\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveStrength : 1;\r\n }\r\n },\r\n {\r\n name: 'RectSpecularScale',\r\n type: 'float',\r\n options: {\r\n label: 'RectSpecularScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.rectSpecularScale;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.rectSpecularScale = value.num[0];\r\n },\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.rectSpecularScale : 1;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'emissiveTexture', '2D', true, 0, undefined, ['Emissive']),\r\n ...getTextureProps<PBRMaterial>(manager, 'specularTexture', '2D', false, 0, undefined, [\r\n 'SpecularWeight'\r\n ]),\r\n {\r\n name: 'Transmission',\r\n description: 'If true, enables light transmission through the material',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.transmission;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.transmission = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'TransmissionFactor',\r\n description: 'Amount of transmitted light, from fully opaque to fully transparent',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.transmissionFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.transmissionFactor = value.num[0];\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'transmissionTexture', '2D', false, 1, function () {\r\n return this.transmission || !!(this as PBRMaterial & { subsurfaceProfile?: unknown }).subsurfaceProfile;\r\n }),\r\n {\r\n name: 'ThicknessFactor',\r\n description: 'Physical thickness used by transmission and volume attenuation',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 99999\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.thicknessFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.thicknessFactor = value.num[0];\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'thicknessTexture', '2D', false, 1, function () {\r\n return this.transmission || !!(this as PBRMaterial & { subsurfaceProfile?: unknown }).subsurfaceProfile;\r\n }),\r\n {\r\n name: 'AttenuationColor',\r\n description: 'Color tint applied to transmitted light as it travels through the material',\r\n type: 'rgb',\r\n phase: 1,\r\n default: [1, 1, 1],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.attenuationColor.x;\r\n value.num[1] = this.attenuationColor.y;\r\n value.num[2] = this.attenuationColor.z;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.attenuationColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n {\r\n name: 'AttenuationDistance',\r\n description: 'Distance over which transmitted light is attenuated inside the material',\r\n type: 'float',\r\n phase: 1,\r\n default: 99999,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 99999\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.attenuationDistance;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.attenuationDistance = value.num[0];\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n {\r\n name: 'Iridescence',\r\n description: 'If true, enables thin-film iridescence on the material surface',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.iridescence;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescence = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'IridescenceFactor',\r\n description: 'Strength of the iridescence effect',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceFactor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'iridescenceTexture', '2D', false, 1, function () {\r\n return this.iridescence;\r\n }),\r\n {\r\n name: 'IridescenceIOR',\r\n description: 'Index of refraction used for the iridescence layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 1.3,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceIor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceIor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n {\r\n name: 'IridescenceThicknessMin',\r\n description: 'Minimum thin-film thickness used for iridescence, typically in nanometers',\r\n type: 'float',\r\n phase: 1,\r\n default: 100,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1000\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceThicknessMin;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceThicknessMin = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n {\r\n name: 'IridescenceThicknessMax',\r\n description: 'Maximum thin-film thickness used for iridescence, typically in nanometers',\r\n type: 'float',\r\n phase: 1,\r\n default: 400,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1000\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceThicknessMax;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceThicknessMax = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'iridescenceThicknessTexture', '2D', false, 1, function () {\r\n return this.iridescence;\r\n }),\r\n {\r\n name: 'ClearCoat',\r\n description: 'If true, enables a clear coat layer on top of the material',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.clearcoat;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.clearcoat = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'ClearCoatIntensity',\r\n description: 'Strength of the clear coat layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.clearcoatIntensity;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.clearcoatIntensity = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.clearcoat;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'clearcoatIntensityTexture', '2D', false, 1, function () {\r\n return this.clearcoat;\r\n }),\r\n {\r\n name: 'ClearCoatRoughnessFactor',\r\n description: 'Roughness of the clear coat layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.clearcoatRoughnessFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.clearcoatRoughnessFactor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.clearcoat;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'clearcoatRoughnessTexture', '2D', false, 1, function () {\r\n return this.clearcoat;\r\n }),\r\n ...getTextureProps<PBRMaterial>(manager, 'clearcoatNormalTexture', '2D', false, 1, function () {\r\n return this.clearcoat;\r\n }),\r\n {\r\n name: 'Sheen',\r\n description: 'If true, enables a soft fabric-like sheen layer',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.sheen;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.sheen = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'SheenColorFactor',\r\n description: 'Color of the sheen layer',\r\n type: 'rgb',\r\n phase: 1,\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.sheenColorFactor.x;\r\n value.num[1] = this.sheenColorFactor.y;\r\n value.num[2] = this.sheenColorFactor.z;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.sheenColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.sheen;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'sheenColorTexture', '2D', true, 1, function () {\r\n return this.sheen;\r\n }),\r\n {\r\n name: 'SheenRoughnessFactor',\r\n description: 'Roughness of the sheen layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.sheenRoughnessFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.sheenRoughnessFactor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.sheen;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'sheenRoughnessTexture', '2D', false, 1, function () {\r\n return this.sheen;\r\n }),\r\n ...getLitMaterialProps(manager)\r\n ]);\r\n}\r\n\r\nfunction getLitMaterialProps(manager: ResourceManager): PropertyAccessor<LitPropTypes>[] {\r\n return defineProps([\r\n ...getUnlitMaterialProps(manager),\r\n {\r\n name: 'doubleSidedLighting',\r\n description: 'If true, lighting is evaluated on both sides of the surface',\r\n type: 'bool',\r\n default: true,\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance;\r\n },\r\n get(this: LitPropTypes, value) {\r\n value.bool[0] = this.doubleSidedLighting;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.doubleSidedLighting = value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'NormalScale',\r\n description: 'Scalar applied to the normal texture',\r\n type: 'float',\r\n phase: 1,\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: LitPropTypes, value) {\r\n value.num[0] = this.normalScale;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.normalScale = value.num[0];\r\n },\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance && !!this.normalTexture;\r\n }\r\n },\r\n {\r\n name: 'vertexNormal',\r\n description: 'If true, uses vertex normals for lighting and normal mapping',\r\n type: 'bool',\r\n default: true,\r\n get(this: LitPropTypes, value) {\r\n value.bool[0] = this.vertexNormal;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.vertexNormal = value.bool[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Normal']),\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'vertexTangent',\r\n description: 'If true, uses vertex tangents for tangent-space normal mapping',\r\n type: 'bool',\r\n default: false,\r\n get(this: LitPropTypes, value) {\r\n value.bool[0] = this.vertexTangent;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.vertexTangent = value.bool[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Tangent']),\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance && !!this.vertexNormal;\r\n }\r\n },\r\n ...getTextureProps<LitPropTypes>(manager, 'normalTexture', '2D', false, 0, undefined, ['Normal'])\r\n ]);\r\n}\r\n\r\nfunction getUnlitMaterialProps(manager: ResourceManager): PropertyAccessor<UnlitPropTypes>[] {\r\n return defineProps([\r\n {\r\n name: 'vertexColor',\r\n description: 'If true, multiplies the material color by per-vertex color data',\r\n type: 'bool',\r\n default: false,\r\n get(this: UnlitPropTypes, value) {\r\n value.bool[0] = this.vertexColor;\r\n },\r\n set(this: UnlitPropTypes, value) {\r\n this.vertexColor = value.bool[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['BaseColor']),\r\n isValid(this: UnlitPropTypes) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'AlbedoColor',\r\n description: 'Base RGBA color of the material before lighting',\r\n type: 'rgba',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: UnlitPropTypes, value) {\r\n const color = this.albedoColor;\r\n value.num[0] = color.x;\r\n value.num[1] = color.y;\r\n value.num[2] = color.z;\r\n value.num[3] = color.w;\r\n },\r\n set(this: UnlitPropTypes, value) {\r\n this.albedoColor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['BaseColor', 'Opacity']),\r\n getDefaultValue(this: UnlitPropTypes) {\r\n return this.$isInstance ? this.coreMaterial.albedoColor : [1, 1, 1, 1];\r\n }\r\n },\r\n ...getTextureProps<UnlitPropTypes>(manager, 'albedoTexture', '2D', true, 0, undefined, [\r\n 'BaseColor',\r\n 'Opacity'\r\n ])\r\n ]);\r\n}\r\n\r\nfunction getMToonMaterialProps(manager: ResourceManager): PropertyAccessor<MToonMaterial>[] {\r\n return defineProps([\r\n {\r\n name: 'AlbedoColor',\r\n description: 'Base RGBA color of the MToon material',\r\n type: 'rgba',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n const color = this.albedoColor;\r\n value.num[0] = color.x;\r\n value.num[1] = color.y;\r\n value.num[2] = color.z;\r\n value.num[3] = color.w;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.albedoColor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.albedoColor : [1, 1, 1, 1];\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'albedoTexture', '2D', true, 0),\r\n {\r\n name: 'NormalScale',\r\n description: 'Scalar applied to the MToon normal texture',\r\n type: 'float',\r\n phase: 1,\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.normalScale;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.normalScale = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && !!this.normalTexture;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'normalTexture', '2D', false, 0),\r\n {\r\n name: 'DoubleSidedLighting',\r\n description: 'If true, MToon lighting is evaluated on both sides of the surface',\r\n type: 'bool',\r\n default: true,\r\n get(this: MToonMaterial, value) {\r\n value.bool[0] = this.doubleSidedLighting;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.doubleSidedLighting = value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'EmissiveColor',\r\n description: 'Base self-illumination color emitted by the MToon material',\r\n type: 'rgb',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.emissiveColor.x;\r\n value.num[1] = this.emissiveColor.y;\r\n value.num[2] = this.emissiveColor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.emissiveColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveColor : [0, 0, 0];\r\n }\r\n },\r\n {\r\n name: 'EmissiveStrength',\r\n description: 'Intensity multiplier for the MToon emissive color and texture',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.emissiveStrength;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.emissiveStrength = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveStrength : 1;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'emissiveTexture', '2D', true, 0),\r\n {\r\n name: 'ShadeColorFactor',\r\n description: 'MToon shadow-side color factor',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadeColorFactor.x;\r\n value.num[1] = this.shadeColorFactor.y;\r\n value.num[2] = this.shadeColorFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadeColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shadeColorFactor : [0, 0, 0];\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'shadeMultiplyTexture', '2D', true, 0),\r\n {\r\n name: 'ShadingShiftFactor',\r\n description: 'MToon terminator shift factor',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: -1,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadingShiftFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadingShiftFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shadingShiftFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'ShadingShiftTextureScale',\r\n description: 'Scale applied to the MToon shading shift texture',\r\n type: 'float',\r\n phase: 1,\r\n default: 1,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadingShiftTextureScale;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadingShiftTextureScale = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && !!this.shadingShiftTexture;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'shadingShiftTexture', '2D', false, 0),\r\n {\r\n name: 'ShadingToonyFactor',\r\n description: 'MToon shadow edge sharpness factor',\r\n type: 'float',\r\n default: 0.9,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 0.99\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadingToonyFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadingToonyFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shadingToonyFactor : 0.9;\r\n }\r\n },\r\n {\r\n name: 'GIEqualizationFactor',\r\n description: 'MToon indirect lighting equalization factor',\r\n type: 'float',\r\n default: 0.9,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.giEqualizationFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.giEqualizationFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.giEqualizationFactor : 0.9;\r\n }\r\n },\r\n {\r\n name: 'MatcapFactor',\r\n description: 'MToon matcap color factor',\r\n type: 'rgb',\r\n default: [1, 1, 1],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.matcapFactor.x;\r\n value.num[1] = this.matcapFactor.y;\r\n value.num[2] = this.matcapFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.matcapFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.matcapFactor : [1, 1, 1];\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'matcapTexture', '2D', true, 0),\r\n {\r\n name: 'ParametricRimColorFactor',\r\n description: 'MToon parametric rim color factor',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.parametricRimColorFactor.x;\r\n value.num[1] = this.parametricRimColorFactor.y;\r\n value.num[2] = this.parametricRimColorFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.parametricRimColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.parametricRimColorFactor : [0, 0, 0];\r\n }\r\n },\r\n {\r\n name: 'ParametricRimFresnelPowerFactor',\r\n description: 'MToon parametric rim Fresnel power factor',\r\n type: 'float',\r\n default: 5,\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.parametricRimFresnelPowerFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.parametricRimFresnelPowerFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.parametricRimFresnelPowerFactor : 5;\r\n }\r\n },\r\n {\r\n name: 'ParametricRimLiftFactor',\r\n description: 'MToon parametric rim lift factor',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.parametricRimLiftFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.parametricRimLiftFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.parametricRimLiftFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'RimLightingMixFactor',\r\n description: 'MToon rim lighting mix factor',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.rimLightingMixFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.rimLightingMixFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.rimLightingMixFactor : 1;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'rimMultiplyTexture', '2D', true, 0),\r\n {\r\n name: 'OutlineWidthMode',\r\n description: 'MToon outline width mode',\r\n type: 'string',\r\n default: 'none',\r\n options: {\r\n enum: {\r\n labels: ['None', 'World Coordinates', 'Screen Coordinates'],\r\n values: ['none', 'worldCoordinates', 'screenCoordinates']\r\n }\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.str[0] = this.outlineWidthMode;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineWidthMode = value.str[0] as MToonOutlineWidthMode;\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'OutlineWidthFactor',\r\n description: 'MToon outline width factor',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.outlineWidthFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineWidthFactor = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'outlineWidthMultiplyTexture', '2D', false, 1, function () {\r\n return this.outlineWidthMode !== 'none';\r\n }),\r\n {\r\n name: 'OutlineColorFactor',\r\n description: 'MToon outline color factor',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.outlineColorFactor.x;\r\n value.num[1] = this.outlineColorFactor.y;\r\n value.num[2] = this.outlineColorFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n {\r\n name: 'OutlineLightingMixFactor',\r\n description: 'MToon outline lighting mix factor',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.outlineLightingMixFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineLightingMixFactor = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n {\r\n name: 'OutlineUsesTangentNormals',\r\n description: 'Use the tangent attribute xyz as smooth normals for MToon outline expansion',\r\n type: 'boolean',\r\n default: false,\r\n get(this: MToonMaterial, value) {\r\n value.bool[0] = this.outlineUsesTangentNormals;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineUsesTangentNormals = value.bool[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'uvAnimationMaskTexture', '2D', false, 0),\r\n {\r\n name: 'UVAnimationScrollXSpeedFactor',\r\n description: 'MToon UV animation scroll speed on the X axis',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.uvAnimationScrollXSpeedFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.uvAnimationScrollXSpeedFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.uvAnimationScrollXSpeedFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'UVAnimationScrollYSpeedFactor',\r\n description: 'MToon UV animation scroll speed on the Y axis',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.uvAnimationScrollYSpeedFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.uvAnimationScrollYSpeedFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.uvAnimationScrollYSpeedFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'UVAnimationRotationSpeedFactor',\r\n description: 'MToon UV animation rotation speed',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.uvAnimationRotationSpeedFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.uvAnimationRotationSpeedFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.uvAnimationRotationSpeedFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'TransparentWithZWrite',\r\n description: 'If true, transparent MToon pixels also write depth',\r\n type: 'bool',\r\n default: false,\r\n get(this: MToonMaterial, value) {\r\n value.bool[0] = this.transparentWithZWrite;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.transparentWithZWrite = value.bool[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'RenderQueueOffsetNumber',\r\n description: 'MToon render queue offset number',\r\n type: 'int',\r\n default: 0,\r\n options: {\r\n minValue: -9,\r\n maxValue: 9\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.renderQueueOffsetNumber;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.renderQueueOffsetNumber = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance;\r\n }\r\n }\r\n ]);\r\n}\r\n\r\n/** @internal */\r\nexport function getMeshMaterialClass(): SerializableClass[] {\r\n return [\r\n {\r\n ctor: MeshMaterial,\r\n name: 'MeshMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'AlphaCutoff',\r\n description:\r\n 'If greater then 0, pixels which have alpha smaller than alpha cutoff will be discarded',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.alphaCutoff;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.alphaCutoff = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'AlphaToCoverage',\r\n description: 'If true, alpha-to-coverage will be enabled',\r\n type: 'bool',\r\n default: false,\r\n get(this: MeshMaterial, value) {\r\n value.bool[0] = this.alphaToCoverage;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.alphaToCoverage = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'AlphaDither',\r\n description: 'If true, alpha-dithering will be enabled',\r\n type: 'bool',\r\n default: false,\r\n get(this: MeshMaterial, value) {\r\n value.bool[0] = this.alphaDither;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.alphaDither = value.bool[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance && this.alphaCutoff > 0;\r\n }\r\n },\r\n {\r\n name: 'BlendMode',\r\n description: 'Blending mode for this material',\r\n type: 'string',\r\n options: {\r\n enum: { labels: ['None', 'Blend', 'Additive'], values: ['none', 'blend', 'additive'] }\r\n },\r\n default: 'none',\r\n get(this: MeshMaterial, value) {\r\n value.str[0] = this.blendMode;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.blendMode = value.str[0] as BlendMode;\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'TransparentShadowCaster',\r\n type: 'bool',\r\n default: false,\r\n get(this: MeshMaterial, value) {\r\n value.bool[0] = this.transparentShadowCaster;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.transparentShadowCaster = value.bool[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance && this.blendMode !== 'none';\r\n }\r\n },\r\n {\r\n name: 'ShadowAlphaCutoff',\r\n type: 'float',\r\n default: 0.5,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.shadowAlphaCutoff;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.shadowAlphaCutoff = value.num[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance && this.blendMode !== 'none' && this.transparentShadowCaster;\r\n }\r\n },\r\n {\r\n name: 'CullMode',\r\n description: 'Cull mode for this material',\r\n type: 'string',\r\n options: {\r\n enum: { labels: ['None', 'Front', 'Back'], values: ['none', 'front', 'back'] }\r\n },\r\n default: 'back',\r\n get(this: MeshMaterial, value) {\r\n value.str[0] = this.cullMode;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.cullMode = value.str[0] as FaceMode;\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'Opacity',\r\n description: 'Opacity value for this material, no effect if blendingMode is `none`',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n default: 1,\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.opacity;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.opacity = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Opacity']),\r\n getDefaultValue(this: MeshMaterial) {\r\n return this.$isInstance ? this.coreMaterial.opacity : 1;\r\n }\r\n },\r\n {\r\n name: 'TAAStrength',\r\n description: 'TAA strength for this material',\r\n type: 'float',\r\n options: {\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n default: 15 / 16,\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.TAAStrength;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.TAAStrength = value.num[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance;\r\n }\r\n }\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(MeshMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getSpriteMaterialClass(_manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: SpriteMaterial,\r\n name: 'SpriteMaterial',\r\n parent: MeshMaterial,\r\n getProps() {\r\n return [];\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(SpriteMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getStandardSpriteMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: StandardSpriteMaterial,\r\n name: 'StandardSpriteMaterial',\r\n parent: SpriteMaterial,\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'SpriteTexture',\r\n description: 'Texture file path for the sprite',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: [\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/tga',\r\n 'image/vnd.radiance',\r\n 'image/x-dds',\r\n 'image/webp'\r\n ]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(value) {\r\n value.str[0] = manager.getAssetId(this.spriteTexture) ?? '';\r\n },\r\n async set(this: StandardSpriteMaterial, value) {\r\n if (!value || !value.str[0]) {\r\n this.spriteTexture = null;\r\n } else {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D>;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId, {\r\n linearColorSpace: false\r\n });\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n tex = null;\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.spriteTexture = tex;\r\n } else {\r\n console.error('Invalid texture type');\r\n }\r\n }\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n }\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(StandardSpriteMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getParticleMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: ParticleMaterial,\r\n name: 'ParticleMaterial',\r\n parent: MeshMaterial,\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'AlphaMap',\r\n description: 'Alpha texture file path',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: [\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/tga',\r\n 'image/vnd.radiance',\r\n 'image/x-dds',\r\n 'image/webp'\r\n ]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: ParticleMaterial, value) {\r\n value.str[0] = manager.getAssetId(this.alphaMap) ?? '';\r\n },\r\n async set(this: ParticleMaterial, value) {\r\n if (!value || !value.str[0]) {\r\n this.alphaMap = null;\r\n } else {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D> = null;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId, { linearColorSpace: true });\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.alphaMap = tex;\r\n } else {\r\n console.error('Invalid albedo texture');\r\n }\r\n }\r\n }\r\n },\r\n {\r\n name: 'RampMap',\r\n description: 'Ramp texture file path',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: [\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/tga',\r\n 'image/vnd.radiance',\r\n 'image/x-dds',\r\n 'image/webp'\r\n ]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: ParticleMaterial, value) {\r\n value.str[0] = manager.getAssetId(this.rampMap) ?? '';\r\n },\r\n async set(this: ParticleMaterial, value) {\r\n if (!value || !value.str[0]) {\r\n this.rampMap = null;\r\n } else {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D> = null;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId);\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.rampMap = tex;\r\n } else {\r\n console.error('Invalid albedo texture');\r\n }\r\n }\r\n }\r\n }\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(ParticleMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getPBRBluePrintMaterialClass(): SerializableClass[] {\r\n return [\r\n {\r\n ctor: PBRBluePrintMaterial,\r\n parent: PBRMetallicRoughnessMaterial,\r\n name: 'PBRBluePrintMaterial',\r\n getProps() {\r\n return defineProps([]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(PBRBluePrintMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getSpriteBlueprintMaterialClass(): SerializableClass[] {\r\n return [\r\n {\r\n ctor: SpriteBlueprintMaterial,\r\n parent: MeshMaterial,\r\n name: 'SpriteBlueprintMaterial',\r\n getProps() {\r\n return [];\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(SpriteBlueprintMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getUnlitMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: UnlitMaterial,\r\n parent: MeshMaterial,\r\n name: 'UnlitMaterial',\r\n getProps() {\r\n return getUnlitMaterialProps(manager);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(UnlitMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getMToonMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: MToonMaterial,\r\n parent: MeshMaterial,\r\n name: 'MToonMaterial',\r\n getProps() {\r\n return getMToonMaterialProps(manager);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(MToonMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getLambertMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: LambertMaterial,\r\n parent: MeshMaterial,\r\n name: 'LambertMaterial',\r\n getProps() {\r\n return getLitMaterialProps(manager);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(LambertMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getBlinnMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: BlinnMaterial,\r\n parent: MeshMaterial,\r\n name: 'BlinnMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Shininess',\r\n description: 'Shininess value',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2048\r\n },\r\n get(this: BlinnMaterial, value) {\r\n value.num[0] = this.shininess;\r\n },\r\n set(this: BlinnMaterial, value) {\r\n this.shininess = value.num[0];\r\n },\r\n getDefaultValue(this: BlinnMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shininess : 32;\r\n }\r\n },\r\n ...getLitMaterialProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(BlinnMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getSkinMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: SkinMaterial,\r\n parent: MeshMaterial,\r\n name: 'SkinMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Shininess',\r\n description: 'Blinn specular exponent for skin highlights',\r\n type: 'float',\r\n default: 72,\r\n options: {\r\n animatable: true,\r\n minValue: 1,\r\n maxValue: 2048\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.shininess;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.shininess = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shininess : 72;\r\n }\r\n },\r\n {\r\n name: 'SpecularStrength',\r\n description: 'Direct specular strength for restrained skin highlights',\r\n type: 'float',\r\n default: 0.22,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.specularStrength;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.specularStrength = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.specularStrength : 0.22;\r\n }\r\n },\r\n {\r\n name: 'DiffuseWrap',\r\n description: 'Wrap amount for visible diffuse lighting',\r\n type: 'float',\r\n default: 0.28,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.diffuseWrap;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.diffuseWrap = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.diffuseWrap : 0.28;\r\n }\r\n },\r\n {\r\n name: 'DiffuseSoftness',\r\n description: 'Blend from hard Lambert lighting to wrapped diffuse lighting',\r\n type: 'float',\r\n default: 0.45,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.diffuseSoftness;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.diffuseSoftness = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.diffuseSoftness : 0.45;\r\n }\r\n },\r\n {\r\n name: 'ScatterWrap',\r\n description: 'Wide wrap amount written to the Skin SSS scattering source',\r\n type: 'float',\r\n default: 0.65,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.scatterWrap;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.scatterWrap = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.scatterWrap : 0.65;\r\n }\r\n },\r\n {\r\n name: 'ScatterStrength',\r\n description: 'Strength of the lighting multiplier written to the Skin SSS side buffer',\r\n type: 'float',\r\n default: 0.7,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.scatterStrength;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.scatterStrength = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.scatterStrength : 0.7;\r\n }\r\n },\r\n {\r\n name: 'ScatterColor',\r\n description: 'Warm tint for the blurred skin scattering contribution',\r\n type: 'rgba',\r\n default: [1, 0.42, 0.28, 1],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.scatterColor.x;\r\n value.num[1] = this.scatterColor.y;\r\n value.num[2] = this.scatterColor.z;\r\n value.num[3] = this.scatterColor.w;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.scatterColor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n const color = this.$isInstance ? this.coreMaterial.scatterColor : new Vector4(1, 0.42, 0.28, 1);\r\n return [color.x, color.y, color.z, color.w];\r\n }\r\n },\r\n ...getTextureProps<SkinMaterial>(manager, 'subsurfaceTexture', '2D', false, 1),\r\n ...getLitMaterialProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(SkinMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getPBRMetallicRoughnessMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: PBRMetallicRoughnessMaterial,\r\n parent: MeshMaterial,\r\n name: 'PBRMetallicRoughnessMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Metallic',\r\n description: 'Metallic value',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.metallic;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.metallic = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Metallic']),\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.metallic : 1;\r\n }\r\n },\r\n {\r\n name: 'Roughness',\r\n description: 'Roughness value',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.roughness;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.roughness = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Roughness']),\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.roughness : 1;\r\n }\r\n },\r\n {\r\n name: 'SpecularFactor',\r\n description: 'RGBA specular factor used to tint and scale specular reflections',\r\n type: 'rgba',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.specularFactor.x;\r\n value.num[1] = this.specularFactor.y;\r\n value.num[2] = this.specularFactor.z;\r\n value.num[3] = this.specularFactor.w;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.specularFactor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Specular', 'SpecularWeight']),\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.specularFactor : [1, 1, 1, 1];\r\n }\r\n },\r\n {\r\n name: 'Reflection',\r\n description: 'Reflection mode',\r\n type: 'string',\r\n default: 'ggx',\r\n options: {\r\n enum: {\r\n labels: ['None', 'GGX', 'Anisotropic', 'Glint'],\r\n values: ['none', 'ggx', 'anisotropic', 'glint']\r\n }\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.str[0] = this.reflectionMode;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.reflectionMode = value.str[0] as PBRReflectionMode;\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.reflectionMode : 'ggx';\r\n }\r\n },\r\n {\r\n name: 'Anisotropy',\r\n description: 'Strength of anisotropic reflections; values near 0 behave isotropically',\r\n type: 'float',\r\n default: 0.75,\r\n options: {\r\n animatable: true,\r\n minValue: -0.95,\r\n maxValue: 0.95\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.anisotropy;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.anisotropy = value.num[0];\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.anisotropy : 0.75;\r\n },\r\n isValid(this: PBRMetallicRoughnessMaterial) {\r\n return this.reflectionMode === 'anisotropic';\r\n }\r\n },\r\n {\r\n name: 'AnisotropyDirection',\r\n description: 'Rotation angle in degrees for the anisotropic highlight direction',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 360\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.anisotropyDirection;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.anisotropyDirection = value.num[0];\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.anisotropyDirection : 0;\r\n },\r\n isValid(this: PBRMetallicRoughnessMaterial) {\r\n return this.reflectionMode === 'anisotropic';\r\n }\r\n },\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'anisotropyDirectionTexture',\r\n '2D',\r\n false,\r\n 0,\r\n function () {\r\n return this.reflectionMode === 'anisotropic';\r\n }\r\n ),\r\n {\r\n name: 'AnisotropyDirectionScaleBias',\r\n description: 'Scale and bias applied when decoding anisotropy direction from its texture',\r\n type: 'vec2',\r\n default: [1, 0],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.anisotropyDirectionScaleBias.x;\r\n value.num[1] = this.anisotropyDirectionScaleBias.y;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.anisotropyDirectionScaleBias = new Vector2(value.num[0], value.num[1]);\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.anisotropyDirectionScaleBias : [1, 0];\r\n },\r\n isValid() {\r\n return (\r\n !this.$isInstance &&\r\n this.reflectionMode === 'anisotropic' &&\r\n !!this.anisotropyDirectionTexture\r\n );\r\n }\r\n },\r\n {\r\n name: 'SubsurfaceProfile',\r\n description: 'If true, enables subsurface scattering for translucent materials',\r\n type: 'object',\r\n phase: 1,\r\n default: null,\r\n options: {\r\n objectTypes: [SubsurfaceProfile]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.object[0] = this.subsurfaceProfile;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.subsurfaceProfile = (value.object[0] as SubsurfaceProfile) ?? null;\r\n },\r\n isValid(this: PBRMetallicRoughnessMaterial) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'subsurfaceTexture',\r\n '2D',\r\n false,\r\n 1,\r\n function () {\r\n return !!this.subsurfaceProfile;\r\n }\r\n ),\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'metallicRoughnessTexture',\r\n '2D',\r\n false,\r\n 0,\r\n undefined,\r\n ['Metallic', 'Roughness']\r\n ),\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'specularColorTexture',\r\n '2D',\r\n true,\r\n 0,\r\n undefined,\r\n ['Specular']\r\n ),\r\n ...getPBRCommonProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(PBRMetallicRoughnessMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getPBRSpecularGlossinessMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: PBRSpecularGlossinessMaterial,\r\n name: 'PBRSpecularGlossinessMaterial',\r\n parent: MeshMaterial,\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'SpecularFactor',\r\n description: 'RGB specular color multiplier for reflected highlights',\r\n type: 'rgb',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRSpecularGlossinessMaterial, value) {\r\n value.num[0] = this.specularFactor.x;\r\n value.num[1] = this.specularFactor.y;\r\n value.num[2] = this.specularFactor.z;\r\n },\r\n set(this: PBRSpecularGlossinessMaterial, value) {\r\n this.specularFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: PBRSpecularGlossinessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.specularFactor : [1, 1, 1];\r\n }\r\n },\r\n {\r\n name: 'GlossnessFactor',\r\n description: 'Glossiness of the surface; higher values produce sharper reflections',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRSpecularGlossinessMaterial, value) {\r\n value.num[0] = this.glossinessFactor;\r\n },\r\n set(this: PBRSpecularGlossinessMaterial, value) {\r\n this.glossinessFactor = value.num[0];\r\n },\r\n getDefaultValue(this: PBRSpecularGlossinessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.glossinessFactor : 1;\r\n }\r\n },\r\n ...getPBRCommonProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(PBRSpecularGlossinessMaterial)\r\n ];\r\n}\r\n"],"names":["createBlueprintOutputHiddenPredicate","_outputs","PBRBluePrintMaterial","getSubsurfaceProfileClass","ctor","SubsurfaceProfile","name","getProps","defineProps","type","default","options","label","enum","labels","values","get","value","str","preset","set","animatable","minValue","maxValue","num","meanFreePathColor","x","y","z","Vector3","meanFreePathDistance","strength","scale","worldUnitScale","boundaryColorBleed","transmissionTintColor","extinctionScale","normalScale","scatteringDistribution","getPBRCommonProps","manager","supportsSSSThicknessAuthoring","$isInstance","transmission","subsurfaceProfile","description","ior","isValid","phase","occlusionStrength","isHidden","occlusionTexture","getTextureProps","undefined","emissiveColor","getDefaultValue","coreMaterial","emissiveStrength","rectSpecularScale","bool","transmissionFactor","call","thicknessFactor","attenuationColor","attenuationDistance","iridescence","iridescenceFactor","iridescenceIor","iridescenceThicknessMin","iridescenceThicknessMax","clearcoat","clearcoatIntensity","clearcoatRoughnessFactor","sheen","sheenColorFactor","sheenRoughnessFactor","getLitMaterialProps","getUnlitMaterialProps","doubleSidedLighting","normalTexture","vertexNormal","vertexTangent","vertexColor","color","albedoColor","w","Vector4","getMToonMaterialProps","shadeColorFactor","shadingShiftFactor","shadingShiftTextureScale","shadingShiftTexture","shadingToonyFactor","giEqualizationFactor","matcapFactor","parametricRimColorFactor","parametricRimFresnelPowerFactor","parametricRimLiftFactor","rimLightingMixFactor","outlineWidthMode","outlineWidthFactor","outlineColorFactor","outlineLightingMixFactor","outlineUsesTangentNormals","uvAnimationScrollXSpeedFactor","uvAnimationScrollYSpeedFactor","uvAnimationRotationSpeedFactor","transparentWithZWrite","renderQueueOffsetNumber","getMeshMaterialClass","MeshMaterial","alphaCutoff","alphaToCoverage","alphaDither","blendMode","transparentShadowCaster","shadowAlphaCutoff","cullMode","opacity","TAAStrength","getMeshMaterialInstanceUniformsClass","getSpriteMaterialClass","_manager","SpriteMaterial","parent","getStandardSpriteMaterialClass","StandardSpriteMaterial","mimeTypes","isNullable","getAssetId","spriteTexture","assetId","tex","fetchTexture","linearColorSpace","err","console","error","isTexture2D","getParticleMaterialClass","ParticleMaterial","alphaMap","rampMap","getPBRBluePrintMaterialClass","PBRMetallicRoughnessMaterial","getSpriteBlueprintMaterialClass","SpriteBlueprintMaterial","getUnlitMaterialClass","UnlitMaterial","getMToonMaterialClass","MToonMaterial","getLambertMaterialClass","LambertMaterial","getBlinnMaterialClass","BlinnMaterial","shininess","getSkinMaterialClass","SkinMaterial","specularStrength","diffuseWrap","diffuseSoftness","scatterWrap","scatterStrength","scatterColor","getPBRMetallicRoughnessMaterialClass","metallic","roughness","specularFactor","reflectionMode","anisotropy","anisotropyDirection","anisotropyDirectionScaleBias","Vector2","anisotropyDirectionTexture","objectTypes","object","getPBRSpecularGlossinessMaterialClass","PBRSpecularGlossinessMaterial","glossinessFactor"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAiCA,SAASA,qCAAqCC,QAA2C,EAAA;IACvF,OAAO,WAAA;AACL,QAAA,OAAO,IAAI,YAAYC,oBAAAA;AACzB,KAAA;AACF;AAEO,SAASC,yBAAAA,GAAAA;IACd,OAAO;QACLC,IAAMC,EAAAA,iBAAAA;QACNC,IAAM,EAAA,mBAAA;AACNC,QAAAA,QAAAA,CAAAA,GAAAA;AACE,YAAA,OAAOC,WAAY,CAAA;AACjB,gBAAA;oBACEF,IAAM,EAAA,QAAA;oBACNG,IAAM,EAAA,QAAA;oBACNC,OAAS,EAAA,cAAA;oBACTC,OAAS,EAAA;wBACPC,KAAO,EAAA,YAAA;wBACPC,IAAM,EAAA;4BACJC,MAAQ,EAAA;AACN,gCAAA,WAAA;AACA,gCAAA,cAAA;AACA,gCAAA,kBAAA;AACA,gCAAA,aAAA;AACA,gCAAA,UAAA;AACA,gCAAA,cAAA;AACA,gCAAA;AACD,6BAAA;4BACDC,MAAQ,EAAA;AACN,gCAAA,WAAA;AACA,gCAAA,cAAA;AACA,gCAAA,mBAAA;AACA,gCAAA,aAAA;AACA,gCAAA,UAAA;AACA,gCAAA,cAAA;AACA,gCAAA;AACD;AACH;AACF,qBAAA;AACAC,oBAAAA,GAAAA,CAAAA,CAA6BC,KAAK,EAAA;AAChCA,wBAAAA,KAAAA,CAAMC,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACC,MAAM;AAC5B,qBAAA;AACAC,oBAAAA,GAAAA,CAAAA,CAA6BH,KAAK,EAAA;AAChC,wBAAA,IAAI,CAACE,MAAM,GAAGF,KAAMC,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC5B;AACF,iBAAA;AACA,gBAAA;oBACEZ,IAAM,EAAA,cAAA;oBACNG,IAAM,EAAA,KAAA;oBACNC,OAAS,EAAA;AAAC,wBAAA,CAAA;AAAG,wBAAA,IAAA;AAAM,wBAAA;AAAK,qBAAA;oBACxBC,OAAS,EAAA;wBACPC,KAAO,EAAA,mBAAA;wBACPS,UAAY,EAAA,IAAA;wBACZC,QAAU,EAAA,CAAA;wBACVC,QAAU,EAAA;AACZ,qBAAA;AACAP,oBAAAA,GAAAA,CAAAA,CAA6BC,KAAK,EAAA;wBAChCA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACC,iBAAiB,CAACC,CAAC;wBACvCT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACC,iBAAiB,CAACE,CAAC;wBACvCV,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACC,iBAAiB,CAACG,CAAC;AACzC,qBAAA;AACAR,oBAAAA,GAAAA,CAAAA,CAA6BH,KAAK,EAAA;AAChC,wBAAA,IAAI,CAACQ,iBAAiB,GAAG,IAAII,OAAQZ,CAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,CAAA;AAC/E;AACF,iBAAA;AACA,gBAAA;oBACElB,IAAM,EAAA,iBAAA;oBACNG,IAAM,EAAA,OAAA;oBACNC,OAAS,EAAA,IAAA;oBACTC,OAAS,EAAA;wBACPC,KAAO,EAAA,sBAAA;wBACPS,UAAY,EAAA,IAAA;wBACZC,QAAU,EAAA,CAAA;wBACVC,QAAU,EAAA;AACZ,qBAAA;AACAP,oBAAAA,GAAAA,CAAAA,CAA6BC,KAAK,EAAA;AAChCA,wBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACM,oBAAoB;AAC1C,qBAAA;AACAV,oBAAAA,GAAAA,CAAAA,CAA6BH,KAAK,EAAA;AAChC,wBAAA,IAAI,CAACa,oBAAoB,GAAGb,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC1C;AACF,iBAAA;AACA,gBAAA;oBACElB,IAAM,EAAA,eAAA;oBACNG,IAAM,EAAA,OAAA;oBACNC,OAAS,EAAA,IAAA;oBACTC,OAAS,EAAA;wBACPC,KAAO,EAAA,eAAA;wBACPS,UAAY,EAAA,IAAA;wBACZC,QAAU,EAAA,CAAA;wBACVC,QAAU,EAAA;AACZ,qBAAA;AACAP,oBAAAA,GAAAA,CAAAA,CAA6BC,KAAK,EAAA;AAChCA,wBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACO,QAAQ;AAC9B,qBAAA;AACAX,oBAAAA,GAAAA,CAAAA,CAA6BH,KAAK,EAAA;AAChC,wBAAA,IAAI,CAACc,QAAQ,GAAGd,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC9B;AACF,iBAAA;AACA,gBAAA;oBACElB,IAAM,EAAA,cAAA;oBACNG,IAAM,EAAA,OAAA;oBACNC,OAAS,EAAA,IAAA;oBACTC,OAAS,EAAA;wBACPC,KAAO,EAAA,cAAA;wBACPS,UAAY,EAAA,IAAA;wBACZC,QAAU,EAAA,CAAA;wBACVC,QAAU,EAAA;AACZ,qBAAA;AACAP,oBAAAA,GAAAA,CAAAA,CAA6BC,KAAK,EAAA;AAChCA,wBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACQ,KAAK;AAC3B,qBAAA;AACAZ,oBAAAA,GAAAA,CAAAA,CAA6BH,KAAK,EAAA;AAChC,wBAAA,IAAI,CAACe,KAAK,GAAGf,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC3B;AACF,iBAAA;AACA,gBAAA;oBACElB,IAAM,EAAA,gBAAA;oBACNG,IAAM,EAAA,OAAA;oBACNC,OAAS,EAAA,CAAA;oBACTC,OAAS,EAAA;wBACPC,KAAO,EAAA,gBAAA;wBACPS,UAAY,EAAA,IAAA;wBACZC,QAAU,EAAA,IAAA;wBACVC,QAAU,EAAA;AACZ,qBAAA;AACAP,oBAAAA,GAAAA,CAAAA,CAA6BC,KAAK,EAAA;AAChCA,wBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACS,cAAc;AACpC,qBAAA;AACAb,oBAAAA,GAAAA,CAAAA,CAA6BH,KAAK,EAAA;AAChC,wBAAA,IAAI,CAACgB,cAAc,GAAGhB,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACpC;AACF,iBAAA;AACA,gBAAA;oBACElB,IAAM,EAAA,oBAAA;oBACNG,IAAM,EAAA,OAAA;oBACNC,OAAS,EAAA,IAAA;oBACTC,OAAS,EAAA;wBACPC,KAAO,EAAA,oBAAA;wBACPS,UAAY,EAAA,IAAA;wBACZC,QAAU,EAAA,CAAA;wBACVC,QAAU,EAAA;AACZ,qBAAA;AACAP,oBAAAA,GAAAA,CAAAA,CAA6BC,KAAK,EAAA;AAChCA,wBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACU,kBAAkB;AACxC,qBAAA;AACAd,oBAAAA,GAAAA,CAAAA,CAA6BH,KAAK,EAAA;AAChC,wBAAA,IAAI,CAACiB,kBAAkB,GAAGjB,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACxC;AACF,iBAAA;AACA,gBAAA;oBACElB,IAAM,EAAA,uBAAA;oBACNG,IAAM,EAAA,KAAA;oBACNC,OAAS,EAAA;AAAC,wBAAA,CAAA;AAAG,wBAAA,IAAA;AAAM,wBAAA;AAAK,qBAAA;oBACxBC,OAAS,EAAA;wBACPC,KAAO,EAAA,uBAAA;wBACPS,UAAY,EAAA,IAAA;wBACZC,QAAU,EAAA,CAAA;wBACVC,QAAU,EAAA;AACZ,qBAAA;AACAP,oBAAAA,GAAAA,CAAAA,CAA6BC,KAAK,EAAA;wBAChCA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACW,qBAAqB,CAACT,CAAC;wBAC3CT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACW,qBAAqB,CAACR,CAAC;wBAC3CV,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACW,qBAAqB,CAACP,CAAC;AAC7C,qBAAA;AACAR,oBAAAA,GAAAA,CAAAA,CAA6BH,KAAK,EAAA;AAChC,wBAAA,IAAI,CAACkB,qBAAqB,GAAG,IAAIN,OAAQZ,CAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,CAAA;AACnF;AACF,iBAAA;AACA,gBAAA;oBACElB,IAAM,EAAA,iBAAA;oBACNG,IAAM,EAAA,OAAA;oBACNC,OAAS,EAAA,IAAA;oBACTC,OAAS,EAAA;wBACPC,KAAO,EAAA,iBAAA;wBACPS,UAAY,EAAA,IAAA;wBACZC,QAAU,EAAA,CAAA;wBACVC,QAAU,EAAA;AACZ,qBAAA;AACAP,oBAAAA,GAAAA,CAAAA,CAA6BC,KAAK,EAAA;AAChCA,wBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACY,eAAe;AACrC,qBAAA;AACAhB,oBAAAA,GAAAA,CAAAA,CAA6BH,KAAK,EAAA;AAChC,wBAAA,IAAI,CAACmB,eAAe,GAAGnB,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACrC;AACF,iBAAA;AACA,gBAAA;oBACElB,IAAM,EAAA,aAAA;oBACNG,IAAM,EAAA,OAAA;oBACNC,OAAS,EAAA,CAAA;oBACTC,OAAS,EAAA;wBACPC,KAAO,EAAA,aAAA;wBACPS,UAAY,EAAA,IAAA;wBACZC,QAAU,EAAA,CAAA;wBACVC,QAAU,EAAA;AACZ,qBAAA;AACAP,oBAAAA,GAAAA,CAAAA,CAA6BC,KAAK,EAAA;AAChCA,wBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACa,WAAW;AACjC,qBAAA;AACAjB,oBAAAA,GAAAA,CAAAA,CAA6BH,KAAK,EAAA;AAChC,wBAAA,IAAI,CAACoB,WAAW,GAAGpB,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACjC;AACF,iBAAA;AACA,gBAAA;oBACElB,IAAM,EAAA,wBAAA;oBACNG,IAAM,EAAA,OAAA;oBACNC,OAAS,EAAA,GAAA;oBACTC,OAAS,EAAA;wBACPC,KAAO,EAAA,wBAAA;wBACPS,UAAY,EAAA,IAAA;wBACZC,QAAU,EAAA,CAAA;wBACVC,QAAU,EAAA;AACZ,qBAAA;AACAP,oBAAAA,GAAAA,CAAAA,CAA6BC,KAAK,EAAA;AAChCA,wBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACc,sBAAsB;AAC5C,qBAAA;AACAlB,oBAAAA,GAAAA,CAAAA,CAA6BH,KAAK,EAAA;AAChC,wBAAA,IAAI,CAACqB,sBAAsB,GAAGrB,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC5C;AACF;AACD,aAAA,CAAA;AACH;AACF,KAAA;AACF;AAEA,SAASe,kBAAkBC,OAAwB,EAAA;AACjD,IAAA,MAAMC,6BAAgC,GAAA,WAAA;AACpC,QAAA,OACE,CAAC,IAAI,CAACC,WAAW,IACjB,CAAC,EAAE,IAAI,CAACC,YAAY,IAAK,IAAI,CAAmDC,iBAAiB,CAAD;AAEpG,KAAA;AACA,IAAA,OAAOpC,WAAY,CAAA;AACjB,QAAA;YACEF,IAAM,EAAA,KAAA;YACNuC,WAAa,EAAA,8CAAA;YACbpC,IAAM,EAAA,OAAA;YACNC,OAAS,EAAA,GAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA;AACd,aAAA;AACAL,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACsB,GAAG;AACzB,aAAA;AACA1B,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAAC6B,GAAG,GAAG7B,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACzB,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,SAAA;AACA,QAAA;YACEpC,IAAM,EAAA,mBAAA;YACNuC,WAAa,EAAA,sDAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACyB,iBAAiB;AACvC,aAAA;AACA7B,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACgC,iBAAiB,GAAGhC,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACvC,aAAA;AACA0B,YAAAA,QAAAA,EAAUlD,oCAAqC,CAAM,CAAA;AACrD+C,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,CAAC,CAAC,IAAI,CAACS,gBAAgB;AACrD;AACF,SAAA;AACGC,QAAAA,GAAAA,eAAAA,CAA6BZ,OAAS,EAAA,kBAAA,EAAoB,IAAM,EAAA,KAAA,EAAO,GAAGa,SAAW,EAAA;AAAC,YAAA;AAAK,SAAA,CAAA;AAC9F,QAAA;YACE/C,IAAM,EAAA,eAAA;YACNuC,WAAa,EAAA,sDAAA;YACbpC,IAAM,EAAA,KAAA;YACNE,OAAS,EAAA;gBACPU,UAAY,EAAA;AACd,aAAA;AACAL,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;gBAC1BA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC8B,aAAa,CAAC5B,CAAC;gBACnCT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC8B,aAAa,CAAC3B,CAAC;gBACnCV,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC8B,aAAa,CAAC1B,CAAC;AACrC,aAAA;AACAR,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACqC,aAAa,GAAG,IAAIzB,OAAQZ,CAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,CAAA;AAC3E,aAAA;AACA0B,YAAAA,QAAAA,EAAUlD,oCAAqC,CAAY,CAAA;AAC3DuD,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACF,aAAa,GAAG;AAAC,oBAAA,CAAA;AAAG,oBAAA,CAAA;AAAG,oBAAA;AAAE,iBAAA;AACvE;AACF,SAAA;AACA,QAAA;YACEhD,IAAM,EAAA,kBAAA;YACNuC,WAAa,EAAA,kEAAA;YACbpC,IAAM,EAAA,OAAA;YACNE,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACiC,gBAAgB;AACtC,aAAA;AACArC,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACwC,gBAAgB,GAAGxC,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACtC,aAAA;AACA0B,YAAAA,QAAAA,EAAUlD,oCAAqC,CAAY,CAAA;AAC3DuD,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACC,gBAAgB,GAAG,CAAA;AACjE;AACF,SAAA;AACA,QAAA;YACEnD,IAAM,EAAA,mBAAA;YACNG,IAAM,EAAA,OAAA;YACNE,OAAS,EAAA;gBACPC,KAAO,EAAA,mBAAA;gBACPS,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACkC,iBAAiB;AACvC,aAAA;AACAtC,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACyC,iBAAiB,GAAGzC,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACvC,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACE,iBAAiB,GAAG,CAAA;AAClE;AACF,SAAA;AACGN,QAAAA,GAAAA,eAAAA,CAA6BZ,OAAS,EAAA,iBAAA,EAAmB,IAAM,EAAA,IAAA,EAAM,GAAGa,SAAW,EAAA;AAAC,YAAA;AAAW,SAAA,CAAA;AAC/FD,QAAAA,GAAAA,eAAAA,CAA6BZ,OAAS,EAAA,iBAAA,EAAmB,IAAM,EAAA,KAAA,EAAO,GAAGa,SAAW,EAAA;AACrF,YAAA;AACD,SAAA,CAAA;AACD,QAAA;YACE/C,IAAM,EAAA,cAAA;YACNuC,WAAa,EAAA,0DAAA;YACbpC,IAAM,EAAA,MAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,KAAA;AACTM,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAAChB,YAAY;AACnC,aAAA;AACAvB,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAAC0B,YAAY,GAAG1B,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AACnC,aAAA;AACAZ,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,SAAA;AACA,QAAA;YACEpC,IAAM,EAAA,oBAAA;YACNuC,WAAa,EAAA,qEAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACoC,kBAAkB;AACxC,aAAA;AACAxC,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAAC2C,kBAAkB,GAAG3C,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACxC,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAON,6BAAAA,CAA8BoB,IAAI,CAAC,IAAI,CAAA;AAChD;AACF,SAAA;AACGT,QAAAA,GAAAA,eAAAA,CAA6BZ,OAAS,EAAA,qBAAA,EAAuB,IAAM,EAAA,KAAA,EAAO,CAAG,EAAA,WAAA;YAC9E,OAAO,IAAI,CAACG,YAAY,IAAI,CAAC,CAAE,IAAI,CAAmDC,iBAAiB;AACzG,SAAA,CAAA;AACA,QAAA;YACEtC,IAAM,EAAA,iBAAA;YACNuC,WAAa,EAAA,gEAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACsC,eAAe;AACrC,aAAA;AACA1C,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAAC6C,eAAe,GAAG7C,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACrC,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAON,6BAAAA,CAA8BoB,IAAI,CAAC,IAAI,CAAA;AAChD;AACF,SAAA;AACGT,QAAAA,GAAAA,eAAAA,CAA6BZ,OAAS,EAAA,kBAAA,EAAoB,IAAM,EAAA,KAAA,EAAO,CAAG,EAAA,WAAA;YAC3E,OAAO,IAAI,CAACG,YAAY,IAAI,CAAC,CAAE,IAAI,CAAmDC,iBAAiB;AACzG,SAAA,CAAA;AACA,QAAA;YACEtC,IAAM,EAAA,kBAAA;YACNuC,WAAa,EAAA,4EAAA;YACbpC,IAAM,EAAA,KAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA;AAAC,gBAAA,CAAA;AAAG,gBAAA,CAAA;AAAG,gBAAA;AAAE,aAAA;YAClBC,OAAS,EAAA;gBACPU,UAAY,EAAA;AACd,aAAA;AACAL,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;gBAC1BA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACuC,gBAAgB,CAACrC,CAAC;gBACtCT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACuC,gBAAgB,CAACpC,CAAC;gBACtCV,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACuC,gBAAgB,CAACnC,CAAC;AACxC,aAAA;AACAR,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAAC8C,gBAAgB,GAAG,IAAIlC,OAAQZ,CAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,CAAA;AAC9E,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAON,6BAAAA,CAA8BoB,IAAI,CAAC,IAAI,CAAA;AAChD;AACF,SAAA;AACA,QAAA;YACEvD,IAAM,EAAA,qBAAA;YACNuC,WAAa,EAAA,yEAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,KAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACwC,mBAAmB;AACzC,aAAA;AACA5C,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAAC+C,mBAAmB,GAAG/C,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACzC,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAON,6BAAAA,CAA8BoB,IAAI,CAAC,IAAI,CAAA;AAChD;AACF,SAAA;AACA,QAAA;YACEvD,IAAM,EAAA,aAAA;YACNuC,WAAa,EAAA,gEAAA;YACbpC,IAAM,EAAA,MAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,KAAA;AACTM,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAACM,WAAW;AAClC,aAAA;AACA7C,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACgD,WAAW,GAAGhD,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AAClC,aAAA;AACAZ,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,SAAA;AACA,QAAA;YACEpC,IAAM,EAAA,mBAAA;YACNuC,WAAa,EAAA,oCAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC0C,iBAAiB;AACvC,aAAA;AACA9C,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACiD,iBAAiB,GAAGjD,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACvC,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,CAAC,CAAC,IAAI,CAACuB,WAAW;AAChD;AACF,SAAA;AACGb,QAAAA,GAAAA,eAAAA,CAA6BZ,OAAS,EAAA,oBAAA,EAAsB,IAAM,EAAA,KAAA,EAAO,CAAG,EAAA,WAAA;YAC7E,OAAO,IAAI,CAACyB,WAAW;AACzB,SAAA,CAAA;AACA,QAAA;YACE3D,IAAM,EAAA,gBAAA;YACNuC,WAAa,EAAA,oDAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,GAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA;AACd,aAAA;AACAL,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC2C,cAAc;AACpC,aAAA;AACA/C,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACkD,cAAc,GAAGlD,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACpC,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,CAAC,CAAC,IAAI,CAACuB,WAAW;AAChD;AACF,SAAA;AACA,QAAA;YACE3D,IAAM,EAAA,yBAAA;YACNuC,WAAa,EAAA,2EAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,GAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC4C,uBAAuB;AAC7C,aAAA;AACAhD,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACmD,uBAAuB,GAAGnD,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC7C,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,CAAC,CAAC,IAAI,CAACuB,WAAW;AAChD;AACF,SAAA;AACA,QAAA;YACE3D,IAAM,EAAA,yBAAA;YACNuC,WAAa,EAAA,2EAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,GAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC6C,uBAAuB;AAC7C,aAAA;AACAjD,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACoD,uBAAuB,GAAGpD,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC7C,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,CAAC,CAAC,IAAI,CAACuB,WAAW;AAChD;AACF,SAAA;AACGb,QAAAA,GAAAA,eAAAA,CAA6BZ,OAAS,EAAA,6BAAA,EAA+B,IAAM,EAAA,KAAA,EAAO,CAAG,EAAA,WAAA;YACtF,OAAO,IAAI,CAACyB,WAAW;AACzB,SAAA,CAAA;AACA,QAAA;YACE3D,IAAM,EAAA,WAAA;YACNuC,WAAa,EAAA,4DAAA;YACbpC,IAAM,EAAA,MAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,KAAA;AACTM,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAACW,SAAS;AAChC,aAAA;AACAlD,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACqD,SAAS,GAAGrD,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AAChC,aAAA;AACAZ,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,SAAA;AACA,QAAA;YACEpC,IAAM,EAAA,oBAAA;YACNuC,WAAa,EAAA,kCAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC+C,kBAAkB;AACxC,aAAA;AACAnD,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACsD,kBAAkB,GAAGtD,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACxC,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC4B,SAAS;AAC9C;AACF,SAAA;AACGlB,QAAAA,GAAAA,eAAAA,CAA6BZ,OAAS,EAAA,2BAAA,EAA6B,IAAM,EAAA,KAAA,EAAO,CAAG,EAAA,WAAA;YACpF,OAAO,IAAI,CAAC8B,SAAS;AACvB,SAAA,CAAA;AACA,QAAA;YACEhE,IAAM,EAAA,0BAAA;YACNuC,WAAa,EAAA,mCAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACgD,wBAAwB;AAC9C,aAAA;AACApD,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACuD,wBAAwB,GAAGvD,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC9C,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC4B,SAAS;AAC9C;AACF,SAAA;AACGlB,QAAAA,GAAAA,eAAAA,CAA6BZ,OAAS,EAAA,2BAAA,EAA6B,IAAM,EAAA,KAAA,EAAO,CAAG,EAAA,WAAA;YACpF,OAAO,IAAI,CAAC8B,SAAS;AACvB,SAAA,CAAA;AACGlB,QAAAA,GAAAA,eAAAA,CAA6BZ,OAAS,EAAA,wBAAA,EAA0B,IAAM,EAAA,KAAA,EAAO,CAAG,EAAA,WAAA;YACjF,OAAO,IAAI,CAAC8B,SAAS;AACvB,SAAA,CAAA;AACA,QAAA;YACEhE,IAAM,EAAA,OAAA;YACNuC,WAAa,EAAA,iDAAA;YACbpC,IAAM,EAAA,MAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,KAAA;AACTM,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAACc,KAAK;AAC5B,aAAA;AACArD,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACwD,KAAK,GAAGxD,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AAC5B,aAAA;AACAZ,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,SAAA;AACA,QAAA;YACEpC,IAAM,EAAA,kBAAA;YACNuC,WAAa,EAAA,0BAAA;YACbpC,IAAM,EAAA,KAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA;AAAC,gBAAA,CAAA;AAAG,gBAAA,CAAA;AAAG,gBAAA;AAAE,aAAA;YAClBC,OAAS,EAAA;gBACPU,UAAY,EAAA;AACd,aAAA;AACAL,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;gBAC1BA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACkD,gBAAgB,CAAChD,CAAC;gBACtCT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACkD,gBAAgB,CAAC/C,CAAC;gBACtCV,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACkD,gBAAgB,CAAC9C,CAAC;AACxC,aAAA;AACAR,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAACyD,gBAAgB,GAAG,IAAI7C,OAAQZ,CAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,CAAA;AAC9E,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC+B,KAAK;AAC1C;AACF,SAAA;AACGrB,QAAAA,GAAAA,eAAAA,CAA6BZ,OAAS,EAAA,mBAAA,EAAqB,IAAM,EAAA,IAAA,EAAM,CAAG,EAAA,WAAA;YAC3E,OAAO,IAAI,CAACiC,KAAK;AACnB,SAAA,CAAA;AACA,QAAA;YACEnE,IAAM,EAAA,sBAAA;YACNuC,WAAa,EAAA,8BAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAuBC,KAAK,EAAA;AAC1BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACmD,oBAAoB;AAC1C,aAAA;AACAvD,YAAAA,GAAAA,CAAAA,CAAuBH,KAAK,EAAA;AAC1B,gBAAA,IAAI,CAAC0D,oBAAoB,GAAG1D,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC1C,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC+B,KAAK;AAC1C;AACF,SAAA;AACGrB,QAAAA,GAAAA,eAAAA,CAA6BZ,OAAS,EAAA,uBAAA,EAAyB,IAAM,EAAA,KAAA,EAAO,CAAG,EAAA,WAAA;YAChF,OAAO,IAAI,CAACiC,KAAK;AACnB,SAAA,CAAA;WACGG,mBAAoBpC,CAAAA,OAAAA;AACxB,KAAA,CAAA;AACH;AAEA,SAASoC,oBAAoBpC,OAAwB,EAAA;AACnD,IAAA,OAAOhC,WAAY,CAAA;WACdqE,qBAAsBrC,CAAAA,OAAAA,CAAAA;AACzB,QAAA;YACElC,IAAM,EAAA,qBAAA;YACNuC,WAAa,EAAA,6DAAA;YACbpC,IAAM,EAAA,MAAA;YACNC,OAAS,EAAA,IAAA;AACTqC,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B,aAAA;AACA1B,YAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,gBAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAACmB,mBAAmB;AAC1C,aAAA;AACA1D,YAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,gBAAA,IAAI,CAAC6D,mBAAmB,GAAG7D,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AAC1C;AACF,SAAA;AACA,QAAA;YACErD,IAAM,EAAA,aAAA;YACNuC,WAAa,EAAA,sCAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACa,WAAW;AACjC,aAAA;AACAjB,YAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,gBAAA,IAAI,CAACoB,WAAW,GAAGpB,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACjC,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,CAAC,CAAC,IAAI,CAACqC,aAAa;AAClD;AACF,SAAA;AACA,QAAA;YACEzE,IAAM,EAAA,cAAA;YACNuC,WAAa,EAAA,8DAAA;YACbpC,IAAM,EAAA,MAAA;YACNC,OAAS,EAAA,IAAA;AACTM,YAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,gBAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAACqB,YAAY;AACnC,aAAA;AACA5D,YAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,gBAAA,IAAI,CAAC+D,YAAY,GAAG/D,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AACnC,aAAA;AACAT,YAAAA,QAAAA,EAAUlD,oCAAqC,CAAU,CAAA;AACzD+C,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,SAAA;AACA,QAAA;YACEpC,IAAM,EAAA,eAAA;YACNuC,WAAa,EAAA,gEAAA;YACbpC,IAAM,EAAA,MAAA;YACNC,OAAS,EAAA,KAAA;AACTM,YAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,gBAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAACsB,aAAa;AACpC,aAAA;AACA7D,YAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,gBAAA,IAAI,CAACgE,aAAa,GAAGhE,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AACpC,aAAA;AACAT,YAAAA,QAAAA,EAAUlD,oCAAqC,CAAW,CAAA;AAC1D+C,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,CAAC,CAAC,IAAI,CAACsC,YAAY;AACjD;AACF,SAAA;AACG5B,QAAAA,GAAAA,eAAAA,CAA8BZ,OAAS,EAAA,eAAA,EAAiB,IAAM,EAAA,KAAA,EAAO,GAAGa,SAAW,EAAA;AAAC,YAAA;AAAS,SAAA;AACjG,KAAA,CAAA;AACH;AAEA,SAASwB,sBAAsBrC,OAAwB,EAAA;AACrD,IAAA,OAAOhC,WAAY,CAAA;AACjB,QAAA;YACEF,IAAM,EAAA,aAAA;YACNuC,WAAa,EAAA,iEAAA;YACbpC,IAAM,EAAA,MAAA;YACNC,OAAS,EAAA,KAAA;AACTM,YAAAA,GAAAA,CAAAA,CAA0BC,KAAK,EAAA;AAC7BA,gBAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAACuB,WAAW;AAClC,aAAA;AACA9D,YAAAA,GAAAA,CAAAA,CAA0BH,KAAK,EAAA;AAC7B,gBAAA,IAAI,CAACiE,WAAW,GAAGjE,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AAClC,aAAA;AACAT,YAAAA,QAAAA,EAAUlD,oCAAqC,CAAa,CAAA;AAC5D+C,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,SAAA;AACA,QAAA;YACEpC,IAAM,EAAA,aAAA;YACNuC,WAAa,EAAA,iDAAA;YACbpC,IAAM,EAAA,MAAA;YACNE,OAAS,EAAA;gBACPU,UAAY,EAAA;AACd,aAAA;AACAL,YAAAA,GAAAA,CAAAA,CAA0BC,KAAK,EAAA;gBAC7B,MAAMkE,KAAAA,GAAQ,IAAI,CAACC,WAAW;AAC9BnE,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAE,CAAA,GAAG2D,MAAMzD,CAAC;AACtBT,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAE,CAAA,GAAG2D,MAAMxD,CAAC;AACtBV,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAE,CAAA,GAAG2D,MAAMvD,CAAC;AACtBX,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAE,CAAA,GAAG2D,MAAME,CAAC;AACxB,aAAA;AACAjE,YAAAA,GAAAA,CAAAA,CAA0BH,KAAK,EAAA;gBAC7B,IAAI,CAACmE,WAAW,GAAG,IAAIE,QAAQrE,KAAMO,CAAAA,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,EAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAE,CAAA,CAAA;AACvF,aAAA;AACA0B,YAAAA,QAAAA,EAAUlD,oCAAqC,CAAwB,CAAA;AACvEuD,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAAC4B,WAAW,GAAG;AAAC,oBAAA,CAAA;AAAG,oBAAA,CAAA;AAAG,oBAAA,CAAA;AAAG,oBAAA;AAAE,iBAAA;AACxE;AACF,SAAA;AACGhC,QAAAA,GAAAA,eAAAA,CAAgCZ,OAAS,EAAA,eAAA,EAAiB,IAAM,EAAA,IAAA,EAAM,GAAGa,SAAW,EAAA;AACrF,YAAA,WAAA;AACA,YAAA;AACD,SAAA;AACF,KAAA,CAAA;AACH;AAEA,SAASkC,sBAAsB/C,OAAwB,EAAA;AACrD,IAAA,OAAOhC,WAAY,CAAA;AACjB,QAAA;YACEF,IAAM,EAAA,aAAA;YACNuC,WAAa,EAAA,uCAAA;YACbpC,IAAM,EAAA,MAAA;YACNE,OAAS,EAAA;gBACPU,UAAY,EAAA;AACd,aAAA;AACAL,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;gBAC5B,MAAMkE,KAAAA,GAAQ,IAAI,CAACC,WAAW;AAC9BnE,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAE,CAAA,GAAG2D,MAAMzD,CAAC;AACtBT,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAE,CAAA,GAAG2D,MAAMxD,CAAC;AACtBV,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAE,CAAA,GAAG2D,MAAMvD,CAAC;AACtBX,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAE,CAAA,GAAG2D,MAAME,CAAC;AACxB,aAAA;AACAjE,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;gBAC5B,IAAI,CAACmE,WAAW,GAAG,IAAIE,QAAQrE,KAAMO,CAAAA,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,EAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAE,CAAA,CAAA;AACvF,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAAC4B,WAAW,GAAG;AAAC,oBAAA,CAAA;AAAG,oBAAA,CAAA;AAAG,oBAAA,CAAA;AAAG,oBAAA;AAAE,iBAAA;AACxE;AACF,SAAA;WACGhC,eAA+BZ,CAAAA,OAAAA,EAAS,eAAiB,EAAA,IAAA,EAAM,IAAM,EAAA,CAAA,CAAA;AACxE,QAAA;YACElC,IAAM,EAAA,aAAA;YACNuC,WAAa,EAAA,4CAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACa,WAAW;AACjC,aAAA;AACAjB,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACoB,WAAW,GAAGpB,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACjC,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,CAAC,CAAC,IAAI,CAACqC,aAAa;AAClD;AACF,SAAA;WACG3B,eAA+BZ,CAAAA,OAAAA,EAAS,eAAiB,EAAA,IAAA,EAAM,KAAO,EAAA,CAAA,CAAA;AACzE,QAAA;YACElC,IAAM,EAAA,qBAAA;YACNuC,WAAa,EAAA,mEAAA;YACbpC,IAAM,EAAA,MAAA;YACNC,OAAS,EAAA,IAAA;AACTM,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAACmB,mBAAmB;AAC1C,aAAA;AACA1D,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAAC6D,mBAAmB,GAAG7D,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AAC1C;AACF,SAAA;AACA,QAAA;YACErD,IAAM,EAAA,eAAA;YACNuC,WAAa,EAAA,4DAAA;YACbpC,IAAM,EAAA,KAAA;YACNE,OAAS,EAAA;gBACPU,UAAY,EAAA;AACd,aAAA;AACAL,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;gBAC5BA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC8B,aAAa,CAAC5B,CAAC;gBACnCT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC8B,aAAa,CAAC3B,CAAC;gBACnCV,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC8B,aAAa,CAAC1B,CAAC;AACrC,aAAA;AACAR,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACqC,aAAa,GAAG,IAAIzB,OAAQZ,CAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,CAAA;AAC3E,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACF,aAAa,GAAG;AAAC,oBAAA,CAAA;AAAG,oBAAA,CAAA;AAAG,oBAAA;AAAE,iBAAA;AACvE;AACF,SAAA;AACA,QAAA;YACEhD,IAAM,EAAA,kBAAA;YACNuC,WAAa,EAAA,+DAAA;YACbpC,IAAM,EAAA,OAAA;YACNC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA;AACZ,aAAA;AACAN,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACiC,gBAAgB;AACtC,aAAA;AACArC,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACwC,gBAAgB,GAAGxC,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACtC,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACC,gBAAgB,GAAG,CAAA;AACjE;AACF,SAAA;WACGL,eAA+BZ,CAAAA,OAAAA,EAAS,iBAAmB,EAAA,IAAA,EAAM,IAAM,EAAA,CAAA,CAAA;AAC1E,QAAA;YACElC,IAAM,EAAA,kBAAA;YACNuC,WAAa,EAAA,gCAAA;YACbpC,IAAM,EAAA,KAAA;YACNC,OAAS,EAAA;AAAC,gBAAA,CAAA;AAAG,gBAAA,CAAA;AAAG,gBAAA;AAAE,aAAA;YAClBC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;gBAC5BA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACgE,gBAAgB,CAAC9D,CAAC;gBACtCT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACgE,gBAAgB,CAAC7D,CAAC;gBACtCV,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACgE,gBAAgB,CAAC5D,CAAC;AACxC,aAAA;AACAR,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACuE,gBAAgB,GAAG,IAAI3D,OAAQZ,CAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,CAAA;AAC9E,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACgC,gBAAgB,GAAG;AAAC,oBAAA,CAAA;AAAG,oBAAA,CAAA;AAAG,oBAAA;AAAE,iBAAA;AAC1E;AACF,SAAA;WACGpC,eAA+BZ,CAAAA,OAAAA,EAAS,sBAAwB,EAAA,IAAA,EAAM,IAAM,EAAA,CAAA,CAAA;AAC/E,QAAA;YACElC,IAAM,EAAA,oBAAA;YACNuC,WAAa,EAAA,+BAAA;YACbpC,IAAM,EAAA,OAAA;YACNC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;AACZC,gBAAAA,QAAAA,EAAU,EAAC;gBACXC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACiE,kBAAkB;AACxC,aAAA;AACArE,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACwE,kBAAkB,GAAGxE,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACxC,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACiC,kBAAkB,GAAG,CAAA;AACnE;AACF,SAAA;AACA,QAAA;YACEnF,IAAM,EAAA,0BAAA;YACNuC,WAAa,EAAA,kDAAA;YACbpC,IAAM,EAAA,OAAA;YACNuC,KAAO,EAAA,CAAA;YACPtC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA;AACd,aAAA;AACAL,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACkE,wBAAwB;AAC9C,aAAA;AACAtE,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACyE,wBAAwB,GAAGzE,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC9C,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,CAAC,CAAC,IAAI,CAACiD,mBAAmB;AACxD;AACF,SAAA;WACGvC,eAA+BZ,CAAAA,OAAAA,EAAS,qBAAuB,EAAA,IAAA,EAAM,KAAO,EAAA,CAAA,CAAA;AAC/E,QAAA;YACElC,IAAM,EAAA,oBAAA;YACNuC,WAAa,EAAA,oCAAA;YACbpC,IAAM,EAAA,OAAA;YACNC,OAAS,EAAA,GAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACoE,kBAAkB;AACxC,aAAA;AACAxE,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAAC2E,kBAAkB,GAAG3E,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACxC,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACoC,kBAAkB,GAAG,GAAA;AACnE;AACF,SAAA;AACA,QAAA;YACEtF,IAAM,EAAA,sBAAA;YACNuC,WAAa,EAAA,6CAAA;YACbpC,IAAM,EAAA,OAAA;YACNC,OAAS,EAAA,GAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACqE,oBAAoB;AAC1C,aAAA;AACAzE,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAAC4E,oBAAoB,GAAG5E,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC1C,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACqC,oBAAoB,GAAG,GAAA;AACrE;AACF,SAAA;AACA,QAAA;YACEvF,IAAM,EAAA,cAAA;YACNuC,WAAa,EAAA,2BAAA;YACbpC,IAAM,EAAA,KAAA;YACNC,OAAS,EAAA;AAAC,gBAAA,CAAA;AAAG,gBAAA,CAAA;AAAG,gBAAA;AAAE,aAAA;YAClBC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;gBAC5BA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACsE,YAAY,CAACpE,CAAC;gBAClCT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACsE,YAAY,CAACnE,CAAC;gBAClCV,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACsE,YAAY,CAAClE,CAAC;AACpC,aAAA;AACAR,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAAC6E,YAAY,GAAG,IAAIjE,OAAQZ,CAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,CAAA;AAC1E,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACsC,YAAY,GAAG;AAAC,oBAAA,CAAA;AAAG,oBAAA,CAAA;AAAG,oBAAA;AAAE,iBAAA;AACtE;AACF,SAAA;WACG1C,eAA+BZ,CAAAA,OAAAA,EAAS,eAAiB,EAAA,IAAA,EAAM,IAAM,EAAA,CAAA,CAAA;AACxE,QAAA;YACElC,IAAM,EAAA,0BAAA;YACNuC,WAAa,EAAA,mCAAA;YACbpC,IAAM,EAAA,KAAA;YACNC,OAAS,EAAA;AAAC,gBAAA,CAAA;AAAG,gBAAA,CAAA;AAAG,gBAAA;AAAE,aAAA;YAClBC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;gBAC5BA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACuE,wBAAwB,CAACrE,CAAC;gBAC9CT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACuE,wBAAwB,CAACpE,CAAC;gBAC9CV,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACuE,wBAAwB,CAACnE,CAAC;AAChD,aAAA;AACAR,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAAC8E,wBAAwB,GAAG,IAAIlE,OAAQZ,CAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,CAAA;AACtF,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACuC,wBAAwB,GAAG;AAAC,oBAAA,CAAA;AAAG,oBAAA,CAAA;AAAG,oBAAA;AAAE,iBAAA;AAClF;AACF,SAAA;AACA,QAAA;YACEzF,IAAM,EAAA,iCAAA;YACNuC,WAAa,EAAA,2CAAA;YACbpC,IAAM,EAAA,OAAA;YACNC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA;AACZ,aAAA;AACAN,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACwE,+BAA+B;AACrD,aAAA;AACA5E,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAAC+E,+BAA+B,GAAG/E,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACrD,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACwC,+BAA+B,GAAG,CAAA;AAChF;AACF,SAAA;AACA,QAAA;YACE1F,IAAM,EAAA,yBAAA;YACNuC,WAAa,EAAA,kCAAA;YACbpC,IAAM,EAAA,OAAA;YACNC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACyE,uBAAuB;AAC7C,aAAA;AACA7E,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACgF,uBAAuB,GAAGhF,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC7C,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACyC,uBAAuB,GAAG,CAAA;AACxE;AACF,SAAA;AACA,QAAA;YACE3F,IAAM,EAAA,sBAAA;YACNuC,WAAa,EAAA,+BAAA;YACbpC,IAAM,EAAA,OAAA;YACNC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC0E,oBAAoB;AAC1C,aAAA;AACA9E,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACiF,oBAAoB,GAAGjF,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC1C,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAAC0C,oBAAoB,GAAG,CAAA;AACrE;AACF,SAAA;WACG9C,eAA+BZ,CAAAA,OAAAA,EAAS,oBAAsB,EAAA,IAAA,EAAM,IAAM,EAAA,CAAA,CAAA;AAC7E,QAAA;YACElC,IAAM,EAAA,kBAAA;YACNuC,WAAa,EAAA,0BAAA;YACbpC,IAAM,EAAA,QAAA;YACNC,OAAS,EAAA,MAAA;YACTC,OAAS,EAAA;gBACPE,IAAM,EAAA;oBACJC,MAAQ,EAAA;AAAC,wBAAA,MAAA;AAAQ,wBAAA,mBAAA;AAAqB,wBAAA;AAAqB,qBAAA;oBAC3DC,MAAQ,EAAA;AAAC,wBAAA,MAAA;AAAQ,wBAAA,kBAAA;AAAoB,wBAAA;AAAoB;AAC3D;AACF,aAAA;AACAC,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMC,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACiF,gBAAgB;AACtC,aAAA;AACA/E,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACkF,gBAAgB,GAAGlF,KAAMC,CAAAA,GAAG,CAAC,CAAE,CAAA;AACtC,aAAA;AACA6B,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,SAAA;AACA,QAAA;YACEpC,IAAM,EAAA,oBAAA;YACNuC,WAAa,EAAA,4BAAA;YACbpC,IAAM,EAAA,OAAA;YACNC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA;AACZ,aAAA;AACAN,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC4E,kBAAkB;AACxC,aAAA;AACAhF,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACmF,kBAAkB,GAAGnF,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACxC,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,IAAI,CAACyD,gBAAgB,KAAK,MAAA;AACxD;AACF,SAAA;AACG/C,QAAAA,GAAAA,eAAAA,CAA+BZ,OAAS,EAAA,6BAAA,EAA+B,IAAM,EAAA,KAAA,EAAO,CAAG,EAAA,WAAA;YACxF,OAAO,IAAI,CAAC2D,gBAAgB,KAAK,MAAA;AACnC,SAAA,CAAA;AACA,QAAA;YACE7F,IAAM,EAAA,oBAAA;YACNuC,WAAa,EAAA,4BAAA;YACbpC,IAAM,EAAA,KAAA;YACNC,OAAS,EAAA;AAAC,gBAAA,CAAA;AAAG,gBAAA,CAAA;AAAG,gBAAA;AAAE,aAAA;YAClBC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;gBAC5BA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC6E,kBAAkB,CAAC3E,CAAC;gBACxCT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC6E,kBAAkB,CAAC1E,CAAC;gBACxCV,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC6E,kBAAkB,CAACzE,CAAC;AAC1C,aAAA;AACAR,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACoF,kBAAkB,GAAG,IAAIxE,OAAQZ,CAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,CAAA;AAChF,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,IAAI,CAACyD,gBAAgB,KAAK,MAAA;AACxD;AACF,SAAA;AACA,QAAA;YACE7F,IAAM,EAAA,0BAAA;YACNuC,WAAa,EAAA,mCAAA;YACbpC,IAAM,EAAA,OAAA;YACNC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA,IAAA;gBACZC,QAAU,EAAA,CAAA;gBACVC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC8E,wBAAwB;AAC9C,aAAA;AACAlF,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACqF,wBAAwB,GAAGrF,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC9C,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,IAAI,CAACyD,gBAAgB,KAAK,MAAA;AACxD;AACF,SAAA;AACA,QAAA;YACE7F,IAAM,EAAA,2BAAA;YACNuC,WAAa,EAAA,6EAAA;YACbpC,IAAM,EAAA,SAAA;YACNC,OAAS,EAAA,KAAA;AACTM,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC4C,yBAAyB;AAChD,aAAA;AACAnF,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACsF,yBAAyB,GAAGtF,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AAChD,aAAA;AACAZ,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,IAAI,CAACyD,gBAAgB,KAAK,MAAA;AACxD;AACF,SAAA;WACG/C,eAA+BZ,CAAAA,OAAAA,EAAS,wBAA0B,EAAA,IAAA,EAAM,KAAO,EAAA,CAAA,CAAA;AAClF,QAAA;YACElC,IAAM,EAAA,+BAAA;YACNuC,WAAa,EAAA,+CAAA;YACbpC,IAAM,EAAA,OAAA;YACNC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA;AACd,aAAA;AACAL,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACgF,6BAA6B;AACnD,aAAA;AACApF,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACuF,6BAA6B,GAAGvF,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACnD,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACgD,6BAA6B,GAAG,CAAA;AAC9E;AACF,SAAA;AACA,QAAA;YACElG,IAAM,EAAA,+BAAA;YACNuC,WAAa,EAAA,+CAAA;YACbpC,IAAM,EAAA,OAAA;YACNC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA;AACd,aAAA;AACAL,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACiF,6BAA6B;AACnD,aAAA;AACArF,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACwF,6BAA6B,GAAGxF,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACnD,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACiD,6BAA6B,GAAG,CAAA;AAC9E;AACF,SAAA;AACA,QAAA;YACEnG,IAAM,EAAA,gCAAA;YACNuC,WAAa,EAAA,mCAAA;YACbpC,IAAM,EAAA,OAAA;YACNC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;gBACPU,UAAY,EAAA;AACd,aAAA;AACAL,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACkF,8BAA8B;AACpD,aAAA;AACAtF,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAACyF,8BAA8B,GAAGzF,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACpD,aAAA;AACA+B,YAAAA,eAAAA,CAAAA,GAAAA;gBACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACkD,8BAA8B,GAAG,CAAA;AAC/E;AACF,SAAA;AACA,QAAA;YACEpG,IAAM,EAAA,uBAAA;YACNuC,WAAa,EAAA,oDAAA;YACbpC,IAAM,EAAA,MAAA;YACNC,OAAS,EAAA,KAAA;AACTM,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAACgD,qBAAqB;AAC5C,aAAA;AACAvF,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAAC0F,qBAAqB,GAAG1F,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AAC5C,aAAA;AACAZ,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,SAAA;AACA,QAAA;YACEpC,IAAM,EAAA,yBAAA;YACNuC,WAAa,EAAA,kCAAA;YACbpC,IAAM,EAAA,KAAA;YACNC,OAAS,EAAA,CAAA;YACTC,OAAS,EAAA;AACPW,gBAAAA,QAAAA,EAAU,EAAC;gBACXC,QAAU,EAAA;AACZ,aAAA;AACAP,YAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,gBAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACoF,uBAAuB;AAC7C,aAAA;AACAxF,YAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,gBAAA,IAAI,CAAC2F,uBAAuB,GAAG3F,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC7C,aAAA;AACAuB,YAAAA,OAAAA,CAAAA,GAAAA;gBACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF;AACD,KAAA,CAAA;AACH;AAEA,iBACO,SAASmE,oBAAAA,GAAAA;IACd,OAAO;AACL,QAAA;YACEzG,IAAM0G,EAAAA,YAAAA;YACNxG,IAAM,EAAA,cAAA;AACNC,YAAAA,QAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAOC,WAAY,CAAA;AACjB,oBAAA;wBACEF,IAAM,EAAA,aAAA;wBACNuC,WACE,EAAA,wFAAA;wBACFpC,IAAM,EAAA,OAAA;wBACNC,OAAS,EAAA,CAAA;wBACTC,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACuF,WAAW;AACjC,yBAAA;AACA3F,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAAC8F,WAAW,GAAG9F,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACjC,yBAAA;AACAuB,wBAAAA,OAAAA,CAAAA,GAAAA;4BACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,qBAAA;AACA,oBAAA;wBACEpC,IAAM,EAAA,iBAAA;wBACNuC,WAAa,EAAA,4CAAA;wBACbpC,IAAM,EAAA,MAAA;wBACNC,OAAS,EAAA,KAAA;AACTM,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAACqD,eAAe;AACtC,yBAAA;AACA5F,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAAC+F,eAAe,GAAG/F,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AACtC,yBAAA;AACAZ,wBAAAA,OAAAA,CAAAA,GAAAA;4BACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,qBAAA;AACA,oBAAA;wBACEpC,IAAM,EAAA,aAAA;wBACNuC,WAAa,EAAA,0CAAA;wBACbpC,IAAM,EAAA,MAAA;wBACNC,OAAS,EAAA,KAAA;AACTM,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAACsD,WAAW;AAClC,yBAAA;AACA7F,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAACgG,WAAW,GAAGhG,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AAClC,yBAAA;AACAZ,wBAAAA,OAAAA,CAAAA,GAAAA;4BACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,IAAI,CAACqE,WAAW,GAAG,CAAA;AACjD;AACF,qBAAA;AACA,oBAAA;wBACEzG,IAAM,EAAA,WAAA;wBACNuC,WAAa,EAAA,iCAAA;wBACbpC,IAAM,EAAA,QAAA;wBACNE,OAAS,EAAA;4BACPE,IAAM,EAAA;gCAAEC,MAAQ,EAAA;AAAC,oCAAA,MAAA;AAAQ,oCAAA,OAAA;AAAS,oCAAA;AAAW,iCAAA;gCAAEC,MAAQ,EAAA;AAAC,oCAAA,MAAA;AAAQ,oCAAA,OAAA;AAAS,oCAAA;AAAW;AAAC;AACvF,yBAAA;wBACAL,OAAS,EAAA,MAAA;AACTM,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAMC,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACgG,SAAS;AAC/B,yBAAA;AACA9F,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAACiG,SAAS,GAAGjG,KAAMC,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC/B,yBAAA;AACA6B,wBAAAA,OAAAA,CAAAA,GAAAA;4BACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,qBAAA;AACA,oBAAA;wBACEpC,IAAM,EAAA,yBAAA;wBACNG,IAAM,EAAA,MAAA;wBACNC,OAAS,EAAA,KAAA;AACTM,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAM0C,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI,CAACwD,uBAAuB;AAC9C,yBAAA;AACA/F,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAACkG,uBAAuB,GAAGlG,KAAM0C,CAAAA,IAAI,CAAC,CAAE,CAAA;AAC9C,yBAAA;AACAZ,wBAAAA,OAAAA,CAAAA,GAAAA;4BACE,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,IAAI,CAACwE,SAAS,KAAK,MAAA;AACjD;AACF,qBAAA;AACA,oBAAA;wBACE5G,IAAM,EAAA,mBAAA;wBACNG,IAAM,EAAA,OAAA;wBACNC,OAAS,EAAA,GAAA;wBACTC,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC4F,iBAAiB;AACvC,yBAAA;AACAhG,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAACmG,iBAAiB,GAAGnG,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACvC,yBAAA;AACAuB,wBAAAA,OAAAA,CAAAA,GAAAA;AACE,4BAAA,OAAO,CAAC,IAAI,CAACL,WAAW,IAAI,IAAI,CAACwE,SAAS,KAAK,MAAA,IAAU,IAAI,CAACC,uBAAuB;AACvF;AACF,qBAAA;AACA,oBAAA;wBACE7G,IAAM,EAAA,UAAA;wBACNuC,WAAa,EAAA,6BAAA;wBACbpC,IAAM,EAAA,QAAA;wBACNE,OAAS,EAAA;4BACPE,IAAM,EAAA;gCAAEC,MAAQ,EAAA;AAAC,oCAAA,MAAA;AAAQ,oCAAA,OAAA;AAAS,oCAAA;AAAO,iCAAA;gCAAEC,MAAQ,EAAA;AAAC,oCAAA,MAAA;AAAQ,oCAAA,OAAA;AAAS,oCAAA;AAAO;AAAC;AAC/E,yBAAA;wBACAL,OAAS,EAAA,MAAA;AACTM,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAMC,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACmG,QAAQ;AAC9B,yBAAA;AACAjG,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAACoG,QAAQ,GAAGpG,KAAMC,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC9B,yBAAA;AACA6B,wBAAAA,OAAAA,CAAAA,GAAAA;4BACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,qBAAA;AACA,oBAAA;wBACEpC,IAAM,EAAA,SAAA;wBACNuC,WAAa,EAAA,sEAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNE,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;wBACAb,OAAS,EAAA,CAAA;AACTM,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC8F,OAAO;AAC7B,yBAAA;AACAlG,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAACqG,OAAO,GAAGrG,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC7B,yBAAA;AACA0B,wBAAAA,QAAAA,EAAUlD,oCAAqC,CAAW,CAAA;AAC1DuD,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAAC8D,OAAO,GAAG,CAAA;AACxD;AACF,qBAAA;AACA,oBAAA;wBACEhH,IAAM,EAAA,aAAA;wBACNuC,WAAa,EAAA,gCAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNE,OAAS,EAAA;4BACPW,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAb,wBAAAA,OAAAA,EAAS,EAAK,GAAA,EAAA;AACdM,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC+F,WAAW;AACjC,yBAAA;AACAnG,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAACsG,WAAW,GAAGtG,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACjC,yBAAA;AACAuB,wBAAAA,OAAAA,CAAAA,GAAAA;4BACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF;AACD,iBAAA,CAAA;AACH;AACF,SAAA;QACA8E,oCAAqCV,CAAAA,YAAAA;AACtC,KAAA;AACH;AAEA,iBACO,SAASW,sBAAAA,CAAuBC,QAAyB,EAAA;IAC9D,OAAO;AACL,QAAA;YACEtH,IAAMuH,EAAAA,cAAAA;YACNrH,IAAM,EAAA,gBAAA;YACNsH,MAAQd,EAAAA,YAAAA;AACRvG,YAAAA,QAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAO,EAAE;AACX;AACF,SAAA;QACAiH,oCAAqCG,CAAAA,cAAAA;AACtC,KAAA;AACH;AAEA,iBACO,SAASE,8BAAAA,CAA+BrF,OAAwB,EAAA;IACrE,OAAO;AACL,QAAA;YACEpC,IAAM0H,EAAAA,sBAAAA;YACNxH,IAAM,EAAA,wBAAA;YACNsH,MAAQD,EAAAA,cAAAA;AACRpH,YAAAA,QAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAOC,WAAY,CAAA;AACjB,oBAAA;wBACEF,IAAM,EAAA,eAAA;wBACNuC,WAAa,EAAA,kCAAA;wBACbpC,IAAM,EAAA,QAAA;wBACNC,OAAS,EAAA,EAAA;wBACTC,OAAS,EAAA;4BACPoH,SAAW,EAAA;AACT,gCAAA,YAAA;AACA,gCAAA,WAAA;AACA,gCAAA,WAAA;AACA,gCAAA,oBAAA;AACA,gCAAA,aAAA;AACA,gCAAA;AACD;AACH,yBAAA;AACAC,wBAAAA,UAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAA;AACT,yBAAA;AACAhH,wBAAAA,GAAAA,CAAAA,CAAIC,KAAK,EAAA;4BACPA,KAAMC,CAAAA,GAAG,CAAC,CAAA,CAAE,GAAGsB,OAAAA,CAAQyF,UAAU,CAAC,IAAI,CAACC,aAAa,CAAK,IAAA,EAAA;AAC3D,yBAAA;AACA,wBAAA,MAAM9G,KAAkCH,KAAK,EAAA;AAC3C,4BAAA,IAAI,CAACA,KAAS,IAAA,CAACA,MAAMC,GAAG,CAAC,EAAE,EAAE;gCAC3B,IAAI,CAACgH,aAAa,GAAG,IAAA;6BAChB,MAAA;AACL,gCAAA,MAAMC,OAAUlH,GAAAA,KAAAA,CAAMC,GAAG,CAAC,CAAE,CAAA;gCAC5B,IAAIkH,GAAAA;gCACJ,IAAI;AACFA,oCAAAA,GAAAA,GAAM,MAAM5F,OAAAA,CAAQ6F,YAAY,CAAYF,OAAS,EAAA;wCACnDG,gBAAkB,EAAA;AACpB,qCAAA,CAAA;AACF,iCAAA,CAAE,OAAOC,GAAK,EAAA;AACZC,oCAAAA,OAAAA,CAAQC,KAAK,CAAC,CAAC,mBAAmB,EAAExH,KAAAA,CAAMC,GAAG,CAAC,CAAE,CAAA,CAAC,EAAE,EAAEqH,GAAK,CAAA,CAAA,CAAA;oCAC1DH,GAAM,GAAA,IAAA;AACR;AACA,gCAAA,IAAIA,KAAKM,WAAe,EAAA,EAAA;oCACtB,IAAI,CAACR,aAAa,GAAGE,GAAAA;iCAChB,MAAA;AACLI,oCAAAA,OAAAA,CAAQC,KAAK,CAAC,sBAAA,CAAA;AAChB;AACF;AACF,yBAAA;AACA1F,wBAAAA,OAAAA,CAAAA,GAAAA;4BACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF;AACD,iBAAA,CAAA;AACH;AACF,SAAA;QACA8E,oCAAqCM,CAAAA,sBAAAA;AACtC,KAAA;AACH;AAEA,iBACO,SAASa,wBAAAA,CAAyBnG,OAAwB,EAAA;IAC/D,OAAO;AACL,QAAA;YACEpC,IAAMwI,EAAAA,gBAAAA;YACNtI,IAAM,EAAA,kBAAA;YACNsH,MAAQd,EAAAA,YAAAA;AACRvG,YAAAA,QAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAOC,WAAY,CAAA;AACjB,oBAAA;wBACEF,IAAM,EAAA,UAAA;wBACNuC,WAAa,EAAA,yBAAA;wBACbpC,IAAM,EAAA,QAAA;wBACNC,OAAS,EAAA,EAAA;wBACTC,OAAS,EAAA;4BACPoH,SAAW,EAAA;AACT,gCAAA,YAAA;AACA,gCAAA,WAAA;AACA,gCAAA,WAAA;AACA,gCAAA,oBAAA;AACA,gCAAA,aAAA;AACA,gCAAA;AACD;AACH,yBAAA;AACAC,wBAAAA,UAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAA;AACT,yBAAA;AACAhH,wBAAAA,GAAAA,CAAAA,CAA4BC,KAAK,EAAA;4BAC/BA,KAAMC,CAAAA,GAAG,CAAC,CAAA,CAAE,GAAGsB,OAAAA,CAAQyF,UAAU,CAAC,IAAI,CAACY,QAAQ,CAAK,IAAA,EAAA;AACtD,yBAAA;AACA,wBAAA,MAAMzH,KAA4BH,KAAK,EAAA;AACrC,4BAAA,IAAI,CAACA,KAAS,IAAA,CAACA,MAAMC,GAAG,CAAC,EAAE,EAAE;gCAC3B,IAAI,CAAC2H,QAAQ,GAAG,IAAA;6BACX,MAAA;AACL,gCAAA,MAAMV,OAAUlH,GAAAA,KAAAA,CAAMC,GAAG,CAAC,CAAE,CAAA;AAC5B,gCAAA,IAAIkH,GAA2B,GAAA,IAAA;gCAC/B,IAAI;AACFA,oCAAAA,GAAAA,GAAM,MAAM5F,OAAAA,CAAQ6F,YAAY,CAAYF,OAAS,EAAA;wCAAEG,gBAAkB,EAAA;AAAK,qCAAA,CAAA;AAChF,iCAAA,CAAE,OAAOC,GAAK,EAAA;AACZC,oCAAAA,OAAAA,CAAQC,KAAK,CAAC,CAAC,mBAAmB,EAAExH,KAAAA,CAAMC,GAAG,CAAC,CAAE,CAAA,CAAC,EAAE,EAAEqH,GAAK,CAAA,CAAA,CAAA;AAC5D;AACA,gCAAA,IAAIH,KAAKM,WAAe,EAAA,EAAA;oCACtB,IAAI,CAACG,QAAQ,GAAGT,GAAAA;iCACX,MAAA;AACLI,oCAAAA,OAAAA,CAAQC,KAAK,CAAC,wBAAA,CAAA;AAChB;AACF;AACF;AACF,qBAAA;AACA,oBAAA;wBACEnI,IAAM,EAAA,SAAA;wBACNuC,WAAa,EAAA,wBAAA;wBACbpC,IAAM,EAAA,QAAA;wBACNC,OAAS,EAAA,EAAA;wBACTC,OAAS,EAAA;4BACPoH,SAAW,EAAA;AACT,gCAAA,YAAA;AACA,gCAAA,WAAA;AACA,gCAAA,WAAA;AACA,gCAAA,oBAAA;AACA,gCAAA,aAAA;AACA,gCAAA;AACD;AACH,yBAAA;AACAC,wBAAAA,UAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAA;AACT,yBAAA;AACAhH,wBAAAA,GAAAA,CAAAA,CAA4BC,KAAK,EAAA;4BAC/BA,KAAMC,CAAAA,GAAG,CAAC,CAAA,CAAE,GAAGsB,OAAAA,CAAQyF,UAAU,CAAC,IAAI,CAACa,OAAO,CAAK,IAAA,EAAA;AACrD,yBAAA;AACA,wBAAA,MAAM1H,KAA4BH,KAAK,EAAA;AACrC,4BAAA,IAAI,CAACA,KAAS,IAAA,CAACA,MAAMC,GAAG,CAAC,EAAE,EAAE;gCAC3B,IAAI,CAAC4H,OAAO,GAAG,IAAA;6BACV,MAAA;AACL,gCAAA,MAAMX,OAAUlH,GAAAA,KAAAA,CAAMC,GAAG,CAAC,CAAE,CAAA;AAC5B,gCAAA,IAAIkH,GAA2B,GAAA,IAAA;gCAC/B,IAAI;oCACFA,GAAM,GAAA,MAAM5F,OAAQ6F,CAAAA,YAAY,CAAYF,OAAAA,CAAAA;AAC9C,iCAAA,CAAE,OAAOI,GAAK,EAAA;AACZC,oCAAAA,OAAAA,CAAQC,KAAK,CAAC,CAAC,mBAAmB,EAAExH,KAAAA,CAAMC,GAAG,CAAC,CAAE,CAAA,CAAC,EAAE,EAAEqH,GAAK,CAAA,CAAA,CAAA;AAC5D;AACA,gCAAA,IAAIH,KAAKM,WAAe,EAAA,EAAA;oCACtB,IAAI,CAACI,OAAO,GAAGV,GAAAA;iCACV,MAAA;AACLI,oCAAAA,OAAAA,CAAQC,KAAK,CAAC,wBAAA,CAAA;AAChB;AACF;AACF;AACF;AACD,iBAAA,CAAA;AACH;AACF,SAAA;QACAjB,oCAAqCoB,CAAAA,gBAAAA;AACtC,KAAA;AACH;AAEA,iBACO,SAASG,4BAAAA,GAAAA;IACd,OAAO;AACL,QAAA;YACE3I,IAAMF,EAAAA,oBAAAA;YACN0H,MAAQoB,EAAAA,4BAAAA;YACR1I,IAAM,EAAA,sBAAA;AACNC,YAAAA,QAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAOC,YAAY,EAAE,CAAA;AACvB;AACF,SAAA;QACAgH,oCAAqCtH,CAAAA,oBAAAA;AACtC,KAAA;AACH;AAEA,iBACO,SAAS+I,+BAAAA,GAAAA;IACd,OAAO;AACL,QAAA;YACE7I,IAAM8I,EAAAA,uBAAAA;YACNtB,MAAQd,EAAAA,YAAAA;YACRxG,IAAM,EAAA,yBAAA;AACNC,YAAAA,QAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAO,EAAE;AACX;AACF,SAAA;QACAiH,oCAAqC0B,CAAAA,uBAAAA;AACtC,KAAA;AACH;AAEA,iBACO,SAASC,qBAAAA,CAAsB3G,OAAwB,EAAA;IAC5D,OAAO;AACL,QAAA;YACEpC,IAAMgJ,EAAAA,aAAAA;YACNxB,MAAQd,EAAAA,YAAAA;YACRxG,IAAM,EAAA,eAAA;AACNC,YAAAA,QAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAOsE,qBAAsBrC,CAAAA,OAAAA,CAAAA;AAC/B;AACF,SAAA;QACAgF,oCAAqC4B,CAAAA,aAAAA;AACtC,KAAA;AACH;AAEA,iBACO,SAASC,qBAAAA,CAAsB7G,OAAwB,EAAA;IAC5D,OAAO;AACL,QAAA;YACEpC,IAAMkJ,EAAAA,aAAAA;YACN1B,MAAQd,EAAAA,YAAAA;YACRxG,IAAM,EAAA,eAAA;AACNC,YAAAA,QAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAOgF,qBAAsB/C,CAAAA,OAAAA,CAAAA;AAC/B;AACF,SAAA;QACAgF,oCAAqC8B,CAAAA,aAAAA;AACtC,KAAA;AACH;AAEA,iBACO,SAASC,uBAAAA,CAAwB/G,OAAwB,EAAA;IAC9D,OAAO;AACL,QAAA;YACEpC,IAAMoJ,EAAAA,eAAAA;YACN5B,MAAQd,EAAAA,YAAAA;YACRxG,IAAM,EAAA,iBAAA;AACNC,YAAAA,QAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAOqE,mBAAoBpC,CAAAA,OAAAA,CAAAA;AAC7B;AACF,SAAA;QACAgF,oCAAqCgC,CAAAA,eAAAA;AACtC,KAAA;AACH;AAEA,iBACO,SAASC,qBAAAA,CAAsBjH,OAAwB,EAAA;IAC5D,OAAO;AACL,QAAA;YACEpC,IAAMsJ,EAAAA,aAAAA;YACN9B,MAAQd,EAAAA,YAAAA;YACRxG,IAAM,EAAA,eAAA;AACNC,YAAAA,QAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAOC,WAAY,CAAA;AACjB,oBAAA;wBACEF,IAAM,EAAA,WAAA;wBACNuC,WAAa,EAAA,iBAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNE,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAyBC,KAAK,EAAA;AAC5BA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACmI,SAAS;AAC/B,yBAAA;AACAvI,wBAAAA,GAAAA,CAAAA,CAAyBH,KAAK,EAAA;AAC5B,4BAAA,IAAI,CAAC0I,SAAS,GAAG1I,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC/B,yBAAA;AACA+B,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACmG,SAAS,GAAG,EAAA;AAC1D;AACF,qBAAA;uBACG/E,mBAAoBpC,CAAAA,OAAAA;AACxB,iBAAA,CAAA;AACH;AACF,SAAA;QACAgF,oCAAqCkC,CAAAA,aAAAA;AACtC,KAAA;AACH;AAEA,iBACO,SAASE,oBAAAA,CAAqBpH,OAAwB,EAAA;IAC3D,OAAO;AACL,QAAA;YACEpC,IAAMyJ,EAAAA,YAAAA;YACNjC,MAAQd,EAAAA,YAAAA;YACRxG,IAAM,EAAA,cAAA;AACNC,YAAAA,QAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAOC,WAAY,CAAA;AACjB,oBAAA;wBACEF,IAAM,EAAA,WAAA;wBACNuC,WAAa,EAAA,6CAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNC,OAAS,EAAA,EAAA;wBACTC,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACmI,SAAS;AAC/B,yBAAA;AACAvI,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAAC0I,SAAS,GAAG1I,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC/B,yBAAA;AACA+B,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACmG,SAAS,GAAG,EAAA;AAC1D;AACF,qBAAA;AACA,oBAAA;wBACErJ,IAAM,EAAA,kBAAA;wBACNuC,WAAa,EAAA,yDAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNC,OAAS,EAAA,IAAA;wBACTC,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACsI,gBAAgB;AACtC,yBAAA;AACA1I,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAAC6I,gBAAgB,GAAG7I,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACtC,yBAAA;AACA+B,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACsG,gBAAgB,GAAG,IAAA;AACjE;AACF,qBAAA;AACA,oBAAA;wBACExJ,IAAM,EAAA,aAAA;wBACNuC,WAAa,EAAA,0CAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNC,OAAS,EAAA,IAAA;wBACTC,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACuI,WAAW;AACjC,yBAAA;AACA3I,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAAC8I,WAAW,GAAG9I,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACjC,yBAAA;AACA+B,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACuG,WAAW,GAAG,IAAA;AAC5D;AACF,qBAAA;AACA,oBAAA;wBACEzJ,IAAM,EAAA,iBAAA;wBACNuC,WAAa,EAAA,8DAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNC,OAAS,EAAA,IAAA;wBACTC,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACwI,eAAe;AACrC,yBAAA;AACA5I,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAAC+I,eAAe,GAAG/I,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACrC,yBAAA;AACA+B,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACwG,eAAe,GAAG,IAAA;AAChE;AACF,qBAAA;AACA,oBAAA;wBACE1J,IAAM,EAAA,aAAA;wBACNuC,WAAa,EAAA,4DAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNC,OAAS,EAAA,IAAA;wBACTC,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACyI,WAAW;AACjC,yBAAA;AACA7I,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAACgJ,WAAW,GAAGhJ,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACjC,yBAAA;AACA+B,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACyG,WAAW,GAAG,IAAA;AAC5D;AACF,qBAAA;AACA,oBAAA;wBACE3J,IAAM,EAAA,iBAAA;wBACNuC,WAAa,EAAA,yEAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNC,OAAS,EAAA,GAAA;wBACTC,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;AAC3BA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC0I,eAAe;AACrC,yBAAA;AACA9I,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;AAC3B,4BAAA,IAAI,CAACiJ,eAAe,GAAGjJ,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACrC,yBAAA;AACA+B,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAAC0G,eAAe,GAAG,GAAA;AAChE;AACF,qBAAA;AACA,oBAAA;wBACE5J,IAAM,EAAA,cAAA;wBACNuC,WAAa,EAAA,wDAAA;wBACbpC,IAAM,EAAA,MAAA;wBACNC,OAAS,EAAA;AAAC,4BAAA,CAAA;AAAG,4BAAA,IAAA;AAAM,4BAAA,IAAA;AAAM,4BAAA;AAAE,yBAAA;wBAC3BC,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwBC,KAAK,EAAA;4BAC3BA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC2I,YAAY,CAACzI,CAAC;4BAClCT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC2I,YAAY,CAACxI,CAAC;4BAClCV,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC2I,YAAY,CAACvI,CAAC;4BAClCX,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC2I,YAAY,CAAC9E,CAAC;AACpC,yBAAA;AACAjE,wBAAAA,GAAAA,CAAAA,CAAwBH,KAAK,EAAA;4BAC3B,IAAI,CAACkJ,YAAY,GAAG,IAAI7E,QAAQrE,KAAMO,CAAAA,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,EAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAE,CAAA,CAAA;AACxF,yBAAA;AACA+B,wBAAAA,eAAAA,CAAAA,GAAAA;AACE,4BAAA,MAAM4B,KAAQ,GAAA,IAAI,CAACzC,WAAW,GAAG,IAAI,CAACc,YAAY,CAAC2G,YAAY,GAAG,IAAI7E,OAAQ,CAAA,CAAA,EAAG,MAAM,IAAM,EAAA,CAAA,CAAA;4BAC7F,OAAO;AAACH,gCAAAA,KAAAA,CAAMzD,CAAC;AAAEyD,gCAAAA,KAAAA,CAAMxD,CAAC;AAAEwD,gCAAAA,KAAAA,CAAMvD,CAAC;AAAEuD,gCAAAA,KAAAA,CAAME;AAAE,6BAAA;AAC7C;AACF,qBAAA;uBACGjC,eAA8BZ,CAAAA,OAAAA,EAAS,mBAAqB,EAAA,IAAA,EAAM,KAAO,EAAA,CAAA,CAAA;uBACzEoC,mBAAoBpC,CAAAA,OAAAA;AACxB,iBAAA,CAAA;AACH;AACF,SAAA;QACAgF,oCAAqCqC,CAAAA,YAAAA;AACtC,KAAA;AACH;AAEA,iBACO,SAASO,oCAAAA,CAAqC5H,OAAwB,EAAA;IAC3E,OAAO;AACL,QAAA;YACEpC,IAAM4I,EAAAA,4BAAAA;YACNpB,MAAQd,EAAAA,YAAAA;YACRxG,IAAM,EAAA,8BAAA;AACNC,YAAAA,QAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAOC,WAAY,CAAA;AACjB,oBAAA;wBACEF,IAAM,EAAA,UAAA;wBACNuC,WAAa,EAAA,gBAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNE,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwCC,KAAK,EAAA;AAC3CA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC6I,QAAQ;AAC9B,yBAAA;AACAjJ,wBAAAA,GAAAA,CAAAA,CAAwCH,KAAK,EAAA;AAC3C,4BAAA,IAAI,CAACoJ,QAAQ,GAAGpJ,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC9B,yBAAA;AACA0B,wBAAAA,QAAAA,EAAUlD,oCAAqC,CAAY,CAAA;AAC3DuD,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAAC6G,QAAQ,GAAG,CAAA;AACzD;AACF,qBAAA;AACA,oBAAA;wBACE/J,IAAM,EAAA,WAAA;wBACNuC,WAAa,EAAA,iBAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNE,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwCC,KAAK,EAAA;AAC3CA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC8I,SAAS;AAC/B,yBAAA;AACAlJ,wBAAAA,GAAAA,CAAAA,CAAwCH,KAAK,EAAA;AAC3C,4BAAA,IAAI,CAACqJ,SAAS,GAAGrJ,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAC/B,yBAAA;AACA0B,wBAAAA,QAAAA,EAAUlD,oCAAqC,CAAa,CAAA;AAC5DuD,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAAC8G,SAAS,GAAG,CAAA;AAC1D;AACF,qBAAA;AACA,oBAAA;wBACEhK,IAAM,EAAA,gBAAA;wBACNuC,WAAa,EAAA,kEAAA;wBACbpC,IAAM,EAAA,MAAA;wBACNE,OAAS,EAAA;4BACPU,UAAY,EAAA;AACd,yBAAA;AACAL,wBAAAA,GAAAA,CAAAA,CAAwCC,KAAK,EAAA;4BAC3CA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC+I,cAAc,CAAC7I,CAAC;4BACpCT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC+I,cAAc,CAAC5I,CAAC;4BACpCV,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC+I,cAAc,CAAC3I,CAAC;4BACpCX,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC+I,cAAc,CAAClF,CAAC;AACtC,yBAAA;AACAjE,wBAAAA,GAAAA,CAAAA,CAAwCH,KAAK,EAAA;4BAC3C,IAAI,CAACsJ,cAAc,GAAG,IAAIjF,QAAQrE,KAAMO,CAAAA,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,EAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAE,CAAA,CAAA;AAC1F,yBAAA;AACA0B,wBAAAA,QAAAA,EAAUlD,oCAAqC,CAA8B,CAAA;AAC7EuD,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAAC+G,cAAc,GAAG;AAAC,gCAAA,CAAA;AAAG,gCAAA,CAAA;AAAG,gCAAA,CAAA;AAAG,gCAAA;AAAE,6BAAA;AAC3E;AACF,qBAAA;AACA,oBAAA;wBACEjK,IAAM,EAAA,YAAA;wBACNuC,WAAa,EAAA,iBAAA;wBACbpC,IAAM,EAAA,QAAA;wBACNC,OAAS,EAAA,KAAA;wBACTC,OAAS,EAAA;4BACPE,IAAM,EAAA;gCACJC,MAAQ,EAAA;AAAC,oCAAA,MAAA;AAAQ,oCAAA,KAAA;AAAO,oCAAA,aAAA;AAAe,oCAAA;AAAQ,iCAAA;gCAC/CC,MAAQ,EAAA;AAAC,oCAAA,MAAA;AAAQ,oCAAA,KAAA;AAAO,oCAAA,aAAA;AAAe,oCAAA;AAAQ;AACjD;AACF,yBAAA;AACAC,wBAAAA,GAAAA,CAAAA,CAAwCC,KAAK,EAAA;AAC3CA,4BAAAA,KAAAA,CAAMC,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACsJ,cAAc;AACpC,yBAAA;AACApJ,wBAAAA,GAAAA,CAAAA,CAAwCH,KAAK,EAAA;AAC3C,4BAAA,IAAI,CAACuJ,cAAc,GAAGvJ,KAAMC,CAAAA,GAAG,CAAC,CAAE,CAAA;AACpC,yBAAA;AACAqC,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACgH,cAAc,GAAG,KAAA;AAC/D;AACF,qBAAA;AACA,oBAAA;wBACElK,IAAM,EAAA,YAAA;wBACNuC,WAAa,EAAA,yEAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNC,OAAS,EAAA,IAAA;wBACTC,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;AACZC,4BAAAA,QAAAA,EAAU,KAAC;4BACXC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwCC,KAAK,EAAA;AAC3CA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACiJ,UAAU;AAChC,yBAAA;AACArJ,wBAAAA,GAAAA,CAAAA,CAAwCH,KAAK,EAAA;AAC3C,4BAAA,IAAI,CAACwJ,UAAU,GAAGxJ,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AAChC,yBAAA;AACA+B,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACiH,UAAU,GAAG,IAAA;AAC3D,yBAAA;AACA1H,wBAAAA,OAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACyH,cAAc,KAAK,aAAA;AACjC;AACF,qBAAA;AACA,oBAAA;wBACElK,IAAM,EAAA,qBAAA;wBACNuC,WAAa,EAAA,mEAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNC,OAAS,EAAA,CAAA;wBACTC,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwCC,KAAK,EAAA;AAC3CA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAACkJ,mBAAmB;AACzC,yBAAA;AACAtJ,wBAAAA,GAAAA,CAAAA,CAAwCH,KAAK,EAAA;AAC3C,4BAAA,IAAI,CAACyJ,mBAAmB,GAAGzJ,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACzC,yBAAA;AACA+B,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACkH,mBAAmB,GAAG,CAAA;AACpE,yBAAA;AACA3H,wBAAAA,OAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACyH,cAAc,KAAK,aAAA;AACjC;AACF,qBAAA;AACGpH,oBAAAA,GAAAA,eAAAA,CACDZ,OACA,EAAA,4BAAA,EACA,IACA,EAAA,KAAA,EACA,CACA,EAAA,WAAA;wBACE,OAAO,IAAI,CAACgI,cAAc,KAAK,aAAA;AACjC,qBAAA,CAAA;AAEF,oBAAA;wBACElK,IAAM,EAAA,8BAAA;wBACNuC,WAAa,EAAA,4EAAA;wBACbpC,IAAM,EAAA,MAAA;wBACNC,OAAS,EAAA;AAAC,4BAAA,CAAA;AAAG,4BAAA;AAAE,yBAAA;wBACfC,OAAS,EAAA;4BACPU,UAAY,EAAA;AACd,yBAAA;AACAL,wBAAAA,GAAAA,CAAAA,CAAwCC,KAAK,EAAA;4BAC3CA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACmJ,4BAA4B,CAACjJ,CAAC;4BAClDT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAACmJ,4BAA4B,CAAChJ,CAAC;AACpD,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAwCH,KAAK,EAAA;AAC3C,4BAAA,IAAI,CAAC0J,4BAA4B,GAAG,IAAIC,OAAQ3J,CAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAE,CAAA,EAAEP,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,CAAA;AAC5E,yBAAA;AACA+B,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAACmH,4BAA4B,GAAG;AAAC,gCAAA,CAAA;AAAG,gCAAA;AAAE,6BAAA;AACnF,yBAAA;AACA5H,wBAAAA,OAAAA,CAAAA,GAAAA;AACE,4BAAA,OACE,CAAC,IAAI,CAACL,WAAW,IACjB,IAAI,CAAC8H,cAAc,KAAK,aACxB,IAAA,CAAC,CAAC,IAAI,CAACK,0BAA0B;AAErC;AACF,qBAAA;AACA,oBAAA;wBACEvK,IAAM,EAAA,mBAAA;wBACNuC,WAAa,EAAA,kEAAA;wBACbpC,IAAM,EAAA,QAAA;wBACNuC,KAAO,EAAA,CAAA;wBACPtC,OAAS,EAAA,IAAA;wBACTC,OAAS,EAAA;4BACPmK,WAAa,EAAA;AAACzK,gCAAAA;AAAkB;AAClC,yBAAA;AACA2H,wBAAAA,UAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAA;AACT,yBAAA;AACAhH,wBAAAA,GAAAA,CAAAA,CAAwCC,KAAK,EAAA;AAC3CA,4BAAAA,KAAAA,CAAM8J,MAAM,CAAC,CAAA,CAAE,GAAG,IAAI,CAACnI,iBAAiB;AAC1C,yBAAA;AACAxB,wBAAAA,GAAAA,CAAAA,CAAwCH,KAAK,EAAA;4BAC3C,IAAI,CAAC2B,iBAAiB,GAAI3B,MAAM8J,MAAM,CAAC,EAAE,IAA0B,IAAA;AACrE,yBAAA;AACAhI,wBAAAA,OAAAA,CAAAA,GAAAA;4BACE,OAAO,CAAC,IAAI,CAACL,WAAW;AAC1B;AACF,qBAAA;AACGU,oBAAAA,GAAAA,eAAAA,CACDZ,OACA,EAAA,mBAAA,EACA,IACA,EAAA,KAAA,EACA,CACA,EAAA,WAAA;AACE,wBAAA,OAAO,CAAC,CAAC,IAAI,CAACI,iBAAiB;AACjC,qBAAA,CAAA;AAECQ,oBAAAA,GAAAA,eAAAA,CACDZ,OACA,EAAA,0BAAA,EACA,IACA,EAAA,KAAA,EACA,GACAa,SACA,EAAA;AAAC,wBAAA,UAAA;AAAY,wBAAA;AAAY,qBAAA,CAAA;AAExBD,oBAAAA,GAAAA,eAAAA,CACDZ,OACA,EAAA,sBAAA,EACA,IACA,EAAA,IAAA,EACA,GACAa,SACA,EAAA;AAAC,wBAAA;AAAW,qBAAA,CAAA;uBAEXd,iBAAkBC,CAAAA,OAAAA;AACtB,iBAAA,CAAA;AACH;AACF,SAAA;QACAgF,oCAAqCwB,CAAAA,4BAAAA;AACtC,KAAA;AACH;AAEA,iBACO,SAASgC,qCAAAA,CAAsCxI,OAAwB,EAAA;IAC5E,OAAO;AACL,QAAA;YACEpC,IAAM6K,EAAAA,6BAAAA;YACN3K,IAAM,EAAA,+BAAA;YACNsH,MAAQd,EAAAA,YAAAA;AACRvG,YAAAA,QAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAOC,WAAY,CAAA;AACjB,oBAAA;wBACEF,IAAM,EAAA,gBAAA;wBACNuC,WAAa,EAAA,wDAAA;wBACbpC,IAAM,EAAA,KAAA;wBACNE,OAAS,EAAA;4BACPU,UAAY,EAAA;AACd,yBAAA;AACAL,wBAAAA,GAAAA,CAAAA,CAAyCC,KAAK,EAAA;4BAC5CA,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC+I,cAAc,CAAC7I,CAAC;4BACpCT,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC+I,cAAc,CAAC5I,CAAC;4BACpCV,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,GAAG,IAAI,CAAC+I,cAAc,CAAC3I,CAAC;AACtC,yBAAA;AACAR,wBAAAA,GAAAA,CAAAA,CAAyCH,KAAK,EAAA;AAC5C,4BAAA,IAAI,CAACsJ,cAAc,GAAG,IAAI1I,OAAQZ,CAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA,CAAA;AAC5E,yBAAA;AACA+B,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAAC+G,cAAc,GAAG;AAAC,gCAAA,CAAA;AAAG,gCAAA,CAAA;AAAG,gCAAA;AAAE,6BAAA;AACxE;AACF,qBAAA;AACA,oBAAA;wBACEjK,IAAM,EAAA,iBAAA;wBACNuC,WAAa,EAAA,sEAAA;wBACbpC,IAAM,EAAA,OAAA;wBACNE,OAAS,EAAA;4BACPU,UAAY,EAAA,IAAA;4BACZC,QAAU,EAAA,CAAA;4BACVC,QAAU,EAAA;AACZ,yBAAA;AACAP,wBAAAA,GAAAA,CAAAA,CAAyCC,KAAK,EAAA;AAC5CA,4BAAAA,KAAAA,CAAMO,GAAG,CAAC,CAAA,CAAE,GAAG,IAAI,CAAC0J,gBAAgB;AACtC,yBAAA;AACA9J,wBAAAA,GAAAA,CAAAA,CAAyCH,KAAK,EAAA;AAC5C,4BAAA,IAAI,CAACiK,gBAAgB,GAAGjK,KAAMO,CAAAA,GAAG,CAAC,CAAE,CAAA;AACtC,yBAAA;AACA+B,wBAAAA,eAAAA,CAAAA,GAAAA;4BACE,OAAO,IAAI,CAACb,WAAW,GAAG,IAAI,CAACc,YAAY,CAAC0H,gBAAgB,GAAG,CAAA;AACjE;AACF,qBAAA;uBACG3I,iBAAkBC,CAAAA,OAAAA;AACtB,iBAAA,CAAA;AACH;AACF,SAAA;QACAgF,oCAAqCyD,CAAAA,6BAAAA;AACtC,KAAA;AACH;;;;"}
1
+ {"version":3,"file":"material.js","sources":["../../../../src/utility/serialization/scene/material.ts"],"sourcesContent":["import type { FaceMode, Texture2D } from '@zephyr3d/device';\r\nimport type { BlendMode } from '../../../material';\r\nimport {\r\n BlinnMaterial,\r\n LambertMaterial,\r\n MeshMaterial,\r\n MToonMaterial,\r\n ParticleMaterial,\r\n PBRBluePrintMaterial,\r\n PBRMetallicRoughnessMaterial,\r\n PBRSpecularGlossinessMaterial,\r\n SkinMaterial,\r\n SubsurfaceProfile,\r\n type MToonOutlineWidthMode,\r\n type SubsurfaceProfilePreset,\r\n SpriteBlueprintMaterial,\r\n UnlitMaterial\r\n} from '../../../material';\r\nimport type { PBRBlueprintOutputName } from '../../../material/pbrblueprint';\r\nimport { defineProps, type PropertyAccessor, type SerializableClass } from '../types';\r\nimport type { Nullable } from '@zephyr3d/base';\r\nimport { Vector2, Vector3, Vector4 } from '@zephyr3d/base';\r\nimport { getTextureProps } from './common';\r\nimport type { ResourceManager } from '../manager';\r\nimport { getMeshMaterialInstanceUniformsClass } from './common';\r\nimport { SpriteMaterial } from '../../../material/sprite';\r\nimport { StandardSpriteMaterial } from '../../../material/sprite_std';\r\nimport type { PBRReflectionMode } from '../../../material/mixins/lightmodel/pbrmetallicroughness';\r\n\r\ntype PBRMaterial = PBRMetallicRoughnessMaterial | PBRSpecularGlossinessMaterial;\r\ntype LitPropTypes = LambertMaterial | BlinnMaterial | SkinMaterial | PBRMaterial;\r\ntype UnlitPropTypes = UnlitMaterial | LitPropTypes;\r\n\r\nfunction createBlueprintOutputHiddenPredicate(_outputs: readonly PBRBlueprintOutputName[]) {\r\n return function (this: any) {\r\n return this instanceof PBRBluePrintMaterial;\r\n };\r\n}\r\n\r\nexport function getSubsurfaceProfileClass(): SerializableClass {\r\n return {\r\n ctor: SubsurfaceProfile,\r\n name: 'SubsurfaceProfile',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Preset',\r\n type: 'string',\r\n default: 'skin_default',\r\n options: {\r\n label: 'LookPreset',\r\n enum: {\r\n labels: [\r\n 'Skin Thin',\r\n 'Skin Default',\r\n 'Skin HeavyMakeup',\r\n 'Wax Backlit',\r\n 'Wax Soft',\r\n 'Jade Backlit',\r\n 'Jade Soft'\r\n ],\r\n values: [\r\n 'skin_thin',\r\n 'skin_default',\r\n 'skin_heavy_makeup',\r\n 'wax_backlit',\r\n 'wax_soft',\r\n 'jade_backlit',\r\n 'jade_soft'\r\n ]\r\n }\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.str[0] = this.preset;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.preset = value.str[0] as SubsurfaceProfilePreset;\r\n }\r\n },\r\n {\r\n name: 'ScatterColor',\r\n type: 'rgb',\r\n default: [1, 0.45, 0.17],\r\n options: {\r\n label: 'MeanFreePathColor',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.meanFreePathColor.x;\r\n value.num[1] = this.meanFreePathColor.y;\r\n value.num[2] = this.meanFreePathColor.z;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.meanFreePathColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'ScatterDistance',\r\n type: 'float',\r\n default: 0.92,\r\n options: {\r\n label: 'MeanFreePathDistance',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 8\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.meanFreePathDistance;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.meanFreePathDistance = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatterWeight',\r\n type: 'float',\r\n default: 0.82,\r\n options: {\r\n label: 'ScatterWeight',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 8\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.strength;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.strength = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatterScale',\r\n type: 'float',\r\n default: 0.96,\r\n options: {\r\n label: 'ScatterScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 8\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.scale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.scale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'WorldUnitScale',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n label: 'WorldUnitScale',\r\n animatable: true,\r\n minValue: 0.05,\r\n maxValue: 4\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.worldUnitScale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.worldUnitScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'BoundaryColorBleed',\r\n type: 'float',\r\n default: 0.22,\r\n options: {\r\n label: 'BoundaryColorBleed',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.boundaryColorBleed;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.boundaryColorBleed = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'TransmissionTintColor',\r\n type: 'rgb',\r\n default: [1, 0.46, 0.34],\r\n options: {\r\n label: 'TransmissionTintColor',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.transmissionTintColor.x;\r\n value.num[1] = this.transmissionTintColor.y;\r\n value.num[2] = this.transmissionTintColor.z;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.transmissionTintColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'ExtinctionScale',\r\n type: 'float',\r\n default: 1.06,\r\n options: {\r\n label: 'ExtinctionScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.extinctionScale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.extinctionScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'NormalScale',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n label: 'NormalScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.normalScale;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.normalScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatteringDistribution',\r\n type: 'float',\r\n default: 0.6,\r\n options: {\r\n label: 'ScatteringDistribution',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SubsurfaceProfile, value) {\r\n value.num[0] = this.scatteringDistribution;\r\n },\r\n set(this: SubsurfaceProfile, value) {\r\n this.scatteringDistribution = value.num[0];\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\nfunction getPBRCommonProps(manager: ResourceManager): PropertyAccessor<PBRMaterial>[] {\r\n const supportsSSSThicknessAuthoring = function (this: PBRMaterial) {\r\n return (\r\n !this.$isInstance &&\r\n !!(this.transmission || (this as PBRMaterial & { subsurfaceProfile?: unknown }).subsurfaceProfile)\r\n );\r\n };\r\n return defineProps([\r\n {\r\n name: 'IOR',\r\n description: 'Index of refraction for the material surface',\r\n type: 'float',\r\n default: 1.5,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.ior;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.ior = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'OcclusionStrength',\r\n description: 'Strength multiplier for the occlusion texture effect',\r\n type: 'float',\r\n phase: 2,\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.occlusionStrength;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.occlusionStrength = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['AO']),\r\n isValid(this: PBRMaterial) {\r\n return !this.$isInstance && !!this.occlusionTexture;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'occlusionTexture', '2D', false, 0, undefined, ['AO']),\r\n {\r\n name: 'EmissiveColor',\r\n description: 'Base self-illumination color emitted by the material',\r\n type: 'rgb',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.emissiveColor.x;\r\n value.num[1] = this.emissiveColor.y;\r\n value.num[2] = this.emissiveColor.z;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.emissiveColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Emissive']),\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveColor : [0, 0, 0];\r\n }\r\n },\r\n {\r\n name: 'EmissiveStrength',\r\n description:\r\n 'Display-referred intensity multiplier for the emissive color and texture, used by legacy ' +\r\n 'lighting. Physical lighting uses EmissiveLuminance instead.',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.emissiveStrength;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.emissiveStrength = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Emissive']),\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveStrength : 1;\r\n }\r\n },\r\n {\r\n name: 'EmissiveLuminance',\r\n description:\r\n 'Emissive multiplier used by physical lighting. With EmissiveExposureWeight at 1 it is a ' +\r\n 'luminance in cd/m²: a display is 200-1000, a neon sign 5,000-20,000, a sunlit white ' +\r\n 'surface ~25,000. With the weight at 0, as on imported glTF/FBX materials, the exposure ' +\r\n 'cancels out and it is a display-referred multiplier where the useful range is about [0, 1].',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.emissiveLuminance;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.emissiveLuminance = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Emissive']),\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveLuminance : 1000;\r\n }\r\n },\r\n {\r\n name: 'EmissiveExposureWeight',\r\n description:\r\n 'How strongly the emissive term follows camera exposure, and therefore what unit ' +\r\n 'EmissiveLuminance carries. 1 reads it as a cd/m² luminance that dims as the camera stops ' +\r\n 'down; 0 cancels the exposure out, making it a display-referred multiplier that ignores ' +\r\n 'aperture, shutter and ISO. Imported glTF/FBX materials are set to 0.',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.emissiveExposureWeight;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.emissiveExposureWeight = value.num[0];\r\n },\r\n // Materials are not scene-bound, so this cannot be gated on lightingMode. It is inert in\r\n // legacy anyway (pre-exposure is 1 there), so it stays visible like the other emissive props.\r\n isHidden: createBlueprintOutputHiddenPredicate(['Emissive']),\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveExposureWeight : 1;\r\n }\r\n },\r\n {\r\n name: 'RectSpecularScale',\r\n type: 'float',\r\n options: {\r\n label: 'RectSpecularScale',\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.rectSpecularScale;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.rectSpecularScale = value.num[0];\r\n },\r\n getDefaultValue(this: PBRMaterial) {\r\n return this.$isInstance ? this.coreMaterial.rectSpecularScale : 1;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'emissiveTexture', '2D', true, 0, undefined, ['Emissive']),\r\n ...getTextureProps<PBRMaterial>(manager, 'specularTexture', '2D', false, 0, undefined, [\r\n 'SpecularWeight'\r\n ]),\r\n {\r\n name: 'Transmission',\r\n description: 'If true, enables light transmission through the material',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.transmission;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.transmission = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'TransmissionFactor',\r\n description: 'Amount of transmitted light, from fully opaque to fully transparent',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.transmissionFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.transmissionFactor = value.num[0];\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'transmissionTexture', '2D', false, 1, function () {\r\n return this.transmission || !!(this as PBRMaterial & { subsurfaceProfile?: unknown }).subsurfaceProfile;\r\n }),\r\n {\r\n name: 'ThicknessFactor',\r\n description: 'Physical thickness used by transmission and volume attenuation',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 99999\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.thicknessFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.thicknessFactor = value.num[0];\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'thicknessTexture', '2D', false, 1, function () {\r\n return this.transmission || !!(this as PBRMaterial & { subsurfaceProfile?: unknown }).subsurfaceProfile;\r\n }),\r\n {\r\n name: 'AttenuationColor',\r\n description: 'Color tint applied to transmitted light as it travels through the material',\r\n type: 'rgb',\r\n phase: 1,\r\n default: [1, 1, 1],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.attenuationColor.x;\r\n value.num[1] = this.attenuationColor.y;\r\n value.num[2] = this.attenuationColor.z;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.attenuationColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n {\r\n name: 'AttenuationDistance',\r\n description: 'Distance over which transmitted light is attenuated inside the material',\r\n type: 'float',\r\n phase: 1,\r\n default: 99999,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 99999\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.attenuationDistance;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.attenuationDistance = value.num[0];\r\n },\r\n isValid() {\r\n return supportsSSSThicknessAuthoring.call(this);\r\n }\r\n },\r\n {\r\n name: 'Iridescence',\r\n description: 'If true, enables thin-film iridescence on the material surface',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.iridescence;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescence = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'IridescenceFactor',\r\n description: 'Strength of the iridescence effect',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceFactor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'iridescenceTexture', '2D', false, 1, function () {\r\n return this.iridescence;\r\n }),\r\n {\r\n name: 'IridescenceIOR',\r\n description: 'Index of refraction used for the iridescence layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 1.3,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceIor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceIor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n {\r\n name: 'IridescenceThicknessMin',\r\n description: 'Minimum thin-film thickness used for iridescence, typically in nanometers',\r\n type: 'float',\r\n phase: 1,\r\n default: 100,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1000\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceThicknessMin;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceThicknessMin = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n {\r\n name: 'IridescenceThicknessMax',\r\n description: 'Maximum thin-film thickness used for iridescence, typically in nanometers',\r\n type: 'float',\r\n phase: 1,\r\n default: 400,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1000\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.iridescenceThicknessMax;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.iridescenceThicknessMax = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.iridescence;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'iridescenceThicknessTexture', '2D', false, 1, function () {\r\n return this.iridescence;\r\n }),\r\n {\r\n name: 'ClearCoat',\r\n description: 'If true, enables a clear coat layer on top of the material',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.clearcoat;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.clearcoat = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'ClearCoatIntensity',\r\n description: 'Strength of the clear coat layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.clearcoatIntensity;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.clearcoatIntensity = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.clearcoat;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'clearcoatIntensityTexture', '2D', false, 1, function () {\r\n return this.clearcoat;\r\n }),\r\n {\r\n name: 'ClearCoatRoughnessFactor',\r\n description: 'Roughness of the clear coat layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.clearcoatRoughnessFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.clearcoatRoughnessFactor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.clearcoat;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'clearcoatRoughnessTexture', '2D', false, 1, function () {\r\n return this.clearcoat;\r\n }),\r\n ...getTextureProps<PBRMaterial>(manager, 'clearcoatNormalTexture', '2D', false, 1, function () {\r\n return this.clearcoat;\r\n }),\r\n {\r\n name: 'Sheen',\r\n description: 'If true, enables a soft fabric-like sheen layer',\r\n type: 'bool',\r\n phase: 0,\r\n default: false,\r\n get(this: PBRMaterial, value) {\r\n value.bool[0] = this.sheen;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.sheen = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'SheenColorFactor',\r\n description: 'Color of the sheen layer',\r\n type: 'rgb',\r\n phase: 1,\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.sheenColorFactor.x;\r\n value.num[1] = this.sheenColorFactor.y;\r\n value.num[2] = this.sheenColorFactor.z;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.sheenColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.sheen;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'sheenColorTexture', '2D', true, 1, function () {\r\n return this.sheen;\r\n }),\r\n {\r\n name: 'SheenRoughnessFactor',\r\n description: 'Roughness of the sheen layer',\r\n type: 'float',\r\n phase: 1,\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMaterial, value) {\r\n value.num[0] = this.sheenRoughnessFactor;\r\n },\r\n set(this: PBRMaterial, value) {\r\n this.sheenRoughnessFactor = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance && !!this.sheen;\r\n }\r\n },\r\n ...getTextureProps<PBRMaterial>(manager, 'sheenRoughnessTexture', '2D', false, 1, function () {\r\n return this.sheen;\r\n }),\r\n ...getLitMaterialProps(manager)\r\n ]);\r\n}\r\n\r\nfunction getLitMaterialProps(manager: ResourceManager): PropertyAccessor<LitPropTypes>[] {\r\n return defineProps([\r\n ...getUnlitMaterialProps(manager),\r\n {\r\n name: 'doubleSidedLighting',\r\n description: 'If true, lighting is evaluated on both sides of the surface',\r\n type: 'bool',\r\n default: true,\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance;\r\n },\r\n get(this: LitPropTypes, value) {\r\n value.bool[0] = this.doubleSidedLighting;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.doubleSidedLighting = value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'NormalScale',\r\n description: 'Scalar applied to the normal texture',\r\n type: 'float',\r\n phase: 1,\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: LitPropTypes, value) {\r\n value.num[0] = this.normalScale;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.normalScale = value.num[0];\r\n },\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance && !!this.normalTexture;\r\n }\r\n },\r\n {\r\n name: 'vertexNormal',\r\n description: 'If true, uses vertex normals for lighting and normal mapping',\r\n type: 'bool',\r\n default: true,\r\n get(this: LitPropTypes, value) {\r\n value.bool[0] = this.vertexNormal;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.vertexNormal = value.bool[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Normal']),\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'vertexTangent',\r\n description: 'If true, uses vertex tangents for tangent-space normal mapping',\r\n type: 'bool',\r\n default: false,\r\n get(this: LitPropTypes, value) {\r\n value.bool[0] = this.vertexTangent;\r\n },\r\n set(this: LitPropTypes, value) {\r\n this.vertexTangent = value.bool[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Tangent']),\r\n isValid(this: LitPropTypes) {\r\n return !this.$isInstance && !!this.vertexNormal;\r\n }\r\n },\r\n ...getTextureProps<LitPropTypes>(manager, 'normalTexture', '2D', false, 0, undefined, ['Normal'])\r\n ]);\r\n}\r\n\r\nfunction getUnlitMaterialProps(manager: ResourceManager): PropertyAccessor<UnlitPropTypes>[] {\r\n return defineProps([\r\n {\r\n name: 'vertexColor',\r\n description: 'If true, multiplies the material color by per-vertex color data',\r\n type: 'bool',\r\n default: false,\r\n get(this: UnlitPropTypes, value) {\r\n value.bool[0] = this.vertexColor;\r\n },\r\n set(this: UnlitPropTypes, value) {\r\n this.vertexColor = value.bool[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['BaseColor']),\r\n isValid(this: UnlitPropTypes) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'AlbedoColor',\r\n description: 'Base RGBA color of the material before lighting',\r\n type: 'rgba',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: UnlitPropTypes, value) {\r\n const color = this.albedoColor;\r\n value.num[0] = color.x;\r\n value.num[1] = color.y;\r\n value.num[2] = color.z;\r\n value.num[3] = color.w;\r\n },\r\n set(this: UnlitPropTypes, value) {\r\n this.albedoColor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['BaseColor', 'Opacity']),\r\n getDefaultValue(this: UnlitPropTypes) {\r\n return this.$isInstance ? this.coreMaterial.albedoColor : [1, 1, 1, 1];\r\n }\r\n },\r\n ...getTextureProps<UnlitPropTypes>(manager, 'albedoTexture', '2D', true, 0, undefined, [\r\n 'BaseColor',\r\n 'Opacity'\r\n ])\r\n ]);\r\n}\r\n\r\nfunction getMToonMaterialProps(manager: ResourceManager): PropertyAccessor<MToonMaterial>[] {\r\n return defineProps([\r\n {\r\n name: 'AlbedoColor',\r\n description: 'Base RGBA color of the MToon material',\r\n type: 'rgba',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n const color = this.albedoColor;\r\n value.num[0] = color.x;\r\n value.num[1] = color.y;\r\n value.num[2] = color.z;\r\n value.num[3] = color.w;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.albedoColor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.albedoColor : [1, 1, 1, 1];\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'albedoTexture', '2D', true, 0),\r\n {\r\n name: 'NormalScale',\r\n description: 'Scalar applied to the MToon normal texture',\r\n type: 'float',\r\n phase: 1,\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.normalScale;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.normalScale = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && !!this.normalTexture;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'normalTexture', '2D', false, 0),\r\n {\r\n name: 'DoubleSidedLighting',\r\n description: 'If true, MToon lighting is evaluated on both sides of the surface',\r\n type: 'bool',\r\n default: true,\r\n get(this: MToonMaterial, value) {\r\n value.bool[0] = this.doubleSidedLighting;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.doubleSidedLighting = value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'EmissiveColor',\r\n description: 'Base self-illumination color emitted by the MToon material',\r\n type: 'rgb',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.emissiveColor.x;\r\n value.num[1] = this.emissiveColor.y;\r\n value.num[2] = this.emissiveColor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.emissiveColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveColor : [0, 0, 0];\r\n }\r\n },\r\n {\r\n name: 'EmissiveStrength',\r\n description: 'Intensity multiplier for the MToon emissive color and texture',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.emissiveStrength;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.emissiveStrength = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.emissiveStrength : 1;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'emissiveTexture', '2D', true, 0),\r\n {\r\n name: 'ShadeColorFactor',\r\n description: 'MToon shadow-side color factor',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadeColorFactor.x;\r\n value.num[1] = this.shadeColorFactor.y;\r\n value.num[2] = this.shadeColorFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadeColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shadeColorFactor : [0, 0, 0];\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'shadeMultiplyTexture', '2D', true, 0),\r\n {\r\n name: 'ShadingShiftFactor',\r\n description: 'MToon terminator shift factor',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: -1,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadingShiftFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadingShiftFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shadingShiftFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'ShadingShiftTextureScale',\r\n description: 'Scale applied to the MToon shading shift texture',\r\n type: 'float',\r\n phase: 1,\r\n default: 1,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadingShiftTextureScale;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadingShiftTextureScale = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && !!this.shadingShiftTexture;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'shadingShiftTexture', '2D', false, 0),\r\n {\r\n name: 'ShadingToonyFactor',\r\n description: 'MToon shadow edge sharpness factor',\r\n type: 'float',\r\n default: 0.9,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 0.99\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.shadingToonyFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.shadingToonyFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shadingToonyFactor : 0.9;\r\n }\r\n },\r\n {\r\n name: 'GIEqualizationFactor',\r\n description: 'MToon indirect lighting equalization factor',\r\n type: 'float',\r\n default: 0.9,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.giEqualizationFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.giEqualizationFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.giEqualizationFactor : 0.9;\r\n }\r\n },\r\n {\r\n name: 'MatcapFactor',\r\n description: 'MToon matcap color factor',\r\n type: 'rgb',\r\n default: [1, 1, 1],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.matcapFactor.x;\r\n value.num[1] = this.matcapFactor.y;\r\n value.num[2] = this.matcapFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.matcapFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.matcapFactor : [1, 1, 1];\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'matcapTexture', '2D', true, 0),\r\n {\r\n name: 'ParametricRimColorFactor',\r\n description: 'MToon parametric rim color factor',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.parametricRimColorFactor.x;\r\n value.num[1] = this.parametricRimColorFactor.y;\r\n value.num[2] = this.parametricRimColorFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.parametricRimColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.parametricRimColorFactor : [0, 0, 0];\r\n }\r\n },\r\n {\r\n name: 'ParametricRimFresnelPowerFactor',\r\n description: 'MToon parametric rim Fresnel power factor',\r\n type: 'float',\r\n default: 5,\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.parametricRimFresnelPowerFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.parametricRimFresnelPowerFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.parametricRimFresnelPowerFactor : 5;\r\n }\r\n },\r\n {\r\n name: 'ParametricRimLiftFactor',\r\n description: 'MToon parametric rim lift factor',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.parametricRimLiftFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.parametricRimLiftFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.parametricRimLiftFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'RimLightingMixFactor',\r\n description: 'MToon rim lighting mix factor',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.rimLightingMixFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.rimLightingMixFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.rimLightingMixFactor : 1;\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'rimMultiplyTexture', '2D', true, 0),\r\n {\r\n name: 'OutlineWidthMode',\r\n description: 'MToon outline width mode',\r\n type: 'string',\r\n default: 'none',\r\n options: {\r\n enum: {\r\n labels: ['None', 'World Coordinates', 'Screen Coordinates'],\r\n values: ['none', 'worldCoordinates', 'screenCoordinates']\r\n }\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.str[0] = this.outlineWidthMode;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineWidthMode = value.str[0] as MToonOutlineWidthMode;\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'OutlineWidthFactor',\r\n description: 'MToon outline width factor',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.outlineWidthFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineWidthFactor = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'outlineWidthMultiplyTexture', '2D', false, 1, function () {\r\n return this.outlineWidthMode !== 'none';\r\n }),\r\n {\r\n name: 'OutlineColorFactor',\r\n description: 'MToon outline color factor',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.outlineColorFactor.x;\r\n value.num[1] = this.outlineColorFactor.y;\r\n value.num[2] = this.outlineColorFactor.z;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineColorFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n {\r\n name: 'OutlineLightingMixFactor',\r\n description: 'MToon outline lighting mix factor',\r\n type: 'float',\r\n default: 1,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.outlineLightingMixFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineLightingMixFactor = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n {\r\n name: 'OutlineUsesTangentNormals',\r\n description: 'Use the tangent attribute xyz as smooth normals for MToon outline expansion',\r\n type: 'boolean',\r\n default: false,\r\n get(this: MToonMaterial, value) {\r\n value.bool[0] = this.outlineUsesTangentNormals;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.outlineUsesTangentNormals = value.bool[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance && this.outlineWidthMode !== 'none';\r\n }\r\n },\r\n ...getTextureProps<MToonMaterial>(manager, 'uvAnimationMaskTexture', '2D', false, 0),\r\n {\r\n name: 'UVAnimationScrollXSpeedFactor',\r\n description: 'MToon UV animation scroll speed on the X axis',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.uvAnimationScrollXSpeedFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.uvAnimationScrollXSpeedFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.uvAnimationScrollXSpeedFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'UVAnimationScrollYSpeedFactor',\r\n description: 'MToon UV animation scroll speed on the Y axis',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.uvAnimationScrollYSpeedFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.uvAnimationScrollYSpeedFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.uvAnimationScrollYSpeedFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'UVAnimationRotationSpeedFactor',\r\n description: 'MToon UV animation rotation speed',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.uvAnimationRotationSpeedFactor;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.uvAnimationRotationSpeedFactor = value.num[0];\r\n },\r\n getDefaultValue(this: MToonMaterial) {\r\n return this.$isInstance ? this.coreMaterial.uvAnimationRotationSpeedFactor : 0;\r\n }\r\n },\r\n {\r\n name: 'TransparentWithZWrite',\r\n description: 'If true, transparent MToon pixels also write depth',\r\n type: 'bool',\r\n default: false,\r\n get(this: MToonMaterial, value) {\r\n value.bool[0] = this.transparentWithZWrite;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.transparentWithZWrite = value.bool[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'RenderQueueOffsetNumber',\r\n description: 'MToon render queue offset number',\r\n type: 'int',\r\n default: 0,\r\n options: {\r\n minValue: -9,\r\n maxValue: 9\r\n },\r\n get(this: MToonMaterial, value) {\r\n value.num[0] = this.renderQueueOffsetNumber;\r\n },\r\n set(this: MToonMaterial, value) {\r\n this.renderQueueOffsetNumber = value.num[0];\r\n },\r\n isValid(this: MToonMaterial) {\r\n return !this.$isInstance;\r\n }\r\n }\r\n ]);\r\n}\r\n\r\n/** @internal */\r\nexport function getMeshMaterialClass(): SerializableClass[] {\r\n return [\r\n {\r\n ctor: MeshMaterial,\r\n name: 'MeshMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'AlphaCutoff',\r\n description:\r\n 'If greater then 0, pixels which have alpha smaller than alpha cutoff will be discarded',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.alphaCutoff;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.alphaCutoff = value.num[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'AlphaToCoverage',\r\n description: 'If true, alpha-to-coverage will be enabled',\r\n type: 'bool',\r\n default: false,\r\n get(this: MeshMaterial, value) {\r\n value.bool[0] = this.alphaToCoverage;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.alphaToCoverage = value.bool[0];\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'AlphaDither',\r\n description: 'If true, alpha-dithering will be enabled',\r\n type: 'bool',\r\n default: false,\r\n get(this: MeshMaterial, value) {\r\n value.bool[0] = this.alphaDither;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.alphaDither = value.bool[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance && this.alphaCutoff > 0;\r\n }\r\n },\r\n {\r\n name: 'BlendMode',\r\n description: 'Blending mode for this material',\r\n type: 'string',\r\n options: {\r\n enum: { labels: ['None', 'Blend', 'Additive'], values: ['none', 'blend', 'additive'] }\r\n },\r\n default: 'none',\r\n get(this: MeshMaterial, value) {\r\n value.str[0] = this.blendMode;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.blendMode = value.str[0] as BlendMode;\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'TransparentShadowCaster',\r\n type: 'bool',\r\n default: false,\r\n get(this: MeshMaterial, value) {\r\n value.bool[0] = this.transparentShadowCaster;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.transparentShadowCaster = value.bool[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance && this.blendMode !== 'none';\r\n }\r\n },\r\n {\r\n name: 'ShadowAlphaCutoff',\r\n type: 'float',\r\n default: 0.5,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.shadowAlphaCutoff;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.shadowAlphaCutoff = value.num[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance && this.blendMode !== 'none' && this.transparentShadowCaster;\r\n }\r\n },\r\n {\r\n name: 'CullMode',\r\n description: 'Cull mode for this material',\r\n type: 'string',\r\n options: {\r\n enum: { labels: ['None', 'Front', 'Back'], values: ['none', 'front', 'back'] }\r\n },\r\n default: 'back',\r\n get(this: MeshMaterial, value) {\r\n value.str[0] = this.cullMode;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.cullMode = value.str[0] as FaceMode;\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n },\r\n {\r\n name: 'Opacity',\r\n description: 'Opacity value for this material, no effect if blendingMode is `none`',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n default: 1,\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.opacity;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.opacity = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Opacity']),\r\n getDefaultValue(this: MeshMaterial) {\r\n return this.$isInstance ? this.coreMaterial.opacity : 1;\r\n }\r\n },\r\n {\r\n name: 'TAAStrength',\r\n description: 'TAA strength for this material',\r\n type: 'float',\r\n options: {\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n default: 15 / 16,\r\n get(this: MeshMaterial, value) {\r\n value.num[0] = this.TAAStrength;\r\n },\r\n set(this: MeshMaterial, value) {\r\n this.TAAStrength = value.num[0];\r\n },\r\n isValid(this: MeshMaterial) {\r\n return !this.$isInstance;\r\n }\r\n }\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(MeshMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getSpriteMaterialClass(_manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: SpriteMaterial,\r\n name: 'SpriteMaterial',\r\n parent: MeshMaterial,\r\n getProps() {\r\n return [];\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(SpriteMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getStandardSpriteMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: StandardSpriteMaterial,\r\n name: 'StandardSpriteMaterial',\r\n parent: SpriteMaterial,\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'SpriteTexture',\r\n description: 'Texture file path for the sprite',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: [\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/tga',\r\n 'image/vnd.radiance',\r\n 'image/x-dds',\r\n 'image/webp'\r\n ]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(value) {\r\n value.str[0] = manager.getAssetId(this.spriteTexture) ?? '';\r\n },\r\n async set(this: StandardSpriteMaterial, value) {\r\n if (!value || !value.str[0]) {\r\n this.spriteTexture = null;\r\n } else {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D>;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId, {\r\n linearColorSpace: false\r\n });\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n tex = null;\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.spriteTexture = tex;\r\n } else {\r\n console.error('Invalid texture type');\r\n }\r\n }\r\n },\r\n isValid() {\r\n return !this.$isInstance;\r\n }\r\n }\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(StandardSpriteMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getParticleMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: ParticleMaterial,\r\n name: 'ParticleMaterial',\r\n parent: MeshMaterial,\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'AlphaMap',\r\n description: 'Alpha texture file path',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: [\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/tga',\r\n 'image/vnd.radiance',\r\n 'image/x-dds',\r\n 'image/webp'\r\n ]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: ParticleMaterial, value) {\r\n value.str[0] = manager.getAssetId(this.alphaMap) ?? '';\r\n },\r\n async set(this: ParticleMaterial, value) {\r\n if (!value || !value.str[0]) {\r\n this.alphaMap = null;\r\n } else {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D> = null;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId, { linearColorSpace: true });\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.alphaMap = tex;\r\n } else {\r\n console.error('Invalid albedo texture');\r\n }\r\n }\r\n }\r\n },\r\n {\r\n name: 'RampMap',\r\n description: 'Ramp texture file path',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: [\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/tga',\r\n 'image/vnd.radiance',\r\n 'image/x-dds',\r\n 'image/webp'\r\n ]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: ParticleMaterial, value) {\r\n value.str[0] = manager.getAssetId(this.rampMap) ?? '';\r\n },\r\n async set(this: ParticleMaterial, value) {\r\n if (!value || !value.str[0]) {\r\n this.rampMap = null;\r\n } else {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D> = null;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId);\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.rampMap = tex;\r\n } else {\r\n console.error('Invalid albedo texture');\r\n }\r\n }\r\n }\r\n }\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(ParticleMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getPBRBluePrintMaterialClass(): SerializableClass[] {\r\n return [\r\n {\r\n ctor: PBRBluePrintMaterial,\r\n parent: PBRMetallicRoughnessMaterial,\r\n name: 'PBRBluePrintMaterial',\r\n getProps() {\r\n return defineProps([]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(PBRBluePrintMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getSpriteBlueprintMaterialClass(): SerializableClass[] {\r\n return [\r\n {\r\n ctor: SpriteBlueprintMaterial,\r\n parent: MeshMaterial,\r\n name: 'SpriteBlueprintMaterial',\r\n getProps() {\r\n return [];\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(SpriteBlueprintMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getUnlitMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: UnlitMaterial,\r\n parent: MeshMaterial,\r\n name: 'UnlitMaterial',\r\n getProps() {\r\n return getUnlitMaterialProps(manager);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(UnlitMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getMToonMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: MToonMaterial,\r\n parent: MeshMaterial,\r\n name: 'MToonMaterial',\r\n getProps() {\r\n return getMToonMaterialProps(manager);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(MToonMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getLambertMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: LambertMaterial,\r\n parent: MeshMaterial,\r\n name: 'LambertMaterial',\r\n getProps() {\r\n return getLitMaterialProps(manager);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(LambertMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getBlinnMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: BlinnMaterial,\r\n parent: MeshMaterial,\r\n name: 'BlinnMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Shininess',\r\n description: 'Shininess value',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2048\r\n },\r\n get(this: BlinnMaterial, value) {\r\n value.num[0] = this.shininess;\r\n },\r\n set(this: BlinnMaterial, value) {\r\n this.shininess = value.num[0];\r\n },\r\n getDefaultValue(this: BlinnMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shininess : 32;\r\n }\r\n },\r\n ...getLitMaterialProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(BlinnMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getSkinMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: SkinMaterial,\r\n parent: MeshMaterial,\r\n name: 'SkinMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Shininess',\r\n description: 'Blinn specular exponent for skin highlights',\r\n type: 'float',\r\n default: 72,\r\n options: {\r\n animatable: true,\r\n minValue: 1,\r\n maxValue: 2048\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.shininess;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.shininess = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.shininess : 72;\r\n }\r\n },\r\n {\r\n name: 'SpecularStrength',\r\n description: 'Direct specular strength for restrained skin highlights',\r\n type: 'float',\r\n default: 0.22,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.specularStrength;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.specularStrength = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.specularStrength : 0.22;\r\n }\r\n },\r\n {\r\n name: 'DiffuseWrap',\r\n description: 'Wrap amount for visible diffuse lighting',\r\n type: 'float',\r\n default: 0.28,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.diffuseWrap;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.diffuseWrap = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.diffuseWrap : 0.28;\r\n }\r\n },\r\n {\r\n name: 'DiffuseSoftness',\r\n description: 'Blend from hard Lambert lighting to wrapped diffuse lighting',\r\n type: 'float',\r\n default: 0.45,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.diffuseSoftness;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.diffuseSoftness = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.diffuseSoftness : 0.45;\r\n }\r\n },\r\n {\r\n name: 'ScatterWrap',\r\n description: 'Wide wrap amount written to the Skin SSS scattering source',\r\n type: 'float',\r\n default: 0.65,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 2\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.scatterWrap;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.scatterWrap = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.scatterWrap : 0.65;\r\n }\r\n },\r\n {\r\n name: 'ScatterStrength',\r\n description: 'Strength of the lighting multiplier written to the Skin SSS side buffer',\r\n type: 'float',\r\n default: 0.7,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 4\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.scatterStrength;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.scatterStrength = value.num[0];\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n return this.$isInstance ? this.coreMaterial.scatterStrength : 0.7;\r\n }\r\n },\r\n {\r\n name: 'ScatterColor',\r\n description: 'Warm tint for the blurred skin scattering contribution',\r\n type: 'rgba',\r\n default: [1, 0.42, 0.28, 1],\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: SkinMaterial, value) {\r\n value.num[0] = this.scatterColor.x;\r\n value.num[1] = this.scatterColor.y;\r\n value.num[2] = this.scatterColor.z;\r\n value.num[3] = this.scatterColor.w;\r\n },\r\n set(this: SkinMaterial, value) {\r\n this.scatterColor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n getDefaultValue(this: SkinMaterial) {\r\n const color = this.$isInstance ? this.coreMaterial.scatterColor : new Vector4(1, 0.42, 0.28, 1);\r\n return [color.x, color.y, color.z, color.w];\r\n }\r\n },\r\n ...getTextureProps<SkinMaterial>(manager, 'subsurfaceTexture', '2D', false, 1),\r\n ...getLitMaterialProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(SkinMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getPBRMetallicRoughnessMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: PBRMetallicRoughnessMaterial,\r\n parent: MeshMaterial,\r\n name: 'PBRMetallicRoughnessMaterial',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Metallic',\r\n description: 'Metallic value',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.metallic;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.metallic = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Metallic']),\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.metallic : 1;\r\n }\r\n },\r\n {\r\n name: 'Roughness',\r\n description: 'Roughness value',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.roughness;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.roughness = value.num[0];\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Roughness']),\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.roughness : 1;\r\n }\r\n },\r\n {\r\n name: 'SpecularFactor',\r\n description: 'RGBA specular factor used to tint and scale specular reflections',\r\n type: 'rgba',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.specularFactor.x;\r\n value.num[1] = this.specularFactor.y;\r\n value.num[2] = this.specularFactor.z;\r\n value.num[3] = this.specularFactor.w;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.specularFactor = new Vector4(value.num[0], value.num[1], value.num[2], value.num[3]);\r\n },\r\n isHidden: createBlueprintOutputHiddenPredicate(['Specular', 'SpecularWeight']),\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.specularFactor : [1, 1, 1, 1];\r\n }\r\n },\r\n {\r\n name: 'Reflection',\r\n description: 'Reflection mode',\r\n type: 'string',\r\n default: 'ggx',\r\n options: {\r\n enum: {\r\n labels: ['None', 'GGX', 'Anisotropic', 'Glint'],\r\n values: ['none', 'ggx', 'anisotropic', 'glint']\r\n }\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.str[0] = this.reflectionMode;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.reflectionMode = value.str[0] as PBRReflectionMode;\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.reflectionMode : 'ggx';\r\n }\r\n },\r\n {\r\n name: 'Anisotropy',\r\n description: 'Strength of anisotropic reflections; values near 0 behave isotropically',\r\n type: 'float',\r\n default: 0.75,\r\n options: {\r\n animatable: true,\r\n minValue: -0.95,\r\n maxValue: 0.95\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.anisotropy;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.anisotropy = value.num[0];\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.anisotropy : 0.75;\r\n },\r\n isValid(this: PBRMetallicRoughnessMaterial) {\r\n return this.reflectionMode === 'anisotropic';\r\n }\r\n },\r\n {\r\n name: 'AnisotropyDirection',\r\n description: 'Rotation angle in degrees for the anisotropic highlight direction',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 360\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.anisotropyDirection;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.anisotropyDirection = value.num[0];\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.anisotropyDirection : 0;\r\n },\r\n isValid(this: PBRMetallicRoughnessMaterial) {\r\n return this.reflectionMode === 'anisotropic';\r\n }\r\n },\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'anisotropyDirectionTexture',\r\n '2D',\r\n false,\r\n 0,\r\n function () {\r\n return this.reflectionMode === 'anisotropic';\r\n }\r\n ),\r\n {\r\n name: 'AnisotropyDirectionScaleBias',\r\n description: 'Scale and bias applied when decoding anisotropy direction from its texture',\r\n type: 'vec2',\r\n default: [1, 0],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.num[0] = this.anisotropyDirectionScaleBias.x;\r\n value.num[1] = this.anisotropyDirectionScaleBias.y;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.anisotropyDirectionScaleBias = new Vector2(value.num[0], value.num[1]);\r\n },\r\n getDefaultValue(this: PBRMetallicRoughnessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.anisotropyDirectionScaleBias : [1, 0];\r\n },\r\n isValid() {\r\n return (\r\n !this.$isInstance &&\r\n this.reflectionMode === 'anisotropic' &&\r\n !!this.anisotropyDirectionTexture\r\n );\r\n }\r\n },\r\n {\r\n name: 'SubsurfaceProfile',\r\n description: 'If true, enables subsurface scattering for translucent materials',\r\n type: 'object',\r\n phase: 1,\r\n default: null,\r\n options: {\r\n objectTypes: [SubsurfaceProfile]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: PBRMetallicRoughnessMaterial, value) {\r\n value.object[0] = this.subsurfaceProfile;\r\n },\r\n set(this: PBRMetallicRoughnessMaterial, value) {\r\n this.subsurfaceProfile = (value.object[0] as SubsurfaceProfile) ?? null;\r\n },\r\n isValid(this: PBRMetallicRoughnessMaterial) {\r\n return !this.$isInstance;\r\n }\r\n },\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'subsurfaceTexture',\r\n '2D',\r\n false,\r\n 1,\r\n function () {\r\n return !!this.subsurfaceProfile;\r\n }\r\n ),\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'metallicRoughnessTexture',\r\n '2D',\r\n false,\r\n 0,\r\n undefined,\r\n ['Metallic', 'Roughness']\r\n ),\r\n ...getTextureProps<PBRMetallicRoughnessMaterial>(\r\n manager,\r\n 'specularColorTexture',\r\n '2D',\r\n true,\r\n 0,\r\n undefined,\r\n ['Specular']\r\n ),\r\n ...getPBRCommonProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(PBRMetallicRoughnessMaterial)\r\n ];\r\n}\r\n\r\n/** @internal */\r\nexport function getPBRSpecularGlossinessMaterialClass(manager: ResourceManager): SerializableClass[] {\r\n return [\r\n {\r\n ctor: PBRSpecularGlossinessMaterial,\r\n name: 'PBRSpecularGlossinessMaterial',\r\n parent: MeshMaterial,\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'SpecularFactor',\r\n description: 'RGB specular color multiplier for reflected highlights',\r\n type: 'rgb',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: PBRSpecularGlossinessMaterial, value) {\r\n value.num[0] = this.specularFactor.x;\r\n value.num[1] = this.specularFactor.y;\r\n value.num[2] = this.specularFactor.z;\r\n },\r\n set(this: PBRSpecularGlossinessMaterial, value) {\r\n this.specularFactor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n },\r\n getDefaultValue(this: PBRSpecularGlossinessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.specularFactor : [1, 1, 1];\r\n }\r\n },\r\n {\r\n name: 'GlossnessFactor',\r\n description: 'Glossiness of the surface; higher values produce sharper reflections',\r\n type: 'float',\r\n options: {\r\n animatable: true,\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: PBRSpecularGlossinessMaterial, value) {\r\n value.num[0] = this.glossinessFactor;\r\n },\r\n set(this: PBRSpecularGlossinessMaterial, value) {\r\n this.glossinessFactor = value.num[0];\r\n },\r\n getDefaultValue(this: PBRSpecularGlossinessMaterial) {\r\n return this.$isInstance ? this.coreMaterial.glossinessFactor : 1;\r\n }\r\n },\r\n ...getPBRCommonProps(manager)\r\n ]);\r\n }\r\n },\r\n getMeshMaterialInstanceUniformsClass(PBRSpecularGlossinessMaterial)\r\n ];\r\n}\r\n"],"names":["createBlueprintOutputHiddenPredicate","_outputs","PBRBluePrintMaterial","getSubsurfaceProfileClass","ctor","SubsurfaceProfile","name","getProps","defineProps","type","default","options","label","enum","labels","values","get","value","str","preset","set","animatable","minValue","maxValue","num","meanFreePathColor","x","y","z","Vector3","meanFreePathDistance","strength","scale","worldUnitScale","boundaryColorBleed","transmissionTintColor","extinctionScale","normalScale","scatteringDistribution","getPBRCommonProps","manager","supportsSSSThicknessAuthoring","$isInstance","transmission","subsurfaceProfile","description","ior","isValid","phase","occlusionStrength","isHidden","occlusionTexture","getTextureProps","undefined","emissiveColor","getDefaultValue","coreMaterial","emissiveStrength","emissiveLuminance","emissiveExposureWeight","rectSpecularScale","bool","transmissionFactor","call","thicknessFactor","attenuationColor","attenuationDistance","iridescence","iridescenceFactor","iridescenceIor","iridescenceThicknessMin","iridescenceThicknessMax","clearcoat","clearcoatIntensity","clearcoatRoughnessFactor","sheen","sheenColorFactor","sheenRoughnessFactor","getLitMaterialProps","getUnlitMaterialProps","doubleSidedLighting","normalTexture","vertexNormal","vertexTangent","vertexColor","color","albedoColor","w","Vector4","getMToonMaterialProps","shadeColorFactor","shadingShiftFactor","shadingShiftTextureScale","shadingShiftTexture","shadingToonyFactor","giEqualizationFactor","matcapFactor","parametricRimColorFactor","parametricRimFresnelPowerFactor","parametricRimLiftFactor","rimLightingMixFactor","outlineWidthMode","outlineWidthFactor","outlineColorFactor","outlineLightingMixFactor","outlineUsesTangentNormals","uvAnimationScrollXSpeedFactor","uvAnimationScrollYSpeedFactor","uvAnimationRotationSpeedFactor","transparentWithZWrite","renderQueueOffsetNumber","getMeshMaterialClass","MeshMaterial","alphaCutoff","alphaToCoverage","alphaDither","blendMode","transparentShadowCaster","shadowAlphaCutoff","cullMode","opacity","TAAStrength","getMeshMaterialInstanceUniformsClass","getSpriteMaterialClass","_manager","SpriteMaterial","parent","getStandardSpriteMaterialClass","StandardSpriteMaterial","mimeTypes","isNullable","getAssetId","spriteTexture","assetId","tex","fetchTexture","linearColorSpace","err","console","error","isTexture2D","getParticleMaterialClass","ParticleMaterial","alphaMap","rampMap","getPBRBluePrintMaterialClass","PBRMetallicRoughnessMaterial","getSpriteBlueprintMaterialClass","SpriteBlueprintMaterial","getUnlitMaterialClass","UnlitMaterial","getMToonMaterialClass","MToonMaterial","getLambertMaterialClass","LambertMaterial","getBlinnMaterialClass","BlinnMaterial","shininess","getSkinMaterialClass","SkinMaterial","specularStrength","diffuseWrap","diffuseSoftness","scatterWrap","scatterStrength","scatterColor","getPBRMetallicRoughnessMaterialClass","metallic","roughness","specularFactor","reflectionMode","anisotropy","anisotropyDirection","anisotropyDirectionScaleBias","Vector2","anisotropyDirectionTexture","objectTypes","object","getPBRSpecularGlossinessMaterialClass","PBRSpecularGlossinessMaterial","glossinessFactor"],"mappings":"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"}