homebridge-eufy-security 2.2.0-beta.1 → 2.2.0-beta.4

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 (68) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/dist/accessories/CameraAccessory.d.ts.map +1 -1
  3. package/dist/accessories/CameraAccessory.js +37 -13
  4. package/dist/accessories/CameraAccessory.js.map +1 -1
  5. package/dist/accessories/Device.d.ts.map +1 -1
  6. package/dist/accessories/Device.js +15 -0
  7. package/dist/accessories/Device.js.map +1 -1
  8. package/dist/accessories/DoorbellCameraAccessory.d.ts.map +1 -1
  9. package/dist/accessories/DoorbellCameraAccessory.js +0 -6
  10. package/dist/accessories/DoorbellCameraAccessory.js.map +1 -1
  11. package/dist/config.d.ts +2 -0
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/controller/SnapshotManager.d.ts +2 -1
  14. package/dist/controller/SnapshotManager.d.ts.map +1 -1
  15. package/dist/controller/SnapshotManager.js +29 -7
  16. package/dist/controller/SnapshotManager.js.map +1 -1
  17. package/dist/controller/streamingDelegate.d.ts.map +1 -1
  18. package/dist/controller/streamingDelegate.js +1 -0
  19. package/dist/controller/streamingDelegate.js.map +1 -1
  20. package/dist/platform.d.ts +4 -2
  21. package/dist/platform.d.ts.map +1 -1
  22. package/dist/platform.js +19 -2
  23. package/dist/platform.js.map +1 -1
  24. package/dist/utils/EufyClientInteractor.d.ts +34 -0
  25. package/dist/utils/EufyClientInteractor.d.ts.map +1 -0
  26. package/dist/utils/EufyClientInteractor.js +310 -0
  27. package/dist/utils/EufyClientInteractor.js.map +1 -0
  28. package/dist/utils/Talkback.d.ts +2 -0
  29. package/dist/utils/Talkback.d.ts.map +1 -1
  30. package/dist/utils/Talkback.js +11 -2
  31. package/dist/utils/Talkback.js.map +1 -1
  32. package/dist/utils/configTypes.d.ts +5 -0
  33. package/dist/utils/configTypes.d.ts.map +1 -1
  34. package/dist/utils/experimental.d.ts +4 -0
  35. package/dist/utils/experimental.d.ts.map +1 -0
  36. package/dist/utils/experimental.js +49 -0
  37. package/dist/utils/experimental.js.map +1 -0
  38. package/dist/utils/ffmpeg.d.ts +3 -0
  39. package/dist/utils/ffmpeg.d.ts.map +1 -1
  40. package/dist/utils/ffmpeg.js +63 -19
  41. package/dist/utils/ffmpeg.js.map +1 -1
  42. package/dist/utils/interfaces.d.ts +12 -0
  43. package/dist/utils/interfaces.d.ts.map +1 -0
  44. package/dist/utils/interfaces.js +12 -0
  45. package/dist/utils/interfaces.js.map +1 -0
  46. package/homebridge-ui/plugin/utils/EufyClientInteractor.d.ts +34 -0
  47. package/homebridge-ui/plugin/utils/EufyClientInteractor.d.ts.map +1 -0
  48. package/homebridge-ui/plugin/utils/EufyClientInteractor.js +310 -0
  49. package/homebridge-ui/plugin/utils/EufyClientInteractor.js.map +1 -0
  50. package/homebridge-ui/plugin/utils/experimental.d.ts +4 -0
  51. package/homebridge-ui/plugin/utils/experimental.d.ts.map +1 -0
  52. package/homebridge-ui/plugin/utils/experimental.js +49 -0
  53. package/homebridge-ui/plugin/utils/experimental.js.map +1 -0
  54. package/homebridge-ui/plugin/utils/interfaces.d.ts +12 -0
  55. package/homebridge-ui/plugin/utils/interfaces.d.ts.map +1 -0
  56. package/homebridge-ui/plugin/utils/interfaces.js +12 -0
  57. package/homebridge-ui/plugin/utils/interfaces.js.map +1 -0
  58. package/homebridge-ui/plugin/utils/logger.d.ts +12 -0
  59. package/homebridge-ui/plugin/utils/logger.d.ts.map +1 -0
  60. package/homebridge-ui/plugin/utils/logger.js +36 -0
  61. package/homebridge-ui/plugin/utils/logger.js.map +1 -0
  62. package/homebridge-ui/public/3rdpartylicenses.txt +169 -0
  63. package/homebridge-ui/public/index.html +1 -1
  64. package/homebridge-ui/public/main.cf8346cc1457cd72.js +1 -0
  65. package/homebridge-ui/server.js +14 -1
  66. package/homebridge-ui/server.js.map +1 -1
  67. package/package.json +2 -2
  68. package/homebridge-ui/public/main.1271ca7a8e752b32.js +0 -1
@@ -9,6 +9,8 @@ export declare class TalkbackStream extends Duplex {
9
9
  private talkbackStarted;
10
10
  private stopTalkbackTimeout?;
11
11
  private targetStream?;
12
+ private talkbackStartedHandle;
13
+ private talkbackStoppedHandle;
12
14
  constructor(platform: EufySecurityPlatform, camera: Device);
13
15
  private onTalkbackStarted;
14
16
  private onTalkbackStopped;
@@ -1 +1 @@
1
- {"version":3,"file":"Talkback.d.ts","sourceRoot":"","sources":["../../src/plugin/utils/Talkback.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAgB,MAAM,EAAW,MAAM,sBAAsB,CAAC;AAErE,qBAAa,cAAe,SAAQ,MAAM;IAExC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,mBAAmB,CAAC,CAAiB;IAE7C,OAAO,CAAC,YAAY,CAAC,CAAW;gBAEpB,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM;IAU1D,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,iBAAiB;IAalB,kBAAkB,IAAI,IAAI;IAMxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQzB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,GAAG,IAAI;IAmBpH,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,YAAY;CAUrB"}
1
+ {"version":3,"file":"Talkback.d.ts","sourceRoot":"","sources":["../../src/plugin/utils/Talkback.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAAW,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,cAAe,SAAQ,MAAM;IAExC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,mBAAmB,CAAC,CAAiB;IAE7C,OAAO,CAAC,YAAY,CAAC,CAAW;IAEhC,OAAO,CAAC,qBAAqB,CAE3B;IAEF,OAAO,CAAC,qBAAqB,CAE3B;gBAEU,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM;IAU1D,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,iBAAiB;IAalB,kBAAkB,IAAI,IAAI;IAUxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQzB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,GAAG,IAAI;IAmBpH,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,YAAY;CAUrB"}
@@ -7,10 +7,16 @@ class TalkbackStream extends stream_1.Duplex {
7
7
  super();
8
8
  this.cacheData = [];
9
9
  this.talkbackStarted = false;
10
+ this.talkbackStartedHandle = (station, device, stream) => {
11
+ this.onTalkbackStarted(station, device, stream);
12
+ };
13
+ this.talkbackStoppedHandle = (station, device) => {
14
+ this.onTalkbackStopped(station, device);
15
+ };
10
16
  this.platform = platform;
11
17
  this.camera = camera;
12
- this.platform.eufyClient.on('station talkback start', this.onTalkbackStarted.bind(this));
13
- this.platform.eufyClient.on('station talkback stop', this.onTalkbackStopped.bind(this));
18
+ this.platform.eufyClient.on('station talkback start', this.talkbackStartedHandle);
19
+ this.platform.eufyClient.on('station talkback stop', this.talkbackStoppedHandle);
14
20
  }
15
21
  onTalkbackStarted(station, device, stream) {
16
22
  if (device.getSerial() !== this.camera.getSerial()) {
@@ -34,6 +40,9 @@ class TalkbackStream extends stream_1.Duplex {
34
40
  this.targetStream = undefined;
35
41
  }
36
42
  stopTalkbackStream() {
43
+ // remove event listeners
44
+ this.platform.eufyClient.removeListener('station talkback start', this.talkbackStartedHandle);
45
+ this.platform.eufyClient.removeListener('station talkback stop', this.talkbackStoppedHandle);
37
46
  this.stopTalkback();
38
47
  this.unpipe();
39
48
  this.destroy();
@@ -1 +1 @@
1
- {"version":3,"file":"Talkback.js","sourceRoot":"","sources":["../../src/plugin/utils/Talkback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Talkback.js","sourceRoot":"","sources":["../../src/plugin/utils/Talkback.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export declare type CameraConfig = {
23
23
  delayCameraSnapshot?: boolean;
24
24
  talkback?: boolean;
25
25
  hsv?: boolean;
26
+ experimentalRTSP?: boolean;
26
27
  };
27
28
  export declare type VideoConfig = {
28
29
  source?: string;
@@ -44,10 +45,14 @@ export declare type VideoConfig = {
44
45
  encoderOptions?: string;
45
46
  audio?: boolean;
46
47
  audioSampleRate?: number;
48
+ audioBitrate?: number;
49
+ acodecHK?: string;
50
+ acodecOptions?: string;
47
51
  debug?: boolean;
48
52
  debugReturn?: boolean;
49
53
  useSeparateProcesses?: boolean;
50
54
  crop?: boolean;
55
+ videoProcessor?: string;
51
56
  };
52
57
  export declare type StationConfig = {
53
58
  serialNumber?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"configTypes.d.ts","sourceRoot":"","sources":["../../src/plugin/utils/configTypes.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wCAAwC,CAAC,EAAE,OAAO,CAAC;IACnD,mBAAmB,CAAC,EAAC,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"configTypes.d.ts","sourceRoot":"","sources":["../../src/plugin/utils/configTypes.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wCAAwC,CAAC,EAAE,OAAO,CAAC;IACnD,mBAAmB,CAAC,EAAC,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Station, Device } from 'eufy-security-client';
2
+ export declare const initializeExperimentalMode: () => void;
3
+ export declare const setRTSPCapability: (station: Station, device: Device, value: boolean) => void;
4
+ //# sourceMappingURL=experimental.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experimental.d.ts","sourceRoot":"","sources":["../../src/plugin/utils/experimental.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,OAAO,EACP,MAAM,EACP,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,0BAA0B,YAEtC,CAAC;AA6CF,eAAO,MAAM,iBAAiB,YAAa,OAAO,UAAU,MAAM,SAAS,OAAO,SAEjF,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setRTSPCapability = exports.initializeExperimentalMode = void 0;
4
+ const eufy_security_client_1 = require("eufy-security-client");
5
+ const initializeExperimentalMode = () => {
6
+ addRTSPPropertiesToAllDevices();
7
+ };
8
+ exports.initializeExperimentalMode = initializeExperimentalMode;
9
+ eufy_security_client_1.PropertyName['ExperimentalModification'] = 'experimentalModification';
10
+ const DeviceExperimentalModification = {
11
+ key: 0,
12
+ name: eufy_security_client_1.PropertyName['ExperimentalModification'],
13
+ label: 'Experimental Modification',
14
+ readable: true,
15
+ writeable: false,
16
+ type: 'boolean',
17
+ };
18
+ const addRTSPPropertiesToAllDevices = () => {
19
+ const deviceTypes = Object.values(eufy_security_client_1.DeviceType).filter(t => !isNaN(Number(t)));
20
+ deviceTypes.forEach(deviceType => addRTSPPropertiesToDevice(deviceType));
21
+ };
22
+ const addRTSPPropertiesToDevice = (deviceType) => {
23
+ let changed = false;
24
+ if (eufy_security_client_1.DeviceProperties[deviceType] && !eufy_security_client_1.DeviceProperties[deviceType][eufy_security_client_1.PropertyName.DeviceRTSPStream]) {
25
+ eufy_security_client_1.DeviceProperties[deviceType] = {
26
+ ...eufy_security_client_1.DeviceProperties[deviceType],
27
+ [eufy_security_client_1.PropertyName.DeviceRTSPStream]: eufy_security_client_1.DeviceRTSPStreamProperty,
28
+ };
29
+ changed = true;
30
+ }
31
+ if (eufy_security_client_1.DeviceProperties[deviceType] && !eufy_security_client_1.DeviceProperties[deviceType][eufy_security_client_1.PropertyName.DeviceRTSPStreamUrl]) {
32
+ eufy_security_client_1.DeviceProperties[deviceType] = {
33
+ ...eufy_security_client_1.DeviceProperties[deviceType],
34
+ [eufy_security_client_1.PropertyName.DeviceRTSPStreamUrl]: eufy_security_client_1.DeviceRTSPStreamUrlProperty,
35
+ };
36
+ changed = true;
37
+ }
38
+ if (changed && eufy_security_client_1.DeviceProperties[deviceType] && !eufy_security_client_1.DeviceProperties[deviceType][eufy_security_client_1.PropertyName['ExperimentalModification']]) {
39
+ eufy_security_client_1.DeviceProperties[deviceType] = {
40
+ ...eufy_security_client_1.DeviceProperties[deviceType],
41
+ [eufy_security_client_1.PropertyName['ExperimentalModification']]: DeviceExperimentalModification,
42
+ };
43
+ }
44
+ };
45
+ const setRTSPCapability = (station, device, value) => {
46
+ station.setRTSPStream(device, value);
47
+ };
48
+ exports.setRTSPCapability = setRTSPCapability;
49
+ //# sourceMappingURL=experimental.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experimental.js","sourceRoot":"","sources":["../../src/plugin/utils/experimental.ts"],"names":[],"mappings":";;;AAAA,+DAS8B;AAEvB,MAAM,0BAA0B,GAAG,GAAG,EAAE;IAC7C,6BAA6B,EAAE,CAAC;AAClC,CAAC,CAAC;AAFW,QAAA,0BAA0B,8BAErC;AAEF,mCAAY,CAAC,0BAA0B,CAAC,GAAG,0BAA0B,CAAC;AAEtE,MAAM,8BAA8B,GAA4B;IAC9D,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,mCAAY,CAAC,0BAA0B,CAAC;IAC9C,KAAK,EAAE,2BAA2B;IAClC,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,6BAA6B,GAAG,GAAG,EAAE;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,iCAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,UAA+B,EAAE,EAAE;IACpE,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,IAAI,uCAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,uCAAgB,CAAC,UAAU,CAAC,CAAC,mCAAY,CAAC,gBAAgB,CAAC,EAAE;QAChG,uCAAgB,CAAC,UAAU,CAAC,GAAG;YAC7B,GAAG,uCAAgB,CAAC,UAAU,CAAC;YAC/B,CAAC,mCAAY,CAAC,gBAAgB,CAAC,EAAE,+CAAwB;SAC1D,CAAC;QACF,OAAO,GAAG,IAAI,CAAC;KAChB;IAED,IAAI,uCAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,uCAAgB,CAAC,UAAU,CAAC,CAAC,mCAAY,CAAC,mBAAmB,CAAC,EAAE;QACnG,uCAAgB,CAAC,UAAU,CAAC,GAAG;YAC7B,GAAG,uCAAgB,CAAC,UAAU,CAAC;YAC/B,CAAC,mCAAY,CAAC,mBAAmB,CAAC,EAAE,kDAA2B;SAChE,CAAC;QACF,OAAO,GAAG,IAAI,CAAC;KAChB;IAED,IAAI,OAAO,IAAI,uCAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,uCAAgB,CAAC,UAAU,CAAC,CAAC,mCAAY,CAAC,0BAA0B,CAAC,CAAC,EAAE;QACtH,uCAAgB,CAAC,UAAU,CAAC,GAAG;YAC7B,GAAG,uCAAgB,CAAC,UAAU,CAAC;YAC/B,CAAC,mCAAY,CAAC,0BAA0B,CAAC,CAAC,EAAE,8BAA8B;SAC3E,CAAC;KACH;AACH,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,OAAgB,EAAE,MAAc,EAAE,KAAc,EAAE,EAAE;IACpF,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B"}
@@ -10,6 +10,7 @@ import { SessionInfo } from '../controller/streamingDelegate';
10
10
  export declare class FFmpegParameters {
11
11
  progressPort: number;
12
12
  debug: boolean;
13
+ processor?: string;
13
14
  private hideBanner;
14
15
  private useWallclockAsTimestamp;
15
16
  private inputSoure;
@@ -74,6 +75,8 @@ export declare class FFmpegParameters {
74
75
  static getRecordingArguments(parameters: FFmpegParameters[]): string[];
75
76
  static getCombinedArguments(parameters: FFmpegParameters[]): string[];
76
77
  getStreamStartText(): string;
78
+ hasCustomFfmpeg(): boolean;
79
+ getCustomFfmpeg(): string;
77
80
  }
78
81
  export declare class FFmpeg extends EventEmitter {
79
82
  private process?;
@@ -1 +1 @@
1
- {"version":3,"file":"ffmpeg.d.ts","sourceRoot":"","sources":["../../src/plugin/utils/ffmpeg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ffmpeg.d.ts","sourceRoot":"","sources":["../../src/plugin/utils/ffmpeg.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,6 @@ class FFmpegProgress extends events_1.default {
56
56
  }
57
57
  class FFmpegParameters {
58
58
  constructor(port, isVideo, isAudio, isSnapshot, debug = false) {
59
- // default parameters
60
59
  this.hideBanner = true;
61
60
  this.useWallclockAsTimestamp = true;
62
61
  this.inputSoure = '-i pipe:';
@@ -129,7 +128,6 @@ class FFmpegParameters {
129
128
  return this.inputSoure === '-i pipe:';
130
129
  }
131
130
  setInputSource(value) {
132
- // TODO: check for errors
133
131
  this.inputSoure = `-i ${value}`;
134
132
  }
135
133
  async setInputStream(input) {
@@ -164,6 +162,9 @@ class FFmpegParameters {
164
162
  setup(cameraConfig, request) {
165
163
  var _a;
166
164
  const videoConfig = (_a = cameraConfig.videoConfig) !== null && _a !== void 0 ? _a : (cameraConfig.videoConfig = {});
165
+ if (videoConfig.videoProcessor && videoConfig.videoProcessor !== '') {
166
+ this.processor = videoConfig.videoProcessor;
167
+ }
167
168
  if (videoConfig.readRate) {
168
169
  this.readrate = videoConfig.readRate;
169
170
  }
@@ -191,7 +192,7 @@ class FFmpegParameters {
191
192
  this.bufsize = bitrate * 2;
192
193
  this.maxrate = bitrate;
193
194
  let encoderOptions = codec === 'libx264' ? '-preset ultrafast -tune zerolatency' : '';
194
- if (videoConfig.encoderOptions && videoConfig.encoderOptions !== '') {
195
+ if (videoConfig.encoderOptions) {
195
196
  encoderOptions = videoConfig.encoderOptions;
196
197
  }
197
198
  this.codecOptions = encoderOptions;
@@ -217,25 +218,38 @@ class FFmpegParameters {
217
218
  }
218
219
  if (this.isAudio) {
219
220
  const req = request;
220
- let codec = req.audio.codec === "OPUS" /* OPUS */ ? 'libopus' : 'libfdk_aac';
221
- let codecOptions = req.audio.codec === "OPUS" /* OPUS */ ? '-application lowdelay' : '-profile:a aac_eld';
221
+ let codec = 'libfdk_aac';
222
+ let codecOptions = '-profile:a aac_eld';
223
+ switch (req.audio.codec) {
224
+ case "OPUS" /* OPUS */:
225
+ codec = 'libopus';
226
+ codecOptions = '-application lowdelay';
227
+ break;
228
+ default:
229
+ codec = 'libfdk_aac';
230
+ codecOptions = '-profile:a aac_eld';
231
+ break;
232
+ }
222
233
  if (videoConfig.acodec && videoConfig.acodec !== '') {
223
234
  codec = videoConfig.acodec;
224
235
  codecOptions = '';
225
236
  }
237
+ if (videoConfig.acodecOptions !== undefined) {
238
+ codecOptions = videoConfig.acodecOptions;
239
+ }
226
240
  if (this.flagsGlobalHeader) {
227
- codecOptions += ' -flags +global_header';
241
+ if (codecOptions !== '') {
242
+ codecOptions += ' ';
243
+ }
244
+ codecOptions += '-flags +global_header';
228
245
  }
229
246
  this.codec = codec;
230
247
  this.codecOptions = codecOptions;
231
- let samplerate = req.audio.sample_rate;
232
- if (videoConfig.audioSampleRate &&
233
- (videoConfig.audioSampleRate === 8 || videoConfig.audioSampleRate === 16 || videoConfig.audioSampleRate === 24)) {
234
- samplerate = videoConfig.audioSampleRate;
248
+ if (this.codec !== ' copy') {
249
+ this.sampleRate = req.audio.sample_rate;
250
+ this.channels = req.audio.channel;
251
+ this.bitrate = videoConfig.audioBitrate ? videoConfig.audioBitrate : req.audio.max_bit_rate;
235
252
  }
236
- this.sampleRate = samplerate;
237
- this.channels = req.audio.channel;
238
- this.bitrate = req.audio.max_bit_rate;
239
253
  }
240
254
  if (this.isSnapshot) {
241
255
  const req = request;
@@ -281,6 +295,9 @@ class FFmpegParameters {
281
295
  setupForRecording(videoConfig, configuration) {
282
296
  this.movflags = 'frag_keyframe+empty_moov+default_base_moof';
283
297
  this.maxMuxingQueueSize = 1024;
298
+ if (videoConfig.videoProcessor && videoConfig.videoProcessor !== '') {
299
+ this.processor = videoConfig.videoProcessor;
300
+ }
284
301
  if (this.isVideo) {
285
302
  if (videoConfig.vcodec && videoConfig.vcodec !== '') {
286
303
  this.codec = videoConfig.vcodec;
@@ -588,6 +605,12 @@ class FFmpegParameters {
588
605
  }
589
606
  return 'Starting unknown stream';
590
607
  }
608
+ hasCustomFfmpeg() {
609
+ return (this.processor !== undefined);
610
+ }
611
+ getCustomFfmpeg() {
612
+ return (this.hasCustomFfmpeg()) ? this.processor : '';
613
+ }
591
614
  }
592
615
  exports.FFmpegParameters = FFmpegParameters;
593
616
  class FFmpeg extends events_1.default {
@@ -605,6 +628,9 @@ class FFmpeg extends events_1.default {
605
628
  else {
606
629
  this.parameters = [parameters];
607
630
  }
631
+ if (this.parameters[0].hasCustomFfmpeg()) {
632
+ this.ffmpegExec = this.parameters[0].getCustomFfmpeg();
633
+ }
608
634
  }
609
635
  start() {
610
636
  this.starttime = Date.now();
@@ -619,9 +645,15 @@ class FFmpeg extends events_1.default {
619
645
  this.stdin = this.process.stdin;
620
646
  this.stdout = this.process.stdout;
621
647
  this.process.stderr.on('data', (chunk) => {
622
- if (this.parameters[0].debug) {
648
+ const isError = chunk.toString().indexOf('[panic]') !== -1 ||
649
+ chunk.toString().indexOf('[error]') !== -1 ||
650
+ chunk.toString().indexOf('[fatal]') !== -1;
651
+ if (this.parameters[0].debug && !isError) {
623
652
  this.log.debug(this.name, 'ffmpeg log message:\n' + chunk.toString());
624
653
  }
654
+ else if (isError) {
655
+ this.log.error(this.name, 'ffmpeg log message:\n' + chunk.toString());
656
+ }
625
657
  });
626
658
  this.process.on('error', this.onProcessError.bind(this));
627
659
  this.process.on('exit', this.onProcessExit.bind(this));
@@ -635,9 +667,15 @@ class FFmpeg extends events_1.default {
635
667
  return new Promise((resolve, reject) => {
636
668
  this.process = (0, child_process_1.spawn)(this.ffmpegExec, processArgs.join(' ').split(/\s+/), { env: process.env });
637
669
  this.process.stderr.on('data', (chunk) => {
638
- if (this.parameters[0].debug) {
670
+ const isError = chunk.toString().indexOf('[panic]') !== -1 ||
671
+ chunk.toString().indexOf('[error]') !== -1 ||
672
+ chunk.toString().indexOf('[fatal]') !== -1;
673
+ if (this.parameters[0].debug && !isError) {
639
674
  this.log.debug(this.name, 'ffmpeg log message:\n' + chunk.toString());
640
675
  }
676
+ else if (isError) {
677
+ this.log.error(this.name, 'ffmpeg log message:\n' + chunk.toString());
678
+ }
641
679
  });
642
680
  const killTimeout = setTimeout(() => {
643
681
  this.stop();
@@ -695,11 +733,17 @@ class FFmpeg extends events_1.default {
695
733
  this.process = (0, child_process_1.spawn)(this.ffmpegExec, processArgs.join(' ').split(/\s+/), { env: process.env });
696
734
  this.stdin = this.process.stdin;
697
735
  this.stdout = this.process.stdout;
698
- if (this.parameters[0].debug) {
699
- this.process.stderr.on('data', (chunk) => {
736
+ this.process.stderr.on('data', (chunk) => {
737
+ const isError = chunk.toString().indexOf('[panic]') !== -1 ||
738
+ chunk.toString().indexOf('[error]') !== -1 ||
739
+ chunk.toString().indexOf('[fatal]') !== -1;
740
+ if (this.parameters[0].debug && !isError) {
700
741
  this.log.debug(this.name, 'ffmpeg log message:\n' + chunk.toString());
701
- });
702
- }
742
+ }
743
+ else if (isError) {
744
+ this.log.error(this.name, 'ffmpeg log message:\n' + chunk.toString());
745
+ }
746
+ });
703
747
  this.process.on('error', this.onProcessError.bind(this));
704
748
  this.process.on('exit', this.onProcessExit.bind(this));
705
749
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ffmpeg.js","sourceRoot":"","sources":["../../src/plugin/utils/ffmpeg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ffmpeg.js","sourceRoot":"","sources":["../../src/plugin/utils/ffmpeg.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAsE;AACtE,8CAAsB;AACtB,4CAAoB;AAGpB,kFAA+C;AAC/C,0DAAiC;AAGjC,oDAAkC;AAelC,MAAM,cAAe,SAAQ,gBAAY;IAKvC,YAAY,IAAY;QACtB,KAAK,EAAE,CAAC;QAHF,YAAO,GAAG,KAAK,CAAC;QAItB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,WAAW,GAA+B,SAAS,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,aAAG,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;YACxC,IAAI,WAAW,EAAE;gBACf,YAAY,CAAC,WAAW,CAAC,CAAC;aAC3B;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,0DAA0D;YAE/E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEnD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,yCAAyC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QAEd,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC9B,yCAAyC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,eAAe,CAAC,YAAoB;QAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,OAAO;aACR;YACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;gBAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAC/B;SACF;IACH,CAAC;CACF;AAED,MAAa,gBAAgB;IA6D3B,YAAoB,IAAY,EAAE,OAAgB,EAAE,OAAgB,EAAE,UAAmB,EAAE,KAAK,GAAG,KAAK;QAtDhG,eAAU,GAAG,IAAI,CAAC;QAClB,4BAAuB,GAAG,IAAI,CAAC;QAE/B,eAAU,GAAG,UAAU,CAAC;QAIxB,WAAM,GAAG,QAAQ,CAAC;QAWlB,UAAK,GAAG,MAAM,CAAC;QAoBf,SAAI,GAAG,KAAK,CAAC;QAKb,sBAAiB,GAAG,KAAK,CAAC;QAI1B,kBAAa,GAAG,KAAK,CAAC;QAQ5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK;QACjC,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC;YAC1B,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,SAAS;YACb,cAAc,EAAE,EAAE;SACnB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACvC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK;QACjC,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC;YAC1B,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,SAAS;YACb,cAAc,EAAE,EAAE;SACnB,CAAC,CAAC;QACH,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK;QACpC,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC;YAC1B,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,SAAS;YACb,cAAc,EAAE,EAAE;SACnB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACvC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,GAAG,KAAK;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC;YAC1B,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,SAAS;YACb,cAAc,EAAE,EAAE;SACnB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,GAAG,KAAK;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC;YAC1B,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,SAAS;YACb,cAAc,EAAE,EAAE;SACnB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,aAAa,CAAC,KAAa,EAAE,MAAc;QAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC;IACxC,CAAC;IAEM,cAAc,CAAC,KAAa;QACjC,IAAI,CAAC,UAAU,GAAG,MAAM,KAAK,EAAE,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,KAAe;QACzC,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC;YAC1B,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,SAAS;YACb,cAAc,EAAE,EAAE;SACnB,CAAC,CAAC;QACH,IAAI,WAAW,GAA+B,SAAS,CAAC;QACxD,MAAM,MAAM,GAAG,aAAG,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;YACzC,IAAI,WAAW,EAAE;gBACf,YAAY,CAAC,WAAW,CAAC,CAAC;aAC3B;YACD,MAAM,CAAC,KAAK,EAAE,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACvB,yCAAyC;YAC3C,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACvB,yCAAyC;QAC3C,CAAC,CAAC,CAAC;QAEH,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QAEd,IAAI,CAAC,cAAc,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAEM,kBAAkB;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEM,KAAK,CACV,YAA0B,EAC1B,OAAoF;;QAGpF,MAAM,WAAW,SAAG,YAAY,CAAC,WAAW,oCAAxB,YAAY,CAAC,WAAW,GAAK,EAAE,CAAA,CAAC;QACpD,IAAI,WAAW,CAAC,cAAc,IAAI,WAAW,CAAC,cAAc,KAAK,EAAE,EAAE;YACnE,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC;SAC7C;QACD,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;SACtC;QACD,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;SACtC;QACD,IAAI,WAAW,CAAC,SAAS,EAAE;YACzB,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;SACxC;QACD,IAAI,WAAW,CAAC,eAAe,EAAE;YAC/B,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC;SACpD;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,GAAG,GAAG,OAAwD,CAAC;YACrE,IAAI,KAAK,GAAG,SAAS,CAAC;YACtB,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,EAAE,EAAE;gBACnD,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;aAC5B;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,KAAK,KAAK,MAAM,EAAE;gBACpB,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;gBACpE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;gBACf,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;gBACzF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,IAAI,cAAc,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,IAAI,WAAW,CAAC,cAAc,EAAE;oBAC9B,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;iBAC7C;gBACD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;gBACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC3B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;gBACzB,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC5B,IAAI,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,GAAG,KAAK,EAAE;oBACxD,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC;iBAC9B;gBACD,IAAI,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC9B,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,GAAG,MAAM,EAAE;oBAC3D,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC;iBAChC;gBACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,KAAK,EAAE,EAAE;oBAC7D,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC;iBACxC;gBACD,IAAI,WAAW,CAAC,IAAI,EAAE;oBACpB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;iBAC9B;aACF;SACF;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,GAAG,GAAG,OAA6B,CAAC;YAC1C,IAAI,KAAK,GAAG,YAAY,CAAC;YACzB,IAAI,YAAY,GAAG,oBAAoB,CAAC;YACxC,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;gBACvB;oBACE,KAAK,GAAG,SAAS,CAAC;oBAClB,YAAY,GAAG,uBAAuB,CAAC;oBACvC,MAAM;gBACR;oBACE,KAAK,GAAG,YAAY,CAAC;oBACrB,YAAY,GAAG,oBAAoB,CAAC;oBACpC,MAAM;aACT;YAED,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,EAAE,EAAE;gBACnD,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC3B,YAAY,GAAG,EAAE,CAAC;aACnB;YACD,IAAI,WAAW,CAAC,aAAa,KAAK,SAAS,EAAE;gBAC3C,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC;aAC1C;YACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,YAAY,KAAK,EAAE,EAAE;oBACvB,YAAY,IAAI,GAAG,CAAC;iBACrB;gBACD,YAAY,IAAI,uBAAuB,CAAC;aACzC;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE;gBAC1B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;gBACxC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;aAC7F;SACF;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,GAAG,GAAG,OAA0B,CAAC;YACvC,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,IAAI,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,GAAG,KAAK,EAAE;gBACxD,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC;aAC9B;YACD,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YACxB,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,GAAG,MAAM,EAAE;gBAC3D,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC;aAChC;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,KAAK,EAAE,EAAE;gBAC7D,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC;aACxC;YACD,IAAI,WAAW,CAAC,IAAI,EAAE;gBACpB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;aAC9B;SACF;IACH,CAAC;IAEM,YAAY,CAAC,WAAwB,EAAE,OAA2B;QAEvE,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,GAAG,yBAAyB,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,UAAU,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,SAAS,aAAa,WAAW,CAAC,SAAS,gBAAgB,CAAC;SACxH;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,GAAG,yBAAyB,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,UAAU,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,SAAS,aAAa,WAAW,CAAC,SAAS,eAAe,CAAC;SACvH;IACH,CAAC;IAEM,SAAS,CAAC,MAAc;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,iBAAiB,CAAC,WAAwB,EAAE,aAA2C;QAC5F,IAAI,CAAC,QAAQ,GAAG,4CAA4C,CAAC;QAC7D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAE/B,IAAI,WAAW,CAAC,cAAc,IAAI,WAAW,CAAC,cAAc,KAAK,EAAE,EAAE;YACnE,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC;SAC7C;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,EAAE,EAAE;gBACnD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;aACjC;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;aACxB;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC3B,MAAM,OAAO,GACX,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,iBAAqB;oBAC9D,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,iBAAqB;wBAChE,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,UAAU,CAAC;gBACnB,MAAM,KAAK,GACT,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,qBAAuB;oBAC9D,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,qBAAuB;wBAChE,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,KAAK,CAAC;gBACd,IAAI,CAAC,YAAY,GAAG,cAAc,OAAO,aAAa,KAAK,EAAE,CAAC;aAC/D;YACD,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE;gBACzB,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC3D,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAClD,IAAI,WAAW,CAAC,IAAI,EAAE;oBACpB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;iBAC9B;aACF;YAED,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC;SAC1E;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAEhB,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,EAAE,EAAE;gBACnD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;aACjC;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;aAC3B;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;gBACvD,IAAI,CAAC,YAAY,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,mBAAmC,CAAC;oBACpF,CAAC,CAAC,oBAAoB;oBACtB,CAAC,CAAC,oBAAoB,CAAC;gBACzB,IAAI,CAAC,YAAY,IAAI,wBAAwB,CAAC;aAC/C;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE;gBACzB,IAAI,UAAU,CAAC;gBAEf,QAAQ,aAAa,CAAC,UAAU,CAAC,UAAU,EAAE;oBAC3C;wBACE,UAAU,GAAG,GAAG,CAAC;wBACjB,MAAM;oBACR;wBACE,UAAU,GAAG,IAAI,CAAC;wBAClB,MAAM;oBACR;wBACE,UAAU,GAAG,IAAI,CAAC;wBAClB,MAAM;oBACR;wBACE,UAAU,GAAG,IAAI,CAAC;wBAClB,MAAM;oBACR;wBACE,UAAU,GAAG,MAAM,CAAC;wBACpB,MAAM;oBACR;wBACE,UAAU,GAAG,IAAI,CAAC;wBAClB,MAAM;oBACR;wBACE,MAAM,IAAI,KAAK,CAAC,iCAAiC,aAAa,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;iBAC3F;gBACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC7B,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;gBAChD,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC;aACxD;SACF;IACH,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,WAAwB;QACpD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,8BAA8B,CAAC;QACxD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/C,MAAM,QAAQ,GACZ,SAAS;YACT,aAAa,GAAG,KAAK,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,GAAG,MAAM;YAC1D,YAAY;YACZ,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,GAAG,MAAM;YACpD,WAAW;YACX,UAAU,GAAG,WAAW,CAAC,eAAe,GAAG,kBAAkB;YAC7D,aAAa;YACb,wCAAwC;YACxC,gBAAgB,GAAG,yCAAyC;YAC5D,aAAa;YACX,kFAAkF;YAClF,2BAA2B;YAC7B,4CAA4C,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QAEnG,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC;YAC1B,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,SAAS;YACb,cAAc,EAAE,EAAE;SACnB,CAAC,CAAC;QACH,IAAI,WAAW,GAA+B,SAAS,CAAC;QACxD,MAAM,MAAM,GAAG,aAAG,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;YACzC,IAAI,WAAW,EAAE;gBACf,YAAY,CAAC,WAAW,CAAC,CAAC;aAC3B;YACD,MAAM,CAAC,KAAK,EAAE,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACvB,yCAAyC;YAC3C,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACvB,yCAAyC;QAC3C,CAAC,CAAC,CAAC;QAEH,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACd,IAAI,CAAC,cAAc,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAEO,sBAAsB;QAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,wBAAwB;QAChE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAElF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,mBAAmB;QACzB,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,QAAQ;QACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,eAAe,EAAE,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC;QACnF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAExC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,uBAAuB;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAExD,gBAAgB;YAChB,MAAM,OAAO,GAAa,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;aAC/B;YACD,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC/C,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,MAAM,YAAY,GAAG,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,uCAAuC,CAAC;oBAC/F,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClD,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK,eAAe,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,oCAAoC;iBACjH;qBAAM;oBACL,MAAM,YAAY,GAAG,QAAQ;wBAC7B,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,QAAQ;wBAChC,GAAG;wBACH,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ;wBACjC,uCAAuC,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC,oCAAoC;iBAC5F;aACF;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/C;YAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC9D;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,mBAAmB;YACnB,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACzD;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAa,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;aAC/B;YACD,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC/C,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,MAAM,YAAY,GAAG,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,uCAAuC,CAAC;oBAC/F,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClD,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK,eAAe,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,oCAAoC;iBACjH;qBAAM;oBACL,MAAM,YAAY,GAAG,QAAQ;wBAC7B,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,QAAQ;wBAChC,GAAG;wBACH,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ;wBACjC,uCAAuC,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC,oCAAoC;iBAC5F;aACF;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/C;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,qBAAqB;QAC3B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,SAAS;QACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE1E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,eAAe;QACrB,IAAI,MAAM,GAAa,EAAE,CAAC;QAE1B,MAAM,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACvC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACnD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACvD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAErD,MAAM,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAE9D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,UAA8B;QACzD,IAAI,MAAM,GAAa,EAAE,CAAC;QAC1B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO,MAAM,CAAC;SACf;QAED,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAChD,QAAQ;QACR,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,4CAA4C;YAChI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;SACvC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;QACD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvB,iBAAiB;QACjB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,yCAAyC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,GAAG,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC;QAEhI,iBAAiB;QACjB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACpC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC;SACjE;QAED,yBAAyB;QACzB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,0BAA0B,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC;QAEjH,SAAS;QACT,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,6BAA6B,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,UAA8B;QACxD,IAAI,MAAM,GAAa,EAAE,CAAC;QAC1B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO,MAAM,CAAC;SACf;QAED,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAChD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;YAChD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC;YACpD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,6BAA6B,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,kBAAkB;QACvB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,IAAI,CAAC,OAAO,OAAO,CAAC;YACnH,OAAO,0BAA0B,OAAO,EAAE,CAAC;SAC5C;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,SAAS,IAAI,CAAC,OAAO,iBAAiB,IAAI,CAAC,KAAK,EAAE,CAAC;YAClH,OAAO,0BAA0B,OAAO,EAAE,CAAC;SAC5C;QACD,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAEM,eAAe;QACpB,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IACxC,CAAC;IAEM,eAAe;QACpB,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,CAAC;CACF;AAzqBD,4CAyqBC;AAED,MAAa,MAAO,SAAQ,gBAAY;IAiBtC,YAAY,IAAY,EAAE,UAAiD,EAAE,GAAW;QACtF,KAAK,EAAE,CAAC;QATF,eAAU,GAAG,+BAAU,IAAI,QAAQ,CAAC;QAU1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAChD;YACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;SAChC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;SACxD;IACH,CAAC;IAEM,KAAK;QAEV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE5B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAExE,MAAM,WAAW,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAA,qBAAK,EAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAElC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACxD,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC1C,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAE7C,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;gBACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;aACvE;iBAAM,IAAI,OAAO,EAAE;gBAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;aACvE;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,KAAc;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE5B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAExE,MAAM,WAAW,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,GAAG,IAAA,qBAAK,EAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAEhG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC1D,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC1C,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE3C,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;oBACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACvE;qBAAM,IAAI,OAAO,EAAE;oBAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACvE;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;gBAClC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,MAAM,CAAC,2BAA2B,CAAC,CAAC;YACtC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YAEd,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;gBACZ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACtC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC3B,IAAI,WAAW,EAAE;oBACf,YAAY,CAAC,WAAW,CAAC,CAAC;iBAC3B;gBAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,OAAO,CAAC,YAAY,CAAC,CAAC;iBACvB;qBAAM;oBACL,MAAM,CAAC,uBAAuB,CAAC,CAAC;iBACjC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,yBAAyB;QASpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE5B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAExE,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC;YAC1B,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,SAAS;YACb,cAAc,EAAE,EAAE;SACnB,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,aAAG,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;gBACzC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAEf,OAAO,CAAC;oBACN,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;iBAC3C,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;gBACvB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;gBACxD,MAAM,WAAW,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAE5E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9F,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,GAAG,IAAA,qBAAK,EAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAElC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBACvC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBAC1D,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBAC1C,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;oBAE3C,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;wBACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;qBACvE;yBAAM,IAAI,OAAO,EAAE;wBAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;qBACvE;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,CAAE,kBAAkB,CAAC,MAAkB;QACnD,OAAO,IAAI,EAAE;YACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEnD,MAAM;gBACJ,MAAM;gBACN,MAAM;gBACN,IAAI;gBACJ,IAAI;aACL,CAAC;SACH;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAkB,EAAE,MAAc;QACzD,IAAI,MAAM,IAAI,CAAC,EAAE;YACf,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACxB;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,WAAW,GAAG,GAAG,EAAE;gBACvB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAElC,IAAI,KAAK,EAAE;oBACT,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;YACH,CAAC,CAAC;YAEF,MAAM,UAAU,GAAG,GAAG,EAAE;gBACtB,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,MAAM,SAAS,CAAC,CAAC,CAAC;YAC7E,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAC/C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC7C,CAAC,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACjD;YAED,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACnC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,IAAI;;QACT,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC1B,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE;gBACxB,SAAS,GAAG,IAAI,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE;YACb,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SAC/B;aAAM;YACL,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,YAAE,CAAC,GAAG,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;;YACjC,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACf,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,oDAAoD,OAAO,WAAW,CAAC,CAAC;IACpG,CAAC;IAEO,cAAc,CAAC,KAAY;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEO,aAAa,CAAC,IAAY,EAAE,MAAsB;;QACxD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAChC;QAED,MAAM,OAAO,GAAG,2BAA2B,GAAG,IAAI,GAAG,eAAe,GAAG,MAAM,CAAC;QAC9E,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC;SACnD;aAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE;YACxC,IAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,EAAE;gBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC;aACjD;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,CAAC,CAAC;aACtD;SACF;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;YACzC,mDAAmD;SACpD;IACH,CAAC;CACF;AApSD,wBAoSC"}
@@ -0,0 +1,12 @@
1
+ export declare class EufyClientNotRunningError extends Error {
2
+ constructor(message?: string);
3
+ }
4
+ export interface PluginConfigInteractor {
5
+ DeviceIsCharging(sn: string): Promise<number>;
6
+ DeviceSetExperimentalRTSP(sn: string, value: boolean): Promise<string>;
7
+ DeviceGetExperimentalRTSPStatus(sn: string): Promise<{
8
+ state: boolean;
9
+ url?: string;
10
+ }>;
11
+ }
12
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/plugin/utils/interfaces.ts"],"names":[],"mappings":"AAAA,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,OAAO,CAAC,EAAE,MAAM;CAK7B;AAED,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,yBAAyB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,+BAA+B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxF"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EufyClientNotRunningError = void 0;
4
+ class EufyClientNotRunningError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ Object.setPrototypeOf(this, new.target.prototype);
8
+ this.name = EufyClientNotRunningError.name;
9
+ }
10
+ }
11
+ exports.EufyClientNotRunningError = EufyClientNotRunningError;
12
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/plugin/utils/interfaces.ts"],"names":[],"mappings":";;;AAAA,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC;IAC7C,CAAC;CACF;AAND,8DAMC"}
@@ -0,0 +1,34 @@
1
+ /// <reference types="node" />
2
+ import EventEmitter from 'events';
3
+ import { EufySecurity } from 'eufy-security-client';
4
+ import { PluginConfigInteractor } from './interfaces';
5
+ import { Logger } from './logger';
6
+ import bunyan from 'bunyan';
7
+ export declare class EufyClientInteractor extends EventEmitter implements PluginConfigInteractor {
8
+ private client?;
9
+ private storagePath;
10
+ private log;
11
+ private server?;
12
+ constructor(path: string, log: Logger | bunyan, client?: EufySecurity);
13
+ setClient(client: EufySecurity): void;
14
+ setupServer(): Promise<void>;
15
+ stopServer(): void;
16
+ private getFreePort;
17
+ private writePortToStoragePath;
18
+ private loadPort;
19
+ private ipcRequest;
20
+ private processIPCRequest;
21
+ private processDirectRequest;
22
+ private getChargingStatus;
23
+ private getExperimentalRTSPStatusChangeResult;
24
+ private getExperimentalRTSPState;
25
+ private onSocketError;
26
+ private onServerError;
27
+ DeviceIsCharging(sn: string): Promise<number>;
28
+ DeviceSetExperimentalRTSP(sn: string, value: boolean): Promise<string>;
29
+ DeviceGetExperimentalRTSPStatus(sn: string): Promise<{
30
+ state: boolean;
31
+ url?: string;
32
+ }>;
33
+ }
34
+ //# sourceMappingURL=EufyClientInteractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EufyClientInteractor.d.ts","sourceRoot":"","sources":["../../../src/plugin/utils/EufyClientInteractor.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAIlC,OAAO,EAAU,YAAY,EAAwC,MAAM,sBAAsB,CAAC;AAGlG,OAAO,EAA6B,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAsB5B,qBAAa,oBAAqB,SAAQ,YAAa,YAAW,sBAAsB;IAEtF,OAAO,CAAC,MAAM,CAAC,CAAe;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,GAAG,CAAkB;IAE7B,OAAO,CAAC,MAAM,CAAC,CAAa;gBAEhB,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY;IAQ9D,SAAS,CAAC,MAAM,EAAE,YAAY;IAIxB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BlC,UAAU;YAMH,WAAW;IAQzB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,UAAU;YAmCJ,iBAAiB;YA0BjB,oBAAoB;YAoCpB,iBAAiB;YAcjB,qCAAqC;YAgDrC,wBAAwB;IAmBtC,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAIf,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB7C,yBAAyB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBtE,+BAA+B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAoB7F"}