iobroker.teslafi 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -22
- package/admin/jsonConfig.json +2 -2
- package/build/lib/projectUtils.js +24 -22
- package/build/lib/projectUtils.js.map +1 -1
- package/build/lib/teslafiAPICaller.js +230 -87
- package/build/lib/teslafiAPICaller.js.map +1 -1
- package/build/main.js +33 -36
- package/build/main.js.map +1 -1
- package/io-package.json +27 -27
- package/package.json +76 -85
package/README.md
CHANGED
|
@@ -45,57 +45,73 @@ If you enjoyed this project — or just feeling generous, consider buying me a b
|
|
|
45
45
|
|
|
46
46
|
## Changelog
|
|
47
47
|
|
|
48
|
+
### 0.4.1 (2024-11-28)
|
|
49
|
+
|
|
50
|
+
- (hombach) intruduce 'iobroker/eslint-config' (#67)
|
|
51
|
+
- (hombach) add axios timeout
|
|
52
|
+
- (hombach) optimized code stability
|
|
53
|
+
- (hombach) fix typo
|
|
54
|
+
- (hombach) remove message handler
|
|
55
|
+
|
|
56
|
+
### 0.4.0 (2024-11-10)
|
|
57
|
+
|
|
58
|
+
- (hombach) implement managed charging time (#29)
|
|
59
|
+
- (hombach) implement battery range
|
|
60
|
+
- (hombach) fixed errors in 'time to finish charge'
|
|
61
|
+
- (hombach) changed min update interval to 10 sec
|
|
62
|
+
- (hombach) fixed typos
|
|
63
|
+
|
|
48
64
|
### 0.3.0 (2024-11-08)
|
|
49
65
|
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
66
|
+
- (hombach) implement string for time to finish charge (#42)
|
|
67
|
+
- (hombach) reorganize data in folders (#43)
|
|
68
|
+
- (hombach) show 3rd row seat heater only if 3rd row is available (#40)
|
|
69
|
+
- (hombach) implement 'charging_state' (#37)
|
|
54
70
|
|
|
55
71
|
### 0.2.1 (2024-11-08)
|
|
56
72
|
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
73
|
+
- (hombach) change 'time_to_full_charge' type to number (#38)
|
|
74
|
+
- (hombach) total rework of vehicle data parser
|
|
75
|
+
- (hombach) set speed to 0 if null in API data (#39)
|
|
60
76
|
|
|
61
77
|
### 0.2.0 (2024-11-07)
|
|
62
78
|
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
79
|
+
- (hombach) implement raw data state (#26)
|
|
80
|
+
- (hombach) implement charger_phases (#28)
|
|
81
|
+
- (hombach) implement driver_temp_setting (#31)
|
|
82
|
+
- (hombach) implement seat and steeringwheel heater states (#30)
|
|
67
83
|
|
|
68
84
|
### 0.1.5 (2024-11-06)
|
|
69
85
|
|
|
70
|
-
-
|
|
71
|
-
-
|
|
86
|
+
- (hombach) harmonize project tools
|
|
87
|
+
- (hombach) removed doubled texts in state names
|
|
72
88
|
|
|
73
89
|
### 0.1.4 (2024-11-01)
|
|
74
90
|
|
|
75
|
-
-
|
|
91
|
+
- (hombach) fix conversion error
|
|
76
92
|
|
|
77
93
|
### 0.1.3 (2024-10-30)
|
|
78
94
|
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
95
|
+
- (hombach) fix typo in error text
|
|
96
|
+
- (hombach) optimize responsive design
|
|
97
|
+
- (hombach) bump dependencies
|
|
82
98
|
|
|
83
99
|
### 0.1.2 (2024-10-28)
|
|
84
100
|
|
|
85
|
-
-
|
|
86
|
-
-
|
|
101
|
+
- (hombach) introduce to ioBroker latest repo
|
|
102
|
+
- (hombach) bump dependencies
|
|
87
103
|
|
|
88
104
|
### 0.1.1 (2024-10-26)
|
|
89
105
|
|
|
90
|
-
-
|
|
106
|
+
- (hombach) fix npm error
|
|
91
107
|
|
|
92
108
|
### 0.1.0 (2024-10-26)
|
|
93
109
|
|
|
94
|
-
-
|
|
110
|
+
- (hombach) first working version
|
|
95
111
|
|
|
96
112
|
### 0.0.1 (2024-10-24)
|
|
97
113
|
|
|
98
|
-
-
|
|
114
|
+
- (hombach) initial release
|
|
99
115
|
|
|
100
116
|
## License
|
|
101
117
|
|
package/admin/jsonConfig.json
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ProjectUtils = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* ProjectUtils
|
|
6
|
+
*/
|
|
4
7
|
class ProjectUtils {
|
|
5
8
|
adapter;
|
|
9
|
+
/**
|
|
10
|
+
* constructor
|
|
11
|
+
*
|
|
12
|
+
* @param adapter - ioBroker adapter instance
|
|
13
|
+
*/
|
|
6
14
|
constructor(adapter) {
|
|
7
15
|
this.adapter = adapter;
|
|
8
16
|
}
|
|
@@ -12,7 +20,6 @@ class ProjectUtils {
|
|
|
12
20
|
* @param stateName - A string representing the name of the state to retrieve.
|
|
13
21
|
* @returns A Promise that resolves with the value of the state if it exists, otherwise resolves with null.
|
|
14
22
|
*/
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
23
|
async getStateValue(stateName) {
|
|
17
24
|
try {
|
|
18
25
|
const stateObject = await this.getState(stateName);
|
|
@@ -37,9 +44,7 @@ class ProjectUtils {
|
|
|
37
44
|
if (!this.isLikeEmpty(stateValueObject)) {
|
|
38
45
|
return stateValueObject;
|
|
39
46
|
}
|
|
40
|
-
|
|
41
|
-
throw `Unable to retrieve info from state '${stateName}'.`;
|
|
42
|
-
}
|
|
47
|
+
throw new Error(`Unable to retrieve info from state '${stateName}'.`);
|
|
43
48
|
}
|
|
44
49
|
}
|
|
45
50
|
catch (error) {
|
|
@@ -63,15 +68,17 @@ class ProjectUtils {
|
|
|
63
68
|
}
|
|
64
69
|
/**
|
|
65
70
|
* Get foreign state value
|
|
66
|
-
*
|
|
67
|
-
* @
|
|
71
|
+
*
|
|
72
|
+
* @param stateName - Full path to state, like 0_userdata.0.other.isSummer
|
|
73
|
+
* @returns State value, or null if error
|
|
68
74
|
*/
|
|
69
|
-
// eslint-disable-next-line @typescript-eslint/no-
|
|
75
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
|
70
76
|
async asyncGetForeignStateVal(stateName) {
|
|
71
77
|
try {
|
|
72
78
|
const stateObject = await this.asyncGetForeignState(stateName);
|
|
73
|
-
if (stateObject == null)
|
|
74
|
-
return null;
|
|
79
|
+
if (stateObject == null) {
|
|
80
|
+
return null;
|
|
81
|
+
} // errors thrown already in asyncGetForeignState()
|
|
75
82
|
return stateObject.val;
|
|
76
83
|
}
|
|
77
84
|
catch (error) {
|
|
@@ -82,14 +89,14 @@ class ProjectUtils {
|
|
|
82
89
|
/**
|
|
83
90
|
* Get foreign state
|
|
84
91
|
*
|
|
85
|
-
* @param
|
|
86
|
-
* @
|
|
92
|
+
* @param stateName - Full path to state, like 0_userdata.0.other.isSummer
|
|
93
|
+
* @returns State object: {val: false, ack: true, ts: 1591117034451, …}, or null if error
|
|
87
94
|
*/
|
|
88
95
|
async asyncGetForeignState(stateName) {
|
|
89
96
|
try {
|
|
90
97
|
const stateObject = await this.adapter.getForeignObjectAsync(stateName); // Check state existence
|
|
91
98
|
if (!stateObject) {
|
|
92
|
-
throw `State '${stateName}' does not exist
|
|
99
|
+
throw new Error(`State '${stateName}' does not exist.`);
|
|
93
100
|
}
|
|
94
101
|
else {
|
|
95
102
|
// Get state value, so like: {val: false, ack: true, ts: 1591117034451, …}
|
|
@@ -97,9 +104,7 @@ class ProjectUtils {
|
|
|
97
104
|
if (!this.isLikeEmpty(stateValueObject)) {
|
|
98
105
|
return stateValueObject;
|
|
99
106
|
}
|
|
100
|
-
|
|
101
|
-
throw `Unable to retrieve info from state '${stateName}'.`;
|
|
102
|
-
}
|
|
107
|
+
throw new Error(`Unable to retrieve info from state '${stateName}'.`);
|
|
103
108
|
}
|
|
104
109
|
}
|
|
105
110
|
catch (error) {
|
|
@@ -129,13 +134,9 @@ class ProjectUtils {
|
|
|
129
134
|
if (sTemp !== "") {
|
|
130
135
|
return false;
|
|
131
136
|
}
|
|
132
|
-
else {
|
|
133
|
-
return true;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
137
|
return true;
|
|
138
138
|
}
|
|
139
|
+
return true;
|
|
139
140
|
}
|
|
140
141
|
/**
|
|
141
142
|
* Checks if a string state exists, creates it if necessary, and updates its value.
|
|
@@ -232,6 +233,7 @@ class ProjectUtils {
|
|
|
232
233
|
* @param description - Optional description for the state (default is "-").
|
|
233
234
|
* @param writeable - Optional boolean indicating if the state should be writeable (default is false).
|
|
234
235
|
* @param dontUpdate - Optional boolean indicating if the state should not be updated if it already exists (default is false).
|
|
236
|
+
* @param forceMode - Optional boolean indicating if the state should be overwritten if it already exists (default is false).
|
|
235
237
|
* @returns A Promise that resolves when the state is checked, created (if necessary), and updated.
|
|
236
238
|
*/
|
|
237
239
|
async checkAndSetValueBoolean(stateName, value, description = "-", writeable = false, dontUpdate = false, forceMode = false) {
|
|
@@ -270,15 +272,15 @@ class ProjectUtils {
|
|
|
270
272
|
* @param context - A string providing context for where the error occurred.
|
|
271
273
|
* @returns A string representing the formatted error message.
|
|
272
274
|
*/
|
|
273
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
274
275
|
generateErrorMessage(error, context) {
|
|
275
276
|
let errorMessages = "";
|
|
276
277
|
// Check if error object has an 'errors' property that is an array
|
|
277
278
|
if (error.errors && Array.isArray(error.errors)) {
|
|
278
279
|
// Iterate over the array of errors and concatenate their messages
|
|
279
280
|
for (const err of error.errors) {
|
|
280
|
-
if (errorMessages)
|
|
281
|
+
if (errorMessages) {
|
|
281
282
|
errorMessages += ", ";
|
|
283
|
+
}
|
|
282
284
|
errorMessages += err.message;
|
|
283
285
|
}
|
|
284
286
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectUtils.js","sourceRoot":"","sources":["../../src/lib/projectUtils.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IACxB,OAAO,CAAwB;IAE/B,YAAY,OAA8B;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED;;;;;OAKG;
|
|
1
|
+
{"version":3,"file":"projectUtils.js","sourceRoot":"","sources":["../../src/lib/projectUtils.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,YAAY;IACxB,OAAO,CAAwB;IAE/B;;;;OAIG;IACH,YAAY,OAA8B;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC9C,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnD,OAAO,WAAW,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,iDAAiD;QACnF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,QAAQ,CAAC,SAAiB;QACvC,IAAI,CAAC;YACJ,IAAI,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChD,0EAA0E;gBAC1E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACzC,OAAO,gBAAgB,CAAC;gBACzB,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,IAAI,CAAC,CAAC;YACvE,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QACnD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB;QAC1F,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,SAAS,0BAA0B,CAAC,CAAC;YACtF,OAAO,KAAK,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,6EAA6E;IAC7E,KAAK,CAAC,uBAAuB,CAAC,SAAiB;QAC9C,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAC/D,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;YACb,CAAC,CAAC,kDAAkD;YACpD,OAAO,WAAW,CAAC,GAAG,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QACnD,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB;YACjG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,mBAAmB,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACP,0EAA0E;gBAC1E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBAC5E,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACzC,OAAO,gBAAgB,CAAC;gBACzB,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,IAAI,CAAC,CAAC;YACvE,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED;;;;;;;;OAQG;IACK,WAAW,CAAC,QAA2C;QAC9D,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1D,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACrC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B;YAC7D,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACnD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACnD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACpD,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBAClB,OAAO,KAAK,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;;;;;OAUG;IACO,KAAK,CAAC,gBAAgB,CAC/B,SAAiB,EACjB,KAAa,EACb,WAAW,GAAG,GAAG,EACjB,SAAS,GAAG,KAAK,EACjB,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,KAAK;QAEjB,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAyB;oBACvC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;oBAChC,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,SAAS;iBAChB,CAAC;gBACF,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE;wBACrD,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE,EAAE;qBACV,CAAC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE;wBAC5C,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE,EAAE;qBACV,CAAC,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC3E,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;;;;;;;;OAWG;IACO,KAAK,CAAC,sBAAsB,CACrC,SAAiB,EACjB,KAAa,EACb,WAAW,GAAG,GAAG,EACjB,IAAa,EACb,SAAS,GAAG,KAAK,EACjB,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,KAAK;QAEjB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,SAAS,GAAyB;gBACvC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;gBAChC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,SAAS;aAChB,CAAC;YACF,2DAA2D;YAC3D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE;oBACrD,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE;oBAC5C,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC3E,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;;;;;;;OAUG;IACO,KAAK,CAAC,uBAAuB,CACtC,SAAiB,EACjB,KAAc,EACd,WAAW,GAAG,GAAG,EACjB,SAAS,GAAG,KAAK,EACjB,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,KAAK;QAEjB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAyB;gBACvC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;gBAChC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,SAAS;aAChB,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE;oBACrD,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE;oBAC5C,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC3E,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACI,oBAAoB,CAAC,KAAU,EAAE,OAAe;QACtD,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,kEAAkE;QAClE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,kEAAkE;YAClE,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,aAAa,EAAE,CAAC;oBACnB,aAAa,IAAI,IAAI,CAAC;gBACvB,CAAC;gBACD,aAAa,IAAI,GAAG,CAAC,OAAO,CAAC;YAC9B,CAAC;QACF,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1B,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,mFAAmF;QACnH,CAAC;aAAM,CAAC;YACP,aAAa,GAAG,eAAe,CAAC,CAAC,4EAA4E;QAC9G,CAAC;QACD,oFAAoF;QACpF,OAAO,UAAU,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,IAAI,gBAAgB,uBAAuB,OAAO,OAAO,aAAa,EAAE,CAAC;IAClI,CAAC;CACD;AA3TD,oCA2TC"}
|