homebridge 2.0.0-alpha.41 → 2.0.0-alpha.42
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/dist/api.d.ts +47 -20
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +43 -11
- package/dist/api.js.map +1 -1
- package/dist/bridgeService.d.ts +5 -10
- package/dist/bridgeService.d.ts.map +1 -1
- package/dist/bridgeService.js +3 -0
- package/dist/bridgeService.js.map +1 -1
- package/dist/childBridgeFork.d.ts +19 -0
- package/dist/childBridgeFork.d.ts.map +1 -1
- package/dist/childBridgeFork.js +198 -4
- package/dist/childBridgeFork.js.map +1 -1
- package/dist/childBridgeService.d.ts +27 -1
- package/dist/childBridgeService.d.ts.map +1 -1
- package/dist/childBridgeService.js +43 -1
- package/dist/childBridgeService.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +5 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/ipcService.d.ts +3 -1
- package/dist/ipcService.d.ts.map +1 -1
- package/dist/ipcService.js +2 -0
- package/dist/ipcService.js.map +1 -1
- package/dist/matter/index.d.ts +4 -6
- package/dist/matter/index.d.ts.map +1 -1
- package/dist/matter/index.js +4 -5
- package/dist/matter/index.js.map +1 -1
- package/dist/matter/matterConfigValidator.d.ts +2 -3
- package/dist/matter/matterConfigValidator.d.ts.map +1 -1
- package/dist/matter/matterConfigValidator.js +47 -38
- package/dist/matter/matterConfigValidator.js.map +1 -1
- package/dist/matter/matterErrorHandler.d.ts +6 -25
- package/dist/matter/matterErrorHandler.d.ts.map +1 -1
- package/dist/matter/matterErrorHandler.js +89 -99
- package/dist/matter/matterErrorHandler.js.map +1 -1
- package/dist/matter/matterServer.d.ts +125 -39
- package/dist/matter/matterServer.d.ts.map +1 -1
- package/dist/matter/matterServer.js +463 -223
- package/dist/matter/matterServer.js.map +1 -1
- package/dist/matter/matterSharedTypes.d.ts +1 -21
- package/dist/matter/matterSharedTypes.d.ts.map +1 -1
- package/dist/matter/matterSharedTypes.js +0 -4
- package/dist/matter/matterSharedTypes.js.map +1 -1
- package/dist/matter/matterStorage.d.ts +112 -0
- package/dist/matter/matterStorage.d.ts.map +1 -0
- package/dist/matter/matterStorage.js +355 -0
- package/dist/matter/matterStorage.js.map +1 -0
- package/dist/matter/matterTypes.d.ts +148 -20
- package/dist/matter/matterTypes.d.ts.map +1 -1
- package/dist/matter/matterTypes.js +91 -263
- package/dist/matter/matterTypes.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +4 -2
- package/dist/plugin.js.map +1 -1
- package/dist/server.d.ts +12 -4
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +310 -332
- package/dist/server.js.map +1 -1
- package/dist/user.d.ts +1 -0
- package/dist/user.d.ts.map +1 -1
- package/dist/user.js +3 -0
- package/dist/user.js.map +1 -1
- package/package.json +4 -5
- package/dist/childMatterBridgeFork.d.ts +0 -108
- package/dist/childMatterBridgeFork.d.ts.map +0 -1
- package/dist/childMatterBridgeFork.js +0 -330
- package/dist/childMatterBridgeFork.js.map +0 -1
- package/dist/childMatterBridgeService.d.ts +0 -166
- package/dist/childMatterBridgeService.d.ts.map +0 -1
- package/dist/childMatterBridgeService.js +0 -623
- package/dist/childMatterBridgeService.js.map +0 -1
- package/dist/matter/matterBridge.d.ts +0 -64
- package/dist/matter/matterBridge.d.ts.map +0 -1
- package/dist/matter/matterBridge.js +0 -154
- package/dist/matter/matterBridge.js.map +0 -1
- package/dist/matter/matterDevice.d.ts +0 -107
- package/dist/matter/matterDevice.d.ts.map +0 -1
- package/dist/matter/matterDevice.js +0 -913
- package/dist/matter/matterDevice.js.map +0 -1
- package/dist/matter/portAllocator.d.ts +0 -85
- package/dist/matter/portAllocator.d.ts.map +0 -1
- package/dist/matter/portAllocator.js +0 -296
- package/dist/matter/portAllocator.js.map +0 -1
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter Bridge Implementation
|
|
3
|
-
*
|
|
4
|
-
* Main interface for Homebridge to interact with Matter.js
|
|
5
|
-
* Manages the Matter server and device lifecycle
|
|
6
|
-
*/
|
|
7
|
-
import { PlatformAccessory } from '../platformAccessory.js';
|
|
8
|
-
import { MatterDevice } from './matterDevice.js';
|
|
9
|
-
import { MatterServerConfig } from './matterServer.js';
|
|
10
|
-
/**
|
|
11
|
-
* Main Matter bridge class that manages the Matter integration
|
|
12
|
-
*/
|
|
13
|
-
export declare class MatterBridge {
|
|
14
|
-
private matterServer;
|
|
15
|
-
private isInitialized;
|
|
16
|
-
constructor(config?: MatterServerConfig);
|
|
17
|
-
/**
|
|
18
|
-
* Initialize and start the Matter server
|
|
19
|
-
*/
|
|
20
|
-
initialize(): Promise<void>;
|
|
21
|
-
/**
|
|
22
|
-
* Add a HAP accessory to the Matter bridge
|
|
23
|
-
*/
|
|
24
|
-
createBridgedEndpoint(accessory: PlatformAccessory): Promise<MatterDevice | null>;
|
|
25
|
-
/**
|
|
26
|
-
* Remove a bridged accessory from Matter
|
|
27
|
-
*/
|
|
28
|
-
removeBridgedEndpoint(accessory: PlatformAccessory): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* Get Matter server information
|
|
31
|
-
*/
|
|
32
|
-
getServerInfo(): any;
|
|
33
|
-
/**
|
|
34
|
-
* Get all bridged devices
|
|
35
|
-
*/
|
|
36
|
-
getBridgedEndpoints(): Map<string, MatterDevice>;
|
|
37
|
-
/**
|
|
38
|
-
* Check if using real Matter implementation
|
|
39
|
-
*/
|
|
40
|
-
isUsingRealMatter(): boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Get the port the Matter server is running on
|
|
43
|
-
*/
|
|
44
|
-
getPort(): number;
|
|
45
|
-
/**
|
|
46
|
-
* Check if the Matter bridge is commissioned
|
|
47
|
-
*/
|
|
48
|
-
isCommissioned(): boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Get commissioning information for the Matter bridge
|
|
51
|
-
*/
|
|
52
|
-
getCommissioningInfo(): {
|
|
53
|
-
qrCode?: string;
|
|
54
|
-
manualPairingCode?: string;
|
|
55
|
-
passcode?: number;
|
|
56
|
-
discriminator?: number;
|
|
57
|
-
commissioned: boolean;
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* Clean up and stop the Matter bridge
|
|
61
|
-
*/
|
|
62
|
-
cleanup(): Promise<void>;
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=matterBridge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matterBridge.d.ts","sourceRoot":"","sources":["../../src/matter/matterBridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAgB,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAIpE;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,aAAa,CAAQ;gBAEjB,MAAM,GAAE,kBAAuB;IAK3C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BjC;;OAEG;IACG,qBAAqB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAqBvF;;OAEG;IACG,qBAAqB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE;;OAEG;IACH,aAAa,IAAI,GAAG;IAcpB;;OAEG;IACH,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAQhD;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;OAEG;IACH,OAAO,IAAI,MAAM;IAOjB;;OAEG;IACH,cAAc,IAAI,OAAO;IAOzB;;OAEG;IACH,oBAAoB,IAAI;QACtB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,EAAE,OAAO,CAAA;KACtB;IASD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAY/B"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter Bridge Implementation
|
|
3
|
-
*
|
|
4
|
-
* Main interface for Homebridge to interact with Matter.js
|
|
5
|
-
* Manages the Matter server and device lifecycle
|
|
6
|
-
*/
|
|
7
|
-
import { Logger } from '../logger.js';
|
|
8
|
-
import { MatterServer } from './matterServer.js';
|
|
9
|
-
const log = Logger.withPrefix('Matter');
|
|
10
|
-
/**
|
|
11
|
-
* Main Matter bridge class that manages the Matter integration
|
|
12
|
-
*/
|
|
13
|
-
export class MatterBridge {
|
|
14
|
-
matterServer = null;
|
|
15
|
-
isInitialized = false;
|
|
16
|
-
constructor(config = {}) {
|
|
17
|
-
// Create Matter server with provided config
|
|
18
|
-
this.matterServer = new MatterServer(config);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Initialize and start the Matter server
|
|
22
|
-
*/
|
|
23
|
-
async initialize() {
|
|
24
|
-
if (this.isInitialized) {
|
|
25
|
-
log.warn('Matter bridge already initialized');
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
if (!this.matterServer) {
|
|
29
|
-
throw new Error('Matter server not created');
|
|
30
|
-
}
|
|
31
|
-
try {
|
|
32
|
-
log.info('Initializing Matter bridge...');
|
|
33
|
-
// Start the Matter server
|
|
34
|
-
await this.matterServer.start();
|
|
35
|
-
this.isInitialized = true;
|
|
36
|
-
const info = this.matterServer.getInfo();
|
|
37
|
-
log.info(`Matter bridge initialized on port ${info.port}`);
|
|
38
|
-
log.info('Homebridge is now ready to bridge accessories to Matter');
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
log.error('Failed to initialize Matter bridge:', error);
|
|
42
|
-
throw error;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Add a HAP accessory to the Matter bridge
|
|
47
|
-
*/
|
|
48
|
-
async createBridgedEndpoint(accessory) {
|
|
49
|
-
if (!this.isInitialized || !this.matterServer) {
|
|
50
|
-
log.error('Matter bridge not initialized');
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
try {
|
|
54
|
-
// Add accessory to Matter server
|
|
55
|
-
const device = await this.matterServer.addAccessory(accessory);
|
|
56
|
-
if (device) {
|
|
57
|
-
log.info(`Successfully bridged ${accessory.displayName} to Matter`);
|
|
58
|
-
}
|
|
59
|
-
return device;
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
log.error(`Failed to bridge accessory ${accessory.displayName}:`, error);
|
|
63
|
-
return null;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Remove a bridged accessory from Matter
|
|
68
|
-
*/
|
|
69
|
-
async removeBridgedEndpoint(accessory) {
|
|
70
|
-
if (!this.isInitialized || !this.matterServer) {
|
|
71
|
-
log.error('Matter bridge not initialized');
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
try {
|
|
75
|
-
await this.matterServer.removeAccessory(accessory);
|
|
76
|
-
log.info(`Removed ${accessory.displayName} from Matter bridge`);
|
|
77
|
-
}
|
|
78
|
-
catch (error) {
|
|
79
|
-
log.error(`Failed to remove accessory ${accessory.displayName}:`, error);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Get Matter server information
|
|
84
|
-
*/
|
|
85
|
-
getServerInfo() {
|
|
86
|
-
if (!this.matterServer) {
|
|
87
|
-
return {
|
|
88
|
-
running: false,
|
|
89
|
-
initialized: false,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
return {
|
|
93
|
-
initialized: this.isInitialized,
|
|
94
|
-
...this.matterServer.getInfo(),
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Get all bridged devices
|
|
99
|
-
*/
|
|
100
|
-
getBridgedEndpoints() {
|
|
101
|
-
if (!this.matterServer) {
|
|
102
|
-
return new Map();
|
|
103
|
-
}
|
|
104
|
-
return this.matterServer.getDevices();
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Check if using real Matter implementation
|
|
108
|
-
*/
|
|
109
|
-
isUsingRealMatter() {
|
|
110
|
-
return true; // This is the real implementation
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Get the port the Matter server is running on
|
|
114
|
-
*/
|
|
115
|
-
getPort() {
|
|
116
|
-
if (!this.matterServer) {
|
|
117
|
-
return 0;
|
|
118
|
-
}
|
|
119
|
-
return this.matterServer.getInfo().port;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Check if the Matter bridge is commissioned
|
|
123
|
-
*/
|
|
124
|
-
isCommissioned() {
|
|
125
|
-
if (!this.matterServer) {
|
|
126
|
-
return false;
|
|
127
|
-
}
|
|
128
|
-
return this.matterServer.isCommissioned();
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Get commissioning information for the Matter bridge
|
|
132
|
-
*/
|
|
133
|
-
getCommissioningInfo() {
|
|
134
|
-
if (!this.matterServer) {
|
|
135
|
-
return {
|
|
136
|
-
commissioned: false,
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
return this.matterServer.getCommissioningInfo();
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Clean up and stop the Matter bridge
|
|
143
|
-
*/
|
|
144
|
-
async cleanup() {
|
|
145
|
-
log.info('Cleaning up Matter bridge...');
|
|
146
|
-
if (this.matterServer) {
|
|
147
|
-
await this.matterServer.stop();
|
|
148
|
-
}
|
|
149
|
-
this.isInitialized = false;
|
|
150
|
-
this.matterServer = null;
|
|
151
|
-
log.info('Matter bridge cleanup completed');
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
//# sourceMappingURL=matterBridge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matterBridge.js","sourceRoot":"","sources":["../../src/matter/matterBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter Device Implementation
|
|
3
|
-
*
|
|
4
|
-
* Handles creation of individual Matter devices from HAP accessories
|
|
5
|
-
* with proper Matter.js integration and type safety
|
|
6
|
-
*/
|
|
7
|
-
import { Endpoint } from '@matter/main';
|
|
8
|
-
import { PlatformAccessory } from '../platformAccessory.js';
|
|
9
|
-
/**
|
|
10
|
-
* Represents a single Matter device created from a HAP accessory
|
|
11
|
-
*/
|
|
12
|
-
export declare class MatterDevice {
|
|
13
|
-
private accessory;
|
|
14
|
-
private endpoint;
|
|
15
|
-
private typedEndpoint;
|
|
16
|
-
private deviceType;
|
|
17
|
-
private primaryService;
|
|
18
|
-
private readonly characteristicSubscriptions;
|
|
19
|
-
private readonly cleanupCallbacks;
|
|
20
|
-
private isDestroyed;
|
|
21
|
-
constructor(accessory: PlatformAccessory);
|
|
22
|
-
/**
|
|
23
|
-
* Get the HAP accessory
|
|
24
|
-
*/
|
|
25
|
-
getAccessory(): PlatformAccessory;
|
|
26
|
-
/**
|
|
27
|
-
* Identify the primary service from the accessory
|
|
28
|
-
*/
|
|
29
|
-
private identifyPrimaryService;
|
|
30
|
-
/**
|
|
31
|
-
* Determine the Matter device type based on HAP service
|
|
32
|
-
*/
|
|
33
|
-
private getMatterDeviceType;
|
|
34
|
-
/**
|
|
35
|
-
* Create Matter endpoint from HAP accessory
|
|
36
|
-
*/
|
|
37
|
-
createEndpoint(): Promise<Endpoint | null>;
|
|
38
|
-
/**
|
|
39
|
-
* Parse version string to number (major version only)
|
|
40
|
-
*/
|
|
41
|
-
private parseVersion;
|
|
42
|
-
/**
|
|
43
|
-
* Get AccessoryInformation values from HAP accessory
|
|
44
|
-
*/
|
|
45
|
-
private getAccessoryInformation;
|
|
46
|
-
/**
|
|
47
|
-
* Create the specific Matter endpoint with proper type
|
|
48
|
-
*/
|
|
49
|
-
private createMatterEndpoint;
|
|
50
|
-
/**
|
|
51
|
-
* Set initial endpoint state based on HAP values
|
|
52
|
-
*/
|
|
53
|
-
private setInitialEndpointState;
|
|
54
|
-
/**
|
|
55
|
-
* Initialize Matter endpoint from HAP values
|
|
56
|
-
*/
|
|
57
|
-
private initializeFromHAP;
|
|
58
|
-
/**
|
|
59
|
-
* Start bidirectional sync between HAP and Matter
|
|
60
|
-
*/
|
|
61
|
-
startSync(): void;
|
|
62
|
-
/**
|
|
63
|
-
* Create HAP change handler for a characteristic
|
|
64
|
-
*/
|
|
65
|
-
private createHAPChangeHandler;
|
|
66
|
-
/**
|
|
67
|
-
* Update Matter state from HAP change
|
|
68
|
-
*/
|
|
69
|
-
private updateMatterFromHAP;
|
|
70
|
-
/**
|
|
71
|
-
* Stop synchronization
|
|
72
|
-
*/
|
|
73
|
-
stopSync(): void;
|
|
74
|
-
/**
|
|
75
|
-
* Get the primary service from accessory
|
|
76
|
-
*/
|
|
77
|
-
private getPrimaryService;
|
|
78
|
-
/**
|
|
79
|
-
* Get HAP characteristic value
|
|
80
|
-
*/
|
|
81
|
-
private getHAPValue;
|
|
82
|
-
/**
|
|
83
|
-
* Get HAP characteristic by type
|
|
84
|
-
*/
|
|
85
|
-
private getHAPCharacteristic;
|
|
86
|
-
/**
|
|
87
|
-
* Convert Kelvin to Mireds
|
|
88
|
-
*/
|
|
89
|
-
private kelvinToMireds;
|
|
90
|
-
/**
|
|
91
|
-
* Convert Mireds to Kelvin
|
|
92
|
-
*/
|
|
93
|
-
private miredsToKelvin;
|
|
94
|
-
/**
|
|
95
|
-
* Get the device type
|
|
96
|
-
*/
|
|
97
|
-
getDeviceType(): string | null;
|
|
98
|
-
/**
|
|
99
|
-
* Get the Matter endpoint
|
|
100
|
-
*/
|
|
101
|
-
getEndpoint(): Promise<Endpoint | null>;
|
|
102
|
-
/**
|
|
103
|
-
* Clean up the device
|
|
104
|
-
*/
|
|
105
|
-
destroy(): Promise<void>;
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=matterDevice.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matterDevice.d.ts","sourceRoot":"","sources":["../../src/matter/matterDevice.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAgB,MAAM,cAAc,CAAA;AA0BrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AA0I3D;;GAEG;AACH,qBAAa,YAAY;IASX,OAAO,CAAC,SAAS;IAR7B,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAyB;IACrE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwC;IACzE,OAAO,CAAC,WAAW,CAAQ;gBAEP,SAAS,EAAE,iBAAiB;IAKhD;;OAEG;IACH,YAAY,IAAI,iBAAiB;IAIjC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsS3B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA8ChD;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiE/B;;OAEG;YACW,oBAAoB;IAwDlC;;OAEG;YACW,uBAAuB;IAsLrC;;OAEG;YACW,iBAAiB;IAU/B;;OAEG;IACH,SAAS,IAAI,IAAI;IA8CjB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;YACW,mBAAmB;IAwEjC;;OAEG;IACH,QAAQ,IAAI,IAAI;IA8BhB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAI7C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAkB/B"}
|