@marcel2215/homebridge-supla-plugin 2.1.9 → 2.1.10
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.
- package/config.schema.json +15 -0
- package/dist/Accesories/ActionTriggerAccessory.d.ts.map +1 -1
- package/dist/Accesories/ActionTriggerAccessory.js +2 -2
- package/dist/Accesories/ActionTriggerAccessory.js.map +1 -1
- package/dist/Accesories/AirQualityAccessory.d.ts.map +1 -1
- package/dist/Accesories/AirQualityAccessory.js +2 -2
- package/dist/Accesories/AirQualityAccessory.js.map +1 -1
- package/dist/Accesories/ContactSensorAccessory.d.ts.map +1 -1
- package/dist/Accesories/ContactSensorAccessory.js +6 -6
- package/dist/Accesories/ContactSensorAccessory.js.map +1 -1
- package/dist/Accesories/DimmerAccessory.d.ts +2 -0
- package/dist/Accesories/DimmerAccessory.d.ts.map +1 -1
- package/dist/Accesories/DimmerAccessory.js +17 -7
- package/dist/Accesories/DimmerAccessory.js.map +1 -1
- package/dist/Accesories/DimmerRgbLightAccessory.d.ts.map +1 -1
- package/dist/Accesories/DimmerRgbLightAccessory.js +11 -11
- package/dist/Accesories/DimmerRgbLightAccessory.js.map +1 -1
- package/dist/Accesories/DoorAccessory.d.ts.map +1 -1
- package/dist/Accesories/DoorAccessory.js +4 -4
- package/dist/Accesories/DoorAccessory.js.map +1 -1
- package/dist/Accesories/ElectricityMeterAccessory.d.ts.map +1 -1
- package/dist/Accesories/ElectricityMeterAccessory.js +2 -2
- package/dist/Accesories/ElectricityMeterAccessory.js.map +1 -1
- package/dist/Accesories/FacadeBlindAccessory.d.ts +15 -0
- package/dist/Accesories/FacadeBlindAccessory.d.ts.map +1 -1
- package/dist/Accesories/FacadeBlindAccessory.js +229 -46
- package/dist/Accesories/FacadeBlindAccessory.js.map +1 -1
- package/dist/Accesories/GarageDoorOpenerAccesory.d.ts +2 -0
- package/dist/Accesories/GarageDoorOpenerAccesory.d.ts.map +1 -1
- package/dist/Accesories/GarageDoorOpenerAccesory.js +15 -5
- package/dist/Accesories/GarageDoorOpenerAccesory.js.map +1 -1
- package/dist/Accesories/GateAccessory.d.ts.map +1 -1
- package/dist/Accesories/GateAccessory.js +4 -4
- package/dist/Accesories/GateAccessory.js.map +1 -1
- package/dist/Accesories/GateLockAccessory.d.ts +1 -0
- package/dist/Accesories/GateLockAccessory.d.ts.map +1 -1
- package/dist/Accesories/GateLockAccessory.js +15 -9
- package/dist/Accesories/GateLockAccessory.js.map +1 -1
- package/dist/Accesories/LeakSensorAccessory.d.ts.map +1 -1
- package/dist/Accesories/LeakSensorAccessory.js +2 -2
- package/dist/Accesories/LeakSensorAccessory.js.map +1 -1
- package/dist/Accesories/LightBulbAccesory.d.ts +2 -0
- package/dist/Accesories/LightBulbAccesory.d.ts.map +1 -1
- package/dist/Accesories/LightBulbAccesory.js +15 -5
- package/dist/Accesories/LightBulbAccesory.js.map +1 -1
- package/dist/Accesories/PressureAccessory.d.ts.map +1 -1
- package/dist/Accesories/PressureAccessory.js +2 -2
- package/dist/Accesories/PressureAccessory.js.map +1 -1
- package/dist/Accesories/RGBLightBulbAccesory.d.ts.map +1 -1
- package/dist/Accesories/RGBLightBulbAccesory.js +8 -8
- package/dist/Accesories/RGBLightBulbAccesory.js.map +1 -1
- package/dist/Accesories/RollerShutterAccessory.d.ts +10 -0
- package/dist/Accesories/RollerShutterAccessory.d.ts.map +1 -1
- package/dist/Accesories/RollerShutterAccessory.js +187 -26
- package/dist/Accesories/RollerShutterAccessory.js.map +1 -1
- package/dist/Accesories/SwitchAccessory.d.ts +2 -0
- package/dist/Accesories/SwitchAccessory.d.ts.map +1 -1
- package/dist/Accesories/SwitchAccessory.js +15 -5
- package/dist/Accesories/SwitchAccessory.js.map +1 -1
- package/dist/Accesories/TemperatureAccessory.d.ts.map +1 -1
- package/dist/Accesories/TemperatureAccessory.js +2 -2
- package/dist/Accesories/TemperatureAccessory.js.map +1 -1
- package/dist/Accesories/TemperatureHumidityAccessory.d.ts.map +1 -1
- package/dist/Accesories/TemperatureHumidityAccessory.js +3 -3
- package/dist/Accesories/TemperatureHumidityAccessory.js.map +1 -1
- package/dist/Accesories/ThermostatAccessory.d.ts.map +1 -1
- package/dist/Accesories/ThermostatAccessory.js +10 -10
- package/dist/Accesories/ThermostatAccessory.js.map +1 -1
- package/dist/Accesories/ValveAccessory.d.ts.map +1 -1
- package/dist/Accesories/ValveAccessory.js +4 -4
- package/dist/Accesories/ValveAccessory.js.map +1 -1
- package/dist/Accesories/WicketAccesory.d.ts.map +1 -1
- package/dist/Accesories/WicketAccesory.js +2 -2
- package/dist/Accesories/WicketAccesory.js.map +1 -1
- package/dist/Heplers/SuplaMqttClient.d.ts +4 -1
- package/dist/Heplers/SuplaMqttClient.d.ts.map +1 -1
- package/dist/Heplers/SuplaMqttClient.js +74 -39
- package/dist/Heplers/SuplaMqttClient.js.map +1 -1
- package/dist/platform.d.ts +30 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +416 -37
- package/dist/platform.js.map +1 -1
- package/package.json +1 -1
|
@@ -13,7 +13,10 @@ class FacadeBlindAccessory {
|
|
|
13
13
|
this.targetTiltAngle = 0;
|
|
14
14
|
this.connected = true;
|
|
15
15
|
this.hasReceivedPosition = false;
|
|
16
|
+
this.hasReceivedTilt = false;
|
|
16
17
|
this.pendingTargetExpiresAt = 0;
|
|
18
|
+
this.jammed = false;
|
|
19
|
+
this.lastTiltCommandAt = 0;
|
|
17
20
|
this.accessory.getService(this.platform.Service.AccessoryInformation)
|
|
18
21
|
.setCharacteristic(this.platform.Characteristic.Manufacturer, 'Supla')
|
|
19
22
|
.setCharacteristic(this.platform.Characteristic.Model, 'FacadeBlind');
|
|
@@ -23,6 +26,7 @@ class FacadeBlindAccessory {
|
|
|
23
26
|
this.service.getCharacteristic(this.platform.Characteristic.CurrentPosition)
|
|
24
27
|
.onGet(this.handleCurrentPositionGet.bind(this));
|
|
25
28
|
this.service.getCharacteristic(this.platform.Characteristic.TargetPosition)
|
|
29
|
+
.setProps({ minValue: 0, maxValue: 100, minStep: 1 })
|
|
26
30
|
.onGet(this.handleTargetPositionGet.bind(this))
|
|
27
31
|
.onSet(this.handleTargetPositionSet.bind(this));
|
|
28
32
|
this.service.getCharacteristic(this.platform.Characteristic.PositionState)
|
|
@@ -30,63 +34,59 @@ class FacadeBlindAccessory {
|
|
|
30
34
|
this.service.getCharacteristic(this.platform.Characteristic.CurrentHorizontalTiltAngle)
|
|
31
35
|
.onGet(this.handleCurrentTiltGet.bind(this));
|
|
32
36
|
this.service.getCharacteristic(this.platform.Characteristic.TargetHorizontalTiltAngle)
|
|
37
|
+
.setProps({ minValue: -90, maxValue: 90, minStep: 1 })
|
|
33
38
|
.onGet(this.handleTargetTiltGet.bind(this))
|
|
34
39
|
.onSet(this.handleTargetTiltSet.bind(this));
|
|
40
|
+
this.service.getCharacteristic(this.platform.Characteristic.HoldPosition)
|
|
41
|
+
.onSet(this.handleHoldPositionSet.bind(this));
|
|
42
|
+
this.service.setCharacteristic(this.platform.Characteristic.StatusJammed, 0);
|
|
43
|
+
this.platform.registerOwnerCleanup(this.accessory.UUID, () => {
|
|
44
|
+
this.disposeTimers();
|
|
45
|
+
});
|
|
35
46
|
this.platform.registerMqttHandler(`${this.context.topic}/state/shut`, (message) => {
|
|
36
47
|
const value = parseFloat(message.toString());
|
|
37
48
|
if (!Number.isNaN(value)) {
|
|
38
|
-
this.
|
|
39
|
-
this.positionState = this.platform.Characteristic.PositionState.STOPPED;
|
|
40
|
-
const now = Date.now();
|
|
41
|
-
if (!this.hasReceivedPosition) {
|
|
42
|
-
this.hasReceivedPosition = true;
|
|
43
|
-
this.clearPendingTarget(false);
|
|
44
|
-
this.targetPosition = this.currentPosition;
|
|
45
|
-
}
|
|
46
|
-
else if (this.pendingTargetPosition !== undefined) {
|
|
47
|
-
const reached = Math.abs(this.pendingTargetPosition - this.currentPosition) <= 1;
|
|
48
|
-
const expired = this.pendingTargetExpiresAt > 0 && now > this.pendingTargetExpiresAt;
|
|
49
|
-
if (reached || expired) {
|
|
50
|
-
this.clearPendingTarget(false);
|
|
51
|
-
this.targetPosition = this.currentPosition;
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
this.schedulePendingTimeout(this.pendingTargetPosition, this.currentPosition);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
this.targetPosition = this.currentPosition;
|
|
59
|
-
}
|
|
60
|
-
this.service.updateCharacteristic(this.platform.Characteristic.CurrentPosition, this.currentPosition);
|
|
61
|
-
this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
|
|
62
|
-
this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
|
|
49
|
+
this.applyShutUpdate(value);
|
|
63
50
|
}
|
|
64
|
-
});
|
|
51
|
+
}, this.accessory.UUID);
|
|
65
52
|
this.platform.registerMqttHandler(`${this.context.topic}/state/tilt`, (message) => {
|
|
66
53
|
const value = parseFloat(message.toString());
|
|
67
54
|
if (!Number.isNaN(value)) {
|
|
68
|
-
|
|
69
|
-
|
|
55
|
+
const previousTilt = this.currentTiltAngle;
|
|
56
|
+
const previousTarget = this.targetTiltAngle;
|
|
57
|
+
this.currentTiltAngle = Math.round(this.toTiltAngle(value));
|
|
58
|
+
this.hasReceivedTilt = true;
|
|
59
|
+
const now = Date.now();
|
|
60
|
+
const targetDelta = Math.abs(this.targetTiltAngle - this.currentTiltAngle);
|
|
61
|
+
const commandStale = this.lastTiltCommandAt === 0 || (now - this.lastTiltCommandAt) > 3000;
|
|
62
|
+
if (targetDelta <= 2 || commandStale) {
|
|
70
63
|
this.targetTiltAngle = this.currentTiltAngle;
|
|
71
64
|
}
|
|
72
|
-
|
|
73
|
-
|
|
65
|
+
if (this.currentTiltAngle !== previousTilt) {
|
|
66
|
+
this.service.updateCharacteristic(this.platform.Characteristic.CurrentHorizontalTiltAngle, this.currentTiltAngle);
|
|
67
|
+
}
|
|
68
|
+
if (this.targetTiltAngle !== previousTarget) {
|
|
69
|
+
this.service.updateCharacteristic(this.platform.Characteristic.TargetHorizontalTiltAngle, this.targetTiltAngle);
|
|
70
|
+
}
|
|
74
71
|
}
|
|
75
|
-
});
|
|
72
|
+
}, this.accessory.UUID);
|
|
76
73
|
this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
|
|
77
|
-
this.
|
|
78
|
-
|
|
79
|
-
});
|
|
74
|
+
this.updateConnection(this.platform.parseBoolean(message.toString()));
|
|
75
|
+
}, this.accessory.UUID);
|
|
80
76
|
}
|
|
81
77
|
async handleCurrentPositionGet() {
|
|
78
|
+
this.assertPositionAvailable();
|
|
82
79
|
return this.currentPosition;
|
|
83
80
|
}
|
|
84
81
|
async handleTargetPositionGet() {
|
|
82
|
+
this.assertPositionAvailable();
|
|
85
83
|
return this.targetPosition;
|
|
86
84
|
}
|
|
87
85
|
async handleTargetPositionSet(value) {
|
|
88
86
|
const target = value;
|
|
89
|
-
this.
|
|
87
|
+
this.setJammed(false);
|
|
88
|
+
this.clearMotionStopTimer();
|
|
89
|
+
this.targetPosition = Math.round(this.clamp(target, 0, 100));
|
|
90
90
|
if (this.targetPosition > this.currentPosition) {
|
|
91
91
|
this.positionState = this.platform.Characteristic.PositionState.INCREASING;
|
|
92
92
|
}
|
|
@@ -98,6 +98,11 @@ class FacadeBlindAccessory {
|
|
|
98
98
|
}
|
|
99
99
|
this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
|
|
100
100
|
this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
|
|
101
|
+
if (this.hasReceivedPosition && this.targetPosition === this.currentPosition) {
|
|
102
|
+
this.clearPendingTarget(false);
|
|
103
|
+
this.clearStopTimer();
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
101
106
|
if (this.targetPosition !== this.currentPosition) {
|
|
102
107
|
this.pendingTargetPosition = this.targetPosition;
|
|
103
108
|
this.schedulePendingTimeout(this.targetPosition, this.currentPosition);
|
|
@@ -106,11 +111,13 @@ class FacadeBlindAccessory {
|
|
|
106
111
|
this.clearPendingTarget(false);
|
|
107
112
|
}
|
|
108
113
|
const controlMode = this.platform.getCoveringControlMode();
|
|
109
|
-
const shutValue = this.toShut(this.targetPosition).toString();
|
|
110
|
-
|
|
114
|
+
const shutValue = Math.round(this.toShut(this.targetPosition)).toString();
|
|
115
|
+
const isEndpoint = this.targetPosition === 0 || this.targetPosition === 100;
|
|
116
|
+
if ((controlMode === 'set' || controlMode === 'hybrid')
|
|
117
|
+
&& !(controlMode === 'hybrid' && isEndpoint)) {
|
|
111
118
|
const topic = `${this.context.topic}/${this.platform.getCoveringSetTopicSuffix()}`;
|
|
112
119
|
this.platform.log.debug(`Publishing ${topic} = ${shutValue}`);
|
|
113
|
-
this.platform.
|
|
120
|
+
this.platform.publishCommand(topic, shutValue, (error) => {
|
|
114
121
|
if (error) {
|
|
115
122
|
this.platform.log.error(`Publish failed for ${topic}: ${error.message}`);
|
|
116
123
|
}
|
|
@@ -124,7 +131,7 @@ class FacadeBlindAccessory {
|
|
|
124
131
|
const action = this.resolveAction(this.targetPosition, this.currentPosition);
|
|
125
132
|
if (action) {
|
|
126
133
|
this.platform.log.debug(`Publishing ${actionTopic} = ${action}`);
|
|
127
|
-
this.platform.
|
|
134
|
+
this.platform.publishCommand(actionTopic, action, (error) => {
|
|
128
135
|
if (error) {
|
|
129
136
|
this.platform.log.error(`Publish failed for ${actionTopic}: ${error.message}`);
|
|
130
137
|
}
|
|
@@ -135,12 +142,115 @@ class FacadeBlindAccessory {
|
|
|
135
142
|
}
|
|
136
143
|
}
|
|
137
144
|
}
|
|
145
|
+
async handleHoldPositionSet(value) {
|
|
146
|
+
if (!value) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const controlMode = this.platform.getCoveringControlMode();
|
|
150
|
+
if (controlMode === 'set') {
|
|
151
|
+
this.platform.log.debug(`HoldPosition ignored (set mode) for ${this.accessory.displayName}`);
|
|
152
|
+
this.service.updateCharacteristic(this.platform.Characteristic.HoldPosition, 0);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const stopAction = this.platform.getCoveringExecuteActionStop();
|
|
156
|
+
if (!stopAction) {
|
|
157
|
+
this.platform.log.debug(`HoldPosition ignored (no stop action) for ${this.accessory.displayName}`);
|
|
158
|
+
this.service.updateCharacteristic(this.platform.Characteristic.HoldPosition, 0);
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const actionTopic = `${this.context.topic}/execute_action`;
|
|
162
|
+
this.platform.log.debug(`Publishing ${actionTopic} = ${stopAction} (hold)`);
|
|
163
|
+
this.platform.publishCommand(actionTopic, stopAction, (error) => {
|
|
164
|
+
if (error) {
|
|
165
|
+
this.platform.log.error(`Publish failed for ${actionTopic}: ${error.message}`);
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
this.service.updateCharacteristic(this.platform.Characteristic.HoldPosition, 0);
|
|
169
|
+
this.clearPendingTarget(true);
|
|
170
|
+
this.clearStopTimer();
|
|
171
|
+
this.clearMotionStopTimer();
|
|
172
|
+
this.setJammed(false);
|
|
173
|
+
if (this.positionState !== this.platform.Characteristic.PositionState.STOPPED) {
|
|
174
|
+
this.positionState = this.platform.Characteristic.PositionState.STOPPED;
|
|
175
|
+
this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
applyShutUpdate(shutValue) {
|
|
179
|
+
var _a;
|
|
180
|
+
const previousTarget = this.targetPosition;
|
|
181
|
+
const previousState = this.positionState;
|
|
182
|
+
const rawPosition = this.toPosition(shutValue);
|
|
183
|
+
const previousRaw = (_a = this.lastRawPosition) !== null && _a !== void 0 ? _a : rawPosition;
|
|
184
|
+
const rawDelta = rawPosition - previousRaw;
|
|
185
|
+
const rawMovement = Math.abs(rawDelta) >= 0.05;
|
|
186
|
+
this.lastRawPosition = rawPosition;
|
|
187
|
+
const previousPosition = this.currentPosition;
|
|
188
|
+
this.currentPosition = Math.round(rawPosition);
|
|
189
|
+
let nextPositionState = this.platform.Characteristic.PositionState.STOPPED;
|
|
190
|
+
const now = Date.now();
|
|
191
|
+
const firstUpdate = !this.hasReceivedPosition;
|
|
192
|
+
if (firstUpdate) {
|
|
193
|
+
this.hasReceivedPosition = true;
|
|
194
|
+
}
|
|
195
|
+
if (rawMovement || this.currentPosition !== previousPosition) {
|
|
196
|
+
this.setJammed(false);
|
|
197
|
+
}
|
|
198
|
+
if (this.pendingTargetPosition !== undefined) {
|
|
199
|
+
this.clearMotionStopTimer();
|
|
200
|
+
const reached = Math.abs(this.pendingTargetPosition - this.currentPosition) <= 1;
|
|
201
|
+
const expired = this.pendingTargetExpiresAt > 0 && now > this.pendingTargetExpiresAt;
|
|
202
|
+
if (reached || expired) {
|
|
203
|
+
this.clearStopTimer();
|
|
204
|
+
this.clearPendingTarget(false);
|
|
205
|
+
this.targetPosition = this.currentPosition;
|
|
206
|
+
if (expired) {
|
|
207
|
+
this.setJammed(true);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
if (rawMovement || firstUpdate) {
|
|
212
|
+
this.schedulePendingTimeout(this.pendingTargetPosition, this.currentPosition);
|
|
213
|
+
}
|
|
214
|
+
if (this.pendingTargetPosition > this.currentPosition) {
|
|
215
|
+
nextPositionState = this.platform.Characteristic.PositionState.INCREASING;
|
|
216
|
+
}
|
|
217
|
+
else if (this.pendingTargetPosition < this.currentPosition) {
|
|
218
|
+
nextPositionState = this.platform.Characteristic.PositionState.DECREASING;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
this.clearPendingTarget(false);
|
|
224
|
+
this.clearStopTimer();
|
|
225
|
+
this.targetPosition = this.currentPosition;
|
|
226
|
+
if (rawMovement) {
|
|
227
|
+
nextPositionState = rawDelta > 0
|
|
228
|
+
? this.platform.Characteristic.PositionState.INCREASING
|
|
229
|
+
: this.platform.Characteristic.PositionState.DECREASING;
|
|
230
|
+
this.scheduleMotionStopTimer();
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
this.clearMotionStopTimer();
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
this.positionState = nextPositionState;
|
|
237
|
+
if (this.currentPosition !== previousPosition) {
|
|
238
|
+
this.service.updateCharacteristic(this.platform.Characteristic.CurrentPosition, this.currentPosition);
|
|
239
|
+
}
|
|
240
|
+
if (this.targetPosition !== previousTarget) {
|
|
241
|
+
this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
|
|
242
|
+
}
|
|
243
|
+
if (this.positionState !== previousState) {
|
|
244
|
+
this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
138
247
|
schedulePendingTimeout(target, current) {
|
|
139
248
|
const travelTimeSeconds = this.platform.getCoveringTravelTimeSeconds();
|
|
140
249
|
const delta = Math.abs(target - current);
|
|
141
250
|
let timeoutMs = 15000;
|
|
142
251
|
if (travelTimeSeconds > 0 && delta > 0) {
|
|
143
|
-
|
|
252
|
+
const computed = Math.round((delta / 100) * travelTimeSeconds * 1000) + 1000;
|
|
253
|
+
timeoutMs = Math.max(5000, computed);
|
|
144
254
|
}
|
|
145
255
|
if (timeoutMs <= 0) {
|
|
146
256
|
return;
|
|
@@ -151,12 +261,13 @@ class FacadeBlindAccessory {
|
|
|
151
261
|
}
|
|
152
262
|
this.pendingTargetTimer = setTimeout(() => {
|
|
153
263
|
this.pendingTargetTimer = undefined;
|
|
154
|
-
this.
|
|
155
|
-
this.
|
|
264
|
+
this.setJammed(true);
|
|
265
|
+
this.clearPendingTarget(true);
|
|
156
266
|
if (this.positionState !== this.platform.Characteristic.PositionState.STOPPED) {
|
|
157
267
|
this.positionState = this.platform.Characteristic.PositionState.STOPPED;
|
|
158
268
|
this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
|
|
159
269
|
}
|
|
270
|
+
this.clearStopTimer();
|
|
160
271
|
this.platform.log.debug(`No state updates for ${this.accessory.displayName} within ${timeoutMs}ms; marking STOPPED.`);
|
|
161
272
|
}, timeoutMs);
|
|
162
273
|
}
|
|
@@ -167,33 +278,105 @@ class FacadeBlindAccessory {
|
|
|
167
278
|
}
|
|
168
279
|
this.pendingTargetPosition = undefined;
|
|
169
280
|
this.pendingTargetExpiresAt = 0;
|
|
170
|
-
if (syncTarget) {
|
|
281
|
+
if (syncTarget && this.targetPosition !== this.currentPosition) {
|
|
171
282
|
this.targetPosition = this.currentPosition;
|
|
172
283
|
this.service.updateCharacteristic(this.platform.Characteristic.TargetPosition, this.targetPosition);
|
|
173
284
|
}
|
|
174
285
|
}
|
|
286
|
+
clearStopTimer() {
|
|
287
|
+
if (this.stopTimer) {
|
|
288
|
+
clearTimeout(this.stopTimer);
|
|
289
|
+
this.stopTimer = undefined;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
scheduleMotionStopTimer() {
|
|
293
|
+
const quietMs = 2500;
|
|
294
|
+
if (this.motionStopTimer) {
|
|
295
|
+
clearTimeout(this.motionStopTimer);
|
|
296
|
+
}
|
|
297
|
+
this.motionStopTimer = setTimeout(() => {
|
|
298
|
+
this.motionStopTimer = undefined;
|
|
299
|
+
if (this.pendingTargetPosition !== undefined) {
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
if (this.positionState !== this.platform.Characteristic.PositionState.STOPPED) {
|
|
303
|
+
this.positionState = this.platform.Characteristic.PositionState.STOPPED;
|
|
304
|
+
this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
|
|
305
|
+
}
|
|
306
|
+
}, quietMs);
|
|
307
|
+
}
|
|
308
|
+
clearMotionStopTimer() {
|
|
309
|
+
if (this.motionStopTimer) {
|
|
310
|
+
clearTimeout(this.motionStopTimer);
|
|
311
|
+
this.motionStopTimer = undefined;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
disposeTimers() {
|
|
315
|
+
this.clearPendingTarget(false);
|
|
316
|
+
this.clearStopTimer();
|
|
317
|
+
this.clearMotionStopTimer();
|
|
318
|
+
}
|
|
319
|
+
setJammed(isJammed) {
|
|
320
|
+
if (this.jammed === isJammed) {
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
323
|
+
this.jammed = isJammed;
|
|
324
|
+
this.service.updateCharacteristic(this.platform.Characteristic.StatusJammed, this.jammed ? 1 : 0);
|
|
325
|
+
}
|
|
326
|
+
updateConnection(isConnected) {
|
|
327
|
+
this.connected = isConnected;
|
|
328
|
+
this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
|
|
329
|
+
if (!this.connected) {
|
|
330
|
+
this.setJammed(false);
|
|
331
|
+
this.hasReceivedPosition = false;
|
|
332
|
+
this.hasReceivedTilt = false;
|
|
333
|
+
this.lastRawPosition = undefined;
|
|
334
|
+
this.lastTiltCommandAt = 0;
|
|
335
|
+
this.clearPendingTarget(true);
|
|
336
|
+
this.clearStopTimer();
|
|
337
|
+
this.clearMotionStopTimer();
|
|
338
|
+
if (this.positionState !== this.platform.Characteristic.PositionState.STOPPED) {
|
|
339
|
+
this.positionState = this.platform.Characteristic.PositionState.STOPPED;
|
|
340
|
+
this.service.updateCharacteristic(this.platform.Characteristic.PositionState, this.positionState);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
175
344
|
async handlePositionStateGet() {
|
|
345
|
+
this.assertPositionAvailable();
|
|
176
346
|
return this.positionState;
|
|
177
347
|
}
|
|
178
348
|
async handleCurrentTiltGet() {
|
|
349
|
+
this.assertTiltAvailable();
|
|
179
350
|
return this.currentTiltAngle;
|
|
180
351
|
}
|
|
181
352
|
async handleTargetTiltGet() {
|
|
353
|
+
this.assertTiltAvailable();
|
|
182
354
|
return this.targetTiltAngle;
|
|
183
355
|
}
|
|
184
356
|
async handleTargetTiltSet(value) {
|
|
185
357
|
const target = value;
|
|
186
|
-
this.targetTiltAngle = this.clamp(target, -90, 90);
|
|
358
|
+
this.targetTiltAngle = Math.round(this.clamp(target, -90, 90));
|
|
359
|
+
this.lastTiltCommandAt = Date.now();
|
|
187
360
|
this.service.updateCharacteristic(this.platform.Characteristic.TargetHorizontalTiltAngle, this.targetTiltAngle);
|
|
188
361
|
const tiltValue = this.toTiltValue(this.targetTiltAngle).toString();
|
|
189
362
|
const tiltTopic = `${this.context.topic}/${this.platform.getCoveringTiltTopicSuffix()}`;
|
|
190
363
|
this.platform.log.debug(`Publishing ${tiltTopic} = ${tiltValue}`);
|
|
191
|
-
this.platform.
|
|
364
|
+
this.platform.publishCommand(tiltTopic, tiltValue, (error) => {
|
|
192
365
|
if (error) {
|
|
193
366
|
this.platform.log.error(`Publish failed for ${tiltTopic}: ${error.message}`);
|
|
194
367
|
}
|
|
195
368
|
});
|
|
196
369
|
}
|
|
370
|
+
assertPositionAvailable() {
|
|
371
|
+
if (!this.connected || !this.hasReceivedPosition) {
|
|
372
|
+
throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
assertTiltAvailable() {
|
|
376
|
+
if (!this.connected || !this.hasReceivedTilt) {
|
|
377
|
+
throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
197
380
|
toPosition(shutValue) {
|
|
198
381
|
return this.clamp(100 - shutValue, 0, 100);
|
|
199
382
|
}
|
|
@@ -237,7 +420,7 @@ class FacadeBlindAccessory {
|
|
|
237
420
|
this.stopTimer = setTimeout(() => {
|
|
238
421
|
const actionTopic = `${this.context.topic}/execute_action`;
|
|
239
422
|
this.platform.log.debug(`Publishing ${actionTopic} = ${stopAction} (auto-stop)`);
|
|
240
|
-
this.platform.
|
|
423
|
+
this.platform.publishCommand(actionTopic, stopAction, (error) => {
|
|
241
424
|
if (error) {
|
|
242
425
|
this.platform.log.error(`Publish failed for ${actionTopic}: ${error.message}`);
|
|
243
426
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FacadeBlindAccessory.js","sourceRoot":"","sources":["../../src/Accesories/FacadeBlindAccessory.ts"],"names":[],"mappings":";;;AAIA,MAAa,oBAAoB;IAc/B,YACmB,QAAuB,EACvB,SAA4B,EAC5B,OAA4B;QAF5B,aAAQ,GAAR,QAAQ,CAAe;QACvB,cAAS,GAAT,SAAS,CAAmB;QAC5B,YAAO,GAAP,OAAO,CAAqB;QAfvC,oBAAe,GAAG,CAAC,CAAC;QACpB,mBAAc,GAAG,CAAC,CAAC;QACnB,kBAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;QACnE,qBAAgB,GAAG,CAAC,CAAC;QACrB,oBAAe,GAAG,CAAC,CAAC;QACpB,cAAS,GAAG,IAAI,CAAC;QAEjB,wBAAmB,GAAG,KAAK,CAAC;QAE5B,2BAAsB,GAAG,CAAC,CAAC;QAQjC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAE;aACnE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC;aACrE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAExE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;eACzE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAErE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAEzF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;aACzE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;aACxE,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9C,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;aACvE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC;aACpF,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC;aACnF,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1C,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,aAAa,EAClC,CAAC,OAAO,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;gBACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAChC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;iBAC5C;qBAAM,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE;oBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACjF,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC;oBACrF,IAAI,OAAO,IAAI,OAAO,EAAE;wBACtB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;wBAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;qBAC5C;yBAAM;wBACL,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;qBAC/E;iBACF;qBAAM;oBACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;iBAC5C;gBACD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,EAC5C,IAAI,CAAC,eAAe,CACrB,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAC3C,IAAI,CAAC,cAAc,CACpB,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAC1C,IAAI,CAAC,aAAa,CACnB,CAAC;aACH;QACH,CAAC,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,aAAa,EAClC,CAAC,OAAO,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;oBAC/D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;iBAC9C;gBACD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,EACvD,IAAI,CAAC,gBAAgB,CACtB,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,EACtD,IAAI,CAAC,eAAe,CACrB,CAAC;aACH;QACH,CAAC,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,kBAAkB,EACvC,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,EACxC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvB,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,KAA0B;QACtD,MAAM,MAAM,GAAG,KAAe,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE;YAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;SAC5E;aAAM,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE;YACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;SAC5E;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;SACzE;QACD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACpG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClG,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,eAAe,EAAE;YAChD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC;YACjD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SACxE;aAAM;YACL,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAChC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9D,IAAI,WAAW,KAAK,KAAK,IAAI,WAAW,KAAK,QAAQ,EAAE;YACrD,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,EAAE,CAAC;YACnF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,MAAM,SAAS,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClE,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC1E;YACH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,WAAW,KAAK,gBAAgB,IAAI,WAAW,KAAK,QAAQ,EAAE;YAChE,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC;YAC3D,IAAI,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,GAAG,EAAE;gBACxF,OAAO;aACR;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC7E,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,WAAW,MAAM,MAAM,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBACrE,IAAI,KAAK,EAAE;wBACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;qBAChF;gBACH,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,WAAW,KAAK,gBAAgB,EAAE;gBACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;aACtE;SACF;IACH,CAAC;IAEO,sBAAsB,CAAC,MAAc,EAAE,OAAe;QAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,iBAAiB,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;YACtC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;SACzE;QACD,IAAI,SAAS,IAAI,CAAC,EAAE;YAClB,OAAO;SACR;QACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACrD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;YACvC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE;gBAC7E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;gBACxE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;aACnG;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,wBAAwB,IAAI,CAAC,SAAS,CAAC,WAAW,WAAW,SAAS,sBAAsB,CAC7F,CAAC;QACJ,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,UAAmB;QAC5C,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACtC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;SACrC;QACD,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACrG;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAA0B;QAClD,MAAM,MAAM,GAAG,KAAe,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,EACtD,IAAI,CAAC,eAAe,CACrB,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;QACxF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,SAAS,MAAM,SAAS,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACtE,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aAC9E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,SAAiB;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAEO,MAAM,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAEO,aAAa,CAAC,MAAc,EAAE,OAAe;QACnD,IAAI,MAAM,GAAG,OAAO,EAAE;YACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;SACrD;QACD,IAAI,MAAM,GAAG,OAAO,EAAE;YACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EAAE,CAAC;SACtD;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;QAChE,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACxC,CAAC;IAEO,oBAAoB,CAAC,MAAc,EAAE,OAAe;QAC1D,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;QAChE,IAAI,CAAC,iBAAiB,IAAI,CAAC,UAAU,IAAI,MAAM,KAAK,OAAO,EAAE;YAC3D,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;aAC5B;YACD,OAAO;SACR;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC9B;QACD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,WAAW,MAAM,UAAU,cAAc,CAAC,CAAC;YACjF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzE,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;iBAChF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;CACF;AAvSD,oDAuSC"}
|
|
1
|
+
{"version":3,"file":"FacadeBlindAccessory.js","sourceRoot":"","sources":["../../src/Accesories/FacadeBlindAccessory.ts"],"names":[],"mappings":";;;AAIA,MAAa,oBAAoB;IAmB/B,YACmB,QAAuB,EACvB,SAA4B,EAC5B,OAA4B;QAF5B,aAAQ,GAAR,QAAQ,CAAe;QACvB,cAAS,GAAT,SAAS,CAAmB;QAC5B,YAAO,GAAP,OAAO,CAAqB;QApBvC,oBAAe,GAAG,CAAC,CAAC;QACpB,mBAAc,GAAG,CAAC,CAAC;QACnB,kBAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;QACnE,qBAAgB,GAAG,CAAC,CAAC;QACrB,oBAAe,GAAG,CAAC,CAAC;QACpB,cAAS,GAAG,IAAI,CAAC;QAEjB,wBAAmB,GAAG,KAAK,CAAC;QAC5B,oBAAe,GAAG,KAAK,CAAC;QAExB,2BAAsB,GAAG,CAAC,CAAC;QAI3B,WAAM,GAAG,KAAK,CAAC;QACf,sBAAiB,GAAG,CAAC,CAAC;QAO5B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAE;aACnE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC;aACrE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAExE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;eACzE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAErE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAEzF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;aACzE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;aACxE,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;aACpD,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9C,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;aACvE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC;aACpF,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC;aACnF,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;aACrD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1C,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;aACtE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAE7E,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;YAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,aAAa,EAClC,CAAC,OAAO,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7B;QACH,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,aAAa,EAClC,CAAC,OAAO,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACxB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;gBAC5C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;gBAC3F,IAAI,WAAW,IAAI,CAAC,IAAI,YAAY,EAAE;oBACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;iBAC9C;gBACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,YAAY,EAAE;oBAC1C,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,EACvD,IAAI,CAAC,gBAAgB,CACtB,CAAC;iBACH;gBACD,IAAI,IAAI,CAAC,eAAe,KAAK,cAAc,EAAE;oBAC3C,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,EACtD,IAAI,CAAC,eAAe,CACrB,CAAC;iBACH;aACF;QACH,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,kBAAkB,EACvC,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,KAA0B;QACtD,MAAM,MAAM,GAAG,KAAe,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE;YAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;SAC5E;aAAM,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE;YACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;SAC5E;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;SACzE;QACD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACpG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClG,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,eAAe,EAAE;YAC5E,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO;SACR;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,eAAe,EAAE;YAChD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC;YACjD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SACxE;aAAM;YACL,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAChC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,GAAG,CAAC;QAC5E,IAAI,CAAC,WAAW,KAAK,KAAK,IAAI,WAAW,KAAK,QAAQ,CAAC;eAClD,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,UAAU,CAAC,EAAE;YAC9C,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,EAAE,CAAC;YACnF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,MAAM,SAAS,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvD,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC1E;YACH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,WAAW,KAAK,gBAAgB,IAAI,WAAW,KAAK,QAAQ,EAAE;YAChE,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC;YAC3D,IAAI,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,GAAG,EAAE;gBACxF,OAAO;aACR;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC7E,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,WAAW,MAAM,MAAM,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC1D,IAAI,KAAK,EAAE;wBACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;qBAChF;gBACH,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,WAAW,KAAK,gBAAgB,EAAE;gBACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;aACtE;SACF;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,KAA0B;QACpD,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAC3D,IAAI,WAAW,KAAK,KAAK,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7F,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAChF,OAAO;SACR;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;QAChE,IAAI,CAAC,UAAU,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;YACnG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAChF,OAAO;SACR;QACD,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,WAAW,MAAM,UAAU,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YAC9D,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aAChF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE;YAC7E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SACnG;IACH,CAAC;IAEO,eAAe,CAAC,SAAiB;;QACvC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,eAAe,mCAAI,WAAW,CAAC;QACxD,MAAM,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC9C,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACjC;QACD,IAAI,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,gBAAgB,EAAE;YAC5D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE;YAC5C,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACjF,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC;YACrF,IAAI,OAAO,IAAI,OAAO,EAAE;gBACtB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;gBAC3C,IAAI,OAAO,EAAE;oBACX,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;iBACtB;aACF;iBAAM;gBACL,IAAI,WAAW,IAAI,WAAW,EAAE;oBAC9B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;iBAC/E;gBACD,IAAI,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,EAAE;oBACrD,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;iBAC3E;qBAAM,IAAI,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,EAAE;oBAC5D,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;iBAC3E;aACF;SACF;aAAM;YACL,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,IAAI,WAAW,EAAE;gBACf,iBAAiB,GAAG,QAAQ,GAAG,CAAC;oBAC9B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU;oBACvD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;gBAC1D,IAAI,CAAC,uBAAuB,EAAE,CAAC;aAChC;iBAAM;gBACL,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;SACF;QACD,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;QACvC,IAAI,IAAI,CAAC,eAAe,KAAK,gBAAgB,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,EAC5C,IAAI,CAAC,eAAe,CACrB,CAAC;SACH;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAC3C,IAAI,CAAC,cAAc,CACpB,CAAC;SACH;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,EAAE;YACxC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAC1C,IAAI,CAAC,aAAa,CACnB,CAAC;SACH;IACH,CAAC;IAEO,sBAAsB,CAAC,MAAc,EAAE,OAAe;QAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,iBAAiB,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YAC7E,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SACtC;QACD,IAAI,SAAS,IAAI,CAAC,EAAE;YAClB,OAAO;SACR;QACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACrD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE;gBAC7E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;gBACxE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;aACnG;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,wBAAwB,IAAI,CAAC,SAAS,CAAC,WAAW,WAAW,SAAS,sBAAsB,CAC7F,CAAC;QACJ,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,UAAmB;QAC5C,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACtC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;SACrC;QACD,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,eAAe,EAAE;YAC9D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACrG;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;IACH,CAAC;IAEO,uBAAuB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE;gBAC5C,OAAO;aACR;YACD,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE;gBAC7E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;gBACxE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;aACnG;QACH,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;SAClC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,SAAS,CAAC,QAAiB;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC5B,OAAO;SACR;QACD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EACzC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpB,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,WAAoB;QAC3C,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,EACxC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE;gBAC7E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC;gBACxE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;aACnG;SACF;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAA0B;QAClD,MAAM,MAAM,GAAG,KAAe,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,EACtD,IAAI,CAAC,eAAe,CACrB,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;QACxF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,SAAS,MAAM,SAAS,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3D,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aAC9E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAChD,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,4EAE7C,CAAC;SACH;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAC5C,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,4EAE7C,CAAC;SACH;IACH,CAAC;IAEO,UAAU,CAAC,SAAiB;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAEO,MAAM,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAEO,aAAa,CAAC,MAAc,EAAE,OAAe;QACnD,IAAI,MAAM,GAAG,OAAO,EAAE;YACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;SACrD;QACD,IAAI,MAAM,GAAG,OAAO,EAAE;YACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EAAE,CAAC;SACtD;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;QAChE,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACxC,CAAC;IAEO,oBAAoB,CAAC,MAAc,EAAE,OAAe;QAC1D,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;QAChE,IAAI,CAAC,iBAAiB,IAAI,CAAC,UAAU,IAAI,MAAM,KAAK,OAAO,EAAE;YAC3D,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;aAC5B;YACD,OAAO;SACR;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC9B;QACD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,WAAW,MAAM,UAAU,cAAc,CAAC,CAAC;YACjF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC9D,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;iBAChF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;CACF;AAnfD,oDAmfC"}
|
|
@@ -8,10 +8,12 @@ export declare class GarageDoorOpenerAccesory {
|
|
|
8
8
|
private service;
|
|
9
9
|
private state;
|
|
10
10
|
private connected;
|
|
11
|
+
private updateTimer?;
|
|
11
12
|
constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
|
|
12
13
|
handleCurrentDoorStateGet(): Promise<CharacteristicValue>;
|
|
13
14
|
handleTargetDoorStateGet(): Promise<CharacteristicValue>;
|
|
14
15
|
handleTargetDoorStateSet(): Promise<void>;
|
|
15
16
|
handleObstructionDetectedGet(): Promise<CharacteristicValue>;
|
|
17
|
+
private clearUpdateTimer;
|
|
16
18
|
}
|
|
17
19
|
//# sourceMappingURL=GarageDoorOpenerAccesory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GarageDoorOpenerAccesory.d.ts","sourceRoot":"","sources":["../../src/Accesories/GarageDoorOpenerAccesory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,iBAAiB,EAAU,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,qBAAa,wBAAwB;
|
|
1
|
+
{"version":3,"file":"GarageDoorOpenerAccesory.d.ts","sourceRoot":"","sources":["../../src/Accesories/GarageDoorOpenerAccesory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,iBAAiB,EAAU,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,qBAAa,wBAAwB;IAO7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR9B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAwD;IACrE,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,WAAW,CAAC,CAAiB;gBAGd,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAiD7C,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIzD,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIxD,wBAAwB;IAsBxB,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIlE,OAAO,CAAC,gBAAgB;CAOzB"}
|
|
@@ -21,17 +21,20 @@ class GarageDoorOpenerAccesory {
|
|
|
21
21
|
.onSet(this.handleTargetDoorStateSet.bind(this));
|
|
22
22
|
this.service.getCharacteristic(this.platform.Characteristic.ObstructionDetected)
|
|
23
23
|
.onGet(this.handleObstructionDetectedGet.bind(this));
|
|
24
|
+
this.platform.registerOwnerCleanup(this.accessory.UUID, () => {
|
|
25
|
+
this.clearUpdateTimer();
|
|
26
|
+
});
|
|
24
27
|
this.platform.registerMqttHandler(`${this.context.topic}/state/hi`, (message) => {
|
|
25
28
|
this.platform.log.info(`Door ${this.context.channelCaption} state changed to ${message.toString()}`);
|
|
26
29
|
this.state = this.platform.parseBoolean(message.toString())
|
|
27
30
|
? this.platform.Characteristic.CurrentDoorState.CLOSED
|
|
28
31
|
: this.platform.Characteristic.CurrentDoorState.OPEN;
|
|
29
32
|
this.service.updateCharacteristic(this.platform.Characteristic.CurrentDoorState, this.state);
|
|
30
|
-
});
|
|
33
|
+
}, this.accessory.UUID);
|
|
31
34
|
this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
|
|
32
35
|
this.connected = this.platform.parseBoolean(message.toString());
|
|
33
36
|
this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
|
|
34
|
-
});
|
|
37
|
+
}, this.accessory.UUID);
|
|
35
38
|
}
|
|
36
39
|
async handleCurrentDoorStateGet() {
|
|
37
40
|
return this.state;
|
|
@@ -42,19 +45,26 @@ class GarageDoorOpenerAccesory {
|
|
|
42
45
|
async handleTargetDoorStateSet() {
|
|
43
46
|
if (this.state === this.platform.Characteristic.CurrentDoorState.CLOSED) {
|
|
44
47
|
this.platform.log.debug(`Publishing ${this.context.topic}/execute_action = open`);
|
|
45
|
-
this.platform.
|
|
48
|
+
this.platform.publishCommand(`${this.context.topic}/execute_action`, 'open');
|
|
46
49
|
}
|
|
47
50
|
else {
|
|
48
51
|
this.platform.log.debug(`Publishing ${this.context.topic}/execute_action = close`);
|
|
49
|
-
this.platform.
|
|
52
|
+
this.platform.publishCommand(`${this.context.topic}/execute_action`, 'close');
|
|
50
53
|
}
|
|
51
|
-
|
|
54
|
+
this.clearUpdateTimer();
|
|
55
|
+
this.updateTimer = setTimeout(() => {
|
|
52
56
|
this.service.updateCharacteristic(this.platform.Characteristic.CurrentDoorState, this.state);
|
|
53
57
|
}, 300);
|
|
54
58
|
}
|
|
55
59
|
async handleObstructionDetectedGet() {
|
|
56
60
|
return 0;
|
|
57
61
|
}
|
|
62
|
+
clearUpdateTimer() {
|
|
63
|
+
if (this.updateTimer) {
|
|
64
|
+
clearTimeout(this.updateTimer);
|
|
65
|
+
this.updateTimer = undefined;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
58
68
|
}
|
|
59
69
|
exports.GarageDoorOpenerAccesory = GarageDoorOpenerAccesory;
|
|
60
70
|
//# sourceMappingURL=GarageDoorOpenerAccesory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GarageDoorOpenerAccesory.js","sourceRoot":"","sources":["../../src/Accesories/GarageDoorOpenerAccesory.ts"],"names":[],"mappings":";;;AAKA,MAAa,wBAAwB;
|
|
1
|
+
{"version":3,"file":"GarageDoorOpenerAccesory.js","sourceRoot":"","sources":["../../src/Accesories/GarageDoorOpenerAccesory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GateAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/GateAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,aAAa;IAStB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,YAAY,CAAwD;IAC5E,OAAO,CAAC,WAAW,CAAuD;IAC1E,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,SAAS,CAAS;gBAGP,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"GateAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/GateAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,aAAa;IAStB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,YAAY,CAAwD;IAC5E,OAAO,CAAC,WAAW,CAAuD;IAC1E,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,SAAS,CAAS;gBAGP,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAqDzC,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIzD,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIxD,wBAAwB,CAAC,KAAK,EAAE,mBAAmB;IAiCnD,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIlE,OAAO,CAAC,YAAY;CAgBrB"}
|
|
@@ -31,15 +31,15 @@ class GateAccessory {
|
|
|
31
31
|
this.platform.registerMqttHandler(`${this.context.topic}/state/hi`, (message) => {
|
|
32
32
|
this.hi = this.platform.parseBoolean(message.toString());
|
|
33
33
|
this.updateStates();
|
|
34
|
-
});
|
|
34
|
+
}, this.accessory.UUID);
|
|
35
35
|
this.platform.registerMqttHandler(`${this.context.topic}/state/partial_hi`, (message) => {
|
|
36
36
|
this.partialHi = this.platform.parseBoolean(message.toString());
|
|
37
37
|
this.updateStates();
|
|
38
|
-
});
|
|
38
|
+
}, this.accessory.UUID);
|
|
39
39
|
this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
|
|
40
40
|
this.connected = this.platform.parseBoolean(message.toString());
|
|
41
41
|
this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
|
|
42
|
-
});
|
|
42
|
+
}, this.accessory.UUID);
|
|
43
43
|
}
|
|
44
44
|
async handleCurrentDoorStateGet() {
|
|
45
45
|
return this.currentState;
|
|
@@ -66,7 +66,7 @@ class GateAccessory {
|
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
68
|
this.platform.log.debug(`Publishing ${this.context.topic}/execute_action = ${action}`);
|
|
69
|
-
this.platform.
|
|
69
|
+
this.platform.publishCommand(`${this.context.topic}/execute_action`, action);
|
|
70
70
|
this.currentState = target === this.platform.Characteristic.TargetDoorState.OPEN
|
|
71
71
|
? this.platform.Characteristic.CurrentDoorState.OPENING
|
|
72
72
|
: this.platform.Characteristic.CurrentDoorState.CLOSING;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GateAccessory.js","sourceRoot":"","sources":["../../src/Accesories/GateAccessory.ts"],"names":[],"mappings":";;;AAIA,MAAa,aAAa;IAQxB,YACmB,QAAuB,EACvB,SAA4B,EAC5B,OAA4B;QAF5B,aAAQ,GAAR,QAAQ,CAAe;QACvB,cAAS,GAAT,SAAS,CAAmB;QAC5B,YAAO,GAAP,OAAO,CAAqB;QATvC,iBAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpE,gBAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC;QAClE,cAAS,GAAG,IAAI,CAAC;QACjB,OAAE,GAAG,KAAK,CAAC;QACX,cAAS,GAAG,KAAK,CAAC;QAOxB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAE;aACnE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC;aACrE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAE3E,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzE,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC;eAC3E,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEvE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAEzF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC;aAC1E,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;aACzE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/C,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC;aAC7E,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,WAAW,EAChC,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,
|
|
1
|
+
{"version":3,"file":"GateAccessory.js","sourceRoot":"","sources":["../../src/Accesories/GateAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,5 +14,6 @@ export declare class GateLockAccessory {
|
|
|
14
14
|
handleCurrentStateGet(): Promise<CharacteristicValue>;
|
|
15
15
|
handleTargetStateGet(): Promise<CharacteristicValue>;
|
|
16
16
|
handleTargetStateSet(value: CharacteristicValue): Promise<void>;
|
|
17
|
+
private clearPulseTimer;
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=GateLockAccessory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GateLockAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/GateLockAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,iBAAiB;IAQ1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,YAAY,CAAyD;IAC7E,OAAO,CAAC,WAAW,CAAwD;IAC3E,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAGjB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"GateLockAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/GateLockAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,iBAAiB;IAQ1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,YAAY,CAAyD;IAC7E,OAAO,CAAC,WAAW,CAAwD;IAC3E,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAGjB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAwDzC,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIrD,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIpD,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;IA+CrD,OAAO,CAAC,eAAe;CAMxB"}
|