@needle-tools/engine 5.0.0-canary.046b5ee → 5.0.0-canary.663b7ae

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 (30) hide show
  1. package/SKILL.md +10 -51
  2. package/components.needle.json +1 -1
  3. package/dist/{needle-engine.bundle-ftBf8i-Y.umd.cjs → needle-engine.bundle-B2scYiA2.umd.cjs} +130 -130
  4. package/dist/{needle-engine.bundle-DG7qmP91.min.js → needle-engine.bundle-BFEYJdZs.min.js} +127 -127
  5. package/dist/{needle-engine.bundle-m_XBpL11.js → needle-engine.bundle-CYxZeAfg.js} +5671 -5575
  6. package/dist/needle-engine.d.ts +76 -10
  7. package/dist/needle-engine.js +84 -83
  8. package/dist/needle-engine.min.js +1 -1
  9. package/dist/needle-engine.umd.cjs +1 -1
  10. package/lib/engine/engine_addressables.js +3 -0
  11. package/lib/engine/engine_addressables.js.map +1 -1
  12. package/lib/engine/engine_gameobject.js.map +1 -1
  13. package/lib/engine/engine_networking.d.ts +11 -8
  14. package/lib/engine/engine_networking.js +43 -26
  15. package/lib/engine/engine_networking.js.map +1 -1
  16. package/lib/engine/engine_networking_instantiate.d.ts +21 -4
  17. package/lib/engine/engine_networking_instantiate.js +37 -3
  18. package/lib/engine/engine_networking_instantiate.js.map +1 -1
  19. package/lib/engine-components/OrbitControls.js +1 -1
  20. package/lib/engine-components/OrbitControls.js.map +1 -1
  21. package/lib/engine-components/Voip.d.ts +46 -0
  22. package/lib/engine-components/Voip.js +126 -2
  23. package/lib/engine-components/Voip.js.map +1 -1
  24. package/package.json +1 -1
  25. package/src/engine/engine_addressables.ts +3 -0
  26. package/src/engine/engine_gameobject.ts +1 -1
  27. package/src/engine/engine_networking.ts +46 -23
  28. package/src/engine/engine_networking_instantiate.ts +38 -5
  29. package/src/engine-components/OrbitControls.ts +1 -1
  30. package/src/engine-components/Voip.ts +129 -2
@@ -3,7 +3,7 @@ import { type IInstantiateOptions } from "./engine_gameobject.js";
3
3
  import type { INetworkConnection } from "./engine_networking_types.js";
4
4
  import type { IModel } from "./engine_networking_types.js";
5
5
  import { Context } from "./engine_setup.js";
6
- import type { IComponent as Component, IGameObject as GameObject, IContext } from "./engine_types.js";
6
+ import type { IComponent as Component, IContext, IGameObject as GameObject } from "./engine_types.js";
7
7
  import type { UIDProvider } from "./engine_types.js";
8
8
  export declare class InstantiateIdProvider implements UIDProvider {
9
9
  get seed(): number;
@@ -38,6 +38,23 @@ declare type SyncDestroyOptions = {
38
38
  */
39
39
  export declare function syncDestroy(obj: GameObject | Component, con: INetworkConnection, recursive?: boolean, opts?: SyncDestroyOptions): void;
40
40
  export declare function sendDestroyed(guid: string, con: INetworkConnection, opts?: SyncDestroyOptions): void;
41
+ declare type SyncDestroyCallback = (guid: string, object: Object3D) => void;
42
+ /**
43
+ * Register a callback that fires when a remote `syncDestroy` event is received.
44
+ * The callback receives the guid and the resolved Object3D (or null if not found in the scene).
45
+ * The callback fires **before** the object is destroyed, so you can still access its state.
46
+ * @param callback Called with the guid and the Object3D about to be destroyed
47
+ * @returns An unsubscribe function
48
+ * @category Networking
49
+ * @example
50
+ * ```ts
51
+ * const unsub = onSyncDestroy((guid, obj) => {
52
+ * console.log("Remote object destroyed:", guid, obj?.name);
53
+ * });
54
+ * // later: unsub();
55
+ * ```
56
+ */
57
+ export declare function onSyncDestroy(callback: SyncDestroyCallback): () => void;
41
58
  export declare function beginListenDestroy(context: Context): void;
42
59
  /**
43
60
  * When a file is instantiated via some server (e.g. via file drop) we also want to send the info where the file can be downloaded.
@@ -165,14 +182,14 @@ export declare function onSyncInstantiate(callback: SyncInstantiateCallback): ()
165
182
  export declare function syncInstantiate(object: GameObject | Object3D, opts: SyncInstantiateOptions, hostData?: HostData, save?: boolean): GameObject | null;
166
183
  export declare function generateSeed(): number;
167
184
  export declare function beginListenInstantiate(context: Context): () => void;
168
- export { Prefabs, type PrefabProviderCallback } from "./engine_networking_prefabs.js";
185
+ export { type PrefabProviderCallback, Prefabs } from "./engine_networking_prefabs.js";
169
186
  /**
170
- * @deprecated Use `Prefabs.register()` instead.
187
+ * Register a prefab provider. Forwards to {@link Prefabs.register}.
171
188
  * @category Networking
172
189
  */
173
190
  export declare function registerPrefabProvider(key: string, fn: (guid: string) => Promise<Object3D | null>): void;
174
191
  /**
175
- * @deprecated Use `Prefabs.unregister()` instead.
192
+ * Unregister a prefab provider. Forwards to {@link Prefabs.unregister}.
176
193
  * @category Networking
177
194
  */
178
195
  export declare function unregisterPrefabProvider(key: string): void;
@@ -114,14 +114,48 @@ export function sendDestroyed(guid, con, opts) {
114
114
  }
115
115
  con.send(InstantiateEvent.InstanceDestroyed, model, SendQueue.Queued);
116
116
  }
117
+ const _onSyncDestroyCallbacks = [];
118
+ /**
119
+ * Register a callback that fires when a remote `syncDestroy` event is received.
120
+ * The callback receives the guid and the resolved Object3D (or null if not found in the scene).
121
+ * The callback fires **before** the object is destroyed, so you can still access its state.
122
+ * @param callback Called with the guid and the Object3D about to be destroyed
123
+ * @returns An unsubscribe function
124
+ * @category Networking
125
+ * @example
126
+ * ```ts
127
+ * const unsub = onSyncDestroy((guid, obj) => {
128
+ * console.log("Remote object destroyed:", guid, obj?.name);
129
+ * });
130
+ * // later: unsub();
131
+ * ```
132
+ */
133
+ export function onSyncDestroy(callback) {
134
+ _onSyncDestroyCallbacks.push(callback);
135
+ return () => {
136
+ const idx = _onSyncDestroyCallbacks.indexOf(callback);
137
+ if (idx >= 0)
138
+ _onSyncDestroyCallbacks.splice(idx, 1);
139
+ };
140
+ }
117
141
  export function beginListenDestroy(context) {
118
142
  context.connection.beginListen(InstantiateEvent.InstanceDestroyed, (data) => {
119
143
  if (debug)
120
144
  console.log("[Remote] Destroyed", context.scene, data);
121
145
  // TODO: create global lookup table for guids
122
146
  const obj = findByGuid(data.guid, context.scene);
123
- if (obj)
147
+ if (obj) {
148
+ // Notify listeners before destroying
149
+ for (const cb of _onSyncDestroyCallbacks) {
150
+ try {
151
+ cb(data.guid, obj);
152
+ }
153
+ catch (err) {
154
+ console.error("Error in onSyncDestroy callback", err);
155
+ }
156
+ }
124
157
  destroy(obj);
158
+ }
125
159
  });
126
160
  }
127
161
  //
@@ -409,14 +443,14 @@ function instantiateSeeded(obj, opts) {
409
443
  export { Prefabs } from "./engine_networking_prefabs.js";
410
444
  import { Prefabs } from "./engine_networking_prefabs.js";
411
445
  /**
412
- * @deprecated Use `Prefabs.register()` instead.
446
+ * Register a prefab provider. Forwards to {@link Prefabs.register}.
413
447
  * @category Networking
414
448
  */
415
449
  export function registerPrefabProvider(key, fn) {
416
450
  Prefabs.register(key, fn);
417
451
  }
418
452
  /**
419
- * @deprecated Use `Prefabs.unregister()` instead.
453
+ * Unregister a prefab provider. Forwards to {@link Prefabs.unregister}.
420
454
  * @category Networking
421
455
  */
422
456
  export function unregisterPrefabProvider(key) {
@@ -1 +1 @@
1
- {"version":3,"file":"engine_networking_instantiate.js","sourceRoot":"","sources":["../../src/engine/engine_networking_instantiate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_networking_instantiate.js","sourceRoot":"","sources":["../../src/engine/engine_networking_instantiate.ts"],"names":[],"mappings":"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"}
@@ -18,10 +18,10 @@ import { getTempVector, getWorldPosition } from "../engine/engine_three_utils.js
18
18
  import { DeviceUtilities, getParam } from "../engine/engine_utils.js";
19
19
  import { Camera } from "./Camera.js";
20
20
  import { Behaviour, GameObject } from "./Component.js";
21
+ import { LookAtConstraint } from "./LookAtConstraint.js";
21
22
  import { SyncedTransform } from "./SyncedTransform.js";
22
23
  import { EventSystem, EventSystemEvents } from "./ui/EventSystem.js";
23
24
  import { tryGetUIComponent } from "./ui/Utils.js";
24
- import { LookAtConstraint } from "./LookAtConstraint.js";
25
25
  const debug = getParam("debugorbit");
26
26
  const freeCam = getParam("freecam");
27
27
  const debugCameraFit = getParam("debugcamerafit");
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;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;;;MAGE;IAEF,YAAY,GAAoB,IAAI,CAAC;IACrC;;;MAGE;IAEF,gBAAgB,GAAY,IAAI,CAAC;IAEjC;;MAEE;IAEF,kBAAkB,GAAW,CAAC,CAAC;IAE/B,4DAA4D;IAEpD,gBAAgB,CAAoB;IAE5C;;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,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;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,IAAI,kBAAkB,KAAK,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACjE,IAAI,kBAAkB,CAAC,CAAC,IAAI,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,uBAAuB,GAAW,CAAC,CAAC;IAG5C,YAAY,GAAoB,IAAI,CAAC;IAErC;;;;;;;;;;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,CAAC;YACZ,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QACxC,CAAC;aACI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QACzC,CAAC;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;IAE9B,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;IAClB,qBAAqB,GAAG,KAAK,CAAC;IAEtC,gBAAgB;IAChB,KAAK;QACD,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,wIAAwI,CAAC,CAAC;YACvJ,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YACzD,CAAC;QACL,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC1C,IAAK,IAAI,CAAC,OAAO,CAAC,UAAuC,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YACjF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC;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,CAAC;YACpB,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;QACtG,CAAC;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,qBAAqB,GAAG,KAAK,CAAC;QACnC,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,CAAC;YACvD,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAC1B,CAAC;QACD,IAAI,GAAG;YAAE,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC7C,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;QACvC,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,OAAO,EAAE,CAAC;gBACV,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;YACzE,CAAC;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,CAAC;gBACxD,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;gBACzC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC9D,CAAC;iBACI,CAAC;gBACF,IAAI,CAAC;oBACD,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;gBAC3C,CAAC;gBAAC,MAAM,CAAC,CAAC,uDAAuD,CAAC,CAAC;YACvE,CAAC;QACL,CAAC;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,CAAC;YAC5B,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,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,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC,CAAC,uDAAuD,CAAC,CAAC;YACnE,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC9C,CAAC;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,CAAC;YAC7B,wGAAwG;YACxG,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QACnC,CAAC;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,CAAC;YAC7D,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,CAAC;gBAC7E,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvC,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,yBAAyB,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAExE,oDAAoD;YACpD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACd,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAChC,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,CAAC;oBACnF,IAAI,CAAC,uBAAuB,IAAI,CAAC,CAAC;oBAClC,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,yBAAyB,GAAG,CAAC,EAAE,CAAC;wBACrE,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;oBACP,CAAC;gBACL,CAAC;qBACI,CAAC;oBACF,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;gBACrC,CAAC;YACL,CAAC;YAED,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAClH,CAAC;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,CAAC;YAC5D,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC;QACD,wCAAwC;QACxC,2CAA2C;QAC3C,8BAA8B;QAC9B,IAAI;IACR,CAAC,CAAC;IAEM,eAAe,CAAC,OAAyB;QAC7C,IAAI,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,6IAA6I,EAAE,OAAO,CAAC,CAAC;QAChL,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,CAAC;YACpE,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;QAC/C,CAAC;aACI,CAAC;YACF,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;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,CAAC;YACjB,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;QAC3D,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;QAC7C,CAAC;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,CAAC;YACjB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,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,CAAC;oBAC7B,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;gBAC9D,CAAC;qBACI,IAAI,KAAK;oBAAE,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACrF,CAAC;QACL,CAAC;IAEL,CAAC,CAAA;IAEO,cAAc,GAAY,KAAK,CAAC;IAChC,gBAAgB,CAAC,GAAuC;QAC5D,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;gBACxD,CAAC;YACL,CAAC;iBACI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1D,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAChC,CAAC;QACL,CAAC;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,CAAC;YACjD,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;YAC/B,OAAO;QACX,CAAC;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,CAAC;YACzO,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,2GAA2G;YAC3G,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAGjB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,4DAA4D;YAC5D,+CAA+C;YAC/C,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC7B,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,CAAC;oBAC/C,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;gBAC9C,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,CAAC;oBACtC,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,CAAC;wBAClB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACpD,CAAC;oBACD,IAAI,cAAc;wBACd,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,CAAC;gBACnD,CAAC;YACL,CAAC;QACL,CAAC;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,CAAC;YACjB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9E,kBAAkB;YAClB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC/C,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBAC7E,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC;oBAC1B,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;gBACrE,CAAC;qBACI,CAAC;oBACF,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;gBACnG,CAAC;YACL,CAAC;YAED,uBAAuB;YACvB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC;gBACrF,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE,CAAC;oBAC9B,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;gBACrE,CAAC;qBAAM,CAAC;oBACJ,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;gBACvF,CAAC;YACL,CAAC;YAED,eAAe;YACf,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC5C,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,CAAC;oBACvB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;oBAChC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACJ,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;gBAC5E,CAAC;gBACD,GAAG,CAAC,sBAAsB,EAAE,CAAC;YACjC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,wBAAwB;YACxB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACrD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACvF,MAAM,GAAG,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5D,MAAM,GAAG,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,IAAI,QAAQ,IAAI,CAAC;gBAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;gBAC3C,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC;YAC1E,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,QAAQ,IAAI,CAAC;oBAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;oBAC1D,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;YACnG,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YACjF,CAAC;QACL,CAAC;QAGD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;YAEhF,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YAEvE,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,QAAQ,GAAG,cAAc,CAAC;YACzC,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,CAAC;gBACX,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,mBAAmB,EAAE,CAAC;oBAC1D,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;gBACtC,CAAC;qBACI,CAAC;oBACF,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;gBAC1C,CAAC;YACL,CAAC;YAED,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACtD,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;YAC3E,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC7B,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;gBACrC,CAAC;gBACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC;oBACpC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;gBACtC,CAAC;gBACD,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvD,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;gBACtC,CAAC;YACL,CAAC;YAED,mDAAmD;YACnD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC/D,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACxB,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBAC9D,CAAC;yBACI,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBACnC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;wBAClC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;oBACxC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAEnD,IAAI,KAAK,EAAE,CAAC;oBACR,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAChE,CAAC;YACL,CAAC;QACL,CAAC;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,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,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;QACN,CAAC;IACL,CAAC,CAAA;IAGD;;;;;;;;OAQG;IACI,sBAAsB,CAAC,MAAyB,EAAE,sBAAwC,KAAK;QAClG,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,IAAI,gBAAgB,EAAE,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACvG,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,YAAY,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,gBAAgB,EAAE,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAC5H,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;YAC3B,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;QAC/B,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC;QAEpC,sIAAsI;QACtI,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YACrG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;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,CAAC;YACvD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAChF,CAAC;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,CAAC;YAC/B,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAY,CAAC;QACrD,CAAC;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,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC9D,CAAC;QACL,CAAC;aACI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1B,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,CAAC;gBAC1C,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;YACnD,CAAC;;gBACI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC5D,CAAC;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,CAAC;YAC/B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;QAClB,CAAC;aACI,CAAC;YACF,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,CAAC;gBAC1C,IAAI,CAAC,gBAAgB,GAAG,mBAAmB,CAAC;YAChD,CAAC;;gBACI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACzD,CAAC;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,CAAC;YAC/B,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAY,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3C,wIAAwI;QACxI,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,KAAK,EAAE,CAAC;YACR,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;QACxE,CAAC;QAED,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;QACrF,CAAC;aACI,CAAC;YACF,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,CAAC;gBAC1C,IAAI,CAAC,uBAAuB,GAAG,mBAAmB,CAAC;YACvD,CAAC;;gBACI,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAChE,CAAC;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;;MAEE;IACM,2BAA2B,CAAC,IAAY,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;IAChB,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,YAAY,IAAI,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC5G,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,CAAC;YACnB,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,IAAI,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAEjE,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,WAAW,EAAE,CAAC;oBACd,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;oBAClC,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;wBACtB,MAAM;oBACV,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;gBAC3D,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;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,CAAC;YAClC,OAAO,GAAG,gBAAgB,CAAC;QAC/B,CAAC;QACD,oDAAoD;aAC/C,IAAI,gBAAgB,IAAI,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtD,OAAO,GAAG,gBAAgB,CAAC;QAC/B,CAAC;QACD,mFAAmF;aAC9E,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAChE,IAAI,CAAC,CAAC,gBAAgB,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC9E,OAAO,GAAG,gBAAgB,CAAC;gBAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,qCAAqC;QACrC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC5D,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1C,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC/C,OAAO;QACX,CAAC;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;AA3+BG;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;AAM1B;IADC,YAAY,CAAC,QAAQ,CAAC;mDACc;AAMrC;IADC,YAAY,EAAE;uDACkB;AAMjC;IADC,YAAY,EAAE;yDACgB;AAIvB;IADP,YAAY,CAAC,gBAAgB,CAAC;uDACa;AAM5C;IADC,YAAY,EAAE;qDACgB;AAG/B;IADC,YAAY,EAAE;yDACoB;AAKnC;IADC,YAAY,EAAE;yDACoB;AAMnC;IADC,YAAY,EAAE;gEACuB;AAqCtC;IADC,YAAY,EAAE;uDACkD;AAKjE;IADC,YAAY,CAAC,QAAQ,CAAC;mDACc"}
@@ -1,4 +1,5 @@
1
1
  import { Behaviour } from "./Component.js";
2
+ import { EventList } from "./EventList.js";
2
3
  export declare const noVoip = "noVoip";
3
4
  /**
4
5
  * [Voip](https://engine.needle.tools/docs/api/Voip) Voice over IP (VoIP) component for real-time audio communication between users.
@@ -56,6 +57,47 @@ export declare class Voip extends Behaviour {
56
57
  * When enabled debug messages will be printed to the console. This is useful for debugging audio issues. You can also append ?debugvoip to the URL to enable this.
57
58
  */
58
59
  debug: boolean;
60
+ private _volume;
61
+ /**
62
+ * Volume for incoming audio streams (0 = silent, 1 = full volume).
63
+ * Changes apply immediately to all active incoming streams.
64
+ */
65
+ get volume(): number;
66
+ set volume(val: number);
67
+ /**
68
+ * Get the incoming audio element for a specific user.
69
+ * Use this to route audio through the Web Audio API for spatial audio, effects, or analysis.
70
+ * @param userId The connection ID of the remote user
71
+ * @returns The HTMLAudioElement for this user's stream, or undefined if not connected
72
+ * @example
73
+ * ```ts
74
+ * const audioEl = voip.getAudioElement(userId);
75
+ * if (audioEl) {
76
+ * const audioCtx = new AudioContext();
77
+ * const source = audioCtx.createMediaElementSource(audioEl);
78
+ * const panner = audioCtx.createPanner();
79
+ * source.connect(panner).connect(audioCtx.destination);
80
+ * }
81
+ * ```
82
+ */
83
+ getAudioElement(userId: string): HTMLAudioElement | undefined;
84
+ /**
85
+ * Get all active incoming audio streams as a Map of userId → HTMLAudioElement.
86
+ * Useful for iterating over all connected voice users.
87
+ */
88
+ get incomingStreams(): ReadonlyMap<string, HTMLAudioElement>;
89
+ /**
90
+ * Threshold for speaking detection (0–255). When a user's audio amplitude exceeds this,
91
+ * they are considered "speaking". Default is 30.
92
+ */
93
+ speakingThreshold: number;
94
+ /**
95
+ * Event fired when a user's speaking state changes.
96
+ * Passes `{ userId: string, isSpeaking: boolean, volume: number }`.
97
+ */
98
+ onSpeakingChanged: EventList;
99
+ private _speakingStates;
100
+ private _analysers;
59
101
  private _net?;
60
102
  private _menubutton?;
61
103
  /** @internal */
@@ -92,6 +134,10 @@ export declare class Voip extends Behaviour {
92
134
  private onJoinedRoom;
93
135
  private onLeftRoom;
94
136
  private _incomingStreams;
137
+ /** @internal */
138
+ update(): void;
139
+ private setupAnalyser;
140
+ private cleanupAnalyser;
95
141
  private onReceiveStream;
96
142
  private onStreamEnded;
97
143
  private onEnabledChanged;
@@ -9,10 +9,10 @@ import { Application } from "../engine/engine_application.js";
9
9
  import { RoomEvents } from "../engine/engine_networking.js";
10
10
  import { disposeStream, NetworkedStreamEvents, NetworkedStreams } from "../engine/engine_networking_streams.js";
11
11
  import { serializable } from "../engine/engine_serialization_decorator.js";
12
- import { DeviceUtilities, getParam } from "../engine/engine_utils.js";
13
- import { delay } from "../engine/engine_utils.js";
12
+ import { delay, DeviceUtilities, getParam } from "../engine/engine_utils.js";
14
13
  import { getIconElement } from "../engine/webcomponents/icons.js";
15
14
  import { Behaviour } from "./Component.js";
15
+ import { EventList } from "./EventList.js";
16
16
  export const noVoip = "noVoip";
17
17
  const debugParam = getParam("debugvoip");
18
18
  /**
@@ -71,6 +71,56 @@ export class Voip extends Behaviour {
71
71
  * When enabled debug messages will be printed to the console. This is useful for debugging audio issues. You can also append ?debugvoip to the URL to enable this.
72
72
  */
73
73
  debug = false;
74
+ _volume = 1;
75
+ /**
76
+ * Volume for incoming audio streams (0 = silent, 1 = full volume).
77
+ * Changes apply immediately to all active incoming streams.
78
+ */
79
+ get volume() { return this._volume; }
80
+ set volume(val) {
81
+ this._volume = val;
82
+ for (const audio of this._incomingStreams.values()) {
83
+ audio.volume = val;
84
+ }
85
+ }
86
+ /**
87
+ * Get the incoming audio element for a specific user.
88
+ * Use this to route audio through the Web Audio API for spatial audio, effects, or analysis.
89
+ * @param userId The connection ID of the remote user
90
+ * @returns The HTMLAudioElement for this user's stream, or undefined if not connected
91
+ * @example
92
+ * ```ts
93
+ * const audioEl = voip.getAudioElement(userId);
94
+ * if (audioEl) {
95
+ * const audioCtx = new AudioContext();
96
+ * const source = audioCtx.createMediaElementSource(audioEl);
97
+ * const panner = audioCtx.createPanner();
98
+ * source.connect(panner).connect(audioCtx.destination);
99
+ * }
100
+ * ```
101
+ */
102
+ getAudioElement(userId) {
103
+ return this._incomingStreams.get(userId);
104
+ }
105
+ /**
106
+ * Get all active incoming audio streams as a Map of userId → HTMLAudioElement.
107
+ * Useful for iterating over all connected voice users.
108
+ */
109
+ get incomingStreams() {
110
+ return this._incomingStreams;
111
+ }
112
+ /**
113
+ * Threshold for speaking detection (0–255). When a user's audio amplitude exceeds this,
114
+ * they are considered "speaking". Default is 30.
115
+ */
116
+ speakingThreshold = 30;
117
+ /**
118
+ * Event fired when a user's speaking state changes.
119
+ * Passes `{ userId: string, isSpeaking: boolean, volume: number }`.
120
+ */
121
+ onSpeakingChanged = new EventList();
122
+ _speakingStates = new Map();
123
+ _analysers = new Map();
74
124
  _net;
75
125
  _menubutton;
76
126
  /** @internal */
@@ -139,11 +189,24 @@ export class Voip extends Behaviour {
139
189
  this.onEnabledChanged();
140
190
  this.updateButton();
141
191
  window.removeEventListener("visibilitychange", this.onVisibilityChanged);
192
+ // Clean up analysers
193
+ for (const userId of [...this._analysers.keys()]) {
194
+ this.cleanupAnalyser(userId);
195
+ }
142
196
  }
143
197
  /** @internal */
144
198
  onDestroy() {
145
199
  this._menubutton?.remove();
146
200
  this._menubutton = undefined;
201
+ // Clean up all streams and analysers
202
+ for (const userId of [...this._analysers.keys()]) {
203
+ this.cleanupAnalyser(userId);
204
+ }
205
+ for (const incoming of this._incomingStreams.values()) {
206
+ disposeStream(incoming.srcObject);
207
+ }
208
+ this._incomingStreams.clear();
209
+ this._speakingStates.clear();
147
210
  }
148
211
  /** Set via the mic button (e.g. when the websocket connection closes and rejoins but the user was muted before we don't want to enable VOIP again automatically) */
149
212
  _allowSending = true;
@@ -339,8 +402,57 @@ export class Voip extends Behaviour {
339
402
  disposeStream(incoming.srcObject);
340
403
  }
341
404
  this._incomingStreams.clear();
405
+ for (const userId of this._analysers.keys()) {
406
+ this.cleanupAnalyser(userId);
407
+ }
342
408
  };
343
409
  _incomingStreams = new Map();
410
+ /** @internal */
411
+ update() {
412
+ // Only run speaking detection if someone is listening
413
+ if (!this.onSpeakingChanged || this.onSpeakingChanged.listenerCount <= 0)
414
+ return;
415
+ for (const [userId, info] of this._analysers) {
416
+ info.analyser.getByteFrequencyData(info.data);
417
+ // Average amplitude
418
+ let sum = 0;
419
+ for (let i = 0; i < info.data.length; i++)
420
+ sum += info.data[i];
421
+ const avg = sum / info.data.length;
422
+ const wasSpeaking = this._speakingStates.get(userId) ?? false;
423
+ const isSpeaking = avg > this.speakingThreshold;
424
+ if (isSpeaking !== wasSpeaking) {
425
+ this._speakingStates.set(userId, isSpeaking);
426
+ this.onSpeakingChanged.invoke({ userId, isSpeaking, volume: avg / 255 });
427
+ }
428
+ }
429
+ }
430
+ setupAnalyser(userId, _audioElement, stream) {
431
+ // Only set up if someone is listening or might listen
432
+ if (this._analysers.has(userId))
433
+ return;
434
+ try {
435
+ const audioCtx = new AudioContext();
436
+ const source = audioCtx.createMediaStreamSource(stream);
437
+ const analyser = audioCtx.createAnalyser();
438
+ analyser.fftSize = 256;
439
+ source.connect(analyser);
440
+ const data = new Uint8Array(analyser.frequencyBinCount);
441
+ this._analysers.set(userId, { analyser, data, context: audioCtx });
442
+ }
443
+ catch (err) {
444
+ if (this.debug)
445
+ console.warn("VOIP: Failed to create analyser for", userId, err);
446
+ }
447
+ }
448
+ cleanupAnalyser(userId) {
449
+ const info = this._analysers.get(userId);
450
+ if (info) {
451
+ info.context.close();
452
+ this._analysers.delete(userId);
453
+ }
454
+ this._speakingStates.delete(userId);
455
+ }
344
456
  onReceiveStream = (evt) => {
345
457
  const userId = evt.target.userId;
346
458
  const stream = evt.stream;
@@ -350,7 +462,9 @@ export class Voip extends Behaviour {
350
462
  this._incomingStreams.set(userId, audioElement);
351
463
  }
352
464
  audioElement.srcObject = stream;
465
+ audioElement.volume = this._volume;
353
466
  audioElement.setAttribute("autoplay", "true");
467
+ this.setupAnalyser(userId, audioElement, stream);
354
468
  // for mobile we need to wait for user interaction to play audio. Auto play doesnt work on android when the page is refreshed
355
469
  Application.registerWaitForInteraction(() => {
356
470
  audioElement?.play().catch((err) => {
@@ -362,6 +476,7 @@ export class Voip extends Behaviour {
362
476
  const existing = this._incomingStreams.get(evt.userId);
363
477
  disposeStream(existing?.srcObject);
364
478
  this._incomingStreams.delete(evt.userId);
479
+ this.cleanupAnalyser(evt.userId);
365
480
  };
366
481
  onEnabledChanged = () => {
367
482
  for (const key of this._incomingStreams) {
@@ -390,4 +505,13 @@ __decorate([
390
505
  __decorate([
391
506
  serializable()
392
507
  ], Voip.prototype, "createMenuButton", void 0);
508
+ __decorate([
509
+ serializable()
510
+ ], Voip.prototype, "volume", null);
511
+ __decorate([
512
+ serializable()
513
+ ], Voip.prototype, "speakingThreshold", void 0);
514
+ __decorate([
515
+ serializable(EventList)
516
+ ], Voip.prototype, "onSpeakingChanged", void 0);
393
517
  //# sourceMappingURL=Voip.js.map