@autorunify/capacitor-nrfmesh 0.0.2 → 0.0.4

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 CHANGED
@@ -44,6 +44,7 @@ npx cap sync
44
44
  * [`node(...)`](#node)
45
45
  * [`model(...)`](#model)
46
46
  * [`init()`](#init)
47
+ * [`kill()`](#kill)
47
48
  * [`devices(...)`](#devices)
48
49
  * [`identify(...)`](#identify)
49
50
  * [`provision(...)`](#provision)
@@ -286,6 +287,15 @@ init() => Promise<any>
286
287
  --------------------
287
288
 
288
289
 
290
+ ### kill()
291
+
292
+ ```typescript
293
+ kill() => Promise<void>
294
+ ```
295
+
296
+ --------------------
297
+
298
+
289
299
  ### devices(...)
290
300
 
291
301
  ```typescript
@@ -24,7 +24,7 @@ apply plugin: 'org.jetbrains.kotlin.android'
24
24
 
25
25
  android {
26
26
  namespace = "com.autorunify.capacitor.nrfmesh"
27
- compileSdk = project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 36
27
+ compileSdkVersion project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 36
28
28
  defaultConfig {
29
29
  minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 24
30
30
  targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 36
@@ -114,6 +114,7 @@ class BleManager {
114
114
  ble.devices.add(device)
115
115
  } else if (_device.provisioned) {
116
116
  ble.devices.remove(_device)
117
+ } else {
117
118
  }
118
119
  }
119
120
  } else if (uuid == MeshManagerApi.MESH_PROXY_UUID) {
@@ -137,6 +138,7 @@ class BleManager {
137
138
  ble.devices.add(device)
138
139
  } else if (!_device.provisioned) {
139
140
  ble.devices.remove(_device)
141
+ } else {
140
142
  }
141
143
  }
142
144
  }
@@ -159,6 +161,7 @@ class BleManager {
159
161
  private val notify: NrfMeshPlugin
160
162
  private val mesh: MeshManager
161
163
  private val async: AsyncManager
164
+ private lateinit var context: Context
162
165
 
163
166
  private lateinit var adapter: BluetoothAdapter
164
167
  private lateinit var stateReceiver: StateReceiver
@@ -185,27 +188,17 @@ class BleManager {
185
188
 
186
189
  val manager = context.getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager
187
190
  this.adapter = manager.adapter
188
- }
191
+ this.context = context
189
192
 
190
- fun handleOnStart(context: Context) {
191
193
  this.stateReceiver = StateReceiver(this)
192
194
  this.scanReceiver = ScanReceiver(this)
195
+ }
193
196
 
197
+ fun handleOnStart(context: Context) {
194
198
 
195
- val filter = IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED)
196
- filter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED)
197
- filter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED)
198
-
199
- context.registerReceiver(this.stateReceiver, filter)
200
199
  }
201
200
 
202
201
  fun handleOnStop(context: Context) {
203
- try {
204
- context.unregisterReceiver(this.stateReceiver)
205
- } catch (e: IllegalArgumentException) {
206
-
207
- }
208
-
209
202
  this.scan(false)
210
203
 
211
204
  if (isConnected.value!!) {
@@ -247,6 +240,15 @@ class BleManager {
247
240
 
248
241
  fun scan(startScan: Boolean) {
249
242
  if (startScan) {
243
+ try {
244
+ val filter = IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED)
245
+ filter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED)
246
+ filter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED)
247
+ context.registerReceiver(this.stateReceiver, filter)
248
+ } catch (ex: Exception) {
249
+ }
250
+
251
+
250
252
  val settings = ScanSettings.Builder()
251
253
  .setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
252
254
  .setReportDelay(0)
@@ -274,6 +276,11 @@ class BleManager {
274
276
  synchronized(this) {
275
277
  if (!isScanning) return
276
278
  isScanning = false
279
+ try {
280
+ context.unregisterReceiver(this.stateReceiver)
281
+ } catch (ex: Exception) {
282
+ }
283
+
277
284
 
278
285
  val scanner = BluetoothLeScannerCompat.getScanner()
279
286
  scanner.stopScan(scanReceiver)
@@ -47,7 +47,6 @@ import no.nordicsemi.android.mesh.opcodes.ConfigMessageOpCodes.CONFIG_NETWORK_TR
47
47
  import no.nordicsemi.android.mesh.opcodes.ConfigMessageOpCodes.CONFIG_NETWORK_TRANSMIT_SET
48
48
  import no.nordicsemi.android.mesh.opcodes.ConfigMessageOpCodes.CONFIG_SIG_MODEL_APP_GET
49
49
  import no.nordicsemi.android.mesh.opcodes.ConfigMessageOpCodes.CONFIG_VENDOR_MODEL_APP_GET
50
- import no.nordicsemi.android.mesh.sensorutils.DeviceProperty
51
50
  import no.nordicsemi.android.mesh.transport.ConfigAppKeyAdd
52
51
  import no.nordicsemi.android.mesh.transport.ConfigAppKeyDelete
53
52
  import no.nordicsemi.android.mesh.transport.ConfigAppKeyGet
@@ -69,8 +68,6 @@ import no.nordicsemi.android.mesh.transport.ConfigSigModelAppGet
69
68
  import no.nordicsemi.android.mesh.transport.ConfigVendorModelAppGet
70
69
  import no.nordicsemi.android.mesh.transport.GenericOnOffGet
71
70
  import no.nordicsemi.android.mesh.transport.GenericOnOffSet
72
- import no.nordicsemi.android.mesh.transport.SensorSettingGet
73
- import no.nordicsemi.android.mesh.transport.SensorSettingsGet
74
71
  import java.util.UUID
75
72
  import kotlin.random.Random
76
73
 
@@ -448,12 +445,31 @@ class NrfMeshPlugin : Plugin {
448
445
  if (!this.ble.assertAdapter(call)) return
449
446
  if (!this.ble.assertEnabled(call)) return
450
447
 
451
- try {
452
- async.on(call, MESH_NETWORK_INIT)
453
- ble.scan(true)
454
- mesh.init()
455
- } catch (ex: Exception) {
456
- call.reject(ex.message)
448
+ CoroutineScope(Dispatchers.Default).launch {
449
+ try {
450
+ async.on(call, MESH_NETWORK_INIT)
451
+ ble.scan(true)
452
+ mesh.init()
453
+ } catch (ex: Exception) {
454
+ call.reject(ex.message)
455
+ }
456
+ }
457
+ }
458
+
459
+ @PluginMethod
460
+ fun kill(call: PluginCall) {
461
+ if (!this.ble.assertFeature(call)) return
462
+ if (!this.ble.assertAdapter(call)) return
463
+ if (!this.ble.assertEnabled(call)) return
464
+
465
+ CoroutineScope(Dispatchers.Default).launch {
466
+ try {
467
+ ble.disconnect()
468
+ ble.scan(false)
469
+ call.resolve()
470
+ } catch (ex: Exception) {
471
+ call.reject(ex.message)
472
+ }
457
473
  }
458
474
  }
459
475
 
package/dist/docs.json CHANGED
@@ -275,6 +275,16 @@
275
275
  "complexTypes": [],
276
276
  "slug": "init"
277
277
  },
278
+ {
279
+ "name": "kill",
280
+ "signature": "() => Promise<void>",
281
+ "parameters": [],
282
+ "returns": "Promise<void>",
283
+ "tags": [],
284
+ "docs": "",
285
+ "complexTypes": [],
286
+ "slug": "kill"
287
+ },
278
288
  {
279
289
  "name": "devices",
280
290
  "signature": "(options?: ScanOptions | undefined) => Promise<ScanResults>",
@@ -333,6 +333,7 @@ export interface NrfMeshPlugin {
333
333
  node(options: NodeOptions): Promise<NodeResults>;
334
334
  model(options: ModelOptions): Promise<ModelResults>;
335
335
  init(): Promise<any>;
336
+ kill(): Promise<void>;
336
337
  devices(options?: ScanOptions): Promise<ScanResults>;
337
338
  identify(options: IdentifyOptions): Promise<IdentifyResults>;
338
339
  provision(options: ProvisionOptions): Promise<ProvisionResults>;
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core'\n\ntype PartialAny<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\n\nexport type PermissionState = 'denied' | 'granted'\n\nexport type PermissionKey =\n \"android.permission.BLUETOOTH\" |\n \"android.permission.BLUETOOTH_ADMIN\" |\n \"android.permission.ACCESS_COARSE_LOCATION\" |\n \"android.permission.ACCESS_FINE_LOCATION\" |\n \"android.permission.BLUETOOTH_SCAN\" |\n \"android.permission.BLUETOOTH_CONNECT\"\n\n\nexport type Permissions = {\n [key in PermissionKey]: PermissionState;\n}\n\nexport interface BluetoothState {\n enabled: boolean;\n}\n\nexport interface TimeoutOptions {\n timeout?: number\n}\n\nexport interface ConnectionState {\n connected: boolean\n}\n\nexport interface NetKey {\n index: number;\n key: string;\n minSecurity: string;\n name: string;\n phase: number;\n timestamp: string;\n oldKey?: string;\n}\n\nexport interface AppKey {\n index: number\n boundNetKey: number\n key: string\n name: string\n}\n\nexport interface MeshGroup {\n name: string\n address: number\n addressHex: string\n}\n\nexport interface MeshNode {\n name: string\n deviceKey: string\n unicastAddress: number\n security: string\n ttl: number\n netkeys: Array<{ index: number, updated: boolean }>\n appkeys: Array<{ index: number, updated: boolean }>\n elements: Array<{\n name: string\n elementAddress: number\n models: Array<{\n modelId: number\n appkeys: Array<number>\n subscriptions: Array<number>\n publication?: number\n }>\n }>\n features?: {\n friend: number\n lowPower: number\n proxy: number\n relay: number\n }\n networkTransmit?: {\n count: number\n interval: number\n steps: number\n }\n}\n\nexport interface OnOffModel {\n state: boolean\n}\n\nexport interface SensorRawValue {\n propertyId: number\n bytes: Array<number>\n}\n\nexport interface SensorModel {\n values: Array<SensorRawValue>\n}\n\nexport interface SensorPropertiesModel {\n properties: Array<Omit<SensorRawValue, 'bytes'>>\n}\n\nexport interface NetKeysResults {\n netkeys: Array<NetKey>\n}\n\nexport interface NetKeyOptions {\n add?: Omit<NetKey, 'index' | 'key' | 'minSecurity' | 'name' | 'phase' | 'timestamp' | 'oldKey'>\n del?: Omit<NetKey, 'key' | 'minSecurity' | 'name' | 'phase' | 'timestamp' | 'oldKey'>\n get?: Omit<NetKey, 'key' | 'minSecurity' | 'name' | 'phase' | 'timestamp' | 'oldKey'>\n}\n\nexport interface AppKeysOptions {\n boundNetKey: number\n}\n\nexport interface AppKeysResults {\n appkeys: Array<AppKey>\n}\n\nexport interface AppKeyOptions {\n add?: Partial<Omit<AppKey, 'index' | 'key' | 'name'>>\n del?: Omit<AppKey, 'boundNetKey' | 'key' | 'name'>\n get?: Omit<AppKey, 'boundNetKey' | 'key' | 'name'>\n}\n\nexport interface GroupsResults {\n groups: Array<MeshGroup>\n}\n\nexport interface GroupOptions {\n add?: Omit<MeshGroup, 'name' | 'addressHex'>\n del?: Omit<MeshGroup, 'name' | 'addressHex'>\n get?: Omit<MeshGroup, 'name' | 'addressHex'>\n}\n\nexport interface NodesResults {\n nodes: Array<MeshNode>\n}\n\nexport interface NodeDefaultTTL {\n ttl: number;\n}\n\nexport interface NodeNetworkTransmit {\n count: number\n intervalSteps: number\n}\n\nexport interface NodeNetkey {\n netkeyIndex: number\n}\n\nexport interface NodeNetkeys {\n netkeyIndexes: Array<number>\n}\n\nexport interface NodeAppkey {\n netkeyIndex: number\n appkeyIndex: number\n}\n\nexport interface NodeAppkeys {\n netkeyIndex: number\n appkeyIndexes: Array<number>\n}\n\nexport interface ModelAppkey {\n elementAddress: number;\n modelId: number;\n appkeyIndex: number;\n}\n\nexport interface ModelAppkeys {\n elementAddress: number;\n modelId: number;\n appkeyIndexs: Array<number>;\n}\n\nexport interface HeartbeatPub {\n address: number\n count: number\n period: number\n ttl: number\n netkeyIndex: number\n features: {\n friend: number\n proxy: number\n relay: number\n lowPower: number\n }\n}\n\nexport interface HeartbeatSub {\n srcAddress: number\n dstAddress: number\n period: number\n count: number\n minHops: number\n maxHops: number\n}\n\nexport interface NodeOptions extends TimeoutOptions {\n unicastAddress: number\n get?: Object\n defaultTTL?: { set?: NodeDefaultTTL }\n networkTransmit?: { set?: NodeNetworkTransmit }\n netkey?: {\n add?: NodeNetkey\n del?: NodeNetkey\n get?: Omit<NodeNetkeys, 'netkeyIndexes'>\n }\n appkey?: {\n add?: Omit<NodeAppkey, 'netkeyIndex'>\n del?: Omit<NodeAppkey, 'netkeyIndex'>\n get?: Partial<Omit<NodeAppkeys, 'appkeyIndexes'>>\n },\n heartbeat?: {\n pub?: { set?: PartialAny<Omit<HeartbeatPub, 'features'>, 'address' | 'count' | 'netkeyIndex'> }\n sub?: { set?: Omit<HeartbeatSub, 'count' | 'minHops' | 'maxHops'> }\n },\n bind?: {\n add?: ModelAppkey\n del?: ModelAppkey\n get?: Omit<ModelAppkeys, \"appkeyIndexs\">\n }\n}\n\nexport interface NodeResults {\n get?: MeshNode\n defaultTTL?: NodeDefaultTTL\n networkTransmit?: NodeNetworkTransmit\n netkey?: {\n add?: NodeNetkey\n del?: NodeNetkey\n get?: NodeNetkeys\n }\n appkey?: {\n add?: NodeAppkey\n del?: NodeAppkey\n get?: NodeAppkeys\n },\n heartbeat?: {\n pub?: HeartbeatPub\n sub?: HeartbeatSub\n },\n bind?: {\n add?: ModelAppkey\n del?: ModelAppkey\n get?: ModelAppkeys\n }\n}\n\nexport interface ModelOptions extends TimeoutOptions {\n elementAddress: number\n appkeyIndex: number\n onoff?: {\n set?: OnOffModel\n },\n sensor?: {\n propertyId: number\n get?: Omit<SensorModel, 'values'>\n property?: PartialAny<SensorRawValue, 'bytes'>\n properties?: SensorPropertiesModel\n }\n}\n\nexport interface ModelResults {\n onoff?: OnOffModel,\n sensor?: {\n get?: SensorModel\n property?: SensorRawValue\n properties?: SensorPropertiesModel\n }\n}\n\nexport interface MeshDevice {\n address: string\n name: string\n provisioned: boolean\n rssi: number\n uuid?: string\n}\n\nexport interface ScanOptions extends TimeoutOptions {\n filter?: 'all' | 'provisioned' | 'unprovisioned'\n}\n\nexport interface ScanResults {\n devices: Array<MeshDevice>\n}\n\nexport interface IdentifyOptions extends TimeoutOptions {\n address: string;\n uuid: string;\n}\n\nexport interface IdentifyResults {\n numberOfElements: number;\n availableOOBTypes: Array<string>;\n algorithms: number;\n publicKeyType: number;\n staticOobTypes: number;\n outputOobSize: number;\n outputOobActions: number;\n inputOobSize: number;\n inputOobActions: number;\n}\n\nexport interface ProvisionOptions extends TimeoutOptions {\n address: string;\n uuid: string;\n}\n\nexport interface ProvisionResults {\n completed: boolean;\n uuid: string;\n unicastAddress?: number;\n}\n\nexport interface CompositionOptions extends TimeoutOptions {\n unicastAddress: number\n}\n\nexport interface CompositionResults {\n companyIdentifier: string;\n productIdentifier: string;\n productVersion: string;\n nodeFeaturesSupported: {\n relay: boolean;\n proxy: boolean;\n friend: boolean;\n lowPower: boolean;\n };\n elements: Array<{\n name: string;\n elementAddress: number;\n sigModelCount: number;\n vendorModelCount: number;\n location: number;\n models: Array<{\n modelId: number;\n modelName: string;\n boundAppKeyIndexes: Array<number>;\n }>;\n }>;\n}\n\nexport interface OnStateChangeEvent {\n action: 'enabled' | 'connected'\n state: boolean\n}\n\nexport interface OnNodeChangeEvent {\n action: 'del' | 'add' | 'heartbeat'\n unicastAddress: number\n}\n\nexport interface NrfMeshPlugin {\n checkPermissions(): Promise<Permissions>;\n requestPermissions(): Promise<Permissions>;\n isBluetoothEnabled(): Promise<BluetoothState>;\n\n isConnected(): Promise<ConnectionState>;\n connect(options?: TimeoutOptions): Promise<void>;\n disconnect(options?: TimeoutOptions): Promise<void>;\n\n export(): Promise<any>\n import(options: any): Promise<void>\n\n netkeys(): Promise<NetKeysResults>\n netkey(options: NetKeyOptions): Promise<NetKey>\n\n appkeys(options?: AppKeysOptions): Promise<AppKeysResults>\n appkey(options: AppKeyOptions): Promise<AppKey>\n\n groups(): Promise<GroupsResults>\n group(options: GroupOptions): Promise<MeshGroup>\n\n nodes(): Promise<NodesResults>\n node(options: NodeOptions): Promise<NodeResults>\n\n model(options: ModelOptions): Promise<ModelResults>\n\n init(): Promise<any>;\n devices(options?: ScanOptions): Promise<ScanResults>;\n identify(options: IdentifyOptions): Promise<IdentifyResults>;\n provision(options: ProvisionOptions): Promise<ProvisionResults>;\n composition(options: CompositionOptions): Promise<CompositionResults>;\n\n addListener(\n event: 'state',\n callback: (e: OnStateChangeEvent) => void,\n ): Promise<PluginListenerHandle>;\n addListener(\n event: 'node',\n callback: (e: OnNodeChangeEvent) => void,\n ): Promise<PluginListenerHandle>;\n}\n"]}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core'\n\ntype PartialAny<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\n\nexport type PermissionState = 'denied' | 'granted'\n\nexport type PermissionKey =\n \"android.permission.BLUETOOTH\" |\n \"android.permission.BLUETOOTH_ADMIN\" |\n \"android.permission.ACCESS_COARSE_LOCATION\" |\n \"android.permission.ACCESS_FINE_LOCATION\" |\n \"android.permission.BLUETOOTH_SCAN\" |\n \"android.permission.BLUETOOTH_CONNECT\"\n\n\nexport type Permissions = {\n [key in PermissionKey]: PermissionState;\n}\n\nexport interface BluetoothState {\n enabled: boolean;\n}\n\nexport interface TimeoutOptions {\n timeout?: number\n}\n\nexport interface ConnectionState {\n connected: boolean\n}\n\nexport interface NetKey {\n index: number;\n key: string;\n minSecurity: string;\n name: string;\n phase: number;\n timestamp: string;\n oldKey?: string;\n}\n\nexport interface AppKey {\n index: number\n boundNetKey: number\n key: string\n name: string\n}\n\nexport interface MeshGroup {\n name: string\n address: number\n addressHex: string\n}\n\nexport interface MeshNode {\n name: string\n deviceKey: string\n unicastAddress: number\n security: string\n ttl: number\n netkeys: Array<{ index: number, updated: boolean }>\n appkeys: Array<{ index: number, updated: boolean }>\n elements: Array<{\n name: string\n elementAddress: number\n models: Array<{\n modelId: number\n appkeys: Array<number>\n subscriptions: Array<number>\n publication?: number\n }>\n }>\n features?: {\n friend: number\n lowPower: number\n proxy: number\n relay: number\n }\n networkTransmit?: {\n count: number\n interval: number\n steps: number\n }\n}\n\nexport interface OnOffModel {\n state: boolean\n}\n\nexport interface SensorRawValue {\n propertyId: number\n bytes: Array<number>\n}\n\nexport interface SensorModel {\n values: Array<SensorRawValue>\n}\n\nexport interface SensorPropertiesModel {\n properties: Array<Omit<SensorRawValue, 'bytes'>>\n}\n\nexport interface NetKeysResults {\n netkeys: Array<NetKey>\n}\n\nexport interface NetKeyOptions {\n add?: Omit<NetKey, 'index' | 'key' | 'minSecurity' | 'name' | 'phase' | 'timestamp' | 'oldKey'>\n del?: Omit<NetKey, 'key' | 'minSecurity' | 'name' | 'phase' | 'timestamp' | 'oldKey'>\n get?: Omit<NetKey, 'key' | 'minSecurity' | 'name' | 'phase' | 'timestamp' | 'oldKey'>\n}\n\nexport interface AppKeysOptions {\n boundNetKey: number\n}\n\nexport interface AppKeysResults {\n appkeys: Array<AppKey>\n}\n\nexport interface AppKeyOptions {\n add?: Partial<Omit<AppKey, 'index' | 'key' | 'name'>>\n del?: Omit<AppKey, 'boundNetKey' | 'key' | 'name'>\n get?: Omit<AppKey, 'boundNetKey' | 'key' | 'name'>\n}\n\nexport interface GroupsResults {\n groups: Array<MeshGroup>\n}\n\nexport interface GroupOptions {\n add?: Omit<MeshGroup, 'name' | 'addressHex'>\n del?: Omit<MeshGroup, 'name' | 'addressHex'>\n get?: Omit<MeshGroup, 'name' | 'addressHex'>\n}\n\nexport interface NodesResults {\n nodes: Array<MeshNode>\n}\n\nexport interface NodeDefaultTTL {\n ttl: number;\n}\n\nexport interface NodeNetworkTransmit {\n count: number\n intervalSteps: number\n}\n\nexport interface NodeNetkey {\n netkeyIndex: number\n}\n\nexport interface NodeNetkeys {\n netkeyIndexes: Array<number>\n}\n\nexport interface NodeAppkey {\n netkeyIndex: number\n appkeyIndex: number\n}\n\nexport interface NodeAppkeys {\n netkeyIndex: number\n appkeyIndexes: Array<number>\n}\n\nexport interface ModelAppkey {\n elementAddress: number;\n modelId: number;\n appkeyIndex: number;\n}\n\nexport interface ModelAppkeys {\n elementAddress: number;\n modelId: number;\n appkeyIndexs: Array<number>;\n}\n\nexport interface HeartbeatPub {\n address: number\n count: number\n period: number\n ttl: number\n netkeyIndex: number\n features: {\n friend: number\n proxy: number\n relay: number\n lowPower: number\n }\n}\n\nexport interface HeartbeatSub {\n srcAddress: number\n dstAddress: number\n period: number\n count: number\n minHops: number\n maxHops: number\n}\n\nexport interface NodeOptions extends TimeoutOptions {\n unicastAddress: number\n get?: Object\n defaultTTL?: { set?: NodeDefaultTTL }\n networkTransmit?: { set?: NodeNetworkTransmit }\n netkey?: {\n add?: NodeNetkey\n del?: NodeNetkey\n get?: Omit<NodeNetkeys, 'netkeyIndexes'>\n }\n appkey?: {\n add?: Omit<NodeAppkey, 'netkeyIndex'>\n del?: Omit<NodeAppkey, 'netkeyIndex'>\n get?: Partial<Omit<NodeAppkeys, 'appkeyIndexes'>>\n },\n heartbeat?: {\n pub?: { set?: PartialAny<Omit<HeartbeatPub, 'features'>, 'address' | 'count' | 'netkeyIndex'> }\n sub?: { set?: Omit<HeartbeatSub, 'count' | 'minHops' | 'maxHops'> }\n },\n bind?: {\n add?: ModelAppkey\n del?: ModelAppkey\n get?: Omit<ModelAppkeys, \"appkeyIndexs\">\n }\n}\n\nexport interface NodeResults {\n get?: MeshNode\n defaultTTL?: NodeDefaultTTL\n networkTransmit?: NodeNetworkTransmit\n netkey?: {\n add?: NodeNetkey\n del?: NodeNetkey\n get?: NodeNetkeys\n }\n appkey?: {\n add?: NodeAppkey\n del?: NodeAppkey\n get?: NodeAppkeys\n },\n heartbeat?: {\n pub?: HeartbeatPub\n sub?: HeartbeatSub\n },\n bind?: {\n add?: ModelAppkey\n del?: ModelAppkey\n get?: ModelAppkeys\n }\n}\n\nexport interface ModelOptions extends TimeoutOptions {\n elementAddress: number\n appkeyIndex: number\n onoff?: {\n set?: OnOffModel\n },\n sensor?: {\n propertyId: number\n get?: Omit<SensorModel, 'values'>\n property?: PartialAny<SensorRawValue, 'bytes'>\n properties?: SensorPropertiesModel\n }\n}\n\nexport interface ModelResults {\n onoff?: OnOffModel,\n sensor?: {\n get?: SensorModel\n property?: SensorRawValue\n properties?: SensorPropertiesModel\n }\n}\n\nexport interface MeshDevice {\n address: string\n name: string\n provisioned: boolean\n rssi: number\n uuid?: string\n}\n\nexport interface ScanOptions extends TimeoutOptions {\n filter?: 'all' | 'provisioned' | 'unprovisioned'\n}\n\nexport interface ScanResults {\n devices: Array<MeshDevice>\n}\n\nexport interface IdentifyOptions extends TimeoutOptions {\n address: string;\n uuid: string;\n}\n\nexport interface IdentifyResults {\n numberOfElements: number;\n availableOOBTypes: Array<string>;\n algorithms: number;\n publicKeyType: number;\n staticOobTypes: number;\n outputOobSize: number;\n outputOobActions: number;\n inputOobSize: number;\n inputOobActions: number;\n}\n\nexport interface ProvisionOptions extends TimeoutOptions {\n address: string;\n uuid: string;\n}\n\nexport interface ProvisionResults {\n completed: boolean;\n uuid: string;\n unicastAddress?: number;\n}\n\nexport interface CompositionOptions extends TimeoutOptions {\n unicastAddress: number\n}\n\nexport interface CompositionResults {\n companyIdentifier: string;\n productIdentifier: string;\n productVersion: string;\n nodeFeaturesSupported: {\n relay: boolean;\n proxy: boolean;\n friend: boolean;\n lowPower: boolean;\n };\n elements: Array<{\n name: string;\n elementAddress: number;\n sigModelCount: number;\n vendorModelCount: number;\n location: number;\n models: Array<{\n modelId: number;\n modelName: string;\n boundAppKeyIndexes: Array<number>;\n }>;\n }>;\n}\n\nexport interface OnStateChangeEvent {\n action: 'enabled' | 'connected'\n state: boolean\n}\n\nexport interface OnNodeChangeEvent {\n action: 'del' | 'add' | 'heartbeat'\n unicastAddress: number\n}\n\nexport interface NrfMeshPlugin {\n checkPermissions(): Promise<Permissions>;\n requestPermissions(): Promise<Permissions>;\n isBluetoothEnabled(): Promise<BluetoothState>;\n\n isConnected(): Promise<ConnectionState>;\n connect(options?: TimeoutOptions): Promise<void>;\n disconnect(options?: TimeoutOptions): Promise<void>;\n\n export(): Promise<any>\n import(options: any): Promise<void>\n\n netkeys(): Promise<NetKeysResults>\n netkey(options: NetKeyOptions): Promise<NetKey>\n\n appkeys(options?: AppKeysOptions): Promise<AppKeysResults>\n appkey(options: AppKeyOptions): Promise<AppKey>\n\n groups(): Promise<GroupsResults>\n group(options: GroupOptions): Promise<MeshGroup>\n\n nodes(): Promise<NodesResults>\n node(options: NodeOptions): Promise<NodeResults>\n\n model(options: ModelOptions): Promise<ModelResults>\n\n init(): Promise<any>;\n kill(): Promise<void>\n devices(options?: ScanOptions): Promise<ScanResults>;\n identify(options: IdentifyOptions): Promise<IdentifyResults>;\n provision(options: ProvisionOptions): Promise<ProvisionResults>;\n composition(options: CompositionOptions): Promise<CompositionResults>;\n\n addListener(\n event: 'state',\n callback: (e: OnStateChangeEvent) => void,\n ): Promise<PluginListenerHandle>;\n addListener(\n event: 'node',\n callback: (e: OnNodeChangeEvent) => void,\n ): Promise<PluginListenerHandle>;\n}\n"]}
package/dist/esm/web.d.ts CHANGED
@@ -19,6 +19,7 @@ export declare class NrfMeshWeb extends WebPlugin implements NrfMeshPlugin {
19
19
  node(): Promise<NodeResults>;
20
20
  model(): Promise<ModelResults>;
21
21
  init(): Promise<void>;
22
+ kill(): Promise<void>;
22
23
  devices(): Promise<ScanResults>;
23
24
  identify(): Promise<IdentifyResults>;
24
25
  provision(): Promise<ProvisionResults>;
package/dist/esm/web.js CHANGED
@@ -18,6 +18,7 @@ export class NrfMeshWeb extends WebPlugin {
18
18
  async node() { return {}; }
19
19
  async model() { return {}; }
20
20
  async init() { }
21
+ async kill() { }
21
22
  async devices() { return {}; }
22
23
  async identify() { return {}; }
23
24
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAsB5C,MAAM,OAAO,UAAW,SAAQ,SAAS;IACvC,KAAK,CAAC,gBAAgB,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAC3E,KAAK,CAAC,kBAAkB,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAC7E,KAAK,CAAC,kBAAkB,KAA8B,OAAO,EAAoB,CAAA,CAAC,CAAC;IAEnF,KAAK,CAAC,WAAW,KAA+B,OAAO,EAAqB,CAAA,CAAC,CAAC;IAC9E,KAAK,CAAC,OAAO,KAAoB,CAAC;IAClC,KAAK,CAAC,UAAU,KAAoB,CAAC;IAErC,KAAK,CAAC,MAAM,KAAmB,CAAC;IAChC,KAAK,CAAC,MAAM,KAAoB,CAAC;IAEjC,KAAK,CAAC,OAAO,KAA8B,OAAO,EAAoB,CAAA,CAAC,CAAC;IACxE,KAAK,CAAC,MAAM,KAAsB,OAAO,EAAY,CAAA,CAAC,CAAC;IAEvD,KAAK,CAAC,OAAO,KAA8B,OAAO,EAAoB,CAAA,CAAC,CAAC;IACxE,KAAK,CAAC,MAAM,KAAsB,OAAO,EAAY,CAAA,CAAC,CAAC;IAEvD,KAAK,CAAC,MAAM,KAA6B,OAAO,EAAmB,CAAA,CAAC,CAAC;IACrE,KAAK,CAAC,KAAK,KAAyB,OAAO,EAAe,CAAA,CAAC,CAAC;IAE5D,KAAK,CAAC,KAAK,KAA4B,OAAO,EAAkB,CAAA,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAE/D,KAAK,CAAC,KAAK,KAA4B,OAAO,EAAkB,CAAA,CAAC,CAAC;IAElE,KAAK,CAAC,IAAI,KAAoB,CAAC;IAC/B,KAAK,CAAC,OAAO,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAClE,KAAK,CAAC,QAAQ,KAA+B,OAAO,EAAqB,CAAA,CAAC,CAAC;IAAA,CAAC;IAC5E,KAAK,CAAC,SAAS,KAAgC,OAAO,EAAsB,CAAA,CAAC,CAAC;IAC9E,KAAK,CAAC,WAAW,KAAkC,OAAO,EAAwB,CAAA,CAAC,CAAC;CACrF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type {\n NrfMeshPlugin,\n Permissions,\n BluetoothState,\n ScanResults,\n IdentifyResults,\n ConnectionState,\n ProvisionResults,\n CompositionResults,\n NetKeysResults,\n NetKey,\n AppKeysResults,\n AppKey,\n GroupsResults,\n MeshGroup,\n NodesResults,\n NodeResults,\n ModelResults,\n} from './definitions';\n\nexport class NrfMeshWeb extends WebPlugin implements NrfMeshPlugin {\n async checkPermissions(): Promise<Permissions> { return {} as Permissions }\n async requestPermissions(): Promise<Permissions> { return {} as Permissions }\n async isBluetoothEnabled(): Promise<BluetoothState> { return {} as BluetoothState }\n\n async isConnected(): Promise<ConnectionState> { return {} as ConnectionState }\n async connect(): Promise<void> { }\n async disconnect(): Promise<void> { }\n\n async export(): Promise<any> { }\n async import(): Promise<void> { }\n\n async netkeys(): Promise<NetKeysResults> { return {} as NetKeysResults }\n async netkey(): Promise<NetKey> { return {} as NetKey }\n\n async appkeys(): Promise<AppKeysResults> { return {} as AppKeysResults }\n async appkey(): Promise<AppKey> { return {} as AppKey }\n\n async groups(): Promise<GroupsResults> { return {} as GroupsResults }\n async group(): Promise<MeshGroup> { return {} as MeshGroup }\n\n async nodes(): Promise<NodesResults> { return {} as NodesResults }\n async node(): Promise<NodeResults> { return {} as NodeResults }\n\n async model(): Promise<ModelResults> { return {} as ModelResults }\n\n async init(): Promise<void> { }\n async devices(): Promise<ScanResults> { return {} as ScanResults }\n async identify(): Promise<IdentifyResults> { return {} as IdentifyResults };\n async provision(): Promise<ProvisionResults> { return {} as ProvisionResults }\n async composition(): Promise<CompositionResults> { return {} as CompositionResults }\n}\n"]}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAsB5C,MAAM,OAAO,UAAW,SAAQ,SAAS;IACvC,KAAK,CAAC,gBAAgB,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAC3E,KAAK,CAAC,kBAAkB,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAC7E,KAAK,CAAC,kBAAkB,KAA8B,OAAO,EAAoB,CAAA,CAAC,CAAC;IAEnF,KAAK,CAAC,WAAW,KAA+B,OAAO,EAAqB,CAAA,CAAC,CAAC;IAC9E,KAAK,CAAC,OAAO,KAAoB,CAAC;IAClC,KAAK,CAAC,UAAU,KAAoB,CAAC;IAErC,KAAK,CAAC,MAAM,KAAmB,CAAC;IAChC,KAAK,CAAC,MAAM,KAAoB,CAAC;IAEjC,KAAK,CAAC,OAAO,KAA8B,OAAO,EAAoB,CAAA,CAAC,CAAC;IACxE,KAAK,CAAC,MAAM,KAAsB,OAAO,EAAY,CAAA,CAAC,CAAC;IAEvD,KAAK,CAAC,OAAO,KAA8B,OAAO,EAAoB,CAAA,CAAC,CAAC;IACxE,KAAK,CAAC,MAAM,KAAsB,OAAO,EAAY,CAAA,CAAC,CAAC;IAEvD,KAAK,CAAC,MAAM,KAA6B,OAAO,EAAmB,CAAA,CAAC,CAAC;IACrE,KAAK,CAAC,KAAK,KAAyB,OAAO,EAAe,CAAA,CAAC,CAAC;IAE5D,KAAK,CAAC,KAAK,KAA4B,OAAO,EAAkB,CAAA,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAE/D,KAAK,CAAC,KAAK,KAA4B,OAAO,EAAkB,CAAA,CAAC,CAAC;IAElE,KAAK,CAAC,IAAI,KAAoB,CAAC;IAC/B,KAAK,CAAC,IAAI,KAAoB,CAAC;IAC/B,KAAK,CAAC,OAAO,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAClE,KAAK,CAAC,QAAQ,KAA+B,OAAO,EAAqB,CAAA,CAAC,CAAC;IAAA,CAAC;IAC5E,KAAK,CAAC,SAAS,KAAgC,OAAO,EAAsB,CAAA,CAAC,CAAC;IAC9E,KAAK,CAAC,WAAW,KAAkC,OAAO,EAAwB,CAAA,CAAC,CAAC;CACrF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type {\n NrfMeshPlugin,\n Permissions,\n BluetoothState,\n ScanResults,\n IdentifyResults,\n ConnectionState,\n ProvisionResults,\n CompositionResults,\n NetKeysResults,\n NetKey,\n AppKeysResults,\n AppKey,\n GroupsResults,\n MeshGroup,\n NodesResults,\n NodeResults,\n ModelResults,\n} from './definitions';\n\nexport class NrfMeshWeb extends WebPlugin implements NrfMeshPlugin {\n async checkPermissions(): Promise<Permissions> { return {} as Permissions }\n async requestPermissions(): Promise<Permissions> { return {} as Permissions }\n async isBluetoothEnabled(): Promise<BluetoothState> { return {} as BluetoothState }\n\n async isConnected(): Promise<ConnectionState> { return {} as ConnectionState }\n async connect(): Promise<void> { }\n async disconnect(): Promise<void> { }\n\n async export(): Promise<any> { }\n async import(): Promise<void> { }\n\n async netkeys(): Promise<NetKeysResults> { return {} as NetKeysResults }\n async netkey(): Promise<NetKey> { return {} as NetKey }\n\n async appkeys(): Promise<AppKeysResults> { return {} as AppKeysResults }\n async appkey(): Promise<AppKey> { return {} as AppKey }\n\n async groups(): Promise<GroupsResults> { return {} as GroupsResults }\n async group(): Promise<MeshGroup> { return {} as MeshGroup }\n\n async nodes(): Promise<NodesResults> { return {} as NodesResults }\n async node(): Promise<NodeResults> { return {} as NodeResults }\n\n async model(): Promise<ModelResults> { return {} as ModelResults }\n\n async init(): Promise<void> { }\n async kill(): Promise<void> { }\n async devices(): Promise<ScanResults> { return {} as ScanResults }\n async identify(): Promise<IdentifyResults> { return {} as IdentifyResults };\n async provision(): Promise<ProvisionResults> { return {} as ProvisionResults }\n async composition(): Promise<CompositionResults> { return {} as CompositionResults }\n}\n"]}
@@ -884,6 +884,7 @@ class NrfMeshWeb extends core.WebPlugin {
884
884
  async node() { return {}; }
885
885
  async model() { return {}; }
886
886
  async init() { }
887
+ async kill() { }
887
888
  async devices() { return {}; }
888
889
  async identify() { return {}; }
889
890
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["esm/sensor.js","esm/index.js","esm/web.js"],"sourcesContent":["export function unsignedToSigned(unsigned, size) {\n if ((unsigned & (1 << (size - 1))) != 0) {\n unsigned = -1 * ((1 << (size - 1)) - (unsigned & ((1 << (size - 1)) - 1)));\n }\n return unsigned;\n}\nexport function signedToUnsigned(signed, size) {\n if (signed < 0) {\n signed = (1 << size) + signed;\n signed &= (1 << size) - 1;\n }\n return signed;\n}\nexport class SensorValue {\n static register(propertyId, cls, ...args) {\n SensorValue.types.set(propertyId, { args, CLS: cls });\n }\n static from(src) {\n if (typeof src === 'number') {\n const TP = SensorValue.types.get(src);\n if (TP)\n return new TP.CLS(src, ...TP.args);\n return new Unknown(src);\n }\n const ins = SensorValue.from(src.propertyId);\n ins.setValue(Uint8Array.from(src.bytes));\n return ins;\n }\n get propertyId() {\n return this._propertyId;\n }\n get value() {\n return this._value;\n }\n constructor(propertyId) {\n this._propertyId = propertyId;\n this._value = null;\n }\n isLittleEndian() {\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const u32a = new Uint32Array(ua);\n u32a[0] = 0x01020304;\n return u8a[0] == 0x01;\n }\n toRawValue() {\n const values = [];\n this.toBytes().forEach(v => values.push(v));\n return {\n propertyId: this.propertyId,\n bytes: values\n };\n }\n}\nSensorValue.types = new Map();\nexport class Bool extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'boolean') {\n this._value = value;\n return;\n }\n if (value.byteLength == 0)\n this._value = false;\n else\n this._value = value[0] == 0x01;\n }\n toBytes() {\n const u8a = new Uint8Array(1);\n u8a[0] = this._value ? 0x01 : 0x00;\n return u8a;\n }\n}\nexport class Percentage8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = unsignedToSigned(value[0], 8) / 2.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 2.0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Temperature extends SensorValue {\n get type() {\n return this._type;\n }\n constructor(propertyId, type) {\n super(propertyId);\n this._type = type || 'Celsius';\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const u8a = value;\n let tval;\n if (u8a.byteLength == 1) {\n tval = unsignedToSigned(u8a[0], 8);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 2.0;\n this._type = 'Celsius';\n }\n else if (u8a.byteLength == 2) {\n tval = unsignedToSigned((u8a[1] << 8) | u8a[0], 16);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 100.0;\n this._type = 'Fahrenheit';\n }\n }\n toBytes() {\n const u8a = new Uint8Array(this._type == 'Celsius' ? 1 : 2);\n if (this._type == 'Celsius') {\n const val = parseInt(((this._value || 0) * 2).toString());\n u8a[0] = val & 0xff;\n }\n else {\n const val = parseInt(((this._value || 0) * 100).toString());\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Count extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n if (value.byteLength == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (value.byteLength == 3) {\n this._value |= value[0] << 16;\n this._value |= value[1] << 8;\n this._value |= value[2] << 0;\n }\n }\n toBytes() {\n const m16 = 0xffff;\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(val > m16 ? 3 : 2);\n if (val > m16) {\n u8a[0] = (val >> 16) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 0) & 0xff;\n }\n else {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Humidity extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class PerceivedLightness extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class TimeSecond extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const len = value.byteLength;\n this._value = 0;\n if (len == 1) {\n this._value |= value[0];\n }\n else if (len == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (len == 4) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n }\n toBytes() {\n const val = this._value || 0;\n let len = 1;\n if (val > 0xffff)\n len = 2;\n if (val > 0xffffffff)\n len = 4;\n const u8a = new Uint8Array(len);\n if (len == 1) {\n u8a[0] = (val >> 0) & 0xff;\n }\n else if (len == 2) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n else if (len == 4) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n }\n return u8a;\n }\n}\nexport class Illuminance extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeHour24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeMillisecond24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class DateUtc extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (value instanceof Date) {\n this._value = value;\n return;\n }\n let val = 0;\n val |= value[0] << 0;\n val |= value[1] << 8;\n val |= value[2] << 16;\n val *= 86400000;\n this._value = new Date(val);\n }\n toBytes() {\n const time = this._value.getTime();\n const val = parseInt((time / 86400000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Pressure extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Coefficient extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n if (this.isLittleEndian()) {\n const f32a = new Float32Array(value);\n this._value = f32a[0];\n }\n else {\n const f32a = new Float32Array(value.reverse());\n this._value = f32a[0];\n }\n }\n toBytes() {\n const val = this._value;\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const f32a = new Float32Array(ua);\n f32a[0] = val;\n if (this.isLittleEndian()) {\n return u8a;\n }\n else {\n return u8a.reverse();\n }\n }\n}\nexport class FixedString extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'string') {\n this._value = value;\n return;\n }\n this._value = String.fromCharCode(...value);\n }\n toBytes() {\n const vals = (this._value || '').split('');\n const raws = Uint8Array.from(vals.map(c => c.charCodeAt(0)));\n let flen = raws.byteLength;\n let len = 0;\n if (flen > 0 && flen <= 8) {\n len = 8;\n }\n else if (flen > 8 && flen <= 16) {\n len = 16;\n }\n else if (flen > 16 && flen <= 24) {\n len = 24;\n }\n else if (flen > 24 && flen <= 36) {\n len = 36;\n }\n else if (flen > 36 && flen <= 64) {\n len = 64;\n }\n const u8a = new Uint8Array(len);\n raws.forEach((v, i) => {\n u8a[i] = v;\n });\n return u8a;\n }\n}\nexport class Energy32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Power extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class ElectricCurrent extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Unknown extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n this._value = new Uint8Array(0);\n }\n setValue(value) {\n this._value = value;\n }\n toBytes() {\n return this._value;\n }\n}\nexport class Uint8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Uint16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value = unsignedToSigned(this._value, 8);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 8);\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Int16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Uint16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Uint32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value = unsignedToSigned(this._value, 24);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 24);\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Int32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\n//# sourceMappingURL=sensor.js.map","import { registerPlugin } from '@capacitor/core';\nconst NrfMesh = registerPlugin('NrfMesh', {\n web: () => import('./web').then((m) => new m.NrfMeshWeb()),\n});\nexport * from './definitions';\nexport * from './sensor';\nexport { NrfMesh };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class NrfMeshWeb extends WebPlugin {\n async checkPermissions() { return {}; }\n async requestPermissions() { return {}; }\n async isBluetoothEnabled() { return {}; }\n async isConnected() { return {}; }\n async connect() { }\n async disconnect() { }\n async export() { }\n async import() { }\n async netkeys() { return {}; }\n async netkey() { return {}; }\n async appkeys() { return {}; }\n async appkey() { return {}; }\n async groups() { return {}; }\n async group() { return {}; }\n async nodes() { return {}; }\n async node() { return {}; }\n async model() { return {}; }\n async init() { }\n async devices() { return {}; }\n async identify() { return {}; }\n ;\n async provision() { return {}; }\n async composition() { return {}; }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;;AAAO,SAAS,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE;AACjD,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;AAC7C,QAAQ,QAAQ,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClF,IAAI;AACJ,IAAI,OAAO,QAAQ;AACnB;AACO,SAAS,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE;AAC/C,IAAI,IAAI,MAAM,GAAG,CAAC,EAAE;AACpB,QAAQ,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM;AACrC,QAAQ,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;AACjC,IAAI;AACJ,IAAI,OAAO,MAAM;AACjB;AACO,MAAM,WAAW,CAAC;AACzB,IAAI,OAAO,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE;AAC9C,QAAQ,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC7D,IAAI;AACJ,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE;AACrB,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACrC,YAAY,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AACjD,YAAY,IAAI,EAAE;AAClB,gBAAgB,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;AAClD,YAAY,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;AACnC,QAAQ;AACR,QAAQ,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;AACpD,QAAQ,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAChD,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ,IAAI,IAAI,UAAU,GAAG;AACrB,QAAQ,OAAO,IAAI,CAAC,WAAW;AAC/B,IAAI;AACJ,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,MAAM;AAC1B,IAAI;AACJ,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,IAAI,CAAC,WAAW,GAAG,UAAU;AACrC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI;AAC1B,IAAI;AACJ,IAAI,cAAc,GAAG;AACrB,QAAQ,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC;AACrC,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AACtC,QAAQ,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC;AACxC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU;AAC5B,QAAQ,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI;AAC7B,IAAI;AACJ,IAAI,UAAU,GAAG;AACjB,QAAQ,MAAM,MAAM,GAAG,EAAE;AACzB,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnD,QAAQ,OAAO;AACf,YAAY,UAAU,EAAE,IAAI,CAAC,UAAU;AACvC,YAAY,KAAK,EAAE;AACnB,SAAS;AACT,IAAI;AACJ;AACA,WAAW,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE;AACtB,MAAM,IAAI,SAAS,WAAW,CAAC;AACtC,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,SAAS,EAAE;AACvC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC;AACjC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B;AACA,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;AAC1C,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI;AAC1C,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,WAAW,SAAS,WAAW,CAAC;AAC7C,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;AACzD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;AACnE,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,WAAW,SAAS,WAAW,CAAC;AAC7C,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,OAAO,IAAI,CAAC,KAAK;AACzB,IAAI;AACJ,IAAI,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE;AAClC,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,SAAS;AACtC,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,MAAM,GAAG,GAAG,KAAK;AACzB,QAAQ,IAAI,IAAI;AAChB,QAAQ,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE;AACjC,YAAY,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9C,YAAY,IAAI,IAAI,IAAI,MAAM;AAC9B,gBAAgB,IAAI,CAAC,MAAM,GAAG,IAAI;AAClC;AACA,gBAAgB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG;AACxC,YAAY,IAAI,CAAC,KAAK,GAAG,SAAS;AAClC,QAAQ;AACR,aAAa,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE;AACtC,YAAY,IAAI,GAAG,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC/D,YAAY,IAAI,IAAI,IAAI,MAAM;AAC9B,gBAAgB,IAAI,CAAC,MAAM,GAAG,IAAI;AAClC;AACA,gBAAgB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK;AAC1C,YAAY,IAAI,CAAC,KAAK,GAAG,YAAY;AACrC,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;AACnE,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE;AACrC,YAAY,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AACrE,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI;AAC/B,QAAQ;AACR,aAAa;AACb,YAAY,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;AACvE,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AACtC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AACtC,QAAQ;AACR,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,KAAK,SAAS,WAAW,CAAC;AACvC,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,EAAE;AACnC,YAAY,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,YAAY,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,QAAQ;AACR,aAAa,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,EAAE;AACxC,YAAY,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACzC,YAAY,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,YAAY,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,MAAM;AAC1B,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3D,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACrD,QAAQ,IAAI,GAAG,GAAG,GAAG,EAAE;AACvB,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACvC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AACtC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AACtC,QAAQ;AACR,aAAa;AACb,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AACtC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AACtC,QAAQ;AACR,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,QAAQ,SAAS,WAAW,CAAC;AAC1C,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK;AAC5B,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;AACnE,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,kBAAkB,SAAS,WAAW,CAAC;AACpD,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3D,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,UAAU,SAAS,WAAW,CAAC;AAC5C,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU;AACpC,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,GAAG,IAAI,CAAC,EAAE;AACtB,YAAY,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC;AACnC,QAAQ;AACR,aAAa,IAAI,GAAG,IAAI,CAAC,EAAE;AAC3B,YAAY,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,YAAY,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,QAAQ;AACR,aAAa,IAAI,GAAG,IAAI,CAAC,EAAE;AAC3B,YAAY,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,YAAY,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,YAAY,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACzC,YAAY,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACzC,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC;AACpC,QAAQ,IAAI,GAAG,GAAG,CAAC;AACnB,QAAQ,IAAI,GAAG,GAAG,MAAM;AACxB,YAAY,GAAG,GAAG,CAAC;AACnB,QAAQ,IAAI,GAAG,GAAG,UAAU;AAC5B,YAAY,GAAG,GAAG,CAAC;AACnB,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC;AACvC,QAAQ,IAAI,GAAG,IAAI,CAAC,EAAE;AACtB,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AACtC,QAAQ;AACR,aAAa,IAAI,GAAG,IAAI,CAAC,EAAE;AAC3B,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AACtC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AACtC,QAAQ;AACR,aAAa,IAAI,GAAG,IAAI,CAAC,EAAE;AAC3B,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AACtC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AACtC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACvC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACvC,QAAQ;AACR,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,WAAW,SAAS,WAAW,CAAC;AAC7C,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK;AAC5B,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;AACnE,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,UAAU,SAAS,WAAW,CAAC;AAC5C,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3D,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,iBAAiB,SAAS,WAAW,CAAC;AACnD,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,IAAI,MAAM;AAC7B,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;AACpE,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,OAAO,SAAS,WAAW,CAAC;AACzC,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,KAAK,YAAY,IAAI,EAAE;AACnC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,GAAG,GAAG,CAAC;AACnB,QAAQ,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5B,QAAQ,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5B,QAAQ,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AAC7B,QAAQ,GAAG,IAAI,QAAQ;AACvB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;AACnC,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AAC1C,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAI,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC1D,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,QAAQ,SAAS,WAAW,CAAC;AAC1C,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,IAAI,IAAI;AAC3B,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;AAClE,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,WAAW,SAAS,WAAW,CAAC;AAC7C,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AACnC,YAAY,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC;AAChD,YAAY,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;AACjC,QAAQ;AACR,aAAa;AACb,YAAY,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AAC1D,YAAY,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;AACjC,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM;AAC/B,QAAQ,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC;AACrC,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AACtC,QAAQ,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC;AACzC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG;AACrB,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AACnC,YAAY,OAAO,GAAG;AACtB,QAAQ;AACR,aAAa;AACb,YAAY,OAAO,GAAG,CAAC,OAAO,EAAE;AAChC,QAAQ;AACR,IAAI;AACJ;AACO,MAAM,WAAW,SAAS,WAAW,CAAC;AAC7C,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;AACnD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;AAClD,QAAQ,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU;AAClC,QAAQ,IAAI,GAAG,GAAG,CAAC;AACnB,QAAQ,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;AACnC,YAAY,GAAG,GAAG,CAAC;AACnB,QAAQ;AACR,aAAa,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,EAAE;AACzC,YAAY,GAAG,GAAG,EAAE;AACpB,QAAQ;AACR,aAAa,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE;AAC1C,YAAY,GAAG,GAAG,EAAE;AACpB,QAAQ;AACR,aAAa,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE;AAC1C,YAAY,GAAG,GAAG,EAAE;AACpB,QAAQ;AACR,aAAa,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE;AAC1C,YAAY,GAAG,GAAG,EAAE;AACpB,QAAQ;AACR,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC;AACvC,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACtB,QAAQ,CAAC,CAAC;AACV,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,QAAQ,SAAS,WAAW,CAAC;AAC1C,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,IAAI,MAAM;AAC7B,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;AACpE,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,KAAK,SAAS,WAAW,CAAC;AACvC,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,IAAI,IAAI;AAC3B,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;AAClE,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,eAAe,SAAS,WAAW,CAAC;AACjD,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK;AAC5B,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;AACnE,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,OAAO,SAAS,WAAW,CAAC;AACzC,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACvC,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,CAAC,MAAM,GAAG,KAAK;AAC3B,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,OAAO,IAAI,CAAC,MAAM;AAC1B,IAAI;AACJ;AACO,MAAM,KAAK,SAAS,WAAW,CAAC;AACvC,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3D,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,MAAM,SAAS,WAAW,CAAC;AACxC,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3D,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,MAAM,SAAS,WAAW,CAAC;AACxC,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3D,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,IAAI,SAAS,WAAW,CAAC;AACtC,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACtD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3D,QAAQ,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5C,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,KAAK,SAAS,WAAW,CAAC;AACvC,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AACvD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3D,QAAQ,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC;AAC7C,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,KAAK,SAAS,WAAW,CAAC;AACvC,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AACvD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3D,QAAQ,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC;AAC7C,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,WAAW,SAAS,WAAW,CAAC;AAC7C,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,SAAS;AAC7B,IAAI;AACJ,IAAI,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE;AACtC,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,CAAC;AACtC,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;AACnD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;AACrE,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5C,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,WAAW,SAAS,WAAW,CAAC;AAC7C,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,SAAS;AAC7B,IAAI;AACJ,IAAI,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE;AACtC,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,CAAC;AACtC,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;AACnD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;AACrE,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5C,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,WAAW,SAAS,WAAW,CAAC;AAC7C,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,SAAS;AAC7B,IAAI;AACJ,IAAI,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE;AACtC,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,CAAC;AACtC,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;AACnD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;AACrE,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5C,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,UAAU,SAAS,WAAW,CAAC;AAC5C,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,SAAS;AAC7B,IAAI;AACJ,IAAI,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE;AACtC,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,CAAC;AACtC,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AACvD,QAAQ,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;AACnD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;AACrE,QAAQ,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;AAClE,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,UAAU,SAAS,WAAW,CAAC;AAC5C,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,SAAS;AAC7B,IAAI;AACJ,IAAI,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE;AACtC,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,CAAC;AACtC,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AACvD,QAAQ,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;AACnD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;AACrE,QAAQ,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;AAClE,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;AACO,MAAM,UAAU,SAAS,WAAW,CAAC;AAC5C,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,SAAS;AAC7B,IAAI;AACJ,IAAI,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE;AACtC,QAAQ,KAAK,CAAC,UAAU,CAAC;AACzB,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,CAAC;AACtC,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACtC,YAAY,IAAI,CAAC,MAAM,GAAG,KAAK;AAC/B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AACvD,QAAQ,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;AACnD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;AACrE,QAAQ,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;AAClE,QAAQ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI;AAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI;AACnC,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ;;ACx1BK,MAAC,OAAO,GAAGA,mBAAc,CAAC,SAAS,EAAE;AAC1C,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;AAC9D,CAAC;;ACFM,MAAM,UAAU,SAASC,cAAS,CAAC;AAC1C,IAAI,MAAM,gBAAgB,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAC1C,IAAI,MAAM,kBAAkB,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAC5C,IAAI,MAAM,kBAAkB,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAC5C,IAAI,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AACrC,IAAI,MAAM,OAAO,GAAG,EAAE;AACtB,IAAI,MAAM,UAAU,GAAG,EAAE;AACzB,IAAI,MAAM,MAAM,GAAG,EAAE;AACrB,IAAI,MAAM,MAAM,GAAG,EAAE;AACrB,IAAI,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AACjC,IAAI,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAChC,IAAI,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AACjC,IAAI,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAChC,IAAI,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAChC,IAAI,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/B,IAAI,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/B,IAAI,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAC9B,IAAI,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/B,IAAI,MAAM,IAAI,GAAG,EAAE;AACnB,IAAI,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AACjC,IAAI,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAClC;AACA,IAAI,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AACnC,IAAI,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["esm/sensor.js","esm/index.js","esm/web.js"],"sourcesContent":["export function unsignedToSigned(unsigned, size) {\n if ((unsigned & (1 << (size - 1))) != 0) {\n unsigned = -1 * ((1 << (size - 1)) - (unsigned & ((1 << (size - 1)) - 1)));\n }\n return unsigned;\n}\nexport function signedToUnsigned(signed, size) {\n if (signed < 0) {\n signed = (1 << size) + signed;\n signed &= (1 << size) - 1;\n }\n return signed;\n}\nexport class SensorValue {\n static register(propertyId, cls, ...args) {\n SensorValue.types.set(propertyId, { args, CLS: cls });\n }\n static from(src) {\n if (typeof src === 'number') {\n const TP = SensorValue.types.get(src);\n if (TP)\n return new TP.CLS(src, ...TP.args);\n return new Unknown(src);\n }\n const ins = SensorValue.from(src.propertyId);\n ins.setValue(Uint8Array.from(src.bytes));\n return ins;\n }\n get propertyId() {\n return this._propertyId;\n }\n get value() {\n return this._value;\n }\n constructor(propertyId) {\n this._propertyId = propertyId;\n this._value = null;\n }\n isLittleEndian() {\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const u32a = new Uint32Array(ua);\n u32a[0] = 0x01020304;\n return u8a[0] == 0x01;\n }\n toRawValue() {\n const values = [];\n this.toBytes().forEach(v => values.push(v));\n return {\n propertyId: this.propertyId,\n bytes: values\n };\n }\n}\nSensorValue.types = new Map();\nexport class Bool extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'boolean') {\n this._value = value;\n return;\n }\n if (value.byteLength == 0)\n this._value = false;\n else\n this._value = value[0] == 0x01;\n }\n toBytes() {\n const u8a = new Uint8Array(1);\n u8a[0] = this._value ? 0x01 : 0x00;\n return u8a;\n }\n}\nexport class Percentage8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = unsignedToSigned(value[0], 8) / 2.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 2.0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Temperature extends SensorValue {\n get type() {\n return this._type;\n }\n constructor(propertyId, type) {\n super(propertyId);\n this._type = type || 'Celsius';\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const u8a = value;\n let tval;\n if (u8a.byteLength == 1) {\n tval = unsignedToSigned(u8a[0], 8);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 2.0;\n this._type = 'Celsius';\n }\n else if (u8a.byteLength == 2) {\n tval = unsignedToSigned((u8a[1] << 8) | u8a[0], 16);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 100.0;\n this._type = 'Fahrenheit';\n }\n }\n toBytes() {\n const u8a = new Uint8Array(this._type == 'Celsius' ? 1 : 2);\n if (this._type == 'Celsius') {\n const val = parseInt(((this._value || 0) * 2).toString());\n u8a[0] = val & 0xff;\n }\n else {\n const val = parseInt(((this._value || 0) * 100).toString());\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Count extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n if (value.byteLength == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (value.byteLength == 3) {\n this._value |= value[0] << 16;\n this._value |= value[1] << 8;\n this._value |= value[2] << 0;\n }\n }\n toBytes() {\n const m16 = 0xffff;\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(val > m16 ? 3 : 2);\n if (val > m16) {\n u8a[0] = (val >> 16) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 0) & 0xff;\n }\n else {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Humidity extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class PerceivedLightness extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class TimeSecond extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const len = value.byteLength;\n this._value = 0;\n if (len == 1) {\n this._value |= value[0];\n }\n else if (len == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (len == 4) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n }\n toBytes() {\n const val = this._value || 0;\n let len = 1;\n if (val > 0xffff)\n len = 2;\n if (val > 0xffffffff)\n len = 4;\n const u8a = new Uint8Array(len);\n if (len == 1) {\n u8a[0] = (val >> 0) & 0xff;\n }\n else if (len == 2) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n else if (len == 4) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n }\n return u8a;\n }\n}\nexport class Illuminance extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeHour24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeMillisecond24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class DateUtc extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (value instanceof Date) {\n this._value = value;\n return;\n }\n let val = 0;\n val |= value[0] << 0;\n val |= value[1] << 8;\n val |= value[2] << 16;\n val *= 86400000;\n this._value = new Date(val);\n }\n toBytes() {\n const time = this._value.getTime();\n const val = parseInt((time / 86400000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Pressure extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Coefficient extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n if (this.isLittleEndian()) {\n const f32a = new Float32Array(value);\n this._value = f32a[0];\n }\n else {\n const f32a = new Float32Array(value.reverse());\n this._value = f32a[0];\n }\n }\n toBytes() {\n const val = this._value;\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const f32a = new Float32Array(ua);\n f32a[0] = val;\n if (this.isLittleEndian()) {\n return u8a;\n }\n else {\n return u8a.reverse();\n }\n }\n}\nexport class FixedString extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'string') {\n this._value = value;\n return;\n }\n this._value = String.fromCharCode(...value);\n }\n toBytes() {\n const vals = (this._value || '').split('');\n const raws = Uint8Array.from(vals.map(c => c.charCodeAt(0)));\n let flen = raws.byteLength;\n let len = 0;\n if (flen > 0 && flen <= 8) {\n len = 8;\n }\n else if (flen > 8 && flen <= 16) {\n len = 16;\n }\n else if (flen > 16 && flen <= 24) {\n len = 24;\n }\n else if (flen > 24 && flen <= 36) {\n len = 36;\n }\n else if (flen > 36 && flen <= 64) {\n len = 64;\n }\n const u8a = new Uint8Array(len);\n raws.forEach((v, i) => {\n u8a[i] = v;\n });\n return u8a;\n }\n}\nexport class Energy32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Power extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class ElectricCurrent extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Unknown extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n this._value = new Uint8Array(0);\n }\n setValue(value) {\n this._value = value;\n }\n toBytes() {\n return this._value;\n }\n}\nexport class Uint8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Uint16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value = unsignedToSigned(this._value, 8);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 8);\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Int16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Uint16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Uint32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value = unsignedToSigned(this._value, 24);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 24);\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Int32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\n//# sourceMappingURL=sensor.js.map","import { registerPlugin } from '@capacitor/core';\nconst NrfMesh = registerPlugin('NrfMesh', {\n web: () => import('./web').then((m) => new m.NrfMeshWeb()),\n});\nexport * from './definitions';\nexport * from './sensor';\nexport { NrfMesh };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class NrfMeshWeb extends WebPlugin {\n async checkPermissions() { return {}; }\n async requestPermissions() { return {}; }\n async isBluetoothEnabled() { return {}; }\n async isConnected() { return {}; }\n async connect() { }\n async disconnect() { }\n async export() { }\n async import() { }\n async netkeys() { return {}; }\n async netkey() { return {}; }\n async appkeys() { return {}; }\n async appkey() { return {}; }\n async groups() { return {}; }\n async group() { return {}; }\n async nodes() { return {}; }\n async node() { return {}; }\n async model() { return {}; }\n async init() { }\n async kill() { }\n async devices() { return {}; }\n async identify() { return {}; }\n ;\n async provision() { return {}; }\n async composition() { return {}; }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -883,6 +883,7 @@ var capacitorNrfMesh = (function (exports, core) {
883
883
  async node() { return {}; }
884
884
  async model() { return {}; }
885
885
  async init() { }
886
+ async kill() { }
886
887
  async devices() { return {}; }
887
888
  async identify() { return {}; }
888
889
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["esm/sensor.js","esm/index.js","esm/web.js"],"sourcesContent":["export function unsignedToSigned(unsigned, size) {\n if ((unsigned & (1 << (size - 1))) != 0) {\n unsigned = -1 * ((1 << (size - 1)) - (unsigned & ((1 << (size - 1)) - 1)));\n }\n return unsigned;\n}\nexport function signedToUnsigned(signed, size) {\n if (signed < 0) {\n signed = (1 << size) + signed;\n signed &= (1 << size) - 1;\n }\n return signed;\n}\nexport class SensorValue {\n static register(propertyId, cls, ...args) {\n SensorValue.types.set(propertyId, { args, CLS: cls });\n }\n static from(src) {\n if (typeof src === 'number') {\n const TP = SensorValue.types.get(src);\n if (TP)\n return new TP.CLS(src, ...TP.args);\n return new Unknown(src);\n }\n const ins = SensorValue.from(src.propertyId);\n ins.setValue(Uint8Array.from(src.bytes));\n return ins;\n }\n get propertyId() {\n return this._propertyId;\n }\n get value() {\n return this._value;\n }\n constructor(propertyId) {\n this._propertyId = propertyId;\n this._value = null;\n }\n isLittleEndian() {\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const u32a = new Uint32Array(ua);\n u32a[0] = 0x01020304;\n return u8a[0] == 0x01;\n }\n toRawValue() {\n const values = [];\n this.toBytes().forEach(v => values.push(v));\n return {\n propertyId: this.propertyId,\n bytes: values\n };\n }\n}\nSensorValue.types = new Map();\nexport class Bool extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'boolean') {\n this._value = value;\n return;\n }\n if (value.byteLength == 0)\n this._value = false;\n else\n this._value = value[0] == 0x01;\n }\n toBytes() {\n const u8a = new Uint8Array(1);\n u8a[0] = this._value ? 0x01 : 0x00;\n return u8a;\n }\n}\nexport class Percentage8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = unsignedToSigned(value[0], 8) / 2.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 2.0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Temperature extends SensorValue {\n get type() {\n return this._type;\n }\n constructor(propertyId, type) {\n super(propertyId);\n this._type = type || 'Celsius';\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const u8a = value;\n let tval;\n if (u8a.byteLength == 1) {\n tval = unsignedToSigned(u8a[0], 8);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 2.0;\n this._type = 'Celsius';\n }\n else if (u8a.byteLength == 2) {\n tval = unsignedToSigned((u8a[1] << 8) | u8a[0], 16);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 100.0;\n this._type = 'Fahrenheit';\n }\n }\n toBytes() {\n const u8a = new Uint8Array(this._type == 'Celsius' ? 1 : 2);\n if (this._type == 'Celsius') {\n const val = parseInt(((this._value || 0) * 2).toString());\n u8a[0] = val & 0xff;\n }\n else {\n const val = parseInt(((this._value || 0) * 100).toString());\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Count extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n if (value.byteLength == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (value.byteLength == 3) {\n this._value |= value[0] << 16;\n this._value |= value[1] << 8;\n this._value |= value[2] << 0;\n }\n }\n toBytes() {\n const m16 = 0xffff;\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(val > m16 ? 3 : 2);\n if (val > m16) {\n u8a[0] = (val >> 16) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 0) & 0xff;\n }\n else {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Humidity extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class PerceivedLightness extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class TimeSecond extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const len = value.byteLength;\n this._value = 0;\n if (len == 1) {\n this._value |= value[0];\n }\n else if (len == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (len == 4) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n }\n toBytes() {\n const val = this._value || 0;\n let len = 1;\n if (val > 0xffff)\n len = 2;\n if (val > 0xffffffff)\n len = 4;\n const u8a = new Uint8Array(len);\n if (len == 1) {\n u8a[0] = (val >> 0) & 0xff;\n }\n else if (len == 2) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n else if (len == 4) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n }\n return u8a;\n }\n}\nexport class Illuminance extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeHour24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeMillisecond24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class DateUtc extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (value instanceof Date) {\n this._value = value;\n return;\n }\n let val = 0;\n val |= value[0] << 0;\n val |= value[1] << 8;\n val |= value[2] << 16;\n val *= 86400000;\n this._value = new Date(val);\n }\n toBytes() {\n const time = this._value.getTime();\n const val = parseInt((time / 86400000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Pressure extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Coefficient extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n if (this.isLittleEndian()) {\n const f32a = new Float32Array(value);\n this._value = f32a[0];\n }\n else {\n const f32a = new Float32Array(value.reverse());\n this._value = f32a[0];\n }\n }\n toBytes() {\n const val = this._value;\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const f32a = new Float32Array(ua);\n f32a[0] = val;\n if (this.isLittleEndian()) {\n return u8a;\n }\n else {\n return u8a.reverse();\n }\n }\n}\nexport class FixedString extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'string') {\n this._value = value;\n return;\n }\n this._value = String.fromCharCode(...value);\n }\n toBytes() {\n const vals = (this._value || '').split('');\n const raws = Uint8Array.from(vals.map(c => c.charCodeAt(0)));\n let flen = raws.byteLength;\n let len = 0;\n if (flen > 0 && flen <= 8) {\n len = 8;\n }\n else if (flen > 8 && flen <= 16) {\n len = 16;\n }\n else if (flen > 16 && flen <= 24) {\n len = 24;\n }\n else if (flen > 24 && flen <= 36) {\n len = 36;\n }\n else if (flen > 36 && flen <= 64) {\n len = 64;\n }\n const u8a = new Uint8Array(len);\n raws.forEach((v, i) => {\n u8a[i] = v;\n });\n return u8a;\n }\n}\nexport class Energy32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Power extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class ElectricCurrent extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Unknown extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n this._value = new Uint8Array(0);\n }\n setValue(value) {\n this._value = value;\n }\n toBytes() {\n return this._value;\n }\n}\nexport class Uint8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Uint16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value = unsignedToSigned(this._value, 8);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 8);\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Int16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Uint16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Uint32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value = unsignedToSigned(this._value, 24);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 24);\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Int32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\n//# sourceMappingURL=sensor.js.map","import { registerPlugin } from '@capacitor/core';\nconst NrfMesh = registerPlugin('NrfMesh', {\n web: () => import('./web').then((m) => new m.NrfMeshWeb()),\n});\nexport * from './definitions';\nexport * from './sensor';\nexport { NrfMesh };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class NrfMeshWeb extends WebPlugin {\n async checkPermissions() { return {}; }\n async requestPermissions() { return {}; }\n async isBluetoothEnabled() { return {}; }\n async isConnected() { return {}; }\n async connect() { }\n async disconnect() { }\n async export() { }\n async import() { }\n async netkeys() { return {}; }\n async netkey() { return {}; }\n async appkeys() { return {}; }\n async appkey() { return {}; }\n async groups() { return {}; }\n async group() { return {}; }\n async nodes() { return {}; }\n async node() { return {}; }\n async model() { return {}; }\n async init() { }\n async devices() { return {}; }\n async identify() { return {}; }\n ;\n async provision() { return {}; }\n async composition() { return {}; }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sources":["esm/sensor.js","esm/index.js","esm/web.js"],"sourcesContent":["export function unsignedToSigned(unsigned, size) {\n if ((unsigned & (1 << (size - 1))) != 0) {\n unsigned = -1 * ((1 << (size - 1)) - (unsigned & ((1 << (size - 1)) - 1)));\n }\n return unsigned;\n}\nexport function signedToUnsigned(signed, size) {\n if (signed < 0) {\n signed = (1 << size) + signed;\n signed &= (1 << size) - 1;\n }\n return signed;\n}\nexport class SensorValue {\n static register(propertyId, cls, ...args) {\n SensorValue.types.set(propertyId, { args, CLS: cls });\n }\n static from(src) {\n if (typeof src === 'number') {\n const TP = SensorValue.types.get(src);\n if (TP)\n return new TP.CLS(src, ...TP.args);\n return new Unknown(src);\n }\n const ins = SensorValue.from(src.propertyId);\n ins.setValue(Uint8Array.from(src.bytes));\n return ins;\n }\n get propertyId() {\n return this._propertyId;\n }\n get value() {\n return this._value;\n }\n constructor(propertyId) {\n this._propertyId = propertyId;\n this._value = null;\n }\n isLittleEndian() {\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const u32a = new Uint32Array(ua);\n u32a[0] = 0x01020304;\n return u8a[0] == 0x01;\n }\n toRawValue() {\n const values = [];\n this.toBytes().forEach(v => values.push(v));\n return {\n propertyId: this.propertyId,\n bytes: values\n };\n }\n}\nSensorValue.types = new Map();\nexport class Bool extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'boolean') {\n this._value = value;\n return;\n }\n if (value.byteLength == 0)\n this._value = false;\n else\n this._value = value[0] == 0x01;\n }\n toBytes() {\n const u8a = new Uint8Array(1);\n u8a[0] = this._value ? 0x01 : 0x00;\n return u8a;\n }\n}\nexport class Percentage8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = unsignedToSigned(value[0], 8) / 2.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 2.0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Temperature extends SensorValue {\n get type() {\n return this._type;\n }\n constructor(propertyId, type) {\n super(propertyId);\n this._type = type || 'Celsius';\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const u8a = value;\n let tval;\n if (u8a.byteLength == 1) {\n tval = unsignedToSigned(u8a[0], 8);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 2.0;\n this._type = 'Celsius';\n }\n else if (u8a.byteLength == 2) {\n tval = unsignedToSigned((u8a[1] << 8) | u8a[0], 16);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 100.0;\n this._type = 'Fahrenheit';\n }\n }\n toBytes() {\n const u8a = new Uint8Array(this._type == 'Celsius' ? 1 : 2);\n if (this._type == 'Celsius') {\n const val = parseInt(((this._value || 0) * 2).toString());\n u8a[0] = val & 0xff;\n }\n else {\n const val = parseInt(((this._value || 0) * 100).toString());\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Count extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n if (value.byteLength == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (value.byteLength == 3) {\n this._value |= value[0] << 16;\n this._value |= value[1] << 8;\n this._value |= value[2] << 0;\n }\n }\n toBytes() {\n const m16 = 0xffff;\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(val > m16 ? 3 : 2);\n if (val > m16) {\n u8a[0] = (val >> 16) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 0) & 0xff;\n }\n else {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Humidity extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class PerceivedLightness extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class TimeSecond extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const len = value.byteLength;\n this._value = 0;\n if (len == 1) {\n this._value |= value[0];\n }\n else if (len == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (len == 4) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n }\n toBytes() {\n const val = this._value || 0;\n let len = 1;\n if (val > 0xffff)\n len = 2;\n if (val > 0xffffffff)\n len = 4;\n const u8a = new Uint8Array(len);\n if (len == 1) {\n u8a[0] = (val >> 0) & 0xff;\n }\n else if (len == 2) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n else if (len == 4) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n }\n return u8a;\n }\n}\nexport class Illuminance extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeHour24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeMillisecond24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class DateUtc extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (value instanceof Date) {\n this._value = value;\n return;\n }\n let val = 0;\n val |= value[0] << 0;\n val |= value[1] << 8;\n val |= value[2] << 16;\n val *= 86400000;\n this._value = new Date(val);\n }\n toBytes() {\n const time = this._value.getTime();\n const val = parseInt((time / 86400000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Pressure extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Coefficient extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n if (this.isLittleEndian()) {\n const f32a = new Float32Array(value);\n this._value = f32a[0];\n }\n else {\n const f32a = new Float32Array(value.reverse());\n this._value = f32a[0];\n }\n }\n toBytes() {\n const val = this._value;\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const f32a = new Float32Array(ua);\n f32a[0] = val;\n if (this.isLittleEndian()) {\n return u8a;\n }\n else {\n return u8a.reverse();\n }\n }\n}\nexport class FixedString extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'string') {\n this._value = value;\n return;\n }\n this._value = String.fromCharCode(...value);\n }\n toBytes() {\n const vals = (this._value || '').split('');\n const raws = Uint8Array.from(vals.map(c => c.charCodeAt(0)));\n let flen = raws.byteLength;\n let len = 0;\n if (flen > 0 && flen <= 8) {\n len = 8;\n }\n else if (flen > 8 && flen <= 16) {\n len = 16;\n }\n else if (flen > 16 && flen <= 24) {\n len = 24;\n }\n else if (flen > 24 && flen <= 36) {\n len = 36;\n }\n else if (flen > 36 && flen <= 64) {\n len = 64;\n }\n const u8a = new Uint8Array(len);\n raws.forEach((v, i) => {\n u8a[i] = v;\n });\n return u8a;\n }\n}\nexport class Energy32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Power extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class ElectricCurrent extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Unknown extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n this._value = new Uint8Array(0);\n }\n setValue(value) {\n this._value = value;\n }\n toBytes() {\n return this._value;\n }\n}\nexport class Uint8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Uint16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value = unsignedToSigned(this._value, 8);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 8);\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Int16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Uint16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Uint32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value = unsignedToSigned(this._value, 24);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 24);\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Int32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\n//# sourceMappingURL=sensor.js.map","import { registerPlugin } from '@capacitor/core';\nconst NrfMesh = registerPlugin('NrfMesh', {\n web: () => import('./web').then((m) => new m.NrfMeshWeb()),\n});\nexport * from './definitions';\nexport * from './sensor';\nexport { NrfMesh };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class NrfMeshWeb extends WebPlugin {\n async checkPermissions() { return {}; }\n async requestPermissions() { return {}; }\n async isBluetoothEnabled() { return {}; }\n async isConnected() { return {}; }\n async connect() { }\n async disconnect() { }\n async export() { }\n async import() { }\n async netkeys() { return {}; }\n async netkey() { return {}; }\n async appkeys() { return {}; }\n async appkey() { return {}; }\n async groups() { return {}; }\n async group() { return {}; }\n async nodes() { return {}; }\n async node() { return {}; }\n async model() { return {}; }\n async init() { }\n async kill() { }\n async devices() { return {}; }\n async identify() { return {}; }\n ;\n async provision() { return {}; }\n async composition() { return {}; }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autorunify/capacitor-nrfmesh",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "nrf mesh plugin",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",
@@ -21,10 +21,10 @@
21
21
  "license": "MIT",
22
22
  "repository": {
23
23
  "type": "git",
24
- "url": "git+https://github.com/autorunify/autorunify-capacitor-nrfmesh.git"
24
+ "url": "git+https://github.com/autorunify/auto-nrfmesh.git"
25
25
  },
26
26
  "bugs": {
27
- "url": "https://github.com/autorunify/autorunify-capacitor-nrfmesh/issues"
27
+ "url": "https://github.com/autorunify/auto-nrfmesh/issues"
28
28
  },
29
29
  "keywords": [
30
30
  "capacitor",