zigbee-herdsman 0.25.3 → 0.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,12 +9,12 @@ jobs:
9
9
  stale:
10
10
  runs-on: ubuntu-latest
11
11
  steps:
12
- - uses: actions/stale@v8
12
+ - uses: actions/stale@v9
13
13
  with:
14
14
  repo-token: ${{ secrets.GITHUB_TOKEN }}
15
15
  stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days'
16
16
  stale-pr-message: 'This pull request is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days'
17
- days-before-stale: 30
18
- days-before-close: 7
17
+ days-before-stale: 180
18
+ days-before-close: 30
19
19
  exempt-issue-labels: dont-stale
20
20
  operations-per-run: 500
@@ -1,4 +1,4 @@
1
1
  {
2
- ".": "0.25.3",
2
+ ".": "0.26.1",
3
3
  "bootstrap-sha": "d75f2c98d866de9f9af1a2a6a48e7b4dde4744b0"
4
4
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.26.1](https://github.com/Koenkk/zigbee-herdsman/compare/v0.26.0...v0.26.1) (2023-12-10)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Extend `manuSpecificInovelli` cluster ([#824](https://github.com/Koenkk/zigbee-herdsman/issues/824)) ([435ed7a](https://github.com/Koenkk/zigbee-herdsman/commit/435ed7a5a0f1e45fbc4ecbc3882772e5d10ed2a9))
9
+ * **ignore:** Cleanup request queue ([#826](https://github.com/Koenkk/zigbee-herdsman/issues/826)) ([db1545b](https://github.com/Koenkk/zigbee-herdsman/commit/db1545b1170bf74c3fa9624807e233e863b844b1))
10
+
11
+ ## [0.26.0](https://github.com/Koenkk/zigbee-herdsman/compare/v0.25.3...v0.26.0) (2023-12-07)
12
+
13
+
14
+ ### Features
15
+
16
+ * Add `manuSpecificBosch9` cluster ([#820](https://github.com/Koenkk/zigbee-herdsman/issues/820)) ([4915931](https://github.com/Koenkk/zigbee-herdsman/commit/4915931097fc482b44af37c7fd55e854ae68f938))
17
+
3
18
  ## [0.25.3](https://github.com/Koenkk/zigbee-herdsman/compare/v0.25.2...v0.25.3) (2023-12-04)
4
19
 
5
20
 
@@ -4,14 +4,14 @@ declare class Request<Type = any> {
4
4
  static defaultSendPolicy: {
5
5
  [key: number]: SendPolicy;
6
6
  };
7
- private _func;
7
+ private func;
8
8
  frame: Zcl.ZclFrame;
9
9
  expires: number;
10
10
  sendPolicy: SendPolicy;
11
11
  sendWhen: SendRequestWhen;
12
- private _resolveQueue;
13
- private _rejectQueue;
14
- private _lastError;
12
+ private resolveQueue;
13
+ private rejectQueue;
14
+ private lastError;
15
15
  constructor(func: (frame: Zcl.ZclFrame) => Promise<Type>, frame: Zcl.ZclFrame, timeout: number, sendWhen?: SendRequestWhen, sendPolicy?: SendPolicy, lastError?: Error, resolve?: (value: Type) => void, reject?: (error: Error) => void);
16
16
  moveCallbacks(from: Request<Type>): void;
17
17
  addCallbacks(resolve: (value: Type) => void, reject: (error: Error) => void): void;
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/controller/helpers/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AAGjC,cAAM,OAAO,CAAC,IAAI,GAAG,GAAG;IAEpB,MAAM,CAAC,iBAAiB,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAC,CAwBnD;IAEF,OAAO,CAAC,KAAK,CAAyC;IACtD,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,UAAU,CAAQ;gBACb,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAC3F,QAAQ,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,KAAK,EACtE,OAAO,CAAC,EAAC,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;IAcnE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAE,IAAI,CAAC,GAAI,IAAI;IAO1C,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAKlF,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAK3B,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAKpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ9B;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/controller/helpers/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AAGjC,cAAM,OAAO,CAAC,IAAI,GAAG,GAAG;IAEpB,MAAM,CAAC,iBAAiB,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAC,CAwBnD;IAEF,OAAO,CAAC,IAAI,CAAyC;IACrD,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,SAAS,CAAQ;gBACZ,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAC3F,QAAQ,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,KAAK,EACtE,OAAO,CAAC,EAAC,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;IAcnE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAE,IAAI,CAAC,GAAI,IAAI;IAO1C,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAKlF,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAK3B,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAKpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ9B;AAED,eAAe,OAAO,CAAC"}
@@ -3,42 +3,42 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
4
4
  class Request {
5
5
  constructor(func, frame, timeout, sendWhen, sendPolicy, lastError, resolve, reject) {
6
- this._func = func;
6
+ this.func = func;
7
7
  this.frame = frame;
8
8
  this.sendWhen = sendWhen !== null && sendWhen !== void 0 ? sendWhen : 'active',
9
9
  this.expires = timeout + Date.now();
10
10
  this.sendPolicy = sendPolicy !== null && sendPolicy !== void 0 ? sendPolicy : (typeof frame.getCommand !== 'function' ?
11
11
  undefined : Request.defaultSendPolicy[frame.getCommand().ID]);
12
- this._resolveQueue = resolve === undefined ?
12
+ this.resolveQueue = resolve === undefined ?
13
13
  new Array() : new Array(resolve);
14
- this._rejectQueue = reject === undefined ?
14
+ this.rejectQueue = reject === undefined ?
15
15
  new Array() : new Array(reject);
16
- this._lastError = lastError !== null && lastError !== void 0 ? lastError : Error("Request rejected before first send");
16
+ this.lastError = lastError !== null && lastError !== void 0 ? lastError : Error("Request rejected before first send");
17
17
  }
18
18
  moveCallbacks(from) {
19
- this._resolveQueue = this._resolveQueue.concat(from._resolveQueue);
20
- this._rejectQueue = this._rejectQueue.concat(from._rejectQueue);
21
- from._resolveQueue.length = 0;
22
- from._rejectQueue.length = 0;
19
+ this.resolveQueue = this.resolveQueue.concat(from.resolveQueue);
20
+ this.rejectQueue = this.rejectQueue.concat(from.rejectQueue);
21
+ from.resolveQueue.length = 0;
22
+ from.rejectQueue.length = 0;
23
23
  }
24
24
  addCallbacks(resolve, reject) {
25
- this._resolveQueue.push(resolve);
26
- this._rejectQueue.push(reject);
25
+ this.resolveQueue.push(resolve);
26
+ this.rejectQueue.push(reject);
27
27
  }
28
28
  reject(error) {
29
- this._rejectQueue.forEach(el => el(error !== null && error !== void 0 ? error : this._lastError));
30
- this._rejectQueue.length = 0;
29
+ this.rejectQueue.forEach(el => el(error !== null && error !== void 0 ? error : this.lastError));
30
+ this.rejectQueue.length = 0;
31
31
  }
32
32
  resolve(value) {
33
- this._resolveQueue.forEach(el => el(value));
34
- this._resolveQueue.length = 0;
33
+ this.resolveQueue.forEach(el => el(value));
34
+ this.resolveQueue.length = 0;
35
35
  }
36
36
  async send() {
37
37
  try {
38
- return await this._func(this.frame);
38
+ return await this.func(this.frame);
39
39
  }
40
40
  catch (error) {
41
- this._lastError = error;
41
+ this.lastError = error;
42
42
  throw (error);
43
43
  }
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/controller/helpers/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/controller/helpers/request.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Endpoint } from '../model';
2
+ import Request from './request';
3
+ declare class RequestQueue extends Set<Request> {
4
+ private sendInProgress;
5
+ private ID;
6
+ private deviceIeeeAddress;
7
+ constructor(endpoint: Endpoint);
8
+ send(fastPolling: boolean): Promise<void>;
9
+ queue<Type>(request: Request<Type>): Promise<Type>;
10
+ filter(newRequest: Request): void;
11
+ }
12
+ export default RequestQueue;
13
+ //# sourceMappingURL=requestQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestQueue.d.ts","sourceRoot":"","sources":["../../../src/controller/helpers/requestQueue.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,OAAO,MAAM,WAAW,CAAC;AAWhC,cAAM,YAAa,SAAQ,GAAG,CAAC,OAAO,CAAC;IAEnC,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,iBAAiB,CAAS;gBAErB,QAAQ,EAAE,QAAQ;IASlB,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCzC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD,MAAM,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;CAmD3C;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const debug_1 = __importDefault(require("debug"));
7
+ const debug = {
8
+ info: (0, debug_1.default)('zigbee-herdsman:helpers:requestQueue'),
9
+ error: (0, debug_1.default)('zigbee-herdsman:helpers:requestQeue'),
10
+ };
11
+ class RequestQueue extends Set {
12
+ constructor(endpoint) {
13
+ super();
14
+ this.sendInProgress = false;
15
+ this.ID = endpoint.ID;
16
+ this.deviceIeeeAddress = endpoint.deviceIeeeAddress;
17
+ }
18
+ async send(fastPolling) {
19
+ if (this.size === 0)
20
+ return;
21
+ if (!fastPolling && this.sendInProgress) {
22
+ debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): sendPendingRequests already in progress`);
23
+ return;
24
+ }
25
+ this.sendInProgress = true;
26
+ // Remove expired requests first
27
+ const now = Date.now();
28
+ for (const request of this) {
29
+ if (now > request.expires) {
30
+ debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): discard after timeout. ` +
31
+ `Size before: ${this.size}`);
32
+ request.reject();
33
+ this.delete(request);
34
+ }
35
+ }
36
+ debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): send pending requests (` +
37
+ `${this.size}, ${fastPolling})`);
38
+ for (const request of this) {
39
+ if (fastPolling || (request.sendWhen !== 'fastpoll' && request.sendPolicy !== 'bulk')) {
40
+ try {
41
+ const result = await request.send();
42
+ debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): send success`);
43
+ request.resolve(result);
44
+ this.delete(request);
45
+ }
46
+ catch (error) {
47
+ debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): send failed, expires in ` +
48
+ `${(request.expires - now) / 1000} seconds`);
49
+ }
50
+ }
51
+ }
52
+ this.sendInProgress = false;
53
+ }
54
+ async queue(request) {
55
+ debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): Sending when active. ` +
56
+ `Expires: ${request.expires}`);
57
+ return new Promise((resolve, reject) => {
58
+ request.addCallbacks(resolve, reject);
59
+ this.add(request);
60
+ });
61
+ }
62
+ filter(newRequest) {
63
+ var _a, _b;
64
+ if (this.size === 0 || !(typeof newRequest.frame.getCommand === 'function')) {
65
+ return;
66
+ }
67
+ const clusterID = newRequest.frame.Cluster.ID;
68
+ const payload = newRequest.frame.Payload;
69
+ const commandID = newRequest.frame.getCommand().ID;
70
+ debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): ZCL ${newRequest.frame.getCommand().name} ` +
71
+ `command, filter requests. Before: ${this.size}`);
72
+ for (const request of this) {
73
+ if (((_b = (_a = request === null || request === void 0 ? void 0 : request.frame) === null || _a === void 0 ? void 0 : _a.Cluster) === null || _b === void 0 ? void 0 : _b.ID) === undefined || typeof request.frame.getCommand !== 'function') {
74
+ continue;
75
+ }
76
+ if (['bulk', 'queue', 'immediate'].includes(request.sendPolicy)) {
77
+ continue;
78
+ }
79
+ /* istanbul ignore else */
80
+ if (request.frame.Cluster.ID === clusterID && request.frame.getCommand().ID === commandID) {
81
+ /* istanbul ignore else */
82
+ if (newRequest.sendPolicy === 'keep-payload'
83
+ && JSON.stringify(request.frame.Payload) === JSON.stringify(payload)) {
84
+ debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): Merge duplicate request`);
85
+ this.delete(request);
86
+ newRequest.moveCallbacks(request);
87
+ }
88
+ else if ((newRequest.sendPolicy === 'keep-command' || newRequest.sendPolicy === 'keep-cmd-undiv') &&
89
+ Array.isArray(request.frame.Payload)) {
90
+ const filteredPayload = request.frame.Payload.filter((oldEl) => !payload.find((newEl) => oldEl.attrId === newEl.attrId));
91
+ if (filteredPayload.length == 0) {
92
+ debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): Remove & reject request`);
93
+ if (JSON.stringify(request.frame.Payload) === JSON.stringify(payload)) {
94
+ newRequest.moveCallbacks(request);
95
+ }
96
+ else {
97
+ request.reject();
98
+ }
99
+ this.delete(request);
100
+ }
101
+ else if (newRequest.sendPolicy !== 'keep-cmd-undiv') {
102
+ // remove all duplicate attributes if we shall not write undivided
103
+ request.frame.Payload = filteredPayload;
104
+ debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): `
105
+ + `Remove commands from request`);
106
+ }
107
+ }
108
+ }
109
+ }
110
+ debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): After: ${this.size}`);
111
+ }
112
+ }
113
+ exports.default = RequestQueue;
114
+ //# sourceMappingURL=requestQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestQueue.js","sourceRoot":"","sources":["../../../src/controller/helpers/requestQueue.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,6 @@ declare class Endpoint extends Entity {
57
57
  private _configuredReportings;
58
58
  meta: KeyValue;
59
59
  private pendingRequests;
60
- private sendInProgress;
61
60
  get binds(): Bind[];
62
61
  get configuredReportings(): ConfiguredReporting[];
63
62
  private constructor();
@@ -91,8 +90,6 @@ declare class Endpoint extends Entity {
91
90
  getClusterAttributeValue(clusterKey: number | string, attributeKey: number | string): number | string;
92
91
  hasPendingRequests(): boolean;
93
92
  sendPendingRequests(fastPolling: boolean): Promise<void>;
94
- private queueRequest;
95
- private filterRequests;
96
93
  private sendRequest;
97
94
  private checkStatus;
98
95
  report(clusterKey: number | string, attributes: KeyValue, options?: Options): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ const Zcl = __importStar(require("../../zcl"));
31
31
  const zclTransactionSequenceNumber_1 = __importDefault(require("../helpers/zclTransactionSequenceNumber"));
32
32
  const ZclFrameConverter = __importStar(require("../helpers/zclFrameConverter"));
33
33
  const request_1 = __importDefault(require("../helpers/request"));
34
+ const requestQueue_1 = __importDefault(require("../helpers/requestQueue"));
34
35
  const group_1 = __importDefault(require("./group"));
35
36
  const device_1 = __importDefault(require("./device"));
36
37
  const debug_1 = __importDefault(require("debug"));
@@ -97,8 +98,7 @@ class Endpoint extends entity_1.default {
97
98
  this._binds = binds;
98
99
  this._configuredReportings = configuredReportings;
99
100
  this.meta = meta;
100
- this.pendingRequests = new Set;
101
- this.sendInProgress = false;
101
+ this.pendingRequests = new requestQueue_1.default(this);
102
102
  }
103
103
  /**
104
104
  * Get device of this endpoint
@@ -182,98 +182,7 @@ class Endpoint extends entity_1.default {
182
182
  return this.pendingRequests.size > 0;
183
183
  }
184
184
  async sendPendingRequests(fastPolling) {
185
- if (this.pendingRequests.size === 0)
186
- return;
187
- if (!fastPolling && this.sendInProgress) {
188
- debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): sendPendingRequests already in progress`);
189
- return;
190
- }
191
- this.sendInProgress = true;
192
- // Remove expired requests first
193
- const now = Date.now();
194
- for (const request of this.pendingRequests) {
195
- if (now > request.expires) {
196
- debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): discard after timeout. ` +
197
- `Size before: ${this.pendingRequests.size}`);
198
- request.reject();
199
- this.pendingRequests.delete(request);
200
- }
201
- }
202
- debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): send pending requests (` +
203
- `${this.pendingRequests.size}, ${fastPolling})`);
204
- for (const request of this.pendingRequests) {
205
- if (fastPolling || (request.sendWhen !== 'fastpoll' && request.sendPolicy !== 'bulk')) {
206
- try {
207
- const result = await request.send();
208
- debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): send success`);
209
- request.resolve(result);
210
- this.pendingRequests.delete(request);
211
- }
212
- catch (error) {
213
- debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): send failed, expires in ` +
214
- `${(request.expires - now) / 1000} seconds`);
215
- }
216
- }
217
- }
218
- this.sendInProgress = false;
219
- }
220
- async queueRequest(request) {
221
- debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): Sending when active. ` +
222
- `Timeout ${this.getDevice().pendingRequestTimeout / 1000} seconds`);
223
- return new Promise((resolve, reject) => {
224
- request.addCallbacks(resolve, reject);
225
- this.pendingRequests.add(request);
226
- });
227
- }
228
- filterRequests(newRequest) {
229
- var _a, _b;
230
- if (this.pendingRequests.size === 0 || !(typeof newRequest.frame.getCommand === 'function')) {
231
- return;
232
- }
233
- const clusterID = newRequest.frame.Cluster.ID;
234
- const payload = newRequest.frame.Payload;
235
- const commandID = newRequest.frame.getCommand().ID;
236
- debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): ZCL ${newRequest.frame.getCommand().name} ` +
237
- `command, filter requests. Before: ${this.pendingRequests.size}`);
238
- for (const request of this.pendingRequests) {
239
- if (((_b = (_a = request === null || request === void 0 ? void 0 : request.frame) === null || _a === void 0 ? void 0 : _a.Cluster) === null || _b === void 0 ? void 0 : _b.ID) === undefined || typeof request.frame.getCommand !== 'function') {
240
- continue;
241
- }
242
- if (['bulk', 'queue', 'immediate'].includes(request.sendPolicy)) {
243
- continue;
244
- }
245
- /* istanbul ignore else */
246
- if (request.frame.Cluster.ID === clusterID && request.frame.getCommand().ID === commandID) {
247
- /* istanbul ignore else */
248
- if (newRequest.sendPolicy === 'keep-payload'
249
- && JSON.stringify(request.frame.Payload) === JSON.stringify(payload)) {
250
- debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): Merge duplicate request`);
251
- this.pendingRequests.delete(request);
252
- newRequest.moveCallbacks(request);
253
- }
254
- else if ((newRequest.sendPolicy === 'keep-command' || newRequest.sendPolicy === 'keep-cmd-undiv') &&
255
- Array.isArray(request.frame.Payload)) {
256
- const filteredPayload = request.frame.Payload.filter((oldEl) => !payload.find((newEl) => oldEl.attrId === newEl.attrId));
257
- if (filteredPayload.length == 0) {
258
- debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): Remove & reject request`);
259
- if (JSON.stringify(request.frame.Payload) === JSON.stringify(payload)) {
260
- newRequest.moveCallbacks(request);
261
- }
262
- else {
263
- request.reject();
264
- }
265
- this.pendingRequests.delete(request);
266
- }
267
- else if (newRequest.sendPolicy !== 'keep-cmd-undiv') {
268
- // remove all duplicate attributes if we shall not write undivided
269
- request.frame.Payload = filteredPayload;
270
- debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): `
271
- + `Remove commands from request`);
272
- }
273
- }
274
- }
275
- }
276
- debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): After: ${this.pendingRequests.size}`);
185
+ return this.pendingRequests.send(fastPolling);
277
186
  }
278
187
  async sendRequest(frame, options, func = (d) => {
279
188
  return entity_1.default.adapter.sendZclFrameToEndpoint(this.deviceIeeeAddress, this.deviceNetworkAddress, this.ID, d, options.timeout, options.disableResponse, options.disableRecovery, options.srcEndpoint);
@@ -282,7 +191,7 @@ class Endpoint extends entity_1.default {
282
191
  const request = new request_1.default(func, frame, this.getDevice().pendingRequestTimeout, options.sendWhen, options.sendPolicy);
283
192
  if (request.sendPolicy !== 'bulk') {
284
193
  // Check if such a request is already in the queue and remove the old one(s) if necessary
285
- this.filterRequests(request);
194
+ this.pendingRequests.filter(request);
286
195
  }
287
196
  // send without queueing if sendWhen or sendPolicy is 'immediate' or if the device has no timeout set
288
197
  if (request.sendWhen === 'immediate' || request.sendPolicy === 'immediate'
@@ -295,8 +204,8 @@ class Endpoint extends entity_1.default {
295
204
  }
296
205
  // If this is a bulk message, we queue directly.
297
206
  if (request.sendPolicy === 'bulk') {
298
- debug.info(logPrefix + `queue request (${this.pendingRequests.size} / ${this.sendInProgress})))`);
299
- return this.queueRequest(request);
207
+ debug.info(logPrefix + `queue request (${this.pendingRequests.size})))`);
208
+ return this.pendingRequests.queue(request);
300
209
  }
301
210
  try {
302
211
  debug.info(logPrefix + `send request`);
@@ -306,7 +215,7 @@ class Endpoint extends entity_1.default {
306
215
  // If we got a failed transaction, the device is likely sleeping.
307
216
  // Queue for transmission later.
308
217
  debug.info(logPrefix + `queue request (transaction failed)`);
309
- return this.queueRequest(request);
218
+ return this.pendingRequests.queue(request);
310
219
  }
311
220
  }
312
221
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA8B;AAE9B,+CAAiC;AACjC,2GAAmF;AACnF,gFAAkE;AAClE,iEAAyC;AACzC,2EAAmD;AAEnD,oDAA4B;AAC5B,sDAA8B;AAC9B,kDAA0B;AAC1B,oDAA4B;AAE5B,MAAM,KAAK,GAAG;IACV,IAAI,EAAE,IAAA,eAAK,EAAC,qCAAqC,CAAC;IAClD,KAAK,EAAE,IAAA,eAAK,EAAC,qCAAqC,CAAC;CACtD,CAAC;AA4DF,MAAM,QAAS,SAAQ,gBAAM;IAczB,kBAAkB;IAClB,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,IAAI,MAAM,GAAqB,IAAI,CAAC;YACpC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC3B,MAAM,MAAM,GAAG,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAC1D,IAAI,MAAM,EAAE;oBACR,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;iBACjD;aACJ;iBAAM;gBACH,MAAM,GAAG,eAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC3C;YAED,IAAI,MAAM,EAAE;gBACR,OAAO,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,EAAC,CAAC;aAClG;iBAAM;gBACH,OAAO,SAAS,CAAC;aACpB;QACL,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC5E,IAAI,SAAgC,CAAC;YAErC,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACpC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aAClD;iBAAM;gBACH,SAAS,GAAG;oBACR,EAAE,EAAE,KAAK,CAAC,MAAM;oBAChB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,SAAS;iBAC9B,CAAC;aACL;YAED,OAAO;gBACH,OAAO,EAAE,SAAS;gBAClB,qBAAqB,EAAE,KAAK,CAAC,YAAY;gBACzC,qBAAqB,EAAE,KAAK,CAAC,YAAY;gBACzC,gBAAgB,EAAE,KAAK,CAAC,SAAS;aACpC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YACI,EAAU,EAAE,SAAiB,EAAE,QAAgB,EAAE,aAAuB,EAAE,cAAwB,EAClG,oBAA4B,EAAE,iBAAyB,EAAE,QAAkB,EAAE,KAAqB,EAClG,oBAAmD,EACnD,IAAc;QAEd,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,IAAI,sBAAY,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,SAAS;QACZ,OAAO,gBAAM,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACI,oBAAoB,CAAC,UAA2B;QACnD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACI,qBAAqB,CAAC,UAA2B;QACpD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,gBAAgB;QACnB,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACI,iBAAiB;QACpB,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAEO,wBAAwB,CAAC,cAAwB;QACrD,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED;;OAEG;IAEI,MAAM,CAAC,kBAAkB,CAC5B,MAAgB,EAAE,oBAA4B,EAAE,iBAAyB;QAEzE,8BAA8B;QAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE;YACzF,6DAA6D;YAC7D,aAAa;YACb,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;YAC/B,6DAA6D;YAC7D,aAAa;YACb,OAAO,KAAK,CAAC,KAAK,CAAC;SACtB;QAED,OAAO,IAAI,QAAQ,CACf,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,cAAc,EAAE,oBAAoB,EAC3G,iBAAiB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,oBAAoB,IAAI,EAAE,EACzF,MAAM,CAAC,IAAI,IAAI,EAAE,CACpB,CAAC;IACN,CAAC;IAEM,gBAAgB;QACnB,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ;YAC3D,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ;YAC/F,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI;SACxF,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,MAAM,CAChB,EAAU,EAAE,SAAiB,EAAE,QAAgB,EAAE,aAAuB,EAAE,cAAwB,EAClG,oBAA4B,EAAE,iBAAyB;QAEvD,OAAO,IAAI,QAAQ,CACf,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAC5E,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CACpC,CAAC;IACN,CAAC;IAEM,4BAA4B,CAAC,UAA2B,EAAE,IAAc;QAC3E,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAC,UAAU,EAAE,EAAE,EAAC,CAAC;QAEjF,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;SAC7D;IACL,CAAC;IAEM,wBAAwB,CAAC,UAA2B,EAAE,YAA6B;QACtF,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;YACvE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACjE;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,WAAoB;QACjD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAKO,KAAK,CAAC,WAAW,CAAO,KAAmB,EAAE,OAAgB,EACjE,OAA2C,CAAC,CAAe,EAAiB,EAAE;QAC1E,OAAO,gBAAM,CAAC,OAAO,CAAC,sBAAsB,CACxC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,EAC9E,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,WAAW,CAAkB,CAAC;IAChG,CAAC;QACD,MAAM,SAAS,GAAG,kBAAkB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,qBAAqB,EAAE,OAAO,CAAC,QAAQ,EAC7F,OAAO,CAAC,UAAU,CAAC,CAAC;QAExB,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE;YAC/B,yFAAyF;YACzF,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACxC;QAED,qGAAqG;QACrG,IAAI,OAAO,CAAC,QAAQ,KAAK,WAAW,IAAI,OAAO,CAAC,UAAU,KAAK,WAAW;eACnE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,qBAAqB,EAAE;YAC5C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,sBAAsB,KAAI,WAAW,EAC1D;gBACI,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,QAAQ,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,uBAAuB;oBACzE,aAAa,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;aACzC;YACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;SACzB;QACD,gDAAgD;QAChD,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE;YAC/B,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,kBAAkB,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC9C;QAED,IAAI;YACA,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC;YACvC,OAAO,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;SAC/B;QAAC,OAAM,KAAK,EAAE;YACX,iEAAiE;YACjE,gCAAgC;YAChC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,oCAAoC,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC9C;IACL,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,OAAqE;QACrF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3F,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,OAAO;YAAE,MAAM,IAAI,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,MAAM,CACf,UAA2B,EAAE,UAAoB,EAAE,OAAiB;;QAEpE,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/G,MAAM,OAAO,GAA6E,EAAE,CAAC;QAC7F,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACxD,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;gBAChC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAC,CAAC,CAAC;aACnF;iBAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;aACzF;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,qDAAqD,CAAC,CAAC;aACxG;SACJ;QAED,MAAM,GAAG,GAAG,aAAa,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,GAAG;YACzD,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI;YACA,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,sBAAsB,EACvE,OAAO,CAAC,gBAAgB,EAAE,MAAA,OAAO,CAAC,yBAAyB,mCAAI,sCAA4B,CAAC,IAAI,EAAE,EAClG,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CACtD,CAAC;YAEF,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAC1C;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEM,KAAK,CAAC,KAAK,CACd,UAA2B,EAAE,UAAoB,EAAE,OAAiB;;QAEpE,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/G,MAAM,OAAO,GAA6E,EAAE,CAAC;QAC7F,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACxD,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;gBAChC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAC,CAAC,CAAC;aACnF;iBAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;aACzF;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,qDAAqD,CAAC,CAAC;aACxG;SACJ;QAED,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,GAAG;YACrD,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI;YACA,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,sBAAsB,EACvE,OAAO,CAAC,gBAAgB,EAAE,MAAA,OAAO,CAAC,yBAAyB,mCAAI,sCAA4B,CAAC,IAAI,EAAE,EAClG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CACzF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;gBAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1C;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEM,KAAK,CAAC,aAAa,CACtB,UAA2B,EAAE,yBAAiC,EAAE,UAAoB,EAAE,OAAiB;QAEvG,IAAA,gBAAM,EAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAE,eAAe,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/G,MAAM,OAAO,GAAuC,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACxD,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;gBACvC,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;oBACzB,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACpD,OAAO,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC;iBAClE;qBAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAC;oBAC5B,OAAO,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC;iBACtE;qBAAM;oBACV,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,qDAAqD,CAAC,CAAC;iBACjG;aACJ;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;aACjD;SACG;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,sBAAsB,EACvE,OAAO,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAC7G,CAAC;QAEF,MAAM,GAAG,GAAG,iBAAiB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,GAAG;YAC7D,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI;YACA,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAC1C;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CACb,UAA2B,EAAE,UAA+B,EAAE,OAAiB;;QAE/E,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/G,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,OAAO,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC;SAC1G;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,sBAAsB,EACvE,OAAO,CAAC,gBAAgB,EAAE,MAAA,OAAO,CAAC,yBAAyB,mCAAI,sCAA4B,CAAC,IAAI,EAAE,EAAE,MAAM,EAC1G,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAC5C,CAAC;QAEF,MAAM,GAAG,GAAG,QAAQ,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,GAAG;YACpD,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI;YACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEtD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;gBAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACvC,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,CAAC;aAC7F;iBAAM;gBACH,OAAO,IAAI,CAAC;aACf;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEM,KAAK,CAAC,YAAY,CACrB,UAA2B,EAAE,yBAAiC,EAAE,UAAoB,EAAE,OAAiB;QAEvG,IAAA,gBAAM,EAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAE,eAAe,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/G,MAAM,OAAO,GAAoF,EAAE,CAAC;QACpG,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACxD,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;gBAChC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;aAC9F;iBAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;aACpG;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,qDAAqD,CAAC,CAAC;aACxG;SACJ;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,sBAAsB,EACvE,OAAO,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAC5G,CAAC;QAEF,MAAM,GAAG,GAAG,gBAAgB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,GAAG;YAC5D,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI;YACA,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAC1C;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEM,UAAU,CAAC,UAA2B,EAAE,MAAiC;QAC5E,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC5B,MAAM,GAAG,eAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC5D;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE;YAC7E,IAAI,MAAM,YAAY,eAAK,EAAE;gBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;aACnF;iBAAM;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACb,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;oBAClF,UAAU,EAAE,MAAM,CAAC,EAAE;iBACxB,CAAC,CAAC;aACN;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;SACf;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,UAA2B,EAAE,MAAiC;QAC5E,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,YAAY,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC5B,MAAM,GAAG,eAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC5D;QAED,MAAM,kBAAkB,GAAG,MAAM,YAAY,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAElG,MAAM,GAAG,GAAG,QAAQ,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,QAAQ;YACzE,IAAI,MAAM,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,kBAAkB,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC;QAClG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI;YACA,MAAM,gBAAM,CAAC,OAAO,CAAC,IAAI,CACrB,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAChG,MAAM,YAAY,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAChD,CAAC;YAEF,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;SACvC;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,UAA2B,EAAE,MAAiC;QAC9E,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,YAAY,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;QAE/D,MAAM,kBAAkB,GACpB,MAAM,YAAY,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,eAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAEhH,MAAM,GAAG,GAAG,UAAU,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,QAAQ;YAC3E,IAAI,MAAM,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,kBAAkB,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC;QAClG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI;YACA,MAAM,gBAAM,CAAC,OAAO,CAAC,MAAM,CACvB,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAChG,MAAM,YAAY,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAChD,CAAC;YAEF,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,eAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gBACvD,MAAM,GAAG,eAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACpC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YAC9F,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;aACf;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEM,KAAK,CAAC,eAAe,CACxB,SAAiB,EAAE,MAAc,EAAE,SAAiB,EAAE,yBAAiC,EAAE,OAAiB;QAE1G,IAAA,gBAAM,EAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAE,eAAe,CAAC,CAAC;QAC1F,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC3F,MAAM,OAAO,GAAG,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;QACvD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,sBAAsB,EACvE,OAAO,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAC9G,CAAC;QAEF,MAAM,GAAG,GAAG,mBAAmB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,GAAG;YAC/D,GAAG,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI;YACA,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAC1C;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC3B,UAA2B,EAAE,KAA+B,EAAE,OAAiB;;QAE/E,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/G,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAY,EAAE;YACzC,IAAI,QAAQ,EAAE,MAAM,CAAC;YAErB,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;gBACpC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC/B,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;aAC9B;iBAAM;gBACH,0BAA0B;gBAC1B,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;oBACtC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACvD,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC;oBAC1B,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;iBACzB;aACJ;YAED,OAAO;gBACH,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB;gBACzC,MAAM,EAAE,QAAQ;gBAChB,YAAY,EAAE,IAAI,CAAC,qBAAqB;gBACxC,YAAY,EAAE,IAAI,CAAC,qBAAqB;gBACxC,SAAS,EAAE,IAAI,CAAC,gBAAgB;aACnC,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,sBAAsB,EACvE,OAAO,CAAC,gBAAgB,EAAE,MAAA,OAAO,CAAC,yBAAyB,mCAAI,sCAA4B,CAAC,IAAI,EAAE,EAClG,cAAc,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAC5D,CAAC;QAEF,MAAM,GAAG,GAAG,sBAAsB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,GAAG;YAClE,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI;YACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEtD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;gBAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1C;YAED,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;gBACrB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACnE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE;oBACjD,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAClF,CAAC,CAAC;aACN;YAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;gBACzB,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,EAAE;oBAC/B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;wBAC5B,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY;wBAC3E,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC5D,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;qBAC7C,CAAC,CAAC;iBACN;aACJ;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,UAA2B,EAAE,OAAiB,EAAE,OAAiB;;QAC1F,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,GAAG,IAAI,CAAC,sBAAsB,CACjC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE7E,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,sBAAsB,EACvE,OAAO,CAAC,gBAAgB,EAAE,MAAA,OAAO,CAAC,yBAAyB,mCAAI,sCAA4B,CAAC,IAAI,EAAE,EAClG,iBAAiB,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAC/D,CAAC;QAEF,MAAM,GAAG,GAAG,mBAAmB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,GAAG;YAC/D,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;QAC9E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI;YACA,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEvC,0CAA0C;SAC7C;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEM,KAAK,CAAC,OAAO,CAChB,UAA2B,EAAE,UAA2B,EAAE,OAAiB,EAAE,OAAiB;;QAE9F,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,GAAG,IAAI,CAAC,sBAAsB,CACjC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEpF,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,sBAAsB,EACzE,OAAO,CAAC,gBAAgB,EAAE,MAAA,OAAO,CAAC,yBAAyB,mCAAI,sCAA4B,CAAC,IAAI,EAAE,EAClG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAC5D,CAAC;QAEF,MAAM,GAAG,GAAG,WAAW,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,GAAG;YACvD,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI;YACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEtD,IAAI,MAAM,EAAE;gBACR,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;aAC/B;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEM,KAAK,CAAC,eAAe,CACxB,UAA2B,EAAE,UAA2B,EAAE,OAAiB,EAAE,OAAiB,EAC9F,yBAAkC;QAElC,IAAA,gBAAM,EAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAE,eAAe,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACvD,yBAAyB,GAAG,yBAAyB,IAAI,sCAA4B,CAAC,IAAI,EAAE,CAAC;QAC7F,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE/G,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,gBAAgB,EACnG,yBAAyB,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CACvF,CAAC;QAEF,MAAM,GAAG,GAAG,mBAAmB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,GAAG;YAC/D,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI;YACA,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC/C,kCAAkC;gBAClC,IAAI,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE;oBACjB,MAAM,gBAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;iBACvD;qBAAM;oBACH,MAAM,gBAAM,CAAC,OAAO,CAAC,sBAAsB,CACvC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,EAC9E,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,WAAW,CACxE,CAAC;iBACL;YACL,CAAC,CAAC,CAAC;SACN;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEM,cAAc,CACjB,UAA2B,EAAE,UAA2B,EAAE,yBAAiC,EAAE,OAAe;QAE5G,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,gBAAM,CAAC,OAAO,CAAC,OAAO,CACjC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAC1F,yBAAyB,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAC7D,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,OAAO,CAA6C,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxF,MAAM,CAAC,OAAO,CAAC,IAAI,CACf,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAC,CAAC,EACpF,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAC3B,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAC,CAAC;IAC5C,CAAC;IAEO,sBAAsB,CAC1B,OAAgB,EAAE,sBAA+B,EAAE,SAAwB,EAAE,gBAAwB;QAErG,MAAM,eAAe,GAAG,OAAO,IAAI,EAAE,CAAC;QACtC,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,sBAAsB;YACjD,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,KAAK;YACtB,sBAAsB;YACtB,SAAS;YACT,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;YAC5D,yBAAyB,EAAE,IAAI;YAC/B,UAAU,EAAE,KAAK;YACjB,GAAG,eAAe;SACrB,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,KAAY;QAChC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,EAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAC,CAAC,CAAC;QAChF,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,KAAqB;QAC9C,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAC,OAAO,EAAE,KAAK,YAAY,eAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;QACrG,IAAI,KAAK,YAAY,eAAK,EAAE;YACxB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAC5B;IACL,CAAC;IAEM,KAAK,CAAC,mBAAmB;QAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,EAAC,sBAAsB,EAAE,IAAI,EAAC,CAAC,CAAC;QACjF,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACvC,CAAC;IAEM,2BAA2B;QAC9B,KAAK,MAAM,KAAK,IAAI,eAAK,CAAC,GAAG,EAAE,EAAE;YAC7B,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACvB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aAC5B;SACJ;IACL,CAAC;CACJ;AAED,kBAAe,QAAQ,CAAC"}