homebridge-ratgdo 2.9.4 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -11
- package/dist/ratgdo-device.js +45 -41
- package/dist/ratgdo-device.js.map +1 -1
- package/dist/ratgdo-options.js +10 -8
- package/dist/ratgdo-options.js.map +1 -1
- package/dist/ratgdo-platform.d.ts +3 -4
- package/dist/ratgdo-platform.js +77 -63
- package/dist/ratgdo-platform.js.map +1 -1
- package/dist/settings.js.map +1 -1
- package/homebridge-ui/public/index.html +51 -49
- package/homebridge-ui/public/lib/featureoptions.js +7 -8
- package/homebridge-ui/public/lib/featureoptions.js.map +1 -1
- package/homebridge-ui/public/lib/webUi-featureoptions.mjs +3299 -552
- package/homebridge-ui/public/lib/webUi.mjs +13 -5
- package/homebridge-ui/public/ui.mjs +18 -6
- package/package.json +9 -9
- package/dist/ratgdo-api.d.ts +0 -317
- package/dist/ratgdo-api.js +0 -994
- package/dist/ratgdo-api.js.map +0 -1
package/dist/ratgdo-platform.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Bonjour } from "bonjour-service";
|
|
2
|
-
import { EspHomeClient } from "
|
|
2
|
+
import { EspHomeClient, LogLevel } from "esphome-client";
|
|
3
3
|
import { RatgdoAccessory } from "./ratgdo-device.js";
|
|
4
|
-
import { EventSource } from "undici";
|
|
5
4
|
import { FeatureOptions, MqttClient, sanitizeName } from "homebridge-plugin-utils";
|
|
6
5
|
import { PLATFORM_NAME, PLUGIN_NAME, RATGDO_API_HEARTBEAT_DURATION, RATGDO_AUTODISCOVERY_INTERVAL, RATGDO_AUTODISCOVERY_PROJECT_NAMES, RATGDO_AUTODISCOVERY_TYPES, RATGDO_MQTT_TOPIC } from "./settings.js";
|
|
7
6
|
import { featureOptionCategories, featureOptions } from "./ratgdo-options.js";
|
|
@@ -13,7 +12,6 @@ export class RatgdoPlatform {
|
|
|
13
12
|
discoveredDevices;
|
|
14
13
|
listeners;
|
|
15
14
|
espHomeApi;
|
|
16
|
-
espHomeEvents;
|
|
17
15
|
heartbeatTimers;
|
|
18
16
|
featureOptions;
|
|
19
17
|
config;
|
|
@@ -30,7 +28,6 @@ export class RatgdoPlatform {
|
|
|
30
28
|
this.configuredDevices = {};
|
|
31
29
|
this.discoveredDevices = {};
|
|
32
30
|
this.espHomeApi = {};
|
|
33
|
-
this.espHomeEvents = {};
|
|
34
31
|
this.featureOptions = new FeatureOptions(featureOptionCategories, featureOptions, config?.options);
|
|
35
32
|
this.hap = api.hap;
|
|
36
33
|
this.listeners = {};
|
|
@@ -59,23 +56,17 @@ export class RatgdoPlatform {
|
|
|
59
56
|
api.on("shutdown" /* APIEvent.SHUTDOWN */, () => {
|
|
60
57
|
// Stop any open heartbeat timers.
|
|
61
58
|
Object.values(this.heartbeatTimers).map(timer => clearTimeout(timer));
|
|
62
|
-
// Cleanup and close our events connection.
|
|
63
|
-
Object.keys(this.espHomeEvents).map(mac => {
|
|
64
|
-
this.espHomeEvents[mac].removeEventListener("log", this.listeners[mac].log);
|
|
65
|
-
delete this.listeners[mac].log;
|
|
66
|
-
this.espHomeEvents[mac].close();
|
|
67
|
-
});
|
|
68
59
|
// Cleanup and close our API connection.
|
|
69
60
|
Object.keys(this.listeners).map(mac => {
|
|
70
61
|
Object.keys(this.listeners[mac]).map(event => {
|
|
71
62
|
this.espHomeApi[mac].off(event, this.listeners[mac][event]);
|
|
72
63
|
delete this.listeners[mac][event];
|
|
73
64
|
});
|
|
74
|
-
this.espHomeApi[mac]
|
|
65
|
+
this.espHomeApi[mac].disconnect();
|
|
75
66
|
delete this.espHomeApi[mac];
|
|
76
67
|
});
|
|
77
68
|
// Inform our accessories we're going offline.
|
|
78
|
-
Object.values(this.configuredDevices).map(device => device
|
|
69
|
+
Object.values(this.configuredDevices).map(device => device?.updateState({ id: "availability", state: "offline" }));
|
|
79
70
|
});
|
|
80
71
|
}
|
|
81
72
|
// This gets called when homebridge restores cached accessories at startup. We intentionally avoid doing anything significant here, and save all that logic for device
|
|
@@ -86,15 +77,6 @@ export class RatgdoPlatform {
|
|
|
86
77
|
}
|
|
87
78
|
// Configure and connect to Ratgdo ESPHome clients.
|
|
88
79
|
configureRatgdo() {
|
|
89
|
-
// The EventSource API client is currently flagged as experimental in undici, though it's quite stable and solid already. We work around this issue by forcibly
|
|
90
|
-
// filtering out the warning.
|
|
91
|
-
process.removeAllListeners("warning").on("warning", (warning) => {
|
|
92
|
-
if ((warning.code === "UNDICI-ES") && (warning.message === "EventSource is experimental, expect them to change at any time.")) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
// eslint-disable-next-line no-console
|
|
96
|
-
console.warn(warning);
|
|
97
|
-
});
|
|
98
80
|
// Instantiate our mDNS stack.
|
|
99
81
|
const mdns = new Bonjour();
|
|
100
82
|
// Make sure we cleanup our mDNS client on shutdown.
|
|
@@ -112,7 +94,7 @@ export class RatgdoPlatform {
|
|
|
112
94
|
discoverRatgdoDevice(service) {
|
|
113
95
|
// We're only interested in ESPHome Ratgdo devices (and compatible variants) with valid MAC and IP addresses. Otherwise, we're done.
|
|
114
96
|
if ((!service.txt?.esphome_version && !service.txt?.version) || !service.txt?.mac || !service.addresses ||
|
|
115
|
-
!RATGDO_AUTODISCOVERY_PROJECT_NAMES.some(project => service.txt
|
|
97
|
+
!RATGDO_AUTODISCOVERY_PROJECT_NAMES.some(project => service.txt.project_name?.match(project))) {
|
|
116
98
|
return;
|
|
117
99
|
}
|
|
118
100
|
// We grab the first address provided for the ESPHome device.
|
|
@@ -124,53 +106,44 @@ export class RatgdoPlatform {
|
|
|
124
106
|
return;
|
|
125
107
|
}
|
|
126
108
|
this.listeners[ratgdo.device.mac] = {};
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
const message = event;
|
|
134
|
-
ratgdo.log.debug("Log event received: %s", util.inspect(message.data, { sorted: true }));
|
|
135
|
-
// Ratgdo occasionally sends empty status updates - we ignore them.
|
|
136
|
-
if (!message.data.length) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
// Grab the battery state, when logged.
|
|
140
|
-
const batteryState = message.data.match(/\bBattery state=(.+?)\b/);
|
|
141
|
-
// We've got a battery state update, inform the Ratgdo.
|
|
142
|
-
if (batteryState) {
|
|
143
|
-
ratgdo.log.debug("BATTERY STATE UPDATE: \"%s\"", batteryState[1]);
|
|
144
|
-
ratgdo.updateState({ id: "battery", state: batteryState[1] });
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
this.espHomeApi[ratgdo.device.mac] = new EspHomeClient(ratgdo.log, address);
|
|
109
|
+
this.espHomeApi[ratgdo.device.mac] = new EspHomeClient({
|
|
110
|
+
clientId: "homebridge-ratgdo",
|
|
111
|
+
host: address,
|
|
112
|
+
logger: ratgdo.log,
|
|
113
|
+
psk: this.featureOptions.value("Device.Encryption.Key", ratgdo.device.mac)
|
|
114
|
+
});
|
|
149
115
|
// Kickoff our heartbeats only the very first time we connect.
|
|
150
|
-
this.espHomeApi[ratgdo.device.mac].once("
|
|
116
|
+
this.espHomeApi[ratgdo.device.mac].once("deviceInfo", (info) => {
|
|
117
|
+
this.beat(ratgdo, { encrypted: this.espHomeApi[ratgdo.device.mac].isEncrypted, info });
|
|
118
|
+
// Heartbeat our Ratgdo.
|
|
119
|
+
this.espHomeApi[ratgdo.device.mac].on("message", this.listeners[ratgdo.device.mac].message = () => this.beat(ratgdo));
|
|
120
|
+
});
|
|
151
121
|
// Reconnect on disconnect.
|
|
152
122
|
this.espHomeApi[ratgdo.device.mac].on("disconnect", this.listeners[ratgdo.device.mac].disconnect = (reason) => {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
123
|
+
switch (reason) {
|
|
124
|
+
case "encryption key invalid":
|
|
125
|
+
case "encryption key missing":
|
|
126
|
+
ratgdo.updateState({ id: "availability", state: "offline" });
|
|
127
|
+
ratgdo.log.error("%s encryption key. Please ensure you configure HBR with the correct base64-encoded encryption key for this device.", (reason === "encryption key invalid") ? "Invalid" : "Missing");
|
|
128
|
+
break;
|
|
129
|
+
default:
|
|
130
|
+
this.beat(ratgdo, { reconnecting: true, updateState: false });
|
|
131
|
+
break;
|
|
157
132
|
}
|
|
158
|
-
this.beat(ratgdo, { reconnecting: true, updateState: false });
|
|
159
133
|
});
|
|
160
|
-
// Heartbeat our Ratgdo.
|
|
161
|
-
this.espHomeApi[ratgdo.device.mac].on("message", this.listeners[ratgdo.device.mac].message = () => this.beat(ratgdo));
|
|
162
134
|
// Process telemetry from the Ratgdo.
|
|
163
135
|
this.espHomeApi[ratgdo.device.mac].on("telemetry", (data) => {
|
|
164
136
|
const payload = { id: (data.type + "-" + data.entity).replace(/ /g, "_").toLowerCase(), state: "" };
|
|
137
|
+
ratgdo.log.debug("%s", util.inspect(data, { colors: true, depth: null, sorted: true }));
|
|
165
138
|
switch (data.type) {
|
|
166
139
|
case "binary_sensor":
|
|
167
|
-
case "light":
|
|
168
140
|
case "switch":
|
|
169
|
-
payload.state = data.
|
|
141
|
+
payload.state = data.state ? "ON" : "OFF";
|
|
170
142
|
break;
|
|
171
143
|
case "cover":
|
|
144
|
+
// @ts-expect-error For Konnected devices, they use door_cover instead of cover. We capture it here, but it doesn't really comply with ESPHome's client protocol.
|
|
145
|
+
// eslint-disable-next-line no-fallthrough
|
|
172
146
|
case "door_cover":
|
|
173
|
-
// data: {"id":"cover-door","value":0,"state":"CLOSED","current_operation":"IDLE","position":0}
|
|
174
147
|
payload.state = data.position ? "OPEN" : "CLOSED";
|
|
175
148
|
switch (data.currentOperation) {
|
|
176
149
|
case 1:
|
|
@@ -190,8 +163,11 @@ export class RatgdoPlatform {
|
|
|
190
163
|
}
|
|
191
164
|
payload.position = data.position;
|
|
192
165
|
break;
|
|
166
|
+
case "light":
|
|
167
|
+
payload.state = data.state ? "ON" : "OFF";
|
|
168
|
+
break;
|
|
193
169
|
case "lock":
|
|
194
|
-
switch (data.
|
|
170
|
+
switch (data.state) {
|
|
195
171
|
case 1:
|
|
196
172
|
payload.state = "LOCKED";
|
|
197
173
|
break;
|
|
@@ -204,14 +180,49 @@ export class RatgdoPlatform {
|
|
|
204
180
|
}
|
|
205
181
|
break;
|
|
206
182
|
case "button":
|
|
183
|
+
payload.state = data.pressed ? "PRESSED" : "";
|
|
184
|
+
break;
|
|
207
185
|
case "sensor":
|
|
208
|
-
|
|
186
|
+
payload.state = (typeof data.state === "number") ? data.state.toString() : "";
|
|
187
|
+
break;
|
|
209
188
|
default:
|
|
210
|
-
payload.state = (typeof data.value === "number") ? data.value.toString() : data.value;
|
|
211
189
|
break;
|
|
212
190
|
}
|
|
213
191
|
ratgdo.updateState(payload);
|
|
214
192
|
});
|
|
193
|
+
// Battery status is only available to us through log entries made by the Ratgdo.
|
|
194
|
+
if (ratgdo.hints.discoBattery) {
|
|
195
|
+
// Subscribe to our logs when we connect.
|
|
196
|
+
this.espHomeApi[ratgdo.device.mac].on("connect", this.listeners[ratgdo.device.mac].logSubscribe = () => this.espHomeApi[ratgdo.device.mac].subscribeToLogs(LogLevel.VERBOSE));
|
|
197
|
+
// Process log events from the Ratgdo.
|
|
198
|
+
this.espHomeApi[ratgdo.device.mac].on("log", this.listeners[ratgdo.device.mac].log = (logEntry) => {
|
|
199
|
+
ratgdo.log.debug("Log event received: %s", util.inspect(logEntry, { sorted: true }));
|
|
200
|
+
// Ratgdo occasionally sends empty status updates - we ignore them.
|
|
201
|
+
if (!logEntry.message.length) {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
// Grab the battery state, when logged.
|
|
205
|
+
const batteryState = logEntry.message.match(/\bBattery state=(.+?)\b/);
|
|
206
|
+
// We've got a battery state update, inform the Ratgdo.
|
|
207
|
+
if (batteryState) {
|
|
208
|
+
let actualState;
|
|
209
|
+
// Unfortunately, the current Ratgdo firmwares seems to conflate charging and full status. We workaround that here.
|
|
210
|
+
switch (batteryState[1]) {
|
|
211
|
+
case "CHARGING":
|
|
212
|
+
actualState = "FULL";
|
|
213
|
+
break;
|
|
214
|
+
case "FULL":
|
|
215
|
+
actualState = "CHARGING";
|
|
216
|
+
break;
|
|
217
|
+
default:
|
|
218
|
+
actualState = batteryState[1];
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
ratgdo.log.debug("Battery state update: \"%s\" mapping it to: %s", batteryState[1], actualState);
|
|
222
|
+
ratgdo.updateState({ id: "battery", state: actualState });
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
215
226
|
this.espHomeApi[ratgdo.device.mac].connect();
|
|
216
227
|
}
|
|
217
228
|
// Configure a discovered garage door opener.
|
|
@@ -229,13 +240,14 @@ export class RatgdoPlatform {
|
|
|
229
240
|
// Our device details.
|
|
230
241
|
const device = {
|
|
231
242
|
address: address,
|
|
232
|
-
firmwareVersion: deviceInfo.version ?? deviceInfo.esphome_version,
|
|
243
|
+
firmwareVersion: deviceInfo.version ?? deviceInfo.esphome_version ?? "0.0.0",
|
|
233
244
|
mac: mac.replace(/:/g, ""),
|
|
234
|
-
|
|
245
|
+
model: deviceInfo.project_version,
|
|
246
|
+
name: this.featureOptions.value("Device.LogName", mac.replace(/:/g, "")) ?? deviceInfo.friendly_name ?? "Ratgdo",
|
|
235
247
|
variant: (deviceInfo.project_name === "ratgdo.esphome") ? RatgdoVariant.RATGDO : RatgdoVariant.KONNECTED
|
|
236
248
|
};
|
|
237
249
|
// Inform the user that we've discovered a device.
|
|
238
|
-
this.log.info("Discovered: %s (address: %s mac: %s
|
|
250
|
+
this.log.info("Discovered: %s (address: %s mac: %s firmware: v%s variant: %s%s).", device.name, device.address, device.mac, device.firmwareVersion, device.variant, device.model ? (" [" + device.model + "]") : "");
|
|
239
251
|
// Mark it as discovered.
|
|
240
252
|
this.discoveredDevices[mac] = true;
|
|
241
253
|
// Check to see if the user has disabled the device.
|
|
@@ -264,7 +276,7 @@ export class RatgdoPlatform {
|
|
|
264
276
|
this.accessories.push(accessory);
|
|
265
277
|
}
|
|
266
278
|
// Inform the user.
|
|
267
|
-
this.log.info("Configuring: %s (address: %s mac: %s
|
|
279
|
+
this.log.info("Configuring: %s (address: %s mac: %s firmware: v%s variant: %s%s).", device.name, device.address, device.mac, device.firmwareVersion, device.variant, device.model ? (" [" + device.model + "]") : "");
|
|
268
280
|
// Add it to our list of configured devices.
|
|
269
281
|
this.configuredDevices[uuid] = new RatgdoAccessory(this, accessory, device);
|
|
270
282
|
// Refresh the accessory cache.
|
|
@@ -278,6 +290,7 @@ export class RatgdoPlatform {
|
|
|
278
290
|
if (options.info) {
|
|
279
291
|
ratgdo.device.model = options.info.projectVersion;
|
|
280
292
|
}
|
|
293
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
281
294
|
if (this.heartbeatTimers[ratgdo.device.mac]) {
|
|
282
295
|
clearTimeout(this.heartbeatTimers[ratgdo.device.mac]);
|
|
283
296
|
clearTimeout(this.heartbeatTimers[ratgdo.device.mac + ".reconnect"]);
|
|
@@ -285,7 +298,7 @@ export class RatgdoPlatform {
|
|
|
285
298
|
delete this.heartbeatTimers[ratgdo.device.mac + ".reconnect"];
|
|
286
299
|
}
|
|
287
300
|
if (options.updateState) {
|
|
288
|
-
ratgdo.updateState({ id: "availability", state: "online" });
|
|
301
|
+
ratgdo.updateState({ id: "availability", state: "online", ...(options.encrypted !== undefined && { value: options.encrypted ? "encrypted" : "unencrypted" }) });
|
|
289
302
|
}
|
|
290
303
|
else if (options.reconnecting) {
|
|
291
304
|
ratgdo.updateState({ id: "availability", state: "offline" });
|
|
@@ -293,6 +306,7 @@ export class RatgdoPlatform {
|
|
|
293
306
|
// Reset our timer.
|
|
294
307
|
this.heartbeatTimers[ratgdo.device.mac] = setTimeout(() => {
|
|
295
308
|
// The API instance is no longer available due to plugin shutdown. We're done.
|
|
309
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
296
310
|
if (!this.espHomeApi[ratgdo.device.mac]) {
|
|
297
311
|
return;
|
|
298
312
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ratgdo-platform.js","sourceRoot":"","sources":["../src/ratgdo-platform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ratgdo-platform.js","sourceRoot":"","sources":["../src/ratgdo-platform.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAgB,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAmB,aAAa,EAAqB,QAAQ,EAAuB,MAAM,gBAAgB,CAAC;AAClH,OAAO,EAAqB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAiB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,kCAAkC,EAAE,0BAA0B,EAC/J,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAsB,uBAAuB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAElG,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,OAAO,cAAc;IAER,WAAW,CAAsB;IAClC,GAAG,CAAM;IACjB,iBAAiB,CAA+B;IAChD,SAAS,CAAwI;IACzI,UAAU,CAAqC;IAC9C,eAAe,CAAsC;IAC/D,cAAc,CAAiB;IAC/B,MAAM,CAAgB;IACb,aAAa,CAAW;IACxB,iBAAiB,CAAmD;IACpE,GAAG,CAAM;IACT,GAAG,CAAU;IACb,IAAI,CAAuB;IAE3C,YAAY,GAAY,EAAE,MAAkC,EAAE,GAAQ;QAEpE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,uBAAuB,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACnG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAE1B,2CAA2C;QAC3C,IAAG,CAAC,MAAM,EAAE,CAAC;YAEX,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,GAAG;YAEZ,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI;YAC5B,SAAS,EAAE,MAAM,CAAC,SAAmB;YACrC,OAAO,EAAE,MAAM,CAAC,OAAiB;YACjC,OAAO,EAAE,MAAM,CAAC,OAAmB;SACpC,CAAC;QAEF,8BAA8B;QAC9B,IAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAEvB,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAE1D,uIAAuI;QACvI,GAAG,CAAC,EAAE,2DAAgC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAEpE,wDAAwD;QACxD,GAAG,CAAC,EAAE,qCAAoB,GAAG,EAAE;YAE7B,kCAAkC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAEtE,wCAAwC;YACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAEpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBAE3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC5D,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAEpC,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;gBAElC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,8CAA8C;YAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACrH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sKAAsK;IACtK,aAAa;IACN,kBAAkB,CAAC,SAA4B;QAEpD,sDAAsD;QACtD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,mDAAmD;IAC3C,eAAe;QAErB,8BAA8B;QAC9B,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;QAE3B,oDAAoD;QACpD,IAAI,CAAC,GAAG,CAAC,EAAE,qCAAoB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAErD,kCAAkC;QAClC,KAAI,MAAM,QAAQ,IAAI,0BAA0B,EAAE,CAAC;YAEjD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAExF,8CAA8C;YAC9C,WAAW,CAAC,MAAM,EAAE,CAAC;YAErB,8CAA8C;YAC9C,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,6BAA6B,GAAG,IAAI,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,mCAAmC;IAC3B,oBAAoB,CAAC,OAAgB;QAE3C,oIAAoI;QACpI,IAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;YACpG,CAAC,kCAAkC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAE,OAAO,CAAC,GAAuC,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAErI,OAAO;QACT,CAAC;QAED,6DAA6D;QAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAErC,wBAAwB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAG,OAAO,CAAC,GAA8B,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpG,oDAAoD;QACpD,IAAG,CAAC,MAAM,EAAE,CAAC;YAEX,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAEvC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,aAAa,CAAC;YAErD,QAAQ,EAAE,mBAAmB;YAC7B,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM,CAAC,GAAG;YAClB,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,uBAAuB,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;SAC3E,CAAC,CAAC;QAEH,8DAA8D;QAC9D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAgB,EAAE,EAAE;YAEzE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAEvF,wBAAwB;YACxB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9H,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,MAAe,EAAQ,EAAE;YAE3H,QAAO,MAAM,EAAE,CAAC;gBAEd,KAAK,wBAAwB,CAAC;gBAC9B,KAAK,wBAAwB;oBAE3B,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAE7D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,oHAAoH,EACnI,CAAC,MAAM,KAAK,wBAAwB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAEjE,MAAM;gBAER;oBAEE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAC,CAAC,CAAC;oBAE7D,MAAM;YACV,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,IAAoB,EAAE,EAAE;YAE1E,MAAM,OAAO,GAAiB,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAElH,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;YAEvF,QAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBAEjB,KAAK,eAAe,CAAC;gBACrB,KAAK,QAAQ;oBAEX,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;oBAE1C,MAAM;gBAER,KAAK,OAAO,CAAC;gBACb,iKAAiK;gBACjK,0CAA0C;gBAC1C,KAAK,YAAY;oBAEf,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAElD,QAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAE7B,KAAK,CAAC;4BAEJ,qCAAqC;4BACrC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;4BAEtC,MAAM;wBAER,KAAK,CAAC;4BAEJ,qCAAqC;4BACrC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;4BAEtC,MAAM;wBAER,KAAK,SAAS,CAAC;wBACf,KAAK,CAAC,CAAC;wBACP;4BAEE,qCAAqC;4BACrC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC;4BAEnC,MAAM;oBAEV,CAAC;oBAED,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAEjC,MAAM;gBAER,KAAK,OAAO;oBAEV,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;oBAE1C,MAAM;gBAER,KAAK,MAAM;oBAET,QAAO,IAAI,CAAC,KAAK,EAAE,CAAC;wBAElB,KAAK,CAAC;4BAEJ,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;4BAEzB,MAAM;wBAER,KAAK,CAAC;4BAEJ,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;4BAE3B,MAAM;wBAER;4BAEE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;4BAE1B,MAAM;oBACV,CAAC;oBAED,MAAM;gBAER,KAAK,QAAQ;oBAEX,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE9C,MAAM;gBAER,KAAK,QAAQ;oBAEX,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE9E,MAAM;gBAER;oBAEE,MAAM;YACV,CAAC;YAED,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,iFAAiF;QACjF,IAAG,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAE7B,yCAAyC;YACzC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,EAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAErI,sCAAsC;YACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAsB,EAAQ,EAAE;gBAEpH,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAErF,mEAAmE;gBACnE,IAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAE5B,OAAO;gBACT,CAAC;gBAED,uCAAuC;gBACvC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAEvE,uDAAuD;gBACvD,IAAG,YAAY,EAAE,CAAC;oBAEhB,IAAI,WAAW,CAAC;oBAEhB,mHAAmH;oBACnH,QAAO,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;wBAEvB,KAAK,UAAU;4BAEb,WAAW,GAAG,MAAM,CAAC;4BAErB,MAAM;wBAER,KAAK,MAAM;4BAET,WAAW,GAAG,UAAU,CAAC;4BAEzB,MAAM;wBAER;4BAEE,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;4BAE9B,MAAM;oBACV,CAAC;oBAED,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,gDAAgD,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;oBACjG,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/C,CAAC;IAED,6CAA6C;IACrC,YAAY,CAAC,OAAe,EAAE,GAAW,EAAE,UAA2C;QAE5F,mGAAmG;QACnG,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAEvD,uDAAuD;QACvD,IAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAE/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4CAA4C;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEzC,oEAAoE;QACpE,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAE5D,sBAAsB;QACtB,MAAM,MAAM,GAAG;YAEb,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,eAAe,IAAI,OAAO;YAC5E,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1B,KAAK,EAAE,UAAU,CAAC,eAAe;YACjC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,aAAa,IAAI,QAAQ;YAChH,OAAO,EAAE,CAAC,UAAU,CAAC,YAAY,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS;SACzG,CAAC;QAEF,kDAAkD;QAClD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mEAAmE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,eAAe,EAChJ,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnE,yBAAyB;QACzB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAEnC,oDAAoD;QACpD,IAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAEnD,oDAAoD;YACpD,IAAG,SAAS,EAAE,CAAC;gBAEb,mBAAmB;gBACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;gBAE1E,kEAAkE;gBAClE,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;gBAChF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChE,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvD,CAAC;YAED,cAAc;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8DAA8D;QAC9D,IAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAEhC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,+CAA+C;QAC/C,IAAG,CAAC,SAAS,EAAE,CAAC;YAEd,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAE5E,gGAAgG;YAChG,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oEAAoE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,eAAe,EACjJ,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnE,4CAA4C;QAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAE5E,+BAA+B;QAC/B,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,wBAAwB;IAChB,IAAI,CAAC,MAAuB,EAAE,UAA0G,EAAE;QAEhJ,OAAO,CAAC,YAAY,KAAK,KAAK,CAAC;QAC/B,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC;QAE7B,IAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAEhB,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;QACpD,CAAC;QAED,uEAAuE;QACvE,IAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAE3C,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC;YAErE,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;QAChE,CAAC;QAED,IAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAEvB,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QAClK,CAAC;aAAM,IAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YAE/B,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;YAExD,8EAA8E;YAC9E,uEAAuE;YACvE,IAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAEvC,OAAO;YACT,CAAC;YAED,0FAA0F;YAC1F,IAAG,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBAEzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;YAClD,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;gBAEvE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5C,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,6BAA6B;IACtB,KAAK,CAAC,OAAe,EAAE,GAAG,UAAqB;QAEpD,IAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAErB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;CACF"}
|
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC;AAEtC,0BAA0B;AAC1B,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAE/C,uKAAuK;AACvK,gCAAgC;AAChC,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAEjD,oFAAoF;AACpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,gEAAgE;AAChE,MAAM,CAAC,MAAM,kCAAkC,GAAa,CAAE,oBAAoB,EAAE,kCAAkC,CAAE,CAAC;AAEzH,sDAAsD;AACtD,MAAM,CAAC,MAAM,0BAA0B,GAAG,
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC;AAEtC,0BAA0B;AAC1B,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAE/C,uKAAuK;AACvK,gCAAgC;AAChC,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAEjD,oFAAoF;AACpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,gEAAgE;AAChE,MAAM,CAAC,MAAM,kCAAkC,GAAa,CAAE,oBAAoB,EAAE,kCAAkC,CAAE,CAAC;AAEzH,sDAAsD;AACtD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,YAAY,CAAC,CAAC;AAEzD,kDAAkD;AAClD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,gGAAgG;AAChG,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAE1C,4FAA4F;AAC5F,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C,wKAAwK;AACxK,4FAA4F;AAC5F,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC"}
|
|
@@ -21,46 +21,33 @@
|
|
|
21
21
|
<button type="button" class="btn btn-primary" id="menuFeatureOptions">Feature Options</button>
|
|
22
22
|
<button type="button" class="btn btn-primary mr-0" id="menuHome">Support</button>
|
|
23
23
|
</div>
|
|
24
|
-
<div id="pageFeatureOptions" class="mt-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
</tr>
|
|
52
|
-
<tr>
|
|
53
|
-
<td id="device_model" class="m-0 p-0"></td>
|
|
54
|
-
<td id="device_mac" class="m-0 p-0"></td>
|
|
55
|
-
<td id="device_firmware" class="m-0 p-0"></td>
|
|
56
|
-
</tr>
|
|
57
|
-
</table>
|
|
58
|
-
</td>
|
|
59
|
-
</tr>
|
|
60
|
-
<tr>
|
|
61
|
-
<td id="configTable" class="w-100"></td>
|
|
62
|
-
</tr>
|
|
63
|
-
</table>
|
|
24
|
+
<div id="pageFeatureOptions" class="mt-2" style="display: none;" tabindex="0">
|
|
25
|
+
<!-- Header information bar -->
|
|
26
|
+
<div id="headerInfo" class="alert alert-info bg-transparent py-2 px-3 mb-2"></div>
|
|
27
|
+
|
|
28
|
+
<!-- Main content area -->
|
|
29
|
+
<div class="feature-main-content">
|
|
30
|
+
<!-- Sidebar -->
|
|
31
|
+
<aside id="sidebar" class="me-3">
|
|
32
|
+
<div class="sidebar-content">
|
|
33
|
+
<nav id="controllersContainer" class="p-2"></nav>
|
|
34
|
+
<nav id="devicesContainer" class="p-2"></nav>
|
|
35
|
+
</div>
|
|
36
|
+
</aside>
|
|
37
|
+
|
|
38
|
+
<!-- Main content -->
|
|
39
|
+
<main class="feature-content">
|
|
40
|
+
<!-- Device stats using CSS Grid -->
|
|
41
|
+
<div id="deviceStatsContainer"></div>
|
|
42
|
+
|
|
43
|
+
<!-- Search panel -->
|
|
44
|
+
<div id="search" class="mb-3"></div>
|
|
45
|
+
|
|
46
|
+
<!-- Options content area -->
|
|
47
|
+
<div id="optionsContainer" class="options-content border rounded p-3">
|
|
48
|
+
<div id="configTable"></div>
|
|
49
|
+
</div>
|
|
50
|
+
</main>
|
|
64
51
|
</div>
|
|
65
52
|
</div>
|
|
66
53
|
<div id="pageSupport" class="mt-4" style="display: none;">
|
|
@@ -97,9 +84,6 @@
|
|
|
97
84
|
<li>
|
|
98
85
|
<a target="_blank" href="https://github.com/hjdhjd/homebridge-ratgdo/blob/main/docs/MQTT.md">MQTT</a>: how to configure MQTT support.
|
|
99
86
|
</li>
|
|
100
|
-
<li>
|
|
101
|
-
<a target="_blank" href="https://github.com/hjdhjd/homebridge-ratgdo/tree/main/esphome">ESPHome Firmware Customization</a>: precustomized Ratgdo ESPHome firmware and configuration files. <b>This is completely unsupported and provided for convenience - you are on your own.</b>
|
|
102
|
-
</li>
|
|
103
87
|
</ul>
|
|
104
88
|
|
|
105
89
|
<h5>Support</h5>
|
|
@@ -120,12 +104,30 @@
|
|
|
120
104
|
*
|
|
121
105
|
* Plugin webUI script loader.
|
|
122
106
|
*/
|
|
123
|
-
|
|
124
107
|
"use strict";
|
|
125
108
|
|
|
126
|
-
//
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
109
|
+
// Compute a timestamp for cache-busting so each URL appears unique.
|
|
110
|
+
const timestamp = Date.now();
|
|
111
|
+
|
|
112
|
+
// Next, set up an import map that will append a cache-busting query string to our modules.
|
|
113
|
+
const importMap = {
|
|
114
|
+
|
|
115
|
+
imports: {
|
|
116
|
+
|
|
117
|
+
"./ui.mjs": new URL("./ui.mjs", import.meta.url).href + "?cb=" + timestamp,
|
|
118
|
+
"./lib/featureOptions.js": new URL("./lib/featureOptions.js", import.meta.url).href + "?cb=" + timestamp,
|
|
119
|
+
"./lib/webUi.mjs": new URL("./lib/webUi.mjs", import.meta.url).href + "?cb=" + timestamp,
|
|
120
|
+
"./lib/webUi-featureOptions.mjs": new URL("./lib/webUi-featureOptions.mjs", import.meta.url).href + "?cb=" + timestamp
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
// Append the import map script to the document head so the browser applies it.
|
|
125
|
+
const mapScript = document.createElement("script");
|
|
126
|
+
|
|
127
|
+
mapScript.type = "importmap";
|
|
128
|
+
mapScript.textContent = JSON.stringify(importMap);
|
|
129
|
+
document.head.appendChild(mapScript);
|
|
130
|
+
|
|
131
|
+
// Finally, import the UI entry point so we always load a fresh copy.
|
|
132
|
+
await import("./ui.mjs");
|
|
131
133
|
</script>
|
|
@@ -75,9 +75,9 @@ export class FeatureOptions {
|
|
|
75
75
|
this.defaultReturnValue = false;
|
|
76
76
|
this.defaults = {};
|
|
77
77
|
this.valueOptions = {};
|
|
78
|
-
this.categories = categories
|
|
78
|
+
this.categories = categories;
|
|
79
79
|
this.configuredOptions = configuredOptions;
|
|
80
|
-
this.options = options
|
|
80
|
+
this.options = options;
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
83
83
|
* Return a Bootstrap-specific color reference depending on the scope of a given feature option.
|
|
@@ -174,9 +174,7 @@ export class FeatureOptions {
|
|
|
174
174
|
* @returns Returns true if the option is set at the device or controller level and false otherwise.
|
|
175
175
|
*/
|
|
176
176
|
isScopeDevice(option, device) {
|
|
177
|
-
|
|
178
|
-
// Return the value if it's set, or the default value for this option.
|
|
179
|
-
return (value !== undefined) ? value : this.defaultValue(option);
|
|
177
|
+
return this.exists(option, device);
|
|
180
178
|
}
|
|
181
179
|
/**
|
|
182
180
|
* Return whether an option has been set in the global scope context.
|
|
@@ -186,9 +184,7 @@ export class FeatureOptions {
|
|
|
186
184
|
* @returns Returns true if the option is set globally and false otherwise.
|
|
187
185
|
*/
|
|
188
186
|
isScopeGlobal(option) {
|
|
189
|
-
|
|
190
|
-
// Return the value if it's set, or the default value for this option.
|
|
191
|
-
return (value !== undefined) ? value : this.defaultValue(option);
|
|
187
|
+
return this.exists(option);
|
|
192
188
|
}
|
|
193
189
|
/**
|
|
194
190
|
* Return whether an option is value-centric or not.
|
|
@@ -320,6 +316,7 @@ export class FeatureOptions {
|
|
|
320
316
|
* @param options - Array of configured feature options.
|
|
321
317
|
*/
|
|
322
318
|
set configuredOptions(options) {
|
|
319
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
323
320
|
this._configuredOptions = options ?? [];
|
|
324
321
|
}
|
|
325
322
|
/**
|
|
@@ -344,6 +341,7 @@ export class FeatureOptions {
|
|
|
344
341
|
* @param options - Array of available feature options.
|
|
345
342
|
*/
|
|
346
343
|
set options(options) {
|
|
344
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
347
345
|
this._options = options ?? {};
|
|
348
346
|
// Regenerate our defaults.
|
|
349
347
|
this.generateDefaults();
|
|
@@ -355,6 +353,7 @@ export class FeatureOptions {
|
|
|
355
353
|
this.valueOptions = {};
|
|
356
354
|
for (const category of this.categories) {
|
|
357
355
|
// If the category doesn't exist, let's skip it.
|
|
356
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
358
357
|
if (!this.options[category.name]) {
|
|
359
358
|
continue;
|
|
360
359
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"featureoptions.js","sourceRoot":"","sources":["../src/featureoptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"featureoptions.js","sourceRoot":"","sources":["../src/featureoptions.ts"],"names":[],"mappings":"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"}
|