@needle-tools/engine 4.9.3 → 4.10.0-beta.1

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 (133) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/components.needle.json +1 -1
  3. package/dist/{gltf-progressive-DhE1A6hX.min.js → gltf-progressive-CoZbSfPR.min.js} +1 -1
  4. package/dist/{gltf-progressive-egsMzRdv.js → gltf-progressive-DUR9TuAH.js} +3 -3
  5. package/dist/{gltf-progressive-DWiyqrwB.umd.cjs → gltf-progressive-Iy7aSAPk.umd.cjs} +1 -1
  6. package/dist/{needle-engine.bundle-C7LSzO5L.umd.cjs → needle-engine.bundle-6so_os_w.umd.cjs} +179 -145
  7. package/dist/{needle-engine.bundle-BAsxNKpA.js → needle-engine.bundle-Dj2DYdMY.js} +7699 -7235
  8. package/dist/needle-engine.bundle-Djy6H4lx.min.js +1650 -0
  9. package/dist/needle-engine.js +460 -456
  10. package/dist/needle-engine.min.js +1 -1
  11. package/dist/needle-engine.umd.cjs +1 -1
  12. package/dist/{postprocessing-BZOSD1ln.min.js → postprocessing-BHMVuZQ1.min.js} +1 -1
  13. package/dist/{postprocessing-Bb5StX0o.umd.cjs → postprocessing-BsnRNRRS.umd.cjs} +1 -1
  14. package/dist/{postprocessing-BzFF7i-7.js → postprocessing-DQ2pynXW.js} +2 -2
  15. package/dist/{three-BK56xWDs.umd.cjs → three-B-jwTHao.umd.cjs} +11 -11
  16. package/dist/{three-CsHK73Zc.js → three-CJSAehtG.js} +1 -0
  17. package/dist/{three-examples-Bph291U2.min.js → three-examples-BivkhnvN.min.js} +1 -1
  18. package/dist/{three-examples-C9WfZu-X.umd.cjs → three-examples-Deqc1bNw.umd.cjs} +1 -1
  19. package/dist/{three-examples-BvMpKSun.js → three-examples-Doq0rvFU.js} +1 -1
  20. package/dist/{three-mesh-ui-CN6aRT7i.js → three-mesh-ui-CktOi6oI.js} +1 -1
  21. package/dist/{three-mesh-ui-DnxkZWNA.umd.cjs → three-mesh-ui-CsHwj9cJ.umd.cjs} +1 -1
  22. package/dist/{three-mesh-ui-n_qS2BM-.min.js → three-mesh-ui-DhYXcXZe.min.js} +1 -1
  23. package/dist/{three-TNFQHSFa.min.js → three-qw28ZtTy.min.js} +10 -10
  24. package/dist/{vendor-BtJpSuCj.umd.cjs → vendor-D0Yvltn9.umd.cjs} +1 -1
  25. package/dist/{vendor-k9i6CeGi.js → vendor-DU8tJyl_.js} +1 -1
  26. package/dist/{vendor-XJ9xiwrv.min.js → vendor-JyrX4DVM.min.js} +1 -1
  27. package/lib/engine/api.d.ts +1 -0
  28. package/lib/engine/api.js +1 -0
  29. package/lib/engine/api.js.map +1 -1
  30. package/lib/engine/codegen/register_types.js +6 -0
  31. package/lib/engine/codegen/register_types.js.map +1 -1
  32. package/lib/engine/engine_animation.d.ts +21 -1
  33. package/lib/engine/engine_animation.js +32 -1
  34. package/lib/engine/engine_animation.js.map +1 -1
  35. package/lib/engine/engine_camera.d.ts +7 -1
  36. package/lib/engine/engine_camera.fit.d.ts +68 -0
  37. package/lib/engine/engine_camera.fit.js +166 -0
  38. package/lib/engine/engine_camera.fit.js.map +1 -0
  39. package/lib/engine/engine_camera.js +46 -6
  40. package/lib/engine/engine_camera.js.map +1 -1
  41. package/lib/engine/engine_context.d.ts +6 -0
  42. package/lib/engine/engine_context.js +48 -9
  43. package/lib/engine/engine_context.js.map +1 -1
  44. package/lib/engine/engine_gizmos.d.ts +2 -2
  45. package/lib/engine/engine_gizmos.js +2 -2
  46. package/lib/engine/engine_physics.js +6 -3
  47. package/lib/engine/engine_physics.js.map +1 -1
  48. package/lib/engine/webcomponents/logo-element.d.ts +1 -1
  49. package/lib/engine/webcomponents/logo-element.js +29 -5
  50. package/lib/engine/webcomponents/logo-element.js.map +1 -1
  51. package/lib/engine/webcomponents/needle menu/needle-menu.js +4 -3
  52. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  53. package/lib/engine/webcomponents/needle-engine.d.ts +1 -0
  54. package/lib/engine/webcomponents/needle-engine.js +6 -0
  55. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  56. package/lib/engine/webcomponents/needle-engine.loading.d.ts +0 -1
  57. package/lib/engine/webcomponents/needle-engine.loading.js +62 -59
  58. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  59. package/lib/engine-components/AnimatorController.js +16 -0
  60. package/lib/engine-components/AnimatorController.js.map +1 -1
  61. package/lib/engine-components/CameraUtils.js +8 -9
  62. package/lib/engine-components/CameraUtils.js.map +1 -1
  63. package/lib/engine-components/OrbitControls.d.ts +7 -47
  64. package/lib/engine-components/OrbitControls.js +25 -149
  65. package/lib/engine-components/OrbitControls.js.map +1 -1
  66. package/lib/engine-components/Renderer.d.ts +2 -2
  67. package/lib/engine-components/Renderer.js +10 -5
  68. package/lib/engine-components/Renderer.js.map +1 -1
  69. package/lib/engine-components/api.d.ts +0 -1
  70. package/lib/engine-components/api.js.map +1 -1
  71. package/lib/engine-components/codegen/components.d.ts +3 -0
  72. package/lib/engine-components/codegen/components.js +3 -0
  73. package/lib/engine-components/codegen/components.js.map +1 -1
  74. package/lib/engine-components/timeline/PlayableDirector.d.ts +35 -6
  75. package/lib/engine-components/timeline/PlayableDirector.js +67 -26
  76. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  77. package/lib/engine-components/timeline/TimelineModels.d.ts +11 -0
  78. package/lib/engine-components/timeline/TimelineModels.js.map +1 -1
  79. package/lib/engine-components/timeline/TimelineTracks.d.ts +7 -0
  80. package/lib/engine-components/timeline/TimelineTracks.js +23 -2
  81. package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
  82. package/lib/engine-components/utils/LookAt.js +5 -1
  83. package/lib/engine-components/utils/LookAt.js.map +1 -1
  84. package/lib/engine-components/web/Clickthrough.d.ts +3 -0
  85. package/lib/engine-components/web/Clickthrough.js +13 -2
  86. package/lib/engine-components/web/Clickthrough.js.map +1 -1
  87. package/lib/engine-components/web/CursorFollow.d.ts +3 -0
  88. package/lib/engine-components/web/CursorFollow.js +3 -0
  89. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  90. package/lib/engine-components/web/HoverAnimation.d.ts +44 -0
  91. package/lib/engine-components/web/HoverAnimation.js +105 -0
  92. package/lib/engine-components/web/HoverAnimation.js.map +1 -0
  93. package/lib/engine-components/web/ScrollFollow.d.ts +40 -4
  94. package/lib/engine-components/web/ScrollFollow.js +256 -27
  95. package/lib/engine-components/web/ScrollFollow.js.map +1 -1
  96. package/lib/engine-components/web/ViewBox.d.ts +16 -0
  97. package/lib/engine-components/web/ViewBox.js +183 -0
  98. package/lib/engine-components/web/ViewBox.js.map +1 -0
  99. package/lib/engine-components/web/index.d.ts +2 -0
  100. package/lib/engine-components/web/index.js +2 -0
  101. package/lib/engine-components/web/index.js.map +1 -1
  102. package/package.json +1 -1
  103. package/plugins/vite/alias.js +5 -3
  104. package/plugins/vite/poster-client.js +22 -21
  105. package/src/engine/api.ts +2 -1
  106. package/src/engine/codegen/register_types.ts +6 -0
  107. package/src/engine/engine_animation.ts +69 -1
  108. package/src/engine/engine_camera.fit.ts +258 -0
  109. package/src/engine/engine_camera.ts +62 -8
  110. package/src/engine/engine_context.ts +50 -10
  111. package/src/engine/engine_gizmos.ts +2 -2
  112. package/src/engine/engine_physics.ts +6 -3
  113. package/src/engine/webcomponents/logo-element.ts +29 -4
  114. package/src/engine/webcomponents/needle menu/needle-menu.ts +4 -3
  115. package/src/engine/webcomponents/needle-engine.loading.ts +95 -56
  116. package/src/engine/webcomponents/needle-engine.ts +6 -1
  117. package/src/engine-components/AnimatorController.ts +21 -2
  118. package/src/engine-components/CameraUtils.ts +8 -9
  119. package/src/engine-components/OrbitControls.ts +36 -206
  120. package/src/engine-components/Renderer.ts +10 -5
  121. package/src/engine-components/api.ts +0 -1
  122. package/src/engine-components/codegen/components.ts +3 -0
  123. package/src/engine-components/timeline/PlayableDirector.ts +88 -34
  124. package/src/engine-components/timeline/TimelineModels.ts +11 -0
  125. package/src/engine-components/timeline/TimelineTracks.ts +26 -2
  126. package/src/engine-components/utils/LookAt.ts +5 -1
  127. package/src/engine-components/web/Clickthrough.ts +14 -2
  128. package/src/engine-components/web/CursorFollow.ts +3 -0
  129. package/src/engine-components/web/HoverAnimation.ts +99 -0
  130. package/src/engine-components/web/ScrollFollow.ts +316 -25
  131. package/src/engine-components/web/ViewBox.ts +199 -0
  132. package/src/engine-components/web/index.ts +3 -1
  133. package/dist/needle-engine.bundle-ugr1bBtk.min.js +0 -1616
@@ -1 +1 @@
1
- {"version":3,"file":"CameraUtils.js","sourceRoot":"","sources":["../../src/engine-components/CameraUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CameraUtils.js","sourceRoot":"","sources":["../../src/engine-components/CameraUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEpF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAErF,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAE7C;;;;;;GAMG;AACH,eAAe,CAAC,gBAAgB,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE;IACjE,IAAI,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;IAEhC,MAAM,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC7C,YAAY,CAAC,IAAI,GAAG,yBAAyB,CAAA;IAC7C,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAExB,MAAM,WAAW,GAAG,IAAI,MAAM,EAAE,CAAC;IACjC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,SAAS,CAAA;IACvD,WAAW,CAAC,WAAW,GAAG,EAAE,CAAC;IAE7B,MAAM,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAChF,IAAI,oBAAoB,IAAI,SAAS,EAAE;QACnC,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC;KACrD;IACD,gGAAgG;SAC3F,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,MAAM,IAAK,GAAG,CAAC,OAAmB,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;QAC/I,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;KAC9C;SACI;QACD,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QAE/C,mGAAmG;QACnG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE;YAC1D,IAAI,eAAe,GAAG,SAAS,CAAC;YAChC,IAAI,OAAO,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,EAAE;gBAC5F,eAAe,GAAG,SAAS,CAAC;aAC/B;YACD,KAAK,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,uNAAuN;SACzQ;QAED,oDAAoD;QACpD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACpB,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChE,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5C,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC;SACnE;KACJ;IAGD,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,CAAY,CAAC;IACxE,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5B,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5B,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;IAE5B,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,UAAsC,CAAA;IACxE,gHAAgH;IAChH,4FAA4F;IAC5F,IAAI,aAAa,EAAE,cAAc,IAAI,KAAK,EAAE;QACxC,2BAA2B,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;KACjD;IAED,OAAO,GAAG,CAAC;AACf,CAAC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,eAAe,CAAC,gBAAgB,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE;IAClE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE;QACzB,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QAC5E,OAAO;KACV;IAED,2EAA2E;IAC3E,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,UAAsC,CAAA;IACxE,IAAI,aAAa,EAAE,cAAc,IAAI,IAAI,EAAE;QAEvC,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,QAAQ,EAAE,kBAAkB,IAAI,IAAI,EAAE;YACtC,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YAC/E,OAAO;SACV;QACD,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAC5C;AACL,CAAC,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,SAAS,2BAA2B,CAAC,OAAiB,EAAE,GAAa;IAEjE,GAAG,GAAG,GAAG,IAAI,OAAO,CAAC,mBAAmB,CAAC;IACzC,MAAM,YAAY,GAAG,GAAG,EAAE,UAAU,CAAC;IACrC,IAAI,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IACrE,IAAI,YAAY,EAAE;QACd,MAAM,KAAK,GAAG,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAkB,CAAC;QAC9E,KAAK,CAAC,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,SAAS,CAAC;QAC5C,+DAA+D;QAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAClE,KAAK,CAAC,UAAU,GAAG,UAAU,IAAI,GAAG,IAAI,UAAU,EAAE,WAAW,EAAE,IAAI,OAAO,CAAC;QAC7E,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;QAC9D,KAAK,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC5D,KAAK,CAAC,OAAO,GAAG,OAAO,KAAK,GAAG,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,OAAO,CAAC;QACrE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;KAC3B;SACI;QACD,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;KACpE;AACL,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Object3D, Vector3Like } from "three";
2
2
  import { OrbitControls as ThreeOrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
3
+ import { FitCameraOptions } from "../engine/engine_camera.fit.js";
3
4
  import type { ICameraController } from "../engine/engine_types.js";
4
5
  import { Camera } from "./Camera.js";
5
6
  import { Behaviour } from "./Component.js";
@@ -299,55 +300,14 @@ export declare class OrbitControls extends Behaviour implements ICameraControlle
299
300
  private setTargetFromRaycast;
300
301
  /**
301
302
  * Fits the camera to show the objects provided (defaults to the scene if no objects are passed in)
303
+ * @param options The options for fitting the camera. Use to provide objects to fit to, fit direction and size and other settings.
302
304
  */
303
- fitCamera(options?: FitCameraOptions): any;
304
- fitCamera(objects?: Object3D | Array<Object3D>, options?: Omit<FitCameraOptions, "objects">): any;
305
+ fitCamera(options?: OrbitFitCameraOptions): any;
306
+ /** @deprecated Use fitCamera(options) */
307
+ fitCamera(objects?: Object3D | Array<Object3D>, options?: Omit<OrbitFitCameraOptions, "objects">): any;
305
308
  private _haveAttachedKeyboardEvents;
306
309
  }
307
- /**
308
- * Options for fitting the camera to the scene. Used in {@link OrbitControls.fitCamera}
309
- */
310
- export type FitCameraOptions = {
311
- /** When enabled debug rendering will be shown */
312
- debug?: boolean;
313
- /**
314
- * The objects to fit the camera to. If not provided the scene children will be used
315
- */
316
- objects?: Object3D[] | Object3D;
317
- /** If true the camera will move immediately to the new position, otherwise it will lerp
318
- * @default false
319
- */
310
+ type OrbitFitCameraOptions = FitCameraOptions & {
320
311
  immediate?: boolean;
321
- /** Fit offset: A factor to multiply the distance to the objects by
322
- * @default 1.1
323
- */
324
- fitOffset?: number;
325
- /** The direction from which the camera should be fitted in worldspace. If not defined the current camera's position will be used */
326
- fitDirection?: Vector3Like;
327
- /** If set to "y" the camera will be centered in the y axis */
328
- centerCamera?: "none" | "y";
329
- /** Set to 'auto' to update the camera near or far plane based on the fitted-objects bounds */
330
- cameraNearFar?: "keep" | "auto";
331
- /**
332
- * Offset the camera position in world space
333
- */
334
- cameraOffset?: Partial<Vector3Like>;
335
- /**
336
- * Offset the camera position relative to the size of the objects being focused on (e.g. x: 0.5).
337
- * Value range: -1 to 1
338
- */
339
- relativeCameraOffset?: Partial<Vector3Like>;
340
- /**
341
- * Offset the camera target position in world space
342
- */
343
- targetOffset?: Partial<Vector3Like>;
344
- /**
345
- * Offset the camera target position relative to the size of the objects being focused on.
346
- * Value range: -1 to 1
347
- */
348
- relativeTargetOffset?: Partial<Vector3Like>;
349
- /**
350
- * Field of view (FOV) for the camera
351
- */
352
- fov?: number;
353
312
  };
313
+ export {};
@@ -7,17 +7,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { Camera as Camera3, Object3D, PerspectiveCamera, Ray, Vector2, Vector3 } from "three";
8
8
  import { OrbitControls as ThreeOrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
9
9
  import { isDevEnvironment } from "../engine/debug/index.js";
10
+ import { fitCamera } from "../engine/engine_camera.fit.js";
10
11
  import { setCameraController } from "../engine/engine_camera.js";
11
12
  import { Gizmos } from "../engine/engine_gizmos.js";
12
13
  import { InputEventQueue } from "../engine/engine_input.js";
13
14
  import { Mathf } from "../engine/engine_math.js";
14
15
  import { RaycastOptions } from "../engine/engine_physics.js";
15
16
  import { serializable } from "../engine/engine_serialization_decorator.js";
16
- import { getBoundingBox, getTempVector, getWorldPosition } from "../engine/engine_three_utils.js";
17
+ import { getTempVector, getWorldPosition } from "../engine/engine_three_utils.js";
17
18
  import { DeviceUtilities, getParam } from "../engine/engine_utils.js";
18
19
  import { Camera } from "./Camera.js";
19
20
  import { Behaviour, GameObject } from "./Component.js";
20
- import { GroundProjectedEnv } from "./GroundProjection.js";
21
21
  import { LookAtConstraint } from "./LookAtConstraint.js";
22
22
  import { SyncedTransform } from "./SyncedTransform.js";
23
23
  import { EventSystem, EventSystemEvents } from "./ui/EventSystem.js";
@@ -285,6 +285,9 @@ export class OrbitControls extends Behaviour {
285
285
  console.debug("OrbitControls", this);
286
286
  this._didSetTarget = 0;
287
287
  this._startedListeningToKeyEvents = false;
288
+ if (this.context.domElement.cameraControls === false) {
289
+ this.enabled = false;
290
+ }
288
291
  }
289
292
  /** @internal */
290
293
  start() {
@@ -413,10 +416,13 @@ export class OrbitControls extends Behaviour {
413
416
  this._lastTimeClickOnBackground = this.context.time.time;
414
417
  if (this.clickBackgroundToFitScene <= 1 || dt < this.clickBackgroundToFitScene * .15) {
415
418
  this._clickOnBackgroundCount += 1;
416
- if (this._clickOnBackgroundCount >= this.clickBackgroundToFitScene - 1)
417
- this.fitCamera(this.context.scene.children, {
418
- immediate: false
419
+ if (this._clickOnBackgroundCount >= this.clickBackgroundToFitScene - 1) {
420
+ this.autoRotate = false;
421
+ this.fitCamera({
422
+ objects: this.context.scene,
423
+ immediate: false,
419
424
  });
425
+ }
420
426
  }
421
427
  else {
422
428
  this._clickOnBackgroundCount = 0;
@@ -889,11 +895,6 @@ export class OrbitControls extends Behaviour {
889
895
  return false;
890
896
  }
891
897
  fitCamera(objectsOrOptions, options) {
892
- if (this.context.isInXR) {
893
- // camera fitting in XR is not supported
894
- console.warn('[OrbitControls] Can not fit camera while XR session is active');
895
- return;
896
- }
897
898
  let objects = undefined;
898
899
  // If the user passed in an array as first argument
899
900
  if (Array.isArray(objectsOrOptions)) {
@@ -922,147 +923,22 @@ export class OrbitControls extends Behaviour {
922
923
  console.warn("No objects to fit camera to...");
923
924
  return;
924
925
  }
925
- const camera = this._cameraObject;
926
- const controls = this._controls;
927
- if (!camera || !controls) {
928
- console.warn("No camera or controls found to fit camera to objects...");
929
- return;
930
- }
931
- if (!options)
932
- options = {};
933
- const { immediate = false, centerCamera, cameraNearFar = "auto", fitOffset = 1.1, fov = camera?.fov } = options;
934
- const size = new Vector3();
935
- const center = new Vector3();
936
- // TODO would be much better to calculate the bounds in camera space instead of world space -
937
- // we would get proper view-dependant fit.
938
- // Right now it's independent from where the camera is actually looking from,
939
- // and thus we're just getting some maximum that will work for sure.
940
- const box = getBoundingBox(objects, undefined, this._camera?.threeCamera?.layers);
941
- const boxCopy = box.clone();
942
- box.getCenter(center);
943
- const box_size = new Vector3();
944
- box.getSize(box_size);
945
- // project this box into camera space
946
- camera.updateMatrixWorld();
947
- box.applyMatrix4(camera.matrixWorldInverse);
948
- box.getSize(size);
949
- box.setFromCenterAndSize(center, size);
950
- if (Number.isNaN(size.x) || Number.isNaN(size.y) || Number.isNaN(size.z)) {
951
- console.warn("Camera fit size resultet in NaN", camera, box, [...objects]);
952
- return;
953
- }
954
- if (size.length() <= 0.0000000001) {
955
- if (debugCameraFit)
956
- console.warn("Camera fit size is zero", box, [...objects]);
926
+ const res = fitCamera({
927
+ objects: [...objects],
928
+ ...options,
929
+ autoApply: false,
930
+ context: this.context,
931
+ camera: this._cameraObject,
932
+ currentZoom: this._controls?.getDistance() || undefined,
933
+ minZoom: this.minZoom,
934
+ maxZoom: this.maxZoom,
935
+ });
936
+ if (!res)
957
937
  return;
958
- }
959
- const verticalFov = fov;
960
- const horizontalFov = 2 * Math.atan(Math.tan(verticalFov * Math.PI / 360 / 2) * camera.aspect) / Math.PI * 360;
961
- const fitHeightDistance = size.y / (2 * Math.atan(Math.PI * verticalFov / 360));
962
- const fitWidthDistance = size.x / (2 * Math.atan(Math.PI * horizontalFov / 360));
963
- const distance = fitOffset * Math.max(fitHeightDistance, fitWidthDistance) + size.z / 2;
964
- if (debugCameraFit) {
965
- console.log("Fit camera to objects", { fitHeightDistance, fitWidthDistance, distance, verticalFov, horizontalFov });
966
- }
967
- this.maxZoom = distance * 10;
968
- this.minZoom = distance * 0.01;
969
- const verticalOffset = 0.05;
970
- const lookAt = center.clone();
971
- lookAt.y -= size.y * verticalOffset;
972
- if (options.targetOffset) {
973
- if (options.targetOffset.x !== undefined)
974
- lookAt.x += options.targetOffset.x;
975
- if (options.targetOffset.y !== undefined)
976
- lookAt.y += options.targetOffset.y;
977
- if (options.targetOffset.z !== undefined)
978
- lookAt.z += options.targetOffset.z;
979
- }
980
- if (options.relativeTargetOffset) {
981
- if (options.relativeTargetOffset.x !== undefined)
982
- lookAt.x += options.relativeTargetOffset.x * size.x;
983
- if (options.relativeTargetOffset.y !== undefined)
984
- lookAt.y += options.relativeTargetOffset.y * size.y;
985
- if (options.relativeTargetOffset.z !== undefined)
986
- lookAt.z += options.relativeTargetOffset.z * size.z;
987
- }
988
- this.setLookTargetPosition(lookAt, immediate);
989
- this.setFieldOfView(options.fov, immediate);
990
- if (cameraNearFar == undefined || cameraNearFar == "auto") {
991
- // Check if the scene has a GroundProjectedEnv and include the scale to the far plane so that it doesnt cut off
992
- const groundprojection = GameObject.findObjectOfType(GroundProjectedEnv);
993
- const groundProjectionRadius = groundprojection ? groundprojection.radius : 0;
994
- const boundsMax = Math.max(box_size.x, box_size.y, box_size.z, groundProjectionRadius);
995
- // TODO: this doesnt take the Camera component nearClipPlane into account
996
- camera.near = (distance / 100);
997
- camera.far = boundsMax + distance * 10;
998
- camera.updateProjectionMatrix();
999
- // adjust maxZoom so that the ground projection radius is always inside
1000
- if (groundprojection) {
1001
- this.maxZoom = Math.max(Math.min(this.maxZoom, groundProjectionRadius * 0.5), distance);
1002
- }
1003
- }
1004
- // ensure we're not clipping out of the current zoom level just because we're fitting
1005
- const currentZoom = controls.getDistance();
1006
- if (currentZoom < this.minZoom)
1007
- this.minZoom = currentZoom * 0.9;
1008
- if (currentZoom > this.maxZoom)
1009
- this.maxZoom = currentZoom * 1.1;
1010
- const direction = center.clone();
1011
- if (options.fitDirection) {
1012
- direction.sub(new Vector3().copy(options.fitDirection).multiplyScalar(1_000_000));
1013
- }
1014
- else {
1015
- direction.sub(camera.worldPosition);
1016
- }
1017
- if (centerCamera === "y")
1018
- direction.y = 0;
1019
- direction.normalize();
1020
- direction.multiplyScalar(distance);
1021
- if (centerCamera === "y")
1022
- direction.y += -verticalOffset * 4 * distance;
1023
- let cameraLocalPosition = center.clone().sub(direction);
1024
- if (options.cameraOffset) {
1025
- if (options.cameraOffset.x !== undefined)
1026
- cameraLocalPosition.x += options.cameraOffset.x;
1027
- if (options.cameraOffset.y !== undefined)
1028
- cameraLocalPosition.y += options.cameraOffset.y;
1029
- if (options.cameraOffset.z !== undefined)
1030
- cameraLocalPosition.z += options.cameraOffset.z;
1031
- }
1032
- if (options.relativeCameraOffset) {
1033
- if (options.relativeCameraOffset.x !== undefined)
1034
- cameraLocalPosition.x += options.relativeCameraOffset.x * size.x;
1035
- if (options.relativeCameraOffset.y !== undefined)
1036
- cameraLocalPosition.y += options.relativeCameraOffset.y * size.y;
1037
- if (options.relativeCameraOffset.z !== undefined)
1038
- cameraLocalPosition.z += options.relativeCameraOffset.z * size.z;
1039
- }
1040
- if (camera.parent) {
1041
- cameraLocalPosition = camera.parent.worldToLocal(cameraLocalPosition);
1042
- }
1043
- this.setCameraTargetPosition(cameraLocalPosition, immediate);
1044
- if (debugCameraFit || options.debug) {
1045
- Gizmos.DrawWireBox3(box, 0xffff33, 10);
1046
- Gizmos.DrawWireBox3(boxCopy, 0x00ff00, 10);
1047
- if (!this._haveAttachedKeyboardEvents && debugCameraFit) {
1048
- this._haveAttachedKeyboardEvents = true;
1049
- document.body.addEventListener("keydown", (e) => {
1050
- if (e.code === "KeyF") {
1051
- // random fov for easier debugging of fov-based fitting
1052
- let fov = undefined;
1053
- if (this._cameraObject instanceof PerspectiveCamera)
1054
- fov = (Math.random() * Math.random()) * 170 + 10;
1055
- this.fitCamera({ objects, fitOffset, immediate: false, fov });
1056
- }
1057
- if (e.code === "KeyV") {
1058
- if (this._cameraObject instanceof PerspectiveCamera)
1059
- this._cameraObject.fov = 60;
1060
- }
1061
- });
1062
- }
1063
- }
938
+ this.setLookTargetPosition(res.lookAt, options?.immediate || false);
939
+ this.setCameraTargetPosition(res.position, options?.immediate || false);
940
+ this.setFieldOfView(options?.fov, options?.immediate || false);
1064
941
  this.onBeforeRender();
1065
- // controls.update(); // this is not enough when calling fitCamera({immediate:true}) in an interval
1066
942
  }
1067
943
  _haveAttachedKeyboardEvents = false;
1068
944
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OrbitControls.js","sourceRoot":"","sources":["../../src/engine-components/OrbitControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrbitControls.js","sourceRoot":"","sources":["../../src/engine-components/OrbitControls.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAe,MAAM,OAAO,CAAC;AAC3G,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAEnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAoB,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,eAAe,EAAkB,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAmB,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAElF,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAA8B,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AACpC,MAAM,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;AAExC,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACjE,IAAI,WAAW,GAAQ,SAAS,CAAC;AAEjC,MAAM,CAAN,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IAC/B,8CAA8C;IAC9C,iEAAsC,CAAA;AAC1C,CAAC,EAHW,uBAAuB,KAAvB,uBAAuB,QAGlC;AACD,MAAM,OAAO,wBAAyB,SAAQ,WAAmE;IAC7G,YAAY,KAAoB,EAAE,IAAyB;QACvD,KAAK,CAAC,uBAAuB,CAAC,mBAAmB,EAAE;YAC/C,MAAM,EAAE;gBACJ,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,IAAI;aACb;SACJ,CAAC,CAAC;IACP,CAAC;CACJ;AAkBD;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAExC;;OAEG;IACH,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;MAGE;IACF,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;MAGE;IACF,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,6EAA6E;IACtE,kBAAkB,CAAC,QAAkB;QACxC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAe,CAAC,CAAC;IAC9D,CAAC;IAED;;MAEE;IAEF,UAAU,GAAY,IAAI,CAAC;IAC3B;;MAEE;IAEF,OAAO,GAAY,KAAK,CAAC;IAEzB;;MAEE;IAEF,YAAY,GAAY,IAAI,CAAC;IAC7B;;MAEE;IAEF,UAAU,GAAY,KAAK,CAAC;IAC5B;;MAEE;IAEF,eAAe,GAAW,GAAG,CAAC;IAC9B,2CAA2C;IAE3C,eAAe,GAAW,QAAQ,CAAC;IACnC,2CAA2C;IAE3C,eAAe,GAAW,QAAQ,CAAC;IACnC;;OAEG;IAEH,aAAa,GAAW,CAAC,CAAC;IAC1B;;OAEG;IAEH,aAAa,GAAW,IAAI,CAAC,EAAE,CAAC;IAEhC;;OAEG;IAEH,UAAU,GAAY,KAAK,CAAC;IAC5B;;MAEE;IAEF,aAAa,GAAY,IAAI,CAAC;IAC9B;;OAEG;IAEH,aAAa,GAAW,GAAG,CAAC;IAE5B;;MAEE;IAEF,UAAU,GAAY,IAAI,CAAC;IAC3B;;OAEG;IAEH,OAAO,GAAW,CAAC,CAAC;IACpB;;OAEG;IAEH,OAAO,GAAW,QAAQ,CAAC;IAE3B;;;OAGG;IAEH,SAAS,GAAW,CAAC,CAAC;IAEtB;;;OAGG;IACH,YAAY,GAAY,KAAK,CAAC;IAE9B;;OAEG;IAEH,SAAS,GAAY,IAAI,CAAC;IAC1B;;MAEE;IAEF,gBAAgB,GAA4B,IAAI,CAAC;IACjD;;MAEE;IAEF,kBAAkB,GAAW,CAAC,CAAC;IAE/B;;MAEE;IAEF,cAAc,GAAY,IAAI,CAAC;IAC/B,0FAA0F;IAE1F,kBAAkB,GAAY,IAAI,CAAC;IACnC;;OAEG;IAEH,kBAAkB,GAAY,IAAI,CAAC;IACnC;;;OAGG;IAEH,yBAAyB,GAAW,CAAC,CAAC;IAEtC;;;OAGG;IACH,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC;IAC7D,CAAC;IACD,IAAI,aAAa,CAAC,KAAyB;QACvC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,KAAK,KAAK,EAAE;YACvD,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;SAC5B;IACL,CAAC;IACO,cAAc,GAAuB,IAAI,CAAC;IAGlD;;;OAGG;IACH,QAAQ,GAAY,KAAK,CAAC;IAE1B;;;SAGK;IACL,IAAI,eAAe,KAAK,OAAO,CAAC,CAAA,CAAC,CAAC;IAClC,IAAI,eAAe,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE3D;;OAEG;IAEH,kBAAkB,GAAG,CAAC,CAAC;IAEvB;;;;;;;;;;OAUG;IACH,UAAU,CAAC,cAAsB;QAC7B,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,cAAsB;QAC3B,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,EAAU,EAAE,EAAU;QACtB,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAa;QAChB,IAAI,KAAK,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;SACvC;aACI,IAAI,KAAK,GAAG,CAAC,EAAE;YAChB,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;SACxC;IACL,CAAC;IAIO,SAAS,GAA8B,IAAI,CAAC;IAC5C,aAAa,GAAoB,IAAI,CAAC;IAEtC,qBAAqB,GAAY,KAAK,CAAC;IACvC,wBAAwB,GAAY,IAAI,OAAO,EAAE,CAAC;IAClD,sBAAsB,GAAY,IAAI,OAAO,EAAE,CAAC;IAChD,iBAAiB,GAAW,CAAC,CAAC;IAC9B,uBAAuB,GAAW,CAAC,CAAC;IAEpC,iBAAiB,GAAY,KAAK,CAAC;IACnC,oBAAoB,GAAY,IAAI,OAAO,EAAE,CAAC;IAC9C,kBAAkB,GAAY,IAAI,OAAO,EAAE,CAAC;IAC5C,aAAa,GAAW,CAAC,CAAC;IAC1B,mBAAmB,GAAW,CAAC,CAAC;IAEhC,cAAc,GAAY,KAAK,CAAC;IAChC,kBAAkB,GAAW,CAAC,CAAC;IAC/B,gBAAgB,GAAW,CAAC,CAAC;IAC7B,UAAU,GAAW,CAAC,CAAC;IACvB,gBAAgB,GAAW,CAAC,CAAC;IAE7B,OAAO,GAAW,CAAC,CAAC;IACpB,WAAW,GAAW,CAAC,CAAC,CAAC,yDAAyD;IAClF,4BAA4B,GAAY,KAAK,CAAC;IAE9C,YAAY,CAAe;IAC3B,mBAAmB,CAAO;IAC1B,OAAO,GAAkB,IAAI,CAAC;IAC9B,gBAAgB,CAAmB;IACnC,aAAa,GAAG,CAAC,CAAC;IAE1B,gBAAgB;IAChB,KAAK;QACD,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC1C,IAAK,IAAI,CAAC,OAAO,CAAC,UAAuC,CAAC,cAAc,KAAK,KAAK,EAAE;YAChF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACxB;IACL,CAAC;IAED,gBAAgB;IAChB,KAAK;QACD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;QAC/D,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAoB,CAAC,CAAC;SACrG;IACL,CAAC;IAED,gBAAgB;IAChB,SAAS;QACL,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAoB,CAAC,CAAC;IAC1G,CAAC;IAED,gBAAgB;IAChB,QAAQ;QACJ,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;QAC/B,IAAI,GAAG,GAAG,eAAe,EAAE,WAAW,CAAC;QACvC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,YAAY,iBAAiB,EAAE;YACtD,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;SACzB;QACD,IAAI,GAAG;YAAE,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,YAAY,QAAQ,EAAE;YAC5C,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,kFAAkF;YAClF,4DAA4D;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;YACvE,qFAAqF;YACrF,MAAM,GAAG,GAAG,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,GAAI,EAAE,OAAO,CAAC,CAAC;YACvD,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,GAAI,CAAC,CAAA;YAC1B,IAAI,WAAW,KAAK,SAAS;gBAAE,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACxE,oEAAoE;YACpE,gDAAgD;YAChD,yGAAyG;YACzG,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC;YACjB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,OAAO,EAAE;gBACT,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,eAAe,CAAC,cAAc,EAAE;oBAAE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;aACxE;YACD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACvE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAE3E,IAAI,CAAC,IAAI,CAAC,4BAA4B,IAAI,IAAI,CAAC,UAAU,EAAE;gBACvD,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;gBACzC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;aAC7D;iBACI;gBACD,IAAI;oBACA,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;iBAC1C;gBAAC,MAAM,EAAE,uDAAuD,EAAE;aACtE;SACJ;QACD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,IAAI,SAAS,CAAC;QAC/F,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3D,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;QACtG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,gBAAgB;IAChB,SAAS;QACL,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE;YAC3B,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SAC9D;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC1E,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC9E,IAAI;gBACA,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;aAC1C;YAAC,MAAM,EAAE,uDAAuD,EAAE;YACnE,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;SAC7C;QACD,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IAEO,oBAAoB,CAAoB;IACxC,0BAA0B,GAAW,CAAC,CAAC,CAAC;IACxC,uBAAuB,GAAW,CAAC,CAAC;IAEpC,cAAc,GAAG,CAAC,IAAoB,EAAE,EAAE;QAC9C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAA;IACO,kBAAkB,GAAG,CAAC,GAAmB,EAAE,EAAE;QACjD,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;YAC5B,wGAAwG;YACxG,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;SAClC;IACL,CAAC,CAAA;IAEO,YAAY,GAAG,CAAC,GAAmB,EAAE,EAAE;QAC3C,iDAAiD;QACjD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,UAAU,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;gBAC5E,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvC,MAAM;aACT;SACJ;QAED,IAAI,IAAI,CAAC,yBAAyB,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YAEvE,oDAAoD;YACpD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACb,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;aAC7D;YAED,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,0BAA0B,CAAC;gBACpE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzD,IAAI,IAAI,CAAC,yBAAyB,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,yBAAyB,GAAG,GAAG,EAAE;oBAClF,IAAI,CAAC,uBAAuB,IAAI,CAAC,CAAC;oBAClC,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,yBAAyB,GAAG,CAAC,EAAE;wBACpE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;wBACxB,IAAI,CAAC,SAAS,CAAC;4BACX,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;4BAC3B,SAAS,EAAE,KAAK;yBACnB,CAAC,CAAC;qBACN;iBACJ;qBACI;oBACD,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;iBACpC;aACJ;YAED,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAA;SACjH;IACL,CAAC,CAAC;IAEM,gBAAgB,GAAG,CAAC,GAAmB,EAAE,EAAE;QAC/C,IAAI,IAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YAC3D,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC/B;QACD,wCAAwC;QACxC,2CAA2C;QAC3C,8BAA8B;QAC9B,IAAI;IACR,CAAC,CAAC;IAEM,eAAe,CAAC,OAAyB;QAC7C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5G,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE;YACnE,IAAI,KAAK;gBAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9C;aACI;YACD,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;SACnG;IACL,CAAC;IAEO,gBAAgB,GAAW,CAAC,CAAC;IAC7B,kBAAkB,GAAW,CAAC,CAAC;IAC/B,uBAAuB,GAAG,GAAG,EAAE;QACnC,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC5F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;SAC1D;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;SAC5C;IACL,CAAC,CAAA;IACO,qBAAqB,GAAG,GAAG,EAAE;QACjC,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACzF,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;gBACrF,MAAM,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBACpD,+FAA+F;gBAC/F,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,EAAE;oBAC5B,IAAI,KAAK;wBAAE,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACzE,IAAI,CAAC,eAAe,CAAC,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC;iBAC7D;qBACI,IAAI,KAAK;oBAAE,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;aACpF;SACJ;IAEL,CAAC,CAAA;IAEO,cAAc,GAAY,KAAK,CAAC;IAChC,gBAAgB,CAAC,GAAuC;QAC5D,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE;YACjC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;gBACxB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE;oBACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;iBACvD;aACJ;iBACI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gBACzD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC/B;SACJ;IACL,CAAC;IAED,eAAe,CAAC,QAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,QAAQ;YAAE,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;IACjD,CAAC;IAGD,gBAAgB;IAChB,cAAc;QACV,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAChD,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;YAC/B,OAAO;SACV;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QAE9B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE;YACxO,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE;YACzC,2GAA2G;YAC3G,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aAC3B;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;SACtC;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAGjB,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,4DAA4D;YAC5D,+CAA+C;YAC/C,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE;gBAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC/D,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE;oBAC9C,IAAI,IAAI,CAAC,QAAQ;wBACb,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC7B,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBAC1D,wDAAwD;oBACxD,mFAAmF;oBACnF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC/D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;oBACjG,IAAI,KAAK;wBAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;oBAChE,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;iBAC7C;gBACD,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE;oBACrC,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;oBAClC,wBAAwB;oBACxB,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;oBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;wBACjB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBACnD;oBACD,IAAI,cAAc;wBACd,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,CAAC;iBAClD;aACJ;SACJ;QAED,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,IAAI,cAAc,EAAE;YAChB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC/B;QAED,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,cAAc,EAAE;YAC7E,kBAAkB;YAClB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC9C,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBAC7E,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;oBACzB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBAC1D,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;iBACpE;qBACI;oBACD,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBACnD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;iBAClG;aACJ;YAED,uBAAuB;YACvB,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC5B,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC;gBACrF,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE;oBAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;oBACjF,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;oBACnC,IAAI,CAAC,aAAa,CAAC,IAAI,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;iBACpE;qBAAM;oBACH,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACvD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;iBACtF;aACJ;YAED,eAAe;YACf,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,aAAkC,CAAC;gBACpD,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBACvE,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;oBACtB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;oBAChC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC/B;qBAAM;oBACH,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAChD,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;iBAC3E;gBACD,GAAG,CAAC,sBAAsB,EAAE,CAAC;aAChC;SACJ;QAGD,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;YACjE,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3K,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;YACnE,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YACtD,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAClD,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAClD,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YACtD,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YACtD,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAClD,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAClD,8CAA8C;YAC9C,IAAI,CAAC,OAAO,EAAE;gBACV,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,mBAAmB,EAAE;oBACzD,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;oBAC1C,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;oBAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC;iBACrC;qBACI;oBACD,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC;oBAC/B,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC;oBACtC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;oBACtC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;iBACzC;aACJ;YAED,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE;gBACrD,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;gBACpC,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/D,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;aAC1E;YAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACtB,IAAI,IAAI,CAAC,qBAAqB,EAAE;oBAC5B,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;iBACpC;gBACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBACxB,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC;oBACpC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;iBACrC;gBACD,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBACtD,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;iBACrC;aACJ;YAED,mDAAmD;YACnD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACtB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBAC1E,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;iBAChE;gBACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAEnD,IAAI,KAAK,EAAE;oBACP,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;iBAC/D;aACJ;SACJ;IACL,CAAC;IAEO,aAAa,GAAG,GAAG,EAAE;QAEzB,sHAAsH;QACtH,uCAAuC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,KAAK,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACtD;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,6EAA6E;YAC7E,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC;gBACX,YAAY,EAAE,GAAG;gBACjB,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;aAC/B,CAAC,CAAA;SACL;IACL,CAAC,CAAA;IAGD;;;;;;;;OAQG;IACI,sBAAsB,CAAC,MAAyB,EAAE,sBAAwC,KAAK;QAClG,IAAI,CAAC,MAAM,EAAE;YACT,IAAI,gBAAgB,EAAE,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACvG,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,CAAC,CAAC,MAAM,YAAY,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC,EAAE;YAC9D,IAAI,gBAAgB,EAAE,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAC5H,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,MAAM,YAAY,MAAM,EAAE;YAC1B,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;SAC9B;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC;QAEpC,sIAAsI;QACtI,IAAI,MAAM,YAAY,OAAO,EAAE;YAC3B,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YACrG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9B;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAE5C,IAAI,KAAK;YAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,CAAC,EAAE;YACtD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;SAC/E;QAED,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;MAGE;IACK,uBAAuB,CAAC,QAAwC,EAAE,sBAAwC,KAAK;QAClH,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,QAAQ,YAAY,QAAQ,EAAE;YAC9B,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAY,CAAC;SACpD;QACD,IAAI,CAAC,IAAI,CAAC,kBAAkB;YAAE,IAAI,CAAC,kBAAkB,GAAG,IAAI,OAAO,EAAE,CAAC;QACtE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,mBAAmB,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAC7D;SACJ;aACI,IAAI,IAAI,CAAC,aAAa,EAAE;YACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC7D,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE;gBACzC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;aAClD;;gBACI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC;SAC3D;IACL,CAAC;IACD,gIAAgI;IAChI,uCAAuC;IAEvC,6HAA6H;IAE7H,qFAAqF;IAErF,2FAA2F;IAC3F,0FAA0F;IAC1F,8DAA8D;IAC9D,QAAQ;IAER,yCAAyC;IACzC,2DAA2D;IAC3D,QAAQ;IACR,uCAAuC;IACvC,8DAA8D;IAC9D,QAAQ;IAER,+CAA+C;IAC/C,wCAAwC;IAExC,6DAA6D;IAE7D,6BAA6B;IAC7B,4EAA4E;IAC5E,QAAQ;IACR,aAAa;IACb,kEAAkE;IAClE,QAAQ;IACR,IAAI;IAEJ,qDAAqD;IACrD,IAAI,gBAAgB,KAAK,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACzD,2CAA2C;IACpC,cAAc;QACjB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACnC,CAAC;IAEM,cAAc,CAAC,GAAuB,EAAE,sBAAwC,KAAK;QACxF,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,WAAgC,CAAC;QAC3D,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,mBAAmB,KAAK,IAAI,EAAE;YAC9B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;SACjB;aACI;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,GAAG,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;YAC5B,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE;gBACzC,IAAI,CAAC,gBAAgB,GAAG,mBAAmB,CAAC;aAC/C;;gBACI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC;SACxD;QAED,4FAA4F;IAChG,CAAC;IAED;;;MAGE;IACK,qBAAqB,CAAC,WAA0C,IAAI,EAAE,sBAAwC,KAAK;QACtH,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC,QAAQ;YAAE,OAAM;QACrB,IAAI,QAAQ,YAAY,QAAQ,EAAE;YAC9B,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAY,CAAC;SACpD;QACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3C,wIAAwI;QACxI,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,KAAK,EAAE;YACP,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;YACpF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;SACvE;QAED,IAAI,mBAAmB,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;SACpF;aACI;YACD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE;gBACzC,IAAI,CAAC,uBAAuB,GAAG,mBAAmB,CAAC;aACtD;;gBACI,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,kBAAkB,CAAC;SAC/D;IACL,CAAC;IACD,wDAAwD;IACxD,IAAI,oBAAoB,KAAK,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACjE,8CAA8C;IACvC,kBAAkB;QACrB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACvC,CAAC;IAED;;;MAGE;IACM,2BAA2B,CAAC,QAAgB,CAAC,EAAE,IAAY,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,IAAI,CAAC,gBAAgB,EAAE,OAAO,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC;QAC/C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACrD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;gBAC3E,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,cAAc,CAAC,KAAc,EAAE,QAAiB,EAAE,CAAS;QAC/D,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;YAC5C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClG,CAAC;IAEO,oBAAoB,CAAC,GAAS,EAAE,sBAAwC,KAAK;QACjF,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3F,KAAK,MAAM,GAAG,IAAI,EAAE,EAAE;YAClB,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,IAAI,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAEhE,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,WAAW,EAAE;oBACb,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;oBAClC,IAAI,MAAM,EAAE,WAAW,EAAE;wBACrB,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;gBAC3D,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAYD,SAAS,CAAC,gBAAqE,EAAE,OAA+B;QAG5G,IAAI,OAAO,GAA2C,SAAS,CAAC;QAChE,mDAAmD;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;YACjC,OAAO,GAAG,gBAAgB,CAAC;SAC9B;QACD,oDAAoD;aAC/C,IAAI,gBAAgB,IAAI,MAAM,IAAI,gBAAgB,EAAE;YACrD,OAAO,GAAG,gBAAgB,CAAC;SAC9B;QACD,mFAAmF;aAC9E,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;YAC/D,IAAI,CAAC,CAAC,gBAAgB,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBAC7E,OAAO,GAAG,gBAAgB,CAAC;gBAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;aAC7B;SACJ;QACD,qCAAqC;QACrC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACpC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;SACvB;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3D,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzC;QAED,uCAAuC;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YAChD,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC/C,OAAO;SACV;QAGD,MAAM,GAAG,GAAG,SAAS,CAAC;YAClB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;YACrB,GAAG,OAAO;YACV,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,aAAwB;YACrC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,SAAS;YACvD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAEO,2BAA2B,GAAY,KAAK,CAAC;CACxD;AAz7BG;IADC,YAAY,EAAE;iDACY;AAK3B;IADC,YAAY,EAAE;8CACU;AAMzB;IADC,YAAY,EAAE;mDACc;AAK7B;IADC,YAAY,EAAE;iDACa;AAK5B;IADC,YAAY,EAAE;sDACe;AAG9B;IADC,YAAY,EAAE;sDACoB;AAGnC;IADC,YAAY,EAAE;sDACoB;AAKnC;IADC,YAAY,EAAE;oDACW;AAK1B;IADC,YAAY,EAAE;oDACiB;AAMhC;IADC,YAAY,EAAE;iDACa;AAK5B;IADC,YAAY,EAAE;oDACe;AAK9B;IADC,YAAY,EAAE;oDACa;AAM5B;IADC,YAAY,EAAE;iDACY;AAK3B;IADC,YAAY,EAAE;8CACK;AAKpB;IADC,YAAY,EAAE;8CACY;AAO3B;IADC,YAAY,EAAE;gDACO;AAYtB;IADC,YAAY,EAAE;gDACW;AAK1B;IADC,YAAY,CAAC,gBAAgB,CAAC;uDACkB;AAKjD;IADC,YAAY,EAAE;yDACgB;AAM/B;IADC,YAAY,EAAE;qDACgB;AAG/B;IADC,YAAY,EAAE;yDACoB;AAKnC;IADC,YAAY,EAAE;yDACoB;AAMnC;IADC,YAAY,EAAE;gEACuB;AAqCtC;IADC,YAAY,EAAE;yDACQ"}
@@ -80,9 +80,9 @@ export declare class Renderer extends Behaviour implements IRenderer {
80
80
  get sharedMeshes(): Mesh[];
81
81
  get sharedMaterial(): SharedMaterial;
82
82
  set sharedMaterial(mat: SharedMaterial);
83
- /**@deprecated please use sharedMaterial */
83
+ /**@deprecated Use sharedMaterial */
84
84
  get material(): SharedMaterial;
85
- /**@deprecated please use sharedMaterial */
85
+ /**@deprecated Use sharedMaterial */
86
86
  set material(mat: SharedMaterial);
87
87
  private _sharedMaterials;
88
88
  private _originalMaterials?;
@@ -276,9 +276,11 @@ export class Renderer extends Behaviour {
276
276
  }
277
277
  return this._sharedMeshes;
278
278
  }
279
+ // @ts-ignore
279
280
  get sharedMaterial() {
280
- return this.sharedMaterials[0];
281
+ return (this.sharedMaterials?.[0]);
281
282
  }
283
+ // @ts-ignore
282
284
  set sharedMaterial(mat) {
283
285
  const cur = this.sharedMaterials[0];
284
286
  if (cur === mat)
@@ -286,11 +288,11 @@ export class Renderer extends Behaviour {
286
288
  this.sharedMaterials[0] = mat;
287
289
  this.applyLightmapping();
288
290
  }
289
- /**@deprecated please use sharedMaterial */
291
+ /**@deprecated Use sharedMaterial */
290
292
  get material() {
291
- return this.sharedMaterials[0];
293
+ return this.sharedMaterials?.[0];
292
294
  }
293
- /**@deprecated please use sharedMaterial */
295
+ /**@deprecated Use sharedMaterial */
294
296
  set material(mat) {
295
297
  this.sharedMaterial = mat;
296
298
  }
@@ -321,8 +323,11 @@ export class Renderer extends Behaviour {
321
323
  }
322
324
  //@ts-ignore
323
325
  get sharedMaterials() {
326
+ // @ts-ignore (original materials will be set during deserialization)
327
+ if (this._originalMaterials === undefined)
328
+ return null;
324
329
  // @ts-ignore during deserialization code might access this property *before* the setter and then create an empty array
325
- if (!this.__didAwake)
330
+ if (this.__isDeserializing === true)
326
331
  return null;
327
332
  if (!this._sharedMaterials || !this._sharedMaterials.is(this)) {
328
333
  if (!this._originalMaterials)