@vived/component-pneumatic-panel 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/Domain/Adapters/pneumaticPanelPMAdapter.d.ts.map +1 -1
  2. package/dist/Domain/Controllers/clearAllHighlights.d.ts +9 -0
  3. package/dist/Domain/Controllers/clearAllHighlights.d.ts.map +1 -0
  4. package/dist/Domain/Controllers/disablePanelHitbox.d.ts +7 -0
  5. package/dist/Domain/Controllers/disablePanelHitbox.d.ts.map +1 -0
  6. package/dist/Domain/Controllers/enablePanelHitbox.d.ts +6 -0
  7. package/dist/Domain/Controllers/enablePanelHitbox.d.ts.map +1 -0
  8. package/dist/Domain/Controllers/onExhaustCloseBlockedByLock.d.ts +7 -0
  9. package/dist/Domain/Controllers/onExhaustCloseBlockedByLock.d.ts.map +1 -0
  10. package/dist/Domain/Controllers/onExhaustClosed.d.ts +7 -0
  11. package/dist/Domain/Controllers/onExhaustClosed.d.ts.map +1 -0
  12. package/dist/Domain/Controllers/onExhaustOpened.d.ts +7 -0
  13. package/dist/Domain/Controllers/onExhaustOpened.d.ts.map +1 -0
  14. package/dist/Domain/Controllers/onPanelLocked.d.ts +7 -0
  15. package/dist/Domain/Controllers/onPanelLocked.d.ts.map +1 -0
  16. package/dist/Domain/Controllers/onPanelSelected.d.ts +7 -0
  17. package/dist/Domain/Controllers/onPanelSelected.d.ts.map +1 -0
  18. package/dist/Domain/Controllers/onPanelUnlocked.d.ts +7 -0
  19. package/dist/Domain/Controllers/onPanelUnlocked.d.ts.map +1 -0
  20. package/dist/Domain/Controllers/panelHitboxClicked.d.ts +7 -0
  21. package/dist/Domain/Controllers/panelHitboxClicked.d.ts.map +1 -0
  22. package/dist/Domain/Controllers/setHighlightedObject.d.ts +11 -0
  23. package/dist/Domain/Controllers/setHighlightedObject.d.ts.map +1 -0
  24. package/dist/Domain/Controllers/setShowGhostLockHint.d.ts +10 -0
  25. package/dist/Domain/Controllers/setShowGhostLockHint.d.ts.map +1 -0
  26. package/dist/Domain/Entities/PneumaticPanelEntity.d.ts +13 -0
  27. package/dist/Domain/Entities/PneumaticPanelEntity.d.ts.map +1 -1
  28. package/dist/Domain/Factory/PneumaticPanelFeatureFactory.d.ts.map +1 -1
  29. package/dist/Domain/Mocks/MockPneumaticPanelCheckPressureUC.d.ts +1 -0
  30. package/dist/Domain/Mocks/MockPneumaticPanelCheckPressureUC.d.ts.map +1 -1
  31. package/dist/Domain/Mocks/MockPneumaticPanelSelectUC.d.ts +13 -0
  32. package/dist/Domain/Mocks/MockPneumaticPanelSelectUC.d.ts.map +1 -0
  33. package/dist/Domain/Mocks/MockPneumaticPanelToggleExhaustUC.d.ts +3 -0
  34. package/dist/Domain/Mocks/MockPneumaticPanelToggleExhaustUC.d.ts.map +1 -1
  35. package/dist/Domain/Mocks/MockPneumaticPanelToggleLockUC.d.ts +2 -0
  36. package/dist/Domain/Mocks/MockPneumaticPanelToggleLockUC.d.ts.map +1 -1
  37. package/dist/Domain/PMs/PneumaticPanelPM.d.ts +15 -0
  38. package/dist/Domain/PMs/PneumaticPanelPM.d.ts.map +1 -1
  39. package/dist/Domain/UCs/PneumaticPanelCheckPressureUC.d.ts +2 -0
  40. package/dist/Domain/UCs/PneumaticPanelCheckPressureUC.d.ts.map +1 -1
  41. package/dist/Domain/UCs/PneumaticPanelSelectUC.d.ts +28 -0
  42. package/dist/Domain/UCs/PneumaticPanelSelectUC.d.ts.map +1 -0
  43. package/dist/Domain/UCs/PneumaticPanelToggleExhaustUC.d.ts +6 -0
  44. package/dist/Domain/UCs/PneumaticPanelToggleExhaustUC.d.ts.map +1 -1
  45. package/dist/Domain/UCs/PneumaticPanelToggleLockUC.d.ts +4 -0
  46. package/dist/Domain/UCs/PneumaticPanelToggleLockUC.d.ts.map +1 -1
  47. package/dist/Frameworks/Babylon/OutlinePulseController.d.ts +18 -0
  48. package/dist/Frameworks/Babylon/OutlinePulseController.d.ts.map +1 -0
  49. package/dist/Frameworks/Babylon/OverlayPulseController.d.ts +17 -0
  50. package/dist/Frameworks/Babylon/OverlayPulseController.d.ts.map +1 -0
  51. package/dist/Frameworks/Babylon/PneumaticPanelAssetCache.d.ts +6 -0
  52. package/dist/Frameworks/Babylon/PneumaticPanelAssetCache.d.ts.map +1 -0
  53. package/dist/Frameworks/Babylon/PneumaticPanelBabylonView.d.ts +23 -16
  54. package/dist/Frameworks/Babylon/PneumaticPanelBabylonView.d.ts.map +1 -1
  55. package/dist/Frameworks/Babylon/PneumaticPanelExhaustView.d.ts +17 -0
  56. package/dist/Frameworks/Babylon/PneumaticPanelExhaustView.d.ts.map +1 -0
  57. package/dist/Frameworks/Babylon/PneumaticPanelGaugeView.d.ts +10 -0
  58. package/dist/Frameworks/Babylon/PneumaticPanelGaugeView.d.ts.map +1 -0
  59. package/dist/Frameworks/Babylon/PneumaticPanelHitboxView.d.ts +18 -0
  60. package/dist/Frameworks/Babylon/PneumaticPanelHitboxView.d.ts.map +1 -0
  61. package/dist/Frameworks/Babylon/PneumaticPanelLockView.d.ts +18 -0
  62. package/dist/Frameworks/Babylon/PneumaticPanelLockView.d.ts.map +1 -0
  63. package/dist/Frameworks/Babylon/ScreenSpaceOutlinePulseController.d.ts +17 -0
  64. package/dist/Frameworks/Babylon/ScreenSpaceOutlinePulseController.d.ts.map +1 -0
  65. package/dist/Frameworks/Babylon/createBabylonPneumaticPanel.d.ts +2 -12
  66. package/dist/Frameworks/Babylon/createBabylonPneumaticPanel.d.ts.map +1 -1
  67. package/dist/index.d.ts +16 -2
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +5003 -259
  70. package/dist/pneumaticPanel.glb +0 -0
  71. package/dist/studio.env +0 -0
  72. package/package.json +2 -2
  73. package/dist/Factory/PneumaticPanelFeatureFactory.d.ts +0 -26
  74. package/dist/Factory/PneumaticPanelFeatureFactory.d.ts.map +0 -1
@@ -0,0 +1,18 @@
1
+ import { HighlightLayer, Node } from "@babylonjs/core";
2
+ import { AppObject, AppObjectView } from "@vived/core";
3
+ export declare const pneumaticPanelLockMetadata = "lock";
4
+ export declare const pneumaticPanelGhostLockMetadata = "ghost_lock";
5
+ /**
6
+ * Babylon view that owns lock / ghost-lock visibility and interaction.
7
+ *
8
+ * The lock is a TransformNode (objectId: "lock") containing child meshes.
9
+ * The ghost lock is a single mesh (objectId: "ghost_lock").
10
+ */
11
+ export declare abstract class PneumaticPanelLockView extends AppObjectView {
12
+ static readonly type = "PneumaticPanelLockView";
13
+ abstract bindMeshes(nodesByObjectId: ReadonlyMap<string, Node>, highlightLayer: HighlightLayer): void;
14
+ abstract flash(): void;
15
+ static get(appObj: AppObject): PneumaticPanelLockView | undefined;
16
+ }
17
+ export declare function makePneumaticPanelLockView(appObject: AppObject): PneumaticPanelLockView;
18
+ //# sourceMappingURL=PneumaticPanelLockView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PneumaticPanelLockView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelLockView.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,cAAc,EACd,IAAI,EAEL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAOvD,eAAO,MAAM,0BAA0B,SAAS,CAAC;AACjD,eAAO,MAAM,+BAA+B,eAAe,CAAC;AAE5D;;;;;GAKG;AACH,8BAAsB,sBAAuB,SAAQ,aAAa;IAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,4BAA4B;IAEhD,QAAQ,CAAC,UAAU,CACjB,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAC1C,cAAc,EAAE,cAAc,GAC7B,IAAI;IACP,QAAQ,CAAC,KAAK,IAAI,IAAI;IAEtB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,sBAAsB,GAAG,SAAS;CAGlE;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,GACnB,sBAAsB,CAExB"}
@@ -0,0 +1,17 @@
1
+ import { AbstractMesh, Color3, HighlightLayer } from "@babylonjs/core";
2
+ type ScreenSpaceOutlinePulseOptions = {
3
+ color?: Color3;
4
+ intervalMs?: number;
5
+ };
6
+ type ScreenSpaceOutlinePulseController = {
7
+ apply(on: boolean): void;
8
+ dispose(): void;
9
+ };
10
+ /**
11
+ * Creates a pulsing screen-space outline controller for one or more meshes.
12
+ * Uses Babylon's HighlightLayer for post-process rendering with consistent pixel width.
13
+ * The outline pulses on/off at the specified interval, creating a strobe effect.
14
+ */
15
+ export declare function makeScreenSpaceOutlinePulseController(getMeshes: () => AbstractMesh[], layer: HighlightLayer | undefined, options?: ScreenSpaceOutlinePulseOptions): ScreenSpaceOutlinePulseController;
16
+ export {};
17
+ //# sourceMappingURL=ScreenSpaceOutlinePulseController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScreenSpaceOutlinePulseController.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/ScreenSpaceOutlinePulseController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAQ,MAAM,iBAAiB,CAAC;AAE7E,KAAK,8BAA8B,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACvC,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,qCAAqC,CACnD,SAAS,EAAE,MAAM,YAAY,EAAE,EAC/B,KAAK,EAAE,cAAc,GAAG,SAAS,EACjC,OAAO,CAAC,EAAE,8BAA8B,GACvC,iCAAiC,CA6EnC"}
@@ -1,13 +1,3 @@
1
- import { AppObjectRepo } from "@vived/core";
2
- import { PneumaticPanelBabylonView } from "./PneumaticPanelBabylonView";
3
- export interface CreateBabylonPneumaticPanelOptions {
4
- id: string;
5
- appObjects: AppObjectRepo;
6
- createIfMissing?: boolean;
7
- }
8
- /**
9
- * Babylon composition helper to bridge domain setup with Babylon view setup.
10
- * Keeps framework-specific wiring out of the domain layers.
11
- */
12
- export declare function createBabylonPneumaticPanel(options: CreateBabylonPneumaticPanelOptions): Promise<PneumaticPanelBabylonView | undefined>;
1
+ import { AppObject, AppObjectRepo } from "@vived/core";
2
+ export declare function createBabylonPneumaticPanel(id: string, appObjects: AppObjectRepo): Promise<AppObject | undefined>;
13
3
  //# sourceMappingURL=createBabylonPneumaticPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBabylonPneumaticPanel.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/createBabylonPneumaticPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EACL,yBAAyB,EAE1B,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,kCAAkC;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,aAAa,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAoChD"}
1
+ {"version":3,"file":"createBabylonPneumaticPanel.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/createBabylonPneumaticPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIvD,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAOhC"}
package/dist/index.d.ts CHANGED
@@ -8,17 +8,31 @@ export { PneumaticPanelRepo, makePneumaticPanelRepo, type PneumaticPanelEntityFa
8
8
  export { PneumaticPanelToggleExhaustUC, makePneumaticPanelToggleExhaustUC, } from "./Domain/UCs/PneumaticPanelToggleExhaustUC";
9
9
  export { PneumaticPanelToggleLockUC, makePneumaticPanelToggleLockUC, } from "./Domain/UCs/PneumaticPanelToggleLockUC";
10
10
  export { PneumaticPanelCheckPressureUC, makePneumaticPanelCheckPressureUC, } from "./Domain/UCs/PneumaticPanelCheckPressureUC";
11
+ export { PneumaticPanelSelectUC, makePneumaticPanelSelectUC, } from "./Domain/UCs/PneumaticPanelSelectUC";
11
12
  export { tryToggleExhaust } from "./Domain/Controllers/tryToggleExhaust";
12
13
  export { tryToggleLock } from "./Domain/Controllers/tryToggleLock";
13
14
  export { checkPressure } from "./Domain/Controllers/checkPressure";
15
+ export { setShowGhostLockHint } from "./Domain/Controllers/setShowGhostLockHint";
16
+ export { setHighlightedObject } from "./Domain/Controllers/setHighlightedObject";
17
+ export { clearAllHighlights } from "./Domain/Controllers/clearAllHighlights";
18
+ export { onExhaustOpened } from "./Domain/Controllers/onExhaustOpened";
19
+ export { onExhaustClosed } from "./Domain/Controllers/onExhaustClosed";
20
+ export { onExhaustCloseBlockedByLock } from "./Domain/Controllers/onExhaustCloseBlockedByLock";
21
+ export { onPanelLocked } from "./Domain/Controllers/onPanelLocked";
22
+ export { onPanelUnlocked } from "./Domain/Controllers/onPanelUnlocked";
23
+ export { enablePanelHitbox } from "./Domain/Controllers/enablePanelHitbox";
24
+ export { disablePanelHitbox } from "./Domain/Controllers/disablePanelHitbox";
25
+ export { onPanelSelected } from "./Domain/Controllers/onPanelSelected";
26
+ export { panelHitboxClicked } from "./Domain/Controllers/panelHitboxClicked";
14
27
  export { PneumaticPanelPM, makePneumaticPanelPM, type PneumaticPanelVM, } from "./Domain/PMs/PneumaticPanelPM";
15
28
  export { pneumaticPanelPMAdapter } from "./Domain/Adapters/pneumaticPanelPMAdapter";
16
- export { PneumaticPanelBabylonView, makePneumaticPanelBabylonView, } from "./Frameworks/Babylon/PneumaticPanelBabylonView";
29
+ export { PneumaticPanelBabylonView, makePneumaticPanelBabylonView, type PneumaticPanelGlowConfig, } from "./Frameworks/Babylon/PneumaticPanelBabylonView";
17
30
  export { PneumaticPanelFeatureFactory, makePneumaticPanelFeatureFactory, } from "./Domain/Factory/PneumaticPanelFeatureFactory";
18
- export { createBabylonPneumaticPanel, type CreateBabylonPneumaticPanelOptions, } from "./Frameworks/Babylon/createBabylonPneumaticPanel";
31
+ export { createBabylonPneumaticPanel } from "./Frameworks/Babylon/createBabylonPneumaticPanel";
19
32
  export { MockPneumaticPanelPM } from "./Domain/Mocks/MockPneumaticPanelPM";
20
33
  export { MockPneumaticPanelToggleExhaustUC } from "./Domain/Mocks/MockPneumaticPanelToggleExhaustUC";
21
34
  export { MockPneumaticPanelToggleLockUC } from "./Domain/Mocks/MockPneumaticPanelToggleLockUC";
22
35
  export { MockPneumaticPanelCheckPressureUC } from "./Domain/Mocks/MockPneumaticPanelCheckPressureUC";
36
+ export { MockPneumaticPanelSelectUC } from "./Domain/Mocks/MockPneumaticPanelSelectUC";
23
37
  export { default as componentConfig } from "./component.config";
24
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,2BAA2B,GACjC,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGnE,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,gBAAgB,GACtB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAGpF,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,gDAAgD,CAAC;AAGxD,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,+CAA+C,CAAC;AAGvD,OAAO,EACL,2BAA2B,EAC3B,KAAK,kCAAkC,GACxC,MAAM,kDAAkD,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AAGrG,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,2BAA2B,GACjC,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,gBAAgB,GACtB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAGpF,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,KAAK,wBAAwB,GAC9B,MAAM,gDAAgD,CAAC;AAGxD,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,+CAA+C,CAAC;AAGvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAG/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAGvF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC"}