From abf7595acce530ef4ab91ea74b6ea8088dca5147 Mon Sep 17 00:00:00 2001 From: Mark Nolan Date: Wed, 27 May 2026 12:54:06 +0100 Subject: [PATCH 01/18] DEV-750 #time 2h Verisense SDK updates from design docs --- Verisense/index.html | 1875 +++++++++-------- sdk-source.json | 2 +- shimmer-extension/vendor/shimmer-web-sdk.cjs | 1177 +++++++++-- .../vendor/shimmer-web-sdk.cjs.map | 2 +- shimmer-extension/vendor/shimmer-web-sdk.d.ts | 550 ++++- .../vendor/shimmer-web-sdk.esm.js | 1146 ++++++++-- .../vendor/shimmer-web-sdk.esm.js.map | 2 +- .../vendor/shimmer-web-sdk.umd.js | 1177 +++++++++-- .../vendor/shimmer-web-sdk.umd.js.map | 2 +- 9 files changed, 4617 insertions(+), 1316 deletions(-) diff --git a/Verisense/index.html b/Verisense/index.html index a54d894..fa3ca19 100644 --- a/Verisense/index.html +++ b/Verisense/index.html @@ -1,174 +1,152 @@ - - - - - - - Verisense Stream (Accel + GSR) - - - - -

Verisense Stream (Accel1 + GSR)

- Must be served over https or http://localhost. Click - buttons (user gesture required). - -
-
- - - -
+ + + + + + + Verisense Stream (Accel + GSR) + + + + +

Verisense Stream (Accel1 + GSR)

+ Must be served over https or http://localhost. Click + buttons (user gesture required). + +
+
+ + + + +
-
- - - - Status: idle -
+
+ + + + + + Status: idle
+
-
-
- Operational Config - - -
-
- - - - (Checkboxes affect parsing immediately; Apply writes to - device.) -
+
+
+ Operational Config + +
+
+ + + + (Checkboxes affect parsing immediately; Apply writes to + device.) +
+
-
-
-

Latest accel sample

-
โ€”
- +
+

Latest accel sample

+
โ€”
+ - -
+ ">
+ +
-
-

Latest GSR sample

-
โ€”
- +

Latest GSR sample

+
โ€”
+ - -
+ "> + +
-
-

Log

-

-        
- -
+
+

Log

+

+      
+
- - - - + + const names = pending.map((p) => `0x${Number(p).toString(16)}`); + log("pending events:", names.join(", ")); + } catch (e) { + log("pending-events error:", String(e?.message ?? e)); + } + }; + + btnClearPending.onclick = async () => { + try { + if (!v) throw new Error("Not connected"); + await v.clearPendingEvents(); + log("pending events cleared"); + } catch (e) { + log("clear-pending error:", String(e?.message ?? e)); + } + }; + + btnApplyOpCfg.onclick = async () => { + try { + if (!v) throw new Error("Not connected"); + await applyOpConfigToDevice(); + const adc = requireAdcDecoder(v); + log("opcfg applied:", { + accelEnabled: v?.accel1?.enabled, + gsrEnabled: adc?.gsrEnabled, + battEnabled: adc?.battEnabled, + }); + } catch (e) { + log("opcfg apply error:", String(e?.message ?? e)); + } + }; + + btnSync.onclick = async () => { + try { + if (!v) throw new Error("Not connected"); + + setStatus("syncing logged data..."); + log("sync: choose output file..."); + + const fileHandle = await window.showSaveFilePicker({ + suggestedName: `verisense_${new Date().toISOString().replace(/[:.]/g, "-")}.bin`, + types: [ + { + description: "Verisense binary", + accept: { "application/octet-stream": [".bin"] }, + }, + ], + }); + + v.debugSync = true; + + const res = await v.transferLoggedData({ + fileHandle, + timeoutMs: 5000, + maxNack: 5, + maxCrcNack: 5, + onProgress: (p) => log("sync progress:", p), + }); + + setStatus("sync complete"); + log("sync: complete โœ…", res); + } catch (e) { + log("sync error:", String(e?.message ?? e)); + console.warn(e); + setStatus("error"); + } + }; + + + + \ No newline at end of file diff --git a/sdk-source.json b/sdk-source.json index affc0dc..4645be6 100644 --- a/sdk-source.json +++ b/sdk-source.json @@ -1,4 +1,4 @@ { - "sourceMode": "local-version", + "sourceMode": "local-repo", "version": "0.1.7" } \ No newline at end of file diff --git a/shimmer-extension/vendor/shimmer-web-sdk.cjs b/shimmer-extension/vendor/shimmer-web-sdk.cjs index 0b14889..1c2af20 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.cjs +++ b/shimmer-extension/vendor/shimmer-web-sdk.cjs @@ -473,7 +473,7 @@ function concatU8(a, b) { return out; } /** Read a 16-bit unsigned integer, little-endian. */ -function u16le(b, o) { +function u16le$1(b, o) { return (b[o] | (b[o + 1] << 8)) >>> 0; } /** Read a 16-bit unsigned integer, big-endian. */ @@ -898,7 +898,7 @@ class Shimmer3RClient extends BaseShimmerClient { let base = 0; if (u8[0] === OPCODES.INQUIRY_RESPONSE && u8.length >= 2) base = 1; - const adcRaw = u16le(u8, base + 0); + const adcRaw = u16le$1(u8, base + 0); const samplingRateHz = 32768 / adcRaw; this.samplingRateHz = samplingRateHz; const cfg = BigInt(u8[base + 2]) | @@ -1043,8 +1043,8 @@ class Shimmer3RClient extends BaseShimmerClient { if (buf[0] === preamble && buf[frameBytes] === preamble) { let ts1, ts2; try { - ts1 = tsBytes === 2 ? u16le(buf, 1) : u24le$1(buf, 1); - ts2 = tsBytes === 2 ? u16le(buf, frameBytes + 1) : u24le$1(buf, frameBytes + 1); + ts1 = tsBytes === 2 ? u16le$1(buf, 1) : u24le$1(buf, 1); + ts2 = tsBytes === 2 ? u16le$1(buf, frameBytes + 1) : u24le$1(buf, frameBytes + 1); } catch { buf = buf.subarray(1); @@ -1061,7 +1061,7 @@ class Shimmer3RClient extends BaseShimmerClient { try { let cursor = 1; const oc = new ObjectCluster(this.device?.name ?? 'Shimmer3R'); - const ts = tsBytes === 2 ? u16le(frame, cursor) : u24le$1(frame, cursor); + const ts = tsBytes === 2 ? u16le$1(frame, cursor) : u24le$1(frame, cursor); cursor += tsBytes; oc.add('TIMESTAMP', ts, 'ticks', 'raw'); for (const f of sch.fields) { @@ -1071,10 +1071,10 @@ class Shimmer3RClient extends BaseShimmerClient { let v; switch (f.fmt) { case 'i16': - v = f.endian === 'be' ? sign16(u16be(frame, cursor)) : sign16(u16le(frame, cursor)); + v = f.endian === 'be' ? sign16(u16be(frame, cursor)) : sign16(u16le$1(frame, cursor)); break; case 'u16': - v = f.endian === 'be' ? u16be(frame, cursor) : u16le(frame, cursor); + v = f.endian === 'be' ? u16be(frame, cursor) : u16le$1(frame, cursor); break; case 'i24': v = f.endian === 'be' ? sign24(u24be(frame, cursor)) : sign24(u24le$1(frame, cursor)); @@ -1093,7 +1093,7 @@ class Shimmer3RClient extends BaseShimmerClient { v = frame[cursor]; break; default: - v = u16le(frame, cursor); + v = u16le$1(frame, cursor); } cursor += f.sizeBytes; oc.add(f.name, v, null, 'raw'); @@ -1230,18 +1230,80 @@ const NUS_TX = '6e400002-b5a3-f393-e0a9-e50e24dcca9e'; /** NUS RX characteristic UUID (host subscribes to notifications from this). */ const NUS_RX = '6e400003-b5a3-f393-e0a9-e50e24dcca9e'; // --------------------------------------------------------------------------- -// Protocol command bytes +// Verisense protocol command/property constants // --------------------------------------------------------------------------- -/** Request the device to send logged data. */ -const READ_DATA_REQ = new Uint8Array([0x12, 0x00, 0x00]); -/** Request the device to disconnect cleanly. */ -const DISCONNECT_REQ = new Uint8Array([0x2b, 0x00, 0x00]); -/** Acknowledge a correctly-received logged data payload. */ -const DATA_ACK = new Uint8Array([0x82, 0x00, 0x00]); -/** Negative-acknowledge a logged data payload (triggers retransmission). */ -const DATA_NACK = new Uint8Array([0x72, 0x00, 0x00]); -/** Header byte that signals End-of-Stream for logged data transfer. */ -const DATA_EOS_HDR = 0x42; +/** Upper-nibble command classes used in protocol headers. */ +const ASM_COMMAND = Object.freeze({ + READ: 0x10, + WRITE: 0x20, + RESPONSE: 0x30, + ACK: 0x40, + NACK_BAD_HEADER_COMMAND: 0x50, + NACK_BAD_HEADER_PROPERTY: 0x60, + NACK_GENERIC: 0x70, + ACK_NEXT_STAGE: 0x80, +}); +/** Lower-nibble property IDs used in protocol headers. */ +const ASM_PROPERTY = Object.freeze({ + STATUS1: 0x01, + DATA: 0x02, + PRODUCTION_CONFIGURATION: 0x03, + OPERATIONAL_CONFIGURATION: 0x04, + TIME: 0x05, + DFU_MODE: 0x06, + PENDING_EVENTS: 0x07, + TEST_MODE: 0x08, + DEBUG_COMMAND: 0x09, + STREAM_MODE: 0x0a, + DEVICE_DISCONNECT: 0x0b, + STATUS2: 0x0c, +}); +/** Stream mode payload values. */ +const STREAM_MODE = Object.freeze({ + ENABLE: 0x01, + DISABLE: 0x02, +}); +/** Test mode IDs documented by Verisense firmware. */ +const TEST_MODE_ID = Object.freeze({ + STOP: 0x00, + FLASH_8MB_1: 0x01, + FLASH_8MB_2: 0x02, + FLASH_128MB_512MB: 0x03, + EEPROM: 0x04, + ACCEL1_LIS2DW12: 0x05, + BATTERY_VOLTAGE: 0x06, + USB_POWER: 0x07, + ACCEL2_GYRO_LSM6DS3: 0x08, + PPG_MAX86XXX: 0x09, + BIOZ_MAX30002: 0x0b, + ACCEL2_GYRO_LSM6DSV: 0x0c, + MAG_LIS2MDL: 0x0d, + ALL_TESTS: 0xff, +}); +/** Debug command IDs documented by Verisense firmware. */ +const DEBUG_COMMAND_ID = Object.freeze({ + FLASH_LOOKUP_TABLE_READ: 0x01, + FLASH_LOOKUP_TABLE_ERASE: 0x02, + RWC_SCHEDULER_READ: 0x03, + ERASE_128MB_512MB_FLASH: 0x04, + ERASE_8MB_FLASH_1: 0x05, + ERASE_8MB_FLASH_2: 0x06, + ERASE_OPERATIONAL_CONFIG: 0x07, + ERASE_PRODUCTION_CONFIG: 0x08, + CLEAR_PENDING_EVENTS: 0x09, + ERASE_FLASH_AND_LOOKUP_TABLE: 0x0a, + TEST_DATA_TRANSFER_LOOP: 0x0b, + LOAD_TEST_LOOKUP_TABLE: 0x0c, + LED_TEST: 0x0d, + MAX86XXX_LED_TEST: 0x0e, + CHECK_PAYLOAD_CRC_ERRORS: 0x0f, + READ_EVENT_LOG: 0x10, + POWER_PROFILER_TEST: 0x11, + READ_RECORD_BUFFER_DETAILS: 0x12, + SYSTEM_RESET: 0x13, + IC_POWER_CONSUMPTION_TEST: 0x14, + DELETE_ALL_BONDS: 0x15, +}); // --------------------------------------------------------------------------- // Operational config byte offsets // --------------------------------------------------------------------------- @@ -1305,11 +1367,10 @@ const OP_IDX = Object.freeze({ PROX_AGC_MODE: 71, }); -/** - * Pure byte-manipulation utilities for the Verisense protocol. - * No side-effects; suitable for unit testing without a BLE device. - */ /** Read a 16-bit unsigned integer, little-endian. */ +function u16le(b0, b1) { + return (b1 << 8) | b0; +} /** Read a signed 16-bit integer at byte offset `off`, little-endian. */ function i16le(bytes, off) { const v = bytes[off] | (bytes[off + 1] << 8); @@ -1327,9 +1388,6 @@ function u16le_at(bytes, off) { function nowMillis() { return Date.now(); } -// --------------------------------------------------------------------------- -// CRC-16/CCITT-FALSE -// --------------------------------------------------------------------------- /** * Compute CRC-16/CCITT-FALSE over `bytes`. * @@ -1361,12 +1419,9 @@ function getOriginalCrcLE(payload) { function computeCrcLikeCSharp(payload) { return crc16_ccitt_false(payload.subarray(0, payload.length - 2)); } -// --------------------------------------------------------------------------- -// Operational config normaliser -// --------------------------------------------------------------------------- /** * Convert any reasonable representation of an operational config to a - * `Uint8Array`. Throws if the input type is unrecognised. + * `Uint8Array`. Throws if the input type is unrecognised. */ function normalizeOperationalConfig(payload) { if (!payload) @@ -1383,6 +1438,471 @@ function normalizeOperationalConfig(payload) { } throw new Error('normalizeOperationalConfig: unsupported payload type'); } +/** Alias for arbitrary protocol byte payload normalization. */ +function normalizeBytePayload(payload) { + return normalizeOperationalConfig(payload); +} +/** + * Derive the 6-digit pairing PIN from a Verisense unique identifier. + * + * The PIN is built from digits 2, 4 and 6 (1-based) of the identifier, + * followed by the decimal value of the final byte padded to 3 digits. + */ +function computeVerisensePairingPin(uniqueId) { + const normalized = String(uniqueId ?? '').trim().replace(/^Verisense-/i, ''); + if (!/^[0-9a-fA-F]{8,}$/.test(normalized)) { + throw new Error('computeVerisensePairingPin: uniqueId must be a hex identifier string'); + } + if (normalized.length < 6) { + throw new Error('computeVerisensePairingPin: uniqueId must be at least 6 hex characters'); + } + const prefix = `${normalized[1]}${normalized[3]}${normalized[5]}`; + const suffixHex = normalized.slice(-2); + const suffixDec = Number.parseInt(suffixHex, 16); + return `${prefix}${suffixDec.toString().padStart(3, '0')}`; +} +const PROD_CONFIG_FLAG_DFU_ENABLED = 1 << 0; +const LOG_EVENT_NAMES = { + 0: 'NONE', + 1: 'BATTERY_FALL', + 2: 'BATTERY_RECOVER', + 3: 'WRITE_TO_FLASH_SUCCESS', + 4: 'WRITE_TO_FLASH_FAIL_GENERAL', + 5: 'WRITE_TO_FLASH_FULL', + 6: 'WRITE_TO_FLASH_FAIL_CHECK_ADDR_FREE', + 7: 'WRITE_TO_FLASH_FAIL_LOW_BATT_CHECK_ADDR_FREE', + 8: 'WRITE_TO_FLASH_FAIL_LOW_BATT_FLASH_ON', + 9: 'WRITE_TO_FLASH_FAIL_LOW_BATT_FLASH_WRITE', + 10: 'WRITE_TO_FLASH_FAIL_LOW_BATT_BEFORE_START', + 11: 'USB_PLUGGED_IN_SOFT_DEVICE', + 12: 'USB_PLUGGED_OUT_SOFT_DEVICE', + 13: 'RECORDING_PAUSED', + 14: 'RECORDING_RESUMED', + 15: 'BATTERY_RECOVER_IN_BATT_CHECK_TIMER', + 16: 'TSK_FREE_UP_FLASH', + 17: 'FREE_UP_FLASH_FAIL_LOW_BATT', + 18: 'PAYLOAD_PACKAGING_TASK_SET', + 19: 'PAYLOAD_PACKAGING_FUNCTION_CALL', + 20: 'BATTERY_VOLTAGE', + 21: 'TSK_WRITE_LOOKUP_TBL_CHANGES_TO_EEPROM', + 22: 'LPCOMP_ON', + 23: 'LPCOMP_ON_ALREADY', + 24: 'LPCOMP_OFF', + 25: 'LPCOMP_TRIED_BUT_BATT_LOW', + 26: 'BLE_CONNECTED', + 27: 'BLE_DISCONNECTED', + 28: 'TSK_WRITE_FLASH', + 29: 'PPG_TIMER_START', + 30: 'PAYLOAD_OVERSHOT', + 31: 'ADVERTISING_START', + 32: 'ADVERTISING_STOP', + 33: 'NIMH_BATT_PPG_BLOCKED_BLE_RETRY', + 34: 'NIMH_BATT_PPG_BLOCKED_BLE_ADAPT_SCH', + 35: 'NIMH_BATT_PPG_BLOCKED_BLE_PENDING_EVENTS', + 36: 'NIMH_BATT_BLE_BLOCKED_PPG', + 37: 'USB_PORT_OPEN', + 38: 'USB_PORT_CLOSED', + 39: 'FIFO_INT_SAFETY_CHECK_EVENT_ACCEL1', + 40: 'FIFO_INT_SAFETY_CHECK_EVENT_ACCEL2GYRO', + 41: 'FIFO_INT_SAFETY_CHECK_EVENT_MAX86XXX', + 42: 'FIFO_INT_SAFETY_CHECK_EVENT_MAX3000X', + 43: 'FIFO_INT_SAFETY_CHECK_EVENT_ADC', + 44: 'USB_PLUGGED_IN_PIN_HANDLER', + 45: 'USB_PLUGGED_OUT_PIN_HANDLER', + 46: 'BATTERY_CHARGER_STATUS_BAD_BATTERY', + 47: 'BATTERY_CHARGER_STATUS_CHARGING', + 48: 'BATTERY_CHARGER_STATUS_CHARGING_COMPLETE', + 49: 'BATTERY_CHARGER_STATUS_POWER_DOWN', + 50: 'LTC4123_RECOVERY_ATTEMPT', + 51: 'LTC4123_RECOVERY_GAVE_UP', + 52: 'LTC4123_CHRG_COMPLETE_OVERRIDDEN_BAD_BATT', +}; +const LOOKUP_STATUS_NAMES = { + 0: 'Zero', + 1: 'Full', + 2: '2Del', + 3: 'Emty', + 4: 'Bad', + 5: 'NUse', +}; +function u32le_at(bytes, off) { + return (((bytes[off] ?? 0) | + ((bytes[off + 1] ?? 0) << 8) | + ((bytes[off + 2] ?? 0) << 16) | + ((bytes[off + 3] ?? 0) << 24)) >>> + 0); +} +function decodeAsciiTrimFF(bytes) { + let end = bytes.length; + while (end > 0 && bytes[end - 1] === 0xff) + end--; + if (end === 0) + return ''; + return new TextDecoder().decode(bytes.slice(0, end)); +} +/** Convert unix seconds into Verisense 7-byte RTC payload (4-byte minutes + 3-byte ticks). */ +function unixSecondsToAsmRtcBytes(unixSeconds) { + if (!Number.isFinite(unixSeconds) || unixSeconds < 0) { + throw new Error('unixSecondsToAsmRtcBytes: unixSeconds must be a finite positive number'); + } + const minutes = Math.floor(unixSeconds / 60); + const secondsInMinute = unixSeconds - minutes * 60; + const ticks = Math.floor(secondsInMinute * 32768); + return new Uint8Array([ + minutes & 0xff, + (minutes >> 8) & 0xff, + (minutes >> 16) & 0xff, + (minutes >> 24) & 0xff, + ticks & 0xff, + (ticks >> 8) & 0xff, + (ticks >> 16) & 0xff, + ]); +} +/** Convert Verisense 7-byte RTC payload into unix seconds. */ +function asmRtcBytesToUnixSeconds(rtc7) { + if (rtc7.length !== 7) { + throw new Error('asmRtcBytesToUnixSeconds: payload must be exactly 7 bytes'); + } + const minutes = u32le_at(rtc7, 0); + const ticks = u24le(rtc7, 4); + return minutes * 60 + ticks / 32768.0; +} +/** Convert Verisense 8-byte minute counter payload into unix seconds. */ +function asmRtcMinutesBytesToUnixSeconds(minutes8) { + if (minutes8.length !== 8) { + throw new Error('asmRtcMinutesBytesToUnixSeconds: payload must be exactly 8 bytes'); + } + let minutes = 0n; + for (let i = 0; i < 8; i++) { + minutes |= BigInt(minutes8[i]) << BigInt(i * 8); + } + return Number(minutes) * 60; +} +/** + * Build a production configuration payload (56 bytes) from structured options. + * This matches the Python tooling layout used by ASM_BLE.py / ASM_Device.py. + */ +function buildProductionConfigPayload(opts) { + const mo = String(opts.manufacturingOrderNumberHex ?? '').trim(); + const mac = String(opts.macIdHex ?? '').trim(); + if (!/^[0-9a-fA-F]{8}$/.test(mo)) { + throw new Error('buildProductionConfigPayload: manufacturingOrderNumberHex must be 8 hex chars'); + } + if (!/^[0-9a-fA-F]{4}$/.test(mac)) { + throw new Error('buildProductionConfigPayload: macIdHex must be 4 hex chars'); + } + const uniqueBytes = new Uint8Array(6); + uniqueBytes.set(new Uint8Array(mo.match(/../g).map((h) => Number.parseInt(h, 16))), 0); + uniqueBytes.set(new Uint8Array(mac.match(/../g).map((h) => Number.parseInt(h, 16))), 4); + uniqueBytes.reverse(); + const revHwInternal = (opts.revHwInternal ?? 0) & 0xffff; + const revFwInternal = (opts.revFwInternal ?? 0) & 0xffff; + const out = new Uint8Array(56); + out[0] = 0x5a; + out.set(uniqueBytes, 1); + out[7] = opts.revHwMajor & 0xff; + out[8] = opts.revHwMinor & 0xff; + out[9] = opts.revFwMajor & 0xff; + out[10] = opts.revFwMinor & 0xff; + out[11] = revFwInternal & 0xff; + out[12] = (revFwInternal >> 8) & 0xff; + out[13] = revHwInternal & 0xff; + out[14] = (revHwInternal >> 8) & 0xff; + out.fill(0xff, 15, 56); + const passkeyId = opts.passkeyId ?? ''; + if (passkeyId.length > 0) { + if (passkeyId.length !== 2) { + throw new Error('buildProductionConfigPayload: passkeyId must be 2 chars when provided'); + } + out.set(new TextEncoder().encode(passkeyId), 15); + } + const passkey = opts.passkey ?? ''; + if (passkey.length > 0) { + if (passkey.length !== 6) { + throw new Error('buildProductionConfigPayload: passkey must be 6 chars when provided'); + } + out.set(new TextEncoder().encode(passkey), 17); + } + const advPrefix = opts.advertisingNamePrefix ?? ''; + if (advPrefix.length > 32) { + throw new Error('buildProductionConfigPayload: advertisingNamePrefix must be <= 32 chars'); + } + if (advPrefix.length > 0) { + out.set(new TextEncoder().encode(advPrefix), 23); + } + if (opts.dfuEnabled ?? true) { + out[55] = PROD_CONFIG_FLAG_DFU_ENABLED; + } + return out; +} +/** Parse production configuration with optional passkey/name/flag fields. */ +function parseProductionConfigPayloadFull(response) { + if (response.length < 11) { + throw new Error('parseProductionConfigPayloadFull: payload must be at least 11 bytes'); + } + const base = parseProductionConfigPayload(response); + const uniqueIdentifier = [...response.slice(1, 7)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join('') + .toUpperCase(); + const revHwMajor = response[7] ?? 0; + const revHwMinor = response[8] ?? 0; + const revFwMajor = response[9] ?? 0; + const revFwMinor = response[10] ?? 0; + const revFwInternal = response.length >= 13 ? u16le_at(response, 11) : 0; + const revHwInternal = response.length >= 15 ? u16le_at(response, 13) : 0; + const passkeyId = response.length >= 17 ? decodeAsciiTrimFF(response.slice(15, 17)) : ''; + const passkey = response.length >= 23 ? decodeAsciiTrimFF(response.slice(17, 23)) : ''; + const advertisingNamePrefix = response.length >= 55 ? decodeAsciiTrimFF(response.slice(23, 55)) : ''; + const dfuEnabled = response.length >= 56 ? !!(response[55] & PROD_CONFIG_FLAG_DFU_ENABLED) : true; + return { + ...base, + manufacturingOrderNumber: uniqueIdentifier.slice(0, 8), + macId: uniqueIdentifier.slice(8, 12), + uniqueIdentifier, + revHwMajor, + revHwMinor, + revHwInternal, + revFwMajor, + revFwMinor, + revFwInternal, + passkeyId, + passkey, + advertisingNamePrefix, + dfuEnabled, + }; +} +/** + * Parse STATUS1/STATUS2 payload into a typed object. + * + * This ports the core byte parsing from ASM_Device.parse_status while keeping + * the output concise and UI-friendly. + */ +function parseStatusPayload(response, sourceStatusProperty = 'status1') { + if (response.length < 24) { + throw new Error('parseStatusPayload: payload must be at least 24 bytes'); + } + const uniqueIdentifier = [...response.slice(0, 6)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join('') + .toUpperCase(); + const hasTickFields = response.length >= 56; + const hasExtendedCapacity = response.length >= 65; + const statusTimestampSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(6, 10), ...response.slice(34, 37)])) + : u32le_at(response, 6) * 60; + const batteryMilliVolts = u16le_at(response, 10); + const batteryPercent = response[12] ?? 0; + const lastOkTransferSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(13, 17), ...response.slice(37, 40)])) + : u32le_at(response, 13) * 60; + const lastFailTransferSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(17, 21), ...response.slice(40, 43)])) + : u32le_at(response, 17) * 60; + const memoryFreeKb = hasExtendedCapacity + ? ((response[21] | (response[22] << 8) | (response[23] << 16) | (response[57] << 24)) >>> 0) + : ((response[21] | (response[22] << 8) | (response[23] << 16)) >>> 0); + const memoryCapacityKb = hasExtendedCapacity ? u32le_at(response, 60) : null; + const memoryUsedKb = memoryCapacityKb == null ? null : Math.max(0, memoryCapacityKb - memoryFreeKb); + const batteryFallCounter = response.length >= 26 ? u16le_at(response, 24) : null; + let statusFlags = null; + if (response.length >= 34) { + const f = response[26]; + statusFlags = { + usbPluggedIn: (f & 0x01) !== 0, + recordingPaused: (f & 0x02) !== 0, + flashIsFull: (f & 0x04) !== 0, + powerIsGood: (f & 0x08) !== 0, + adaptiveSchedulerOn: (f & 0x10) !== 0, + dfuServiceOn: (f & 0x20) !== 0, + firstBoot: (f & 0x40) !== 0, + repeatedBatteryMeasurement: (f & 0x80) !== 0, + }; + } + return { + uniqueIdentifier, + sourceStatusProperty, + statusTimestampSeconds, + batteryMilliVolts, + batteryPercent, + lastOkTransferSeconds, + lastFailTransferSeconds, + memoryFreeKb, + memoryCapacityKb, + memoryUsedKb, + statusFlags, + batteryFallCounter, + }; +} +/** Parse scheduler debug response payload from DEBUG_COMMAND_ID.RWC_SCHEDULER_READ. */ +function parseSchedulerDebugPayload(payload) { + if (payload.length < 42) { + throw new Error('parseSchedulerDebugPayload: payload is too short'); + } + let idx = 0; + const currentTimeUnixSeconds = asmRtcBytesToUnixSeconds(payload.slice(idx, idx + 7)); + idx += 7; + const bleControlByte = payload[idx++] ?? 0xff; + const bleControlCounter = bleControlByte === 0x00 + ? 'data-transfer' + : bleControlByte === 0x01 + ? 'status1' + : bleControlByte === 0x02 + ? 'rtc-sync' + : bleControlByte === 0x03 + ? 'status2' + : bleControlByte === 0xff + ? 'never' + : 'unknown'; + const next8 = () => { + const v = asmRtcMinutesBytesToUnixSeconds(payload.slice(idx, idx + 8)); + idx += 8; + return v; + }; + const out = { + currentTimeUnixSeconds, + bleControlCounter, + pendingDataTransferUnixSeconds: next8(), + pendingStatus1UnixSeconds: next8(), + pendingRtcSyncUnixSeconds: next8(), + pendingRetryUnixSeconds: next8(), + retryCount: payload[idx++] ?? 0, + retryOperation: (payload[idx++] ?? 0) === 1 ? 'ble-on' : 'ble-off', + }; + if (payload.length >= idx + 10) { + out.adaptiveScheduler = { + nextUnixSeconds: next8(), + enabled: (payload[idx++] ?? 0) === 1, + syncFailCounter: payload[idx++] ?? 0, + }; + } + if (payload.length >= idx + 11) { + const nextUnixSeconds = next8(); + const op = payload[idx++] ?? 0; + out.ltfRetry = { + nextUnixSeconds, + currentOperation: op === 0 + ? 'flash-write-retry-inactive' + : op === 1 + ? 'short-flash-write-retry' + : op === 2 + ? 'attempt-flash-write' + : op === 3 + ? 'long-flash-write-retry' + : op === 4 + ? 'sensor-paused-until-usb-plug-in' + : 'unknown', + failCounterShort: payload[idx++] ?? 0, + failCounterLong: payload[idx++] ?? 0, + }; + } + if (payload.length >= idx + 8) { + out.pendingStatus2UnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.ppgMeasurementUnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.stepCounterResetUnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.sensorInactivityUnixSeconds = next8(); + } + return out; +} +/** Parse debug payload listing bank indexes with bad CRC (2-byte LE entries). */ +function parsePayloadCrcErrorBankIndexes(payload) { + if (payload.length % 2 !== 0) { + throw new Error('parsePayloadCrcErrorBankIndexes: payload length must be even'); + } + const out = []; + for (let i = 0; i < payload.length; i += 2) + out.push(u16le_at(payload, i)); + return out; +} +/** Parse 8-byte debug event-log entries. */ +function parseEventLogPayload(payload) { + if (payload.length % 8 !== 0) { + throw new Error('parseEventLogPayload: payload length must be a multiple of 8'); + } + const out = []; + for (let i = 0; i < payload.length; i += 8) { + const entry = payload.slice(i, i + 8); + const eventId = entry[7]; + if (eventId === 0) + continue; + out.push({ + index: i / 8, + eventId, + eventName: LOG_EVENT_NAMES[eventId] ?? `EVENT_${eventId}`, + timestampUnixSeconds: eventId === 20 ? null : asmRtcBytesToUnixSeconds(entry.slice(0, 7)), + batteryMilliVolts: eventId === 20 ? u24le(entry, 0) : null, + }); + } + return out; +} +/** Parse record-buffer details payload (26-byte current layout, 19-byte legacy layout). */ +function parseRecordBufferDetailsPayload(payload) { + const bytesPerBuffer = payload.length % 26 === 0 ? 26 : payload.length % 19 === 0 ? 19 : 0; + if (!bytesPerBuffer) { + throw new Error('parseRecordBufferDetailsPayload: unsupported payload length'); + } + const out = []; + for (let i = 0; i < payload.length; i += bytesPerBuffer) { + const row = payload.slice(i, i + bytesPerBuffer); + out.push({ + bufferIndex: row[0], + bufferState: row[1], + packagedPayloadIndex: u16le_at(row, 2), + currentByteIndexForSensorData: u16le_at(row, 4), + usedBufferLength: u16le_at(row, 6), + fifoTicks: u16le_at(row, 8), + dataTimestampRwcMinutes: u32le_at(row, 10), + dataTimestampRwcTicks: u24le(row, 14), + temperatureData: u16le_at(row, 17), + dataTimestampUcClockMinutes: bytesPerBuffer >= 23 ? u32le_at(row, 19) : null, + dataTimestampUcClockTicks: bytesPerBuffer >= 26 ? u24le(row, 23) : null, + }); + } + return out; +} +/** + * Parse lookup-table debug payload entries (3 bytes per bank), with optional + * 4-byte tail/head prefix present in older firmware debug responses. + */ +function parseLookupTablePayload(payload, totalBanks) { + const bytesPerBank = 3; + const expectedNoHeadTail = totalBanks * bytesPerBank; + const expectedWithHeadTail = expectedNoHeadTail + 4; + let data = payload; + let head = null; + let tail = null; + if (payload.length === expectedWithHeadTail) { + tail = u16le_at(payload, 0); + head = u16le_at(payload, 2); + data = payload.slice(4); + } + else if (payload.length !== expectedNoHeadTail) { + throw new Error(`parseLookupTablePayload: payload length ${payload.length} does not match expected ${expectedNoHeadTail} or ${expectedWithHeadTail}`); + } + const entries = []; + for (let bankIndex = 0; bankIndex < totalBanks; bankIndex++) { + const off = bankIndex * bytesPerBank; + const statusByte = data[off]; + const pendingEepromWrite = (statusByte & 0x80) !== 0; + const statusCode = statusByte & 0x7f; + entries.push({ + bankIndex, + statusCode, + statusName: LOOKUP_STATUS_NAMES[statusCode] ?? 'Unknown', + pendingEepromWrite, + payloadIndex: u16le_at(data, off + 1), + }); + } + return { head, tail, entries }; +} /** * Parse the production config response payload into a structured object. */ @@ -1414,6 +1934,154 @@ function parseProductionConfigPayload(response) { }; } +/** Build a protocol header byte from command/property nibbles. */ +function buildHeader(command, property) { + return ((command & 0xf0) | (property & 0x0f)) & 0xff; +} +/** Decode a protocol header byte into command/property fields. */ +function parseHeader(header) { + return { + command: (header & 0xf0), + property: (header & 0x0f), + }; +} +/** Build a complete protocol message (header + 16-bit LE payload length + payload bytes). */ +function buildMessage(command, property, payloadBytes = []) { + const payload = payloadBytes instanceof Uint8Array ? payloadBytes : new Uint8Array(payloadBytes); + const out = new Uint8Array(3 + payload.length); + out[0] = buildHeader(command, property); + out[1] = payload.length & 0xff; + out[2] = (payload.length >> 8) & 0xff; + out.set(payload, 3); + return out; +} +/** Parse a complete protocol message into structured fields. */ +function parseMessage(msg) { + if (msg.length < 3) + throw new Error('Invalid Verisense message: header is incomplete'); + const header = msg[0]; + const payloadLength = u16le(msg[1], msg[2]); + if (msg.length !== payloadLength + 3) { + throw new Error(`Invalid Verisense message: length=${payloadLength}, actualPayload=${Math.max(0, msg.length - 3)}`); + } + const { command, property } = parseHeader(header); + return { + header, + command, + property, + payloadLength, + payload: msg.slice(3), + }; +} +function isAckCommand(command) { + return command === ASM_COMMAND.ACK || command === ASM_COMMAND.ACK_NEXT_STAGE; +} +function isNackCommand(command) { + return (command === ASM_COMMAND.NACK_BAD_HEADER_COMMAND || + command === ASM_COMMAND.NACK_BAD_HEADER_PROPERTY || + command === ASM_COMMAND.NACK_GENERIC); +} +/** Convert a pending-events payload (property IDs) into a typed array. */ +function parsePendingEvents(payload) { + const out = []; + for (let i = 0; i < payload.length; i++) + out.push((payload[i] & 0x0f)); + return out; +} + +function pad2(n) { + return Math.trunc(n).toString().padStart(2, '0'); +} +function pad5(n) { + return Math.trunc(n).toString().padStart(5, '0'); +} +function dateToYyMMddHHmmss(date) { + const yy = pad2(date.getUTCFullYear() % 100); + const mm = pad2(date.getUTCMonth() + 1); + const dd = pad2(date.getUTCDate()); + const hh = pad2(date.getUTCHours()); + const min = pad2(date.getUTCMinutes()); + const ss = pad2(date.getUTCSeconds()); + return `${yy}${mm}${dd}_${hh}${min}${ss}`; +} +/** Build a binary upload file name: yyMMdd_HHmmss_00000.bin */ +function buildUploadBinaryFileName(uploadDate, firstPayloadIndex) { + if (!Number.isFinite(firstPayloadIndex) || firstPayloadIndex < 0 || firstPayloadIndex > 0xffff) { + throw new Error('buildUploadBinaryFileName: firstPayloadIndex must be in range 0..65535'); + } + return `${dateToYyMMddHHmmss(uploadDate)}_${pad5(firstPayloadIndex)}.bin`; +} +/** Build parsed CSV file name: yyMMdd_HHmmss_DataSource_00000.csv */ +function buildParsedCsvFileName(startDate, dataSource, firstPayloadIndex) { + if (!dataSource || !String(dataSource).trim()) { + throw new Error('buildParsedCsvFileName: dataSource must be a non-empty string'); + } + if (!Number.isFinite(firstPayloadIndex) || firstPayloadIndex < 0 || firstPayloadIndex > 0xffff) { + throw new Error('buildParsedCsvFileName: firstPayloadIndex must be in range 0..65535'); + } + return `${dateToYyMMddHHmmss(startDate)}_${String(dataSource).trim()}_${pad5(firstPayloadIndex)}.csv`; +} +/** Add duplicate suffix like " (2)" before extension. */ +function applyDuplicateSuffix(fileName, duplicateIndex) { + if (duplicateIndex < 2) { + throw new Error('applyDuplicateSuffix: duplicateIndex must be >= 2'); + } + const idx = fileName.lastIndexOf('.'); + if (idx <= 0) + return `${fileName} (${duplicateIndex})`; + const stem = fileName.slice(0, idx); + const ext = fileName.slice(idx); + return `${stem} (${duplicateIndex})${ext}`; +} +/** Return first non-colliding duplicate name for a target file name. */ +function nextAvailableDuplicateFileName(fileName, existingNames) { + const existing = new Set(existingNames); + if (!existing.has(fileName)) + return fileName; + let i = 2; + while (true) { + const candidate = applyDuplicateSuffix(fileName, i); + if (!existing.has(candidate)) + return candidate; + i++; + } +} +/** Parse first payload index (uint16 LE) from a payload byte array. */ +function getFirstPayloadIndex(payload) { + if (payload.length < 2) { + throw new Error('getFirstPayloadIndex: payload must contain at least 2 bytes'); + } + return u16le_at(payload, 0); +} +/** + * Evaluate whether parsed CSV output should roll to a new file. + * Rules mirror ASM-DES08 split conditions. + */ +function evaluateParsedFileSplit(input) { + const reasons = []; + const prev = input.prevTimestampSec; + const curr = input.currTimestampSec; + // Split when crossing 12:00am or 12:00pm boundaries. + const prevHalfDay = Math.floor(prev / (12 * 60 * 60)); + const currHalfDay = Math.floor(curr / (12 * 60 * 60)); + if (currHalfDay !== prevHalfDay) + reasons.push('midday-midnight-boundary'); + if ((input.prevConfigSignature ?? null) !== (input.currConfigSignature ?? null)) { + reasons.push('config-change'); + } + if (input.expectedDeltaSec != null) { + const tol = Math.max(0, input.timestampToleranceSec ?? 0); + const delta = curr - prev; + if (Math.abs(delta - input.expectedDeltaSec) > tol) { + reasons.push('timestamp-discontinuity'); + } + } + if (input.powerResetDetected) { + reasons.push('power-reset'); + } + return { shouldSplit: reasons.length > 0, reasons }; +} + /** * Abstract base class for all Verisense sensor decoders. * @@ -1501,15 +2169,16 @@ SensorBase.CLOCK_FREQ = 32768; SensorBase.TICKS_MAX_VALUE = 60 * 32768; /** - * Decoder for the GSR (galvanic skin response) sensor (Verisense sensor id = 1). + * Decoder for grouped ADC channels (Verisense sensor id = 1). * + * Includes GSR plus battery/ADC channels carried in the same packet source. * Implements C# `SensorGSR.cs` including: * - Per-hardware reference resistor selection (SR68 vs Shimmer3 resistors). * - Auto-range decoding from the raw ADC value's upper bits. * - Range-3 clamping threshold that differs by hardware. - * - Conductance (ยตS) output with connectivity detection. + * - Conductance (uS) output with connectivity detection. */ -class SensorGSR extends SensorBase { +class SensorADC extends SensorBase { constructor() { super(); this.LIMIT_MIN_VALID_USIEMENS = 0.03; @@ -1519,7 +2188,7 @@ class SensorGSR extends SensorBase { this.SR68_REF_KOHMS = [21.0, 150.0, 562.0, 1740.0]; this.gsrEnabled = true; this.battEnabled = false; - /** GSR range 0โ€“3 (fixed) or 4 (auto-range). */ + /** GSR range 0-3 (fixed) or 4 (auto-range). */ this.gsrRangeSetting = 4; this.hardwareIdentifier = 'VERISENSE_PULSE_PLUS'; // Decoded from opConfig for debug/display @@ -1534,18 +2203,6 @@ class SensorGSR extends SensorBase { setGsrRangeSetting(v) { this.gsrRangeSetting = v; } - // Convenience aliases - setGSREnabled(enabled, opConfigBytes) { - return this.setEnabled(enabled, opConfigBytes); - } - setBattEnabled(enabled, opConfigBytes) { - return this.setEnabled({ batt: enabled }, opConfigBytes); - } - /** - * Dual-mode setter: - * - If `opConfigBytes` is provided: returns a new Uint8Array with the enable bits patched. - * - Otherwise: updates local decoder flags only. - */ setEnabled(arg1, opConfigBytes) { if (opConfigBytes != null) { const desired = typeof arg1 === 'boolean' ? { gsr: arg1 } : arg1 && typeof arg1 === 'object' ? arg1 : {}; @@ -1571,7 +2228,6 @@ class SensorGSR extends SensorBase { } return out; } - // --- Operational config patch helpers --- patchGsrRange(rangeCfg, op) { const out = new Uint8Array(op); const i = OP_IDX.ADC_CHANNEL_SETTINGS_1; @@ -1590,7 +2246,6 @@ class SensorGSR extends SensorBase { out[i] = (out[i] & 0b00001111) | ((overCfg & 0x0f) << 4); return out; } - // --- Calibration --- calibrateAdcToVolts(uncal12bit) { const adcRange = 2 ** 12 - 1; let refVoltage = 1.8 / 4.0; @@ -1652,9 +2307,28 @@ class SensorGSR extends SensorBase { gsr = { raw: gsrraw, adc12, range: currentRange, volts, kOhms, uS, connectivity }; } if (this.battEnabled) { - const braw = i16le(sensorPayloadBytes, base) & 0x0fff; - const mv = this.calibrateAdcToVolts(braw) * 1000.0; - batt = { raw: braw, mV: mv }; + const raw16 = i16le(sensorPayloadBytes, base) & 0xffff; + const adc12 = raw16 & 0x0fff; + const usbPluggedIn = ((raw16 >> 15) & 0x01) === 1; + const chargerStatusBits = (raw16 >> 13) & 0x03; + let mv = this.calibrateAdcToVolts(adc12) * 1000.0; + if (this.hardwareIdentifier === 'VERISENSE_GSR_PLUS') { + mv *= 1.988; + } + const chargerStatusMap = { + 0: 'Power-Down/Suspended', + 1: 'Charging', + 2: 'Charging Complete', + 3: 'Bad Battery/LDO', + }; + batt = { + raw16, + adc12, + mV: mv, + usbPluggedIn, + chargerStatusBits, + chargerStatus: chargerStatusMap[chargerStatusBits] ?? 'Unknown', + }; } out.push({ gsr, batt }); } @@ -2030,6 +2704,39 @@ class SensorPPG extends SensorBase { } } +function defaultAcceptedCommands(command) { + if (command === ASM_COMMAND.READ) + return new Set([ASM_COMMAND.RESPONSE]); + if (command === ASM_COMMAND.WRITE) { + return new Set([ + ASM_COMMAND.ACK, + ASM_COMMAND.ACK_NEXT_STAGE, + ASM_COMMAND.RESPONSE, + ]); + } + return new Set([ASM_COMMAND.ACK, ASM_COMMAND.ACK_NEXT_STAGE, ASM_COMMAND.RESPONSE]); +} +function toCommandResponse(msg) { + return { + header: msg.header, + command: msg.command, + property: msg.property, + payload: msg.payload, + }; +} +function validatePendingResponse(pending, msg) { + if (isNackCommand(msg.command)) { + return new Error(`Device returned NACK command=0x${msg.command.toString(16)} property=0x${msg.property.toString(16)}`); + } + if (msg.property !== pending.expectedProperty) { + return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected 0x${pending.expectedProperty.toString(16)})`); + } + if (!pending.acceptedCommands.has(msg.command)) { + return new Error(`Unexpected response command 0x${msg.command.toString(16)} for property 0x${msg.property.toString(16)}`); + } + return null; +} + // --------------------------------------------------------------------------- // VerisenseBleDevice // --------------------------------------------------------------------------- @@ -2040,7 +2747,7 @@ class SensorPPG extends SensorBase { * (on/off/emit) for the richer event model the Verisense protocol needs. * * Supports: - * - BLE streaming (accel, GSR, gyro, PPG) + * - BLE streaming (accel, ADC/GSR, gyro, PPG) * - Web Serial (USB COM port) as an alternative transport * - Logged-data download (`transferLoggedData`) * - Operational config read/write @@ -2090,9 +2797,6 @@ class VerisenseBleDevice extends BaseShimmerClient { // Protocol state this._mode = 'idle'; this._rxStreamBuf = new Uint8Array(0); - this._buf = new Uint8Array(0); - this._newPayload = true; - this._expectedLen = 0; this._pending = null; this._loggedChain = Promise.resolve(); this._sync = null; @@ -2107,7 +2811,7 @@ class VerisenseBleDevice extends BaseShimmerClient { this.stripStreamCrc = opts.stripStreamCrc ?? true; this.verifyStreamCrc = opts.verifyStreamCrc ?? false; this.sensors = { - 1: new SensorGSR(), + 1: new SensorADC(), 2: new SensorLIS2DW12(), 3: new SensorLSM6DS3(), 4: new SensorPPG(), @@ -2118,8 +2822,8 @@ class VerisenseBleDevice extends BaseShimmerClient { if (this.debug) console.log('[Verisense]', ...args); } - // Quick access aliases - get gsr() { + // Quick accessors + get adc() { return this.sensors[1]; } get accel1() { @@ -2370,7 +3074,9 @@ class VerisenseBleDevice extends BaseShimmerClient { } } else { - void this.writeBytes(DISCONNECT_REQ, { withResponse: false }); + void this.writeBytes(buildMessage(ASM_COMMAND.WRITE, ASM_PROPERTY.DEVICE_DISCONNECT), { + withResponse: false, + }); try { if (this.rx) await this.rx.stopNotifications?.(); @@ -2407,13 +3113,12 @@ class VerisenseBleDevice extends BaseShimmerClient { // Streaming // --------------------------------------------------------------------------- async startStreaming() { + await this.setStreamingMode(true); this._mode = 'streaming'; - this._resetAssembler(); - await this.writeBytes(this._makeReq(0x2a, [0x01])); this.emit('streaming', { on: true }); } async stopStreaming() { - await this.writeBytes(this._makeReq(0x2a, [0x02])); + await this.setStreamingMode(false); this._mode = 'idle'; this.emit('streaming', { on: false }); } @@ -2474,11 +3179,13 @@ class VerisenseBleDevice extends BaseShimmerClient { return; try { if (this._sync.lastReply === 'NONE') { - await this.writeBytes(READ_DATA_REQ, { withResponse: true }); + await this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }); } else { this._clearSyncRxBuffers('timeout-nack'); - await this.writeBytes(DATA_NACK); + await this.writeBytes(buildMessage(ASM_COMMAND.NACK_GENERIC, ASM_PROPERTY.DATA)); this._sync.nackCount++; this._sync.lastReply = 'NACK'; if (this._sync.nackCount >= this._sync.maxNack) @@ -2495,7 +3202,9 @@ class VerisenseBleDevice extends BaseShimmerClient { } }, Math.max(250, Math.floor(timeoutMs / 2))); try { - await this.writeBytes(READ_DATA_REQ, { withResponse: true }); + await this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }); const result = await donePromise; await (this._loggedChain ?? Promise.resolve()); if (!fileHandle) { @@ -2536,31 +3245,25 @@ class VerisenseBleDevice extends BaseShimmerClient { await this.tx.writeValue(toArrayBuffer(u8)); } } - _makeReq(opcode, payloadBytes = []) { - const p = payloadBytes instanceof Uint8Array ? payloadBytes : new Uint8Array(payloadBytes); - const out = new Uint8Array(3 + p.length); - out[0] = opcode & 0xff; - out[1] = p.length & 0xff; - out[2] = (p.length >> 8) & 0xff; - out.set(p, 3); - return out; - } - async request(opcode, payloadBytes = [], timeoutMs = 3000) { + async _requestByCommand(command, property, payloadBytes = [], timeoutMs = 3000, acceptedCommands) { if (this._pending) throw new Error('A request is already pending'); this._mode = 'command'; this._resetAssembler(); - const req = this._makeReq(opcode, payloadBytes); - const p = new Promise((resolve, reject) => { + const req = buildMessage(command, property, payloadBytes); + const accepted = acceptedCommands ?? defaultAcceptedCommands(command); + const pendingPromise = new Promise((resolve, reject) => { const t = setTimeout(() => { this._pending = null; reject(new Error('Request timeout')); }, timeoutMs); this._pending = { - resolve: (x) => { + expectedProperty: property, + acceptedCommands: accepted, + resolve: (resp) => { clearTimeout(t); this._pending = null; - resolve(x); + resolve(resp); }, reject: (e) => { clearTimeout(t); @@ -2570,29 +3273,207 @@ class VerisenseBleDevice extends BaseShimmerClient { }; }); await this.writeBytes(req); - return p; + return pendingPromise; + } + async readProperty(property, timeoutMs = 3000) { + return this._requestByCommand(ASM_COMMAND.READ, property, [], timeoutMs); + } + async writeProperty(property, payloadBytes = [], timeoutMs = 3000) { + return this._requestByCommand(ASM_COMMAND.WRITE, property, payloadBytes, timeoutMs); } - // Convenience command methods + async request(opcode, payloadBytes = [], timeoutMs = 3000) { + const { command, property } = parseHeader(opcode & 0xff); + const rsp = await this._requestByCommand(command, property, payloadBytes, timeoutMs); + return { payload: rsp.payload }; + } + // Convenience command methods (all protocol properties) readStatus() { - return this.request(0x11); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.STATUS1); + } + async readStatusParsed() { + const { payload } = await this.readStatus(); + return parseStatusPayload(payload, 'status1'); } readStatus2() { - return this.request(0x1c); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.STATUS2); + } + async readStatus2Parsed() { + const { payload } = await this.readStatus2(); + return parseStatusPayload(payload, 'status2'); + } + readData() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.DATA); } readProductionConfig() { - return this.request(0x13); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.PRODUCTION_CONFIGURATION); } readOperationalConfig() { - return this.request(0x14); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.OPERATIONAL_CONFIGURATION); } readTime() { - return this.request(0x15); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.TIME); + } + async readTimeUnixSeconds() { + const { payload } = await this.readTime(); + return asmRtcBytesToUnixSeconds(payload); } readPendingEvents() { - return this.request(0x17); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.PENDING_EVENTS); + } + async readPendingEventsParsed() { + const { payload } = await this.readPendingEvents(); + return parsePendingEvents(payload); + } + async writeProductionConfig(bytes) { + const payload = normalizeBytePayload(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)); + if (!payload || payload.length < 11 || payload.length > 56) { + throw new Error('writeProductionConfig: payload length must be between 11 and 56 bytes'); + } + await this.writeProperty(ASM_PROPERTY.PRODUCTION_CONFIGURATION, payload); } - disconnectRequest() { - return this.request(0x2b); + async writeOperationalConfig(bytes) { + const payload = normalizeBytePayload(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)); + if (!payload || payload.length < 50) { + throw new Error('writeOperationalConfig: payload length must be at least 50 bytes'); + } + await this.writeProperty(ASM_PROPERTY.OPERATIONAL_CONFIGURATION, payload); + } + async writeTime(rtc7) { + const payload = normalizeBytePayload(rtc7 instanceof Uint8Array ? rtc7 : new Uint8Array(rtc7)); + if (!payload || payload.length !== 7) { + throw new Error('writeTime: payload must be exactly 7 bytes'); + } + await this.writeProperty(ASM_PROPERTY.TIME, payload); + } + async writeTimeUnixSeconds(unixSeconds) { + await this.writeTime(unixSecondsToAsmRtcBytes(unixSeconds)); + } + async enterDfuMode() { + await this.writeProperty(ASM_PROPERTY.DFU_MODE, []); + } + async runTestMode(testPayload) { + const payload = normalizeBytePayload(testPayload instanceof Uint8Array ? testPayload : new Uint8Array(testPayload)); + if (!payload || payload.length < 2) { + throw new Error('runTestMode: payload must contain at least [testId, hwMajor]'); + } + await this.writeProperty(ASM_PROPERTY.TEST_MODE, payload); + } + async runHardwareTest(testId, hwMajor, hwMinor = 0, hwInternal = 0) { + const payload = new Uint8Array([ + testId & 0xff, + hwMajor & 0xff, + hwMinor & 0xff, + hwInternal & 0xff, + (hwInternal >> 8) & 0xff, + ]); + await this.runTestMode(payload); + } + _buildDebugPayload(debugId, args = []) { + const argBytes = args instanceof Uint8Array ? args : new Uint8Array(args); + const payload = new Uint8Array(1 + argBytes.length); + payload[0] = debugId & 0xff; + payload.set(argBytes, 1); + return payload; + } + async readDebugCommand(debugId, args = []) { + const rsp = await this._requestByCommand(ASM_COMMAND.READ, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args)); + return { payload: rsp.payload }; + } + async sendDebugCommand(debugId, args = []) { + const rsp = await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args)); + return { payload: rsp.payload }; + } + async readFlashLookupTable(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.FLASH_LOOKUP_TABLE_READ, [index & 0xff]); + } + async readRealWorldClockScheduler(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.RWC_SCHEDULER_READ, [index & 0xff]); + } + async readRealWorldClockSchedulerParsed(index = 0) { + const { payload } = await this.readRealWorldClockScheduler(index); + return parseSchedulerDebugPayload(payload); + } + async loadTestLookupTable(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.LOAD_TEST_LOOKUP_TABLE, [index & 0xff]); + } + async checkPayloadCrcErrors(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.CHECK_PAYLOAD_CRC_ERRORS, [index & 0xff]); + } + async checkPayloadCrcErrorsParsed(index = 0) { + const { payload } = await this.checkPayloadCrcErrors(index); + return parsePayloadCrcErrorBankIndexes(payload); + } + async readEventLog(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_EVENT_LOG, [index & 0xff]); + } + async readEventLogParsed(index = 0) { + const { payload } = await this.readEventLog(index); + return parseEventLogPayload(payload); + } + async readRecordBufferDetails(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_RECORD_BUFFER_DETAILS, [index & 0xff]); + } + async readRecordBufferDetailsParsed(index = 0) { + const { payload } = await this.readRecordBufferDetails(index); + return parseRecordBufferDetailsPayload(payload); + } + async eraseOperationalConfig() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_OPERATIONAL_CONFIG); + } + async eraseProductionConfig() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_PRODUCTION_CONFIG); + } + async clearPendingEvents() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.CLEAR_PENDING_EVENTS); + } + async eraseAllLoggedData() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_FLASH_AND_LOOKUP_TABLE); + } + async testDataTransferLoop(loopCount) { + const clamped = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); + await this.sendDebugCommand(DEBUG_COMMAND_ID.TEST_DATA_TRANSFER_LOOP, [ + clamped & 0xff, + (clamped >> 8) & 0xff, + ]); + } + async ledTest(ledIndex) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.LED_TEST, [ledIndex & 0xff]); + } + async max86xxxLedTest(start) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.MAX86XXX_LED_TEST, [start ? 0x01 : 0x00]); + } + async startPowerProfilerTest() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.POWER_PROFILER_TEST); + } + async requestSystemReset() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.SYSTEM_RESET); + } + async startIcPowerConsumptionTest(loopCount, stageIntervalMs) { + const clampedLoopCount = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); + const clampedStageInterval = Math.max(0, Math.min(0xffff, Math.trunc(stageIntervalMs))); + await this.sendDebugCommand(DEBUG_COMMAND_ID.IC_POWER_CONSUMPTION_TEST, [ + clampedLoopCount & 0xff, + (clampedLoopCount >> 8) & 0xff, + clampedStageInterval & 0xff, + (clampedStageInterval >> 8) & 0xff, + ]); + } + async deleteAllBonds() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.DELETE_ALL_BONDS); + } + async setStreamingMode(enabled) { + await this.writeProperty(ASM_PROPERTY.STREAM_MODE, [enabled ? STREAM_MODE.ENABLE : STREAM_MODE.DISABLE], 3000); + } + async disconnectRequest() { + try { + return await this.request(ASM_COMMAND.WRITE | ASM_PROPERTY.DEVICE_DISCONNECT, [], 1500); + } + catch (e) { + const msg = e instanceof Error ? e.message : String(e); + if (/timeout/i.test(msg)) + return { payload: new Uint8Array(0) }; + throw e; + } } // --------------------------------------------------------------------------- // Operational config helpers @@ -2621,7 +3502,7 @@ class VerisenseBleDevice extends BaseShimmerClient { try { this.accel1.applyOperationalConfig(op); this.gyroAccel2.applyOperationalConfig(op); - this.gsr.applyOperationalConfig(op); + this.adc.applyOperationalConfig(op); this.ppg.applyOperationalConfig(op); } catch (e) { @@ -2636,16 +3517,9 @@ class VerisenseBleDevice extends BaseShimmerClient { throw new Error('writeOpConfig: invalid opconfig'); if (op[0] !== 0x5a) throw new Error('writeOpConfig: opconfig must start with 0x5A'); - const req = this._makeReq(0x24, op); - await this.writeBytes(req, { withResponse: true }); + await this.writeOperationalConfig(op); await this.readOpConfigFromDevice(); } - async getopconfig() { - return this.getOpConfig(); - } - async writeopconfig(op) { - return this.writeOpConfig(op); - } getSensor(name) { const k = String(name ?? '').toLowerCase(); if (!k) @@ -2654,15 +3528,14 @@ class VerisenseBleDevice extends BaseShimmerClient { return this.accel1; if (k.includes('lsm6') || k.includes('gyro') || k.includes('accel2') || k === '3') return this.gyroAccel2; + if (k.includes('vbatt') || k.includes('batt') || k.includes('battery') || k.includes('adc')) + return this.adc; if (k.includes('gsr') || k === '1') - return this.gsr; + return this.adc; if (k.includes('ppg') || k === '4') return this.ppg; return null; } - GetSensor(name) { - return this.getSensor(name); - } // --------------------------------------------------------------------------- // RX assembly and dispatch // --------------------------------------------------------------------------- @@ -2702,7 +3575,7 @@ class VerisenseBleDevice extends BaseShimmerClient { s.lastReply = 'NACK'; s.nackCrcCount++; this._clearSyncRxBuffers('crc-nack'); - await this.writeBytes(DATA_NACK); + await this.writeBytes(buildMessage(ASM_COMMAND.NACK_GENERIC, ASM_PROPERTY.DATA)); if (s.nackCrcCount >= s.maxCrcNack) this._abortSync(new Error('Too many CRC failures')); s.onProgress?.({ payloadIndex, bytesWritten: s.bytesWritten, crcOk: false }); @@ -2712,19 +3585,19 @@ class VerisenseBleDevice extends BaseShimmerClient { await s.writable.write(toArrayBuffer(payloadU8)); } else { - s.chunks.push(payloadU8.slice()); + s.chunks.push(new Uint8Array(payloadU8)); } s.bytesWritten += payloadU8.length; s.lastReply = 'ACK'; s.nackCount = 0; s.nackCrcCount = 0; - await this.writeBytes(DATA_ACK, { withResponse: true }); + await this.writeBytes(buildMessage(ASM_COMMAND.ACK_NEXT_STAGE, ASM_PROPERTY.DATA), { + withResponse: true, + }); s.onProgress?.({ payloadIndex, bytesWritten: s.bytesWritten, crcOk: true }); } _resetAssembler() { - this._newPayload = true; - this._expectedLen = 0; - this._buf = new Uint8Array(0); + this._rxStreamBuf = new Uint8Array(0); } _appendStreamBuf(chunk) { const merged = new Uint8Array(this._rxStreamBuf.length + chunk.length); @@ -2738,6 +3611,25 @@ class VerisenseBleDevice extends BaseShimmerClient { if (this.debugSync) console.warn('[sync] cleared RX buffers', { reason }); } + _resolvePendingCommand(msg) { + const pending = this._pending; + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; + if (pending) { + const err = validatePendingResponse(pending, msg); + if (err) + pending.reject(err); + else + pending.resolve(toCommandResponse(msg)); + } + this.emit('commandPayload', { + header: msg.header, + command: msg.command, + property: msg.property, + payload: msg.payload, + }); + } _feedStreamBytes(chunk) { if (this._mode === 'logged' && this._sync) this._sync.lastRxAt = Date.now(); @@ -2748,11 +3640,24 @@ class VerisenseBleDevice extends BaseShimmerClient { const hdr = this._rxStreamBuf[0]; const len = (this._rxStreamBuf[1] | (this._rxStreamBuf[2] << 8)) >>> 0; if (len === 0) { + const header = hdr & 0xff; + const decodedHeader = parseHeader(header); + const msg = { + header, + command: decodedHeader.command, + property: decodedHeader.property, + payloadLength: 0, + payload: new Uint8Array(0), + }; this._rxStreamBuf = this._rxStreamBuf.slice(3); - if (this._mode === 'logged' && hdr === DATA_EOS_HDR) { + if (this._mode === 'logged' && hdr === buildHeader(ASM_COMMAND.ACK, ASM_PROPERTY.DATA)) { if (this.debugSync) console.log('[sync] EOS received. Finishing.'); this._finishSync(); + continue; + } + if (this._mode === 'command') { + this._resolvePendingCommand(msg); } continue; } @@ -2760,23 +3665,26 @@ class VerisenseBleDevice extends BaseShimmerClient { return; const payload = this._rxStreamBuf.slice(3, 3 + len); this._rxStreamBuf = this._rxStreamBuf.slice(3 + len); + const header = hdr & 0xff; + const decodedHeader = parseHeader(header); + const msg = { + header, + command: decodedHeader.command, + property: decodedHeader.property, + payloadLength: payload.length, + payload, + }; if (this._mode === 'logged') { this._loggedChain = (this._loggedChain ?? Promise.resolve()) - .then(() => this._handleLoggedPayload(payload)) + .then(() => this._handleLoggedPayload(msg.payload)) .catch((e) => this._abortSync(e)); continue; } if (this._mode === 'streaming') { - this._handleStreamingPayload(payload); + this._handleStreamingPayload(msg.payload); continue; } - const pending = this._pending; - this._pending = null; - if (this._mode === 'command') - this._mode = 'idle'; - if (pending) - pending.resolve({ payload }); - this.emit('commandPayload', { payload }); + this._resolvePendingCommand(msg); } } _handleStreamingPayload(payload) { @@ -2838,8 +3746,11 @@ VerisenseBleDevice.NUS_SERVICE = NUS_SERVICE; VerisenseBleDevice.NUS_TX = NUS_TX; VerisenseBleDevice.NUS_RX = NUS_RX; +exports.ASM_COMMAND = ASM_COMMAND; +exports.ASM_PROPERTY = ASM_PROPERTY; exports.BaseShimmerClient = BaseShimmerClient; exports.CHANNEL_FORMATS = CHANNEL_FORMATS; +exports.DEBUG_COMMAND_ID = DEBUG_COMMAND_ID; exports.GSR_NAME = GSR_NAME; exports.NUS_RX = NUS_RX; exports.NUS_SERVICE = NUS_SERVICE; @@ -2848,21 +3759,49 @@ exports.OPCODES = OPCODES; exports.OP_IDX = OP_IDX; exports.ObjectCluster = ObjectCluster; exports.SHIMMER3R_DEFAULTS = SHIMMER3R_DEFAULTS; +exports.STREAM_MODE = STREAM_MODE; +exports.SensorADC = SensorADC; exports.SensorBase = SensorBase; exports.SensorBitmapShimmer3 = SensorBitmapShimmer3; -exports.SensorGSR = SensorGSR; exports.SensorLIS2DW12 = SensorLIS2DW12; exports.SensorLSM6DS3 = SensorLSM6DS3; exports.SensorPPG = SensorPPG; exports.Shimmer3RClient = Shimmer3RClient; +exports.TEST_MODE_ID = TEST_MODE_ID; exports.TIMESTAMP_FIELD = TIMESTAMP_FIELD; exports.VerisenseBleDevice = VerisenseBleDevice; +exports.applyDuplicateSuffix = applyDuplicateSuffix; +exports.asmRtcBytesToUnixSeconds = asmRtcBytesToUnixSeconds; +exports.asmRtcMinutesBytesToUnixSeconds = asmRtcMinutesBytesToUnixSeconds; +exports.buildHeader = buildHeader; +exports.buildMessage = buildMessage; +exports.buildParsedCsvFileName = buildParsedCsvFileName; +exports.buildProductionConfigPayload = buildProductionConfigPayload; +exports.buildUploadBinaryFileName = buildUploadBinaryFileName; exports.calibrateGsrDataToResistanceFromAmplifierEq = calibrateGsrDataToResistanceFromAmplifierEq; exports.calibrateShimmer3RAdcChannel = calibrateShimmer3RAdcChannel; exports.calibrateU12AdcValue = calibrateU12AdcValue; +exports.computeVerisensePairingPin = computeVerisensePairingPin; exports.crc16_ccitt_false = crc16_ccitt_false; +exports.evaluateParsedFileSplit = evaluateParsedFileSplit; +exports.getFirstPayloadIndex = getFirstPayloadIndex; exports.getOversamplingRatioADS1292R = getOversamplingRatioADS1292R; +exports.isAckCommand = isAckCommand; +exports.isNackCommand = isNackCommand; +exports.nextAvailableDuplicateFileName = nextAvailableDuplicateFileName; +exports.normalizeBytePayload = normalizeBytePayload; exports.normalizeOperationalConfig = normalizeOperationalConfig; exports.nudgeGsrResistance = nudgeGsrResistance; +exports.parseEventLogPayload = parseEventLogPayload; +exports.parseHeader = parseHeader; +exports.parseLookupTablePayload = parseLookupTablePayload; +exports.parseMessage = parseMessage; +exports.parsePayloadCrcErrorBankIndexes = parsePayloadCrcErrorBankIndexes; +exports.parsePendingEvents = parsePendingEvents; exports.parseProductionConfigPayload = parseProductionConfigPayload; +exports.parseProductionConfigPayloadFull = parseProductionConfigPayloadFull; +exports.parseRecordBufferDetailsPayload = parseRecordBufferDetailsPayload; +exports.parseSchedulerDebugPayload = parseSchedulerDebugPayload; +exports.parseStatusPayload = parseStatusPayload; +exports.unixSecondsToAsmRtcBytes = unixSecondsToAsmRtcBytes; //# sourceMappingURL=shimmer-web-sdk.cjs.map diff --git a/shimmer-extension/vendor/shimmer-web-sdk.cjs.map b/shimmer-extension/vendor/shimmer-web-sdk.cjs.map index 74641b6..13d9177 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.cjs.map +++ b/shimmer-extension/vendor/shimmer-web-sdk.cjs.map @@ -1 +1 @@ -{"version":3,"file":"shimmer-web-sdk.cjs","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocol.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorGSR.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u24le"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shimmer-web-sdk.cjs","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file diff --git a/shimmer-extension/vendor/shimmer-web-sdk.d.ts b/shimmer-extension/vendor/shimmer-web-sdk.d.ts index eaf5f1a..99f3f6d 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.d.ts +++ b/shimmer-extension/vendor/shimmer-web-sdk.d.ts @@ -611,6 +611,172 @@ declare function nudgeGsrResistance(gsrResistanceKOhms: number, gsrRangeSetting: */ declare function getOversamplingRatioADS1292R(samplingRate: number): number; +/** NUS primary service UUID. */ +declare const NUS_SERVICE = "6e400001-b5a3-f393-e0a9-e50e24dcca9e"; +/** NUS TX characteristic UUID (host writes to this). */ +declare const NUS_TX = "6e400002-b5a3-f393-e0a9-e50e24dcca9e"; +/** NUS RX characteristic UUID (host subscribes to notifications from this). */ +declare const NUS_RX = "6e400003-b5a3-f393-e0a9-e50e24dcca9e"; +/** Upper-nibble command classes used in protocol headers. */ +declare const ASM_COMMAND: Readonly<{ + readonly READ: 16; + readonly WRITE: 32; + readonly RESPONSE: 48; + readonly ACK: 64; + readonly NACK_BAD_HEADER_COMMAND: 80; + readonly NACK_BAD_HEADER_PROPERTY: 96; + readonly NACK_GENERIC: 112; + readonly ACK_NEXT_STAGE: 128; +}>; +type AsmCommand = (typeof ASM_COMMAND)[keyof typeof ASM_COMMAND]; +/** Lower-nibble property IDs used in protocol headers. */ +declare const ASM_PROPERTY: Readonly<{ + readonly STATUS1: 1; + readonly DATA: 2; + readonly PRODUCTION_CONFIGURATION: 3; + readonly OPERATIONAL_CONFIGURATION: 4; + readonly TIME: 5; + readonly DFU_MODE: 6; + readonly PENDING_EVENTS: 7; + readonly TEST_MODE: 8; + readonly DEBUG_COMMAND: 9; + readonly STREAM_MODE: 10; + readonly DEVICE_DISCONNECT: 11; + readonly STATUS2: 12; +}>; +type AsmProperty = (typeof ASM_PROPERTY)[keyof typeof ASM_PROPERTY]; +/** Stream mode payload values. */ +declare const STREAM_MODE: Readonly<{ + readonly ENABLE: 1; + readonly DISABLE: 2; +}>; +/** Test mode IDs documented by Verisense firmware. */ +declare const TEST_MODE_ID: Readonly<{ + readonly STOP: 0; + readonly FLASH_8MB_1: 1; + readonly FLASH_8MB_2: 2; + readonly FLASH_128MB_512MB: 3; + readonly EEPROM: 4; + readonly ACCEL1_LIS2DW12: 5; + readonly BATTERY_VOLTAGE: 6; + readonly USB_POWER: 7; + readonly ACCEL2_GYRO_LSM6DS3: 8; + readonly PPG_MAX86XXX: 9; + readonly BIOZ_MAX30002: 11; + readonly ACCEL2_GYRO_LSM6DSV: 12; + readonly MAG_LIS2MDL: 13; + readonly ALL_TESTS: 255; +}>; +type TestModeId = (typeof TEST_MODE_ID)[keyof typeof TEST_MODE_ID]; +/** Debug command IDs documented by Verisense firmware. */ +declare const DEBUG_COMMAND_ID: Readonly<{ + readonly FLASH_LOOKUP_TABLE_READ: 1; + readonly FLASH_LOOKUP_TABLE_ERASE: 2; + readonly RWC_SCHEDULER_READ: 3; + readonly ERASE_128MB_512MB_FLASH: 4; + readonly ERASE_8MB_FLASH_1: 5; + readonly ERASE_8MB_FLASH_2: 6; + readonly ERASE_OPERATIONAL_CONFIG: 7; + readonly ERASE_PRODUCTION_CONFIG: 8; + readonly CLEAR_PENDING_EVENTS: 9; + readonly ERASE_FLASH_AND_LOOKUP_TABLE: 10; + readonly TEST_DATA_TRANSFER_LOOP: 11; + readonly LOAD_TEST_LOOKUP_TABLE: 12; + readonly LED_TEST: 13; + readonly MAX86XXX_LED_TEST: 14; + readonly CHECK_PAYLOAD_CRC_ERRORS: 15; + readonly READ_EVENT_LOG: 16; + readonly POWER_PROFILER_TEST: 17; + readonly READ_RECORD_BUFFER_DETAILS: 18; + readonly SYSTEM_RESET: 19; + readonly IC_POWER_CONSUMPTION_TEST: 20; + readonly DELETE_ALL_BONDS: 21; +}>; +type DebugCommandId = (typeof DEBUG_COMMAND_ID)[keyof typeof DEBUG_COMMAND_ID]; +/** + * Byte indices into the Verisense operational config blob (`op[OP_IDX.xxx]`). + * Index 0 is the config version byte (must be 0x5A for a valid config). + */ +declare const OP_IDX: Readonly<{ + readonly GEN_CFG_0: 1; + readonly GEN_CFG_1: 2; + readonly GEN_CFG_2: 3; + readonly GEN_CFG_3: 4; + readonly ACCEL1_CFG_0: 5; + readonly ACCEL1_CFG_1: 6; + readonly ACCEL1_CFG_2: 7; + readonly ACCEL1_CFG_3: 8; + readonly GYRO_ACCEL2_CFG_0: 10; + readonly GYRO_ACCEL2_CFG_1: 11; + readonly GYRO_ACCEL2_CFG_2: 12; + readonly GYRO_ACCEL2_CFG_3: 13; + readonly GYRO_ACCEL2_CFG_4: 14; + readonly GYRO_ACCEL2_CFG_5: 15; + readonly GYRO_ACCEL2_CFG_6: 16; + readonly GYRO_ACCEL2_CFG_7: 17; + readonly START_TIME: 21; + readonly END_TIME: 25; + readonly INACTIVE_TIMEOUT: 29; + readonly BLE_RETRY_COUNT: 30; + readonly BLE_TX_POWER: 31; + readonly BLE_DATA_TRANS_WKUP_INT_HRS: 32; + readonly BLE_DATA_TRANS_WKUP_TIME: 33; + readonly BLE_DATA_TRANS_WKUP_DUR: 35; + readonly BLE_DATA_TRANS_RETRY_INT: 36; + readonly BLE_STATUS_WKUP_INT_HRS: 38; + readonly BLE_STATUS_WKUP_TIME: 39; + readonly BLE_STATUS_WKUP_DUR: 41; + readonly BLE_STATUS_RETRY_INT: 42; + readonly BLE_RTC_SYNC_WKUP_INT_HRS: 44; + readonly BLE_RTC_SYNC_WKUP_TIME: 45; + readonly BLE_RTC_SYNC_WKUP_DUR: 47; + readonly BLE_RTC_SYNC_RETRY_INT: 48; + readonly ADC_CHANNEL_SETTINGS_0: 50; + readonly ADC_CHANNEL_SETTINGS_1: 51; + readonly ADAPTIVE_SCHEDULER_INT: 52; + readonly ADAPTIVE_SCHEDULER_FAILCOUNT_MAX: 54; + readonly PPG_REC_DUR_SECS_LSB: 55; + readonly PPG_REC_DUR_SECS_MSB: 56; + readonly PPG_REC_INT_MINS_LSB: 57; + readonly PPG_REC_INT_MINS_MSB: 58; + readonly PPG_FIFO_CONFIG: 59; + readonly PPG_MODE_CONFIG2: 60; + readonly PPG_MA_DEFAULT: 61; + readonly PPG_MA_MAX_RED_IR: 62; + readonly PPG_MA_MAX_GREEN_BLUE: 63; + readonly PPG_AGC_TARGET_PERCENT_OF_RANGE: 64; + readonly PPG_MA_LED_PILOT: 66; + readonly PPG_DAC1_CROSSTALK: 67; + readonly PPG_DAC2_CROSSTALK: 68; + readonly PPG_DAC3_CROSSTALK: 69; + readonly PPG_DAC4_CROSSTALK: 70; + readonly PROX_AGC_MODE: 71; +}>; +type OpIdx = keyof typeof OP_IDX; + +interface VerisenseMessage { + header: number; + command: AsmCommand; + property: AsmProperty; + payloadLength: number; + payload: Uint8Array; +} +/** Build a protocol header byte from command/property nibbles. */ +declare function buildHeader(command: AsmCommand, property: AsmProperty): number; +/** Decode a protocol header byte into command/property fields. */ +declare function parseHeader(header: number): { + command: AsmCommand; + property: AsmProperty; +}; +/** Build a complete protocol message (header + 16-bit LE payload length + payload bytes). */ +declare function buildMessage(command: AsmCommand, property: AsmProperty, payloadBytes?: Uint8Array | number[]): Uint8Array; +/** Parse a complete protocol message into structured fields. */ +declare function parseMessage(msg: Uint8Array): VerisenseMessage; +declare function isAckCommand(command: AsmCommand): boolean; +declare function isNackCommand(command: AsmCommand): boolean; +/** Convert a pending-events payload (property IDs) into a typed array. */ +declare function parsePendingEvents(payload: Uint8Array): AsmProperty[]; + /** * Compute CRC-16/CCITT-FALSE over `bytes`. * @@ -620,24 +786,209 @@ declare function getOversamplingRatioADS1292R(samplingRate: number): number; declare function crc16_ccitt_false(bytes: Uint8Array): number; /** * Convert any reasonable representation of an operational config to a - * `Uint8Array`. Throws if the input type is unrecognised. + * `Uint8Array`. Throws if the input type is unrecognised. */ declare function normalizeOperationalConfig(payload: Uint8Array | ArrayBuffer | number[] | { buffer: ArrayBuffer; byteOffset?: number; byteLength?: number; } | null | undefined): Uint8Array | null; +/** Alias for arbitrary protocol byte payload normalization. */ +declare function normalizeBytePayload(payload: Uint8Array | ArrayBuffer | number[] | { + buffer: ArrayBuffer; + byteOffset?: number; + byteLength?: number; +} | null | undefined): Uint8Array | null; +/** + * Derive the 6-digit pairing PIN from a Verisense unique identifier. + * + * The PIN is built from digits 2, 4 and 6 (1-based) of the identifier, + * followed by the decimal value of the final byte padded to 3 digits. + */ +declare function computeVerisensePairingPin(uniqueId: string): string; interface ProductionConfig { hardware: string; firmware: string; asmid: string; configHeader: number; } +interface ProductionConfigBuildOptions { + manufacturingOrderNumberHex: string; + macIdHex: string; + revHwMajor: number; + revHwMinor: number; + revFwMajor: number; + revFwMinor: number; + revFwInternal?: number; + revHwInternal?: number; + passkeyId?: string; + passkey?: string; + advertisingNamePrefix?: string; + dfuEnabled?: boolean; +} +interface ProductionConfigFull extends ProductionConfig { + manufacturingOrderNumber: string; + macId: string; + uniqueIdentifier: string; + revHwMajor: number; + revHwMinor: number; + revHwInternal: number; + revFwMajor: number; + revFwMinor: number; + revFwInternal: number; + passkeyId: string; + passkey: string; + advertisingNamePrefix: string; + dfuEnabled: boolean; +} +interface VerisenseStatusFlags { + usbPluggedIn: boolean; + recordingPaused: boolean; + flashIsFull: boolean; + powerIsGood: boolean; + adaptiveSchedulerOn: boolean; + dfuServiceOn: boolean; + firstBoot: boolean; + repeatedBatteryMeasurement: boolean; +} +interface VerisenseStatusPayload { + uniqueIdentifier: string; + sourceStatusProperty: 'status1' | 'status2'; + statusTimestampSeconds: number; + batteryMilliVolts: number; + batteryPercent: number; + lastOkTransferSeconds: number; + lastFailTransferSeconds: number; + memoryFreeKb: number; + memoryCapacityKb: number | null; + memoryUsedKb: number | null; + statusFlags: VerisenseStatusFlags | null; + batteryFallCounter: number | null; +} +interface VerisenseSchedulerDebugPayload { + currentTimeUnixSeconds: number; + bleControlCounter: 'data-transfer' | 'status1' | 'rtc-sync' | 'status2' | 'never' | 'unknown'; + pendingDataTransferUnixSeconds: number; + pendingStatus1UnixSeconds: number; + pendingRtcSyncUnixSeconds: number; + pendingRetryUnixSeconds: number; + retryCount: number; + retryOperation: 'ble-off' | 'ble-on' | 'unknown'; + adaptiveScheduler?: { + nextUnixSeconds: number; + enabled: boolean; + syncFailCounter: number; + }; + ltfRetry?: { + nextUnixSeconds: number; + currentOperation: 'flash-write-retry-inactive' | 'short-flash-write-retry' | 'attempt-flash-write' | 'long-flash-write-retry' | 'sensor-paused-until-usb-plug-in' | 'unknown'; + failCounterShort: number; + failCounterLong: number; + }; + pendingStatus2UnixSeconds?: number; + ppgMeasurementUnixSeconds?: number; + stepCounterResetUnixSeconds?: number; + sensorInactivityUnixSeconds?: number; +} +interface VerisenseEventLogEntry { + index: number; + eventId: number; + eventName: string; + timestampUnixSeconds: number | null; + batteryMilliVolts: number | null; +} +interface VerisenseRecordBufferDetails { + bufferIndex: number; + bufferState: number; + packagedPayloadIndex: number; + currentByteIndexForSensorData: number; + usedBufferLength: number; + fifoTicks: number; + dataTimestampRwcMinutes: number; + dataTimestampRwcTicks: number; + temperatureData: number; + dataTimestampUcClockMinutes: number | null; + dataTimestampUcClockTicks: number | null; +} +interface VerisenseLookupTableEntry { + bankIndex: number; + statusCode: number; + statusName: 'Full' | '2Del' | 'Emty' | 'Bad' | 'NUse' | 'Zero' | 'Unknown'; + pendingEepromWrite: boolean; + payloadIndex: number; +} +interface VerisenseLookupTablePayload { + head: number | null; + tail: number | null; + entries: VerisenseLookupTableEntry[]; +} +/** Convert unix seconds into Verisense 7-byte RTC payload (4-byte minutes + 3-byte ticks). */ +declare function unixSecondsToAsmRtcBytes(unixSeconds: number): Uint8Array; +/** Convert Verisense 7-byte RTC payload into unix seconds. */ +declare function asmRtcBytesToUnixSeconds(rtc7: Uint8Array): number; +/** Convert Verisense 8-byte minute counter payload into unix seconds. */ +declare function asmRtcMinutesBytesToUnixSeconds(minutes8: Uint8Array): number; +/** + * Build a production configuration payload (56 bytes) from structured options. + * This matches the Python tooling layout used by ASM_BLE.py / ASM_Device.py. + */ +declare function buildProductionConfigPayload(opts: ProductionConfigBuildOptions): Uint8Array; +/** Parse production configuration with optional passkey/name/flag fields. */ +declare function parseProductionConfigPayloadFull(response: Uint8Array): ProductionConfigFull; +/** + * Parse STATUS1/STATUS2 payload into a typed object. + * + * This ports the core byte parsing from ASM_Device.parse_status while keeping + * the output concise and UI-friendly. + */ +declare function parseStatusPayload(response: Uint8Array, sourceStatusProperty?: 'status1' | 'status2'): VerisenseStatusPayload; +/** Parse scheduler debug response payload from DEBUG_COMMAND_ID.RWC_SCHEDULER_READ. */ +declare function parseSchedulerDebugPayload(payload: Uint8Array): VerisenseSchedulerDebugPayload; +/** Parse debug payload listing bank indexes with bad CRC (2-byte LE entries). */ +declare function parsePayloadCrcErrorBankIndexes(payload: Uint8Array): number[]; +/** Parse 8-byte debug event-log entries. */ +declare function parseEventLogPayload(payload: Uint8Array): VerisenseEventLogEntry[]; +/** Parse record-buffer details payload (26-byte current layout, 19-byte legacy layout). */ +declare function parseRecordBufferDetailsPayload(payload: Uint8Array): VerisenseRecordBufferDetails[]; +/** + * Parse lookup-table debug payload entries (3 bytes per bank), with optional + * 4-byte tail/head prefix present in older firmware debug responses. + */ +declare function parseLookupTablePayload(payload: Uint8Array, totalBanks: number): VerisenseLookupTablePayload; /** * Parse the production config response payload into a structured object. */ declare function parseProductionConfigPayload(response: Uint8Array): ProductionConfig; +type ParsedSplitReason = 'midday-midnight-boundary' | 'config-change' | 'timestamp-discontinuity' | 'power-reset'; +interface EvaluateParsedSplitInput { + prevTimestampSec: number; + currTimestampSec: number; + expectedDeltaSec?: number; + timestampToleranceSec?: number; + prevConfigSignature?: string | null; + currConfigSignature?: string | null; + powerResetDetected?: boolean; +} +/** Build a binary upload file name: yyMMdd_HHmmss_00000.bin */ +declare function buildUploadBinaryFileName(uploadDate: Date, firstPayloadIndex: number): string; +/** Build parsed CSV file name: yyMMdd_HHmmss_DataSource_00000.csv */ +declare function buildParsedCsvFileName(startDate: Date, dataSource: string, firstPayloadIndex: number): string; +/** Add duplicate suffix like " (2)" before extension. */ +declare function applyDuplicateSuffix(fileName: string, duplicateIndex: number): string; +/** Return first non-colliding duplicate name for a target file name. */ +declare function nextAvailableDuplicateFileName(fileName: string, existingNames: Iterable): string; +/** Parse first payload index (uint16 LE) from a payload byte array. */ +declare function getFirstPayloadIndex(payload: Uint8Array): number; +/** + * Evaluate whether parsed CSV output should roll to a new file. + * Rules mirror ASM-DES08 split conditions. + */ +declare function evaluateParsedFileSplit(input: EvaluateParsedSplitInput): { + shouldSplit: boolean; + reasons: ParsedSplitReason[]; +}; + /** * Abstract base class for all Verisense sensor decoders. * @@ -702,7 +1053,7 @@ declare abstract class SensorBase { abstract applyOperationalConfig(op: Uint8Array): void; } -interface GSRSample { +interface ADCGSRSample { raw: number; adc12: number; range: number; @@ -711,25 +1062,32 @@ interface GSRSample { uS: number; connectivity: 'Connected' | 'Disconnected'; } -interface GSRBatterySample { - raw: number; +interface ADCBatterySample { + /** Full 16-bit packed ADC/flags word from payload. */ + raw16: number; + /** 12-bit ADC value extracted from `raw16`. */ + adc12: number; mV: number; + usbPluggedIn: boolean; + chargerStatusBits: number; + chargerStatus: string; } -interface GSRPayloadSample { - gsr: GSRSample | null; - batt: GSRBatterySample | null; +interface ADCPayloadSample { + gsr: ADCGSRSample | null; + batt: ADCBatterySample | null; } type HardwareIdentifier = 'VERISENSE_PULSE_PLUS' | 'VERISENSE_GSR_PLUS' | string; /** - * Decoder for the GSR (galvanic skin response) sensor (Verisense sensor id = 1). + * Decoder for grouped ADC channels (Verisense sensor id = 1). * + * Includes GSR plus battery/ADC channels carried in the same packet source. * Implements C# `SensorGSR.cs` including: * - Per-hardware reference resistor selection (SR68 vs Shimmer3 resistors). * - Auto-range decoding from the raw ADC value's upper bits. * - Range-3 clamping threshold that differs by hardware. - * - Conductance (ยตS) output with connectivity detection. + * - Conductance (uS) output with connectivity detection. */ -declare class SensorGSR extends SensorBase { +declare class SensorADC extends SensorBase { readonly LIMIT_MIN_VALID_USIEMENS = 0.03; readonly GSR_UNCAL_LIMIT_RANGE3_SR68 = 1134; readonly GSR_UNCAL_LIMIT_RANGE3_SR62 = 683; @@ -737,7 +1095,7 @@ declare class SensorGSR extends SensorBase { private readonly SR68_REF_KOHMS; gsrEnabled: boolean; battEnabled: boolean; - /** GSR range 0โ€“3 (fixed) or 4 (auto-range). */ + /** GSR range 0-3 (fixed) or 4 (auto-range). */ gsrRangeSetting: number; hardwareIdentifier: HardwareIdentifier; gsrRateSettingRaw: number; @@ -746,13 +1104,6 @@ declare class SensorGSR extends SensorBase { constructor(); setHardwareIdentifier(idStr: HardwareIdentifier): void; setGsrRangeSetting(v: number): void; - setGSREnabled(enabled: boolean, opConfigBytes?: Uint8Array | null): Uint8Array | Record; - setBattEnabled(enabled: boolean, opConfigBytes?: Uint8Array | null): Uint8Array | Record; - /** - * Dual-mode setter: - * - If `opConfigBytes` is provided: returns a new Uint8Array with the enable bits patched. - * - Otherwise: updates local decoder flags only. - */ setEnabled(arg1: boolean | { gsr?: boolean; batt?: boolean; @@ -765,7 +1116,7 @@ declare class SensorGSR extends SensorBase { calibrateGsrToKOhmsUsingAmplifierEq(volts: number, range: number): number; nudgeGsrResistance(kOhms: number): number; kOhmToUSiemens(kOhms: number): number; - parsePayload(sensorPayloadBytes: Uint8Array): GSRPayloadSample[]; + parsePayload(sensorPayloadBytes: Uint8Array): ADCPayloadSample[]; applyOperationalConfig(op: Uint8Array): void; } @@ -876,7 +1227,7 @@ declare class SensorPPG extends SensorBase { type TransportKind = 'ble' | 'serial' | null; type DeviceMode = 'idle' | 'streaming' | 'command' | 'logged'; interface SensorMap { - 1: SensorGSR; + 1: SensorADC; 2: SensorLIS2DW12; 3: SensorLSM6DS3; 4: SensorPPG; @@ -888,16 +1239,17 @@ interface StreamPacket { rawPayload: Uint8Array; crcOk: boolean | null; } +interface LoggedTransferProgressInfo { + payloadIndex: number; + bytesWritten: number; + crcOk: boolean; +} interface TransferLoggedDataOptions { fileHandle?: FileSystemFileHandle | null; timeoutMs?: number; maxNack?: number; maxCrcNack?: number; - onProgress?: ((info: { - payloadIndex: number; - bytesWritten: number; - crcOk: boolean; - }) => void) | null; + onProgress?: ((info: LoggedTransferProgressInfo) => void) | null; } interface TransferLoggedDataResult { ok: boolean; @@ -910,6 +1262,13 @@ interface VerisenseClientOptions { verifyStreamCrc?: boolean; debug?: boolean; } +interface VerisenseCommandResponse { + header: number; + command: AsmCommand; + property: AsmProperty; + payload: Uint8Array; +} + /** * Web Bluetooth client for the Verisense sensor platform. * @@ -917,7 +1276,7 @@ interface VerisenseClientOptions { * (on/off/emit) for the richer event model the Verisense protocol needs. * * Supports: - * - BLE streaming (accel, GSR, gyro, PPG) + * - BLE streaming (accel, ADC/GSR, gyro, PPG) * - Web Serial (USB COM port) as an alternative transport * - Logged-data download (`transferLoggedData`) * - Operational config read/write @@ -953,9 +1312,6 @@ declare class VerisenseBleDevice extends BaseShimmerClient { private _onGattDisconnected; private _mode; private _rxStreamBuf; - private _buf; - private _newPayload; - private _expectedLen; private _pending; private _loggedChain; private _sync; @@ -970,7 +1326,7 @@ declare class VerisenseBleDevice extends BaseShimmerClient { private _syncPayloadCount; constructor(opts?: VerisenseClientOptions); protected _log(...args: unknown[]): void; - get gsr(): SensorGSR; + get adc(): SensorADC; get accel1(): SensorLIS2DW12; get gyroAccel2(): SensorLSM6DS3; get ppg(): SensorPPG; @@ -1000,16 +1356,23 @@ declare class VerisenseBleDevice extends BaseShimmerClient { writeBytes(bytes: Uint8Array | number[], opts?: { withResponse?: boolean; }): Promise; - private _makeReq; + private _requestByCommand; + readProperty(property: AsmProperty, timeoutMs?: number): Promise; + writeProperty(property: AsmProperty, payloadBytes?: number[] | Uint8Array, timeoutMs?: number): Promise; request(opcode: number, payloadBytes?: number[] | Uint8Array, timeoutMs?: number): Promise<{ payload: Uint8Array; }>; readStatus(): Promise<{ payload: Uint8Array; }>; + readStatusParsed(): Promise; readStatus2(): Promise<{ payload: Uint8Array; }>; + readStatus2Parsed(): Promise; + readData(): Promise<{ + payload: Uint8Array; + }>; readProductionConfig(): Promise<{ payload: Uint8Array; }>; @@ -1019,9 +1382,59 @@ declare class VerisenseBleDevice extends BaseShimmerClient { readTime(): Promise<{ payload: Uint8Array; }>; + readTimeUnixSeconds(): Promise; readPendingEvents(): Promise<{ payload: Uint8Array; }>; + readPendingEventsParsed(): Promise; + writeProductionConfig(bytes: Uint8Array | number[]): Promise; + writeOperationalConfig(bytes: Uint8Array | number[]): Promise; + writeTime(rtc7: Uint8Array | number[]): Promise; + writeTimeUnixSeconds(unixSeconds: number): Promise; + enterDfuMode(): Promise; + runTestMode(testPayload: Uint8Array | number[]): Promise; + runHardwareTest(testId: TestModeId, hwMajor: number, hwMinor?: number, hwInternal?: number): Promise; + private _buildDebugPayload; + readDebugCommand(debugId: DebugCommandId, args?: Uint8Array | number[]): Promise<{ + payload: Uint8Array; + }>; + sendDebugCommand(debugId: DebugCommandId, args?: Uint8Array | number[]): Promise<{ + payload: Uint8Array; + }>; + readFlashLookupTable(index?: number): Promise<{ + payload: Uint8Array; + }>; + readRealWorldClockScheduler(index?: number): Promise<{ + payload: Uint8Array; + }>; + readRealWorldClockSchedulerParsed(index?: number): Promise; + loadTestLookupTable(index?: number): Promise<{ + payload: Uint8Array; + }>; + checkPayloadCrcErrors(index?: number): Promise<{ + payload: Uint8Array; + }>; + checkPayloadCrcErrorsParsed(index?: number): Promise; + readEventLog(index?: number): Promise<{ + payload: Uint8Array; + }>; + readEventLogParsed(index?: number): Promise; + readRecordBufferDetails(index?: number): Promise<{ + payload: Uint8Array; + }>; + readRecordBufferDetailsParsed(index?: number): Promise; + eraseOperationalConfig(): Promise; + eraseProductionConfig(): Promise; + clearPendingEvents(): Promise; + eraseAllLoggedData(): Promise; + testDataTransferLoop(loopCount: number): Promise; + ledTest(ledIndex: number): Promise; + max86xxxLedTest(start: boolean): Promise; + startPowerProfilerTest(): Promise; + requestSystemReset(): Promise; + startIcPowerConsumptionTest(loopCount: number, stageIntervalMs: number): Promise; + deleteAllBonds(): Promise; + setStreamingMode(enabled: boolean): Promise; disconnectRequest(): Promise<{ payload: Uint8Array; }>; @@ -1029,86 +1442,17 @@ declare class VerisenseBleDevice extends BaseShimmerClient { readProductionConfigFromDevice(): Promise; readOpConfigFromDevice(): Promise; writeOpConfig(opConfigBytes: Uint8Array | number[]): Promise; - getopconfig(): Promise; - writeopconfig(op: Uint8Array | number[]): Promise; getSensor(name: string | number): SensorBase | null; - GetSensor(name: string | number): SensorBase | null; private _abortSync; private _finishSync; private _handleLoggedPayload; private _resetAssembler; private _appendStreamBuf; private _clearSyncRxBuffers; + private _resolvePendingCommand; private _feedStreamBytes; private _handleStreamingPayload; } -/** NUS primary service UUID. */ -declare const NUS_SERVICE = "6e400001-b5a3-f393-e0a9-e50e24dcca9e"; -/** NUS TX characteristic UUID (host writes to this). */ -declare const NUS_TX = "6e400002-b5a3-f393-e0a9-e50e24dcca9e"; -/** NUS RX characteristic UUID (host subscribes to notifications from this). */ -declare const NUS_RX = "6e400003-b5a3-f393-e0a9-e50e24dcca9e"; -/** - * Byte indices into the Verisense operational config blob (`op[OP_IDX.xxx]`). - * Index 0 is the config version byte (must be 0x5A for a valid config). - */ -declare const OP_IDX: Readonly<{ - readonly GEN_CFG_0: 1; - readonly GEN_CFG_1: 2; - readonly GEN_CFG_2: 3; - readonly GEN_CFG_3: 4; - readonly ACCEL1_CFG_0: 5; - readonly ACCEL1_CFG_1: 6; - readonly ACCEL1_CFG_2: 7; - readonly ACCEL1_CFG_3: 8; - readonly GYRO_ACCEL2_CFG_0: 10; - readonly GYRO_ACCEL2_CFG_1: 11; - readonly GYRO_ACCEL2_CFG_2: 12; - readonly GYRO_ACCEL2_CFG_3: 13; - readonly GYRO_ACCEL2_CFG_4: 14; - readonly GYRO_ACCEL2_CFG_5: 15; - readonly GYRO_ACCEL2_CFG_6: 16; - readonly GYRO_ACCEL2_CFG_7: 17; - readonly START_TIME: 21; - readonly END_TIME: 25; - readonly INACTIVE_TIMEOUT: 29; - readonly BLE_RETRY_COUNT: 30; - readonly BLE_TX_POWER: 31; - readonly BLE_DATA_TRANS_WKUP_INT_HRS: 32; - readonly BLE_DATA_TRANS_WKUP_TIME: 33; - readonly BLE_DATA_TRANS_WKUP_DUR: 35; - readonly BLE_DATA_TRANS_RETRY_INT: 36; - readonly BLE_STATUS_WKUP_INT_HRS: 38; - readonly BLE_STATUS_WKUP_TIME: 39; - readonly BLE_STATUS_WKUP_DUR: 41; - readonly BLE_STATUS_RETRY_INT: 42; - readonly BLE_RTC_SYNC_WKUP_INT_HRS: 44; - readonly BLE_RTC_SYNC_WKUP_TIME: 45; - readonly BLE_RTC_SYNC_WKUP_DUR: 47; - readonly BLE_RTC_SYNC_RETRY_INT: 48; - readonly ADC_CHANNEL_SETTINGS_0: 50; - readonly ADC_CHANNEL_SETTINGS_1: 51; - readonly ADAPTIVE_SCHEDULER_INT: 52; - readonly ADAPTIVE_SCHEDULER_FAILCOUNT_MAX: 54; - readonly PPG_REC_DUR_SECS_LSB: 55; - readonly PPG_REC_DUR_SECS_MSB: 56; - readonly PPG_REC_INT_MINS_LSB: 57; - readonly PPG_REC_INT_MINS_MSB: 58; - readonly PPG_FIFO_CONFIG: 59; - readonly PPG_MODE_CONFIG2: 60; - readonly PPG_MA_DEFAULT: 61; - readonly PPG_MA_MAX_RED_IR: 62; - readonly PPG_MA_MAX_GREEN_BLUE: 63; - readonly PPG_AGC_TARGET_PERCENT_OF_RANGE: 64; - readonly PPG_MA_LED_PILOT: 66; - readonly PPG_DAC1_CROSSTALK: 67; - readonly PPG_DAC2_CROSSTALK: 68; - readonly PPG_DAC3_CROSSTALK: 69; - readonly PPG_DAC4_CROSSTALK: 70; - readonly PROX_AGC_MODE: 71; -}>; -type OpIdx = keyof typeof OP_IDX; - -export { BaseShimmerClient, CHANNEL_FORMATS, GSR_NAME, NUS_RX, NUS_SERVICE, NUS_TX, OPCODES, OP_IDX, ObjectCluster, SHIMMER3R_DEFAULTS, SensorBase, SensorBitmapShimmer3, SensorGSR, SensorLIS2DW12, SensorLSM6DS3, SensorPPG, Shimmer3RClient, TIMESTAMP_FIELD, VerisenseBleDevice, calibrateGsrDataToResistanceFromAmplifierEq, calibrateShimmer3RAdcChannel, calibrateU12AdcValue, crc16_ccitt_false, getOversamplingRatioADS1292R, normalizeOperationalConfig, nudgeGsrResistance, parseProductionConfigPayload }; -export type { ChannelFormat, DeviceMode, FieldKind, GSRBatterySample, GSRPayloadSample, GSRSample, IShimmerClient, InertialCalibration, LIS2DW12Sample, LSM6DS3Sample, OpIdx, Opcode, PPGChannelSample, PPGSample, ProductionConfig, SensorBitmapShimmer3Key, SensorField, SensorMap, Shimmer3RClientOptions, ShimmerClientOptions, StreamPacket, TimestampFmt, TransferLoggedDataOptions, TransferLoggedDataResult, TransportKind, VerisenseClientOptions }; +export { ASM_COMMAND, ASM_PROPERTY, BaseShimmerClient, CHANNEL_FORMATS, DEBUG_COMMAND_ID, GSR_NAME, NUS_RX, NUS_SERVICE, NUS_TX, OPCODES, OP_IDX, ObjectCluster, SHIMMER3R_DEFAULTS, STREAM_MODE, SensorADC, SensorBase, SensorBitmapShimmer3, SensorLIS2DW12, SensorLSM6DS3, SensorPPG, Shimmer3RClient, TEST_MODE_ID, TIMESTAMP_FIELD, VerisenseBleDevice, applyDuplicateSuffix, asmRtcBytesToUnixSeconds, asmRtcMinutesBytesToUnixSeconds, buildHeader, buildMessage, buildParsedCsvFileName, buildProductionConfigPayload, buildUploadBinaryFileName, calibrateGsrDataToResistanceFromAmplifierEq, calibrateShimmer3RAdcChannel, calibrateU12AdcValue, computeVerisensePairingPin, crc16_ccitt_false, evaluateParsedFileSplit, getFirstPayloadIndex, getOversamplingRatioADS1292R, isAckCommand, isNackCommand, nextAvailableDuplicateFileName, normalizeBytePayload, normalizeOperationalConfig, nudgeGsrResistance, parseEventLogPayload, parseHeader, parseLookupTablePayload, parseMessage, parsePayloadCrcErrorBankIndexes, parsePendingEvents, parseProductionConfigPayload, parseProductionConfigPayloadFull, parseRecordBufferDetailsPayload, parseSchedulerDebugPayload, parseStatusPayload, unixSecondsToAsmRtcBytes }; +export type { ADCBatterySample, ADCGSRSample, ADCPayloadSample, AsmCommand, AsmProperty, ChannelFormat, DebugCommandId, DeviceMode, EvaluateParsedSplitInput, FieldKind, IShimmerClient, InertialCalibration, LIS2DW12Sample, LSM6DS3Sample, OpIdx, Opcode, PPGChannelSample, PPGSample, ParsedSplitReason, ProductionConfig, ProductionConfigBuildOptions, ProductionConfigFull, SensorBitmapShimmer3Key, SensorField, SensorMap, Shimmer3RClientOptions, ShimmerClientOptions, StreamPacket, TestModeId, TimestampFmt, TransferLoggedDataOptions, TransferLoggedDataResult, TransportKind, VerisenseClientOptions, VerisenseCommandResponse, VerisenseEventLogEntry, VerisenseLookupTableEntry, VerisenseLookupTablePayload, VerisenseMessage, VerisenseRecordBufferDetails, VerisenseSchedulerDebugPayload, VerisenseStatusPayload }; diff --git a/shimmer-extension/vendor/shimmer-web-sdk.esm.js b/shimmer-extension/vendor/shimmer-web-sdk.esm.js index 8e5c69a..49a5b06 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.esm.js +++ b/shimmer-extension/vendor/shimmer-web-sdk.esm.js @@ -471,7 +471,7 @@ function concatU8(a, b) { return out; } /** Read a 16-bit unsigned integer, little-endian. */ -function u16le(b, o) { +function u16le$1(b, o) { return (b[o] | (b[o + 1] << 8)) >>> 0; } /** Read a 16-bit unsigned integer, big-endian. */ @@ -896,7 +896,7 @@ class Shimmer3RClient extends BaseShimmerClient { let base = 0; if (u8[0] === OPCODES.INQUIRY_RESPONSE && u8.length >= 2) base = 1; - const adcRaw = u16le(u8, base + 0); + const adcRaw = u16le$1(u8, base + 0); const samplingRateHz = 32768 / adcRaw; this.samplingRateHz = samplingRateHz; const cfg = BigInt(u8[base + 2]) | @@ -1041,8 +1041,8 @@ class Shimmer3RClient extends BaseShimmerClient { if (buf[0] === preamble && buf[frameBytes] === preamble) { let ts1, ts2; try { - ts1 = tsBytes === 2 ? u16le(buf, 1) : u24le$1(buf, 1); - ts2 = tsBytes === 2 ? u16le(buf, frameBytes + 1) : u24le$1(buf, frameBytes + 1); + ts1 = tsBytes === 2 ? u16le$1(buf, 1) : u24le$1(buf, 1); + ts2 = tsBytes === 2 ? u16le$1(buf, frameBytes + 1) : u24le$1(buf, frameBytes + 1); } catch { buf = buf.subarray(1); @@ -1059,7 +1059,7 @@ class Shimmer3RClient extends BaseShimmerClient { try { let cursor = 1; const oc = new ObjectCluster(this.device?.name ?? 'Shimmer3R'); - const ts = tsBytes === 2 ? u16le(frame, cursor) : u24le$1(frame, cursor); + const ts = tsBytes === 2 ? u16le$1(frame, cursor) : u24le$1(frame, cursor); cursor += tsBytes; oc.add('TIMESTAMP', ts, 'ticks', 'raw'); for (const f of sch.fields) { @@ -1069,10 +1069,10 @@ class Shimmer3RClient extends BaseShimmerClient { let v; switch (f.fmt) { case 'i16': - v = f.endian === 'be' ? sign16(u16be(frame, cursor)) : sign16(u16le(frame, cursor)); + v = f.endian === 'be' ? sign16(u16be(frame, cursor)) : sign16(u16le$1(frame, cursor)); break; case 'u16': - v = f.endian === 'be' ? u16be(frame, cursor) : u16le(frame, cursor); + v = f.endian === 'be' ? u16be(frame, cursor) : u16le$1(frame, cursor); break; case 'i24': v = f.endian === 'be' ? sign24(u24be(frame, cursor)) : sign24(u24le$1(frame, cursor)); @@ -1091,7 +1091,7 @@ class Shimmer3RClient extends BaseShimmerClient { v = frame[cursor]; break; default: - v = u16le(frame, cursor); + v = u16le$1(frame, cursor); } cursor += f.sizeBytes; oc.add(f.name, v, null, 'raw'); @@ -1228,18 +1228,80 @@ const NUS_TX = '6e400002-b5a3-f393-e0a9-e50e24dcca9e'; /** NUS RX characteristic UUID (host subscribes to notifications from this). */ const NUS_RX = '6e400003-b5a3-f393-e0a9-e50e24dcca9e'; // --------------------------------------------------------------------------- -// Protocol command bytes +// Verisense protocol command/property constants // --------------------------------------------------------------------------- -/** Request the device to send logged data. */ -const READ_DATA_REQ = new Uint8Array([0x12, 0x00, 0x00]); -/** Request the device to disconnect cleanly. */ -const DISCONNECT_REQ = new Uint8Array([0x2b, 0x00, 0x00]); -/** Acknowledge a correctly-received logged data payload. */ -const DATA_ACK = new Uint8Array([0x82, 0x00, 0x00]); -/** Negative-acknowledge a logged data payload (triggers retransmission). */ -const DATA_NACK = new Uint8Array([0x72, 0x00, 0x00]); -/** Header byte that signals End-of-Stream for logged data transfer. */ -const DATA_EOS_HDR = 0x42; +/** Upper-nibble command classes used in protocol headers. */ +const ASM_COMMAND = Object.freeze({ + READ: 0x10, + WRITE: 0x20, + RESPONSE: 0x30, + ACK: 0x40, + NACK_BAD_HEADER_COMMAND: 0x50, + NACK_BAD_HEADER_PROPERTY: 0x60, + NACK_GENERIC: 0x70, + ACK_NEXT_STAGE: 0x80, +}); +/** Lower-nibble property IDs used in protocol headers. */ +const ASM_PROPERTY = Object.freeze({ + STATUS1: 0x01, + DATA: 0x02, + PRODUCTION_CONFIGURATION: 0x03, + OPERATIONAL_CONFIGURATION: 0x04, + TIME: 0x05, + DFU_MODE: 0x06, + PENDING_EVENTS: 0x07, + TEST_MODE: 0x08, + DEBUG_COMMAND: 0x09, + STREAM_MODE: 0x0a, + DEVICE_DISCONNECT: 0x0b, + STATUS2: 0x0c, +}); +/** Stream mode payload values. */ +const STREAM_MODE = Object.freeze({ + ENABLE: 0x01, + DISABLE: 0x02, +}); +/** Test mode IDs documented by Verisense firmware. */ +const TEST_MODE_ID = Object.freeze({ + STOP: 0x00, + FLASH_8MB_1: 0x01, + FLASH_8MB_2: 0x02, + FLASH_128MB_512MB: 0x03, + EEPROM: 0x04, + ACCEL1_LIS2DW12: 0x05, + BATTERY_VOLTAGE: 0x06, + USB_POWER: 0x07, + ACCEL2_GYRO_LSM6DS3: 0x08, + PPG_MAX86XXX: 0x09, + BIOZ_MAX30002: 0x0b, + ACCEL2_GYRO_LSM6DSV: 0x0c, + MAG_LIS2MDL: 0x0d, + ALL_TESTS: 0xff, +}); +/** Debug command IDs documented by Verisense firmware. */ +const DEBUG_COMMAND_ID = Object.freeze({ + FLASH_LOOKUP_TABLE_READ: 0x01, + FLASH_LOOKUP_TABLE_ERASE: 0x02, + RWC_SCHEDULER_READ: 0x03, + ERASE_128MB_512MB_FLASH: 0x04, + ERASE_8MB_FLASH_1: 0x05, + ERASE_8MB_FLASH_2: 0x06, + ERASE_OPERATIONAL_CONFIG: 0x07, + ERASE_PRODUCTION_CONFIG: 0x08, + CLEAR_PENDING_EVENTS: 0x09, + ERASE_FLASH_AND_LOOKUP_TABLE: 0x0a, + TEST_DATA_TRANSFER_LOOP: 0x0b, + LOAD_TEST_LOOKUP_TABLE: 0x0c, + LED_TEST: 0x0d, + MAX86XXX_LED_TEST: 0x0e, + CHECK_PAYLOAD_CRC_ERRORS: 0x0f, + READ_EVENT_LOG: 0x10, + POWER_PROFILER_TEST: 0x11, + READ_RECORD_BUFFER_DETAILS: 0x12, + SYSTEM_RESET: 0x13, + IC_POWER_CONSUMPTION_TEST: 0x14, + DELETE_ALL_BONDS: 0x15, +}); // --------------------------------------------------------------------------- // Operational config byte offsets // --------------------------------------------------------------------------- @@ -1303,11 +1365,10 @@ const OP_IDX = Object.freeze({ PROX_AGC_MODE: 71, }); -/** - * Pure byte-manipulation utilities for the Verisense protocol. - * No side-effects; suitable for unit testing without a BLE device. - */ /** Read a 16-bit unsigned integer, little-endian. */ +function u16le(b0, b1) { + return (b1 << 8) | b0; +} /** Read a signed 16-bit integer at byte offset `off`, little-endian. */ function i16le(bytes, off) { const v = bytes[off] | (bytes[off + 1] << 8); @@ -1325,9 +1386,6 @@ function u16le_at(bytes, off) { function nowMillis() { return Date.now(); } -// --------------------------------------------------------------------------- -// CRC-16/CCITT-FALSE -// --------------------------------------------------------------------------- /** * Compute CRC-16/CCITT-FALSE over `bytes`. * @@ -1359,12 +1417,9 @@ function getOriginalCrcLE(payload) { function computeCrcLikeCSharp(payload) { return crc16_ccitt_false(payload.subarray(0, payload.length - 2)); } -// --------------------------------------------------------------------------- -// Operational config normaliser -// --------------------------------------------------------------------------- /** * Convert any reasonable representation of an operational config to a - * `Uint8Array`. Throws if the input type is unrecognised. + * `Uint8Array`. Throws if the input type is unrecognised. */ function normalizeOperationalConfig(payload) { if (!payload) @@ -1381,6 +1436,471 @@ function normalizeOperationalConfig(payload) { } throw new Error('normalizeOperationalConfig: unsupported payload type'); } +/** Alias for arbitrary protocol byte payload normalization. */ +function normalizeBytePayload(payload) { + return normalizeOperationalConfig(payload); +} +/** + * Derive the 6-digit pairing PIN from a Verisense unique identifier. + * + * The PIN is built from digits 2, 4 and 6 (1-based) of the identifier, + * followed by the decimal value of the final byte padded to 3 digits. + */ +function computeVerisensePairingPin(uniqueId) { + const normalized = String(uniqueId ?? '').trim().replace(/^Verisense-/i, ''); + if (!/^[0-9a-fA-F]{8,}$/.test(normalized)) { + throw new Error('computeVerisensePairingPin: uniqueId must be a hex identifier string'); + } + if (normalized.length < 6) { + throw new Error('computeVerisensePairingPin: uniqueId must be at least 6 hex characters'); + } + const prefix = `${normalized[1]}${normalized[3]}${normalized[5]}`; + const suffixHex = normalized.slice(-2); + const suffixDec = Number.parseInt(suffixHex, 16); + return `${prefix}${suffixDec.toString().padStart(3, '0')}`; +} +const PROD_CONFIG_FLAG_DFU_ENABLED = 1 << 0; +const LOG_EVENT_NAMES = { + 0: 'NONE', + 1: 'BATTERY_FALL', + 2: 'BATTERY_RECOVER', + 3: 'WRITE_TO_FLASH_SUCCESS', + 4: 'WRITE_TO_FLASH_FAIL_GENERAL', + 5: 'WRITE_TO_FLASH_FULL', + 6: 'WRITE_TO_FLASH_FAIL_CHECK_ADDR_FREE', + 7: 'WRITE_TO_FLASH_FAIL_LOW_BATT_CHECK_ADDR_FREE', + 8: 'WRITE_TO_FLASH_FAIL_LOW_BATT_FLASH_ON', + 9: 'WRITE_TO_FLASH_FAIL_LOW_BATT_FLASH_WRITE', + 10: 'WRITE_TO_FLASH_FAIL_LOW_BATT_BEFORE_START', + 11: 'USB_PLUGGED_IN_SOFT_DEVICE', + 12: 'USB_PLUGGED_OUT_SOFT_DEVICE', + 13: 'RECORDING_PAUSED', + 14: 'RECORDING_RESUMED', + 15: 'BATTERY_RECOVER_IN_BATT_CHECK_TIMER', + 16: 'TSK_FREE_UP_FLASH', + 17: 'FREE_UP_FLASH_FAIL_LOW_BATT', + 18: 'PAYLOAD_PACKAGING_TASK_SET', + 19: 'PAYLOAD_PACKAGING_FUNCTION_CALL', + 20: 'BATTERY_VOLTAGE', + 21: 'TSK_WRITE_LOOKUP_TBL_CHANGES_TO_EEPROM', + 22: 'LPCOMP_ON', + 23: 'LPCOMP_ON_ALREADY', + 24: 'LPCOMP_OFF', + 25: 'LPCOMP_TRIED_BUT_BATT_LOW', + 26: 'BLE_CONNECTED', + 27: 'BLE_DISCONNECTED', + 28: 'TSK_WRITE_FLASH', + 29: 'PPG_TIMER_START', + 30: 'PAYLOAD_OVERSHOT', + 31: 'ADVERTISING_START', + 32: 'ADVERTISING_STOP', + 33: 'NIMH_BATT_PPG_BLOCKED_BLE_RETRY', + 34: 'NIMH_BATT_PPG_BLOCKED_BLE_ADAPT_SCH', + 35: 'NIMH_BATT_PPG_BLOCKED_BLE_PENDING_EVENTS', + 36: 'NIMH_BATT_BLE_BLOCKED_PPG', + 37: 'USB_PORT_OPEN', + 38: 'USB_PORT_CLOSED', + 39: 'FIFO_INT_SAFETY_CHECK_EVENT_ACCEL1', + 40: 'FIFO_INT_SAFETY_CHECK_EVENT_ACCEL2GYRO', + 41: 'FIFO_INT_SAFETY_CHECK_EVENT_MAX86XXX', + 42: 'FIFO_INT_SAFETY_CHECK_EVENT_MAX3000X', + 43: 'FIFO_INT_SAFETY_CHECK_EVENT_ADC', + 44: 'USB_PLUGGED_IN_PIN_HANDLER', + 45: 'USB_PLUGGED_OUT_PIN_HANDLER', + 46: 'BATTERY_CHARGER_STATUS_BAD_BATTERY', + 47: 'BATTERY_CHARGER_STATUS_CHARGING', + 48: 'BATTERY_CHARGER_STATUS_CHARGING_COMPLETE', + 49: 'BATTERY_CHARGER_STATUS_POWER_DOWN', + 50: 'LTC4123_RECOVERY_ATTEMPT', + 51: 'LTC4123_RECOVERY_GAVE_UP', + 52: 'LTC4123_CHRG_COMPLETE_OVERRIDDEN_BAD_BATT', +}; +const LOOKUP_STATUS_NAMES = { + 0: 'Zero', + 1: 'Full', + 2: '2Del', + 3: 'Emty', + 4: 'Bad', + 5: 'NUse', +}; +function u32le_at(bytes, off) { + return (((bytes[off] ?? 0) | + ((bytes[off + 1] ?? 0) << 8) | + ((bytes[off + 2] ?? 0) << 16) | + ((bytes[off + 3] ?? 0) << 24)) >>> + 0); +} +function decodeAsciiTrimFF(bytes) { + let end = bytes.length; + while (end > 0 && bytes[end - 1] === 0xff) + end--; + if (end === 0) + return ''; + return new TextDecoder().decode(bytes.slice(0, end)); +} +/** Convert unix seconds into Verisense 7-byte RTC payload (4-byte minutes + 3-byte ticks). */ +function unixSecondsToAsmRtcBytes(unixSeconds) { + if (!Number.isFinite(unixSeconds) || unixSeconds < 0) { + throw new Error('unixSecondsToAsmRtcBytes: unixSeconds must be a finite positive number'); + } + const minutes = Math.floor(unixSeconds / 60); + const secondsInMinute = unixSeconds - minutes * 60; + const ticks = Math.floor(secondsInMinute * 32768); + return new Uint8Array([ + minutes & 0xff, + (minutes >> 8) & 0xff, + (minutes >> 16) & 0xff, + (minutes >> 24) & 0xff, + ticks & 0xff, + (ticks >> 8) & 0xff, + (ticks >> 16) & 0xff, + ]); +} +/** Convert Verisense 7-byte RTC payload into unix seconds. */ +function asmRtcBytesToUnixSeconds(rtc7) { + if (rtc7.length !== 7) { + throw new Error('asmRtcBytesToUnixSeconds: payload must be exactly 7 bytes'); + } + const minutes = u32le_at(rtc7, 0); + const ticks = u24le(rtc7, 4); + return minutes * 60 + ticks / 32768.0; +} +/** Convert Verisense 8-byte minute counter payload into unix seconds. */ +function asmRtcMinutesBytesToUnixSeconds(minutes8) { + if (minutes8.length !== 8) { + throw new Error('asmRtcMinutesBytesToUnixSeconds: payload must be exactly 8 bytes'); + } + let minutes = 0n; + for (let i = 0; i < 8; i++) { + minutes |= BigInt(minutes8[i]) << BigInt(i * 8); + } + return Number(minutes) * 60; +} +/** + * Build a production configuration payload (56 bytes) from structured options. + * This matches the Python tooling layout used by ASM_BLE.py / ASM_Device.py. + */ +function buildProductionConfigPayload(opts) { + const mo = String(opts.manufacturingOrderNumberHex ?? '').trim(); + const mac = String(opts.macIdHex ?? '').trim(); + if (!/^[0-9a-fA-F]{8}$/.test(mo)) { + throw new Error('buildProductionConfigPayload: manufacturingOrderNumberHex must be 8 hex chars'); + } + if (!/^[0-9a-fA-F]{4}$/.test(mac)) { + throw new Error('buildProductionConfigPayload: macIdHex must be 4 hex chars'); + } + const uniqueBytes = new Uint8Array(6); + uniqueBytes.set(new Uint8Array(mo.match(/../g).map((h) => Number.parseInt(h, 16))), 0); + uniqueBytes.set(new Uint8Array(mac.match(/../g).map((h) => Number.parseInt(h, 16))), 4); + uniqueBytes.reverse(); + const revHwInternal = (opts.revHwInternal ?? 0) & 0xffff; + const revFwInternal = (opts.revFwInternal ?? 0) & 0xffff; + const out = new Uint8Array(56); + out[0] = 0x5a; + out.set(uniqueBytes, 1); + out[7] = opts.revHwMajor & 0xff; + out[8] = opts.revHwMinor & 0xff; + out[9] = opts.revFwMajor & 0xff; + out[10] = opts.revFwMinor & 0xff; + out[11] = revFwInternal & 0xff; + out[12] = (revFwInternal >> 8) & 0xff; + out[13] = revHwInternal & 0xff; + out[14] = (revHwInternal >> 8) & 0xff; + out.fill(0xff, 15, 56); + const passkeyId = opts.passkeyId ?? ''; + if (passkeyId.length > 0) { + if (passkeyId.length !== 2) { + throw new Error('buildProductionConfigPayload: passkeyId must be 2 chars when provided'); + } + out.set(new TextEncoder().encode(passkeyId), 15); + } + const passkey = opts.passkey ?? ''; + if (passkey.length > 0) { + if (passkey.length !== 6) { + throw new Error('buildProductionConfigPayload: passkey must be 6 chars when provided'); + } + out.set(new TextEncoder().encode(passkey), 17); + } + const advPrefix = opts.advertisingNamePrefix ?? ''; + if (advPrefix.length > 32) { + throw new Error('buildProductionConfigPayload: advertisingNamePrefix must be <= 32 chars'); + } + if (advPrefix.length > 0) { + out.set(new TextEncoder().encode(advPrefix), 23); + } + if (opts.dfuEnabled ?? true) { + out[55] = PROD_CONFIG_FLAG_DFU_ENABLED; + } + return out; +} +/** Parse production configuration with optional passkey/name/flag fields. */ +function parseProductionConfigPayloadFull(response) { + if (response.length < 11) { + throw new Error('parseProductionConfigPayloadFull: payload must be at least 11 bytes'); + } + const base = parseProductionConfigPayload(response); + const uniqueIdentifier = [...response.slice(1, 7)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join('') + .toUpperCase(); + const revHwMajor = response[7] ?? 0; + const revHwMinor = response[8] ?? 0; + const revFwMajor = response[9] ?? 0; + const revFwMinor = response[10] ?? 0; + const revFwInternal = response.length >= 13 ? u16le_at(response, 11) : 0; + const revHwInternal = response.length >= 15 ? u16le_at(response, 13) : 0; + const passkeyId = response.length >= 17 ? decodeAsciiTrimFF(response.slice(15, 17)) : ''; + const passkey = response.length >= 23 ? decodeAsciiTrimFF(response.slice(17, 23)) : ''; + const advertisingNamePrefix = response.length >= 55 ? decodeAsciiTrimFF(response.slice(23, 55)) : ''; + const dfuEnabled = response.length >= 56 ? !!(response[55] & PROD_CONFIG_FLAG_DFU_ENABLED) : true; + return { + ...base, + manufacturingOrderNumber: uniqueIdentifier.slice(0, 8), + macId: uniqueIdentifier.slice(8, 12), + uniqueIdentifier, + revHwMajor, + revHwMinor, + revHwInternal, + revFwMajor, + revFwMinor, + revFwInternal, + passkeyId, + passkey, + advertisingNamePrefix, + dfuEnabled, + }; +} +/** + * Parse STATUS1/STATUS2 payload into a typed object. + * + * This ports the core byte parsing from ASM_Device.parse_status while keeping + * the output concise and UI-friendly. + */ +function parseStatusPayload(response, sourceStatusProperty = 'status1') { + if (response.length < 24) { + throw new Error('parseStatusPayload: payload must be at least 24 bytes'); + } + const uniqueIdentifier = [...response.slice(0, 6)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join('') + .toUpperCase(); + const hasTickFields = response.length >= 56; + const hasExtendedCapacity = response.length >= 65; + const statusTimestampSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(6, 10), ...response.slice(34, 37)])) + : u32le_at(response, 6) * 60; + const batteryMilliVolts = u16le_at(response, 10); + const batteryPercent = response[12] ?? 0; + const lastOkTransferSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(13, 17), ...response.slice(37, 40)])) + : u32le_at(response, 13) * 60; + const lastFailTransferSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(17, 21), ...response.slice(40, 43)])) + : u32le_at(response, 17) * 60; + const memoryFreeKb = hasExtendedCapacity + ? ((response[21] | (response[22] << 8) | (response[23] << 16) | (response[57] << 24)) >>> 0) + : ((response[21] | (response[22] << 8) | (response[23] << 16)) >>> 0); + const memoryCapacityKb = hasExtendedCapacity ? u32le_at(response, 60) : null; + const memoryUsedKb = memoryCapacityKb == null ? null : Math.max(0, memoryCapacityKb - memoryFreeKb); + const batteryFallCounter = response.length >= 26 ? u16le_at(response, 24) : null; + let statusFlags = null; + if (response.length >= 34) { + const f = response[26]; + statusFlags = { + usbPluggedIn: (f & 0x01) !== 0, + recordingPaused: (f & 0x02) !== 0, + flashIsFull: (f & 0x04) !== 0, + powerIsGood: (f & 0x08) !== 0, + adaptiveSchedulerOn: (f & 0x10) !== 0, + dfuServiceOn: (f & 0x20) !== 0, + firstBoot: (f & 0x40) !== 0, + repeatedBatteryMeasurement: (f & 0x80) !== 0, + }; + } + return { + uniqueIdentifier, + sourceStatusProperty, + statusTimestampSeconds, + batteryMilliVolts, + batteryPercent, + lastOkTransferSeconds, + lastFailTransferSeconds, + memoryFreeKb, + memoryCapacityKb, + memoryUsedKb, + statusFlags, + batteryFallCounter, + }; +} +/** Parse scheduler debug response payload from DEBUG_COMMAND_ID.RWC_SCHEDULER_READ. */ +function parseSchedulerDebugPayload(payload) { + if (payload.length < 42) { + throw new Error('parseSchedulerDebugPayload: payload is too short'); + } + let idx = 0; + const currentTimeUnixSeconds = asmRtcBytesToUnixSeconds(payload.slice(idx, idx + 7)); + idx += 7; + const bleControlByte = payload[idx++] ?? 0xff; + const bleControlCounter = bleControlByte === 0x00 + ? 'data-transfer' + : bleControlByte === 0x01 + ? 'status1' + : bleControlByte === 0x02 + ? 'rtc-sync' + : bleControlByte === 0x03 + ? 'status2' + : bleControlByte === 0xff + ? 'never' + : 'unknown'; + const next8 = () => { + const v = asmRtcMinutesBytesToUnixSeconds(payload.slice(idx, idx + 8)); + idx += 8; + return v; + }; + const out = { + currentTimeUnixSeconds, + bleControlCounter, + pendingDataTransferUnixSeconds: next8(), + pendingStatus1UnixSeconds: next8(), + pendingRtcSyncUnixSeconds: next8(), + pendingRetryUnixSeconds: next8(), + retryCount: payload[idx++] ?? 0, + retryOperation: (payload[idx++] ?? 0) === 1 ? 'ble-on' : 'ble-off', + }; + if (payload.length >= idx + 10) { + out.adaptiveScheduler = { + nextUnixSeconds: next8(), + enabled: (payload[idx++] ?? 0) === 1, + syncFailCounter: payload[idx++] ?? 0, + }; + } + if (payload.length >= idx + 11) { + const nextUnixSeconds = next8(); + const op = payload[idx++] ?? 0; + out.ltfRetry = { + nextUnixSeconds, + currentOperation: op === 0 + ? 'flash-write-retry-inactive' + : op === 1 + ? 'short-flash-write-retry' + : op === 2 + ? 'attempt-flash-write' + : op === 3 + ? 'long-flash-write-retry' + : op === 4 + ? 'sensor-paused-until-usb-plug-in' + : 'unknown', + failCounterShort: payload[idx++] ?? 0, + failCounterLong: payload[idx++] ?? 0, + }; + } + if (payload.length >= idx + 8) { + out.pendingStatus2UnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.ppgMeasurementUnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.stepCounterResetUnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.sensorInactivityUnixSeconds = next8(); + } + return out; +} +/** Parse debug payload listing bank indexes with bad CRC (2-byte LE entries). */ +function parsePayloadCrcErrorBankIndexes(payload) { + if (payload.length % 2 !== 0) { + throw new Error('parsePayloadCrcErrorBankIndexes: payload length must be even'); + } + const out = []; + for (let i = 0; i < payload.length; i += 2) + out.push(u16le_at(payload, i)); + return out; +} +/** Parse 8-byte debug event-log entries. */ +function parseEventLogPayload(payload) { + if (payload.length % 8 !== 0) { + throw new Error('parseEventLogPayload: payload length must be a multiple of 8'); + } + const out = []; + for (let i = 0; i < payload.length; i += 8) { + const entry = payload.slice(i, i + 8); + const eventId = entry[7]; + if (eventId === 0) + continue; + out.push({ + index: i / 8, + eventId, + eventName: LOG_EVENT_NAMES[eventId] ?? `EVENT_${eventId}`, + timestampUnixSeconds: eventId === 20 ? null : asmRtcBytesToUnixSeconds(entry.slice(0, 7)), + batteryMilliVolts: eventId === 20 ? u24le(entry, 0) : null, + }); + } + return out; +} +/** Parse record-buffer details payload (26-byte current layout, 19-byte legacy layout). */ +function parseRecordBufferDetailsPayload(payload) { + const bytesPerBuffer = payload.length % 26 === 0 ? 26 : payload.length % 19 === 0 ? 19 : 0; + if (!bytesPerBuffer) { + throw new Error('parseRecordBufferDetailsPayload: unsupported payload length'); + } + const out = []; + for (let i = 0; i < payload.length; i += bytesPerBuffer) { + const row = payload.slice(i, i + bytesPerBuffer); + out.push({ + bufferIndex: row[0], + bufferState: row[1], + packagedPayloadIndex: u16le_at(row, 2), + currentByteIndexForSensorData: u16le_at(row, 4), + usedBufferLength: u16le_at(row, 6), + fifoTicks: u16le_at(row, 8), + dataTimestampRwcMinutes: u32le_at(row, 10), + dataTimestampRwcTicks: u24le(row, 14), + temperatureData: u16le_at(row, 17), + dataTimestampUcClockMinutes: bytesPerBuffer >= 23 ? u32le_at(row, 19) : null, + dataTimestampUcClockTicks: bytesPerBuffer >= 26 ? u24le(row, 23) : null, + }); + } + return out; +} +/** + * Parse lookup-table debug payload entries (3 bytes per bank), with optional + * 4-byte tail/head prefix present in older firmware debug responses. + */ +function parseLookupTablePayload(payload, totalBanks) { + const bytesPerBank = 3; + const expectedNoHeadTail = totalBanks * bytesPerBank; + const expectedWithHeadTail = expectedNoHeadTail + 4; + let data = payload; + let head = null; + let tail = null; + if (payload.length === expectedWithHeadTail) { + tail = u16le_at(payload, 0); + head = u16le_at(payload, 2); + data = payload.slice(4); + } + else if (payload.length !== expectedNoHeadTail) { + throw new Error(`parseLookupTablePayload: payload length ${payload.length} does not match expected ${expectedNoHeadTail} or ${expectedWithHeadTail}`); + } + const entries = []; + for (let bankIndex = 0; bankIndex < totalBanks; bankIndex++) { + const off = bankIndex * bytesPerBank; + const statusByte = data[off]; + const pendingEepromWrite = (statusByte & 0x80) !== 0; + const statusCode = statusByte & 0x7f; + entries.push({ + bankIndex, + statusCode, + statusName: LOOKUP_STATUS_NAMES[statusCode] ?? 'Unknown', + pendingEepromWrite, + payloadIndex: u16le_at(data, off + 1), + }); + } + return { head, tail, entries }; +} /** * Parse the production config response payload into a structured object. */ @@ -1412,6 +1932,154 @@ function parseProductionConfigPayload(response) { }; } +/** Build a protocol header byte from command/property nibbles. */ +function buildHeader(command, property) { + return ((command & 0xf0) | (property & 0x0f)) & 0xff; +} +/** Decode a protocol header byte into command/property fields. */ +function parseHeader(header) { + return { + command: (header & 0xf0), + property: (header & 0x0f), + }; +} +/** Build a complete protocol message (header + 16-bit LE payload length + payload bytes). */ +function buildMessage(command, property, payloadBytes = []) { + const payload = payloadBytes instanceof Uint8Array ? payloadBytes : new Uint8Array(payloadBytes); + const out = new Uint8Array(3 + payload.length); + out[0] = buildHeader(command, property); + out[1] = payload.length & 0xff; + out[2] = (payload.length >> 8) & 0xff; + out.set(payload, 3); + return out; +} +/** Parse a complete protocol message into structured fields. */ +function parseMessage(msg) { + if (msg.length < 3) + throw new Error('Invalid Verisense message: header is incomplete'); + const header = msg[0]; + const payloadLength = u16le(msg[1], msg[2]); + if (msg.length !== payloadLength + 3) { + throw new Error(`Invalid Verisense message: length=${payloadLength}, actualPayload=${Math.max(0, msg.length - 3)}`); + } + const { command, property } = parseHeader(header); + return { + header, + command, + property, + payloadLength, + payload: msg.slice(3), + }; +} +function isAckCommand(command) { + return command === ASM_COMMAND.ACK || command === ASM_COMMAND.ACK_NEXT_STAGE; +} +function isNackCommand(command) { + return (command === ASM_COMMAND.NACK_BAD_HEADER_COMMAND || + command === ASM_COMMAND.NACK_BAD_HEADER_PROPERTY || + command === ASM_COMMAND.NACK_GENERIC); +} +/** Convert a pending-events payload (property IDs) into a typed array. */ +function parsePendingEvents(payload) { + const out = []; + for (let i = 0; i < payload.length; i++) + out.push((payload[i] & 0x0f)); + return out; +} + +function pad2(n) { + return Math.trunc(n).toString().padStart(2, '0'); +} +function pad5(n) { + return Math.trunc(n).toString().padStart(5, '0'); +} +function dateToYyMMddHHmmss(date) { + const yy = pad2(date.getUTCFullYear() % 100); + const mm = pad2(date.getUTCMonth() + 1); + const dd = pad2(date.getUTCDate()); + const hh = pad2(date.getUTCHours()); + const min = pad2(date.getUTCMinutes()); + const ss = pad2(date.getUTCSeconds()); + return `${yy}${mm}${dd}_${hh}${min}${ss}`; +} +/** Build a binary upload file name: yyMMdd_HHmmss_00000.bin */ +function buildUploadBinaryFileName(uploadDate, firstPayloadIndex) { + if (!Number.isFinite(firstPayloadIndex) || firstPayloadIndex < 0 || firstPayloadIndex > 0xffff) { + throw new Error('buildUploadBinaryFileName: firstPayloadIndex must be in range 0..65535'); + } + return `${dateToYyMMddHHmmss(uploadDate)}_${pad5(firstPayloadIndex)}.bin`; +} +/** Build parsed CSV file name: yyMMdd_HHmmss_DataSource_00000.csv */ +function buildParsedCsvFileName(startDate, dataSource, firstPayloadIndex) { + if (!dataSource || !String(dataSource).trim()) { + throw new Error('buildParsedCsvFileName: dataSource must be a non-empty string'); + } + if (!Number.isFinite(firstPayloadIndex) || firstPayloadIndex < 0 || firstPayloadIndex > 0xffff) { + throw new Error('buildParsedCsvFileName: firstPayloadIndex must be in range 0..65535'); + } + return `${dateToYyMMddHHmmss(startDate)}_${String(dataSource).trim()}_${pad5(firstPayloadIndex)}.csv`; +} +/** Add duplicate suffix like " (2)" before extension. */ +function applyDuplicateSuffix(fileName, duplicateIndex) { + if (duplicateIndex < 2) { + throw new Error('applyDuplicateSuffix: duplicateIndex must be >= 2'); + } + const idx = fileName.lastIndexOf('.'); + if (idx <= 0) + return `${fileName} (${duplicateIndex})`; + const stem = fileName.slice(0, idx); + const ext = fileName.slice(idx); + return `${stem} (${duplicateIndex})${ext}`; +} +/** Return first non-colliding duplicate name for a target file name. */ +function nextAvailableDuplicateFileName(fileName, existingNames) { + const existing = new Set(existingNames); + if (!existing.has(fileName)) + return fileName; + let i = 2; + while (true) { + const candidate = applyDuplicateSuffix(fileName, i); + if (!existing.has(candidate)) + return candidate; + i++; + } +} +/** Parse first payload index (uint16 LE) from a payload byte array. */ +function getFirstPayloadIndex(payload) { + if (payload.length < 2) { + throw new Error('getFirstPayloadIndex: payload must contain at least 2 bytes'); + } + return u16le_at(payload, 0); +} +/** + * Evaluate whether parsed CSV output should roll to a new file. + * Rules mirror ASM-DES08 split conditions. + */ +function evaluateParsedFileSplit(input) { + const reasons = []; + const prev = input.prevTimestampSec; + const curr = input.currTimestampSec; + // Split when crossing 12:00am or 12:00pm boundaries. + const prevHalfDay = Math.floor(prev / (12 * 60 * 60)); + const currHalfDay = Math.floor(curr / (12 * 60 * 60)); + if (currHalfDay !== prevHalfDay) + reasons.push('midday-midnight-boundary'); + if ((input.prevConfigSignature ?? null) !== (input.currConfigSignature ?? null)) { + reasons.push('config-change'); + } + if (input.expectedDeltaSec != null) { + const tol = Math.max(0, input.timestampToleranceSec ?? 0); + const delta = curr - prev; + if (Math.abs(delta - input.expectedDeltaSec) > tol) { + reasons.push('timestamp-discontinuity'); + } + } + if (input.powerResetDetected) { + reasons.push('power-reset'); + } + return { shouldSplit: reasons.length > 0, reasons }; +} + /** * Abstract base class for all Verisense sensor decoders. * @@ -1499,15 +2167,16 @@ SensorBase.CLOCK_FREQ = 32768; SensorBase.TICKS_MAX_VALUE = 60 * 32768; /** - * Decoder for the GSR (galvanic skin response) sensor (Verisense sensor id = 1). + * Decoder for grouped ADC channels (Verisense sensor id = 1). * + * Includes GSR plus battery/ADC channels carried in the same packet source. * Implements C# `SensorGSR.cs` including: * - Per-hardware reference resistor selection (SR68 vs Shimmer3 resistors). * - Auto-range decoding from the raw ADC value's upper bits. * - Range-3 clamping threshold that differs by hardware. - * - Conductance (ยตS) output with connectivity detection. + * - Conductance (uS) output with connectivity detection. */ -class SensorGSR extends SensorBase { +class SensorADC extends SensorBase { constructor() { super(); this.LIMIT_MIN_VALID_USIEMENS = 0.03; @@ -1517,7 +2186,7 @@ class SensorGSR extends SensorBase { this.SR68_REF_KOHMS = [21.0, 150.0, 562.0, 1740.0]; this.gsrEnabled = true; this.battEnabled = false; - /** GSR range 0โ€“3 (fixed) or 4 (auto-range). */ + /** GSR range 0-3 (fixed) or 4 (auto-range). */ this.gsrRangeSetting = 4; this.hardwareIdentifier = 'VERISENSE_PULSE_PLUS'; // Decoded from opConfig for debug/display @@ -1532,18 +2201,6 @@ class SensorGSR extends SensorBase { setGsrRangeSetting(v) { this.gsrRangeSetting = v; } - // Convenience aliases - setGSREnabled(enabled, opConfigBytes) { - return this.setEnabled(enabled, opConfigBytes); - } - setBattEnabled(enabled, opConfigBytes) { - return this.setEnabled({ batt: enabled }, opConfigBytes); - } - /** - * Dual-mode setter: - * - If `opConfigBytes` is provided: returns a new Uint8Array with the enable bits patched. - * - Otherwise: updates local decoder flags only. - */ setEnabled(arg1, opConfigBytes) { if (opConfigBytes != null) { const desired = typeof arg1 === 'boolean' ? { gsr: arg1 } : arg1 && typeof arg1 === 'object' ? arg1 : {}; @@ -1569,7 +2226,6 @@ class SensorGSR extends SensorBase { } return out; } - // --- Operational config patch helpers --- patchGsrRange(rangeCfg, op) { const out = new Uint8Array(op); const i = OP_IDX.ADC_CHANNEL_SETTINGS_1; @@ -1588,7 +2244,6 @@ class SensorGSR extends SensorBase { out[i] = (out[i] & 0b00001111) | ((overCfg & 0x0f) << 4); return out; } - // --- Calibration --- calibrateAdcToVolts(uncal12bit) { const adcRange = 2 ** 12 - 1; let refVoltage = 1.8 / 4.0; @@ -1650,9 +2305,28 @@ class SensorGSR extends SensorBase { gsr = { raw: gsrraw, adc12, range: currentRange, volts, kOhms, uS, connectivity }; } if (this.battEnabled) { - const braw = i16le(sensorPayloadBytes, base) & 0x0fff; - const mv = this.calibrateAdcToVolts(braw) * 1000.0; - batt = { raw: braw, mV: mv }; + const raw16 = i16le(sensorPayloadBytes, base) & 0xffff; + const adc12 = raw16 & 0x0fff; + const usbPluggedIn = ((raw16 >> 15) & 0x01) === 1; + const chargerStatusBits = (raw16 >> 13) & 0x03; + let mv = this.calibrateAdcToVolts(adc12) * 1000.0; + if (this.hardwareIdentifier === 'VERISENSE_GSR_PLUS') { + mv *= 1.988; + } + const chargerStatusMap = { + 0: 'Power-Down/Suspended', + 1: 'Charging', + 2: 'Charging Complete', + 3: 'Bad Battery/LDO', + }; + batt = { + raw16, + adc12, + mV: mv, + usbPluggedIn, + chargerStatusBits, + chargerStatus: chargerStatusMap[chargerStatusBits] ?? 'Unknown', + }; } out.push({ gsr, batt }); } @@ -2028,6 +2702,39 @@ class SensorPPG extends SensorBase { } } +function defaultAcceptedCommands(command) { + if (command === ASM_COMMAND.READ) + return new Set([ASM_COMMAND.RESPONSE]); + if (command === ASM_COMMAND.WRITE) { + return new Set([ + ASM_COMMAND.ACK, + ASM_COMMAND.ACK_NEXT_STAGE, + ASM_COMMAND.RESPONSE, + ]); + } + return new Set([ASM_COMMAND.ACK, ASM_COMMAND.ACK_NEXT_STAGE, ASM_COMMAND.RESPONSE]); +} +function toCommandResponse(msg) { + return { + header: msg.header, + command: msg.command, + property: msg.property, + payload: msg.payload, + }; +} +function validatePendingResponse(pending, msg) { + if (isNackCommand(msg.command)) { + return new Error(`Device returned NACK command=0x${msg.command.toString(16)} property=0x${msg.property.toString(16)}`); + } + if (msg.property !== pending.expectedProperty) { + return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected 0x${pending.expectedProperty.toString(16)})`); + } + if (!pending.acceptedCommands.has(msg.command)) { + return new Error(`Unexpected response command 0x${msg.command.toString(16)} for property 0x${msg.property.toString(16)}`); + } + return null; +} + // --------------------------------------------------------------------------- // VerisenseBleDevice // --------------------------------------------------------------------------- @@ -2038,7 +2745,7 @@ class SensorPPG extends SensorBase { * (on/off/emit) for the richer event model the Verisense protocol needs. * * Supports: - * - BLE streaming (accel, GSR, gyro, PPG) + * - BLE streaming (accel, ADC/GSR, gyro, PPG) * - Web Serial (USB COM port) as an alternative transport * - Logged-data download (`transferLoggedData`) * - Operational config read/write @@ -2088,9 +2795,6 @@ class VerisenseBleDevice extends BaseShimmerClient { // Protocol state this._mode = 'idle'; this._rxStreamBuf = new Uint8Array(0); - this._buf = new Uint8Array(0); - this._newPayload = true; - this._expectedLen = 0; this._pending = null; this._loggedChain = Promise.resolve(); this._sync = null; @@ -2105,7 +2809,7 @@ class VerisenseBleDevice extends BaseShimmerClient { this.stripStreamCrc = opts.stripStreamCrc ?? true; this.verifyStreamCrc = opts.verifyStreamCrc ?? false; this.sensors = { - 1: new SensorGSR(), + 1: new SensorADC(), 2: new SensorLIS2DW12(), 3: new SensorLSM6DS3(), 4: new SensorPPG(), @@ -2116,8 +2820,8 @@ class VerisenseBleDevice extends BaseShimmerClient { if (this.debug) console.log('[Verisense]', ...args); } - // Quick access aliases - get gsr() { + // Quick accessors + get adc() { return this.sensors[1]; } get accel1() { @@ -2368,7 +3072,9 @@ class VerisenseBleDevice extends BaseShimmerClient { } } else { - void this.writeBytes(DISCONNECT_REQ, { withResponse: false }); + void this.writeBytes(buildMessage(ASM_COMMAND.WRITE, ASM_PROPERTY.DEVICE_DISCONNECT), { + withResponse: false, + }); try { if (this.rx) await this.rx.stopNotifications?.(); @@ -2405,13 +3111,12 @@ class VerisenseBleDevice extends BaseShimmerClient { // Streaming // --------------------------------------------------------------------------- async startStreaming() { + await this.setStreamingMode(true); this._mode = 'streaming'; - this._resetAssembler(); - await this.writeBytes(this._makeReq(0x2a, [0x01])); this.emit('streaming', { on: true }); } async stopStreaming() { - await this.writeBytes(this._makeReq(0x2a, [0x02])); + await this.setStreamingMode(false); this._mode = 'idle'; this.emit('streaming', { on: false }); } @@ -2472,11 +3177,13 @@ class VerisenseBleDevice extends BaseShimmerClient { return; try { if (this._sync.lastReply === 'NONE') { - await this.writeBytes(READ_DATA_REQ, { withResponse: true }); + await this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }); } else { this._clearSyncRxBuffers('timeout-nack'); - await this.writeBytes(DATA_NACK); + await this.writeBytes(buildMessage(ASM_COMMAND.NACK_GENERIC, ASM_PROPERTY.DATA)); this._sync.nackCount++; this._sync.lastReply = 'NACK'; if (this._sync.nackCount >= this._sync.maxNack) @@ -2493,7 +3200,9 @@ class VerisenseBleDevice extends BaseShimmerClient { } }, Math.max(250, Math.floor(timeoutMs / 2))); try { - await this.writeBytes(READ_DATA_REQ, { withResponse: true }); + await this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }); const result = await donePromise; await (this._loggedChain ?? Promise.resolve()); if (!fileHandle) { @@ -2534,31 +3243,25 @@ class VerisenseBleDevice extends BaseShimmerClient { await this.tx.writeValue(toArrayBuffer(u8)); } } - _makeReq(opcode, payloadBytes = []) { - const p = payloadBytes instanceof Uint8Array ? payloadBytes : new Uint8Array(payloadBytes); - const out = new Uint8Array(3 + p.length); - out[0] = opcode & 0xff; - out[1] = p.length & 0xff; - out[2] = (p.length >> 8) & 0xff; - out.set(p, 3); - return out; - } - async request(opcode, payloadBytes = [], timeoutMs = 3000) { + async _requestByCommand(command, property, payloadBytes = [], timeoutMs = 3000, acceptedCommands) { if (this._pending) throw new Error('A request is already pending'); this._mode = 'command'; this._resetAssembler(); - const req = this._makeReq(opcode, payloadBytes); - const p = new Promise((resolve, reject) => { + const req = buildMessage(command, property, payloadBytes); + const accepted = acceptedCommands ?? defaultAcceptedCommands(command); + const pendingPromise = new Promise((resolve, reject) => { const t = setTimeout(() => { this._pending = null; reject(new Error('Request timeout')); }, timeoutMs); this._pending = { - resolve: (x) => { + expectedProperty: property, + acceptedCommands: accepted, + resolve: (resp) => { clearTimeout(t); this._pending = null; - resolve(x); + resolve(resp); }, reject: (e) => { clearTimeout(t); @@ -2568,29 +3271,207 @@ class VerisenseBleDevice extends BaseShimmerClient { }; }); await this.writeBytes(req); - return p; + return pendingPromise; + } + async readProperty(property, timeoutMs = 3000) { + return this._requestByCommand(ASM_COMMAND.READ, property, [], timeoutMs); + } + async writeProperty(property, payloadBytes = [], timeoutMs = 3000) { + return this._requestByCommand(ASM_COMMAND.WRITE, property, payloadBytes, timeoutMs); } - // Convenience command methods + async request(opcode, payloadBytes = [], timeoutMs = 3000) { + const { command, property } = parseHeader(opcode & 0xff); + const rsp = await this._requestByCommand(command, property, payloadBytes, timeoutMs); + return { payload: rsp.payload }; + } + // Convenience command methods (all protocol properties) readStatus() { - return this.request(0x11); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.STATUS1); + } + async readStatusParsed() { + const { payload } = await this.readStatus(); + return parseStatusPayload(payload, 'status1'); } readStatus2() { - return this.request(0x1c); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.STATUS2); + } + async readStatus2Parsed() { + const { payload } = await this.readStatus2(); + return parseStatusPayload(payload, 'status2'); + } + readData() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.DATA); } readProductionConfig() { - return this.request(0x13); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.PRODUCTION_CONFIGURATION); } readOperationalConfig() { - return this.request(0x14); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.OPERATIONAL_CONFIGURATION); } readTime() { - return this.request(0x15); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.TIME); + } + async readTimeUnixSeconds() { + const { payload } = await this.readTime(); + return asmRtcBytesToUnixSeconds(payload); } readPendingEvents() { - return this.request(0x17); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.PENDING_EVENTS); + } + async readPendingEventsParsed() { + const { payload } = await this.readPendingEvents(); + return parsePendingEvents(payload); + } + async writeProductionConfig(bytes) { + const payload = normalizeBytePayload(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)); + if (!payload || payload.length < 11 || payload.length > 56) { + throw new Error('writeProductionConfig: payload length must be between 11 and 56 bytes'); + } + await this.writeProperty(ASM_PROPERTY.PRODUCTION_CONFIGURATION, payload); } - disconnectRequest() { - return this.request(0x2b); + async writeOperationalConfig(bytes) { + const payload = normalizeBytePayload(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)); + if (!payload || payload.length < 50) { + throw new Error('writeOperationalConfig: payload length must be at least 50 bytes'); + } + await this.writeProperty(ASM_PROPERTY.OPERATIONAL_CONFIGURATION, payload); + } + async writeTime(rtc7) { + const payload = normalizeBytePayload(rtc7 instanceof Uint8Array ? rtc7 : new Uint8Array(rtc7)); + if (!payload || payload.length !== 7) { + throw new Error('writeTime: payload must be exactly 7 bytes'); + } + await this.writeProperty(ASM_PROPERTY.TIME, payload); + } + async writeTimeUnixSeconds(unixSeconds) { + await this.writeTime(unixSecondsToAsmRtcBytes(unixSeconds)); + } + async enterDfuMode() { + await this.writeProperty(ASM_PROPERTY.DFU_MODE, []); + } + async runTestMode(testPayload) { + const payload = normalizeBytePayload(testPayload instanceof Uint8Array ? testPayload : new Uint8Array(testPayload)); + if (!payload || payload.length < 2) { + throw new Error('runTestMode: payload must contain at least [testId, hwMajor]'); + } + await this.writeProperty(ASM_PROPERTY.TEST_MODE, payload); + } + async runHardwareTest(testId, hwMajor, hwMinor = 0, hwInternal = 0) { + const payload = new Uint8Array([ + testId & 0xff, + hwMajor & 0xff, + hwMinor & 0xff, + hwInternal & 0xff, + (hwInternal >> 8) & 0xff, + ]); + await this.runTestMode(payload); + } + _buildDebugPayload(debugId, args = []) { + const argBytes = args instanceof Uint8Array ? args : new Uint8Array(args); + const payload = new Uint8Array(1 + argBytes.length); + payload[0] = debugId & 0xff; + payload.set(argBytes, 1); + return payload; + } + async readDebugCommand(debugId, args = []) { + const rsp = await this._requestByCommand(ASM_COMMAND.READ, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args)); + return { payload: rsp.payload }; + } + async sendDebugCommand(debugId, args = []) { + const rsp = await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args)); + return { payload: rsp.payload }; + } + async readFlashLookupTable(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.FLASH_LOOKUP_TABLE_READ, [index & 0xff]); + } + async readRealWorldClockScheduler(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.RWC_SCHEDULER_READ, [index & 0xff]); + } + async readRealWorldClockSchedulerParsed(index = 0) { + const { payload } = await this.readRealWorldClockScheduler(index); + return parseSchedulerDebugPayload(payload); + } + async loadTestLookupTable(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.LOAD_TEST_LOOKUP_TABLE, [index & 0xff]); + } + async checkPayloadCrcErrors(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.CHECK_PAYLOAD_CRC_ERRORS, [index & 0xff]); + } + async checkPayloadCrcErrorsParsed(index = 0) { + const { payload } = await this.checkPayloadCrcErrors(index); + return parsePayloadCrcErrorBankIndexes(payload); + } + async readEventLog(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_EVENT_LOG, [index & 0xff]); + } + async readEventLogParsed(index = 0) { + const { payload } = await this.readEventLog(index); + return parseEventLogPayload(payload); + } + async readRecordBufferDetails(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_RECORD_BUFFER_DETAILS, [index & 0xff]); + } + async readRecordBufferDetailsParsed(index = 0) { + const { payload } = await this.readRecordBufferDetails(index); + return parseRecordBufferDetailsPayload(payload); + } + async eraseOperationalConfig() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_OPERATIONAL_CONFIG); + } + async eraseProductionConfig() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_PRODUCTION_CONFIG); + } + async clearPendingEvents() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.CLEAR_PENDING_EVENTS); + } + async eraseAllLoggedData() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_FLASH_AND_LOOKUP_TABLE); + } + async testDataTransferLoop(loopCount) { + const clamped = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); + await this.sendDebugCommand(DEBUG_COMMAND_ID.TEST_DATA_TRANSFER_LOOP, [ + clamped & 0xff, + (clamped >> 8) & 0xff, + ]); + } + async ledTest(ledIndex) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.LED_TEST, [ledIndex & 0xff]); + } + async max86xxxLedTest(start) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.MAX86XXX_LED_TEST, [start ? 0x01 : 0x00]); + } + async startPowerProfilerTest() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.POWER_PROFILER_TEST); + } + async requestSystemReset() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.SYSTEM_RESET); + } + async startIcPowerConsumptionTest(loopCount, stageIntervalMs) { + const clampedLoopCount = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); + const clampedStageInterval = Math.max(0, Math.min(0xffff, Math.trunc(stageIntervalMs))); + await this.sendDebugCommand(DEBUG_COMMAND_ID.IC_POWER_CONSUMPTION_TEST, [ + clampedLoopCount & 0xff, + (clampedLoopCount >> 8) & 0xff, + clampedStageInterval & 0xff, + (clampedStageInterval >> 8) & 0xff, + ]); + } + async deleteAllBonds() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.DELETE_ALL_BONDS); + } + async setStreamingMode(enabled) { + await this.writeProperty(ASM_PROPERTY.STREAM_MODE, [enabled ? STREAM_MODE.ENABLE : STREAM_MODE.DISABLE], 3000); + } + async disconnectRequest() { + try { + return await this.request(ASM_COMMAND.WRITE | ASM_PROPERTY.DEVICE_DISCONNECT, [], 1500); + } + catch (e) { + const msg = e instanceof Error ? e.message : String(e); + if (/timeout/i.test(msg)) + return { payload: new Uint8Array(0) }; + throw e; + } } // --------------------------------------------------------------------------- // Operational config helpers @@ -2619,7 +3500,7 @@ class VerisenseBleDevice extends BaseShimmerClient { try { this.accel1.applyOperationalConfig(op); this.gyroAccel2.applyOperationalConfig(op); - this.gsr.applyOperationalConfig(op); + this.adc.applyOperationalConfig(op); this.ppg.applyOperationalConfig(op); } catch (e) { @@ -2634,16 +3515,9 @@ class VerisenseBleDevice extends BaseShimmerClient { throw new Error('writeOpConfig: invalid opconfig'); if (op[0] !== 0x5a) throw new Error('writeOpConfig: opconfig must start with 0x5A'); - const req = this._makeReq(0x24, op); - await this.writeBytes(req, { withResponse: true }); + await this.writeOperationalConfig(op); await this.readOpConfigFromDevice(); } - async getopconfig() { - return this.getOpConfig(); - } - async writeopconfig(op) { - return this.writeOpConfig(op); - } getSensor(name) { const k = String(name ?? '').toLowerCase(); if (!k) @@ -2652,15 +3526,14 @@ class VerisenseBleDevice extends BaseShimmerClient { return this.accel1; if (k.includes('lsm6') || k.includes('gyro') || k.includes('accel2') || k === '3') return this.gyroAccel2; + if (k.includes('vbatt') || k.includes('batt') || k.includes('battery') || k.includes('adc')) + return this.adc; if (k.includes('gsr') || k === '1') - return this.gsr; + return this.adc; if (k.includes('ppg') || k === '4') return this.ppg; return null; } - GetSensor(name) { - return this.getSensor(name); - } // --------------------------------------------------------------------------- // RX assembly and dispatch // --------------------------------------------------------------------------- @@ -2700,7 +3573,7 @@ class VerisenseBleDevice extends BaseShimmerClient { s.lastReply = 'NACK'; s.nackCrcCount++; this._clearSyncRxBuffers('crc-nack'); - await this.writeBytes(DATA_NACK); + await this.writeBytes(buildMessage(ASM_COMMAND.NACK_GENERIC, ASM_PROPERTY.DATA)); if (s.nackCrcCount >= s.maxCrcNack) this._abortSync(new Error('Too many CRC failures')); s.onProgress?.({ payloadIndex, bytesWritten: s.bytesWritten, crcOk: false }); @@ -2710,19 +3583,19 @@ class VerisenseBleDevice extends BaseShimmerClient { await s.writable.write(toArrayBuffer(payloadU8)); } else { - s.chunks.push(payloadU8.slice()); + s.chunks.push(new Uint8Array(payloadU8)); } s.bytesWritten += payloadU8.length; s.lastReply = 'ACK'; s.nackCount = 0; s.nackCrcCount = 0; - await this.writeBytes(DATA_ACK, { withResponse: true }); + await this.writeBytes(buildMessage(ASM_COMMAND.ACK_NEXT_STAGE, ASM_PROPERTY.DATA), { + withResponse: true, + }); s.onProgress?.({ payloadIndex, bytesWritten: s.bytesWritten, crcOk: true }); } _resetAssembler() { - this._newPayload = true; - this._expectedLen = 0; - this._buf = new Uint8Array(0); + this._rxStreamBuf = new Uint8Array(0); } _appendStreamBuf(chunk) { const merged = new Uint8Array(this._rxStreamBuf.length + chunk.length); @@ -2736,6 +3609,25 @@ class VerisenseBleDevice extends BaseShimmerClient { if (this.debugSync) console.warn('[sync] cleared RX buffers', { reason }); } + _resolvePendingCommand(msg) { + const pending = this._pending; + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; + if (pending) { + const err = validatePendingResponse(pending, msg); + if (err) + pending.reject(err); + else + pending.resolve(toCommandResponse(msg)); + } + this.emit('commandPayload', { + header: msg.header, + command: msg.command, + property: msg.property, + payload: msg.payload, + }); + } _feedStreamBytes(chunk) { if (this._mode === 'logged' && this._sync) this._sync.lastRxAt = Date.now(); @@ -2746,11 +3638,24 @@ class VerisenseBleDevice extends BaseShimmerClient { const hdr = this._rxStreamBuf[0]; const len = (this._rxStreamBuf[1] | (this._rxStreamBuf[2] << 8)) >>> 0; if (len === 0) { + const header = hdr & 0xff; + const decodedHeader = parseHeader(header); + const msg = { + header, + command: decodedHeader.command, + property: decodedHeader.property, + payloadLength: 0, + payload: new Uint8Array(0), + }; this._rxStreamBuf = this._rxStreamBuf.slice(3); - if (this._mode === 'logged' && hdr === DATA_EOS_HDR) { + if (this._mode === 'logged' && hdr === buildHeader(ASM_COMMAND.ACK, ASM_PROPERTY.DATA)) { if (this.debugSync) console.log('[sync] EOS received. Finishing.'); this._finishSync(); + continue; + } + if (this._mode === 'command') { + this._resolvePendingCommand(msg); } continue; } @@ -2758,23 +3663,26 @@ class VerisenseBleDevice extends BaseShimmerClient { return; const payload = this._rxStreamBuf.slice(3, 3 + len); this._rxStreamBuf = this._rxStreamBuf.slice(3 + len); + const header = hdr & 0xff; + const decodedHeader = parseHeader(header); + const msg = { + header, + command: decodedHeader.command, + property: decodedHeader.property, + payloadLength: payload.length, + payload, + }; if (this._mode === 'logged') { this._loggedChain = (this._loggedChain ?? Promise.resolve()) - .then(() => this._handleLoggedPayload(payload)) + .then(() => this._handleLoggedPayload(msg.payload)) .catch((e) => this._abortSync(e)); continue; } if (this._mode === 'streaming') { - this._handleStreamingPayload(payload); + this._handleStreamingPayload(msg.payload); continue; } - const pending = this._pending; - this._pending = null; - if (this._mode === 'command') - this._mode = 'idle'; - if (pending) - pending.resolve({ payload }); - this.emit('commandPayload', { payload }); + this._resolvePendingCommand(msg); } } _handleStreamingPayload(payload) { @@ -2836,5 +3744,5 @@ VerisenseBleDevice.NUS_SERVICE = NUS_SERVICE; VerisenseBleDevice.NUS_TX = NUS_TX; VerisenseBleDevice.NUS_RX = NUS_RX; -export { BaseShimmerClient, CHANNEL_FORMATS, GSR_NAME, NUS_RX, NUS_SERVICE, NUS_TX, OPCODES, OP_IDX, ObjectCluster, SHIMMER3R_DEFAULTS, SensorBase, SensorBitmapShimmer3, SensorGSR, SensorLIS2DW12, SensorLSM6DS3, SensorPPG, Shimmer3RClient, TIMESTAMP_FIELD, VerisenseBleDevice, calibrateGsrDataToResistanceFromAmplifierEq, calibrateShimmer3RAdcChannel, calibrateU12AdcValue, crc16_ccitt_false, getOversamplingRatioADS1292R, normalizeOperationalConfig, nudgeGsrResistance, parseProductionConfigPayload }; +export { ASM_COMMAND, ASM_PROPERTY, BaseShimmerClient, CHANNEL_FORMATS, DEBUG_COMMAND_ID, GSR_NAME, NUS_RX, NUS_SERVICE, NUS_TX, OPCODES, OP_IDX, ObjectCluster, SHIMMER3R_DEFAULTS, STREAM_MODE, SensorADC, SensorBase, SensorBitmapShimmer3, SensorLIS2DW12, SensorLSM6DS3, SensorPPG, Shimmer3RClient, TEST_MODE_ID, TIMESTAMP_FIELD, VerisenseBleDevice, applyDuplicateSuffix, asmRtcBytesToUnixSeconds, asmRtcMinutesBytesToUnixSeconds, buildHeader, buildMessage, buildParsedCsvFileName, buildProductionConfigPayload, buildUploadBinaryFileName, calibrateGsrDataToResistanceFromAmplifierEq, calibrateShimmer3RAdcChannel, calibrateU12AdcValue, computeVerisensePairingPin, crc16_ccitt_false, evaluateParsedFileSplit, getFirstPayloadIndex, getOversamplingRatioADS1292R, isAckCommand, isNackCommand, nextAvailableDuplicateFileName, normalizeBytePayload, normalizeOperationalConfig, nudgeGsrResistance, parseEventLogPayload, parseHeader, parseLookupTablePayload, parseMessage, parsePayloadCrcErrorBankIndexes, parsePendingEvents, parseProductionConfigPayload, parseProductionConfigPayloadFull, parseRecordBufferDetailsPayload, parseSchedulerDebugPayload, parseStatusPayload, unixSecondsToAsmRtcBytes }; //# sourceMappingURL=shimmer-web-sdk.esm.js.map diff --git a/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map b/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map index 09cdf50..1f5504d 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map +++ b/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map @@ -1 +1 @@ -{"version":3,"file":"shimmer-web-sdk.esm.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocol.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorGSR.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u24le"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shimmer-web-sdk.esm.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file diff --git a/shimmer-extension/vendor/shimmer-web-sdk.umd.js b/shimmer-extension/vendor/shimmer-web-sdk.umd.js index bc582be..174c53e 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.umd.js +++ b/shimmer-extension/vendor/shimmer-web-sdk.umd.js @@ -477,7 +477,7 @@ return out; } /** Read a 16-bit unsigned integer, little-endian. */ - function u16le(b, o) { + function u16le$1(b, o) { return (b[o] | (b[o + 1] << 8)) >>> 0; } /** Read a 16-bit unsigned integer, big-endian. */ @@ -902,7 +902,7 @@ let base = 0; if (u8[0] === OPCODES.INQUIRY_RESPONSE && u8.length >= 2) base = 1; - const adcRaw = u16le(u8, base + 0); + const adcRaw = u16le$1(u8, base + 0); const samplingRateHz = 32768 / adcRaw; this.samplingRateHz = samplingRateHz; const cfg = BigInt(u8[base + 2]) | @@ -1047,8 +1047,8 @@ if (buf[0] === preamble && buf[frameBytes] === preamble) { let ts1, ts2; try { - ts1 = tsBytes === 2 ? u16le(buf, 1) : u24le$1(buf, 1); - ts2 = tsBytes === 2 ? u16le(buf, frameBytes + 1) : u24le$1(buf, frameBytes + 1); + ts1 = tsBytes === 2 ? u16le$1(buf, 1) : u24le$1(buf, 1); + ts2 = tsBytes === 2 ? u16le$1(buf, frameBytes + 1) : u24le$1(buf, frameBytes + 1); } catch { buf = buf.subarray(1); @@ -1065,7 +1065,7 @@ try { let cursor = 1; const oc = new ObjectCluster(this.device?.name ?? 'Shimmer3R'); - const ts = tsBytes === 2 ? u16le(frame, cursor) : u24le$1(frame, cursor); + const ts = tsBytes === 2 ? u16le$1(frame, cursor) : u24le$1(frame, cursor); cursor += tsBytes; oc.add('TIMESTAMP', ts, 'ticks', 'raw'); for (const f of sch.fields) { @@ -1075,10 +1075,10 @@ let v; switch (f.fmt) { case 'i16': - v = f.endian === 'be' ? sign16(u16be(frame, cursor)) : sign16(u16le(frame, cursor)); + v = f.endian === 'be' ? sign16(u16be(frame, cursor)) : sign16(u16le$1(frame, cursor)); break; case 'u16': - v = f.endian === 'be' ? u16be(frame, cursor) : u16le(frame, cursor); + v = f.endian === 'be' ? u16be(frame, cursor) : u16le$1(frame, cursor); break; case 'i24': v = f.endian === 'be' ? sign24(u24be(frame, cursor)) : sign24(u24le$1(frame, cursor)); @@ -1097,7 +1097,7 @@ v = frame[cursor]; break; default: - v = u16le(frame, cursor); + v = u16le$1(frame, cursor); } cursor += f.sizeBytes; oc.add(f.name, v, null, 'raw'); @@ -1234,18 +1234,80 @@ /** NUS RX characteristic UUID (host subscribes to notifications from this). */ const NUS_RX = '6e400003-b5a3-f393-e0a9-e50e24dcca9e'; // --------------------------------------------------------------------------- - // Protocol command bytes + // Verisense protocol command/property constants // --------------------------------------------------------------------------- - /** Request the device to send logged data. */ - const READ_DATA_REQ = new Uint8Array([0x12, 0x00, 0x00]); - /** Request the device to disconnect cleanly. */ - const DISCONNECT_REQ = new Uint8Array([0x2b, 0x00, 0x00]); - /** Acknowledge a correctly-received logged data payload. */ - const DATA_ACK = new Uint8Array([0x82, 0x00, 0x00]); - /** Negative-acknowledge a logged data payload (triggers retransmission). */ - const DATA_NACK = new Uint8Array([0x72, 0x00, 0x00]); - /** Header byte that signals End-of-Stream for logged data transfer. */ - const DATA_EOS_HDR = 0x42; + /** Upper-nibble command classes used in protocol headers. */ + const ASM_COMMAND = Object.freeze({ + READ: 0x10, + WRITE: 0x20, + RESPONSE: 0x30, + ACK: 0x40, + NACK_BAD_HEADER_COMMAND: 0x50, + NACK_BAD_HEADER_PROPERTY: 0x60, + NACK_GENERIC: 0x70, + ACK_NEXT_STAGE: 0x80, + }); + /** Lower-nibble property IDs used in protocol headers. */ + const ASM_PROPERTY = Object.freeze({ + STATUS1: 0x01, + DATA: 0x02, + PRODUCTION_CONFIGURATION: 0x03, + OPERATIONAL_CONFIGURATION: 0x04, + TIME: 0x05, + DFU_MODE: 0x06, + PENDING_EVENTS: 0x07, + TEST_MODE: 0x08, + DEBUG_COMMAND: 0x09, + STREAM_MODE: 0x0a, + DEVICE_DISCONNECT: 0x0b, + STATUS2: 0x0c, + }); + /** Stream mode payload values. */ + const STREAM_MODE = Object.freeze({ + ENABLE: 0x01, + DISABLE: 0x02, + }); + /** Test mode IDs documented by Verisense firmware. */ + const TEST_MODE_ID = Object.freeze({ + STOP: 0x00, + FLASH_8MB_1: 0x01, + FLASH_8MB_2: 0x02, + FLASH_128MB_512MB: 0x03, + EEPROM: 0x04, + ACCEL1_LIS2DW12: 0x05, + BATTERY_VOLTAGE: 0x06, + USB_POWER: 0x07, + ACCEL2_GYRO_LSM6DS3: 0x08, + PPG_MAX86XXX: 0x09, + BIOZ_MAX30002: 0x0b, + ACCEL2_GYRO_LSM6DSV: 0x0c, + MAG_LIS2MDL: 0x0d, + ALL_TESTS: 0xff, + }); + /** Debug command IDs documented by Verisense firmware. */ + const DEBUG_COMMAND_ID = Object.freeze({ + FLASH_LOOKUP_TABLE_READ: 0x01, + FLASH_LOOKUP_TABLE_ERASE: 0x02, + RWC_SCHEDULER_READ: 0x03, + ERASE_128MB_512MB_FLASH: 0x04, + ERASE_8MB_FLASH_1: 0x05, + ERASE_8MB_FLASH_2: 0x06, + ERASE_OPERATIONAL_CONFIG: 0x07, + ERASE_PRODUCTION_CONFIG: 0x08, + CLEAR_PENDING_EVENTS: 0x09, + ERASE_FLASH_AND_LOOKUP_TABLE: 0x0a, + TEST_DATA_TRANSFER_LOOP: 0x0b, + LOAD_TEST_LOOKUP_TABLE: 0x0c, + LED_TEST: 0x0d, + MAX86XXX_LED_TEST: 0x0e, + CHECK_PAYLOAD_CRC_ERRORS: 0x0f, + READ_EVENT_LOG: 0x10, + POWER_PROFILER_TEST: 0x11, + READ_RECORD_BUFFER_DETAILS: 0x12, + SYSTEM_RESET: 0x13, + IC_POWER_CONSUMPTION_TEST: 0x14, + DELETE_ALL_BONDS: 0x15, + }); // --------------------------------------------------------------------------- // Operational config byte offsets // --------------------------------------------------------------------------- @@ -1309,11 +1371,10 @@ PROX_AGC_MODE: 71, }); - /** - * Pure byte-manipulation utilities for the Verisense protocol. - * No side-effects; suitable for unit testing without a BLE device. - */ /** Read a 16-bit unsigned integer, little-endian. */ + function u16le(b0, b1) { + return (b1 << 8) | b0; + } /** Read a signed 16-bit integer at byte offset `off`, little-endian. */ function i16le(bytes, off) { const v = bytes[off] | (bytes[off + 1] << 8); @@ -1331,9 +1392,6 @@ function nowMillis() { return Date.now(); } - // --------------------------------------------------------------------------- - // CRC-16/CCITT-FALSE - // --------------------------------------------------------------------------- /** * Compute CRC-16/CCITT-FALSE over `bytes`. * @@ -1365,12 +1423,9 @@ function computeCrcLikeCSharp(payload) { return crc16_ccitt_false(payload.subarray(0, payload.length - 2)); } - // --------------------------------------------------------------------------- - // Operational config normaliser - // --------------------------------------------------------------------------- /** * Convert any reasonable representation of an operational config to a - * `Uint8Array`. Throws if the input type is unrecognised. + * `Uint8Array`. Throws if the input type is unrecognised. */ function normalizeOperationalConfig(payload) { if (!payload) @@ -1387,6 +1442,471 @@ } throw new Error('normalizeOperationalConfig: unsupported payload type'); } + /** Alias for arbitrary protocol byte payload normalization. */ + function normalizeBytePayload(payload) { + return normalizeOperationalConfig(payload); + } + /** + * Derive the 6-digit pairing PIN from a Verisense unique identifier. + * + * The PIN is built from digits 2, 4 and 6 (1-based) of the identifier, + * followed by the decimal value of the final byte padded to 3 digits. + */ + function computeVerisensePairingPin(uniqueId) { + const normalized = String(uniqueId ?? '').trim().replace(/^Verisense-/i, ''); + if (!/^[0-9a-fA-F]{8,}$/.test(normalized)) { + throw new Error('computeVerisensePairingPin: uniqueId must be a hex identifier string'); + } + if (normalized.length < 6) { + throw new Error('computeVerisensePairingPin: uniqueId must be at least 6 hex characters'); + } + const prefix = `${normalized[1]}${normalized[3]}${normalized[5]}`; + const suffixHex = normalized.slice(-2); + const suffixDec = Number.parseInt(suffixHex, 16); + return `${prefix}${suffixDec.toString().padStart(3, '0')}`; + } + const PROD_CONFIG_FLAG_DFU_ENABLED = 1 << 0; + const LOG_EVENT_NAMES = { + 0: 'NONE', + 1: 'BATTERY_FALL', + 2: 'BATTERY_RECOVER', + 3: 'WRITE_TO_FLASH_SUCCESS', + 4: 'WRITE_TO_FLASH_FAIL_GENERAL', + 5: 'WRITE_TO_FLASH_FULL', + 6: 'WRITE_TO_FLASH_FAIL_CHECK_ADDR_FREE', + 7: 'WRITE_TO_FLASH_FAIL_LOW_BATT_CHECK_ADDR_FREE', + 8: 'WRITE_TO_FLASH_FAIL_LOW_BATT_FLASH_ON', + 9: 'WRITE_TO_FLASH_FAIL_LOW_BATT_FLASH_WRITE', + 10: 'WRITE_TO_FLASH_FAIL_LOW_BATT_BEFORE_START', + 11: 'USB_PLUGGED_IN_SOFT_DEVICE', + 12: 'USB_PLUGGED_OUT_SOFT_DEVICE', + 13: 'RECORDING_PAUSED', + 14: 'RECORDING_RESUMED', + 15: 'BATTERY_RECOVER_IN_BATT_CHECK_TIMER', + 16: 'TSK_FREE_UP_FLASH', + 17: 'FREE_UP_FLASH_FAIL_LOW_BATT', + 18: 'PAYLOAD_PACKAGING_TASK_SET', + 19: 'PAYLOAD_PACKAGING_FUNCTION_CALL', + 20: 'BATTERY_VOLTAGE', + 21: 'TSK_WRITE_LOOKUP_TBL_CHANGES_TO_EEPROM', + 22: 'LPCOMP_ON', + 23: 'LPCOMP_ON_ALREADY', + 24: 'LPCOMP_OFF', + 25: 'LPCOMP_TRIED_BUT_BATT_LOW', + 26: 'BLE_CONNECTED', + 27: 'BLE_DISCONNECTED', + 28: 'TSK_WRITE_FLASH', + 29: 'PPG_TIMER_START', + 30: 'PAYLOAD_OVERSHOT', + 31: 'ADVERTISING_START', + 32: 'ADVERTISING_STOP', + 33: 'NIMH_BATT_PPG_BLOCKED_BLE_RETRY', + 34: 'NIMH_BATT_PPG_BLOCKED_BLE_ADAPT_SCH', + 35: 'NIMH_BATT_PPG_BLOCKED_BLE_PENDING_EVENTS', + 36: 'NIMH_BATT_BLE_BLOCKED_PPG', + 37: 'USB_PORT_OPEN', + 38: 'USB_PORT_CLOSED', + 39: 'FIFO_INT_SAFETY_CHECK_EVENT_ACCEL1', + 40: 'FIFO_INT_SAFETY_CHECK_EVENT_ACCEL2GYRO', + 41: 'FIFO_INT_SAFETY_CHECK_EVENT_MAX86XXX', + 42: 'FIFO_INT_SAFETY_CHECK_EVENT_MAX3000X', + 43: 'FIFO_INT_SAFETY_CHECK_EVENT_ADC', + 44: 'USB_PLUGGED_IN_PIN_HANDLER', + 45: 'USB_PLUGGED_OUT_PIN_HANDLER', + 46: 'BATTERY_CHARGER_STATUS_BAD_BATTERY', + 47: 'BATTERY_CHARGER_STATUS_CHARGING', + 48: 'BATTERY_CHARGER_STATUS_CHARGING_COMPLETE', + 49: 'BATTERY_CHARGER_STATUS_POWER_DOWN', + 50: 'LTC4123_RECOVERY_ATTEMPT', + 51: 'LTC4123_RECOVERY_GAVE_UP', + 52: 'LTC4123_CHRG_COMPLETE_OVERRIDDEN_BAD_BATT', + }; + const LOOKUP_STATUS_NAMES = { + 0: 'Zero', + 1: 'Full', + 2: '2Del', + 3: 'Emty', + 4: 'Bad', + 5: 'NUse', + }; + function u32le_at(bytes, off) { + return (((bytes[off] ?? 0) | + ((bytes[off + 1] ?? 0) << 8) | + ((bytes[off + 2] ?? 0) << 16) | + ((bytes[off + 3] ?? 0) << 24)) >>> + 0); + } + function decodeAsciiTrimFF(bytes) { + let end = bytes.length; + while (end > 0 && bytes[end - 1] === 0xff) + end--; + if (end === 0) + return ''; + return new TextDecoder().decode(bytes.slice(0, end)); + } + /** Convert unix seconds into Verisense 7-byte RTC payload (4-byte minutes + 3-byte ticks). */ + function unixSecondsToAsmRtcBytes(unixSeconds) { + if (!Number.isFinite(unixSeconds) || unixSeconds < 0) { + throw new Error('unixSecondsToAsmRtcBytes: unixSeconds must be a finite positive number'); + } + const minutes = Math.floor(unixSeconds / 60); + const secondsInMinute = unixSeconds - minutes * 60; + const ticks = Math.floor(secondsInMinute * 32768); + return new Uint8Array([ + minutes & 0xff, + (minutes >> 8) & 0xff, + (minutes >> 16) & 0xff, + (minutes >> 24) & 0xff, + ticks & 0xff, + (ticks >> 8) & 0xff, + (ticks >> 16) & 0xff, + ]); + } + /** Convert Verisense 7-byte RTC payload into unix seconds. */ + function asmRtcBytesToUnixSeconds(rtc7) { + if (rtc7.length !== 7) { + throw new Error('asmRtcBytesToUnixSeconds: payload must be exactly 7 bytes'); + } + const minutes = u32le_at(rtc7, 0); + const ticks = u24le(rtc7, 4); + return minutes * 60 + ticks / 32768.0; + } + /** Convert Verisense 8-byte minute counter payload into unix seconds. */ + function asmRtcMinutesBytesToUnixSeconds(minutes8) { + if (minutes8.length !== 8) { + throw new Error('asmRtcMinutesBytesToUnixSeconds: payload must be exactly 8 bytes'); + } + let minutes = 0n; + for (let i = 0; i < 8; i++) { + minutes |= BigInt(minutes8[i]) << BigInt(i * 8); + } + return Number(minutes) * 60; + } + /** + * Build a production configuration payload (56 bytes) from structured options. + * This matches the Python tooling layout used by ASM_BLE.py / ASM_Device.py. + */ + function buildProductionConfigPayload(opts) { + const mo = String(opts.manufacturingOrderNumberHex ?? '').trim(); + const mac = String(opts.macIdHex ?? '').trim(); + if (!/^[0-9a-fA-F]{8}$/.test(mo)) { + throw new Error('buildProductionConfigPayload: manufacturingOrderNumberHex must be 8 hex chars'); + } + if (!/^[0-9a-fA-F]{4}$/.test(mac)) { + throw new Error('buildProductionConfigPayload: macIdHex must be 4 hex chars'); + } + const uniqueBytes = new Uint8Array(6); + uniqueBytes.set(new Uint8Array(mo.match(/../g).map((h) => Number.parseInt(h, 16))), 0); + uniqueBytes.set(new Uint8Array(mac.match(/../g).map((h) => Number.parseInt(h, 16))), 4); + uniqueBytes.reverse(); + const revHwInternal = (opts.revHwInternal ?? 0) & 0xffff; + const revFwInternal = (opts.revFwInternal ?? 0) & 0xffff; + const out = new Uint8Array(56); + out[0] = 0x5a; + out.set(uniqueBytes, 1); + out[7] = opts.revHwMajor & 0xff; + out[8] = opts.revHwMinor & 0xff; + out[9] = opts.revFwMajor & 0xff; + out[10] = opts.revFwMinor & 0xff; + out[11] = revFwInternal & 0xff; + out[12] = (revFwInternal >> 8) & 0xff; + out[13] = revHwInternal & 0xff; + out[14] = (revHwInternal >> 8) & 0xff; + out.fill(0xff, 15, 56); + const passkeyId = opts.passkeyId ?? ''; + if (passkeyId.length > 0) { + if (passkeyId.length !== 2) { + throw new Error('buildProductionConfigPayload: passkeyId must be 2 chars when provided'); + } + out.set(new TextEncoder().encode(passkeyId), 15); + } + const passkey = opts.passkey ?? ''; + if (passkey.length > 0) { + if (passkey.length !== 6) { + throw new Error('buildProductionConfigPayload: passkey must be 6 chars when provided'); + } + out.set(new TextEncoder().encode(passkey), 17); + } + const advPrefix = opts.advertisingNamePrefix ?? ''; + if (advPrefix.length > 32) { + throw new Error('buildProductionConfigPayload: advertisingNamePrefix must be <= 32 chars'); + } + if (advPrefix.length > 0) { + out.set(new TextEncoder().encode(advPrefix), 23); + } + if (opts.dfuEnabled ?? true) { + out[55] = PROD_CONFIG_FLAG_DFU_ENABLED; + } + return out; + } + /** Parse production configuration with optional passkey/name/flag fields. */ + function parseProductionConfigPayloadFull(response) { + if (response.length < 11) { + throw new Error('parseProductionConfigPayloadFull: payload must be at least 11 bytes'); + } + const base = parseProductionConfigPayload(response); + const uniqueIdentifier = [...response.slice(1, 7)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join('') + .toUpperCase(); + const revHwMajor = response[7] ?? 0; + const revHwMinor = response[8] ?? 0; + const revFwMajor = response[9] ?? 0; + const revFwMinor = response[10] ?? 0; + const revFwInternal = response.length >= 13 ? u16le_at(response, 11) : 0; + const revHwInternal = response.length >= 15 ? u16le_at(response, 13) : 0; + const passkeyId = response.length >= 17 ? decodeAsciiTrimFF(response.slice(15, 17)) : ''; + const passkey = response.length >= 23 ? decodeAsciiTrimFF(response.slice(17, 23)) : ''; + const advertisingNamePrefix = response.length >= 55 ? decodeAsciiTrimFF(response.slice(23, 55)) : ''; + const dfuEnabled = response.length >= 56 ? !!(response[55] & PROD_CONFIG_FLAG_DFU_ENABLED) : true; + return { + ...base, + manufacturingOrderNumber: uniqueIdentifier.slice(0, 8), + macId: uniqueIdentifier.slice(8, 12), + uniqueIdentifier, + revHwMajor, + revHwMinor, + revHwInternal, + revFwMajor, + revFwMinor, + revFwInternal, + passkeyId, + passkey, + advertisingNamePrefix, + dfuEnabled, + }; + } + /** + * Parse STATUS1/STATUS2 payload into a typed object. + * + * This ports the core byte parsing from ASM_Device.parse_status while keeping + * the output concise and UI-friendly. + */ + function parseStatusPayload(response, sourceStatusProperty = 'status1') { + if (response.length < 24) { + throw new Error('parseStatusPayload: payload must be at least 24 bytes'); + } + const uniqueIdentifier = [...response.slice(0, 6)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join('') + .toUpperCase(); + const hasTickFields = response.length >= 56; + const hasExtendedCapacity = response.length >= 65; + const statusTimestampSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(6, 10), ...response.slice(34, 37)])) + : u32le_at(response, 6) * 60; + const batteryMilliVolts = u16le_at(response, 10); + const batteryPercent = response[12] ?? 0; + const lastOkTransferSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(13, 17), ...response.slice(37, 40)])) + : u32le_at(response, 13) * 60; + const lastFailTransferSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(17, 21), ...response.slice(40, 43)])) + : u32le_at(response, 17) * 60; + const memoryFreeKb = hasExtendedCapacity + ? ((response[21] | (response[22] << 8) | (response[23] << 16) | (response[57] << 24)) >>> 0) + : ((response[21] | (response[22] << 8) | (response[23] << 16)) >>> 0); + const memoryCapacityKb = hasExtendedCapacity ? u32le_at(response, 60) : null; + const memoryUsedKb = memoryCapacityKb == null ? null : Math.max(0, memoryCapacityKb - memoryFreeKb); + const batteryFallCounter = response.length >= 26 ? u16le_at(response, 24) : null; + let statusFlags = null; + if (response.length >= 34) { + const f = response[26]; + statusFlags = { + usbPluggedIn: (f & 0x01) !== 0, + recordingPaused: (f & 0x02) !== 0, + flashIsFull: (f & 0x04) !== 0, + powerIsGood: (f & 0x08) !== 0, + adaptiveSchedulerOn: (f & 0x10) !== 0, + dfuServiceOn: (f & 0x20) !== 0, + firstBoot: (f & 0x40) !== 0, + repeatedBatteryMeasurement: (f & 0x80) !== 0, + }; + } + return { + uniqueIdentifier, + sourceStatusProperty, + statusTimestampSeconds, + batteryMilliVolts, + batteryPercent, + lastOkTransferSeconds, + lastFailTransferSeconds, + memoryFreeKb, + memoryCapacityKb, + memoryUsedKb, + statusFlags, + batteryFallCounter, + }; + } + /** Parse scheduler debug response payload from DEBUG_COMMAND_ID.RWC_SCHEDULER_READ. */ + function parseSchedulerDebugPayload(payload) { + if (payload.length < 42) { + throw new Error('parseSchedulerDebugPayload: payload is too short'); + } + let idx = 0; + const currentTimeUnixSeconds = asmRtcBytesToUnixSeconds(payload.slice(idx, idx + 7)); + idx += 7; + const bleControlByte = payload[idx++] ?? 0xff; + const bleControlCounter = bleControlByte === 0x00 + ? 'data-transfer' + : bleControlByte === 0x01 + ? 'status1' + : bleControlByte === 0x02 + ? 'rtc-sync' + : bleControlByte === 0x03 + ? 'status2' + : bleControlByte === 0xff + ? 'never' + : 'unknown'; + const next8 = () => { + const v = asmRtcMinutesBytesToUnixSeconds(payload.slice(idx, idx + 8)); + idx += 8; + return v; + }; + const out = { + currentTimeUnixSeconds, + bleControlCounter, + pendingDataTransferUnixSeconds: next8(), + pendingStatus1UnixSeconds: next8(), + pendingRtcSyncUnixSeconds: next8(), + pendingRetryUnixSeconds: next8(), + retryCount: payload[idx++] ?? 0, + retryOperation: (payload[idx++] ?? 0) === 1 ? 'ble-on' : 'ble-off', + }; + if (payload.length >= idx + 10) { + out.adaptiveScheduler = { + nextUnixSeconds: next8(), + enabled: (payload[idx++] ?? 0) === 1, + syncFailCounter: payload[idx++] ?? 0, + }; + } + if (payload.length >= idx + 11) { + const nextUnixSeconds = next8(); + const op = payload[idx++] ?? 0; + out.ltfRetry = { + nextUnixSeconds, + currentOperation: op === 0 + ? 'flash-write-retry-inactive' + : op === 1 + ? 'short-flash-write-retry' + : op === 2 + ? 'attempt-flash-write' + : op === 3 + ? 'long-flash-write-retry' + : op === 4 + ? 'sensor-paused-until-usb-plug-in' + : 'unknown', + failCounterShort: payload[idx++] ?? 0, + failCounterLong: payload[idx++] ?? 0, + }; + } + if (payload.length >= idx + 8) { + out.pendingStatus2UnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.ppgMeasurementUnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.stepCounterResetUnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.sensorInactivityUnixSeconds = next8(); + } + return out; + } + /** Parse debug payload listing bank indexes with bad CRC (2-byte LE entries). */ + function parsePayloadCrcErrorBankIndexes(payload) { + if (payload.length % 2 !== 0) { + throw new Error('parsePayloadCrcErrorBankIndexes: payload length must be even'); + } + const out = []; + for (let i = 0; i < payload.length; i += 2) + out.push(u16le_at(payload, i)); + return out; + } + /** Parse 8-byte debug event-log entries. */ + function parseEventLogPayload(payload) { + if (payload.length % 8 !== 0) { + throw new Error('parseEventLogPayload: payload length must be a multiple of 8'); + } + const out = []; + for (let i = 0; i < payload.length; i += 8) { + const entry = payload.slice(i, i + 8); + const eventId = entry[7]; + if (eventId === 0) + continue; + out.push({ + index: i / 8, + eventId, + eventName: LOG_EVENT_NAMES[eventId] ?? `EVENT_${eventId}`, + timestampUnixSeconds: eventId === 20 ? null : asmRtcBytesToUnixSeconds(entry.slice(0, 7)), + batteryMilliVolts: eventId === 20 ? u24le(entry, 0) : null, + }); + } + return out; + } + /** Parse record-buffer details payload (26-byte current layout, 19-byte legacy layout). */ + function parseRecordBufferDetailsPayload(payload) { + const bytesPerBuffer = payload.length % 26 === 0 ? 26 : payload.length % 19 === 0 ? 19 : 0; + if (!bytesPerBuffer) { + throw new Error('parseRecordBufferDetailsPayload: unsupported payload length'); + } + const out = []; + for (let i = 0; i < payload.length; i += bytesPerBuffer) { + const row = payload.slice(i, i + bytesPerBuffer); + out.push({ + bufferIndex: row[0], + bufferState: row[1], + packagedPayloadIndex: u16le_at(row, 2), + currentByteIndexForSensorData: u16le_at(row, 4), + usedBufferLength: u16le_at(row, 6), + fifoTicks: u16le_at(row, 8), + dataTimestampRwcMinutes: u32le_at(row, 10), + dataTimestampRwcTicks: u24le(row, 14), + temperatureData: u16le_at(row, 17), + dataTimestampUcClockMinutes: bytesPerBuffer >= 23 ? u32le_at(row, 19) : null, + dataTimestampUcClockTicks: bytesPerBuffer >= 26 ? u24le(row, 23) : null, + }); + } + return out; + } + /** + * Parse lookup-table debug payload entries (3 bytes per bank), with optional + * 4-byte tail/head prefix present in older firmware debug responses. + */ + function parseLookupTablePayload(payload, totalBanks) { + const bytesPerBank = 3; + const expectedNoHeadTail = totalBanks * bytesPerBank; + const expectedWithHeadTail = expectedNoHeadTail + 4; + let data = payload; + let head = null; + let tail = null; + if (payload.length === expectedWithHeadTail) { + tail = u16le_at(payload, 0); + head = u16le_at(payload, 2); + data = payload.slice(4); + } + else if (payload.length !== expectedNoHeadTail) { + throw new Error(`parseLookupTablePayload: payload length ${payload.length} does not match expected ${expectedNoHeadTail} or ${expectedWithHeadTail}`); + } + const entries = []; + for (let bankIndex = 0; bankIndex < totalBanks; bankIndex++) { + const off = bankIndex * bytesPerBank; + const statusByte = data[off]; + const pendingEepromWrite = (statusByte & 0x80) !== 0; + const statusCode = statusByte & 0x7f; + entries.push({ + bankIndex, + statusCode, + statusName: LOOKUP_STATUS_NAMES[statusCode] ?? 'Unknown', + pendingEepromWrite, + payloadIndex: u16le_at(data, off + 1), + }); + } + return { head, tail, entries }; + } /** * Parse the production config response payload into a structured object. */ @@ -1418,6 +1938,154 @@ }; } + /** Build a protocol header byte from command/property nibbles. */ + function buildHeader(command, property) { + return ((command & 0xf0) | (property & 0x0f)) & 0xff; + } + /** Decode a protocol header byte into command/property fields. */ + function parseHeader(header) { + return { + command: (header & 0xf0), + property: (header & 0x0f), + }; + } + /** Build a complete protocol message (header + 16-bit LE payload length + payload bytes). */ + function buildMessage(command, property, payloadBytes = []) { + const payload = payloadBytes instanceof Uint8Array ? payloadBytes : new Uint8Array(payloadBytes); + const out = new Uint8Array(3 + payload.length); + out[0] = buildHeader(command, property); + out[1] = payload.length & 0xff; + out[2] = (payload.length >> 8) & 0xff; + out.set(payload, 3); + return out; + } + /** Parse a complete protocol message into structured fields. */ + function parseMessage(msg) { + if (msg.length < 3) + throw new Error('Invalid Verisense message: header is incomplete'); + const header = msg[0]; + const payloadLength = u16le(msg[1], msg[2]); + if (msg.length !== payloadLength + 3) { + throw new Error(`Invalid Verisense message: length=${payloadLength}, actualPayload=${Math.max(0, msg.length - 3)}`); + } + const { command, property } = parseHeader(header); + return { + header, + command, + property, + payloadLength, + payload: msg.slice(3), + }; + } + function isAckCommand(command) { + return command === ASM_COMMAND.ACK || command === ASM_COMMAND.ACK_NEXT_STAGE; + } + function isNackCommand(command) { + return (command === ASM_COMMAND.NACK_BAD_HEADER_COMMAND || + command === ASM_COMMAND.NACK_BAD_HEADER_PROPERTY || + command === ASM_COMMAND.NACK_GENERIC); + } + /** Convert a pending-events payload (property IDs) into a typed array. */ + function parsePendingEvents(payload) { + const out = []; + for (let i = 0; i < payload.length; i++) + out.push((payload[i] & 0x0f)); + return out; + } + + function pad2(n) { + return Math.trunc(n).toString().padStart(2, '0'); + } + function pad5(n) { + return Math.trunc(n).toString().padStart(5, '0'); + } + function dateToYyMMddHHmmss(date) { + const yy = pad2(date.getUTCFullYear() % 100); + const mm = pad2(date.getUTCMonth() + 1); + const dd = pad2(date.getUTCDate()); + const hh = pad2(date.getUTCHours()); + const min = pad2(date.getUTCMinutes()); + const ss = pad2(date.getUTCSeconds()); + return `${yy}${mm}${dd}_${hh}${min}${ss}`; + } + /** Build a binary upload file name: yyMMdd_HHmmss_00000.bin */ + function buildUploadBinaryFileName(uploadDate, firstPayloadIndex) { + if (!Number.isFinite(firstPayloadIndex) || firstPayloadIndex < 0 || firstPayloadIndex > 0xffff) { + throw new Error('buildUploadBinaryFileName: firstPayloadIndex must be in range 0..65535'); + } + return `${dateToYyMMddHHmmss(uploadDate)}_${pad5(firstPayloadIndex)}.bin`; + } + /** Build parsed CSV file name: yyMMdd_HHmmss_DataSource_00000.csv */ + function buildParsedCsvFileName(startDate, dataSource, firstPayloadIndex) { + if (!dataSource || !String(dataSource).trim()) { + throw new Error('buildParsedCsvFileName: dataSource must be a non-empty string'); + } + if (!Number.isFinite(firstPayloadIndex) || firstPayloadIndex < 0 || firstPayloadIndex > 0xffff) { + throw new Error('buildParsedCsvFileName: firstPayloadIndex must be in range 0..65535'); + } + return `${dateToYyMMddHHmmss(startDate)}_${String(dataSource).trim()}_${pad5(firstPayloadIndex)}.csv`; + } + /** Add duplicate suffix like " (2)" before extension. */ + function applyDuplicateSuffix(fileName, duplicateIndex) { + if (duplicateIndex < 2) { + throw new Error('applyDuplicateSuffix: duplicateIndex must be >= 2'); + } + const idx = fileName.lastIndexOf('.'); + if (idx <= 0) + return `${fileName} (${duplicateIndex})`; + const stem = fileName.slice(0, idx); + const ext = fileName.slice(idx); + return `${stem} (${duplicateIndex})${ext}`; + } + /** Return first non-colliding duplicate name for a target file name. */ + function nextAvailableDuplicateFileName(fileName, existingNames) { + const existing = new Set(existingNames); + if (!existing.has(fileName)) + return fileName; + let i = 2; + while (true) { + const candidate = applyDuplicateSuffix(fileName, i); + if (!existing.has(candidate)) + return candidate; + i++; + } + } + /** Parse first payload index (uint16 LE) from a payload byte array. */ + function getFirstPayloadIndex(payload) { + if (payload.length < 2) { + throw new Error('getFirstPayloadIndex: payload must contain at least 2 bytes'); + } + return u16le_at(payload, 0); + } + /** + * Evaluate whether parsed CSV output should roll to a new file. + * Rules mirror ASM-DES08 split conditions. + */ + function evaluateParsedFileSplit(input) { + const reasons = []; + const prev = input.prevTimestampSec; + const curr = input.currTimestampSec; + // Split when crossing 12:00am or 12:00pm boundaries. + const prevHalfDay = Math.floor(prev / (12 * 60 * 60)); + const currHalfDay = Math.floor(curr / (12 * 60 * 60)); + if (currHalfDay !== prevHalfDay) + reasons.push('midday-midnight-boundary'); + if ((input.prevConfigSignature ?? null) !== (input.currConfigSignature ?? null)) { + reasons.push('config-change'); + } + if (input.expectedDeltaSec != null) { + const tol = Math.max(0, input.timestampToleranceSec ?? 0); + const delta = curr - prev; + if (Math.abs(delta - input.expectedDeltaSec) > tol) { + reasons.push('timestamp-discontinuity'); + } + } + if (input.powerResetDetected) { + reasons.push('power-reset'); + } + return { shouldSplit: reasons.length > 0, reasons }; + } + /** * Abstract base class for all Verisense sensor decoders. * @@ -1505,15 +2173,16 @@ SensorBase.TICKS_MAX_VALUE = 60 * 32768; /** - * Decoder for the GSR (galvanic skin response) sensor (Verisense sensor id = 1). + * Decoder for grouped ADC channels (Verisense sensor id = 1). * + * Includes GSR plus battery/ADC channels carried in the same packet source. * Implements C# `SensorGSR.cs` including: * - Per-hardware reference resistor selection (SR68 vs Shimmer3 resistors). * - Auto-range decoding from the raw ADC value's upper bits. * - Range-3 clamping threshold that differs by hardware. - * - Conductance (ยตS) output with connectivity detection. + * - Conductance (uS) output with connectivity detection. */ - class SensorGSR extends SensorBase { + class SensorADC extends SensorBase { constructor() { super(); this.LIMIT_MIN_VALID_USIEMENS = 0.03; @@ -1523,7 +2192,7 @@ this.SR68_REF_KOHMS = [21.0, 150.0, 562.0, 1740.0]; this.gsrEnabled = true; this.battEnabled = false; - /** GSR range 0โ€“3 (fixed) or 4 (auto-range). */ + /** GSR range 0-3 (fixed) or 4 (auto-range). */ this.gsrRangeSetting = 4; this.hardwareIdentifier = 'VERISENSE_PULSE_PLUS'; // Decoded from opConfig for debug/display @@ -1538,18 +2207,6 @@ setGsrRangeSetting(v) { this.gsrRangeSetting = v; } - // Convenience aliases - setGSREnabled(enabled, opConfigBytes) { - return this.setEnabled(enabled, opConfigBytes); - } - setBattEnabled(enabled, opConfigBytes) { - return this.setEnabled({ batt: enabled }, opConfigBytes); - } - /** - * Dual-mode setter: - * - If `opConfigBytes` is provided: returns a new Uint8Array with the enable bits patched. - * - Otherwise: updates local decoder flags only. - */ setEnabled(arg1, opConfigBytes) { if (opConfigBytes != null) { const desired = typeof arg1 === 'boolean' ? { gsr: arg1 } : arg1 && typeof arg1 === 'object' ? arg1 : {}; @@ -1575,7 +2232,6 @@ } return out; } - // --- Operational config patch helpers --- patchGsrRange(rangeCfg, op) { const out = new Uint8Array(op); const i = OP_IDX.ADC_CHANNEL_SETTINGS_1; @@ -1594,7 +2250,6 @@ out[i] = (out[i] & 0b00001111) | ((overCfg & 0x0f) << 4); return out; } - // --- Calibration --- calibrateAdcToVolts(uncal12bit) { const adcRange = 2 ** 12 - 1; let refVoltage = 1.8 / 4.0; @@ -1656,9 +2311,28 @@ gsr = { raw: gsrraw, adc12, range: currentRange, volts, kOhms, uS, connectivity }; } if (this.battEnabled) { - const braw = i16le(sensorPayloadBytes, base) & 0x0fff; - const mv = this.calibrateAdcToVolts(braw) * 1000.0; - batt = { raw: braw, mV: mv }; + const raw16 = i16le(sensorPayloadBytes, base) & 0xffff; + const adc12 = raw16 & 0x0fff; + const usbPluggedIn = ((raw16 >> 15) & 0x01) === 1; + const chargerStatusBits = (raw16 >> 13) & 0x03; + let mv = this.calibrateAdcToVolts(adc12) * 1000.0; + if (this.hardwareIdentifier === 'VERISENSE_GSR_PLUS') { + mv *= 1.988; + } + const chargerStatusMap = { + 0: 'Power-Down/Suspended', + 1: 'Charging', + 2: 'Charging Complete', + 3: 'Bad Battery/LDO', + }; + batt = { + raw16, + adc12, + mV: mv, + usbPluggedIn, + chargerStatusBits, + chargerStatus: chargerStatusMap[chargerStatusBits] ?? 'Unknown', + }; } out.push({ gsr, batt }); } @@ -2034,6 +2708,39 @@ } } + function defaultAcceptedCommands(command) { + if (command === ASM_COMMAND.READ) + return new Set([ASM_COMMAND.RESPONSE]); + if (command === ASM_COMMAND.WRITE) { + return new Set([ + ASM_COMMAND.ACK, + ASM_COMMAND.ACK_NEXT_STAGE, + ASM_COMMAND.RESPONSE, + ]); + } + return new Set([ASM_COMMAND.ACK, ASM_COMMAND.ACK_NEXT_STAGE, ASM_COMMAND.RESPONSE]); + } + function toCommandResponse(msg) { + return { + header: msg.header, + command: msg.command, + property: msg.property, + payload: msg.payload, + }; + } + function validatePendingResponse(pending, msg) { + if (isNackCommand(msg.command)) { + return new Error(`Device returned NACK command=0x${msg.command.toString(16)} property=0x${msg.property.toString(16)}`); + } + if (msg.property !== pending.expectedProperty) { + return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected 0x${pending.expectedProperty.toString(16)})`); + } + if (!pending.acceptedCommands.has(msg.command)) { + return new Error(`Unexpected response command 0x${msg.command.toString(16)} for property 0x${msg.property.toString(16)}`); + } + return null; + } + // --------------------------------------------------------------------------- // VerisenseBleDevice // --------------------------------------------------------------------------- @@ -2044,7 +2751,7 @@ * (on/off/emit) for the richer event model the Verisense protocol needs. * * Supports: - * - BLE streaming (accel, GSR, gyro, PPG) + * - BLE streaming (accel, ADC/GSR, gyro, PPG) * - Web Serial (USB COM port) as an alternative transport * - Logged-data download (`transferLoggedData`) * - Operational config read/write @@ -2094,9 +2801,6 @@ // Protocol state this._mode = 'idle'; this._rxStreamBuf = new Uint8Array(0); - this._buf = new Uint8Array(0); - this._newPayload = true; - this._expectedLen = 0; this._pending = null; this._loggedChain = Promise.resolve(); this._sync = null; @@ -2111,7 +2815,7 @@ this.stripStreamCrc = opts.stripStreamCrc ?? true; this.verifyStreamCrc = opts.verifyStreamCrc ?? false; this.sensors = { - 1: new SensorGSR(), + 1: new SensorADC(), 2: new SensorLIS2DW12(), 3: new SensorLSM6DS3(), 4: new SensorPPG(), @@ -2122,8 +2826,8 @@ if (this.debug) console.log('[Verisense]', ...args); } - // Quick access aliases - get gsr() { + // Quick accessors + get adc() { return this.sensors[1]; } get accel1() { @@ -2374,7 +3078,9 @@ } } else { - void this.writeBytes(DISCONNECT_REQ, { withResponse: false }); + void this.writeBytes(buildMessage(ASM_COMMAND.WRITE, ASM_PROPERTY.DEVICE_DISCONNECT), { + withResponse: false, + }); try { if (this.rx) await this.rx.stopNotifications?.(); @@ -2411,13 +3117,12 @@ // Streaming // --------------------------------------------------------------------------- async startStreaming() { + await this.setStreamingMode(true); this._mode = 'streaming'; - this._resetAssembler(); - await this.writeBytes(this._makeReq(0x2a, [0x01])); this.emit('streaming', { on: true }); } async stopStreaming() { - await this.writeBytes(this._makeReq(0x2a, [0x02])); + await this.setStreamingMode(false); this._mode = 'idle'; this.emit('streaming', { on: false }); } @@ -2478,11 +3183,13 @@ return; try { if (this._sync.lastReply === 'NONE') { - await this.writeBytes(READ_DATA_REQ, { withResponse: true }); + await this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }); } else { this._clearSyncRxBuffers('timeout-nack'); - await this.writeBytes(DATA_NACK); + await this.writeBytes(buildMessage(ASM_COMMAND.NACK_GENERIC, ASM_PROPERTY.DATA)); this._sync.nackCount++; this._sync.lastReply = 'NACK'; if (this._sync.nackCount >= this._sync.maxNack) @@ -2499,7 +3206,9 @@ } }, Math.max(250, Math.floor(timeoutMs / 2))); try { - await this.writeBytes(READ_DATA_REQ, { withResponse: true }); + await this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }); const result = await donePromise; await (this._loggedChain ?? Promise.resolve()); if (!fileHandle) { @@ -2540,31 +3249,25 @@ await this.tx.writeValue(toArrayBuffer(u8)); } } - _makeReq(opcode, payloadBytes = []) { - const p = payloadBytes instanceof Uint8Array ? payloadBytes : new Uint8Array(payloadBytes); - const out = new Uint8Array(3 + p.length); - out[0] = opcode & 0xff; - out[1] = p.length & 0xff; - out[2] = (p.length >> 8) & 0xff; - out.set(p, 3); - return out; - } - async request(opcode, payloadBytes = [], timeoutMs = 3000) { + async _requestByCommand(command, property, payloadBytes = [], timeoutMs = 3000, acceptedCommands) { if (this._pending) throw new Error('A request is already pending'); this._mode = 'command'; this._resetAssembler(); - const req = this._makeReq(opcode, payloadBytes); - const p = new Promise((resolve, reject) => { + const req = buildMessage(command, property, payloadBytes); + const accepted = acceptedCommands ?? defaultAcceptedCommands(command); + const pendingPromise = new Promise((resolve, reject) => { const t = setTimeout(() => { this._pending = null; reject(new Error('Request timeout')); }, timeoutMs); this._pending = { - resolve: (x) => { + expectedProperty: property, + acceptedCommands: accepted, + resolve: (resp) => { clearTimeout(t); this._pending = null; - resolve(x); + resolve(resp); }, reject: (e) => { clearTimeout(t); @@ -2574,29 +3277,207 @@ }; }); await this.writeBytes(req); - return p; + return pendingPromise; + } + async readProperty(property, timeoutMs = 3000) { + return this._requestByCommand(ASM_COMMAND.READ, property, [], timeoutMs); + } + async writeProperty(property, payloadBytes = [], timeoutMs = 3000) { + return this._requestByCommand(ASM_COMMAND.WRITE, property, payloadBytes, timeoutMs); } - // Convenience command methods + async request(opcode, payloadBytes = [], timeoutMs = 3000) { + const { command, property } = parseHeader(opcode & 0xff); + const rsp = await this._requestByCommand(command, property, payloadBytes, timeoutMs); + return { payload: rsp.payload }; + } + // Convenience command methods (all protocol properties) readStatus() { - return this.request(0x11); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.STATUS1); + } + async readStatusParsed() { + const { payload } = await this.readStatus(); + return parseStatusPayload(payload, 'status1'); } readStatus2() { - return this.request(0x1c); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.STATUS2); + } + async readStatus2Parsed() { + const { payload } = await this.readStatus2(); + return parseStatusPayload(payload, 'status2'); + } + readData() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.DATA); } readProductionConfig() { - return this.request(0x13); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.PRODUCTION_CONFIGURATION); } readOperationalConfig() { - return this.request(0x14); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.OPERATIONAL_CONFIGURATION); } readTime() { - return this.request(0x15); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.TIME); + } + async readTimeUnixSeconds() { + const { payload } = await this.readTime(); + return asmRtcBytesToUnixSeconds(payload); } readPendingEvents() { - return this.request(0x17); + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.PENDING_EVENTS); + } + async readPendingEventsParsed() { + const { payload } = await this.readPendingEvents(); + return parsePendingEvents(payload); + } + async writeProductionConfig(bytes) { + const payload = normalizeBytePayload(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)); + if (!payload || payload.length < 11 || payload.length > 56) { + throw new Error('writeProductionConfig: payload length must be between 11 and 56 bytes'); + } + await this.writeProperty(ASM_PROPERTY.PRODUCTION_CONFIGURATION, payload); } - disconnectRequest() { - return this.request(0x2b); + async writeOperationalConfig(bytes) { + const payload = normalizeBytePayload(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)); + if (!payload || payload.length < 50) { + throw new Error('writeOperationalConfig: payload length must be at least 50 bytes'); + } + await this.writeProperty(ASM_PROPERTY.OPERATIONAL_CONFIGURATION, payload); + } + async writeTime(rtc7) { + const payload = normalizeBytePayload(rtc7 instanceof Uint8Array ? rtc7 : new Uint8Array(rtc7)); + if (!payload || payload.length !== 7) { + throw new Error('writeTime: payload must be exactly 7 bytes'); + } + await this.writeProperty(ASM_PROPERTY.TIME, payload); + } + async writeTimeUnixSeconds(unixSeconds) { + await this.writeTime(unixSecondsToAsmRtcBytes(unixSeconds)); + } + async enterDfuMode() { + await this.writeProperty(ASM_PROPERTY.DFU_MODE, []); + } + async runTestMode(testPayload) { + const payload = normalizeBytePayload(testPayload instanceof Uint8Array ? testPayload : new Uint8Array(testPayload)); + if (!payload || payload.length < 2) { + throw new Error('runTestMode: payload must contain at least [testId, hwMajor]'); + } + await this.writeProperty(ASM_PROPERTY.TEST_MODE, payload); + } + async runHardwareTest(testId, hwMajor, hwMinor = 0, hwInternal = 0) { + const payload = new Uint8Array([ + testId & 0xff, + hwMajor & 0xff, + hwMinor & 0xff, + hwInternal & 0xff, + (hwInternal >> 8) & 0xff, + ]); + await this.runTestMode(payload); + } + _buildDebugPayload(debugId, args = []) { + const argBytes = args instanceof Uint8Array ? args : new Uint8Array(args); + const payload = new Uint8Array(1 + argBytes.length); + payload[0] = debugId & 0xff; + payload.set(argBytes, 1); + return payload; + } + async readDebugCommand(debugId, args = []) { + const rsp = await this._requestByCommand(ASM_COMMAND.READ, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args)); + return { payload: rsp.payload }; + } + async sendDebugCommand(debugId, args = []) { + const rsp = await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args)); + return { payload: rsp.payload }; + } + async readFlashLookupTable(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.FLASH_LOOKUP_TABLE_READ, [index & 0xff]); + } + async readRealWorldClockScheduler(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.RWC_SCHEDULER_READ, [index & 0xff]); + } + async readRealWorldClockSchedulerParsed(index = 0) { + const { payload } = await this.readRealWorldClockScheduler(index); + return parseSchedulerDebugPayload(payload); + } + async loadTestLookupTable(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.LOAD_TEST_LOOKUP_TABLE, [index & 0xff]); + } + async checkPayloadCrcErrors(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.CHECK_PAYLOAD_CRC_ERRORS, [index & 0xff]); + } + async checkPayloadCrcErrorsParsed(index = 0) { + const { payload } = await this.checkPayloadCrcErrors(index); + return parsePayloadCrcErrorBankIndexes(payload); + } + async readEventLog(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_EVENT_LOG, [index & 0xff]); + } + async readEventLogParsed(index = 0) { + const { payload } = await this.readEventLog(index); + return parseEventLogPayload(payload); + } + async readRecordBufferDetails(index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_RECORD_BUFFER_DETAILS, [index & 0xff]); + } + async readRecordBufferDetailsParsed(index = 0) { + const { payload } = await this.readRecordBufferDetails(index); + return parseRecordBufferDetailsPayload(payload); + } + async eraseOperationalConfig() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_OPERATIONAL_CONFIG); + } + async eraseProductionConfig() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_PRODUCTION_CONFIG); + } + async clearPendingEvents() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.CLEAR_PENDING_EVENTS); + } + async eraseAllLoggedData() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_FLASH_AND_LOOKUP_TABLE); + } + async testDataTransferLoop(loopCount) { + const clamped = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); + await this.sendDebugCommand(DEBUG_COMMAND_ID.TEST_DATA_TRANSFER_LOOP, [ + clamped & 0xff, + (clamped >> 8) & 0xff, + ]); + } + async ledTest(ledIndex) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.LED_TEST, [ledIndex & 0xff]); + } + async max86xxxLedTest(start) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.MAX86XXX_LED_TEST, [start ? 0x01 : 0x00]); + } + async startPowerProfilerTest() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.POWER_PROFILER_TEST); + } + async requestSystemReset() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.SYSTEM_RESET); + } + async startIcPowerConsumptionTest(loopCount, stageIntervalMs) { + const clampedLoopCount = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); + const clampedStageInterval = Math.max(0, Math.min(0xffff, Math.trunc(stageIntervalMs))); + await this.sendDebugCommand(DEBUG_COMMAND_ID.IC_POWER_CONSUMPTION_TEST, [ + clampedLoopCount & 0xff, + (clampedLoopCount >> 8) & 0xff, + clampedStageInterval & 0xff, + (clampedStageInterval >> 8) & 0xff, + ]); + } + async deleteAllBonds() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.DELETE_ALL_BONDS); + } + async setStreamingMode(enabled) { + await this.writeProperty(ASM_PROPERTY.STREAM_MODE, [enabled ? STREAM_MODE.ENABLE : STREAM_MODE.DISABLE], 3000); + } + async disconnectRequest() { + try { + return await this.request(ASM_COMMAND.WRITE | ASM_PROPERTY.DEVICE_DISCONNECT, [], 1500); + } + catch (e) { + const msg = e instanceof Error ? e.message : String(e); + if (/timeout/i.test(msg)) + return { payload: new Uint8Array(0) }; + throw e; + } } // --------------------------------------------------------------------------- // Operational config helpers @@ -2625,7 +3506,7 @@ try { this.accel1.applyOperationalConfig(op); this.gyroAccel2.applyOperationalConfig(op); - this.gsr.applyOperationalConfig(op); + this.adc.applyOperationalConfig(op); this.ppg.applyOperationalConfig(op); } catch (e) { @@ -2640,16 +3521,9 @@ throw new Error('writeOpConfig: invalid opconfig'); if (op[0] !== 0x5a) throw new Error('writeOpConfig: opconfig must start with 0x5A'); - const req = this._makeReq(0x24, op); - await this.writeBytes(req, { withResponse: true }); + await this.writeOperationalConfig(op); await this.readOpConfigFromDevice(); } - async getopconfig() { - return this.getOpConfig(); - } - async writeopconfig(op) { - return this.writeOpConfig(op); - } getSensor(name) { const k = String(name ?? '').toLowerCase(); if (!k) @@ -2658,15 +3532,14 @@ return this.accel1; if (k.includes('lsm6') || k.includes('gyro') || k.includes('accel2') || k === '3') return this.gyroAccel2; + if (k.includes('vbatt') || k.includes('batt') || k.includes('battery') || k.includes('adc')) + return this.adc; if (k.includes('gsr') || k === '1') - return this.gsr; + return this.adc; if (k.includes('ppg') || k === '4') return this.ppg; return null; } - GetSensor(name) { - return this.getSensor(name); - } // --------------------------------------------------------------------------- // RX assembly and dispatch // --------------------------------------------------------------------------- @@ -2706,7 +3579,7 @@ s.lastReply = 'NACK'; s.nackCrcCount++; this._clearSyncRxBuffers('crc-nack'); - await this.writeBytes(DATA_NACK); + await this.writeBytes(buildMessage(ASM_COMMAND.NACK_GENERIC, ASM_PROPERTY.DATA)); if (s.nackCrcCount >= s.maxCrcNack) this._abortSync(new Error('Too many CRC failures')); s.onProgress?.({ payloadIndex, bytesWritten: s.bytesWritten, crcOk: false }); @@ -2716,19 +3589,19 @@ await s.writable.write(toArrayBuffer(payloadU8)); } else { - s.chunks.push(payloadU8.slice()); + s.chunks.push(new Uint8Array(payloadU8)); } s.bytesWritten += payloadU8.length; s.lastReply = 'ACK'; s.nackCount = 0; s.nackCrcCount = 0; - await this.writeBytes(DATA_ACK, { withResponse: true }); + await this.writeBytes(buildMessage(ASM_COMMAND.ACK_NEXT_STAGE, ASM_PROPERTY.DATA), { + withResponse: true, + }); s.onProgress?.({ payloadIndex, bytesWritten: s.bytesWritten, crcOk: true }); } _resetAssembler() { - this._newPayload = true; - this._expectedLen = 0; - this._buf = new Uint8Array(0); + this._rxStreamBuf = new Uint8Array(0); } _appendStreamBuf(chunk) { const merged = new Uint8Array(this._rxStreamBuf.length + chunk.length); @@ -2742,6 +3615,25 @@ if (this.debugSync) console.warn('[sync] cleared RX buffers', { reason }); } + _resolvePendingCommand(msg) { + const pending = this._pending; + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; + if (pending) { + const err = validatePendingResponse(pending, msg); + if (err) + pending.reject(err); + else + pending.resolve(toCommandResponse(msg)); + } + this.emit('commandPayload', { + header: msg.header, + command: msg.command, + property: msg.property, + payload: msg.payload, + }); + } _feedStreamBytes(chunk) { if (this._mode === 'logged' && this._sync) this._sync.lastRxAt = Date.now(); @@ -2752,11 +3644,24 @@ const hdr = this._rxStreamBuf[0]; const len = (this._rxStreamBuf[1] | (this._rxStreamBuf[2] << 8)) >>> 0; if (len === 0) { + const header = hdr & 0xff; + const decodedHeader = parseHeader(header); + const msg = { + header, + command: decodedHeader.command, + property: decodedHeader.property, + payloadLength: 0, + payload: new Uint8Array(0), + }; this._rxStreamBuf = this._rxStreamBuf.slice(3); - if (this._mode === 'logged' && hdr === DATA_EOS_HDR) { + if (this._mode === 'logged' && hdr === buildHeader(ASM_COMMAND.ACK, ASM_PROPERTY.DATA)) { if (this.debugSync) console.log('[sync] EOS received. Finishing.'); this._finishSync(); + continue; + } + if (this._mode === 'command') { + this._resolvePendingCommand(msg); } continue; } @@ -2764,23 +3669,26 @@ return; const payload = this._rxStreamBuf.slice(3, 3 + len); this._rxStreamBuf = this._rxStreamBuf.slice(3 + len); + const header = hdr & 0xff; + const decodedHeader = parseHeader(header); + const msg = { + header, + command: decodedHeader.command, + property: decodedHeader.property, + payloadLength: payload.length, + payload, + }; if (this._mode === 'logged') { this._loggedChain = (this._loggedChain ?? Promise.resolve()) - .then(() => this._handleLoggedPayload(payload)) + .then(() => this._handleLoggedPayload(msg.payload)) .catch((e) => this._abortSync(e)); continue; } if (this._mode === 'streaming') { - this._handleStreamingPayload(payload); + this._handleStreamingPayload(msg.payload); continue; } - const pending = this._pending; - this._pending = null; - if (this._mode === 'command') - this._mode = 'idle'; - if (pending) - pending.resolve({ payload }); - this.emit('commandPayload', { payload }); + this._resolvePendingCommand(msg); } } _handleStreamingPayload(payload) { @@ -2842,8 +3750,11 @@ VerisenseBleDevice.NUS_TX = NUS_TX; VerisenseBleDevice.NUS_RX = NUS_RX; + exports.ASM_COMMAND = ASM_COMMAND; + exports.ASM_PROPERTY = ASM_PROPERTY; exports.BaseShimmerClient = BaseShimmerClient; exports.CHANNEL_FORMATS = CHANNEL_FORMATS; + exports.DEBUG_COMMAND_ID = DEBUG_COMMAND_ID; exports.GSR_NAME = GSR_NAME; exports.NUS_RX = NUS_RX; exports.NUS_SERVICE = NUS_SERVICE; @@ -2852,23 +3763,51 @@ exports.OP_IDX = OP_IDX; exports.ObjectCluster = ObjectCluster; exports.SHIMMER3R_DEFAULTS = SHIMMER3R_DEFAULTS; + exports.STREAM_MODE = STREAM_MODE; + exports.SensorADC = SensorADC; exports.SensorBase = SensorBase; exports.SensorBitmapShimmer3 = SensorBitmapShimmer3; - exports.SensorGSR = SensorGSR; exports.SensorLIS2DW12 = SensorLIS2DW12; exports.SensorLSM6DS3 = SensorLSM6DS3; exports.SensorPPG = SensorPPG; exports.Shimmer3RClient = Shimmer3RClient; + exports.TEST_MODE_ID = TEST_MODE_ID; exports.TIMESTAMP_FIELD = TIMESTAMP_FIELD; exports.VerisenseBleDevice = VerisenseBleDevice; + exports.applyDuplicateSuffix = applyDuplicateSuffix; + exports.asmRtcBytesToUnixSeconds = asmRtcBytesToUnixSeconds; + exports.asmRtcMinutesBytesToUnixSeconds = asmRtcMinutesBytesToUnixSeconds; + exports.buildHeader = buildHeader; + exports.buildMessage = buildMessage; + exports.buildParsedCsvFileName = buildParsedCsvFileName; + exports.buildProductionConfigPayload = buildProductionConfigPayload; + exports.buildUploadBinaryFileName = buildUploadBinaryFileName; exports.calibrateGsrDataToResistanceFromAmplifierEq = calibrateGsrDataToResistanceFromAmplifierEq; exports.calibrateShimmer3RAdcChannel = calibrateShimmer3RAdcChannel; exports.calibrateU12AdcValue = calibrateU12AdcValue; + exports.computeVerisensePairingPin = computeVerisensePairingPin; exports.crc16_ccitt_false = crc16_ccitt_false; + exports.evaluateParsedFileSplit = evaluateParsedFileSplit; + exports.getFirstPayloadIndex = getFirstPayloadIndex; exports.getOversamplingRatioADS1292R = getOversamplingRatioADS1292R; + exports.isAckCommand = isAckCommand; + exports.isNackCommand = isNackCommand; + exports.nextAvailableDuplicateFileName = nextAvailableDuplicateFileName; + exports.normalizeBytePayload = normalizeBytePayload; exports.normalizeOperationalConfig = normalizeOperationalConfig; exports.nudgeGsrResistance = nudgeGsrResistance; + exports.parseEventLogPayload = parseEventLogPayload; + exports.parseHeader = parseHeader; + exports.parseLookupTablePayload = parseLookupTablePayload; + exports.parseMessage = parseMessage; + exports.parsePayloadCrcErrorBankIndexes = parsePayloadCrcErrorBankIndexes; + exports.parsePendingEvents = parsePendingEvents; exports.parseProductionConfigPayload = parseProductionConfigPayload; + exports.parseProductionConfigPayloadFull = parseProductionConfigPayloadFull; + exports.parseRecordBufferDetailsPayload = parseRecordBufferDetailsPayload; + exports.parseSchedulerDebugPayload = parseSchedulerDebugPayload; + exports.parseStatusPayload = parseStatusPayload; + exports.unixSecondsToAsmRtcBytes = unixSecondsToAsmRtcBytes; })); //# sourceMappingURL=shimmer-web-sdk.umd.js.map diff --git a/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map b/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map index b02f6c3..9112063 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map +++ b/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"shimmer-web-sdk.umd.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocol.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorGSR.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u24le"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shimmer-web-sdk.umd.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file From 13215ec1591dc8e399f282769e24717535427c46 Mon Sep 17 00:00:00 2001 From: Mark Nolan Date: Wed, 27 May 2026 16:48:52 +0100 Subject: [PATCH 02/18] DEV-750 #time 2h development of VerisenseCapture web app --- README.md | 2 + VerisenseCapture/assets/verisense-icon.png | Bin 0 -> 8138 bytes VerisenseCapture/assets/verisense-logo.jpg | Bin 0 -> 10348 bytes VerisenseCapture/index.html | 1916 +++++++++++++++++ shimmer-extension/vendor/shimmer-web-sdk.cjs | 186 +- .../vendor/shimmer-web-sdk.cjs.map | 2 +- shimmer-extension/vendor/shimmer-web-sdk.d.ts | 20 +- .../vendor/shimmer-web-sdk.esm.js | 186 +- .../vendor/shimmer-web-sdk.esm.js.map | 2 +- .../vendor/shimmer-web-sdk.umd.js | 186 +- .../vendor/shimmer-web-sdk.umd.js.map | 2 +- 11 files changed, 2432 insertions(+), 70 deletions(-) create mode 100644 VerisenseCapture/assets/verisense-icon.png create mode 100644 VerisenseCapture/assets/verisense-logo.jpg create mode 100644 VerisenseCapture/index.html diff --git a/README.md b/README.md index d772947..95c078d 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ video-ppg/ โ”‚ spell-gyro/ โ”‚ ShimmerCapture/ โ”˜ Verisense/ โ† Verisense demo +VerisenseCapture/ โ† Verisense full control console demo shimmer-extension/ โ† Shimmer3R/Verisense Chrome extension (source; load unpacked in Chrome) sdk-source.json โ† Single source-of-truth for SDK source mode/version update-local-sdk.ps1 โ† Build + sync local SDK artifacts @@ -49,6 +50,7 @@ update-local-sdk.cmd โ† Windows CMD launcher for update script | Demo | Link | |---|---| | Wrist sensor (accel + GSR streaming) | [Verisense](https://shimmerresearch.github.io/webBLEDemos/Verisense/) | +| Verisense control console (full SDK operations) | [VerisenseCapture](https://shimmerresearch.github.io/webBLEDemos/VerisenseCapture/) | ### Chrome Extension [Shimmer3R Chrome Extension](https://github.com/ShimmerResearch/webBLEDemos/tree/main/shimmer-extension) โ€” source code only; load via **chrome://extensions โ†’ Developer mode โ†’ Load unpacked** when you are specifically developing or testing extension features. diff --git a/VerisenseCapture/assets/verisense-icon.png b/VerisenseCapture/assets/verisense-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..837407e57e35a6bc59aea464f11e6b692e28f5da GIT binary patch literal 8138 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%0Axtf3qM!Bd>b`Vu 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 + + + + + + Verisense Capture + + + + + +
+
+
+

Verisense Capture

+
Full-feature Verisense communication demo.
+
+
+ + Verisense logo + +
+
+ +
+
+

Connection

+
+ + + + +
+
+ Transport: + none + idle +
+
+ +
+

Current Status

+
+
Device Name
+
-
+
Unique ID
+
-
+
HW
+
-
+
FW
+
-
+
Battery
+
-
+
Flash
+
-
+
Flash Banks
+
-
+
ATT MTU
+
-
+
Conn Interval
+
-
+
PHY
+
-
+
+
+
+ +
+
+
+ + + + + + + + +
+ +
+
+

Property Reads/Writes

+
+ + + + + +
+
+ +
+

Debug/Test Commands

+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ +
+ +
+
+

Logged Data Transfer

+
+ + Saves to file picker destination. +
+
+ +
+

Advanced

+
+ + +
+
+ + + +
+
No lookup data loaded.
+
+ +
+

Flash Lookup Entries

+
+ + + + + + + + + + + + + + + +
BankStatusStatus CodePayload IndexEEPROM Pending
Run Read Flash Lookup Table to populate.
+
+
+
+ +
+
+

Read/Write

+
+ + + +
+
+ +
+

Production Fields

+
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+
+
+ +
+
+

Read/Write

+
+ + + +
+
+ +
+

Accel1

+
+ + + +
+
+ +
+

ADC / GSR / Battery

+
+ + + +
+
+ + +
+
+ +
+

Notes

+
This editor currently patches fields with explicit SDK helpers (Accel1 + ADC/GSR/Batt). + Other sensor settings can be controlled from Console Ops and stream decoders.
+
+
+ +
+
+

Streaming Control

+
+ + + +
+
+
Accel Packets
+
0
+
ADC/GSR Packets
+
0
+
Last Sensor ID
+
-
+
+
+
+

Accel Plot

+
+ +
+ +
+
+

GSR Plot

+
+ +
+ +
+
+ +
+
+

DFU Controls

+
+ +
+ + +
+
+ +
+
+

Event Log Reader

+
+ +
+
+ +
+
No event log data loaded.
+
+
+

Event Log Entries

+
+ + + + + + + + + + + + + + + +
#Event IDEvent NameTimestampBattery (mV)
Run Read Event Log to populate.
+
+
+
+ +
+
+

Hardware Test (deprecated)

+
+ +
HW revision unavailable. Read production config first.
+
+
+ +
+
+ +
+

Advanced

+
+ +
+ +
+
+
+ +
+ + + +
+
+
+ +
+ + + +
+
+
+
+
+ +
+

Log

+
+ + +
+

+      
+
+
+ + + + + \ No newline at end of file diff --git a/shimmer-extension/vendor/shimmer-web-sdk.cjs b/shimmer-extension/vendor/shimmer-web-sdk.cjs index 1c2af20..3e1fdd7 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.cjs +++ b/shimmer-extension/vendor/shimmer-web-sdk.cjs @@ -1706,6 +1706,12 @@ function parseStatusPayload(response, sourceStatusProperty = 'status1') { : ((response[21] | (response[22] << 8) | (response[23] << 16)) >>> 0); const memoryCapacityKb = hasExtendedCapacity ? u32le_at(response, 60) : null; const memoryUsedKb = memoryCapacityKb == null ? null : Math.max(0, memoryCapacityKb - memoryFreeKb); + // Bank breakdown: FULL=syncable data, 2DEL=partially-deleted, BAD=unusable flash. + // Present in payloads >= 57 bytes (tick-capable extended format). + const hasBankData = response.length >= 57; + const memoryFullBanksKb = hasBankData ? u32le_at(response, 45) : null; + const memoryTwoDelBanksKb = hasBankData ? u32le_at(response, 49) : null; + const memoryBadBanksKb = hasBankData ? u32le_at(response, 53) : null; const batteryFallCounter = response.length >= 26 ? u16le_at(response, 24) : null; let statusFlags = null; if (response.length >= 34) { @@ -1732,6 +1738,9 @@ function parseStatusPayload(response, sourceStatusProperty = 'status1') { memoryFreeKb, memoryCapacityKb, memoryUsedKb, + memoryFullBanksKb, + memoryTwoDelBanksKb, + memoryBadBanksKb, statusFlags, batteryFallCounter, }; @@ -2728,7 +2737,14 @@ function validatePendingResponse(pending, msg) { if (isNackCommand(msg.command)) { return new Error(`Device returned NACK command=0x${msg.command.toString(16)} property=0x${msg.property.toString(16)}`); } - if (msg.property !== pending.expectedProperty) { + if (pending.acceptedProperties?.size) { + if (!pending.acceptedProperties.has(msg.property)) { + return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected one of ${Array.from(pending.acceptedProperties) + .map((p) => `0x${p.toString(16)}`) + .join(', ')})`); + } + } + else if (msg.property !== pending.expectedProperty) { return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected 0x${pending.expectedProperty.toString(16)})`); } if (!pending.acceptedCommands.has(msg.command)) { @@ -3147,6 +3163,7 @@ class VerisenseBleDevice extends BaseShimmerClient { const sync = { receiving: true, lastReply: 'NONE', + emptyAckCount: 0, nackCount: 0, nackCrcCount: 0, maxNack, @@ -3245,7 +3262,7 @@ class VerisenseBleDevice extends BaseShimmerClient { await this.tx.writeValue(toArrayBuffer(u8)); } } - async _requestByCommand(command, property, payloadBytes = [], timeoutMs = 3000, acceptedCommands) { + async _requestByCommand(command, property, payloadBytes = [], timeoutMs = 3000, acceptedCommands, acceptedProperties) { if (this._pending) throw new Error('A request is already pending'); this._mode = 'command'; @@ -3260,6 +3277,7 @@ class VerisenseBleDevice extends BaseShimmerClient { this._pending = { expectedProperty: property, acceptedCommands: accepted, + acceptedProperties, resolve: (resp) => { clearTimeout(t); this._pending = null; @@ -3375,43 +3393,101 @@ class VerisenseBleDevice extends BaseShimmerClient { payload.set(argBytes, 1); return payload; } - async readDebugCommand(debugId, args = []) { - const rsp = await this._requestByCommand(ASM_COMMAND.READ, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args)); - return { payload: rsp.payload }; + _debugIndexArgs(index) { + const i = Math.max(0, Math.min(0xff, Math.trunc(index))); + return i > 0 ? [i] : []; } - async sendDebugCommand(debugId, args = []) { - const rsp = await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args)); + _waitForDebugResponse(timeoutMs = 3000) { + return new Promise((resolve, reject) => { + let done = false; + let off = null; + let timer = null; + const cleanup = () => { + if (off) { + try { + off(); + } + catch { + /* ignore */ + } + off = null; + } + if (timer) { + clearTimeout(timer); + timer = null; + } + }; + off = this.on('commandPayload', (evt) => { + if (done || !evt) + return; + if (evt.command !== ASM_COMMAND.RESPONSE || evt.property !== ASM_PROPERTY.DEBUG_COMMAND) + return; + done = true; + cleanup(); + resolve({ payload: evt.payload ?? new Uint8Array(0) }); + }); + timer = setTimeout(() => { + if (done) + return; + done = true; + cleanup(); + reject(new Error('Debug response timeout')); + }, timeoutMs); + }); + } + async readDebugCommand(debugId, args = [], timeoutMs = 3000) { + const payload = this._buildDebugPayload(debugId, args); + const debugAcceptedProps = new Set([ASM_PROPERTY.DEBUG_COMMAND, 0]); + // Python flow: WRITE DEBUG command, optional empty/transient frame, then RESPONSE DEBUG payload. + const responsePromise = this._waitForDebugResponse(timeoutMs); + try { + await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, payload, timeoutMs, undefined, debugAcceptedProps); + return await responsePromise; + } + catch (e) { + void responsePromise.catch(() => { }); + const msg = e instanceof Error ? e.message : String(e); + const isDebugNack = /NACK command=0x(?:50|60|70) property=0x9/i.test(msg); + const isDebugAckPropertyZero = /Unexpected response property 0x0 \(expected 0x9\)/i.test(msg); + if (!isDebugNack && !isDebugAckPropertyZero) + throw e; + const rsp = await this._requestByCommand(ASM_COMMAND.READ, ASM_PROPERTY.DEBUG_COMMAND, payload, timeoutMs); + return { payload: rsp.payload }; + } + } + async sendDebugCommand(debugId, args = [], timeoutMs = 3000) { + const rsp = await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args), timeoutMs); return { payload: rsp.payload }; } - async readFlashLookupTable(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.FLASH_LOOKUP_TABLE_READ, [index & 0xff]); + async readFlashLookupTable(index = 0, timeoutMs = 12000) { + return this.readDebugCommand(DEBUG_COMMAND_ID.FLASH_LOOKUP_TABLE_READ, this._debugIndexArgs(index), timeoutMs); } async readRealWorldClockScheduler(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.RWC_SCHEDULER_READ, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.RWC_SCHEDULER_READ, this._debugIndexArgs(index)); } async readRealWorldClockSchedulerParsed(index = 0) { const { payload } = await this.readRealWorldClockScheduler(index); return parseSchedulerDebugPayload(payload); } async loadTestLookupTable(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.LOAD_TEST_LOOKUP_TABLE, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.LOAD_TEST_LOOKUP_TABLE, this._debugIndexArgs(index)); } async checkPayloadCrcErrors(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.CHECK_PAYLOAD_CRC_ERRORS, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.CHECK_PAYLOAD_CRC_ERRORS, this._debugIndexArgs(index)); } async checkPayloadCrcErrorsParsed(index = 0) { const { payload } = await this.checkPayloadCrcErrors(index); return parsePayloadCrcErrorBankIndexes(payload); } async readEventLog(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.READ_EVENT_LOG, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_EVENT_LOG, this._debugIndexArgs(index)); } async readEventLogParsed(index = 0) { const { payload } = await this.readEventLog(index); return parseEventLogPayload(payload); } async readRecordBufferDetails(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.READ_RECORD_BUFFER_DETAILS, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_RECORD_BUFFER_DETAILS, this._debugIndexArgs(index)); } async readRecordBufferDetailsParsed(index = 0) { const { payload } = await this.readRecordBufferDetails(index); @@ -3426,8 +3502,8 @@ class VerisenseBleDevice extends BaseShimmerClient { async clearPendingEvents() { await this.sendDebugCommand(DEBUG_COMMAND_ID.CLEAR_PENDING_EVENTS); } - async eraseAllLoggedData() { - await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_FLASH_AND_LOOKUP_TABLE); + async eraseAllLoggedData(timeoutMs = 12000) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_FLASH_AND_LOOKUP_TABLE, [], timeoutMs); } async testDataTransferLoop(loopCount) { const clamped = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); @@ -3588,6 +3664,7 @@ class VerisenseBleDevice extends BaseShimmerClient { s.chunks.push(new Uint8Array(payloadU8)); } s.bytesWritten += payloadU8.length; + s.emptyAckCount = 0; s.lastReply = 'ACK'; s.nackCount = 0; s.nackCrcCount = 0; @@ -3611,17 +3688,59 @@ class VerisenseBleDevice extends BaseShimmerClient { if (this.debugSync) console.warn('[sync] cleared RX buffers', { reason }); } + _isPlausibleHeaderByte(hdr) { + const command = hdr & 0xf0; + const property = hdr & 0x0f; + const validCommand = command === ASM_COMMAND.READ || + command === ASM_COMMAND.WRITE || + command === ASM_COMMAND.RESPONSE || + command === ASM_COMMAND.ACK || + command === ASM_COMMAND.NACK_BAD_HEADER_COMMAND || + command === ASM_COMMAND.NACK_BAD_HEADER_PROPERTY || + command === ASM_COMMAND.NACK_GENERIC || + command === ASM_COMMAND.ACK_NEXT_STAGE; + if (!validCommand) + return false; + // Known properties are 0x01..0x0C; keep 0x00 permissive for transient frames. + return property === 0 || (property >= ASM_PROPERTY.STATUS1 && property <= ASM_PROPERTY.STATUS2); + } + _isPlausibleFrameStart(hdr, len) { + if (!this._isPlausibleHeaderByte(hdr)) + return false; + // Debug responses may carry large blobs (for example flash lookup tables), + // while normal properties and streaming/logged payloads should stay bounded. + const isPendingDebugCommand = this._mode === 'command' && this._pending?.expectedProperty === ASM_PROPERTY.DEBUG_COMMAND; + const maxLen = isPendingDebugCommand + ? VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN + : VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN; + return len <= maxLen; + } _resolvePendingCommand(msg) { const pending = this._pending; - this._pending = null; - if (this._mode === 'command') - this._mode = 'idle'; if (pending) { + // Some firmware/transport paths emit a transient empty 0x00/0x00 frame + // immediately before the real command response; ignore and keep waiting. + if (msg.command === 0 && msg.property === 0 && msg.payload.length === 0) { + return; + } const err = validatePendingResponse(pending, msg); - if (err) + if (err) { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; pending.reject(err); - else + } + else { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; pending.resolve(toCommandResponse(msg)); + } + } + else { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; } this.emit('commandPayload', { header: msg.header, @@ -3639,6 +3758,17 @@ class VerisenseBleDevice extends BaseShimmerClient { return; const hdr = this._rxStreamBuf[0]; const len = (this._rxStreamBuf[1] | (this._rxStreamBuf[2] << 8)) >>> 0; + if (!this._isPlausibleFrameStart(hdr, len)) { + if (this.debugSync) { + console.warn('[rx] resync: dropping byte', { + dropped: hdr, + nextLen: len, + bufLen: this._rxStreamBuf.length, + }); + } + this._rxStreamBuf = this._rxStreamBuf.slice(1); + continue; + } if (len === 0) { const header = hdr & 0xff; const decodedHeader = parseHeader(header); @@ -3651,6 +3781,18 @@ class VerisenseBleDevice extends BaseShimmerClient { }; this._rxStreamBuf = this._rxStreamBuf.slice(3); if (this._mode === 'logged' && hdr === buildHeader(ASM_COMMAND.ACK, ASM_PROPERTY.DATA)) { + const s = this._sync; + if (s && s.bytesWritten === 0 && s.emptyAckCount < 6) { + s.emptyAckCount++; + if (this.debugSync) + console.log('[sync] empty ACK before payload; requesting next DATA chunk.'); + void this + .writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }) + .catch((e) => this._abortSync(e)); + continue; + } if (this.debugSync) console.log('[sync] EOS received. Finishing.'); this._finishSync(); @@ -3741,6 +3883,8 @@ class VerisenseBleDevice extends BaseShimmerClient { this.emit('data', packet); } } +VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN = 4096; +VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN = 0xffff; // Static NUS UUIDs VerisenseBleDevice.NUS_SERVICE = NUS_SERVICE; VerisenseBleDevice.NUS_TX = NUS_TX; diff --git a/shimmer-extension/vendor/shimmer-web-sdk.cjs.map b/shimmer-extension/vendor/shimmer-web-sdk.cjs.map index 13d9177..bbb6452 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.cjs.map +++ b/shimmer-extension/vendor/shimmer-web-sdk.cjs.map @@ -1 +1 @@ -{"version":3,"file":"shimmer-web-sdk.cjs","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shimmer-web-sdk.cjs","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file diff --git a/shimmer-extension/vendor/shimmer-web-sdk.d.ts b/shimmer-extension/vendor/shimmer-web-sdk.d.ts index 99f3f6d..3a8c1b0 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.d.ts +++ b/shimmer-extension/vendor/shimmer-web-sdk.d.ts @@ -862,6 +862,12 @@ interface VerisenseStatusPayload { memoryFreeKb: number; memoryCapacityKb: number | null; memoryUsedKb: number | null; + /** kB of FULL (ready-to-sync) flash banks. Only populated for payloads >= 57 bytes. */ + memoryFullBanksKb: number | null; + /** kB of 2DEL (partially-deleted) flash banks. Only populated for payloads >= 57 bytes. */ + memoryTwoDelBanksKb: number | null; + /** kB of BAD flash banks. Only populated for payloads >= 57 bytes. */ + memoryBadBanksKb: number | null; statusFlags: VerisenseStatusFlags | null; batteryFallCounter: number | null; } @@ -1292,6 +1298,8 @@ interface VerisenseCommandResponse { * - `"commandPayload"` โ€” `{ payload: Uint8Array }` */ declare class VerisenseBleDevice extends BaseShimmerClient { + private static readonly MAX_FRAME_PAYLOAD_LEN; + private static readonly MAX_DEBUG_FRAME_PAYLOAD_LEN; static readonly NUS_SERVICE = "6e400001-b5a3-f393-e0a9-e50e24dcca9e"; static readonly NUS_TX = "6e400002-b5a3-f393-e0a9-e50e24dcca9e"; static readonly NUS_RX = "6e400003-b5a3-f393-e0a9-e50e24dcca9e"; @@ -1395,13 +1403,15 @@ declare class VerisenseBleDevice extends BaseShimmerClient { runTestMode(testPayload: Uint8Array | number[]): Promise; runHardwareTest(testId: TestModeId, hwMajor: number, hwMinor?: number, hwInternal?: number): Promise; private _buildDebugPayload; - readDebugCommand(debugId: DebugCommandId, args?: Uint8Array | number[]): Promise<{ + private _debugIndexArgs; + private _waitForDebugResponse; + readDebugCommand(debugId: DebugCommandId, args?: Uint8Array | number[], timeoutMs?: number): Promise<{ payload: Uint8Array; }>; - sendDebugCommand(debugId: DebugCommandId, args?: Uint8Array | number[]): Promise<{ + sendDebugCommand(debugId: DebugCommandId, args?: Uint8Array | number[], timeoutMs?: number): Promise<{ payload: Uint8Array; }>; - readFlashLookupTable(index?: number): Promise<{ + readFlashLookupTable(index?: number, timeoutMs?: number): Promise<{ payload: Uint8Array; }>; readRealWorldClockScheduler(index?: number): Promise<{ @@ -1426,7 +1436,7 @@ declare class VerisenseBleDevice extends BaseShimmerClient { eraseOperationalConfig(): Promise; eraseProductionConfig(): Promise; clearPendingEvents(): Promise; - eraseAllLoggedData(): Promise; + eraseAllLoggedData(timeoutMs?: number): Promise; testDataTransferLoop(loopCount: number): Promise; ledTest(ledIndex: number): Promise; max86xxxLedTest(start: boolean): Promise; @@ -1449,6 +1459,8 @@ declare class VerisenseBleDevice extends BaseShimmerClient { private _resetAssembler; private _appendStreamBuf; private _clearSyncRxBuffers; + private _isPlausibleHeaderByte; + private _isPlausibleFrameStart; private _resolvePendingCommand; private _feedStreamBytes; private _handleStreamingPayload; diff --git a/shimmer-extension/vendor/shimmer-web-sdk.esm.js b/shimmer-extension/vendor/shimmer-web-sdk.esm.js index 49a5b06..c6dc95e 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.esm.js +++ b/shimmer-extension/vendor/shimmer-web-sdk.esm.js @@ -1704,6 +1704,12 @@ function parseStatusPayload(response, sourceStatusProperty = 'status1') { : ((response[21] | (response[22] << 8) | (response[23] << 16)) >>> 0); const memoryCapacityKb = hasExtendedCapacity ? u32le_at(response, 60) : null; const memoryUsedKb = memoryCapacityKb == null ? null : Math.max(0, memoryCapacityKb - memoryFreeKb); + // Bank breakdown: FULL=syncable data, 2DEL=partially-deleted, BAD=unusable flash. + // Present in payloads >= 57 bytes (tick-capable extended format). + const hasBankData = response.length >= 57; + const memoryFullBanksKb = hasBankData ? u32le_at(response, 45) : null; + const memoryTwoDelBanksKb = hasBankData ? u32le_at(response, 49) : null; + const memoryBadBanksKb = hasBankData ? u32le_at(response, 53) : null; const batteryFallCounter = response.length >= 26 ? u16le_at(response, 24) : null; let statusFlags = null; if (response.length >= 34) { @@ -1730,6 +1736,9 @@ function parseStatusPayload(response, sourceStatusProperty = 'status1') { memoryFreeKb, memoryCapacityKb, memoryUsedKb, + memoryFullBanksKb, + memoryTwoDelBanksKb, + memoryBadBanksKb, statusFlags, batteryFallCounter, }; @@ -2726,7 +2735,14 @@ function validatePendingResponse(pending, msg) { if (isNackCommand(msg.command)) { return new Error(`Device returned NACK command=0x${msg.command.toString(16)} property=0x${msg.property.toString(16)}`); } - if (msg.property !== pending.expectedProperty) { + if (pending.acceptedProperties?.size) { + if (!pending.acceptedProperties.has(msg.property)) { + return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected one of ${Array.from(pending.acceptedProperties) + .map((p) => `0x${p.toString(16)}`) + .join(', ')})`); + } + } + else if (msg.property !== pending.expectedProperty) { return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected 0x${pending.expectedProperty.toString(16)})`); } if (!pending.acceptedCommands.has(msg.command)) { @@ -3145,6 +3161,7 @@ class VerisenseBleDevice extends BaseShimmerClient { const sync = { receiving: true, lastReply: 'NONE', + emptyAckCount: 0, nackCount: 0, nackCrcCount: 0, maxNack, @@ -3243,7 +3260,7 @@ class VerisenseBleDevice extends BaseShimmerClient { await this.tx.writeValue(toArrayBuffer(u8)); } } - async _requestByCommand(command, property, payloadBytes = [], timeoutMs = 3000, acceptedCommands) { + async _requestByCommand(command, property, payloadBytes = [], timeoutMs = 3000, acceptedCommands, acceptedProperties) { if (this._pending) throw new Error('A request is already pending'); this._mode = 'command'; @@ -3258,6 +3275,7 @@ class VerisenseBleDevice extends BaseShimmerClient { this._pending = { expectedProperty: property, acceptedCommands: accepted, + acceptedProperties, resolve: (resp) => { clearTimeout(t); this._pending = null; @@ -3373,43 +3391,101 @@ class VerisenseBleDevice extends BaseShimmerClient { payload.set(argBytes, 1); return payload; } - async readDebugCommand(debugId, args = []) { - const rsp = await this._requestByCommand(ASM_COMMAND.READ, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args)); - return { payload: rsp.payload }; + _debugIndexArgs(index) { + const i = Math.max(0, Math.min(0xff, Math.trunc(index))); + return i > 0 ? [i] : []; } - async sendDebugCommand(debugId, args = []) { - const rsp = await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args)); + _waitForDebugResponse(timeoutMs = 3000) { + return new Promise((resolve, reject) => { + let done = false; + let off = null; + let timer = null; + const cleanup = () => { + if (off) { + try { + off(); + } + catch { + /* ignore */ + } + off = null; + } + if (timer) { + clearTimeout(timer); + timer = null; + } + }; + off = this.on('commandPayload', (evt) => { + if (done || !evt) + return; + if (evt.command !== ASM_COMMAND.RESPONSE || evt.property !== ASM_PROPERTY.DEBUG_COMMAND) + return; + done = true; + cleanup(); + resolve({ payload: evt.payload ?? new Uint8Array(0) }); + }); + timer = setTimeout(() => { + if (done) + return; + done = true; + cleanup(); + reject(new Error('Debug response timeout')); + }, timeoutMs); + }); + } + async readDebugCommand(debugId, args = [], timeoutMs = 3000) { + const payload = this._buildDebugPayload(debugId, args); + const debugAcceptedProps = new Set([ASM_PROPERTY.DEBUG_COMMAND, 0]); + // Python flow: WRITE DEBUG command, optional empty/transient frame, then RESPONSE DEBUG payload. + const responsePromise = this._waitForDebugResponse(timeoutMs); + try { + await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, payload, timeoutMs, undefined, debugAcceptedProps); + return await responsePromise; + } + catch (e) { + void responsePromise.catch(() => { }); + const msg = e instanceof Error ? e.message : String(e); + const isDebugNack = /NACK command=0x(?:50|60|70) property=0x9/i.test(msg); + const isDebugAckPropertyZero = /Unexpected response property 0x0 \(expected 0x9\)/i.test(msg); + if (!isDebugNack && !isDebugAckPropertyZero) + throw e; + const rsp = await this._requestByCommand(ASM_COMMAND.READ, ASM_PROPERTY.DEBUG_COMMAND, payload, timeoutMs); + return { payload: rsp.payload }; + } + } + async sendDebugCommand(debugId, args = [], timeoutMs = 3000) { + const rsp = await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args), timeoutMs); return { payload: rsp.payload }; } - async readFlashLookupTable(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.FLASH_LOOKUP_TABLE_READ, [index & 0xff]); + async readFlashLookupTable(index = 0, timeoutMs = 12000) { + return this.readDebugCommand(DEBUG_COMMAND_ID.FLASH_LOOKUP_TABLE_READ, this._debugIndexArgs(index), timeoutMs); } async readRealWorldClockScheduler(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.RWC_SCHEDULER_READ, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.RWC_SCHEDULER_READ, this._debugIndexArgs(index)); } async readRealWorldClockSchedulerParsed(index = 0) { const { payload } = await this.readRealWorldClockScheduler(index); return parseSchedulerDebugPayload(payload); } async loadTestLookupTable(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.LOAD_TEST_LOOKUP_TABLE, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.LOAD_TEST_LOOKUP_TABLE, this._debugIndexArgs(index)); } async checkPayloadCrcErrors(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.CHECK_PAYLOAD_CRC_ERRORS, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.CHECK_PAYLOAD_CRC_ERRORS, this._debugIndexArgs(index)); } async checkPayloadCrcErrorsParsed(index = 0) { const { payload } = await this.checkPayloadCrcErrors(index); return parsePayloadCrcErrorBankIndexes(payload); } async readEventLog(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.READ_EVENT_LOG, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_EVENT_LOG, this._debugIndexArgs(index)); } async readEventLogParsed(index = 0) { const { payload } = await this.readEventLog(index); return parseEventLogPayload(payload); } async readRecordBufferDetails(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.READ_RECORD_BUFFER_DETAILS, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_RECORD_BUFFER_DETAILS, this._debugIndexArgs(index)); } async readRecordBufferDetailsParsed(index = 0) { const { payload } = await this.readRecordBufferDetails(index); @@ -3424,8 +3500,8 @@ class VerisenseBleDevice extends BaseShimmerClient { async clearPendingEvents() { await this.sendDebugCommand(DEBUG_COMMAND_ID.CLEAR_PENDING_EVENTS); } - async eraseAllLoggedData() { - await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_FLASH_AND_LOOKUP_TABLE); + async eraseAllLoggedData(timeoutMs = 12000) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_FLASH_AND_LOOKUP_TABLE, [], timeoutMs); } async testDataTransferLoop(loopCount) { const clamped = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); @@ -3586,6 +3662,7 @@ class VerisenseBleDevice extends BaseShimmerClient { s.chunks.push(new Uint8Array(payloadU8)); } s.bytesWritten += payloadU8.length; + s.emptyAckCount = 0; s.lastReply = 'ACK'; s.nackCount = 0; s.nackCrcCount = 0; @@ -3609,17 +3686,59 @@ class VerisenseBleDevice extends BaseShimmerClient { if (this.debugSync) console.warn('[sync] cleared RX buffers', { reason }); } + _isPlausibleHeaderByte(hdr) { + const command = hdr & 0xf0; + const property = hdr & 0x0f; + const validCommand = command === ASM_COMMAND.READ || + command === ASM_COMMAND.WRITE || + command === ASM_COMMAND.RESPONSE || + command === ASM_COMMAND.ACK || + command === ASM_COMMAND.NACK_BAD_HEADER_COMMAND || + command === ASM_COMMAND.NACK_BAD_HEADER_PROPERTY || + command === ASM_COMMAND.NACK_GENERIC || + command === ASM_COMMAND.ACK_NEXT_STAGE; + if (!validCommand) + return false; + // Known properties are 0x01..0x0C; keep 0x00 permissive for transient frames. + return property === 0 || (property >= ASM_PROPERTY.STATUS1 && property <= ASM_PROPERTY.STATUS2); + } + _isPlausibleFrameStart(hdr, len) { + if (!this._isPlausibleHeaderByte(hdr)) + return false; + // Debug responses may carry large blobs (for example flash lookup tables), + // while normal properties and streaming/logged payloads should stay bounded. + const isPendingDebugCommand = this._mode === 'command' && this._pending?.expectedProperty === ASM_PROPERTY.DEBUG_COMMAND; + const maxLen = isPendingDebugCommand + ? VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN + : VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN; + return len <= maxLen; + } _resolvePendingCommand(msg) { const pending = this._pending; - this._pending = null; - if (this._mode === 'command') - this._mode = 'idle'; if (pending) { + // Some firmware/transport paths emit a transient empty 0x00/0x00 frame + // immediately before the real command response; ignore and keep waiting. + if (msg.command === 0 && msg.property === 0 && msg.payload.length === 0) { + return; + } const err = validatePendingResponse(pending, msg); - if (err) + if (err) { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; pending.reject(err); - else + } + else { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; pending.resolve(toCommandResponse(msg)); + } + } + else { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; } this.emit('commandPayload', { header: msg.header, @@ -3637,6 +3756,17 @@ class VerisenseBleDevice extends BaseShimmerClient { return; const hdr = this._rxStreamBuf[0]; const len = (this._rxStreamBuf[1] | (this._rxStreamBuf[2] << 8)) >>> 0; + if (!this._isPlausibleFrameStart(hdr, len)) { + if (this.debugSync) { + console.warn('[rx] resync: dropping byte', { + dropped: hdr, + nextLen: len, + bufLen: this._rxStreamBuf.length, + }); + } + this._rxStreamBuf = this._rxStreamBuf.slice(1); + continue; + } if (len === 0) { const header = hdr & 0xff; const decodedHeader = parseHeader(header); @@ -3649,6 +3779,18 @@ class VerisenseBleDevice extends BaseShimmerClient { }; this._rxStreamBuf = this._rxStreamBuf.slice(3); if (this._mode === 'logged' && hdr === buildHeader(ASM_COMMAND.ACK, ASM_PROPERTY.DATA)) { + const s = this._sync; + if (s && s.bytesWritten === 0 && s.emptyAckCount < 6) { + s.emptyAckCount++; + if (this.debugSync) + console.log('[sync] empty ACK before payload; requesting next DATA chunk.'); + void this + .writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }) + .catch((e) => this._abortSync(e)); + continue; + } if (this.debugSync) console.log('[sync] EOS received. Finishing.'); this._finishSync(); @@ -3739,6 +3881,8 @@ class VerisenseBleDevice extends BaseShimmerClient { this.emit('data', packet); } } +VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN = 4096; +VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN = 0xffff; // Static NUS UUIDs VerisenseBleDevice.NUS_SERVICE = NUS_SERVICE; VerisenseBleDevice.NUS_TX = NUS_TX; diff --git a/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map b/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map index 1f5504d..8343942 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map +++ b/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map @@ -1 +1 @@ -{"version":3,"file":"shimmer-web-sdk.esm.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"AAEA;;;;;;;;;;;;;;;;AAgBG;MACU,aAAa,CAAA;AAaxB,IAAA,WAAA,CAAY,QAAgB,EAAA;AAC1B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAChB,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI;IACjB;AAEA;;;;;;;AAOG;IACH,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,IAAA,GAAsB,IAAI,EAAE,IAAA,GAAkB,IAAI,EAAA;AACjF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/C;AAEA;;;;;;;AAOG;AACH,IAAA,GAAG,CAAC,IAAY,EAAE,IAAA,GAAkB,IAAI,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI;IAC/F;AAEA;;AAEG;AACH,IAAA,MAAM,CAAC,IAAY,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;IACnD;AACD;;ACjED;;;;;;;;;;;AAWG;MACmB,iBAAiB,CAAA;AAkBrC,IAAA,WAAA,CAAY,OAA6B,EAAE,EAAA;AAd3C;;;AAGG;QACH,IAAA,CAAA,QAAQ,GAAmC,IAAI;AAE/C;;;;;AAKG;QACH,IAAA,CAAA,aAAa,GAA4C,IAAI;QAG3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI;IACjC;;IAGU,IAAI,CAAC,GAAG,IAAe,EAAA;QAC/B,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;IACnD;;AAGU,IAAA,WAAW,CAAC,GAAW,EAAA;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACd,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;IACtB;AAMD;;ACpDD;;;AAGG;AACI,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;AACnC,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,yBAAyB,EAAE,IAAI;AAC/B,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,yBAAyB,EAAE,IAAI;AAC/B,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,0BAA0B,EAAE,IAAI;AAChC,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,0BAA0B,EAAE,IAAI;AAChC,IAAA,8BAA8B,EAAE,IAAI;AACpC,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,8BAA8B,EAAE,IAAI;AACpC,IAAA,gCAAgC,EAAE,IAAI;AACtC,IAAA,6BAA6B,EAAE,IAAI;AACnC,IAAA,gCAAgC,EAAE,IAAI;AACtC,IAAA,4BAA4B,EAAE,IAAI;AAClC,IAAA,yBAAyB,EAAE,IAAI;AAC/B,IAAA,4BAA4B,EAAE,IAAI;AAClC,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,gCAAgC,EAAE,IAAI;AACtC,IAAA,6BAA6B,EAAE,IAAI;AACnC,IAAA,gCAAgC,EAAE,IAAI;AACtC,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,6BAA6B,EAAE,IAAI;AACnC,IAAA,0BAA0B,EAAE,IAAI;AAChC,IAAA,6BAA6B,EAAE,IAAI;AACnC,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,6BAA6B,EAAE,IAAI;AACnC,IAAA,0BAA0B,EAAE,IAAI;AAChC,IAAA,6BAA6B,EAAE,IAAI;AACnC,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,yBAAyB,EAAE,IAAI;AAC/B,IAAA,0BAA0B,EAAE,IAAI;AAChC,IAAA,kCAAkC,EAAE,IAAI;AACxC,IAAA,+BAA+B,EAAE,IAAI;AACrC,IAAA,kCAAkC,EAAE,IAAI;AACxC,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,8BAA8B,EAAE,IAAI;AACpC,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,8BAA8B,EAAE,IAAI;AACpC,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,uCAAuC,EAAE,IAAI;AAC7C,IAAA,oCAAoC,EAAE,IAAI;AAC1C,IAAA,uCAAuC,EAAE,IAAI;AAC7C,IAAA,wCAAwC,EAAE,IAAI;AAC9C,IAAA,2CAA2C,EAAE,IAAI;AACjD,IAAA,sCAAsC,EAAE,IAAI;AAC5C,IAAA,+BAA+B,EAAE,IAAI;AACrC,IAAA,kCAAkC,EAAE,IAAI;AACxC,IAAA,qCAAqC,EAAE,IAAI;AAC3C,IAAA,qCAAqC,EAAE,IAAI;AAC3C,IAAA,kCAAkC,EAAE,IAAI;AACxC,IAAA,qCAAqC,EAAE,IAAI;AAC3C,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,4BAA4B,EAAE,IAAI;AAClC,IAAA,yBAAyB,EAAE,IAAI;AAC/B,IAAA,4BAA4B,EAAE,IAAI;AAClC,IAAA,6BAA6B,EAAE,IAAI;AACnC,IAAA,0BAA0B,EAAE,IAAI;AAChC,IAAA,6BAA6B,EAAE,IAAI;AACnC,IAAA,yBAAyB,EAAE,IAAI;AAC/B,IAAA,8BAA8B,EAAE,IAAI;AACpC,IAAA,yBAAyB,EAAE,IAAI;AAC/B,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,wCAAwC,EAAE,IAAI;AAC9C,IAAA,2CAA2C,EAAE,IAAI;AACjD,IAAA,0BAA0B,EAAE,IAAI;AAChC,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,sCAAsC,EAAE,IAAI;AAC5C,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,0CAA0C,EAAE,IAAI;AAChD,IAAA,6CAA6C,EAAE,IAAI;AACnD,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,iCAAiC,EAAE,IAAI;AACvC,IAAA,8BAA8B,EAAE,IAAI;AACpC,IAAA,iCAAiC,EAAE,IAAI;AACvC,IAAA,mCAAmC,EAAE,IAAI;AACzC,IAAA,gCAAgC,EAAE,IAAI;AACtC,IAAA,mCAAmC,EAAE,IAAI;AACzC,IAAA,+BAA+B,EAAE,IAAI;AACrC,IAAA,4BAA4B,EAAE,IAAI;AAClC,IAAA,+BAA+B,EAAE,IAAI;AACrC,IAAA,iCAAiC,EAAE,IAAI;AACvC,IAAA,8BAA8B,EAAE,IAAI;AACpC,IAAA,iCAAiC,EAAE,IAAI;AACvC,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,qBAAqB,EAAE,IAAI;AACnB,CAAA;AAIV;AACO,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;AAC9C,IAAA,YAAY,EAAE,sCAAsC;;AAEpD,IAAA,YAAY,EAAE,sCAAsC;;AAEpD,IAAA,YAAY,EAAE,sCAAsC;AAC5C,CAAA;AAEV;;;AAGG;AACI,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;AAC3C,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AAClE,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AAC1D,CAAA;AAIV;AACO,MAAM,QAAQ,GAAG;AAExB;AACO,MAAM,sBAAsB,GAAG,GAAG;AAEzC;;;AAGG;AACI,MAAM,qCAAqC,GAAoC;IACpF,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,IAAI,EAAE,KAAK,CAAC;IACb,CAAC,KAAK,EAAE,KAAK,CAAC;IACd,CAAC,KAAK,EAAE,MAAM,CAAC;CAChB;;AClND;;;;;;;;;;;AAWG;AACI,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;AAChD,IAAA,cAAc,EAAE,QAAQ;AACxB,IAAA,WAAW,EAAE,QAAQ;AACrB,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,UAAU,EAAE,QAAQ;AAEpB,IAAA,YAAY,EAAE,QAAQ;AACtB,IAAA,cAAc,EAAE,QAAQ;AACxB,IAAA,eAAe,EAAE,QAAQ;AACzB,IAAA,iBAAiB,EAAE,QAAQ;AAC3B,IAAA,iBAAiB,EAAE,QAAQ;AAC3B,IAAA,iBAAiB,EAAE,QAAQ;AAC3B,IAAA,iBAAiB,EAAE,QAAQ;AAC3B,IAAA,iBAAiB,EAAE,QAAQ;AAC3B,IAAA,gBAAgB,EAAE,QAAQ;AAC1B,IAAA,cAAc,EAAE,QAAQ;AAExB,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,aAAa,EAAE,QAAQ;AACf,CAAA;;ACtBV;;;AAGG;AACI,MAAM,eAAe,GAA4C,MAAM,CAAC,MAAM,CAAC;AACpF,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACrE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACrE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACrE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AAChE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AAChE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AAChE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AAC/D,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AAC/D,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AAC/D,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AAC7D,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;AAC9D,CAAA;;AC5CD;AACA;AACA;AAEA;;;;;;;;AAQG;AACG,SAAU,oBAAoB,CAClC,SAAiB,EACjB,MAAc,EACd,KAAa,EACb,IAAY,EAAA;AAEZ,IAAA,OAAO,CAAC,SAAS,GAAG,MAAM,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC;AAC9D;AAEA;;;;;;AAMG;AACG,SAAU,4BAA4B,CAAC,SAAiB,EAAA;IAC5D,OAAO,oBAAoB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACjD;AAEA;AACA;AACA;AAEA;;;;;;;;;AASG;AACG,SAAU,2CAA2C,CACzD,mBAA2B,EAC3B,KAAa,EAAA;IAEb,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;AACxD,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC;IAC3C,MAAM,KAAK,GAAG,4BAA4B,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC;IACzE,MAAM,OAAO,GAAG,SAAS,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;AAC/C,IAAA,OAAO,OAAO;AAChB;AAEA;;;;;;;;AAQG;AACG,SAAU,kBAAkB,CAAC,kBAA0B,EAAE,eAAuB,EAAA;IACpF,IAAI,eAAe,KAAK,CAAC;AAAE,QAAA,OAAO,kBAAkB;IACpD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,qCAAqC,CAAC,eAAe,CAAC;AAC/E,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAC/D;AAEA;AACA;AACA;AAEA;;;;;;;;AAQG;AACG,SAAU,4BAA4B,CAAC,YAAoB,EAAA;IAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAClC,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC;IAC7D;AACA,IAAA,IAAI,YAAY,GAAG,CAAC,EAAE;AACpB,QAAA,MAAM,IAAI,UAAU,CAAC,mCAAmC,CAAC;IAC3D;IAEA,IAAI,YAAY,GAAG,GAAG;AAAE,QAAA,OAAO,CAAC;IAChC,IAAI,YAAY,GAAG,GAAG;AAAE,QAAA,OAAO,CAAC;IAChC,IAAI,YAAY,GAAG,GAAG;AAAE,QAAA,OAAO,CAAC;IAChC,IAAI,YAAY,GAAG,IAAI;AAAE,QAAA,OAAO,CAAC;IACjC,IAAI,YAAY,GAAG,IAAI;AAAE,QAAA,OAAO,CAAC;IACjC,IAAI,YAAY,GAAG,IAAI;AAAE,QAAA,OAAO,CAAC;IACjC,OAAO,CAAC,CAAC;AACX;;ACvGA;;;;AAIG;AAEH;AACM,SAAU,QAAQ,CAAC,CAAa,EAAE,CAAa,EAAA;AACnD,IAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;AAC/C,IAAA,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACV,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AACpB,IAAA,OAAO,GAAG;AACZ;AAEA;AACM,SAAUA,OAAK,CAAC,CAAa,EAAE,CAAS,EAAA;AAC5C,IAAA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACvC;AAEA;AACM,SAAU,KAAK,CAAC,CAAa,EAAE,CAAS,EAAA;AAC5C,IAAA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AACvC;AAEA;AACM,SAAUC,OAAK,CAAC,CAAa,EAAE,CAAS,EAAA;AAC5C,IAAA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;AAC1D;AAEA;AACM,SAAU,KAAK,CAAC,CAAa,EAAE,CAAS,EAAA;AAC5C,IAAA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAC1D;AAEA;AACM,SAAU,MAAM,CAAC,CAAS,EAAA;AAC9B,IAAA,OAAO,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC;AACxC;AAEA;AACM,SAAU,MAAM,CAAC,CAAS,EAAA;AAC9B,IAAA,OAAO,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC;AAC1C;AAEA;AACM,SAAU,IAAI,CAAC,CAAS,EAAA;AAC5B,IAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE;AACtD;;AC/CM,SAAU,aAAa,CAAC,EAAc,EAAA;AAC1C,IAAA,IAAI,EAAE,CAAC,MAAM,YAAY,WAAW,EAAE;AACpC,QAAA,IAAI,EAAE,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC,MAAM;AACnF,QAAA,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;IACtE;IAEA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC;AACzC,IAAA,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;IACX,OAAO,GAAG,CAAC,MAAM;AACnB;;ACoDA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACG,MAAO,eAAgB,SAAQ,iBAAiB,CAAA;AAoCpD,IAAA,WAAA,CAAY,OAA+B,EAAE,EAAA;QAC3C,KAAK,CAAC,IAAI,CAAC;QA/Bb,IAAA,CAAA,MAAM,GAA2B,IAAI;QAC7B,IAAA,CAAA,MAAM,GAAqC,IAAI;QAC/C,IAAA,CAAA,EAAE,GAA6C,IAAI;QACnD,IAAA,CAAA,EAAE,GAA6C,IAAI;;AAGnD,QAAA,IAAA,CAAA,MAAM,GAAe,IAAI,UAAU,CAAC,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,MAAM,GAAqC,IAAI,GAAG,EAAE;QACpD,IAAA,CAAA,MAAM,GAAwB,IAAI;QAElC,IAAA,CAAA,iBAAiB,GAAsB,IAAI;QAC3C,IAAA,CAAA,aAAa,GAAG,CAAC;QACjB,IAAA,CAAA,UAAU,GAAG,KAAK;QAClB,IAAA,CAAA,OAAO,GAAG,CAAC;;QAGnB,IAAA,CAAA,cAAc,GAAG,QAAQ;QACzB,IAAA,CAAA,cAAc,GAAG,CAAC;QAClB,IAAA,CAAA,eAAe,GAAG,CAAC;QACnB,IAAA,CAAA,QAAQ,GAAG,CAAC;;QAGH,IAAA,CAAA,wBAAwB,GAAG,IAAI;;QAGxC,IAAA,CAAA,SAAS,GAEE,IAAI;QACf,IAAA,CAAA,iBAAiB,GAAwC,IAAI;;;;AA6DrD,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,GAAU,KAAU;AAC3C,YAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAAE,GAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;AAC9D,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;;AAGtD,YAAA,IACE,KAAK,CAAC,MAAM,IAAI,CAAC;AACjB,gBAAA,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,qBAAqB;gBAC1C,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,EAC7B;AACA,gBAAA,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC;AACvD,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBAExD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAChC,gBAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI;AAE5D,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAE/D,gBAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,oBAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE;AACxE,wBAAA,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAAC;AAChE,wBAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC;oBAC7D;yBAAO;AACL,wBAAA,IAAI,CAAC,IAAI,CAAC,mDAAmD,CAAC;AAC9D,wBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBACxC;AACA,oBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;gBAC/B;gBACA;YACF;;AAGA,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;YAC5C;iBAAO;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACrB,gBAAA,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE;oBACpD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;gBAC5C;YACF;;AAGA,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI;oBACF,IAAI,CAAC,cAAc,EAAE;gBACvB;gBAAE,OAAO,CAAC,EAAE;AACV,oBAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;gBACtC;YACF;AACF,QAAA,CAAC;QA1GC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC,YAAY;QACtE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,kBAAkB,CAAC,YAAY;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,kBAAkB,CAAC,YAAY;QAC5D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK;IACrD;IAEmB,IAAI,CAAC,GAAG,IAAe,EAAA;QACxC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC;IACrD;;;;AAMS,IAAA,MAAM,OAAO,GAAA;AACpB,QAAA,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC;YACpD,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;AAC3C,YAAA,gBAAgB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,WAAW,CAAC,CAAA,UAAA,EAAa,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,CAAA,CAAE,CAAC;AAChE,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,OAAO,EAAE;AAC/C,QAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;AAClC,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;AACjE,QAAA,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;AAClD,QAAA,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;AAClD,QAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;AAClC,QAAA,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE;QAClC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,IAAI,CAAC,aAAa,CAAC;AAC1E,QAAA,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC;IAC3C;AAES,IAAA,MAAM,UAAU,GAAA;AACvB,QAAA,IAAI;AACF,YAAA,IAAI,IAAI,CAAC,EAAE,EAAE;AACX,gBAAA,IAAI;AACF,oBAAA,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE;gBACnC;AAAE,gBAAA,MAAM;;gBAER;gBACA,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,4BAA4B,EAAE,IAAI,CAAC,aAAa,CAAC;YAC/E;AACA,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS;AAAE,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;QACjE;gBAAU;AACR,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI;YACpD,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AAC/B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;AACjB,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;QAClC;IACF;;;;AA6DA;;;AAGG;IACH,MAAM,mBAAmB,CACvB,QAAe,EAAA;AAEf,QAAA,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;QAC3F,IAAI,CAAC,IAAI,CAAC,EAAE;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;AAE3D,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAC;AACrF,QAAA,IAAI,CAAC,WAAW,CACd,CAAA,oCAAA,EAAuC,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAA,iBAAA,CAAmB,CAClF;QACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC;AAC7D,QAAA,IAAI,CAAC,WAAW,CAAC,CAAA,gBAAA,EAAmB,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAA,gBAAA,CAAkB,CAAC;AACxF,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QACpC;QAAE,OAAO,CAAC,EAAE;AACV,YAAA,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC;QACjD;AACA,QAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE;IACnC;AAEA;;;AAGG;IACH,MAAM,WAAW,CACf,QAAgB,EAAA;AAEhB,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;AAC/D,YAAA,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC;QACzC;QACA,IAAI,CAAC,IAAI,CAAC,EAAE;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;AAE3D,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC;QACpD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC;AAC7D,QAAA,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC;AACjD,QAAA,IAAI,CAAC,eAAe,GAAG,QAAQ;AAC/B,QAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE;IACnC;IAEA,mBAAmB,GAAA;QACjB,OAAO,IAAI,CAAC,QAAQ;IACtB;IAEA,iBAAiB,GAAA;QACf,OAAO,IAAI,CAAC,cAAc;IAC5B;AAEA;;;AAGG;IACH,MAAM,UAAU,CACd,OAAe,EAAA;AAEf,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,EAAE;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;QAE3D,OAAO,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,QAAQ;AACpC,QAAA,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI;QACzB,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI;QACjC,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,EAAE,IAAI,IAAI;AAClC,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAErE,IAAI,CAAC,WAAW,CACd,CAAA,4BAAA,EAA+B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,iBAAA,CAAmB,CACtG;QACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC;QAC7D,IAAI,CAAC,WAAW,CACd,CAAA,gCAAA,EAAmC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,SAAA,CAAW,CAClG;AAED,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,WAAW,CAAC,iDAAiD,CAAC;AACnE,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE;YACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc;AAChD,YAAA,IAAI,CAAC,WAAW,CACd,CAAA,qCAAA,EAAwC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA,CAAE,CACzF;QACH;QAAE,OAAO,GAAY,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC,CAAA,iCAAA,EAAqC,GAAa,CAAC,OAAO,CAAA,CAAE,CAAC;QAChF;QAEA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;IACvE;AAEA;;;AAGG;IACH,MAAM,eAAe,CAAC,MAAc,EAAA;AAMlC,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE;AAC3C,YAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC;QACjE;QACA,IAAI,CAAC,IAAI,CAAC,EAAE;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;QAE3D,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;AACxC,QAAA,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhD,QAAA,MAAM,GAAG,GAAG,OAAO,GAAG,IAAI;QAC1B,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI;AACjC,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,yBAAyB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEzE,QAAA,IAAI,CAAC,WAAW,CACd,CAAA,oBAAA,EAAuB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,aAAA,EAAgB,OAAO,CAAA,oBAAA,CAAsB,CACtF;QACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC;AAC7D,QAAA,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO;AACjC,QAAA,IAAI,CAAC,cAAc,GAAG,SAAS;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,CAAA,+BAAA,EAAkC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,GAAA,CAAK,CAAC;QACvF,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE;IAClE;;;;;AAOA,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,IAAI,CAAC,WAAW,CAAC,yCAAyC,CAAC;AAC3D,QAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC7C,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EACzC,IAAI,CACL;QAED,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,gBAAgB,EAAE;AAC1D,YAAA,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,kCAAkC,CAAC,SAAS,CAAC;AAC/D,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,YAAA,OAAO,IAAI;QACb;AACA,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,CAAA,aAAA,EAAgB,GAAG,CAAC,MAAM,CAAA,OAAA,CAAS,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC;AACzD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,QAAA,OAAO,IAAI;IACb;;;;;AAOA,IAAA,MAAM,cAAc,GAAA;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;AAC3D,QAAA,MAAM,IAAI,CAAC,cAAc,CACvB,IAAI,UAAU,CAAC;YACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;SACnF,CAAC,EACF,IAAI,UAAU,CAAC;YACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AACnF,SAAA,CAAC,CACH;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,oDAAoD,CAAC;IACxE;;AAGA,IAAA,MAAM,wBAAwB,GAAA;QAC5B,IAAI,CAAC,IAAI,CAAC,EAAE;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;AAC3D,QAAA,MAAM,IAAI,CAAC,cAAc,CACvB,IAAI,UAAU,CAAC;YACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;SACnF,CAAC,EACF,IAAI,UAAU,CAAC;YACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AACnF,SAAA,CAAC,CACH;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,iDAAiD,CAAC;IACrE;;AAGA,IAAA,MAAM,cAAc,GAAA;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;AAC3D,QAAA,MAAM,IAAI,CAAC,cAAc,CACvB,IAAI,UAAU,CAAC;YACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;SACnF,CAAC,EACF,IAAI,UAAU,CAAC;YACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AACnF,SAAA,CAAC,CACH;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,oDAAoD,CAAC;IACxE;AAEQ,IAAA,MAAM,cAAc,CAAC,IAAgB,EAAE,IAAgB,EAAA;QAC7D,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3E,QAAA,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC;AAC3B,QAAA,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,iBAAiB,IAAI,IAAI;QAC5D,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,iBAAiB,IAAI,IAAI;AAE5D,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACvB,QAAA,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAClD,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACvB,QAAA,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAEjD,QAAA,MAAM,UAAU,GACd,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,MAAM,CAAC;AACzF,QAAA,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,UAAU,IAAI,QAAQ;AACrE,QAAA,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IAChC;;;;AAMS,IAAA,MAAM,cAAc,GAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM;AAAE,YAAA,IAAI,CAAC,WAAW,CAAC,mDAAmD,CAAC;AACvF,QAAA,IAAI,CAAC,WAAW,CAAC,iCAAiC,CAAC;AACnD,QAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC7C,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,EACjD,IAAI,CACL;AACD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AAEtB,QAAA,IAAI,SAAS,EAAE,MAAM,EAAE;YACrB,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE;gBACxC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;YAChD;iBAAO;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAC3B;QACF;AACA,QAAA,IAAI,CAAC,WAAW,CAAC,iDAAiD,CAAC;IACrE;AAES,IAAA,MAAM,aAAa,GAAA;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,sCAAsC,CAAC;AACxD,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACnE,YAAA,IAAI,CAAC,WAAW,CAAC,8CAA8C,CAAC;QAClE;QAAE,OAAO,GAAY,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC,CAAA,0BAAA,EAA8B,GAAa,CAAC,OAAO,CAAA,CAAE,CAAC;QACzE;AACA,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC;IACxC;;AAGA,IAAA,MAAM,wBAAwB,GAAA;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM;AAAE,YAAA,IAAI,CAAC,WAAW,CAAC,mDAAmD,CAAC;AACvF,QAAA,IAAI,CAAC,WAAW,CAAC,+CAA+C,CAAC;AACjE,QAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC7C,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAC5C,IAAI,CACL;AACD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,SAAS,EAAE,MAAM,EAAE;YACrB,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE;gBACxC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;YAChD;iBAAO;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAC3B;QACF;AACA,QAAA,IAAI,CAAC,WAAW,CAAC,+DAA+D,CAAC;IACnF;;AAGA,IAAA,MAAM,uBAAuB,GAAA;AAC3B,QAAA,IAAI,CAAC,WAAW,CAAC,sCAAsC,CAAC;AACxD,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAChE;QAAE,OAAO,GAAY,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC,CAAA,wCAAA,EAA4C,GAAa,CAAC,OAAO,CAAA,CAAE,CAAC;QACvF;AACA,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC;IAClD;;;;AAMQ,IAAA,kCAAkC,CAAC,EAAc,EAAA;QACvD,IAAI,IAAI,GAAG,CAAC;AACZ,QAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC;YAAE,IAAI,GAAG,CAAC;QAElE,MAAM,MAAM,GAAGD,OAAK,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC;AAClC,QAAA,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM;AACrC,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc;QAEpC,MAAM,GAAG,GACP,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;aACnB,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;aAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;aAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;aAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;AAC7B,aAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;AAE/B,QAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC;AACpD,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC;AAC5C,QAAA,IAAI,CAAC,QAAQ,GAAG,gBAAgB;AAChC,QAAA,IAAI,CAAC,eAAe,GAAG,QAAQ;QAE/B,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;AAClC,QAAA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE;AACzB,QAAA,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC;AAE1D,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC;AACzF,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;QAEpB,IAAI,CAAC,IAAI,CACP,CAAA,2BAAA,EAA8B,MAAM,CAAC,YAAY,CAAA,SAAA,EAAY,MAAM,CAAC,MAAM,CAAC,MAAM,CAAA,mBAAA,EAAsB,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAE,CAC5I;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,CAAA,gBAAA,EAAmB,IAAI,CAAC,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAA,gBAAA,CAAkB,CAAC;QAE7F,OAAO;AACL,YAAA,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YACb,MAAM;YACN,cAAc;AACd,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,UAAU,EAAE,OAAO;YACnB,UAAU;YACV,MAAM;AACN,YAAA,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;SACnB;IACH;IAEQ,wBAAwB,CAAC,UAAoB,EAAE,YAA0B,EAAA;QAC/E,MAAM,MAAM,GAAmB,EAAE;AACjC,QAAA,MAAM,EAAE,GAAG,YAAY,KAAK,KAAK,GAAG,eAAe,CAAC,GAAG,GAAG,eAAe,CAAC,GAAG;QAC7E,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QAClC,IAAI,cAAc,GAAG,CAAC;AAEtB,QAAA,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE;AAC3B,YAAA,MAAM,GAAG,GAAG,eAAe,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,GAAG,EAAE;AACR,gBAAA,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA,GAAA,EAAM,IAAI,CAAC,EAAE,CAAC,CAAA,CAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;gBACnF,UAAU,IAAI,CAAC;gBACf;YACF;YACA,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC;AAC3B,YAAA,UAAU,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC;YAEhC,QAAQ,EAAE;AACR,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,cAAc;oBACrD;AACF,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,cAAc;oBACrD;AACF,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,gBAAgB;oBACvD;AACF,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,UAAU;oBACjD;AACF,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,WAAW;oBAClD;AACF,gBAAA,KAAK,IAAI;AACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,aAAa;oBACpD;AACF,gBAAA,KAAK,IAAI;AACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,UAAU;oBACjD;AACF,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,iBAAiB;oBACxD;AACF,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,iBAAiB;oBACxD;AACF,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,iBAAiB;oBACxD;AACF,gBAAA,KAAK,IAAI;AACT,gBAAA,KAAK,IAAI;AACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,iBAAiB;oBACxD;AACF,gBAAA;AACE,oBAAA,OAAO,CAAC,IAAI,CAAC,CAAA,yBAAA,EAA4B,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,wBAAA,CAA0B,CAAC;;QAEzF;AAEA,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc;AACpC,QAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,IAAI,EAAE;IACjG;;;;AAMQ,IAAA,cAAc,CAAC,EAAiB,EAAA;QACtC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;AAC/B,QAAA,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;AAC5B,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC3B,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;AACxC,gBAAA,MAAM,MAAM,GAAG,QAAQ,EAAE,KAAK,IAAI,IAAI;gBACtC,IAAI,MAAM,KAAK,IAAI;oBAAE;AAErB,gBAAA,IAAI,KAAK,GAAG,MAAM,GAAG,MAAM;AAC3B,gBAAA,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe;AACvC,gBAAA,IAAI,YAAY,KAAK,CAAC,EAAE;oBACtB,YAAY,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,IAAI;gBACtC;gBACA,IAAI,YAAY,KAAK,CAAC,IAAI,KAAK,GAAG,sBAAsB,EAAE;oBACxD,KAAK,GAAG,sBAAsB;gBAChC;gBACA,IAAI,OAAO,GAAG,2CAA2C,CAAC,KAAK,EAAE,YAAY,CAAC;gBAC9E,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC;gBAC3D,MAAM,sBAAsB,GAAG,CAAC,GAAG,GAAG,OAAO,IAAI,IAAI;gBACrD,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,sBAAsB,EAAE,UAAU,EAAE,KAAK,CAAC;YAC7D;QACF;IACF;;;;IAMQ,cAAc,GAAA;AACpB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAO;AACxB,QAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB;AACrC,QAAA,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,KAAK,CAAC;AACvC,QAAA,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC;AAClD,QAAA,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,GAAG,QAAQ,GAAG,KAAK;AAE/C,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM;QACrB,IAAI,MAAM,GAAG,CAAC;QACd,IAAI,KAAK,GAAG,CAAC;QACb,IAAI,SAAS,GAAG,CAAC;QAEjB,OAAO,GAAG,CAAC,MAAM,IAAI,UAAU,GAAG,CAAC,EAAE;AACnC,YAAA,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE;gBACvD,IAAI,GAAW,EAAE,GAAW;AAC5B,gBAAA,IAAI;oBACF,GAAG,GAAG,OAAO,KAAK,CAAC,GAAGA,OAAK,CAAC,GAAG,EAAE,CAAC,CAAC,GAAGC,OAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACnD,GAAG,GAAG,OAAO,KAAK,CAAC,GAAGD,OAAK,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,CAAC,GAAGC,OAAK,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,CAAC;gBAC/E;AAAE,gBAAA,MAAM;AACN,oBAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrB,oBAAA,KAAK,EAAE;oBACP;gBACF;AAEA,gBAAA,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM;AACrD,gBAAA,IAAI,EAAE,KAAK,CAAC,EAAE;AACZ,oBAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrB,oBAAA,KAAK,EAAE;oBACP;gBACF;gBAEA,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC;AACzC,gBAAA,IAAI;oBACF,IAAI,MAAM,GAAG,CAAC;AACd,oBAAA,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,WAAW,CAAC;oBAE9D,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,GAAGD,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAGC,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC;oBACtE,MAAM,IAAI,OAAO;oBACjB,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC;AAEvC,oBAAA,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE;wBAC1B,IAAI,MAAM,GAAG,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE;AACvC,4BAAA,MAAM,IAAI,KAAK,CAAC,CAAA,kBAAA,EAAqB,CAAC,CAAC,SAAS,CAAA,EAAA,EAAK,MAAM,UAAU,KAAK,CAAC,MAAM,CAAA,CAAE,CAAC;wBACtF;AACA,wBAAA,IAAI,CAAS;AACb,wBAAA,QAAQ,CAAC,CAAC,GAAG;AACX,4BAAA,KAAK,KAAK;AACR,gCAAA,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAACD,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gCACnF;AACF,4BAAA,KAAK,KAAK;gCACR,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAGA,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC;gCACnE;AACF,4BAAA,KAAK,KAAK;AACR,gCAAA,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAACC,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gCACnF;AACF,4BAAA,KAAK,KAAK;gCACR,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAGA,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC;gCACnE;4BACF,KAAK,MAAM,EAAE;gCACX,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;gCAChC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI;AACpC,gCAAA,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;AACrC,gCAAA,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK;gCAC1C;4BACF;AACA,4BAAA,KAAK,IAAI;AACP,gCAAA,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;gCACjB;AACF,4BAAA;AACE,gCAAA,CAAC,GAAGD,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC;;AAE5B,wBAAA,MAAM,IAAI,CAAC,CAAC,SAAS;AACrB,wBAAA,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;oBAChC;AAEA,oBAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,wBAAA,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM;AAChE,wBAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACf,4BAAA,SAAS,EAAE;AACX,4BAAA,IAAI,CAAC,IAAI,CAAC,CAAA,qBAAA,EAAwB,SAAS,CAAA,KAAA,EAAQ,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,OAAO,CAAA,KAAA,CAAO,CAAC;wBACrF;oBACF;AACA,oBAAA,IAAI,CAAC,OAAO,GAAG,EAAE;AACjB,oBAAA,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;AACvB,oBAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AACxB,oBAAA,MAAM,EAAE;AACR,oBAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAChC;gBAAE,OAAO,CAAU,EAAE;oBACnB,IAAI,CAAC,IAAI,CAAC,wCAAwC,EAAG,CAAW,CAAC,OAAO,CAAC;AACzE,oBAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrB,oBAAA,KAAK,EAAE;gBACT;gBACA;YACF;AACA,YAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrB,YAAA,KAAK,EAAE;YACP,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,EAAE,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,IAAI,CAAC,CAAA,gBAAA,EAAmB,KAAK,CAAA,wBAAA,EAA2B,GAAG,CAAC,MAAM,CAAA,CAAE,CAAC;YAC5E;QACF;AAEA,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG;AACjB,QAAA,IAAI,KAAK,IAAI,KAAK,GAAG,GAAG,KAAK,CAAC;AAAE,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC;QAChD,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,EAAE;AACnC,YAAA,IAAI,CAAC,IAAI,CAAC,CAAA,cAAA,EAAiB,MAAM,CAAA,QAAA,EAAW,KAAK,CAAA,WAAA,EAAc,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA,CAAE,CAAC;QACtF;IACF;;;;IAMQ,MAAM,MAAM,CAAC,EAAc,EAAA;QACjC,IAAI,CAAC,IAAI,CAAC,EAAE;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;AAC3D,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC7C;AAEQ,IAAA,MAAM,kBAAkB,CAC9B,EAAc,EACd,YAAY,GAAG,IAAI,EAAA;QAEnB,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AACrB,YAAA,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;QAC7C;QAAE,OAAO,CAAC,EAAE;AACV,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACxD,YAAA,MAAM,CAAC;QACT;IACF;IAEQ,WAAW,CAAC,SAAS,GAAG,IAAI,EAAA;QAClC,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,KAAI;AACxD,YAAA,MAAM,CAAC,GAAG,UAAU,CAAC,MAAK;AACxB,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACtB,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YAClC,CAAC,EAAE,SAAS,CAAC;AAEb,YAAA,MAAM,OAAO,GAAG,CAAC,KAAiB,KAAU;AAC1C,gBAAA,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE;AAClC,gBAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,qBAAqB,EAAE;oBACpE,YAAY,CAAC,CAAC,CAAC;AACf,oBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACtB,oBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB;AAClC,oBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;AAC7B,oBAAA,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;oBACpB;gBACF;AACA,gBAAA,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,qBAAqB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClE,YAAY,CAAC,CAAC,CAAC;AACf,oBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzB;AACF,YAAA,CAAC;AACD,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACvB,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,gBAAgB,CAAC,cAAsB,EAAE,SAAS,GAAG,IAAI,EAAA;AAC/D,QAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;AAC1E,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB;AAClC,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;AAC7B,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;QAC7B;QACA,OAAO,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,KAAI;AACjD,YAAA,MAAM,CAAC,GAAG,UAAU,CAAC,MAAK;AACxB,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACtB,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACvC,CAAC,EAAE,SAAS,CAAC;AAEb,YAAA,MAAM,OAAO,GAAG,CAAC,KAAiB,KAAU;AAC1C,gBAAA,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE;AAClC,gBAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,qBAAqB;oBAAE;AACtE,gBAAA,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;oBAC/B,YAAY,CAAC,CAAC,CAAC;AACf,oBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACtB,OAAO,CAAC,KAAK,CAAC;gBAChB;AACF,YAAA,CAAC;AACD,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACvB,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,OAAO,CAAC,EAA+B,EAAA;AAC7C,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB;AACQ,IAAA,QAAQ,CAAC,EAA+B,EAAA;AAC9C,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACxB;AACQ,IAAA,SAAS,CAAC,GAAe,EAAA;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AACzB,YAAA,IAAI;gBACF,EAAE,CAAC,GAAG,CAAC;YACT;YAAE,OAAO,CAAC,EAAE;AACV,gBAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACpC;AACF,QAAA,CAAC,CAAC;IACJ;AACD;;ACx2BD;AACA;AACA;AAEA;AACO,MAAM,WAAW,GAAG;AAE3B;AACO,MAAM,MAAM,GAAG;AAEtB;AACO,MAAM,MAAM,GAAG;AAEtB;AACA;AACA;AAEA;AACO,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;AACvC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,cAAc,EAAE,IAAI;AACZ,CAAA;AAIV;AACO,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;AACxC,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,yBAAyB,EAAE,IAAI;AAC/B,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,OAAO,EAAE,IAAI;AACL,CAAA;AAIV;AACO,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;AACvC,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,OAAO,EAAE,IAAI;AACL,CAAA;AAEV;AACO,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;AACxC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,SAAS,EAAE,IAAI;AACP,CAAA;AAIV;AACO,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;AAC5C,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,4BAA4B,EAAE,IAAI;AAClC,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,0BAA0B,EAAE,IAAI;AAChC,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,yBAAyB,EAAE,IAAI;AAC/B,IAAA,gBAAgB,EAAE,IAAI;AACd,CAAA;AAIV;AACA;AACA;AAEA;;;AAGG;AACI,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAClC,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,SAAS,EAAE,CAAC;AAEZ,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,YAAY,EAAE,CAAC;AAEf,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,iBAAiB,EAAE,EAAE;AAErB,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,gBAAgB,EAAE,EAAE;AACpB,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,2BAA2B,EAAE,EAAE;AAC/B,IAAA,wBAAwB,EAAE,EAAE;AAC5B,IAAA,uBAAuB,EAAE,EAAE;AAC3B,IAAA,wBAAwB,EAAE,EAAE;AAC5B,IAAA,uBAAuB,EAAE,EAAE;AAC3B,IAAA,oBAAoB,EAAE,EAAE;AACxB,IAAA,mBAAmB,EAAE,EAAE;AACvB,IAAA,oBAAoB,EAAE,EAAE;AACxB,IAAA,yBAAyB,EAAE,EAAE;AAC7B,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,qBAAqB,EAAE,EAAE;AACzB,IAAA,sBAAsB,EAAE,EAAE;AAE1B,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,gCAAgC,EAAE,EAAE;AACpC,IAAA,oBAAoB,EAAE,EAAE;AACxB,IAAA,oBAAoB,EAAE,EAAE;AACxB,IAAA,oBAAoB,EAAE,EAAE;AACxB,IAAA,oBAAoB,EAAE,EAAE;AACxB,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,gBAAgB,EAAE,EAAE;AACpB,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,qBAAqB,EAAE,EAAE;AACzB,IAAA,+BAA+B,EAAE,EAAE;AACnC,IAAA,gBAAgB,EAAE,EAAE;AACpB,IAAA,kBAAkB,EAAE,EAAE;AACtB,IAAA,kBAAkB,EAAE,EAAE;AACtB,IAAA,kBAAkB,EAAE,EAAE;AACtB,IAAA,kBAAkB,EAAE,EAAE;AACtB,IAAA,aAAa,EAAE,EAAE;AACT,CAAA;;ACxKV;AACM,SAAU,KAAK,CAAC,EAAU,EAAE,EAAU,EAAA;AAC1C,IAAA,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE;AACvB;AAEA;AACM,SAAU,KAAK,CAAC,KAAiB,EAAE,GAAW,EAAA;AAClD,IAAA,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5C,IAAA,OAAO,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC;AACrC;AAEA;AACM,SAAU,KAAK,CAAC,KAAiB,EAAE,GAAW,EAAA;AAClD,IAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;AAC5E;AAEA;AACM,SAAU,QAAQ,CAAC,KAAiB,EAAE,GAAW,EAAA;AACrD,IAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACnD;AAEA;SACgB,SAAS,GAAA;AACvB,IAAA,OAAO,IAAI,CAAC,GAAG,EAAE;AACnB;AAEA;;;;;AAKG;AACG,SAAU,iBAAiB,CAAC,KAAiB,EAAA;IACjD,IAAI,GAAG,GAAG,MAAM;AAChB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,QAAA,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC;YACnD,GAAG,IAAI,MAAM;QACf;IACF;IACA,OAAO,GAAG,GAAG,MAAM;AACrB;AAEA;;AAEG;AACG,SAAU,gBAAgB,CAAC,OAAmB,EAAA;AAClD,IAAA,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM;IACxB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACvD;AAEA;;;AAGG;AACG,SAAU,oBAAoB,CAAC,OAAmB,EAAA;AACtD,IAAA,OAAO,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnE;AAEA;;;AAGG;AACG,SAAU,0BAA0B,CACxC,OAMa,EAAA;AAEb,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAO,IAAI;IACzB,IAAI,OAAO,YAAY,UAAU;AAAE,QAAA,OAAO,OAAO;IACjD,IAAI,OAAO,YAAY,WAAW;AAAE,QAAA,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;AAClE,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;AAAE,QAAA,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;AAC1D,IAAA,IAAK,OAAmC,CAAC,MAAM,YAAY,WAAW,EAAE;QACtE,MAAM,CAAC,GAAG,OAA4E;QACtF,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;IACzF;AACA,IAAA,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC;AACzE;AAEA;AACM,SAAU,oBAAoB,CAClC,OAMa,EAAA;AAEb,IAAA,OAAO,0BAA0B,CAAC,OAAO,CAAC;AAC5C;AAEA;;;;;AAKG;AACG,SAAU,0BAA0B,CAAC,QAAgB,EAAA;AACzD,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;IAC5E,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACzC,QAAA,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC;IACzF;AAEA,IAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,QAAA,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC;IAC3F;AAEA,IAAA,MAAM,MAAM,GAAG,CAAA,EAAG,UAAU,CAAC,CAAC,CAAC,CAAA,EAAG,UAAU,CAAC,CAAC,CAAC,CAAA,EAAG,UAAU,CAAC,CAAC,CAAC,EAAE;IACjE,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;AAChD,IAAA,OAAO,CAAA,EAAG,MAAM,CAAA,EAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;AAC5D;AAsIA,MAAM,4BAA4B,GAAG,CAAC,IAAI,CAAC;AAE3C,MAAM,eAAe,GAA2B;AAC9C,IAAA,CAAC,EAAE,MAAM;AACT,IAAA,CAAC,EAAE,cAAc;AACjB,IAAA,CAAC,EAAE,iBAAiB;AACpB,IAAA,CAAC,EAAE,wBAAwB;AAC3B,IAAA,CAAC,EAAE,6BAA6B;AAChC,IAAA,CAAC,EAAE,qBAAqB;AACxB,IAAA,CAAC,EAAE,qCAAqC;AACxC,IAAA,CAAC,EAAE,8CAA8C;AACjD,IAAA,CAAC,EAAE,uCAAuC;AAC1C,IAAA,CAAC,EAAE,0CAA0C;AAC7C,IAAA,EAAE,EAAE,2CAA2C;AAC/C,IAAA,EAAE,EAAE,4BAA4B;AAChC,IAAA,EAAE,EAAE,6BAA6B;AACjC,IAAA,EAAE,EAAE,kBAAkB;AACtB,IAAA,EAAE,EAAE,mBAAmB;AACvB,IAAA,EAAE,EAAE,qCAAqC;AACzC,IAAA,EAAE,EAAE,mBAAmB;AACvB,IAAA,EAAE,EAAE,6BAA6B;AACjC,IAAA,EAAE,EAAE,4BAA4B;AAChC,IAAA,EAAE,EAAE,iCAAiC;AACrC,IAAA,EAAE,EAAE,iBAAiB;AACrB,IAAA,EAAE,EAAE,wCAAwC;AAC5C,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,mBAAmB;AACvB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,2BAA2B;AAC/B,IAAA,EAAE,EAAE,eAAe;AACnB,IAAA,EAAE,EAAE,kBAAkB;AACtB,IAAA,EAAE,EAAE,iBAAiB;AACrB,IAAA,EAAE,EAAE,iBAAiB;AACrB,IAAA,EAAE,EAAE,kBAAkB;AACtB,IAAA,EAAE,EAAE,mBAAmB;AACvB,IAAA,EAAE,EAAE,kBAAkB;AACtB,IAAA,EAAE,EAAE,iCAAiC;AACrC,IAAA,EAAE,EAAE,qCAAqC;AACzC,IAAA,EAAE,EAAE,0CAA0C;AAC9C,IAAA,EAAE,EAAE,2BAA2B;AAC/B,IAAA,EAAE,EAAE,eAAe;AACnB,IAAA,EAAE,EAAE,iBAAiB;AACrB,IAAA,EAAE,EAAE,oCAAoC;AACxC,IAAA,EAAE,EAAE,wCAAwC;AAC5C,IAAA,EAAE,EAAE,sCAAsC;AAC1C,IAAA,EAAE,EAAE,sCAAsC;AAC1C,IAAA,EAAE,EAAE,iCAAiC;AACrC,IAAA,EAAE,EAAE,4BAA4B;AAChC,IAAA,EAAE,EAAE,6BAA6B;AACjC,IAAA,EAAE,EAAE,oCAAoC;AACxC,IAAA,EAAE,EAAE,iCAAiC;AACrC,IAAA,EAAE,EAAE,0CAA0C;AAC9C,IAAA,EAAE,EAAE,mCAAmC;AACvC,IAAA,EAAE,EAAE,0BAA0B;AAC9B,IAAA,EAAE,EAAE,0BAA0B;AAC9B,IAAA,EAAE,EAAE,2CAA2C;CAChD;AAED,MAAM,mBAAmB,GAA4D;AACnF,IAAA,CAAC,EAAE,MAAM;AACT,IAAA,CAAC,EAAE,MAAM;AACT,IAAA,CAAC,EAAE,MAAM;AACT,IAAA,CAAC,EAAE,MAAM;AACT,IAAA,CAAC,EAAE,KAAK;AACR,IAAA,CAAC,EAAE,MAAM;CACV;AAED,SAAS,QAAQ,CAAC,KAAiB,EAAE,GAAW,EAAA;IAC9C,QACE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACf,SAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,SAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AAC7B,SAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AAC/B,QAAA,CAAC;AAEL;AAEA,SAAS,iBAAiB,CAAC,KAAiB,EAAA;AAC1C,IAAA,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM;IACtB,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI;AAAE,QAAA,GAAG,EAAE;IAChD,IAAI,GAAG,KAAK,CAAC;AAAE,QAAA,OAAO,EAAE;AACxB,IAAA,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtD;AAEA;AACM,SAAU,wBAAwB,CAAC,WAAmB,EAAA;AAC1D,IAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE;AACpD,QAAA,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC;IAC3F;IAEA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;AAC5C,IAAA,MAAM,eAAe,GAAG,WAAW,GAAG,OAAO,GAAG,EAAE;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC;IAEjD,OAAO,IAAI,UAAU,CAAC;AACpB,QAAA,OAAO,GAAG,IAAI;AACd,QAAA,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI;AACrB,QAAA,CAAC,OAAO,IAAI,EAAE,IAAI,IAAI;AACtB,QAAA,CAAC,OAAO,IAAI,EAAE,IAAI,IAAI;AACtB,QAAA,KAAK,GAAG,IAAI;AACZ,QAAA,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI;AACnB,QAAA,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI;AACrB,KAAA,CAAC;AACJ;AAEA;AACM,SAAU,wBAAwB,CAAC,IAAgB,EAAA;AACvD,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,QAAA,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC;IAC9E;IAEA,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5B,IAAA,OAAO,OAAO,GAAG,EAAE,GAAG,KAAK,GAAG,OAAO;AACvC;AAEA;AACM,SAAU,+BAA+B,CAAC,QAAoB,EAAA;AAClE,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,QAAA,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC;IACrF;IAEA,IAAI,OAAO,GAAG,EAAE;AAChB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1B,QAAA,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACjD;AACA,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;AAC7B;AAEA;;;AAGG;AACG,SAAU,4BAA4B,CAAC,IAAkC,EAAA;AAC7E,IAAA,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;AAChE,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;IAC9C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;AAChC,QAAA,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC;IAClG;IACA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACjC,QAAA,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC;IAC/E;AAEA,IAAA,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACrC,IAAA,WAAW,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACvF,IAAA,WAAW,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxF,WAAW,CAAC,OAAO,EAAE;IAErB,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,MAAM;IACxD,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,MAAM;AAExD,IAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AAC9B,IAAA,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI;AACb,IAAA,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACvB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;IAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;IAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;IAC/B,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;AAChC,IAAA,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,IAAI;IAC9B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI;AACrC,IAAA,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,IAAI;IAC9B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI;IAErC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;AAEtB,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE;AACtC,IAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACxB,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,YAAA,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC;QAC1F;AACA,QAAA,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;IAClD;AAEA,IAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE;AAClC,IAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACtB,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACxB,YAAA,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC;QACxF;AACA,QAAA,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;IAChD;AAEA,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,IAAI,EAAE;AAClD,IAAA,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE;AACzB,QAAA,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC;IAC5F;AACA,IAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACxB,QAAA,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;IAClD;AAEA,IAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;AAC3B,QAAA,GAAG,CAAC,EAAE,CAAC,GAAG,4BAA4B;IACxC;AAEA,IAAA,OAAO,GAAG;AACZ;AAEA;AACM,SAAU,gCAAgC,CAAC,QAAoB,EAAA;AACnE,IAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE;AACxB,QAAA,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC;IACxF;AAEA,IAAA,MAAM,IAAI,GAAG,4BAA4B,CAAC,QAAQ,CAAC;AACnD,IAAA,MAAM,gBAAgB,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9C,SAAA,OAAO;AACP,SAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;SAC1C,IAAI,CAAC,EAAE;AACP,SAAA,WAAW,EAAE;IAEhB,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;IACpC,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC;IACxE,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC;IAExE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE;IACxF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE;IACtF,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE;IACpG,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,4BAA4B,CAAC,GAAG,IAAI;IAEjG,OAAO;AACL,QAAA,GAAG,IAAI;QACP,wBAAwB,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACtD,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,gBAAgB;QAChB,UAAU;QACV,UAAU;QACV,aAAa;QACb,UAAU;QACV,UAAU;QACV,aAAa;QACb,SAAS;QACT,OAAO;QACP,qBAAqB;QACrB,UAAU;KACX;AACH;AAEA;;;;;AAKG;SACa,kBAAkB,CAChC,QAAoB,EACpB,uBAA8C,SAAS,EAAA;AAEvD,IAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE;AACxB,QAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC;IAC1E;AAEA,IAAA,MAAM,gBAAgB,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9C,SAAA,OAAO;AACP,SAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;SAC1C,IAAI,CAAC,EAAE;AACP,SAAA,WAAW,EAAE;AAEhB,IAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE;AAC3C,IAAA,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE;IAEjD,MAAM,sBAAsB,GAAG;AAC7B,UAAE,wBAAwB,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;UAC9F,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE;IAE9B,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;IAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;IAExC,MAAM,qBAAqB,GAAG;AAC5B,UAAE,wBAAwB,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;UAC/F,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE;IAE/B,MAAM,uBAAuB,GAAG;AAC9B,UAAE,wBAAwB,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;UAC/F,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE;IAE/B,MAAM,YAAY,GAAG;AACnB,WAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;AAC3F,WAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;AAEvE,IAAA,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI;IAC5E,MAAM,YAAY,GAAG,gBAAgB,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAAC;IAEnG,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI;IAEhF,IAAI,WAAW,GAAgC,IAAI;AACnD,IAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE;AACzB,QAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;AACtB,QAAA,WAAW,GAAG;AACZ,YAAA,YAAY,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;AAC9B,YAAA,eAAe,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;AACjC,YAAA,WAAW,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;AAC7B,YAAA,WAAW,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;AAC7B,YAAA,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;AACrC,YAAA,YAAY,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;AAC9B,YAAA,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;AAC3B,YAAA,0BAA0B,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;SAC7C;IACH;IAEA,OAAO;QACL,gBAAgB;QAChB,oBAAoB;QACpB,sBAAsB;QACtB,iBAAiB;QACjB,cAAc;QACd,qBAAqB;QACrB,uBAAuB;QACvB,YAAY;QACZ,gBAAgB;QAChB,YAAY;QACZ,WAAW;QACX,kBAAkB;KACnB;AACH;AAEA;AACM,SAAU,0BAA0B,CAAC,OAAmB,EAAA;AAC5D,IAAA,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;AACvB,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC;IACrE;IAEA,IAAI,GAAG,GAAG,CAAC;AACX,IAAA,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IACpF,GAAG,IAAI,CAAC;IAER,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI;AAC7C,IAAA,MAAM,iBAAiB,GACrB,cAAc,KAAK;AACjB,UAAE;UACA,cAAc,KAAK;AACnB,cAAE;cACA,cAAc,KAAK;AACnB,kBAAE;kBACA,cAAc,KAAK;AACnB,sBAAE;sBACA,cAAc,KAAK;AACnB,0BAAE;0BACA,SAAS;IAEvB,MAAM,KAAK,GAAG,MAAa;AACzB,QAAA,MAAM,CAAC,GAAG,+BAA+B,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QACtE,GAAG,IAAI,CAAC;AACR,QAAA,OAAO,CAAC;AACV,IAAA,CAAC;AAED,IAAA,MAAM,GAAG,GAAmC;QAC1C,sBAAsB;QACtB,iBAAiB;QACjB,8BAA8B,EAAE,KAAK,EAAE;QACvC,yBAAyB,EAAE,KAAK,EAAE;QAClC,yBAAyB,EAAE,KAAK,EAAE;QAClC,uBAAuB,EAAE,KAAK,EAAE;AAChC,QAAA,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;AAC/B,QAAA,cAAc,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,GAAG,SAAS;KACnE;IAED,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,EAAE;QAC9B,GAAG,CAAC,iBAAiB,GAAG;YACtB,eAAe,EAAE,KAAK,EAAE;YACxB,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;AACpC,YAAA,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SACrC;IACH;IAEA,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,EAAE;AAC9B,QAAA,MAAM,eAAe,GAAG,KAAK,EAAE;QAC/B,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAC9B,GAAG,CAAC,QAAQ,GAAG;YACb,eAAe;YACf,gBAAgB,EACd,EAAE,KAAK;AACL,kBAAE;kBACA,EAAE,KAAK;AACP,sBAAE;sBACA,EAAE,KAAK;AACP,0BAAE;0BACA,EAAE,KAAK;AACP,8BAAE;8BACA,EAAE,KAAK;AACP,kCAAE;AACF,kCAAE,SAAS;AACvB,YAAA,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;AACrC,YAAA,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SACrC;IACH;IAEA,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE;AAC7B,QAAA,GAAG,CAAC,yBAAyB,GAAG,KAAK,EAAE;IACzC;IACA,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE;AAC7B,QAAA,GAAG,CAAC,yBAAyB,GAAG,KAAK,EAAE;IACzC;IACA,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE;AAC7B,QAAA,GAAG,CAAC,2BAA2B,GAAG,KAAK,EAAE;IAC3C;IACA,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE;AAC7B,QAAA,GAAG,CAAC,2BAA2B,GAAG,KAAK,EAAE;IAC3C;AAEA,IAAA,OAAO,GAAG;AACZ;AAEA;AACM,SAAU,+BAA+B,CAAC,OAAmB,EAAA;IACjE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AAC5B,QAAA,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC;IACjF;IACA,MAAM,GAAG,GAAa,EAAE;AACxB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC1E,IAAA,OAAO,GAAG;AACZ;AAEA;AACM,SAAU,oBAAoB,CAAC,OAAmB,EAAA;IACtD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AAC5B,QAAA,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC;IACjF;IAEA,MAAM,GAAG,GAA6B,EAAE;AACxC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC1C,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACrC,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;QACxB,IAAI,OAAO,KAAK,CAAC;YAAE;QAEnB,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,CAAC,GAAG,CAAC;YACZ,OAAO;YACP,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAA,MAAA,EAAS,OAAO,CAAA,CAAE;YACzD,oBAAoB,EAAE,OAAO,KAAK,EAAE,GAAG,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzF,YAAA,iBAAiB,EAAE,OAAO,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI;AAC3D,SAAA,CAAC;IACJ;AACA,IAAA,OAAO,GAAG;AACZ;AAEA;AACM,SAAU,+BAA+B,CAAC,OAAmB,EAAA;AACjE,IAAA,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;IAC1F,IAAI,CAAC,cAAc,EAAE;AACnB,QAAA,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC;IAChF;IAEA,MAAM,GAAG,GAAmC,EAAE;AAC9C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,cAAc,EAAE;AACvD,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC;AACP,YAAA,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;AACnB,YAAA,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;AACnB,YAAA,oBAAoB,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;AACtC,YAAA,6BAA6B,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/C,YAAA,gBAAgB,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;AAClC,YAAA,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3B,YAAA,uBAAuB,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;AAC1C,YAAA,qBAAqB,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;AACrC,YAAA,eAAe,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;AAClC,YAAA,2BAA2B,EAAE,cAAc,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI;AAC5E,YAAA,yBAAyB,EAAE,cAAc,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI;AACxE,SAAA,CAAC;IACJ;AAEA,IAAA,OAAO,GAAG;AACZ;AAEA;;;AAGG;AACG,SAAU,uBAAuB,CACrC,OAAmB,EACnB,UAAkB,EAAA;IAElB,MAAM,YAAY,GAAG,CAAC;AACtB,IAAA,MAAM,kBAAkB,GAAG,UAAU,GAAG,YAAY;AACpD,IAAA,MAAM,oBAAoB,GAAG,kBAAkB,GAAG,CAAC;IAEnD,IAAI,IAAI,GAAG,OAAO;IAClB,IAAI,IAAI,GAAkB,IAAI;IAC9B,IAAI,IAAI,GAAkB,IAAI;AAE9B,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,oBAAoB,EAAE;AAC3C,QAAA,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3B,QAAA,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3B,QAAA,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACzB;AAAO,SAAA,IAAI,OAAO,CAAC,MAAM,KAAK,kBAAkB,EAAE;AAChD,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,wCAAA,EAA2C,OAAO,CAAC,MAAM,CAAA,yBAAA,EAA4B,kBAAkB,CAAA,IAAA,EAAO,oBAAoB,CAAA,CAAE,CACrI;IACH;IAEA,MAAM,OAAO,GAAgC,EAAE;AAC/C,IAAA,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,UAAU,EAAE,SAAS,EAAE,EAAE;AAC3D,QAAA,MAAM,GAAG,GAAG,SAAS,GAAG,YAAY;AACpC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5B,MAAM,kBAAkB,GAAG,CAAC,UAAU,GAAG,IAAI,MAAM,CAAC;AACpD,QAAA,MAAM,UAAU,GAAG,UAAU,GAAG,IAAI;QACpC,OAAO,CAAC,IAAI,CAAC;YACX,SAAS;YACT,UAAU;AACV,YAAA,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC,IAAI,SAAS;YACxD,kBAAkB;YAClB,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;AACtC,SAAA,CAAC;IACJ;AAEA,IAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;AAChC;AAEA;;AAEG;AACG,SAAU,4BAA4B,CAAC,QAAoB,EAAA;IAC/D,MAAM,QAAQ,GAAG,CAAC,GAAe,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;AAEjE,IAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC;AAChC,IAAA,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACnC,SAAA,OAAO;AACP,SAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;SAC1C,IAAI,CAAC,EAAE,CAAC;AAEX,IAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC9B,IAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC9B,IAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC9B,IAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC;IAE/B,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AAC9C,IAAA,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEpE,IAAI,aAAa,GAAG,CAAC;AACrB,IAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE;QACzB,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AAC9C,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;AAC9B,YAAA,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChE;IACF;IAEA,OAAO;AACL,QAAA,QAAQ,EAAE,CAAA,EAAG,UAAU,IAAI,UAAU,CAAA,CAAA,EAAI,aAAa,CAAA,CAAE;AACxD,QAAA,QAAQ,EAAE,CAAA,EAAG,UAAU,IAAI,UAAU,CAAA,CAAA,EAAI,aAAa,CAAA,CAAE;AACxD,QAAA,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;QAC1B,YAAY;KACb;AACH;;AC1wBA;AACM,SAAU,WAAW,CAAC,OAAmB,EAAE,QAAqB,EAAA;AACpE,IAAA,OAAO,CAAC,CAAC,OAAO,GAAG,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI;AACtD;AAEA;AACM,SAAU,WAAW,CAAC,MAAc,EAAA;IACxC,OAAO;AACL,QAAA,OAAO,GAAG,MAAM,GAAG,IAAI,CAAe;AACtC,QAAA,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAgB;KACzC;AACH;AAEA;AACM,SAAU,YAAY,CAC1B,OAAmB,EACnB,QAAqB,EACrB,eAAsC,EAAE,EAAA;AAExC,IAAA,MAAM,OAAO,GAAG,YAAY,YAAY,UAAU,GAAG,YAAY,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC;IAChG,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9C,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC;IACvC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI;AAC9B,IAAA,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI;AACrC,IAAA,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AACnB,IAAA,OAAO,GAAG;AACZ;AAEA;AACM,SAAU,YAAY,CAAC,GAAe,EAAA;AAC1C,IAAA,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;AACtF,IAAA,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;AACrB,IAAA,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,aAAa,GAAG,CAAC,EAAE;QACpC,MAAM,IAAI,KAAK,CACb,CAAA,kCAAA,EAAqC,aAAa,CAAA,gBAAA,EAAmB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA,CAAE,CACnG;IACH;IACA,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;IACjD,OAAO;QACL,MAAM;QACN,OAAO;QACP,QAAQ;QACR,aAAa;AACb,QAAA,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;KACtB;AACH;AAEM,SAAU,YAAY,CAAC,OAAmB,EAAA;IAC9C,OAAO,OAAO,KAAK,WAAW,CAAC,GAAG,IAAI,OAAO,KAAK,WAAW,CAAC,cAAc;AAC9E;AAEM,SAAU,aAAa,CAAC,OAAmB,EAAA;AAC/C,IAAA,QACE,OAAO,KAAK,WAAW,CAAC,uBAAuB;QAC/C,OAAO,KAAK,WAAW,CAAC,wBAAwB;AAChD,QAAA,OAAO,KAAK,WAAW,CAAC,YAAY;AAExC;AAEA;AACM,SAAU,kBAAkB,CAAC,OAAmB,EAAA;IACpD,MAAM,GAAG,GAA2B,EAAE;AACtC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;AAAE,QAAA,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,EAA0B;AAC9F,IAAA,OAAO,GAAG;AACZ;;AC/DA,SAAS,IAAI,CAAC,CAAS,EAAA;AACrB,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAClD;AAEA,SAAS,IAAI,CAAC,CAAS,EAAA;AACrB,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAClD;AAEA,SAAS,kBAAkB,CAAC,IAAU,EAAA;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;IAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IACtC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AACrC,IAAA,OAAO,CAAA,EAAG,EAAE,CAAA,EAAG,EAAE,CAAA,EAAG,EAAE,CAAA,CAAA,EAAI,EAAE,CAAA,EAAG,GAAG,CAAA,EAAG,EAAE,EAAE;AAC3C;AAEA;AACM,SAAU,yBAAyB,CAAC,UAAgB,EAAE,iBAAyB,EAAA;AACnF,IAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,GAAG,CAAC,IAAI,iBAAiB,GAAG,MAAM,EAAE;AAC9F,QAAA,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC;IAC3F;IACA,OAAO,CAAA,EAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,iBAAiB,CAAC,CAAA,IAAA,CAAM;AAC3E;AAEA;SACgB,sBAAsB,CACpC,SAAe,EACf,UAAkB,EAClB,iBAAyB,EAAA;AAEzB,IAAA,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;AAC7C,QAAA,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC;IAClF;AACA,IAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,GAAG,CAAC,IAAI,iBAAiB,GAAG,MAAM,EAAE;AAC9F,QAAA,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC;IACxF;AACA,IAAA,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM;AACvG;AAEA;AACM,SAAU,oBAAoB,CAAC,QAAgB,EAAE,cAAsB,EAAA;AAC3E,IAAA,IAAI,cAAc,GAAG,CAAC,EAAE;AACtB,QAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;IACtE;IAEA,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC;IACrC,IAAI,GAAG,IAAI,CAAC;AAAE,QAAA,OAAO,CAAA,EAAG,QAAQ,CAAA,EAAA,EAAK,cAAc,GAAG;IAEtD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;IACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/B,IAAA,OAAO,GAAG,IAAI,CAAA,EAAA,EAAK,cAAc,CAAA,CAAA,EAAI,GAAG,EAAE;AAC5C;AAEA;AACM,SAAU,8BAA8B,CAC5C,QAAgB,EAChB,aAA+B,EAAA;AAE/B,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC;AACvC,IAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;AAAE,QAAA,OAAO,QAAQ;IAE5C,IAAI,CAAC,GAAG,CAAC;IACT,OAAO,IAAI,EAAE;QACX,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;AAAE,YAAA,OAAO,SAAS;AAC9C,QAAA,CAAC,EAAE;IACL;AACF;AAEA;AACM,SAAU,oBAAoB,CAAC,OAAmB,EAAA;AACtD,IAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACtB,QAAA,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC;IAChF;AACA,IAAA,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7B;AAEA;;;AAGG;AACG,SAAU,uBAAuB,CAAC,KAA+B,EAAA;IAIrE,MAAM,OAAO,GAAwB,EAAE;AAEvC,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB;AACnC,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB;;AAGnC,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AACrD,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACrD,IAAI,WAAW,KAAK,WAAW;AAAE,QAAA,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC;AAEzE,IAAA,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,IAAI,OAAO,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC,EAAE;AAC/E,QAAA,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;IAC/B;AAEA,IAAA,IAAI,KAAK,CAAC,gBAAgB,IAAI,IAAI,EAAE;AAClC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC;AACzD,QAAA,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI;AACzB,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,GAAG,EAAE;AAClD,YAAA,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC;QACzC;IACF;AAEA,IAAA,IAAI,KAAK,CAAC,kBAAkB,EAAE;AAC5B,QAAA,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;IAC7B;IAEA,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;AACrD;;ACpIA;;;;;;;AAOG;MACmB,UAAU,CAAA;AAAhC,IAAA,WAAA,GAAA;QAOY,IAAA,CAAA,kBAAkB,GAAG,CAAC;QACtB,IAAA,CAAA,KAAK,GAAG,CAAC;;QAGnB,IAAA,CAAA,qBAAqB,GAAkB,IAAI;;QAG3C,IAAA,CAAA,cAAc,GAAkB,IAAI;;QAGpC,IAAA,CAAA,OAAO,GAAG,IAAI;IA0FhB;;IAvFE,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC;AACd,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;IACnC;AAEA;;AAEG;AACH,IAAA,WAAW,CAAC,KAAa,EAAA;QACvB,IAAI,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK;AAC/D,QAAA,IAAI,IAAI,CAAC,kBAAkB,GAAG,SAAS,EAAE;AACvC,YAAA,IAAI,CAAC,KAAK,IAAI,CAAC;YACf,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK;QAC7D;AACA,QAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS;AACnC,QAAA,OAAO,SAAS;IAClB;;AAGA,IAAA,aAAa,CAAC,cAAsB,EAAA;QAClC,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC,UAAU,IAAI,MAAM;IAC1D;AAEA;;;;;;AAMG;IACH,2BAA2B,CACzB,kBAA0B,EAC1B,YAAoB,EAAA;QAEpB,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;QAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;AAExD,QAAA,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,EAAE;AACtC,YAAA,IAAI,CAAC,qBAAqB,GAAG,YAAY,GAAG,aAAa;QAC3D;QAEA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE;IAC7E;AAEA;;;;;AAKG;AACH,IAAA,sBAAsB,CAAC,IAOtB,EAAA;QACC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc;QACrD,MAAM,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,GAAG,IAAI;AAEpF,QAAA,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;YAClB,OAAO;AACL,gBAAA,QAAQ,EAAE,kBAAkB;AAC5B,gBAAA,cAAc,EAAE,wBAAwB;gBACxC,kBAAkB,EAChB,qBAAqB,IAAI;sBACrB,kBAAkB,GAAG;AACvB,sBAAE,wBAAwB;aAC/B;QACH;AAEA,QAAA,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;AAC3D,QAAA,MAAM,QAAQ,GAAG,kBAAkB,GAAG,eAAe,GAAG,IAAI;AAC5D,QAAA,MAAM,cAAc,GAAG,wBAAwB,GAAG,eAAe,GAAG,IAAI;AACxE,QAAA,MAAM,kBAAkB,GACtB,qBAAqB,IAAI,IAAI,GAAG,QAAQ,GAAG,qBAAqB,GAAG,cAAc;AAEnF,QAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE;IACzD;;AAnGA;AACgB,UAAA,CAAA,UAAU,GAAG,KAAH;AAE1B;AACgB,UAAA,CAAA,eAAe,GAAG,EAAE,GAAG,KAAK;;ACoB9C;;;;;;;;;AASG;AACG,MAAO,SAAU,SAAQ,UAAU,CAAA;AAmBvC,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QAnBA,IAAA,CAAA,wBAAwB,GAAG,IAAI;QAC/B,IAAA,CAAA,2BAA2B,GAAG,IAAI;QAClC,IAAA,CAAA,2BAA2B,GAAG,GAAG;QAEzB,IAAA,CAAA,kBAAkB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;QAClD,IAAA,CAAA,cAAc,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;QAE9D,IAAA,CAAA,UAAU,GAAG,IAAI;QACjB,IAAA,CAAA,WAAW,GAAG,KAAK;;QAEnB,IAAA,CAAA,eAAe,GAAG,CAAC;QACnB,IAAA,CAAA,kBAAkB,GAAuB,sBAAsB;;QAG/D,IAAA,CAAA,iBAAiB,GAAG,CAAC;QACrB,IAAA,CAAA,kBAAkB,GAAG,CAAC;QACtB,IAAA,CAAA,6BAA6B,GAAG,CAAC;AAI/B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;IAC1B;AAEA,IAAA,qBAAqB,CAAC,KAAyB,EAAA;AAC7C,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;IACjC;AACA,IAAA,kBAAkB,CAAC,CAAS,EAAA;AAC1B,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC;IAC1B;IAEA,UAAU,CACR,IAAiD,EACjD,aAAiC,EAAA;AAEjC,QAAA,IAAI,aAAa,IAAI,IAAI,EAAE;AACzB,YAAA,MAAM,OAAO,GACX,OAAO,IAAI,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC;QACnD;AAEA,QAAA,MAAM,GAAG,GACP,OAAO,IAAI,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,EAAE;AAE1F,QAAA,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,SAAS;AAAE,YAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG;AAC3D,QAAA,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS;AAAE,YAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI;AAE9D,QAAA,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;IACzD;AAEQ,IAAA,aAAa,CACnB,EAAE,GAAG,EAAE,IAAI,EAAqC,EAChD,aAAyB,EAAA;AAEzB,QAAA,MAAM,EAAE,GAAG,0BAA0B,CAAC,aAAa,CAAE;AACrD,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AAE9B,QAAA,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE;AAC5B,YAAA,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS;AAC5B,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;QACpE;AACA,QAAA,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE;AAC7B,YAAA,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS;AAC5B,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;QACrE;AAEA,QAAA,OAAO,GAAG;IACZ;IAEA,aAAa,CAAC,QAAgB,EAAE,EAAc,EAAA;AAC5C,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AAC9B,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,sBAAsB;AACvC,QAAA,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,QAAQ,GAAG,IAAI,CAAC;AAClD,QAAA,OAAO,GAAG;IACZ;IAEA,oBAAoB,CAAC,OAAe,EAAE,EAAc,EAAA;AAClD,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AAC9B,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,sBAAsB;AACvC,QAAA,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,OAAO,GAAG,IAAI,CAAC;AACjD,QAAA,OAAO,GAAG;IACZ;IAEA,oBAAoB,CAAC,OAAe,EAAE,EAAc,EAAA;AAClD,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AAC9B,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,sBAAsB;QACvC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC;AACxD,QAAA,OAAO,GAAG;IACZ;AAEA,IAAA,mBAAmB,CAAC,UAAkB,EAAA;AACpC,QAAA,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;AAC5B,QAAA,IAAI,UAAU,GAAG,GAAG,GAAG,GAAG;AAC1B,QAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,oBAAoB,EAAE;AACpD,YAAA,UAAU,GAAG,GAAG,GAAG,GAAG;QACxB;AACA,QAAA,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG;QAC5B,OAAO,CAAC,UAAU,GAAG,UAAU,IAAI,QAAQ,GAAG,UAAU;IAC1D;IAEA,mCAAmC,CAAC,KAAa,EAAE,KAAa,EAAA;QAC9D,IAAI,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;AAC9C,QAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,sBAAsB,EAAE;AACtD,YAAA,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACxC;AACA,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,KAAK,sBAAsB,GAAG,MAAM,GAAG,GAAG;QACvF,OAAO,SAAS,IAAI,KAAK,GAAG,aAAa,GAAG,GAAG,CAAC;IAClD;AAEA,IAAA,kBAAkB,CAAC,KAAa,EAAA;AAC9B,QAAA,MAAM,aAAa,GAAqC;AACtD,YAAA,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;AACd,YAAA,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;AAChB,YAAA,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;AACjB,YAAA,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;AAClB,YAAA,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC;SACjB;AACD,QAAA,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;QAChE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD;AAEA,IAAA,cAAc,CAAC,KAAa,EAAA;QAC1B,OAAO,MAAM,GAAG,KAAK;IACvB;AAES,IAAA,YAAY,CAAC,kBAA8B,EAAA;AAClD,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC;AAClE,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,cAAc,CAAC;QAChE,MAAM,GAAG,GAAuB,EAAE;AAElC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,cAAc;YAC/B,IAAI,IAAI,GAA4B,IAAI;YACxC,IAAI,GAAG,GAAwB,IAAI;AAEnC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC;AAE5D,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,QAAQ,CAAC;AACzD,gBAAA,IAAI,KAAK,GAAG,MAAM,GAAG,MAAM;AAE3B,gBAAA,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe;gBACvC,IAAI,YAAY,KAAK,CAAC;oBAAE,YAAY,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,IAAI;AAE5D,gBAAA,IAAI,YAAY,KAAK,CAAC,EAAE;AACtB,oBAAA,MAAM,KAAK,GACT,IAAI,CAAC,kBAAkB,KAAK;0BACxB,IAAI,CAAC;AACP,0BAAE,IAAI,CAAC,2BAA2B;oBACtC,IAAI,KAAK,GAAG,KAAK;wBAAE,KAAK,GAAG,KAAK;gBAClC;gBAEA,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;gBAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,mCAAmC,CAAC,KAAK,EAAE,YAAY,CAAC;AACzE,gBAAA,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBACtC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;AACrC,gBAAA,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,wBAAwB,GAAG,WAAW,GAAG,cAAc;gBAEtF,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE;YACnF;AAEA,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,MAAM;AACtD,gBAAA,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM;AAC5B,gBAAA,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC;gBACjD,MAAM,iBAAiB,GAAG,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI;gBAE9C,IAAI,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,MAAM;AACjD,gBAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,oBAAoB,EAAE;oBACpD,EAAE,IAAI,KAAK;gBACb;AAEA,gBAAA,MAAM,gBAAgB,GAA2B;AAC/C,oBAAA,CAAC,EAAE,sBAAsB;AACzB,oBAAA,CAAC,EAAE,UAAU;AACb,oBAAA,CAAC,EAAE,mBAAmB;AACtB,oBAAA,CAAC,EAAE,iBAAiB;iBACrB;AAED,gBAAA,IAAI,GAAG;oBACL,KAAK;oBACL,KAAK;AACL,oBAAA,EAAE,EAAE,EAAE;oBACN,YAAY;oBACZ,iBAAiB;AACjB,oBAAA,aAAa,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,SAAS;iBAChE;YACH;YAEA,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QACzB;AAEA,QAAA,OAAO,GAAG;IACZ;AAES,IAAA,sBAAsB,CAAC,EAAc,EAAA;QAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;AAEtC,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,GAAG,UAAU,MAAM,CAAC;AAE5C,QAAA,MAAM,OAAO,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI;AAC/D,QAAA,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI;AAC5D,QAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI;QAC5B,MAAM,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;AAE1C,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO;AAChC,QAAA,IAAI,CAAC,kBAAkB,GAAG,QAAQ;AAClC,QAAA,IAAI,CAAC,6BAA6B,GAAG,eAAe;QAEpD,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE;AAClC,YAAA,IAAI,CAAC,eAAe,GAAG,QAAQ;QACjC;IACF;AACD;;ACrPD;;;;;AAKG;AACG,MAAO,cAAe,SAAQ,UAAU,CAAA;AAkB5C,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QAlBT,IAAA,CAAA,MAAM,GAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE5C,QAAA,IAAA,CAAA,KAAK,GAAmF;AACtF,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACT,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACT,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACV;AAEgB,QAAA,IAAA,CAAA,kBAAkB,GAAiD;AAClF,YAAA,IAAI,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;AACtD,YAAA,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;AACnD,YAAA,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;AACnD,YAAA,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;SACrD;QAED,IAAA,CAAA,KAAK,GAAe,IAAI;AAItB,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;IAC1B;AAEA,IAAA,QAAQ,CAAC,QAAoB,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;AAAE,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;IAC9D;;IAIA,UAAU,CAAC,OAAgB,EAAE,aAAiC,EAAA;AAC5D,QAAA,IAAI,aAAa,IAAI,IAAI,EAAE;AACzB,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO;YACtB,OAAO,IAAI,CAAC,OAAO;QACrB;AACA,QAAA,MAAM,EAAE,GAAG,0BAA0B,CAAC,aAAa,CAAE;AACrD,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AAC9B,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS;AAC5B,QAAA,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;AACtE,QAAA,OAAO,GAAG;IACZ;IAEA,eAAe,CAAC,OAAgB,EAAE,aAAiC,EAAA;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC;IAChD;IAEA,eAAe,CAAC,QAAgB,EAAE,EAAc,EAAA;AAC9C,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AAC9B,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY;QAC7B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,CAAC;AACzD,QAAA,OAAO,GAAG;IACZ;IAEA,sBAAsB,CAAC,OAAe,EAAE,EAAc,EAAA;AACpD,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AAC9B,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY;QAC7B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC;AACxD,QAAA,OAAO,GAAG;IACZ;AAEQ,IAAA,UAAU,CAAC,GAA6B,EAAA;AAC9C,QAAA,MAAM,CAAC,GAA6B;YAClC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACvB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACvB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SACxB;AACD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;AACpB,QAAA,MAAM,OAAO,GAA6B;AACxC,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChD,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChD,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7C,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE;AAES,IAAA,YAAY,CAAC,kBAA8B,EAAA;QAClD,MAAM,gBAAgB,GAAG,CAAC;AAC1B,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,gBAAgB,CAAC;QAClE,MAAM,GAAG,GAAqB,EAAE;AAEhC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1B,YAAA,MAAM,GAAG,GAAG,CAAC,GAAG,gBAAgB;AAChC,YAAA,MAAM,GAAG,GAA6B;AACpC,gBAAA,KAAK,CAAC,kBAAkB,EAAE,GAAG,GAAG,CAAC,CAAC;AAClC,gBAAA,KAAK,CAAC,kBAAkB,EAAE,GAAG,GAAG,CAAC,CAAC;AAClC,gBAAA,KAAK,CAAC,kBAAkB,EAAE,GAAG,GAAG,CAAC,CAAC;aACnC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AAChC,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC;QACjD;AAEA,QAAA,OAAO,GAAG;IACZ;AAES,IAAA,sBAAsB,CAAC,EAAc,EAAA;QAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;QACpC,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;AAEpC,QAAA,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;AAChD,YAAA,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC;YACvE;QACF;AAEA,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;QAEzC,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;QACvC,MAAM,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;QACtC,MAAM,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;AAEtC,QAAA,MAAM,QAAQ,GAA+B,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE;QACpF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;AAE7C,QAAA,MAAM,eAAe,GAA2B;AAC9C,YAAA,CAAC,EAAE,GAAG;AACN,YAAA,CAAC,EAAE,IAAI;AACP,YAAA,CAAC,EAAE,EAAE;AACL,YAAA,CAAC,EAAE,EAAE;AACL,YAAA,CAAC,EAAE,GAAG;AACN,YAAA,CAAC,EAAE,GAAG;SACP;AACD,QAAA,MAAM,eAAe,GAA2B;AAC9C,YAAA,CAAC,EAAE,IAAI;AACP,YAAA,CAAC,EAAE,EAAE;AACL,YAAA,CAAC,EAAE,EAAE;AACL,YAAA,CAAC,EAAE,GAAG;AACN,YAAA,CAAC,EAAE,GAAG;AACN,YAAA,CAAC,EAAE,GAAG;AACN,YAAA,CAAC,EAAE,GAAG;AACN,YAAA,CAAC,EAAE,IAAI;SACR;AAED,QAAA,MAAM,UAAU,GAAG,WAAW,KAAK,CAAC;AACpC,QAAA,MAAM,EAAE,GAAG,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC;AACnF,QAAA,IAAI,EAAE;AAAE,YAAA,IAAI,CAAC,cAAc,GAAG,EAAE;IAClC;AACD;;AC/ID;;;;AAIG;AACG,MAAO,aAAc,SAAQ,UAAU,CAAA;AA4B3C,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QA5BT,IAAA,CAAA,MAAM,GAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE5C,QAAA,IAAA,CAAA,KAAK,GAAmF;AACtF,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACT,YAAA,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACV,YAAA,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACX;AAEgB,QAAA,IAAA,CAAA,cAAc,GAAiD;AAC9E,YAAA,IAAI,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;AACtD,YAAA,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;AACnD,YAAA,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;AACnD,YAAA,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;SACrD;AAEgB,QAAA,IAAA,CAAA,eAAe,GAAgD;AAC9E,YAAA,QAAQ,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;AACvD,YAAA,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;AACpD,YAAA,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;AACrD,YAAA,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;SACtD;QAED,IAAA,CAAA,QAAQ,GAAe,IAAI;QAC3B,IAAA,CAAA,SAAS,GAAc,QAAQ;QAC/B,IAAA,CAAA,UAAU,GAAG,IAAI;QACjB,IAAA,CAAA,WAAW,GAAG,IAAI;AAIhB,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;IAC1B;AAEA,IAAA,eAAe,CAAC,CAAU,EAAA;AACxB,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACvB;AACA,IAAA,cAAc,CAAC,CAAU,EAAA;AACvB,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IACxB;AACA,IAAA,aAAa,CAAC,CAAa,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;AAAE,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;IAC/C;AACA,IAAA,YAAY,CAAC,CAAY,EAAA;AACvB,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC;IACjD;AAEQ,IAAA,oBAAoB,CAAC,IAA8B,EAAA;AACzD,QAAA,MAAM,CAAC,GAA6B;YAClC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SACzB;AACD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;QACpB,OAAO;AACL,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChD,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChD,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD;IACH;AAES,IAAA,YAAY,CAAC,kBAA8B,EAAA;QAClD,IAAI,cAAc,GAAG,CAAC;AACtB,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU;YAAE,cAAc,GAAG,EAAE;AAE5D,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,cAAc,CAAC;QAChE,MAAM,GAAG,GAAoB,EAAE;AAE/B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,cAAc;YAC/B,IAAI,OAAO,GAAoC,IAAI;YACnD,IAAI,MAAM,GAAoC,IAAI;YAElD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;AACvC,gBAAA,OAAO,GAAG;AACR,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;AACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;AACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;iBACpC;AACD,gBAAA,MAAM,GAAG;AACP,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;AACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;AACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,EAAE,CAAC;iBACrC;YACH;AAAO,iBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAC3B,gBAAA,OAAO,GAAG;AACR,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;AACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;AACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;iBACpC;YACH;AAAO,iBAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AAC1B,gBAAA,MAAM,GAAG;AACP,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;AACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;AACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;iBACpC;YACH;YAEA,IAAI,MAAM,GAAoC,IAAI;YAClD,IAAI,OAAO,GAAoC,IAAI;YAEnD,IAAI,MAAM,EAAE;gBACV,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;gBACjD,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5C,gBAAA,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE;YACA,IAAI,OAAO,EAAE;gBACX,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;gBAClD,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;AAC9C,gBAAA,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE;YAEA,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,MAAM,IAAI,MAAM,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;gBAC7E,IAAI,EAAE,OAAO,IAAI,OAAO,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;AACjF,aAAA,CAAC;QACJ;AAEA,QAAA,OAAO,GAAG;IACZ;AAES,IAAA,sBAAsB,CAAC,EAAc,EAAA;AAC5C,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,MAAM,CAAC;AAC3D,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,MAAM,CAAC;QAE5D,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACzC,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;QAEvC,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACzC,MAAM,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;QACxC,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;AAEvC,QAAA,MAAM,aAAa,GAA+B,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE;AACzF,QAAA,MAAM,YAAY,GAA8B;AAC9C,YAAA,CAAC,EAAE,QAAQ;AACX,YAAA,CAAC,EAAE,QAAQ;AACX,YAAA,CAAC,EAAE,SAAS;AACZ,YAAA,CAAC,EAAE,SAAS;SACb;AAED,QAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;AACjE,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC;AAE/D,QAAA,MAAM,OAAO,GAAkC;AAC7C,YAAA,CAAC,EAAE,IAAI;AACP,YAAA,CAAC,EAAE,IAAI;AACP,YAAA,CAAC,EAAE,EAAE;AACL,YAAA,CAAC,EAAE,EAAE;AACL,YAAA,CAAC,EAAE,GAAG;AACN,YAAA,CAAC,EAAE,GAAG;AACN,YAAA,CAAC,EAAE,GAAG;AACN,YAAA,CAAC,EAAE,GAAG;AACN,YAAA,CAAC,EAAE,IAAI;SACR;AACD,QAAA,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;AAChC,QAAA,IAAI,EAAE;AAAE,YAAA,IAAI,CAAC,cAAc,GAAG,EAAE;IAClC;AACD;;AC3JD;;;;AAIG;AACG,MAAO,SAAU,SAAQ,UAAU,CAAA;AAUvC,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QAVT,IAAA,CAAA,GAAG,GAAG,KAAK;QACX,IAAA,CAAA,EAAE,GAAG,KAAK;QACV,IAAA,CAAA,KAAK,GAAG,KAAK;QACb,IAAA,CAAA,IAAI,GAAG,KAAK;QAEK,IAAA,CAAA,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;AACtC,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAC/D,QAAA,IAAA,CAAA,kBAAkB,GAAG,CAAC,CAAC;AAIrB,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;IAC1B;AAEA,IAAA,WAAW,CAAC,QAA8C,EAAA;AACxD,QAAA,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,SAAS;AAAE,YAAA,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG;AAC9D,QAAA,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,SAAS;AAAE,YAAA,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE;AAC3D,QAAA,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,SAAS;AAAE,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK;AACpE,QAAA,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,SAAS;AAAE,YAAA,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;IACnE;AAEA,IAAA,qBAAqB,CAAC,CAAS,EAAA;AAC7B,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAAE,YAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC;IACnD;AAEA,IAAA,cAAc,CAAC,UAAkB,EAAA;AAC/B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB;QACnC,OAAO,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM;IAC3E;AAES,IAAA,YAAY,CAAC,kBAA8B,EAAA;QAClD,MAAM,OAAO,GAAiB,EAAE;QAChC,IAAI,IAAI,CAAC,GAAG;AAAE,YAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC,IAAI,IAAI,CAAC,EAAE;AAAE,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,IAAI,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAEnC,QAAA,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;QACzC,IAAI,cAAc,KAAK,CAAC;AAAE,YAAA,OAAO,EAAE;AAEnC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,cAAc,CAAC;QAChE,MAAM,GAAG,GAAgB,EAAE;AAE3B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,cAAc;YAC/B,IAAI,GAAG,GAAG,CAAC;YACX,MAAM,MAAM,GAAc,EAAE;AAE5B,YAAA,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE;gBACxB,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC7C,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC7C,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC7C,GAAG,IAAI,CAAC;AAER,gBAAA,IAAI,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC;gBAC/C,KAAK,IAAI,OAAO;gBAEhB,MAAM,CAAC,EAAE,CAAC,GAAG;AACX,oBAAA,GAAG,EAAE,KAAK;AACV,oBAAA,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;oBAC/B,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;iBACxC;YACH;AAEA,YAAA,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAClB;AAEA,QAAA,OAAO,GAAG;IACZ;AAES,IAAA,sBAAsB,CAAC,GAAe,EAAA;;;;AAI7C,QAAA,KAAK,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACvC;AACD;;AChGK,SAAU,uBAAuB,CAAC,OAAmB,EAAA;AACzD,IAAA,IAAI,OAAO,KAAK,WAAW,CAAC,IAAI;QAAE,OAAO,IAAI,GAAG,CAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACpF,IAAA,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;QACjC,OAAO,IAAI,GAAG,CAAa;AACzB,YAAA,WAAW,CAAC,GAAG;AACf,YAAA,WAAW,CAAC,cAAc;AAC1B,YAAA,WAAW,CAAC,QAAQ;AACrB,SAAA,CAAC;IACJ;AACA,IAAA,OAAO,IAAI,GAAG,CAAa,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AACjG;AAEM,SAAU,iBAAiB,CAAC,GAAqB,EAAA;IACrD,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB;AACH;AAEM,SAAU,uBAAuB,CACrC,OAA8B,EAC9B,GAAqB,EAAA;AAErB,IAAA,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QAC9B,OAAO,IAAI,KAAK,CACd,CAAA,+BAAA,EAAkC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,YAAA,EAAe,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAE,CACrG;IACH;IAEA,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,gBAAgB,EAAE;QAC7C,OAAO,IAAI,KAAK,CACd,CAAA,+BAAA,EAAkC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,aAAA,EAAgB,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAA,CAAG,CACpH;IACH;AAEA,IAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QAC9C,OAAO,IAAI,KAAK,CACd,CAAA,8BAAA,EAAiC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,gBAAA,EAAmB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAE,CACxG;IACH;AAEA,IAAA,OAAO,IAAI;AACb;;AC4BA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACG,MAAO,kBAAmB,SAAQ,iBAAiB,CAAA;IASvD,EAAE,CAAc,EAAU,EAAE,EAAqB,EAAA;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC;AACxD,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,GAAG,CAAC,EAA0B,CAAC;QACpD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAA0B,CAAC;IACvD;IAEA,GAAG,CAAC,EAAU,EAAE,EAA2B,EAAA;AACzC,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;IACjC;IAEA,IAAI,CAAC,EAAU,EAAE,IAAc,EAAA;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AAC7B,QAAA,IAAI,CAAC;YAAE,KAAK,MAAM,EAAE,IAAI,CAAC;gBAAE,EAAE,CAAC,IAAI,CAAC;IACrC;AAsCA,IAAA,WAAA,CAAY,OAA+B,EAAE,EAAA;QAC3C,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;;AAtDrB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,GAAG,EAAwC;;QAkBjE,IAAA,CAAA,cAAc,GAAkB,IAAI;QAC5C,IAAA,CAAA,MAAM,GAA2B,IAAI;QAC7B,IAAA,CAAA,MAAM,GAAqC,IAAI;QAC/C,IAAA,CAAA,OAAO,GAAsC,IAAI;QACzD,IAAA,CAAA,EAAE,GAA6C,IAAI;QACnD,IAAA,CAAA,EAAE,GAA6C,IAAI;QACnD,IAAA,CAAA,IAAI,GAAsB,IAAI;QACtB,IAAA,CAAA,YAAY,GAA2B,IAAI;QAC3C,IAAA,CAAA,aAAa,GAAmD,IAAI;QACpE,IAAA,CAAA,mBAAmB,GAAyB,IAAI;QAChD,IAAA,CAAA,mBAAmB,GAAwB,IAAI;;QAG/C,IAAA,CAAA,KAAK,GAAe,MAAM;AAC1B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;QAChC,IAAA,CAAA,QAAQ,GAAiC,IAAI;AAC7C,QAAA,IAAA,CAAA,YAAY,GAAkB,OAAO,CAAC,OAAO,EAAE;QAC/C,IAAA,CAAA,KAAK,GAAuB,IAAI;;QAUxC,IAAA,CAAA,iBAAiB,GAAsB,IAAI;QAC3C,IAAA,CAAA,gBAAgB,GAAsB,IAAI;;QAG1C,IAAA,CAAA,SAAS,GAAG,IAAI;QACR,IAAA,CAAA,YAAY,GAAG,CAAC;QAChB,IAAA,CAAA,iBAAiB,GAAG,CAAC;QAI3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,sBAAsB;QAC3E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI;QACjD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,KAAK;QAEpD,IAAI,CAAC,OAAO,GAAG;YACb,CAAC,EAAE,IAAI,SAAS,EAAE;YAClB,CAAC,EAAE,IAAI,cAAc,EAAE;YACvB,CAAC,EAAE,IAAI,aAAa,EAAE;YACtB,CAAC,EAAE,IAAI,SAAS,EAAE;SACnB;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAChE;IAEmB,IAAI,CAAC,GAAG,IAAe,EAAA;QACxC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC;IACrD;;AAGA,IAAA,IAAI,GAAG,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACxB;AACA,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACxB;AACA,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACxB;AACA,IAAA,IAAI,GAAG,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACxB;;;;AAMS,IAAA,MAAM,OAAO,CACpB,IAAA,GAII,EAAE,EAAA;QAEN,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE;AACjD,YAAA,IAAI;AACF,gBAAA,MAAM,IAAI,CAAC,UAAU,EAAE;YACzB;AAAE,YAAA,MAAM;;YAER;QACF;AAEA,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAE3B,QAAA,MAAM,WAAW,GAAyB;AACxC,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;AACtD,YAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,CAAC;SACzD;AAED,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AAEnF,QAAA,IAAI;YACF,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC3C,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,IAAI,CAAC,mBAAmB,CAAC;YACrF;QACF;AAAE,QAAA,MAAM;;QAER;AAEA,QAAA,IAAI,CAAC,mBAAmB,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM;AACnB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;YAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC5C,QAAA,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAEhF,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,OAAO,EAAE;AAC/C,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC;AAC/D,QAAA,IAAI,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC;AACtD,QAAA,IAAI,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC;AAEtD,QAAA,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE;QAClC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,CAAC,EAAS,KAAI;AACnE,YAAA,MAAM,EAAE,GAAI,EAAE,CAAC,MAAmD,EAAE,KAAK;AACzE,YAAA,IAAI,CAAC,EAAE;gBAAE;YACT,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;AAC3F,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC9B,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,WAAW,CAAC,CAAA,WAAA,EAAc,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,CAAA,CAAE,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AAEtE,QAAA,MAAM,IAAI,CAAC,8BAA8B,EAAE;AAC3C,QAAA,MAAM,IAAI,CAAC,sBAAsB,EAAE;AAEnC,QAAA,OAAO,IAAI;IACb;;AAGA,IAAA,MAAM,aAAa,CACjB,IAAA,GAQI,EAAE,EAAA;AAEN,QAAA,IAAI,EAAE,QAAQ,IAAI,SAAS,CAAC,EAAE;AAC5B,YAAA,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC;QAC5F;AAEA,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;AACjE,YAAA,MAAM,IAAI,CAAC,UAAU,EAAE;QACzB;aAAO,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE;AACxD,YAAA,MAAM,IAAI,CAAC,UAAU,EAAE;QACzB;AAEA,QAAA,IAAI,CAAC,cAAc,GAAG,QAAQ;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;QACnB,IAAI,CAAC,eAAe,EAAE;AAEtB,QAAA,MAAM,MAAM,GACV,SAGD,CAAC,MAAM;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;QAC5F;AACA,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAK;AAEtB,QAAA,MACE,IAAI,CAAC,IASN,CAAC,IAAI,CAAC;AACL,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM;AACjC,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;AAC5B,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;AAC5B,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM;AAC7B,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,MAAM;AACxC,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,EAAE;QACzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AAEnD,QAAA,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC1C,QAAA,MAAM,IAAI,CAAC,sBAAsB,EAAE;AACnC,QAAA,OAAO,IAAI;IACb;IAEQ,MAAM,YAAY,CAAC,EAAc,EAAA;AACvC,QAAA,MAAM,QAAQ,GAAI,IAAI,CAAC,IAA6D,CAAC,QAAQ;AAC7F,QAAA,IAAI,CAAC,QAAQ;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;AAC/C,QAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE;AACnC,QAAA,IAAI;AACF,YAAA,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB;gBAAU;YACR,MAAM,CAAC,WAAW,EAAE;QACtB;IACF;AAEQ,IAAA,oBAAoB,CAAC,MAAmB,EAAA;AAC9C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAK;AACvB,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,YAAW;YACrC,IAAI,MAAM,GAAmD,IAAI;AACjE,YAAA,IAAI;AACF,gBAAA,MAAM,QAAQ,GAAI,IAA6D,CAAC,QAAQ;AACxF,gBAAA,IAAI,CAAC,QAAQ;oBAAE;AACf,gBAAA,MAAM,GAAG,QAAQ,CAAC,SAAS,EAA6C;AACxE,gBAAA,IAAI,CAAC,aAAa,GAAG,MAAM;AAE3B,gBAAA,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;oBACtB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE;AAC3C,oBAAA,IAAI,IAAI;wBAAE;oBACV,IAAI,KAAK,EAAE,MAAM;wBAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;gBACjE;YACF;YAAE,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,OAAO;AAAE,oBAAA,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;YACnE;oBAAU;AACR,gBAAA,IAAI;AACF,oBAAA,MAAM,EAAE,WAAW,IAAI;gBACzB;AAAE,gBAAA,MAAM;;gBAER;AACA,gBAAA,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM;AAAE,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAC5D,gBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;AAC/B,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACnB,oBAAA,IAAI,CAAC,KAAK,GAAG,MAAM;oBACnB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAC/C;YACF;QACF,CAAC,GAAG;IACN;AAEQ,IAAA,MAAM,iBAAiB,CAAC,MAAM,GAAG,MAAM,EAAA;AAC7C,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE;QAC5B;AAAE,QAAA,MAAM;;QAER;AAEA,QAAA,MAAM,kBAAkB,GAAG,YAA6B;AACtD,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa;AAC5B,YAAA,IAAI,CAAC,CAAC;AAAE,gBAAA,OAAO,KAAK;AACpB,YAAA,IAAI;AACF,gBAAA,MAAM,CAAC,CAAC,MAAM,EAAE;YAClB;AAAE,YAAA,MAAM;;YAER;AACA,YAAA,IAAI;gBACF,CAAC,CAAC,WAAW,EAAE;YACjB;AAAE,YAAA,MAAM;;YAER;AACA,YAAA,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC;AAAE,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AACvD,YAAA,OAAO,IAAI;AACb,QAAA,CAAC;QAED,MAAM,kBAAkB,EAAE;AAE1B,QAAA,MAAM,kBAAkB,GAAI,IAAI,CAAC;cAC7B,QAAQ,EAAE,MAAM;AACpB,QAAA,IAAI,kBAAkB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AAC7C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AAC3B,gBAAA,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjD,IAAI,MAAM,kBAAkB,EAAE;oBAAE;YAClC;QACF;AAEA,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB;AACrC,YAAA,IAAI,IAAI;gBAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,CAAO,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACpF;AAAE,QAAA,MAAM;;QAER;AAEA,QAAA,IAAI;AACF,YAAA,MAAM,QAAQ,GACZ,IAAI,CAAC,IAGN,EAAE,QAAQ;AACX,YAAA,IAAI,QAAQ,EAAE,MAAM,EAAE;AACpB,gBAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE;AAC9B,gBAAA,IAAI;AACF,oBAAA,MAAO,CAAmC,CAAC,KAAK,IAAI;gBACtD;AAAE,gBAAA,MAAM;;gBAER;AACA,gBAAA,IAAI;oBACF,CAAC,CAAC,WAAW,EAAE;gBACjB;AAAE,gBAAA,MAAM;;gBAER;YACF;QACF;AAAE,QAAA,MAAM;;QAER;AAEA,QAAA,IAAI;AACF,YAAA,MAAO,IAAI,CAAC,IAA8C,EAAE,KAAK,IAAI;QACvE;AAAE,QAAA,MAAM;;QAER;AAEA,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AACzB,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;AAE/B,QAAA,OAAO,CAAC,IAAI,CAAC,mCAAmC,MAAM,CAAA,CAAE,CAAC;IAC3D;AAES,IAAA,MAAM,UAAU,CAAC,IAAA,GAA4B,EAAE,EAAA;AACtD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,KAAK,QAAQ,GAAG,QAAQ,GAAG,KAAK;AAEhE,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAC9B,YAAA,IAAI;AACF,gBAAA,MAAM,IAAI,CAAC,aAAa,EAAE;YAC5B;AAAE,YAAA,MAAM;;YAER;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI;AACF,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC;YAC3D;AAAE,YAAA,MAAM;;YAER;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;AACpC,YAAA,IAAI;gBACF,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;YACrD;AAAE,YAAA,MAAM;;YAER;QACF;aAAO;AACL,YAAA,KAAK,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE;AACpF,gBAAA,YAAY,EAAE,KAAK;AACpB,aAAA,CAAC;AACF,YAAA,IAAI;gBACF,IAAI,IAAI,CAAC,EAAE;AAAE,oBAAA,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,IAAI;YAClD;AAAE,YAAA,MAAM;;YAER;AACA,YAAA,IAAI;gBACF,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,EAAE;oBAC3C,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,IAAI,CAAC,mBAAmB,CAAC;gBACrF;YACF;AAAE,YAAA,MAAM;;YAER;AACA,YAAA,IAAI;AACF,gBAAA,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS;AAAE,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;YACjE;AAAE,YAAA,MAAM;;YAER;QACF;AAEA,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;AACnB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC1B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QACxB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI;QAE/C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;AACnC,QAAA,OAAO,IAAI;IACb;;;;AAMS,IAAA,MAAM,cAAc,GAAA;AAC3B,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACjC,QAAA,IAAI,CAAC,KAAK,GAAG,WAAW;QACxB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtC;AAES,IAAA,MAAM,aAAa,GAAA;AAC1B,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAClC,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvC;;;;AAMA,IAAA,MAAM,kBAAkB,CACtB,IAAA,GAAkC,EAAE,EAAA;QAEpC,MAAM,EACJ,UAAU,GAAG,IAAI,EACjB,SAAS,GAAG,IAAI,EAChB,OAAO,GAAG,CAAC,EACX,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,IAAI,GAClB,GAAG,IAAI;AAER,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;AACpC,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI;AACzB,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;AACtD,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC;AAC3F,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC;QAE3E,IAAI,QAAQ,GAAwC,IAAI;QACxD,MAAM,MAAM,GAAiB,EAAE;AAE/B,QAAA,IAAI,UAAU;AAAE,YAAA,QAAQ,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE;AAE5D,QAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;QACrB,IAAI,CAAC,eAAe,EAAE;AACtB,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE;AACrC,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC;AACrB,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC;AAE1B,QAAA,MAAM,IAAI,GAAgB;AACxB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,YAAY,EAAE,CAAC;YACf,OAAO;YACP,UAAU;AACV,YAAA,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;YACpB,SAAS;AACT,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,OAAO,EAAE,IAAK;AACd,YAAA,MAAM,EAAE,IAAK;AACb,YAAA,KAAK,EAAE,IAAI;YACX,QAAQ;YACR,MAAM;YACN,UAAU,EAAE,UAAU,IAAI,IAAI;SAC/B;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;QAEjB,MAAM,WAAW,GAAG,IAAI,OAAO,CAAwC,CAAC,OAAO,EAAE,MAAM,KAAI;AACzF,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACtB,QAAA,CAAC,CAAC;QAEF,IAAI,eAAe,GAAG,KAAK;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,WAAW,CACtB,YAAW;AACT,YAAA,IAAI,eAAe;gBAAE;YACrB,eAAe,GAAG,IAAI;AACtB,YAAA,IAAI;AACF,gBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS;oBAAE;AAC5B,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ;AAC5C,gBAAA,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS;oBAAE;AAEhC,gBAAA,IAAI;oBACF,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE;AACnC,wBAAA,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;AACvE,4BAAA,YAAY,EAAE,IAAI;AACnB,yBAAA,CAAC;oBACJ;yBAAO;AACL,wBAAA,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;AACxC,wBAAA,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;AAChF,wBAAA,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;AACtB,wBAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM;wBAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;AAC5C,4BAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC;oBAC7C;oBACA,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;gBAClC;gBAAE,OAAO,CAAC,EAAE;oBACV,IAAI,CAAC,UAAU,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE;YACF;oBAAU;gBACR,eAAe,GAAG,KAAK;YACzB;AACF,QAAA,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CACzC;AAED,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;AACvE,gBAAA,YAAY,EAAE,IAAI;AACnB,aAAA,CAAC;AACF,YAAA,MAAM,MAAM,GAAG,MAAM,WAAW;YAChC,OAAO,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAE9C,IAAI,CAAC,UAAU,EAAE;AACf,gBAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;AACtF,gBAAA,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE;YAC5B;AAEA,YAAA,OAAO,MAAM;QACf;gBAAU;AACR,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,gBAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AACzB,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI;YACnB;AAEA,YAAA,IAAI,QAAQ;AAAE,gBAAA,MAAM,QAAQ,CAAC,KAAK,EAAE;QACtC;IACF;;;;AAMA,IAAA,MAAM,UAAU,CACd,KAA4B,EAC5B,OAAmC,EAAE,EAAA;AAErC,QAAA,MAAM,EAAE,GAAG,KAAK,YAAY,UAAU,GAAG,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC;AAEtE,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;AACpC,YAAA,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3B;QACF;QAEA,IAAI,CAAC,IAAI,CAAC,EAAE;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;AAE9C,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC3C;QACF;AAEA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,EAElB;AACD,QAAA,IAAI,KAAK,CAAC,yBAAyB,EAAE;YACnC,MAAM,KAAK,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC1D;aAAO;YACL,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC7C;IACF;AAEQ,IAAA,MAAM,iBAAiB,CAC7B,OAAmB,EACnB,QAAqB,EACrB,YAAA,GAAsC,EAAE,EACxC,SAAS,GAAG,IAAI,EAChB,gBAA0C,EAAA;QAE1C,IAAI,IAAI,CAAC,QAAQ;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;AAClE,QAAA,IAAI,CAAC,KAAK,GAAG,SAAS;QACtB,IAAI,CAAC,eAAe,EAAE;QAEtB,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC;QACzD,MAAM,QAAQ,GAAG,gBAAgB,IAAI,uBAAuB,CAAC,OAAO,CAAC;QAErE,MAAM,cAAc,GAAG,IAAI,OAAO,CAA2B,CAAC,OAAO,EAAE,MAAM,KAAI;AAC/E,YAAA,MAAM,CAAC,GAAG,UAAU,CAAC,MAAK;AACxB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACtC,CAAC,EAAE,SAAS,CAAC;YAEb,IAAI,CAAC,QAAQ,GAAG;AACd,gBAAA,gBAAgB,EAAE,QAAQ;AAC1B,gBAAA,gBAAgB,EAAE,QAAQ;AAC1B,gBAAA,OAAO,EAAE,CAAC,IAAI,KAAI;oBAChB,YAAY,CAAC,CAAC,CAAC;AACf,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;oBACpB,OAAO,CAAC,IAAI,CAAC;gBACf,CAAC;AACD,gBAAA,MAAM,EAAE,CAAC,CAAC,KAAI;oBACZ,YAAY,CAAC,CAAC,CAAC;AACf,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;oBACpB,MAAM,CAAC,CAAC,CAAC;gBACX,CAAC;aACF;AACH,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AAC1B,QAAA,OAAO,cAAc;IACvB;AAEA,IAAA,MAAM,YAAY,CAAC,QAAqB,EAAE,SAAS,GAAG,IAAI,EAAA;AACxD,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC;IAC1E;IAEA,MAAM,aAAa,CACjB,QAAqB,EACrB,eAAsC,EAAE,EACxC,SAAS,GAAG,IAAI,EAAA;AAEhB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC;IACrF;IAEA,MAAM,OAAO,CACX,MAAc,EACd,eAAsC,EAAE,EACxC,SAAS,GAAG,IAAI,EAAA;AAEhB,QAAA,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;AACxD,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC;AACpF,QAAA,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;IACjC;;IAGA,UAAU,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC;IAC9D;AAEA,IAAA,MAAM,gBAAgB,GAAA;QACpB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE;AAC3C,QAAA,OAAO,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC;IAC/C;IAEA,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC;IAC9D;AAEA,IAAA,MAAM,iBAAiB,GAAA;QACrB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;AAC5C,QAAA,OAAO,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC;IAC/C;IAEA,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;IAC3D;IACA,oBAAoB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,wBAAwB,CAAC;IAC/E;IACA,qBAAqB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,yBAAyB,CAAC;IAChF;IACA,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;IAC3D;AAEA,IAAA,MAAM,mBAAmB,GAAA;QACvB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;AACzC,QAAA,OAAO,wBAAwB,CAAC,OAAO,CAAC;IAC1C;IACA,iBAAiB,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,cAAc,CAAC;IACrE;AAEA,IAAA,MAAM,uBAAuB,GAAA;QAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE;AAClD,QAAA,OAAO,kBAAkB,CAAC,OAAO,CAAC;IACpC;IAEA,MAAM,qBAAqB,CAAC,KAA4B,EAAA;QACtD,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,YAAY,UAAU,GAAG,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;AACjG,QAAA,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;AAC1D,YAAA,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC;QAC1F;QACA,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC1E;IAEA,MAAM,sBAAsB,CAAC,KAA4B,EAAA;QACvD,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,YAAY,UAAU,GAAG,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QACjG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;AACnC,YAAA,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC;QACrF;QACA,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,yBAAyB,EAAE,OAAO,CAAC;IAC3E;IAEA,MAAM,SAAS,CAAC,IAA2B,EAAA;QACzC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,YAAY,UAAU,GAAG,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9F,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,YAAA,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC;QAC/D;QACA,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;IACtD;IAEA,MAAM,oBAAoB,CAAC,WAAmB,EAAA;QAC5C,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC7D;AAEA,IAAA,MAAM,YAAY,GAAA;QAChB,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;IACrD;IAEA,MAAM,WAAW,CAAC,WAAkC,EAAA;QAClD,MAAM,OAAO,GAAG,oBAAoB,CAClC,WAAW,YAAY,UAAU,GAAG,WAAW,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAC9E;QACD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,YAAA,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC;QACjF;QACA,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC;IAC3D;AAEA,IAAA,MAAM,eAAe,CAAC,MAAkB,EAAE,OAAe,EAAE,OAAO,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAA;AACpF,QAAA,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC;AAC7B,YAAA,MAAM,GAAG,IAAI;AACb,YAAA,OAAO,GAAG,IAAI;AACd,YAAA,OAAO,GAAG,IAAI;AACd,YAAA,UAAU,GAAG,IAAI;AACjB,YAAA,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI;AACzB,SAAA,CAAC;AACF,QAAA,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IACjC;AAEQ,IAAA,kBAAkB,CACxB,OAAuB,EACvB,IAAA,GAA8B,EAAE,EAAA;AAEhC,QAAA,MAAM,QAAQ,GAAG,IAAI,YAAY,UAAU,GAAG,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;AACnD,QAAA,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI;AAC3B,QAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxB,QAAA,OAAO,OAAO;IAChB;AAEA,IAAA,MAAM,gBAAgB,CACpB,OAAuB,EACvB,OAA8B,EAAE,EAAA;QAEhC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACtC,WAAW,CAAC,IAAI,EAChB,YAAY,CAAC,aAAa,EAC1B,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CACvC;AACD,QAAA,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;IACjC;AAEA,IAAA,MAAM,gBAAgB,CACpB,OAAuB,EACvB,OAA8B,EAAE,EAAA;QAEhC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACtC,WAAW,CAAC,KAAK,EACjB,YAAY,CAAC,aAAa,EAC1B,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CACvC;AACD,QAAA,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;IACjC;AAEA,IAAA,MAAM,oBAAoB,CAAC,KAAK,GAAG,CAAC,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACxF;AAEA,IAAA,MAAM,2BAA2B,CAAC,KAAK,GAAG,CAAC,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACnF;AAEA,IAAA,MAAM,iCAAiC,CAAC,KAAK,GAAG,CAAC,EAAA;QAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC;AACjE,QAAA,OAAO,0BAA0B,CAAC,OAAO,CAAC;IAC5C;AAEA,IAAA,MAAM,mBAAmB,CAAC,KAAK,GAAG,CAAC,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACvF;AAEA,IAAA,MAAM,qBAAqB,CAAC,KAAK,GAAG,CAAC,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACzF;AAEA,IAAA,MAAM,2BAA2B,CAAC,KAAK,GAAG,CAAC,EAAA;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;AAC3D,QAAA,OAAO,+BAA+B,CAAC,OAAO,CAAC;IACjD;AAEA,IAAA,MAAM,YAAY,CAAC,KAAK,GAAG,CAAC,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC/E;AAEA,IAAA,MAAM,kBAAkB,CAAC,KAAK,GAAG,CAAC,EAAA;QAChC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AAClD,QAAA,OAAO,oBAAoB,CAAC,OAAO,CAAC;IACtC;AAEA,IAAA,MAAM,uBAAuB,CAAC,KAAK,GAAG,CAAC,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC3F;AAEA,IAAA,MAAM,6BAA6B,CAAC,KAAK,GAAG,CAAC,EAAA;QAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;AAC7D,QAAA,OAAO,+BAA+B,CAAC,OAAO,CAAC;IACjD;AAEA,IAAA,MAAM,sBAAsB,GAAA;QAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,wBAAwB,CAAC;IACxE;AAEA,IAAA,MAAM,qBAAqB,GAAA;QACzB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,uBAAuB,CAAC;IACvE;AAEA,IAAA,MAAM,kBAAkB,GAAA;QACtB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;IACpE;AAEA,IAAA,MAAM,kBAAkB,GAAA;QACtB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,4BAA4B,CAAC;IAC5E;IAEA,MAAM,oBAAoB,CAAC,SAAiB,EAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AACpE,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,uBAAuB,EAAE;AACpE,YAAA,OAAO,GAAG,IAAI;AACd,YAAA,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI;AACtB,SAAA,CAAC;IACJ;IAEA,MAAM,OAAO,CAAC,QAAgB,EAAA;AAC5B,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC3E;IAEA,MAAM,eAAe,CAAC,KAAc,EAAA;QAClC,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACxF;AAEA,IAAA,MAAM,sBAAsB,GAAA;QAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;IACnE;AAEA,IAAA,MAAM,kBAAkB,GAAA;QACtB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,YAAY,CAAC;IAC5D;AAEA,IAAA,MAAM,2BAA2B,CAAC,SAAiB,EAAE,eAAuB,EAAA;QAC1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7E,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;AACvF,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,yBAAyB,EAAE;AACtE,YAAA,gBAAgB,GAAG,IAAI;AACvB,YAAA,CAAC,gBAAgB,IAAI,CAAC,IAAI,IAAI;AAC9B,YAAA,oBAAoB,GAAG,IAAI;AAC3B,YAAA,CAAC,oBAAoB,IAAI,CAAC,IAAI,IAAI;AACnC,SAAA,CAAC;IACJ;AAEA,IAAA,MAAM,cAAc,GAAA;QAClB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;IAChE;IAEA,MAAM,gBAAgB,CAAC,OAAgB,EAAA;QACrC,MAAM,IAAI,CAAC,aAAa,CACtB,YAAY,CAAC,WAAW,EACxB,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,EACpD,IAAI,CACL;IACH;AAEA,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,GAAG,YAAY,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,CAAC;QACzF;QAAE,OAAO,CAAC,EAAE;AACV,YAAA,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;AACtD,YAAA,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;AAC/D,YAAA,MAAM,CAAC;QACT;IACF;;;;AAMA,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,MAAM;AAAE,YAAA,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC;AACjF,QAAA,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC;IACxF;AAEA,IAAA,MAAM,8BAA8B,GAAA;AAClC,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE;QAC7C,MAAM,IAAI,GAAG,0BAA0B,CAAC,GAAG,EAAE,OAAO,CAAC;QACrD,IAAI,CAAC,IAAI,EAAE,MAAM;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;AAEpF,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAC5B,QAAA,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,CAAC;AACjD,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;AACrC,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,MAAM,sBAAsB,GAAA;AAC1B,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE;QAC9C,MAAM,EAAE,GAAG,0BAA0B,CAAC,GAAG,EAAE,OAAO,CAAC;QACnD,IAAI,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI;AAC/B,YAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;AAEpE,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;AAE3B,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;AACtC,YAAA,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;AAC1C,YAAA,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACrC;QAAE,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC;QACrD;QAEA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC;AAC7B,QAAA,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;IAC3B;IAEA,MAAM,aAAa,CAAC,aAAoC,EAAA;QACtD,MAAM,EAAE,GAAG,0BAA0B,CACnC,aAAa,YAAY,UAAU,GAAG,aAAa,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,CACpF;AACD,QAAA,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC;AAC5E,QAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC;AAEnF,QAAA,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;AACrC,QAAA,MAAM,IAAI,CAAC,sBAAsB,EAAE;IACrC;AAEA,IAAA,SAAS,CAAC,IAAqB,EAAA;QAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;AAC1C,QAAA,IAAI,CAAC,CAAC;AAAE,YAAA,OAAO,IAAI;AACnB,QAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,MAAM;QACnF,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG;YAC/E,OAAO,IAAI,CAAC,UAAU;QACxB,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzF,OAAO,IAAI,CAAC,GAAG;QACjB,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,GAAG;QACnD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,GAAG;AACnD,QAAA,OAAO,IAAI;IACb;;;;AAMQ,IAAA,UAAU,CAAC,GAAU,EAAA;AAC3B,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;AACpB,QAAA,IAAI,CAAC,CAAC;YAAE;AACR,QAAA,CAAC,CAAC,SAAS,GAAG,KAAK;QACnB,IAAI,CAAC,CAAC,KAAK;AAAE,YAAA,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;AACnC,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;AACnB,QAAA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACf;IAEQ,WAAW,GAAA;AACjB,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;AACpB,QAAA,IAAI,CAAC,CAAC;YAAE;AACR,QAAA,CAAC,CAAC,SAAS,GAAG,KAAK;QACnB,IAAI,CAAC,CAAC,KAAK;AAAE,YAAA,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;AACnC,QAAA,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY;AACnC,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;QACnB,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACvC;IAEQ,MAAM,oBAAoB,CAAC,SAAqB,EAAA;QACtD,IAAI,CAAC,iBAAiB,EAAE;AACxB,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;AACpB,QAAA,IAAI,CAAC,CAAC;YAAE;AAER,QAAA,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC;AAChD,QAAA,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC;AAC5C,QAAA,MAAM,KAAK,GAAG,QAAQ,KAAK,QAAQ;QACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,CAAC,CAAC,SAAS,GAAG,MAAM;YACpB,CAAC,CAAC,YAAY,EAAE;AAChB,YAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;AACpC,YAAA,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;AAChF,YAAA,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACvF,YAAA,CAAC,CAAC,UAAU,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC5E;QACF;AAEA,QAAA,IAAI,CAAC,CAAC,QAAQ,EAAE;YACd,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAClD;aAAO;YACL,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1C;AAEA,QAAA,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC,MAAM;AAElC,QAAA,CAAC,CAAC,SAAS,GAAG,KAAK;AACnB,QAAA,CAAC,CAAC,SAAS,GAAG,CAAC;AACf,QAAA,CAAC,CAAC,YAAY,GAAG,CAAC;AAClB,QAAA,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;AACjF,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC;AACF,QAAA,CAAC,CAAC,UAAU,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC7E;IAEQ,eAAe,GAAA;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;IACvC;AAEQ,IAAA,gBAAgB,CAAC,KAAiB,EAAA;AACxC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACtE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AAC3C,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM;IAC5B;IAEQ,mBAAmB,CAAC,MAAM,GAAG,EAAE,EAAA;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,CAAC;IAC3E;AAEQ,IAAA,sBAAsB,CAAC,GAAqB,EAAA;AAClD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;AAC7B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;AAAE,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM;QAEjD,IAAI,OAAO,EAAE;YACX,MAAM,GAAG,GAAG,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC;AACjD,YAAA,IAAI,GAAG;AAAE,gBAAA,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;;gBACvB,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC9C;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,OAAO,EAAE,GAAG,CAAC,OAAO;AACrB,SAAA,CAAC;IACJ;AAEQ,IAAA,gBAAgB,CAAC,KAAiB,EAAA;QACxC,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;AAE3E,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAE5B,QAAA,SAAS;AACP,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBAAE;YAElC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAEtE,YAAA,IAAI,GAAG,KAAK,CAAC,EAAE;AACb,gBAAA,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI;AACzB,gBAAA,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;AACzC,gBAAA,MAAM,GAAG,GAAqB;oBAC5B,MAAM;oBACN,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,QAAQ,EAAE,aAAa,CAAC,QAAQ;AAChC,oBAAA,aAAa,EAAE,CAAC;AAChB,oBAAA,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC;iBAC3B;gBACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,KAAK,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;oBACtF,IAAI,IAAI,CAAC,SAAS;AAAE,wBAAA,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC;oBAClE,IAAI,CAAC,WAAW,EAAE;oBAClB;gBACF;AAEA,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC5B,oBAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;gBAClC;gBACA;YACF;YAEA,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG;gBAAE;AAExC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AACnD,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;AACpD,YAAA,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI;AACzB,YAAA,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;AACzC,YAAA,MAAM,GAAG,GAAqB;gBAC5B,MAAM;gBACN,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,aAAa,EAAE,OAAO,CAAC,MAAM;gBAC7B,OAAO;aACR;AAED,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;AAC3B,gBAAA,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE;AACxD,qBAAA,IAAI,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;AACjD,qBAAA,KAAK,CAAC,CAAC,CAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1C;YACF;AAEA,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAC9B,gBAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC;gBACzC;YACF;AAEA,YAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;QAClC;IACF;AAEQ,IAAA,uBAAuB,CAAC,OAAmB,EAAA;AACjD,QAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE;QAExB,IAAI,IAAI,GAAG,OAAO;QAClB,IAAI,KAAK,GAAmB,IAAI;QAEhC,IAAI,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9C,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACxF,YAAA,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AAEtD,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,gBAAA,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC;AACzC,gBAAA,KAAK,GAAG,IAAI,KAAK,OAAO;YAC1B;YAEA,IAAI,GAAG,SAAS;YAEhB,IAAI,IAAI,CAAC,eAAe,IAAI,KAAK,KAAK,KAAK,EAAE;AAC3C,gBAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC1D;QACF;AAEA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAEnC,MAAM,MAAM,GAAI,IAAI,CAAC,OAA6D,CAAC,QAAQ,CAAC;AAC5F,QAAA,MAAM,wBAAwB,GAAG,SAAS,EAAE;QAE5C,IAAI,MAAM,GAAoE,IAAI;AAClF,QAAA,IAAI,MAAM;YAAE,MAAM,GAAG,MAAM,CAAC,2BAA2B,CAAC,IAAI,EAAE,wBAAwB,CAAC;QAEvF,IAAI,cAAc,GAAqB,IAAI;AAC3C,QAAA,IAAI,MAAM;AAAE,YAAA,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;QAE/D,IAAI,eAAe,GAAG,cAAc;AACpC,QAAA,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE;AAClF,YAAA,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM;AACjC,YAAA,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM;AAC9C,gBAAA,GAAI,CAAY;AAChB,gBAAA,UAAU,EAAE,MAAM,CAAC,sBAAsB,CAAC;AACxC,oBAAA,UAAU,EAAE,GAAG;oBACf,CAAC;oBACD,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,kBAAkB,EAAE,MAAO,CAAC,aAAa;oBACzC,wBAAwB;oBACxB,qBAAqB,EAAE,MAAO,CAAC,qBAAqB;iBACrD,CAAC;AACH,aAAA,CAAC,CAAC;QACL;AAEA,QAAA,MAAM,MAAM,GAAiB;YAC3B,QAAQ;AACR,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,OAAO,EAAE,eAAe;AACxB,YAAA,UAAU,EAAE,aAAa;YACzB,KAAK;SACN;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;AACjC,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAC3B;;AA5oCA;AACgB,kBAAA,CAAA,WAAW,GAAG,WAAH;AACX,kBAAA,CAAA,MAAM,GAAG,MAAH;AACN,kBAAA,CAAA,MAAM,GAAG,MAAH;;;;"} \ No newline at end of file +{"version":3,"file":"shimmer-web-sdk.esm.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file diff --git a/shimmer-extension/vendor/shimmer-web-sdk.umd.js b/shimmer-extension/vendor/shimmer-web-sdk.umd.js index 174c53e..e4478b8 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.umd.js +++ b/shimmer-extension/vendor/shimmer-web-sdk.umd.js @@ -1710,6 +1710,12 @@ : ((response[21] | (response[22] << 8) | (response[23] << 16)) >>> 0); const memoryCapacityKb = hasExtendedCapacity ? u32le_at(response, 60) : null; const memoryUsedKb = memoryCapacityKb == null ? null : Math.max(0, memoryCapacityKb - memoryFreeKb); + // Bank breakdown: FULL=syncable data, 2DEL=partially-deleted, BAD=unusable flash. + // Present in payloads >= 57 bytes (tick-capable extended format). + const hasBankData = response.length >= 57; + const memoryFullBanksKb = hasBankData ? u32le_at(response, 45) : null; + const memoryTwoDelBanksKb = hasBankData ? u32le_at(response, 49) : null; + const memoryBadBanksKb = hasBankData ? u32le_at(response, 53) : null; const batteryFallCounter = response.length >= 26 ? u16le_at(response, 24) : null; let statusFlags = null; if (response.length >= 34) { @@ -1736,6 +1742,9 @@ memoryFreeKb, memoryCapacityKb, memoryUsedKb, + memoryFullBanksKb, + memoryTwoDelBanksKb, + memoryBadBanksKb, statusFlags, batteryFallCounter, }; @@ -2732,7 +2741,14 @@ if (isNackCommand(msg.command)) { return new Error(`Device returned NACK command=0x${msg.command.toString(16)} property=0x${msg.property.toString(16)}`); } - if (msg.property !== pending.expectedProperty) { + if (pending.acceptedProperties?.size) { + if (!pending.acceptedProperties.has(msg.property)) { + return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected one of ${Array.from(pending.acceptedProperties) + .map((p) => `0x${p.toString(16)}`) + .join(', ')})`); + } + } + else if (msg.property !== pending.expectedProperty) { return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected 0x${pending.expectedProperty.toString(16)})`); } if (!pending.acceptedCommands.has(msg.command)) { @@ -3151,6 +3167,7 @@ const sync = { receiving: true, lastReply: 'NONE', + emptyAckCount: 0, nackCount: 0, nackCrcCount: 0, maxNack, @@ -3249,7 +3266,7 @@ await this.tx.writeValue(toArrayBuffer(u8)); } } - async _requestByCommand(command, property, payloadBytes = [], timeoutMs = 3000, acceptedCommands) { + async _requestByCommand(command, property, payloadBytes = [], timeoutMs = 3000, acceptedCommands, acceptedProperties) { if (this._pending) throw new Error('A request is already pending'); this._mode = 'command'; @@ -3264,6 +3281,7 @@ this._pending = { expectedProperty: property, acceptedCommands: accepted, + acceptedProperties, resolve: (resp) => { clearTimeout(t); this._pending = null; @@ -3379,43 +3397,101 @@ payload.set(argBytes, 1); return payload; } - async readDebugCommand(debugId, args = []) { - const rsp = await this._requestByCommand(ASM_COMMAND.READ, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args)); - return { payload: rsp.payload }; + _debugIndexArgs(index) { + const i = Math.max(0, Math.min(0xff, Math.trunc(index))); + return i > 0 ? [i] : []; } - async sendDebugCommand(debugId, args = []) { - const rsp = await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args)); + _waitForDebugResponse(timeoutMs = 3000) { + return new Promise((resolve, reject) => { + let done = false; + let off = null; + let timer = null; + const cleanup = () => { + if (off) { + try { + off(); + } + catch { + /* ignore */ + } + off = null; + } + if (timer) { + clearTimeout(timer); + timer = null; + } + }; + off = this.on('commandPayload', (evt) => { + if (done || !evt) + return; + if (evt.command !== ASM_COMMAND.RESPONSE || evt.property !== ASM_PROPERTY.DEBUG_COMMAND) + return; + done = true; + cleanup(); + resolve({ payload: evt.payload ?? new Uint8Array(0) }); + }); + timer = setTimeout(() => { + if (done) + return; + done = true; + cleanup(); + reject(new Error('Debug response timeout')); + }, timeoutMs); + }); + } + async readDebugCommand(debugId, args = [], timeoutMs = 3000) { + const payload = this._buildDebugPayload(debugId, args); + const debugAcceptedProps = new Set([ASM_PROPERTY.DEBUG_COMMAND, 0]); + // Python flow: WRITE DEBUG command, optional empty/transient frame, then RESPONSE DEBUG payload. + const responsePromise = this._waitForDebugResponse(timeoutMs); + try { + await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, payload, timeoutMs, undefined, debugAcceptedProps); + return await responsePromise; + } + catch (e) { + void responsePromise.catch(() => { }); + const msg = e instanceof Error ? e.message : String(e); + const isDebugNack = /NACK command=0x(?:50|60|70) property=0x9/i.test(msg); + const isDebugAckPropertyZero = /Unexpected response property 0x0 \(expected 0x9\)/i.test(msg); + if (!isDebugNack && !isDebugAckPropertyZero) + throw e; + const rsp = await this._requestByCommand(ASM_COMMAND.READ, ASM_PROPERTY.DEBUG_COMMAND, payload, timeoutMs); + return { payload: rsp.payload }; + } + } + async sendDebugCommand(debugId, args = [], timeoutMs = 3000) { + const rsp = await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args), timeoutMs); return { payload: rsp.payload }; } - async readFlashLookupTable(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.FLASH_LOOKUP_TABLE_READ, [index & 0xff]); + async readFlashLookupTable(index = 0, timeoutMs = 12000) { + return this.readDebugCommand(DEBUG_COMMAND_ID.FLASH_LOOKUP_TABLE_READ, this._debugIndexArgs(index), timeoutMs); } async readRealWorldClockScheduler(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.RWC_SCHEDULER_READ, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.RWC_SCHEDULER_READ, this._debugIndexArgs(index)); } async readRealWorldClockSchedulerParsed(index = 0) { const { payload } = await this.readRealWorldClockScheduler(index); return parseSchedulerDebugPayload(payload); } async loadTestLookupTable(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.LOAD_TEST_LOOKUP_TABLE, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.LOAD_TEST_LOOKUP_TABLE, this._debugIndexArgs(index)); } async checkPayloadCrcErrors(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.CHECK_PAYLOAD_CRC_ERRORS, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.CHECK_PAYLOAD_CRC_ERRORS, this._debugIndexArgs(index)); } async checkPayloadCrcErrorsParsed(index = 0) { const { payload } = await this.checkPayloadCrcErrors(index); return parsePayloadCrcErrorBankIndexes(payload); } async readEventLog(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.READ_EVENT_LOG, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_EVENT_LOG, this._debugIndexArgs(index)); } async readEventLogParsed(index = 0) { const { payload } = await this.readEventLog(index); return parseEventLogPayload(payload); } async readRecordBufferDetails(index = 0) { - return this.readDebugCommand(DEBUG_COMMAND_ID.READ_RECORD_BUFFER_DETAILS, [index & 0xff]); + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_RECORD_BUFFER_DETAILS, this._debugIndexArgs(index)); } async readRecordBufferDetailsParsed(index = 0) { const { payload } = await this.readRecordBufferDetails(index); @@ -3430,8 +3506,8 @@ async clearPendingEvents() { await this.sendDebugCommand(DEBUG_COMMAND_ID.CLEAR_PENDING_EVENTS); } - async eraseAllLoggedData() { - await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_FLASH_AND_LOOKUP_TABLE); + async eraseAllLoggedData(timeoutMs = 12000) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_FLASH_AND_LOOKUP_TABLE, [], timeoutMs); } async testDataTransferLoop(loopCount) { const clamped = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); @@ -3592,6 +3668,7 @@ s.chunks.push(new Uint8Array(payloadU8)); } s.bytesWritten += payloadU8.length; + s.emptyAckCount = 0; s.lastReply = 'ACK'; s.nackCount = 0; s.nackCrcCount = 0; @@ -3615,17 +3692,59 @@ if (this.debugSync) console.warn('[sync] cleared RX buffers', { reason }); } + _isPlausibleHeaderByte(hdr) { + const command = hdr & 0xf0; + const property = hdr & 0x0f; + const validCommand = command === ASM_COMMAND.READ || + command === ASM_COMMAND.WRITE || + command === ASM_COMMAND.RESPONSE || + command === ASM_COMMAND.ACK || + command === ASM_COMMAND.NACK_BAD_HEADER_COMMAND || + command === ASM_COMMAND.NACK_BAD_HEADER_PROPERTY || + command === ASM_COMMAND.NACK_GENERIC || + command === ASM_COMMAND.ACK_NEXT_STAGE; + if (!validCommand) + return false; + // Known properties are 0x01..0x0C; keep 0x00 permissive for transient frames. + return property === 0 || (property >= ASM_PROPERTY.STATUS1 && property <= ASM_PROPERTY.STATUS2); + } + _isPlausibleFrameStart(hdr, len) { + if (!this._isPlausibleHeaderByte(hdr)) + return false; + // Debug responses may carry large blobs (for example flash lookup tables), + // while normal properties and streaming/logged payloads should stay bounded. + const isPendingDebugCommand = this._mode === 'command' && this._pending?.expectedProperty === ASM_PROPERTY.DEBUG_COMMAND; + const maxLen = isPendingDebugCommand + ? VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN + : VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN; + return len <= maxLen; + } _resolvePendingCommand(msg) { const pending = this._pending; - this._pending = null; - if (this._mode === 'command') - this._mode = 'idle'; if (pending) { + // Some firmware/transport paths emit a transient empty 0x00/0x00 frame + // immediately before the real command response; ignore and keep waiting. + if (msg.command === 0 && msg.property === 0 && msg.payload.length === 0) { + return; + } const err = validatePendingResponse(pending, msg); - if (err) + if (err) { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; pending.reject(err); - else + } + else { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; pending.resolve(toCommandResponse(msg)); + } + } + else { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; } this.emit('commandPayload', { header: msg.header, @@ -3643,6 +3762,17 @@ return; const hdr = this._rxStreamBuf[0]; const len = (this._rxStreamBuf[1] | (this._rxStreamBuf[2] << 8)) >>> 0; + if (!this._isPlausibleFrameStart(hdr, len)) { + if (this.debugSync) { + console.warn('[rx] resync: dropping byte', { + dropped: hdr, + nextLen: len, + bufLen: this._rxStreamBuf.length, + }); + } + this._rxStreamBuf = this._rxStreamBuf.slice(1); + continue; + } if (len === 0) { const header = hdr & 0xff; const decodedHeader = parseHeader(header); @@ -3655,6 +3785,18 @@ }; this._rxStreamBuf = this._rxStreamBuf.slice(3); if (this._mode === 'logged' && hdr === buildHeader(ASM_COMMAND.ACK, ASM_PROPERTY.DATA)) { + const s = this._sync; + if (s && s.bytesWritten === 0 && s.emptyAckCount < 6) { + s.emptyAckCount++; + if (this.debugSync) + console.log('[sync] empty ACK before payload; requesting next DATA chunk.'); + void this + .writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }) + .catch((e) => this._abortSync(e)); + continue; + } if (this.debugSync) console.log('[sync] EOS received. Finishing.'); this._finishSync(); @@ -3745,6 +3887,8 @@ this.emit('data', packet); } } + VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN = 4096; + VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN = 0xffff; // Static NUS UUIDs VerisenseBleDevice.NUS_SERVICE = NUS_SERVICE; VerisenseBleDevice.NUS_TX = NUS_TX; diff --git a/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map b/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map index 9112063..333087f 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map +++ b/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"shimmer-web-sdk.umd.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shimmer-web-sdk.umd.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file From d676e0d66a5986b0bfaa47f8f0ae851d12c01850 Mon Sep 17 00:00:00 2001 From: marknolan <6526073+marknolan@users.noreply.github.com> Date: Wed, 27 May 2026 15:49:51 +0000 Subject: [PATCH 03/18] chore: format HTML files --- Verisense/index.html | 2027 +++++++++--------- VerisenseCapture/index.html | 4050 +++++++++++++++++++---------------- 2 files changed, 3293 insertions(+), 2784 deletions(-) diff --git a/Verisense/index.html b/Verisense/index.html index fa3ca19..03abc24 100644 --- a/Verisense/index.html +++ b/Verisense/index.html @@ -1,152 +1,179 @@ + + + + + + + Verisense Stream (Accel + GSR) + - - - -

Verisense Stream (Accel1 + GSR)

- Must be served over https or http://localhost. Click - buttons (user gesture required). - -
-
- - - - -
+ .row { + display: flex; + gap: 10px; + flex-wrap: wrap; + align-items: center; + margin: 10px 0; + } -
- - - - - - Status: idle -
-
+ button, + select, + input { + padding: 10px 12px; + } + + .card { + border: 1px solid #444; + border-radius: 12px; + padding: 12px; + } + + pre { + background: #111; + color: #ddd; + padding: 10px; + border-radius: 12px; + overflow: auto; + max-height: 320px; + } + + small { + color: #666; + } + + .grid { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + gap: 12px; + } + + canvas { + display: block; + } + + + + +

Verisense Stream (Accel1 + GSR)

+ Must be served over https or http://localhost. Click + buttons (user gesture required). + +
+
+ + + + +
-
-
- Operational Config - - +
+ + + + + + Status: idle +
-
- - - - (Checkboxes affect parsing immediately; Apply writes to - device.) + +
+
+ Operational Config + + +
+
+ + + + (Checkboxes affect parsing immediately; Apply writes to + device.) +
-
-
-
-

Latest accel sample

-
โ€”
- +
+

Latest accel sample

+
โ€”
+ - -
+ " + >
+ +
-
-

Latest GSR sample

-
โ€”
- +

Latest GSR sample

+
โ€”
+ - -
+ " + > + +
-
-

Log

-

-      
- +
+

Log

+

+        
+ +
-
- - + - - + btnApplyOpCfg.onclick = async () => { + try { + if (!v) throw new Error("Not connected"); + await applyOpConfigToDevice(); + const adc = requireAdcDecoder(v); + log("opcfg applied:", { + accelEnabled: v?.accel1?.enabled, + gsrEnabled: adc?.gsrEnabled, + battEnabled: adc?.battEnabled, + }); + } catch (e) { + log("opcfg apply error:", String(e?.message ?? e)); + } + }; - \ No newline at end of file + btnSync.onclick = async () => { + try { + if (!v) throw new Error("Not connected"); + + setStatus("syncing logged data..."); + log("sync: choose output file..."); + + const fileHandle = await window.showSaveFilePicker({ + suggestedName: `verisense_${new Date().toISOString().replace(/[:.]/g, "-")}.bin`, + types: [ + { + description: "Verisense binary", + accept: { "application/octet-stream": [".bin"] }, + }, + ], + }); + + v.debugSync = true; + + const res = await v.transferLoggedData({ + fileHandle, + timeoutMs: 5000, + maxNack: 5, + maxCrcNack: 5, + onProgress: (p) => log("sync progress:", p), + }); + + setStatus("sync complete"); + log("sync: complete โœ…", res); + } catch (e) { + log("sync error:", String(e?.message ?? e)); + console.warn(e); + setStatus("error"); + } + }; + + + diff --git a/VerisenseCapture/index.html b/VerisenseCapture/index.html index e18d807..0883c82 100644 --- a/VerisenseCapture/index.html +++ b/VerisenseCapture/index.html @@ -1,1916 +1,2390 @@ + + + + Verisense Capture + + - - - -
-
-
-

Verisense Capture

-
Full-feature Verisense communication demo.
-
-
- - Verisense logo - -
-
+ width: 100%; + height: calc(68vh - 80px); + border-radius: 10px; + border: 1px solid #273444; + background: var(--log-bg); + color: var(--log-ink); + overflow: auto; + white-space: pre-wrap; + word-break: break-word; + padding: 10px; + font-family: Consolas, "Courier New", monospace; + font-size: 12px; + line-height: 1.35; + } -
-
-

Connection

-
- - - - -
-
- Transport: - none - idle -
-
- -
-

Current Status

-
-
Device Name
-
-
-
Unique ID
-
-
-
HW
-
-
-
FW
-
-
-
Battery
-
-
-
Flash
-
-
-
Flash Banks
-
-
-
ATT MTU
-
-
-
Conn Interval
-
-
-
PHY
-
-
-
-
-
+ .mono { + font-family: Consolas, "Courier New", monospace; + font-size: 12px; + } -
-
-
- - - - - - - - -
+ .lookup-table-wrap { + max-height: 340px; + overflow: auto; + border: 1px solid var(--line); + border-radius: 10px; + background: #fff; + } -
-
-

Property Reads/Writes

-
- - - - - -
-
+ .lookup-table { + width: 100%; + border-collapse: collapse; + font-size: 12px; + font-family: Consolas, "Courier New", monospace; + } -
-

Debug/Test Commands

-
- - -
-
- - -
-
- -
-
- - -
-
+ .lookup-table th, + .lookup-table td { + border-bottom: 1px solid #e4ecef; + padding: 6px 8px; + text-align: left; + white-space: nowrap; + } + + .lookup-table thead th { + position: sticky; + top: 0; + background: #f3f8fa; + z-index: 1; + } + + .status-badge { + padding: 4px 8px; + border-radius: 999px; + background: #e7f5f4; + color: #0b6f6b; + font-weight: 700; + border: 1px solid #b8e2e0; + } + + .plot-wrap { + margin-top: 8px; + } + + .plot-canvas { + width: 100%; + height: 170px; + background: #111; + border-radius: 12px; + display: block; + border: 1px solid #222; + } + + @media (max-width: 1100px) { + .top, + .main, + .section-grid-2, + .section-grid-3 { + grid-template-columns: 1fr; + } + .brand-header { + align-items: flex-start; + flex-direction: column; + } + + .brand-logos { + justify-content: flex-start; + } + + .log-box { + height: 300px; + } + } + + + + +
+
+
+

Verisense Capture

+
Full-feature Verisense communication demo.
+
+ + Verisense logo + +
+
-
-
-

Logged Data Transfer

-
- - Saves to file picker destination. -
+
+
+

Connection

+
+ + + +
- -
-

Advanced

-
- - -
-
- - - -
-
No lookup data loaded.
+
+ Transport: + none + idle
- -
-

Flash Lookup Entries

-
- - - - - - - - - - - - - - - -
BankStatusStatus CodePayload IndexEEPROM Pending
Run Read Flash Lookup Table to populate.
-
+
+ +
+

Current Status

+
+
Device Name
+
-
+
Unique ID
+
-
+
HW
+
-
+
FW
+
-
+
Battery
+
-
+
Flash
+
-
+
Flash Banks
+
-
+
ATT MTU
+
-
+
Conn Interval
+
-
+
PHY
+
-
-
+
+
-
-
-

Read/Write

-
- - - -
+
+
+
+ + + + + + + +
-
-

Production Fields

-
- - - +
+
+

Property Reads/Writes

+
+ + + + + +
-
- - - +
+

Debug/Test Commands

+
+ + +
+
+ + +
+
+ +
+
+ + +
+
-
- - - +
+
+

Logged Data Transfer

+
+ + Saves to file picker destination. +
-
- - - +
+

Advanced

+
+ + +
+
+ + + +
+
No lookup data loaded.
-
-
-
-
-

Read/Write

-
- - - +
+

Flash Lookup Entries

+
+ + + + + + + + + + + + + + + +
BankStatusStatus CodePayload IndexEEPROM Pending
+ Run Read Flash Lookup Table to populate. +
+
-
-

Accel1

-
- - - +
+
+

Read/Write

+
+ + + +
-
-
-

ADC / GSR / Battery

-
- - - -
-
- - -
-
+
+

Production Fields

+
+ + + +
-
-

Notes

-
This editor currently patches fields with explicit SDK helpers (Accel1 + ADC/GSR/Batt). - Other sensor settings can be controlled from Console Ops and stream decoders.
-
-
+
+ + + +
-
-
-

Streaming Control

-
- - - -
-
-
Accel Packets
-
0
-
ADC/GSR Packets
-
0
-
Last Sensor ID
-
-
-
-
-
-

Accel Plot

-
- +
+ + + +
+ +
+ + + +
-
-
-

GSR Plot

-
- + +
+
+

Read/Write

+
+ + + +
- -
-
-
-
-

DFU Controls

-
- +
+

Accel1

+
+ + + +
-
- Open - DFU Tool (DFU disabled on boot) + +
+

ADC / GSR / Battery

+
+ + + +
+
+ + +
-
- Open DFU Tool - (DFU enabled on boot) + +
+

Notes

+
+ This editor currently patches fields with explicit SDK helpers + (Accel1 + ADC/GSR/Batt). Other sensor settings can be controlled + from Console Ops and stream decoders. +
-
-
-
-

Event Log Reader

-
- +
+
+

Streaming Control

+
+ + + +
+
+
Accel Packets
+
0
+
ADC/GSR Packets
+
0
+
Last Sensor ID
+
-
+
-
- +
+

Accel Plot

+
+ +
+
-
No event log data loaded.
-
-
-

Event Log Entries

-
- - - - - - - - - - - - - - - -
#Event IDEvent NameTimestampBattery (mV)
Run Read Event Log to populate.
+
+

GSR Plot

+
+ +
+
-
-
-
-

Hardware Test (deprecated)

-
- -
HW revision unavailable. Read production config first.
-
-
- +
+
+

DFU Controls

+
+ +
+ +
-
-

Advanced

-
- +
+
+

Event Log Reader

+
+ +
- + +
+
+ No event log data loaded.
-
- -
- - - +
+

Event Log Entries

+
+ + + + + + + + + + + + + + + +
#Event IDEvent NameTimestampBattery (mV)
+ Run Read Event Log to populate. +
-
- +
+ +
+
+

Hardware Test (deprecated)

+
+ +
+ HW revision unavailable. Read production config first. +
+
- - - +
-
-
-
-
-

Log

-
- - -
-

-      
+
+

Advanced

+
+ +
+ +
+
+
+ +
+ + + +
+
+
+ +
+ + + +
+
+
+
+ + +
+

Log

+
+ + +
+

+        
+
-
- - - - - \ No newline at end of file + + ui.btnStreamClear.addEventListener("click", () => { + state.accelPackets = 0; + state.adcPackets = 0; + ui.streamAccelCount.textContent = "0"; + ui.streamAdcCount.textContent = "0"; + ui.streamLastSensor.textContent = "-"; + resetAccelPlotBuffers(state.v?.accel1?.samplingRateHz ?? 51.2); + resetGsrPlotBuffers(state.v?.adc?.samplingRateHz ?? 50); + }); + + ui.btnLogClear.addEventListener("click", () => { + ui.log.textContent = ""; + }); + + document.querySelectorAll("[data-action]").forEach((el) => { + el.addEventListener("click", async () => { + const action = el.getAttribute("data-action"); + try { + await runAction(action); + } catch (e) { + if (isDebugHeaderNackError(e)) { + log( + `${action} unavailable on this firmware`, + String(e?.message ?? e), + ); + return; + } + log(`${action} error`, String(e?.message ?? e)); + console.warn(e); + } + }); + }); + } + + attachEvents(); + setConnectionButtonsState({ connected: false }); + updateBleLinkInfo("none"); + updateHardwareTestAvailability(); + resetAccelPlotBuffers(51.2); + resetGsrPlotBuffers(50); + log("Verisense Capture ready."); + + + From 535adba60a87db9e1b2791fabc3a9ffa829066bf Mon Sep 17 00:00:00 2001 From: Mark Nolan Date: Wed, 27 May 2026 20:59:27 +0100 Subject: [PATCH 04/18] DEV-750 #time 15m further GUI refinement --- VerisenseCapture/index.html | 119 +++++++++--------- shimmer-extension/vendor/shimmer-web-sdk.cjs | 24 ++-- .../vendor/shimmer-web-sdk.cjs.map | 2 +- shimmer-extension/vendor/shimmer-web-sdk.d.ts | 12 +- .../vendor/shimmer-web-sdk.esm.js | 24 ++-- .../vendor/shimmer-web-sdk.esm.js.map | 2 +- .../vendor/shimmer-web-sdk.umd.js | 24 ++-- .../vendor/shimmer-web-sdk.umd.js.map | 2 +- 8 files changed, 105 insertions(+), 104 deletions(-) diff --git a/VerisenseCapture/index.html b/VerisenseCapture/index.html index e18d807..4884de9 100644 --- a/VerisenseCapture/index.html +++ b/VerisenseCapture/index.html @@ -422,29 +422,34 @@

Current Status

-

Property Reads/Writes

+

Status Reads

- - - - - + +
-

Debug/Test Commands

-
- - -
+

Timing

+ + -
- + +
+
+ +
+

Danger Zone

@@ -464,14 +469,10 @@

Logged Data Transfer

Advanced

-
- - -
+
No lookup data loaded.
@@ -661,9 +662,6 @@

DFU Controls

Event Log Reader

-
- -
@@ -724,11 +722,8 @@

Hardware Test (deprecated)

Advanced

-
- -
- -
+
+
@@ -763,6 +758,7 @@

Log

+ + + + + - - - - + + + + - - + + - - - \ No newline at end of file + + ui.btnStreamClear.addEventListener("click", () => { + state.accelPackets = 0; + state.adcPackets = 0; + ui.streamAccelCount.textContent = "0"; + ui.streamAdcCount.textContent = "0"; + ui.streamLastSensor.textContent = "-"; + resetAccelPlotBuffers(state.v?.accel1?.samplingRateHz ?? 51.2); + resetGsrPlotBuffers(state.v?.adc?.samplingRateHz ?? 50); + }); + + ui.btnLogClear.addEventListener("click", () => { + ui.log.textContent = ""; + }); + + document.querySelectorAll("[data-action]").forEach((el) => { + el.addEventListener("click", async () => { + const action = el.getAttribute("data-action"); + try { + await runAction(action); + } catch (e) { + if (isDebugHeaderNackError(e)) { + log( + `${action} unavailable on this firmware`, + String(e?.message ?? e), + ); + return; + } + log(`${action} error`, String(e?.message ?? e)); + console.warn(e); + } + }); + }); + } + + attachEvents(); + setConnectionButtonsState({ connected: false }); + updateBleLinkInfo("none"); + updateDfuUpdateToolState(false); + updateHardwareTestAvailability(); + resetAccelPlotBuffers(51.2); + resetGsrPlotBuffers(50); + log("Verisense Capture ready."); + + + From 245d75597857cc41738db7748851d56d6c5f1ed6 Mon Sep 17 00:00:00 2001 From: Mark Nolan Date: Thu, 28 May 2026 11:36:43 +0100 Subject: [PATCH 09/18] DEV-750 #time 5m minor disconnect button functionality fix --- VerisenseCapture/index.html | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/VerisenseCapture/index.html b/VerisenseCapture/index.html index e34f688..861bbd9 100644 --- a/VerisenseCapture/index.html +++ b/VerisenseCapture/index.html @@ -1,4 +1,4 @@ - +๏ปฟ @@ -1237,6 +1237,7 @@

Log

function setTransport(text) { ui.transportKind.textContent = text; updateBleLinkInfo(text); + updateDisconnectRequestButtonState(); } function updateBleLinkInfo(transportKind = "none") { @@ -1261,7 +1262,13 @@

Log

ui.btnConnectBle.disabled = connected; ui.btnConnectSerial.disabled = connected; ui.btnDisconnect.disabled = !connected; - ui.btnDisconnectRequest.disabled = !connected; + updateDisconnectRequestButtonState(); + } + + function updateDisconnectRequestButtonState() { + const connected = !ui.btnDisconnect.disabled; + const isBleTransport = ui.transportKind.textContent === "ble"; + ui.btnDisconnectRequest.disabled = !(connected && isBleTransport); } function log(...args) { From beccc5f3782b9b723bc059af1f5bc1ca18a0289d Mon Sep 17 00:00:00 2001 From: marknolan <6526073+marknolan@users.noreply.github.com> Date: Thu, 28 May 2026 10:39:38 +0000 Subject: [PATCH 10/18] chore: format HTML files --- VerisenseCapture/index.html | 4955 +++++++++++++++++++---------------- 1 file changed, 2741 insertions(+), 2214 deletions(-) diff --git a/VerisenseCapture/index.html b/VerisenseCapture/index.html index 861bbd9..3f3baa5 100644 --- a/VerisenseCapture/index.html +++ b/VerisenseCapture/index.html @@ -1,2373 +1,2900 @@ ๏ปฟ + + + + Verisense Capture + + - - - -
-
-
-

Verisense Capture

-
Full-feature Verisense communication demo.
-
-
- - Verisense logo - -
-
+ width: 100%; + height: calc(68vh - 80px); + border-radius: 10px; + border: 1px solid #273444; + background: var(--log-bg); + color: var(--log-ink); + overflow: auto; + white-space: pre-wrap; + word-break: break-word; + padding: 10px; + font-family: Consolas, "Courier New", monospace; + font-size: 12px; + line-height: 1.35; + } -
-
-

Connection

-
- - - - -
-
- Transport: - none - idle -
-
- -
-

Current Status

-
-
Device Name
-
-
-
Unique ID
-
-
-
HW
-
-
-
FW
-
-
-
Battery
-
-
-
Flash
-
-
-
Flash Banks
-
-
-
ATT MTU
-
-
-
Conn Interval
-
-
-
PHY
-
-
-
-
-
+ .mono { + font-family: Consolas, "Courier New", monospace; + font-size: 12px; + } + + .lookup-table-wrap { + max-height: 340px; + overflow: auto; + border: 1px solid var(--line); + border-radius: 10px; + background: #fff; + } + + .lookup-table { + width: 100%; + border-collapse: collapse; + font-size: 12px; + font-family: Consolas, "Courier New", monospace; + } + + .lookup-table th, + .lookup-table td { + border-bottom: 1px solid #e4ecef; + padding: 6px 8px; + text-align: left; + white-space: nowrap; + } + + .lookup-table thead th { + position: sticky; + top: 0; + background: #f3f8fa; + z-index: 1; + } + + .status-badge { + padding: 4px 8px; + border-radius: 999px; + background: #e7f5f4; + color: #0b6f6b; + font-weight: 700; + border: 1px solid #b8e2e0; + } + + .plot-wrap { + margin-top: 8px; + } + + .plot-canvas { + width: 100%; + height: 170px; + background: #111; + border-radius: 12px; + display: block; + border: 1px solid #222; + } + + @media (max-width: 1100px) { + .top, + .main, + .section-grid-2, + .section-grid-3 { + grid-template-columns: 1fr; + } + + .brand-header { + align-items: flex-start; + flex-direction: column; + } + + .brand-logos { + justify-content: flex-start; + } + + .log-box { + height: 300px; + } + } + + #dfu-drop { + border: 2px dashed var(--line); + border-radius: 6px; + padding: 24px 20px; + text-align: center; + cursor: pointer; + transition: + background 0.15s, + border-color 0.15s; + margin-bottom: 10px; + } + + #dfu-drop.hover { + background: rgba(13, 143, 139, 0.06); + border-color: var(--accent); + } + + #dfu-icon { + fill: var(--muted); + display: block; + margin: 0 auto 10px; + } + + #dfu-label { + cursor: pointer; + display: block; + } + + #dfu-label span { + display: block; + font-size: 12px; + color: var(--muted); + margin-top: 4px; + } + + #dfu-select { + visibility: hidden; + margin-top: 12px; + } + + #dfu-status-bar { + visibility: hidden; + height: 24px; + border: 1px solid var(--line); + position: relative; + margin-top: 10px; + } + + #dfu-bar { + background: var(--accent); + width: 0%; + height: 100%; + } + + #dfu-transfer { + position: absolute; + top: 0; + left: 0; + right: 0; + text-align: center; + line-height: 24px; + font-size: 12px; + } + + #dfu-status-msg { + margin-top: 8px; + font-size: 13px; + min-height: 18px; + } + + .dfu-badge-active { + color: #1e7a1e; + font-weight: 600; + } + + .dfu-badge-inactive { + color: #b93232; + font-weight: 600; + } + + #dfu-connected-notice { + display: none; + background: #fff8e7; + border: 1px solid #f0c060; + border-radius: 8px; + padding: 8px 12px; + font-size: 13px; + color: #7a4f00; + margin-bottom: 10px; + } -
-
-
- - - - - - - - + #dfu-update-body.dfu-disabled { + opacity: 0.4; + pointer-events: none; + user-select: none; + } + + + + +
+
+
+

Verisense Capture

+
Full-feature Verisense communication demo.
+
+ + Verisense logo + +
+
-
-
-

Status Reads

-
- - -
+
+
+

Connection

+
+ + + + +
+
+ Transport: + none + idle
+
+ +
+

Current Status

+
+
Device Name
+
-
+
Unique ID
+
-
+
HW
+
-
+
FW
+
-
+
Battery
+
-
+
Flash
+
-
+
Flash Banks
+
-
+
ATT MTU
+
-
+
Conn Interval
+
-
+
PHY
+
-
+
+
+
-
-

Timing

-
- - - -
-
- - -
+
+
+
+ + + + + + + +
-
-

Danger Zone

-
- - +
+
+

Status Reads

+
+ + +
-
-
+
+

Timing

+
+ + + +
+
+ + +
+
-
-
-

Logged Data Transfer

-
- - Saves to file picker destination. +
+

Danger Zone

+
+ + +
-
-

Advanced

-
- - - - +
+
+

Logged Data Transfer

+
+ + Saves to file picker destination. +
-
No lookup data loaded.
-
-
-

Flash Lookup Entries

-
- - - - - - - - - - - - - - - -
BankStatusStatus CodePayload IndexEEPROM Pending
Run Read Flash Lookup Table to populate.
+
+

Advanced

+
+ + + + +
+
No lookup data loaded.
-
-
-
-
-

Read/Write

-
- - - +
+

Flash Lookup Entries

+
+ + + + + + + + + + + + + + + +
BankStatusStatus CodePayload IndexEEPROM Pending
+ Run Read Flash Lookup Table to populate. +
+
-
-

Production Fields

-
- - - +
+
+

Read/Write

+
+ + + +
-
- - - -
+
+

Production Fields

+
+ + + +
-
- - - -
+
+ + + +
-
- - - -
-
-
+
+ + + +
-
-
-

Read/Write

-
- - - +
+ + + +
-
-

Accel1

-
- - - +
+
+

Read/Write

+
+ + + +
-
-
-

ADC / GSR / Battery

-
- - - +
+

Accel1

+
+ + + +
-
- - + +
+

ADC / GSR / Battery

+
+ + + +
+
+ + +
-
-
-

Notes

-
This editor currently patches fields with explicit SDK helpers (Accel1 + ADC/GSR/Batt). - Other sensor settings can be controlled from Console Ops and stream decoders.
+
+

Notes

+
+ This editor currently patches fields with explicit SDK helpers + (Accel1 + ADC/GSR/Batt). Other sensor settings can be controlled + from Console Ops and stream decoders. +
+
-
-
-
-

Streaming Control

-
- - - -
-
-
Accel Packets
-
0
-
ADC/GSR Packets
-
0
-
Last Sensor ID
-
-
+
+
+

Streaming Control

+
+ + + +
+
+
Accel Packets
+
0
+
ADC/GSR Packets
+
0
+
Last Sensor ID
+
-
+
-
-
-

Accel Plot

-
- +
+

Accel Plot

+
+ +
+
- -
-
-

GSR Plot

-
- +
+

GSR Plot

+
+ +
+
-
-
-
-
-

DFU Flow

-
-
-
- Step 1 - Enable DFU Service - - Nordic DFU Service: - โ€” not connected โ€” - -
-

- Use this once to enable Nordic DFU service advertisement after the next disconnect. This does not - reboot the device immediately. -

-
- - +
+
+

DFU Flow

+
+
+
+ Step 1 + Enable DFU Service + + Nordic DFU Service: + โ€” not connected โ€” + +
+

+ Use this once to enable Nordic DFU service advertisement + after the next disconnect. This does not reboot the device + immediately. +

+
+ + +
-
-
-
- Step 2 - Reboot To DFU Bootloader Mode -
-

- After reconnecting with Nordic DFU service active, use the buttonless DFU command to reboot directly - into bootloader mode. -

-
- +
+
+ Step 2 + Reboot To DFU Bootloader Mode +
+

+ After reconnecting with Nordic DFU service active, use the + buttonless DFU command to reboot directly into bootloader + mode. +

+
+ +
-
-
-
- Step 3 - Perform Firmware Update -
-

- Select a firmware .zip package, then click Begin Update. A browser - device - picker will open and the DFU library will connect to the bootloader and flash the firmware. -

-
- ⚠︎ A device is currently connected — disconnect from it first before using the DFU - Update Tool. -
-
-
- - - - - -
- -
+
+
+ Step 3 + Perform Firmware Update +
+

+ Select a firmware .zip package, then click + Begin Update. A browser device picker will + open and the DFU library will connect to the bootloader and + flash the firmware. +

+
+ ⚠︎ A device is currently connected — + disconnect from it first before using the DFU Update Tool.
-
-
-
+
+
+ + + + + +
+ +
+
+
+
+
+
+
-
-
- -
-
-

Event Log Reader

-
- -
-
No event log data loaded.
-
-
-

Event Log Entries

-
- - - - - - - - - - - - - - - -
#Event IDEvent NameTimestampBattery (mV)
Run Read Event Log to populate.
-
-
-
-
-
-

Hardware Test (deprecated)

-
- -
HW revision unavailable. Read production config first.
+
+
+

Event Log Reader

+
+ +
+
+ No event log data loaded. +
-
- +
+

Event Log Entries

+
+ + + + + + + + + + + + + + + +
#Event IDEvent NameTimestampBattery (mV)
+ Run Read Event Log to populate. +
+
-
-

Advanced

-
- -
-
- +
+
+

Hardware Test (deprecated)

+
+ +
+ HW revision unavailable. Read production config first. +
+
- - - +
-
- + +
+

Advanced

- - - + +
+
+ +
+ + + +
+
+
+ +
+ + + +
-
-
- -
-

Log

-
- - -
-

-      
+
+ +
+

Log

+
+ + +
+

+        
+
-
- - - - - - - + + + + - - + + - - - \ No newline at end of file + + ui.btnStreamClear.addEventListener("click", () => { + state.accelPackets = 0; + state.adcPackets = 0; + ui.streamAccelCount.textContent = "0"; + ui.streamAdcCount.textContent = "0"; + ui.streamLastSensor.textContent = "-"; + resetAccelPlotBuffers(state.v?.accel1?.samplingRateHz ?? 51.2); + resetGsrPlotBuffers(state.v?.adc?.samplingRateHz ?? 50); + }); + + ui.btnLogClear.addEventListener("click", () => { + ui.log.textContent = ""; + }); + + document.querySelectorAll("[data-action]").forEach((el) => { + el.addEventListener("click", async () => { + const action = el.getAttribute("data-action"); + try { + await runAction(action); + } catch (e) { + if (isDebugHeaderNackError(e)) { + log( + `${action} unavailable on this firmware`, + String(e?.message ?? e), + ); + return; + } + log(`${action} error`, String(e?.message ?? e)); + console.warn(e); + } + }); + }); + } + + attachEvents(); + setConnectionButtonsState({ connected: false }); + updateBleLinkInfo("none"); + updateDfuUpdateToolState(false); + updateHardwareTestAvailability(); + resetAccelPlotBuffers(51.2); + resetGsrPlotBuffers(50); + log("Verisense Capture ready."); + + + From cf0c2d68633c93ac528bacd58abbb002fc55d9a4 Mon Sep 17 00:00:00 2001 From: Mark Nolan Date: Thu, 28 May 2026 12:58:58 +0100 Subject: [PATCH 11/18] DEV-750 #time 1h support for new test report --- VerisenseCapture/index.html | 147 +++++++++++++++- shimmer-extension/vendor/shimmer-web-sdk.cjs | 162 +++++++++++++++++ .../vendor/shimmer-web-sdk.cjs.map | 2 +- shimmer-extension/vendor/shimmer-web-sdk.d.ts | 38 +++- .../vendor/shimmer-web-sdk.esm.js | 163 +++++++++++++++++- .../vendor/shimmer-web-sdk.esm.js.map | 2 +- .../vendor/shimmer-web-sdk.umd.js | 162 +++++++++++++++++ .../vendor/shimmer-web-sdk.umd.js.map | 2 +- 8 files changed, 671 insertions(+), 7 deletions(-) diff --git a/VerisenseCapture/index.html b/VerisenseCapture/index.html index 861bbd9..3acb1fb 100644 --- a/VerisenseCapture/index.html +++ b/VerisenseCapture/index.html @@ -302,6 +302,52 @@ color: var(--muted); } + .test-report-dialog { + width: min(920px, 96vw); + max-height: 88vh; + border: 1px solid #c8d7de; + border-radius: 12px; + padding: 0; + } + + .test-report-dialog::backdrop { + background: rgba(12, 24, 32, 0.45); + } + + .test-report-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; + padding: 10px 12px; + border-bottom: 1px solid #dbe6ea; + background: #f5fafc; + } + + .test-report-body { + margin: 0; + padding: 12px; + font-family: Consolas, "Courier New", monospace; + font-size: 12px; + line-height: 1.35; + white-space: pre-wrap; + word-break: break-word; + max-height: calc(88vh - 76px); + overflow: auto; + background: #0d1117; + color: #d2dee8; + } + + .tr-pass { + color: #3ddc84; + font-weight: 700; + } + + .tr-fail { + color: #ff6b6b; + font-weight: 700; + } + .log-box { width: 100%; height: calc(68vh - 80px); @@ -899,6 +945,34 @@

Event Log Entries

+
+

Test Report

+

+ Runs TEST_REPORT (0xFE) on the device. The device sends a rolling text report + delimited by the TEST START banner. PASS and FAIL results are highlighted. +

+
+ + +
HW revision unavailable. Read production config first.
+
+ +
+ Hardware Test Report + +
+
+
+
+

Hardware Test (deprecated)

@@ -921,7 +995,6 @@

Hardware Test (deprecated)

-
HW revision unavailable. Read production config first.
@@ -1123,6 +1196,7 @@

Log

import { ASM_PROPERTY, NORDIC_DFU_SERVICE, + FACTORY_TEST, VerisenseBleDevice, OP_IDX, buildProductionConfigPayload, @@ -1132,6 +1206,9 @@

Log

} from "../shimmer-extension/vendor/shimmer-web-sdk.esm.js"; const $ = (id) => document.getElementById(id); + const TEST_REPORT_MODE_ID = 0xfe; + const TEST_REPORT_DELIMITER = + "//**************************** TEST START ************************************\r\n"; const ui = { btnConnectBle: $("btnConnectBle"), @@ -1177,7 +1254,12 @@

Log

opGsrOverCfg: $("opGsrOverCfg"), testModeSelect: $("testModeSelect"), btnRunHardwareTest: $("btnRunHardwareTest"), + testReportFactoryType: $("testReportFactoryType"), + btnRunTestReport: $("btnRunTestReport"), testHwIdStatus: $("testHwIdStatus"), + testReportDialog: $("testReportDialog"), + btnTestReportClose: $("btnTestReportClose"), + testReportPre: $("testReportPre"), testLedIndex: $("testLedIndex"), testLoopCount: $("testLoopCount"), prodMonHex: $("prodMonHex"), @@ -1279,6 +1361,12 @@

Log

ui.log.scrollTop = ui.log.scrollHeight; } + function appendLogText(text) { + if (!text) return; + ui.log.textContent += text; + ui.log.scrollTop = ui.log.scrollHeight; + } + function formatLogTime(d = new Date()) { const mm = String(d.getMonth() + 1).padStart(2, "0"); const dd = String(d.getDate()).padStart(2, "0"); @@ -1501,6 +1589,7 @@

Log

function updateHardwareTestAvailability() { const hw = getProductionHwRevision(); if (ui.btnRunHardwareTest) ui.btnRunHardwareTest.disabled = !hw; + if (ui.btnRunTestReport) ui.btnRunTestReport.disabled = !hw; if (ui.testHwIdStatus) { ui.testHwIdStatus.textContent = hw ? `HW revision from production config: ${hw.major}.${hw.minor}.${hw.internal}` @@ -1508,6 +1597,20 @@

Log

} } + function setTestReportDialogContent(text) { + if (!ui.testReportPre) return; + // Escape HTML then colour PASS/FAIL keywords + const escaped = text + .replace(/&/g, "&") + .replace(//g, ">"); + const coloured = escaped + .replace(/\bPASS\b/g, 'PASS') + .replace(/\bFAIL\b/g, 'FAIL'); + ui.testReportPre.innerHTML = coloured; + ui.testReportPre.scrollTop = ui.testReportPre.scrollHeight; + } + function updateDfuUpdateToolState(connected) { var notice = document.getElementById('dfu-connected-notice'); var body = document.getElementById('dfu-update-body'); @@ -2166,6 +2269,42 @@

Log

case "disconnectRequest": log("disconnectRequest", await v.disconnectRequest()); break; + case "runHardwareTestReport": + { + const hw = getProductionHwRevision(); + if (!hw) throw new Error("Hardware revision unavailable in production config. Read production config first."); + if (typeof v.runHardwareTestReport !== "function") { + throw new Error("SDK does not expose runHardwareTestReport(). Rebuild/sync local SDK artifacts first."); + } + setTestReportDialogContent("Waiting for TEST_REPORT stream...\n"); + log("[TEST_REPORT] stream started"); + if (ui.testReportDialog && !ui.testReportDialog.open) { + if (typeof ui.testReportDialog.showModal === "function") { + ui.testReportDialog.showModal(); + } else { + ui.testReportDialog.setAttribute("open", "open"); + } + } + const factoryTestType = Math.max(0, Math.min(3, Number(ui.testReportFactoryType?.value ?? 0))); + const reportText = await v.runHardwareTestReport(hw.major, hw.minor, hw.internal, { + timeoutMs: 120000, + marker: TEST_REPORT_DELIMITER, + factoryTestType, + onChunk: (chunk, aggregate) => { + setTestReportDialogContent(aggregate); + appendLogText(chunk); + }, + }); + setTestReportDialogContent(reportText); + log("[TEST_REPORT] stream complete"); + log("runHardwareTestReport", { + chars: reportText.length, + hwMajor: hw.major, + hwMinor: hw.minor, + hwInternal: hw.internal, + }); + } + break; case "runHardwareTest": { const hw = getProductionHwRevision(); @@ -2342,6 +2481,12 @@

Log

ui.log.textContent = ""; }); + if (ui.btnTestReportClose) { + ui.btnTestReportClose.addEventListener("click", () => { + if (ui.testReportDialog?.open) ui.testReportDialog.close(); + }); + } + document.querySelectorAll("[data-action]").forEach((el) => { el.addEventListener("click", async () => { const action = el.getAttribute("data-action"); diff --git a/shimmer-extension/vendor/shimmer-web-sdk.cjs b/shimmer-extension/vendor/shimmer-web-sdk.cjs index bc4db9b..6b6efcd 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.cjs +++ b/shimmer-extension/vendor/shimmer-web-sdk.cjs @@ -1286,6 +1286,7 @@ const TEST_MODE_ID = Object.freeze({ BIOZ_MAX30002: 0x0b, ACCEL2_GYRO_LSM6DSV: 0x0c, MAG_LIS2MDL: 0x0d, + TEST_REPORT: 0xfe, ALL_TESTS: 0xff, }); /** Debug command IDs documented by Verisense firmware. */ @@ -1374,6 +1375,16 @@ const OP_IDX = Object.freeze({ PPG_DAC4_CROSSTALK: 70, PROX_AGC_MODE: 71, }); +/** + * Factory test type selection byte sent as the last byte of a TEST_REPORT (0xFE) payload. + * Mirrors the firmware `factory_test_t` enum. + */ +const FACTORY_TEST = Object.freeze({ + MAIN: 0, + LEDS: 1, + ICS: 2, + LED_STATES: 3, +}); /** Read a 16-bit unsigned integer, little-endian. */ function u16le(b0, b1) { @@ -2822,6 +2833,8 @@ class VerisenseBleDevice extends BaseShimmerClient { this._pending = null; this._loggedChain = Promise.resolve(); this._sync = null; + this._testReportCapture = null; + this._testReportDecoder = new TextDecoder(); // Cached configs this.operationalConfig = null; this.productionConfig = null; @@ -2886,6 +2899,7 @@ class VerisenseBleDevice extends BaseShimmerClient { this._onGattDisconnected = () => { this._mode = 'idle'; this._transportKind = null; + this._clearHardwareTestReportCapture(new Error('Disconnected'), null); this.emit('disconnected', { kind: 'ble' }); }; this.device.addEventListener('gattserverdisconnected', this._onGattDisconnected); @@ -2986,6 +3000,7 @@ class VerisenseBleDevice extends BaseShimmerClient { this._serialReadLoopTask = null; if (!signal.aborted) { this._mode = 'idle'; + this._clearHardwareTestReportCapture(new Error('Disconnected'), null); this.emit('disconnected', { kind: 'serial' }); } } @@ -3087,6 +3102,7 @@ class VerisenseBleDevice extends BaseShimmerClient { /* ignore */ } } + this._clearHardwareTestReportCapture(new Error(opts.reason ?? 'Disconnected'), null); if (this._transportKind === 'serial') { try { await this._serialDisconnect(opts.reason ?? 'user'); @@ -3489,6 +3505,145 @@ class VerisenseBleDevice extends BaseShimmerClient { ]); await this.runTestMode(payload); } + _clearHardwareTestReportCapture(error, text) { + const cap = this._testReportCapture; + if (!cap) + return; + this._testReportCapture = null; + if (cap.timeout) { + clearTimeout(cap.timeout); + cap.timeout = null; + } + if (error) { + cap.reject?.(error); + return; + } + cap.resolve?.(text ?? ''); + } + _captureHardwareTestReportChunk(chunk) { + const cap = this._testReportCapture; + if (!cap || !chunk?.length) + return; + const decoded = this._testReportDecoder.decode(chunk, { stream: true }); + if (!decoded) + return; + cap.aggregateText += decoded; + if (!cap.started) { + const firstMarker = cap.aggregateText.indexOf(cap.marker); + if (firstMarker >= 0) { + cap.started = true; + if (firstMarker > 0) { + cap.aggregateText = cap.aggregateText.slice(firstMarker); + cap.emittedChars = 0; + } + } + else { + // Some firmware builds vary the star count around TEST START. Fall back + // to a fuzzy marker so we can still stream the report to the UI. + const hint = VerisenseBleDevice.TEST_REPORT_MARKER_HINT; + const hintIdx = cap.aggregateText.indexOf(hint); + if (hintIdx < 0) { + const keep = Math.max(cap.marker.length * 2, 2048); + if (cap.aggregateText.length > keep) { + cap.aggregateText = cap.aggregateText.slice(-keep); + } + return; + } + const bannerStart = cap.aggregateText.lastIndexOf('//', hintIdx); + let lineStart = bannerStart >= 0 ? bannerStart : cap.aggregateText.lastIndexOf('\n', hintIdx); + lineStart = lineStart >= 0 ? lineStart + (bannerStart >= 0 ? 0 : 1) : 0; + cap.started = true; + if (lineStart > 0) { + cap.aggregateText = cap.aggregateText.slice(lineStart); + cap.emittedChars = 0; + } + } + } + const nextChunk = cap.aggregateText.slice(cap.emittedChars); + if (nextChunk) { + cap.onChunk?.(nextChunk, cap.aggregateText); + this.emit('hardwareTestReportChunk', { + chunkText: nextChunk, + aggregateText: cap.aggregateText, + }); + cap.emittedChars = cap.aggregateText.length; + } + const endMarker = cap.aggregateText.indexOf(cap.marker, cap.marker.length); + let full = null; + if (endMarker >= 0) { + full = cap.aggregateText.slice(0, endMarker + cap.marker.length); + } + else { + const hint = VerisenseBleDevice.TEST_REPORT_MARKER_HINT; + const firstHint = cap.aggregateText.indexOf(hint); + if (firstHint >= 0) { + const secondHint = cap.aggregateText.indexOf(hint, firstHint + hint.length); + if (secondHint >= 0) { + const endOfSecondLine = cap.aggregateText.indexOf('\n', secondHint); + full = endOfSecondLine >= 0 + ? cap.aggregateText.slice(0, endOfSecondLine + 1) + : cap.aggregateText; + } + } + } + if (full !== null) { + this.emit('hardwareTestReportComplete', { text: full }); + this._clearHardwareTestReportCapture(null, full); + return; + } + if (cap.aggregateText.length > cap.maxChars) { + cap.aggregateText = cap.aggregateText.slice(-cap.maxChars); + cap.emittedChars = Math.min(cap.emittedChars, cap.aggregateText.length); + } + } + /** + * Runs TEST_REPORT (0xFE) and captures the rolling text report. + * + * The firmware ACKs the command first, then emits plain-text lines over the link. + * Capture starts on the first delimiter and completes on the second delimiter. + */ + async runHardwareTestReport(hwMajor, hwMinor = 0, hwInternal = 0, opts = {}) { + const timeoutMs = Math.max(1000, Math.trunc(opts.timeoutMs ?? 120000)); + const marker = typeof opts.marker === 'string' && opts.marker.length > 0 + ? opts.marker + : VerisenseBleDevice.TEST_REPORT_DELIMITER; + const maxChars = Math.max(4096, Math.trunc(opts.maxChars ?? 2 * 1024 * 1024)); + this._clearHardwareTestReportCapture(new Error('Hardware test report capture was replaced'), null); + this._testReportDecoder.decode(); + const reportPromise = new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + this._clearHardwareTestReportCapture(new Error(`Hardware test report timeout after ${timeoutMs} ms`), null); + }, timeoutMs); + this._testReportCapture = { + marker, + maxChars, + started: false, + aggregateText: '', + emittedChars: 0, + resolve, + reject, + onChunk: opts.onChunk ?? null, + timeout, + }; + }); + try { + const factoryTestType = Math.max(0, Math.min(255, Math.trunc(opts.factoryTestType ?? 0))); + const payload = new Uint8Array([ + VerisenseBleDevice.TEST_REPORT_MODE_ID & 0xff, + hwMajor & 0xff, + hwMinor & 0xff, + hwInternal & 0xff, + (hwInternal >> 8) & 0xff, + factoryTestType, + ]); + await this.runTestMode(payload); + } + catch (error) { + this._clearHardwareTestReportCapture(error, null); + throw error; + } + return reportPromise; + } _buildDebugPayload(debugId, args = []) { const argBytes = args instanceof Uint8Array ? args : new Uint8Array(args); const payload = new Uint8Array(1 + argBytes.length); @@ -3857,6 +4012,9 @@ class VerisenseBleDevice extends BaseShimmerClient { _feedStreamBytes(chunk) { if (this._mode === 'logged' && this._sync) this._sync.lastRxAt = Date.now(); + if (this._testReportCapture) { + this._captureHardwareTestReportChunk(chunk); + } this._appendStreamBuf(chunk); for (;;) { if (this._rxStreamBuf.length < 3) @@ -3988,6 +4146,9 @@ class VerisenseBleDevice extends BaseShimmerClient { } VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN = 4096; VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN = 0xffff; +VerisenseBleDevice.TEST_REPORT_MODE_ID = 0xfe; +VerisenseBleDevice.TEST_REPORT_DELIMITER = '//**************************** TEST START ************************************\r\n'; +VerisenseBleDevice.TEST_REPORT_MARKER_HINT = 'TEST START'; // Static NUS UUIDs VerisenseBleDevice.NUS_SERVICE = NUS_SERVICE; VerisenseBleDevice.NUS_TX = NUS_TX; @@ -4000,6 +4161,7 @@ exports.ASM_PROPERTY = ASM_PROPERTY; exports.BaseShimmerClient = BaseShimmerClient; exports.CHANNEL_FORMATS = CHANNEL_FORMATS; exports.DEBUG_COMMAND_ID = DEBUG_COMMAND_ID; +exports.FACTORY_TEST = FACTORY_TEST; exports.GSR_NAME = GSR_NAME; exports.NORDIC_DFU_BUTTONLESS_CHAR = NORDIC_DFU_BUTTONLESS_CHAR; exports.NORDIC_DFU_CONTROL_CHAR = NORDIC_DFU_CONTROL_CHAR; diff --git a/shimmer-extension/vendor/shimmer-web-sdk.cjs.map b/shimmer-extension/vendor/shimmer-web-sdk.cjs.map index e9183a8..9965bc2 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.cjs.map +++ b/shimmer-extension/vendor/shimmer-web-sdk.cjs.map @@ -1 +1 @@ -{"version":3,"file":"shimmer-web-sdk.cjs","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shimmer-web-sdk.cjs","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file diff --git a/shimmer-extension/vendor/shimmer-web-sdk.d.ts b/shimmer-extension/vendor/shimmer-web-sdk.d.ts index 92a110d..4b945eb 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.d.ts +++ b/shimmer-extension/vendor/shimmer-web-sdk.d.ts @@ -673,6 +673,7 @@ declare const TEST_MODE_ID: Readonly<{ readonly BIOZ_MAX30002: 11; readonly ACCEL2_GYRO_LSM6DSV: 12; readonly MAG_LIS2MDL: 13; + readonly TEST_REPORT: 254; readonly ALL_TESTS: 255; }>; type TestModeId = (typeof TEST_MODE_ID)[keyof typeof TEST_MODE_ID]; @@ -761,6 +762,17 @@ declare const OP_IDX: Readonly<{ readonly PROX_AGC_MODE: 71; }>; type OpIdx = keyof typeof OP_IDX; +/** + * Factory test type selection byte sent as the last byte of a TEST_REPORT (0xFE) payload. + * Mirrors the firmware `factory_test_t` enum. + */ +declare const FACTORY_TEST: Readonly<{ + readonly MAIN: 0; + readonly LEDS: 1; + readonly ICS: 2; + readonly LED_STATES: 3; +}>; +type FactoryTestType = (typeof FACTORY_TEST)[keyof typeof FACTORY_TEST]; interface VerisenseMessage { header: number; @@ -1282,6 +1294,14 @@ interface VerisenseCommandResponse { property: AsmProperty; payload: Uint8Array; } +interface HardwareTestReportOptions { + timeoutMs?: number; + marker?: string; + maxChars?: number; + /** Factory test type byte (factory_test_t). Appended after the HW revision bytes in the TX payload. Defaults to 0 (MAIN). */ + factoryTestType?: number; + onChunk?: ((chunkText: string, aggregateText: string) => void) | null; +} /** * Web Bluetooth client for the Verisense sensor platform. @@ -1308,6 +1328,9 @@ interface VerisenseCommandResponse { declare class VerisenseBleDevice extends BaseShimmerClient { private static readonly MAX_FRAME_PAYLOAD_LEN; private static readonly MAX_DEBUG_FRAME_PAYLOAD_LEN; + static readonly TEST_REPORT_MODE_ID = 254; + static readonly TEST_REPORT_DELIMITER = "//**************************** TEST START ************************************\r\n"; + static readonly TEST_REPORT_MARKER_HINT = "TEST START"; static readonly NUS_SERVICE = "6e400001-b5a3-f393-e0a9-e50e24dcca9e"; static readonly NUS_TX = "6e400002-b5a3-f393-e0a9-e50e24dcca9e"; static readonly NUS_RX = "6e400003-b5a3-f393-e0a9-e50e24dcca9e"; @@ -1333,6 +1356,8 @@ declare class VerisenseBleDevice extends BaseShimmerClient { private _pending; private _loggedChain; private _sync; + private _testReportCapture; + private readonly _testReportDecoder; readonly stripStreamCrc: boolean; readonly verifyStreamCrc: boolean; readonly hardwareIdentifier: string; @@ -1434,6 +1459,15 @@ declare class VerisenseBleDevice extends BaseShimmerClient { }): Promise; runTestMode(testPayload: Uint8Array | number[]): Promise; runHardwareTest(testId: TestModeId, hwMajor: number, hwMinor?: number, hwInternal?: number): Promise; + private _clearHardwareTestReportCapture; + private _captureHardwareTestReportChunk; + /** + * Runs TEST_REPORT (0xFE) and captures the rolling text report. + * + * The firmware ACKs the command first, then emits plain-text lines over the link. + * Capture starts on the first delimiter and completes on the second delimiter. + */ + runHardwareTestReport(hwMajor: number, hwMinor?: number, hwInternal?: number, opts?: HardwareTestReportOptions): Promise; private _buildDebugPayload; private _debugIndexArgs; private _waitForDebugResponse; @@ -1498,5 +1532,5 @@ declare class VerisenseBleDevice extends BaseShimmerClient { private _handleStreamingPayload; } -export { ASM_COMMAND, ASM_PROPERTY, BaseShimmerClient, CHANNEL_FORMATS, DEBUG_COMMAND_ID, GSR_NAME, NORDIC_DFU_BUTTONLESS_CHAR, NORDIC_DFU_CONTROL_CHAR, NORDIC_DFU_PACKET_CHAR, NORDIC_DFU_SERVICE, NUS_RX, NUS_SERVICE, NUS_TX, OPCODES, OP_IDX, ObjectCluster, SHIMMER3R_DEFAULTS, STREAM_MODE, SensorADC, SensorBase, SensorBitmapShimmer3, SensorLIS2DW12, SensorLSM6DS3, SensorPPG, Shimmer3RClient, TEST_MODE_ID, TIMESTAMP_FIELD, VerisenseBleDevice, applyDuplicateSuffix, asmRtcBytesToUnixSeconds, asmRtcMinutesBytesToUnixSeconds, buildHeader, buildMessage, buildParsedCsvFileName, buildProductionConfigPayload, buildUploadBinaryFileName, calibrateGsrDataToResistanceFromAmplifierEq, calibrateShimmer3RAdcChannel, calibrateU12AdcValue, computeVerisensePairingPin, crc16_ccitt_false, evaluateParsedFileSplit, getFirstPayloadIndex, getOversamplingRatioADS1292R, isAckCommand, isNackCommand, nextAvailableDuplicateFileName, normalizeBytePayload, normalizeOperationalConfig, nudgeGsrResistance, parseEventLogPayload, parseHeader, parseLookupTablePayload, parseMessage, parsePayloadCrcErrorBankIndexes, parsePendingEvents, parseProductionConfigPayload, parseProductionConfigPayloadFull, parseRecordBufferDetailsPayload, parseSchedulerDebugPayload, parseStatusPayload, unixSecondsToAsmRtcBytes }; -export type { ADCBatterySample, ADCGSRSample, ADCPayloadSample, AsmCommand, AsmProperty, ChannelFormat, DebugCommandId, DeviceMode, EvaluateParsedSplitInput, FieldKind, IShimmerClient, InertialCalibration, LIS2DW12Sample, LSM6DS3Sample, OpIdx, Opcode, PPGChannelSample, PPGSample, ParsedSplitReason, ProductionConfig, ProductionConfigBuildOptions, ProductionConfigFull, SensorBitmapShimmer3Key, SensorField, SensorMap, Shimmer3RClientOptions, ShimmerClientOptions, StreamPacket, TestModeId, TimestampFmt, TransferLoggedDataOptions, TransferLoggedDataResult, TransportKind, VerisenseClientOptions, VerisenseCommandResponse, VerisenseEventLogEntry, VerisenseLookupTableEntry, VerisenseLookupTablePayload, VerisenseMessage, VerisenseRecordBufferDetails, VerisenseSchedulerDebugPayload, VerisenseStatusPayload }; +export { ASM_COMMAND, ASM_PROPERTY, BaseShimmerClient, CHANNEL_FORMATS, DEBUG_COMMAND_ID, FACTORY_TEST, GSR_NAME, NORDIC_DFU_BUTTONLESS_CHAR, NORDIC_DFU_CONTROL_CHAR, NORDIC_DFU_PACKET_CHAR, NORDIC_DFU_SERVICE, NUS_RX, NUS_SERVICE, NUS_TX, OPCODES, OP_IDX, ObjectCluster, SHIMMER3R_DEFAULTS, STREAM_MODE, SensorADC, SensorBase, SensorBitmapShimmer3, SensorLIS2DW12, SensorLSM6DS3, SensorPPG, Shimmer3RClient, TEST_MODE_ID, TIMESTAMP_FIELD, VerisenseBleDevice, applyDuplicateSuffix, asmRtcBytesToUnixSeconds, asmRtcMinutesBytesToUnixSeconds, buildHeader, buildMessage, buildParsedCsvFileName, buildProductionConfigPayload, buildUploadBinaryFileName, calibrateGsrDataToResistanceFromAmplifierEq, calibrateShimmer3RAdcChannel, calibrateU12AdcValue, computeVerisensePairingPin, crc16_ccitt_false, evaluateParsedFileSplit, getFirstPayloadIndex, getOversamplingRatioADS1292R, isAckCommand, isNackCommand, nextAvailableDuplicateFileName, normalizeBytePayload, normalizeOperationalConfig, nudgeGsrResistance, parseEventLogPayload, parseHeader, parseLookupTablePayload, parseMessage, parsePayloadCrcErrorBankIndexes, parsePendingEvents, parseProductionConfigPayload, parseProductionConfigPayloadFull, parseRecordBufferDetailsPayload, parseSchedulerDebugPayload, parseStatusPayload, unixSecondsToAsmRtcBytes }; +export type { ADCBatterySample, ADCGSRSample, ADCPayloadSample, AsmCommand, AsmProperty, ChannelFormat, DebugCommandId, DeviceMode, EvaluateParsedSplitInput, FactoryTestType, FieldKind, IShimmerClient, InertialCalibration, LIS2DW12Sample, LSM6DS3Sample, OpIdx, Opcode, PPGChannelSample, PPGSample, ParsedSplitReason, ProductionConfig, ProductionConfigBuildOptions, ProductionConfigFull, SensorBitmapShimmer3Key, SensorField, SensorMap, Shimmer3RClientOptions, ShimmerClientOptions, StreamPacket, TestModeId, TimestampFmt, TransferLoggedDataOptions, TransferLoggedDataResult, TransportKind, VerisenseClientOptions, VerisenseCommandResponse, VerisenseEventLogEntry, VerisenseLookupTableEntry, VerisenseLookupTablePayload, VerisenseMessage, VerisenseRecordBufferDetails, VerisenseSchedulerDebugPayload, VerisenseStatusPayload }; diff --git a/shimmer-extension/vendor/shimmer-web-sdk.esm.js b/shimmer-extension/vendor/shimmer-web-sdk.esm.js index d368a25..62059ed 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.esm.js +++ b/shimmer-extension/vendor/shimmer-web-sdk.esm.js @@ -1284,6 +1284,7 @@ const TEST_MODE_ID = Object.freeze({ BIOZ_MAX30002: 0x0b, ACCEL2_GYRO_LSM6DSV: 0x0c, MAG_LIS2MDL: 0x0d, + TEST_REPORT: 0xfe, ALL_TESTS: 0xff, }); /** Debug command IDs documented by Verisense firmware. */ @@ -1372,6 +1373,16 @@ const OP_IDX = Object.freeze({ PPG_DAC4_CROSSTALK: 70, PROX_AGC_MODE: 71, }); +/** + * Factory test type selection byte sent as the last byte of a TEST_REPORT (0xFE) payload. + * Mirrors the firmware `factory_test_t` enum. + */ +const FACTORY_TEST = Object.freeze({ + MAIN: 0, + LEDS: 1, + ICS: 2, + LED_STATES: 3, +}); /** Read a 16-bit unsigned integer, little-endian. */ function u16le(b0, b1) { @@ -2820,6 +2831,8 @@ class VerisenseBleDevice extends BaseShimmerClient { this._pending = null; this._loggedChain = Promise.resolve(); this._sync = null; + this._testReportCapture = null; + this._testReportDecoder = new TextDecoder(); // Cached configs this.operationalConfig = null; this.productionConfig = null; @@ -2884,6 +2897,7 @@ class VerisenseBleDevice extends BaseShimmerClient { this._onGattDisconnected = () => { this._mode = 'idle'; this._transportKind = null; + this._clearHardwareTestReportCapture(new Error('Disconnected'), null); this.emit('disconnected', { kind: 'ble' }); }; this.device.addEventListener('gattserverdisconnected', this._onGattDisconnected); @@ -2984,6 +2998,7 @@ class VerisenseBleDevice extends BaseShimmerClient { this._serialReadLoopTask = null; if (!signal.aborted) { this._mode = 'idle'; + this._clearHardwareTestReportCapture(new Error('Disconnected'), null); this.emit('disconnected', { kind: 'serial' }); } } @@ -3085,6 +3100,7 @@ class VerisenseBleDevice extends BaseShimmerClient { /* ignore */ } } + this._clearHardwareTestReportCapture(new Error(opts.reason ?? 'Disconnected'), null); if (this._transportKind === 'serial') { try { await this._serialDisconnect(opts.reason ?? 'user'); @@ -3487,6 +3503,145 @@ class VerisenseBleDevice extends BaseShimmerClient { ]); await this.runTestMode(payload); } + _clearHardwareTestReportCapture(error, text) { + const cap = this._testReportCapture; + if (!cap) + return; + this._testReportCapture = null; + if (cap.timeout) { + clearTimeout(cap.timeout); + cap.timeout = null; + } + if (error) { + cap.reject?.(error); + return; + } + cap.resolve?.(text ?? ''); + } + _captureHardwareTestReportChunk(chunk) { + const cap = this._testReportCapture; + if (!cap || !chunk?.length) + return; + const decoded = this._testReportDecoder.decode(chunk, { stream: true }); + if (!decoded) + return; + cap.aggregateText += decoded; + if (!cap.started) { + const firstMarker = cap.aggregateText.indexOf(cap.marker); + if (firstMarker >= 0) { + cap.started = true; + if (firstMarker > 0) { + cap.aggregateText = cap.aggregateText.slice(firstMarker); + cap.emittedChars = 0; + } + } + else { + // Some firmware builds vary the star count around TEST START. Fall back + // to a fuzzy marker so we can still stream the report to the UI. + const hint = VerisenseBleDevice.TEST_REPORT_MARKER_HINT; + const hintIdx = cap.aggregateText.indexOf(hint); + if (hintIdx < 0) { + const keep = Math.max(cap.marker.length * 2, 2048); + if (cap.aggregateText.length > keep) { + cap.aggregateText = cap.aggregateText.slice(-keep); + } + return; + } + const bannerStart = cap.aggregateText.lastIndexOf('//', hintIdx); + let lineStart = bannerStart >= 0 ? bannerStart : cap.aggregateText.lastIndexOf('\n', hintIdx); + lineStart = lineStart >= 0 ? lineStart + (bannerStart >= 0 ? 0 : 1) : 0; + cap.started = true; + if (lineStart > 0) { + cap.aggregateText = cap.aggregateText.slice(lineStart); + cap.emittedChars = 0; + } + } + } + const nextChunk = cap.aggregateText.slice(cap.emittedChars); + if (nextChunk) { + cap.onChunk?.(nextChunk, cap.aggregateText); + this.emit('hardwareTestReportChunk', { + chunkText: nextChunk, + aggregateText: cap.aggregateText, + }); + cap.emittedChars = cap.aggregateText.length; + } + const endMarker = cap.aggregateText.indexOf(cap.marker, cap.marker.length); + let full = null; + if (endMarker >= 0) { + full = cap.aggregateText.slice(0, endMarker + cap.marker.length); + } + else { + const hint = VerisenseBleDevice.TEST_REPORT_MARKER_HINT; + const firstHint = cap.aggregateText.indexOf(hint); + if (firstHint >= 0) { + const secondHint = cap.aggregateText.indexOf(hint, firstHint + hint.length); + if (secondHint >= 0) { + const endOfSecondLine = cap.aggregateText.indexOf('\n', secondHint); + full = endOfSecondLine >= 0 + ? cap.aggregateText.slice(0, endOfSecondLine + 1) + : cap.aggregateText; + } + } + } + if (full !== null) { + this.emit('hardwareTestReportComplete', { text: full }); + this._clearHardwareTestReportCapture(null, full); + return; + } + if (cap.aggregateText.length > cap.maxChars) { + cap.aggregateText = cap.aggregateText.slice(-cap.maxChars); + cap.emittedChars = Math.min(cap.emittedChars, cap.aggregateText.length); + } + } + /** + * Runs TEST_REPORT (0xFE) and captures the rolling text report. + * + * The firmware ACKs the command first, then emits plain-text lines over the link. + * Capture starts on the first delimiter and completes on the second delimiter. + */ + async runHardwareTestReport(hwMajor, hwMinor = 0, hwInternal = 0, opts = {}) { + const timeoutMs = Math.max(1000, Math.trunc(opts.timeoutMs ?? 120000)); + const marker = typeof opts.marker === 'string' && opts.marker.length > 0 + ? opts.marker + : VerisenseBleDevice.TEST_REPORT_DELIMITER; + const maxChars = Math.max(4096, Math.trunc(opts.maxChars ?? 2 * 1024 * 1024)); + this._clearHardwareTestReportCapture(new Error('Hardware test report capture was replaced'), null); + this._testReportDecoder.decode(); + const reportPromise = new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + this._clearHardwareTestReportCapture(new Error(`Hardware test report timeout after ${timeoutMs} ms`), null); + }, timeoutMs); + this._testReportCapture = { + marker, + maxChars, + started: false, + aggregateText: '', + emittedChars: 0, + resolve, + reject, + onChunk: opts.onChunk ?? null, + timeout, + }; + }); + try { + const factoryTestType = Math.max(0, Math.min(255, Math.trunc(opts.factoryTestType ?? 0))); + const payload = new Uint8Array([ + VerisenseBleDevice.TEST_REPORT_MODE_ID & 0xff, + hwMajor & 0xff, + hwMinor & 0xff, + hwInternal & 0xff, + (hwInternal >> 8) & 0xff, + factoryTestType, + ]); + await this.runTestMode(payload); + } + catch (error) { + this._clearHardwareTestReportCapture(error, null); + throw error; + } + return reportPromise; + } _buildDebugPayload(debugId, args = []) { const argBytes = args instanceof Uint8Array ? args : new Uint8Array(args); const payload = new Uint8Array(1 + argBytes.length); @@ -3855,6 +4010,9 @@ class VerisenseBleDevice extends BaseShimmerClient { _feedStreamBytes(chunk) { if (this._mode === 'logged' && this._sync) this._sync.lastRxAt = Date.now(); + if (this._testReportCapture) { + this._captureHardwareTestReportChunk(chunk); + } this._appendStreamBuf(chunk); for (;;) { if (this._rxStreamBuf.length < 3) @@ -3986,6 +4144,9 @@ class VerisenseBleDevice extends BaseShimmerClient { } VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN = 4096; VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN = 0xffff; +VerisenseBleDevice.TEST_REPORT_MODE_ID = 0xfe; +VerisenseBleDevice.TEST_REPORT_DELIMITER = '//**************************** TEST START ************************************\r\n'; +VerisenseBleDevice.TEST_REPORT_MARKER_HINT = 'TEST START'; // Static NUS UUIDs VerisenseBleDevice.NUS_SERVICE = NUS_SERVICE; VerisenseBleDevice.NUS_TX = NUS_TX; @@ -3993,5 +4154,5 @@ VerisenseBleDevice.NUS_RX = NUS_RX; VerisenseBleDevice.NORDIC_DFU_SERVICE = NORDIC_DFU_SERVICE; VerisenseBleDevice.NORDIC_DFU_BUTTONLESS_CHAR = NORDIC_DFU_BUTTONLESS_CHAR; -export { ASM_COMMAND, ASM_PROPERTY, BaseShimmerClient, CHANNEL_FORMATS, DEBUG_COMMAND_ID, GSR_NAME, NORDIC_DFU_BUTTONLESS_CHAR, NORDIC_DFU_CONTROL_CHAR, NORDIC_DFU_PACKET_CHAR, NORDIC_DFU_SERVICE, NUS_RX, NUS_SERVICE, NUS_TX, OPCODES, OP_IDX, ObjectCluster, SHIMMER3R_DEFAULTS, STREAM_MODE, SensorADC, SensorBase, SensorBitmapShimmer3, SensorLIS2DW12, SensorLSM6DS3, SensorPPG, Shimmer3RClient, TEST_MODE_ID, TIMESTAMP_FIELD, VerisenseBleDevice, applyDuplicateSuffix, asmRtcBytesToUnixSeconds, asmRtcMinutesBytesToUnixSeconds, buildHeader, buildMessage, buildParsedCsvFileName, buildProductionConfigPayload, buildUploadBinaryFileName, calibrateGsrDataToResistanceFromAmplifierEq, calibrateShimmer3RAdcChannel, calibrateU12AdcValue, computeVerisensePairingPin, crc16_ccitt_false, evaluateParsedFileSplit, getFirstPayloadIndex, getOversamplingRatioADS1292R, isAckCommand, isNackCommand, nextAvailableDuplicateFileName, normalizeBytePayload, normalizeOperationalConfig, nudgeGsrResistance, parseEventLogPayload, parseHeader, parseLookupTablePayload, parseMessage, parsePayloadCrcErrorBankIndexes, parsePendingEvents, parseProductionConfigPayload, parseProductionConfigPayloadFull, parseRecordBufferDetailsPayload, parseSchedulerDebugPayload, parseStatusPayload, unixSecondsToAsmRtcBytes }; +export { ASM_COMMAND, ASM_PROPERTY, BaseShimmerClient, CHANNEL_FORMATS, DEBUG_COMMAND_ID, FACTORY_TEST, GSR_NAME, NORDIC_DFU_BUTTONLESS_CHAR, NORDIC_DFU_CONTROL_CHAR, NORDIC_DFU_PACKET_CHAR, NORDIC_DFU_SERVICE, NUS_RX, NUS_SERVICE, NUS_TX, OPCODES, OP_IDX, ObjectCluster, SHIMMER3R_DEFAULTS, STREAM_MODE, SensorADC, SensorBase, SensorBitmapShimmer3, SensorLIS2DW12, SensorLSM6DS3, SensorPPG, Shimmer3RClient, TEST_MODE_ID, TIMESTAMP_FIELD, VerisenseBleDevice, applyDuplicateSuffix, asmRtcBytesToUnixSeconds, asmRtcMinutesBytesToUnixSeconds, buildHeader, buildMessage, buildParsedCsvFileName, buildProductionConfigPayload, buildUploadBinaryFileName, calibrateGsrDataToResistanceFromAmplifierEq, calibrateShimmer3RAdcChannel, calibrateU12AdcValue, computeVerisensePairingPin, crc16_ccitt_false, evaluateParsedFileSplit, getFirstPayloadIndex, getOversamplingRatioADS1292R, isAckCommand, isNackCommand, nextAvailableDuplicateFileName, normalizeBytePayload, normalizeOperationalConfig, nudgeGsrResistance, parseEventLogPayload, parseHeader, parseLookupTablePayload, parseMessage, parsePayloadCrcErrorBankIndexes, parsePendingEvents, parseProductionConfigPayload, parseProductionConfigPayloadFull, parseRecordBufferDetailsPayload, parseSchedulerDebugPayload, parseStatusPayload, unixSecondsToAsmRtcBytes }; //# sourceMappingURL=shimmer-web-sdk.esm.js.map diff --git a/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map b/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map index 88fd853..2d58964 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map +++ b/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map @@ -1 +1 @@ -{"version":3,"file":"shimmer-web-sdk.esm.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shimmer-web-sdk.esm.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file diff --git a/shimmer-extension/vendor/shimmer-web-sdk.umd.js b/shimmer-extension/vendor/shimmer-web-sdk.umd.js index 06121e2..fddfcdb 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.umd.js +++ b/shimmer-extension/vendor/shimmer-web-sdk.umd.js @@ -1290,6 +1290,7 @@ BIOZ_MAX30002: 0x0b, ACCEL2_GYRO_LSM6DSV: 0x0c, MAG_LIS2MDL: 0x0d, + TEST_REPORT: 0xfe, ALL_TESTS: 0xff, }); /** Debug command IDs documented by Verisense firmware. */ @@ -1378,6 +1379,16 @@ PPG_DAC4_CROSSTALK: 70, PROX_AGC_MODE: 71, }); + /** + * Factory test type selection byte sent as the last byte of a TEST_REPORT (0xFE) payload. + * Mirrors the firmware `factory_test_t` enum. + */ + const FACTORY_TEST = Object.freeze({ + MAIN: 0, + LEDS: 1, + ICS: 2, + LED_STATES: 3, + }); /** Read a 16-bit unsigned integer, little-endian. */ function u16le(b0, b1) { @@ -2826,6 +2837,8 @@ this._pending = null; this._loggedChain = Promise.resolve(); this._sync = null; + this._testReportCapture = null; + this._testReportDecoder = new TextDecoder(); // Cached configs this.operationalConfig = null; this.productionConfig = null; @@ -2890,6 +2903,7 @@ this._onGattDisconnected = () => { this._mode = 'idle'; this._transportKind = null; + this._clearHardwareTestReportCapture(new Error('Disconnected'), null); this.emit('disconnected', { kind: 'ble' }); }; this.device.addEventListener('gattserverdisconnected', this._onGattDisconnected); @@ -2990,6 +3004,7 @@ this._serialReadLoopTask = null; if (!signal.aborted) { this._mode = 'idle'; + this._clearHardwareTestReportCapture(new Error('Disconnected'), null); this.emit('disconnected', { kind: 'serial' }); } } @@ -3091,6 +3106,7 @@ /* ignore */ } } + this._clearHardwareTestReportCapture(new Error(opts.reason ?? 'Disconnected'), null); if (this._transportKind === 'serial') { try { await this._serialDisconnect(opts.reason ?? 'user'); @@ -3493,6 +3509,145 @@ ]); await this.runTestMode(payload); } + _clearHardwareTestReportCapture(error, text) { + const cap = this._testReportCapture; + if (!cap) + return; + this._testReportCapture = null; + if (cap.timeout) { + clearTimeout(cap.timeout); + cap.timeout = null; + } + if (error) { + cap.reject?.(error); + return; + } + cap.resolve?.(text ?? ''); + } + _captureHardwareTestReportChunk(chunk) { + const cap = this._testReportCapture; + if (!cap || !chunk?.length) + return; + const decoded = this._testReportDecoder.decode(chunk, { stream: true }); + if (!decoded) + return; + cap.aggregateText += decoded; + if (!cap.started) { + const firstMarker = cap.aggregateText.indexOf(cap.marker); + if (firstMarker >= 0) { + cap.started = true; + if (firstMarker > 0) { + cap.aggregateText = cap.aggregateText.slice(firstMarker); + cap.emittedChars = 0; + } + } + else { + // Some firmware builds vary the star count around TEST START. Fall back + // to a fuzzy marker so we can still stream the report to the UI. + const hint = VerisenseBleDevice.TEST_REPORT_MARKER_HINT; + const hintIdx = cap.aggregateText.indexOf(hint); + if (hintIdx < 0) { + const keep = Math.max(cap.marker.length * 2, 2048); + if (cap.aggregateText.length > keep) { + cap.aggregateText = cap.aggregateText.slice(-keep); + } + return; + } + const bannerStart = cap.aggregateText.lastIndexOf('//', hintIdx); + let lineStart = bannerStart >= 0 ? bannerStart : cap.aggregateText.lastIndexOf('\n', hintIdx); + lineStart = lineStart >= 0 ? lineStart + (bannerStart >= 0 ? 0 : 1) : 0; + cap.started = true; + if (lineStart > 0) { + cap.aggregateText = cap.aggregateText.slice(lineStart); + cap.emittedChars = 0; + } + } + } + const nextChunk = cap.aggregateText.slice(cap.emittedChars); + if (nextChunk) { + cap.onChunk?.(nextChunk, cap.aggregateText); + this.emit('hardwareTestReportChunk', { + chunkText: nextChunk, + aggregateText: cap.aggregateText, + }); + cap.emittedChars = cap.aggregateText.length; + } + const endMarker = cap.aggregateText.indexOf(cap.marker, cap.marker.length); + let full = null; + if (endMarker >= 0) { + full = cap.aggregateText.slice(0, endMarker + cap.marker.length); + } + else { + const hint = VerisenseBleDevice.TEST_REPORT_MARKER_HINT; + const firstHint = cap.aggregateText.indexOf(hint); + if (firstHint >= 0) { + const secondHint = cap.aggregateText.indexOf(hint, firstHint + hint.length); + if (secondHint >= 0) { + const endOfSecondLine = cap.aggregateText.indexOf('\n', secondHint); + full = endOfSecondLine >= 0 + ? cap.aggregateText.slice(0, endOfSecondLine + 1) + : cap.aggregateText; + } + } + } + if (full !== null) { + this.emit('hardwareTestReportComplete', { text: full }); + this._clearHardwareTestReportCapture(null, full); + return; + } + if (cap.aggregateText.length > cap.maxChars) { + cap.aggregateText = cap.aggregateText.slice(-cap.maxChars); + cap.emittedChars = Math.min(cap.emittedChars, cap.aggregateText.length); + } + } + /** + * Runs TEST_REPORT (0xFE) and captures the rolling text report. + * + * The firmware ACKs the command first, then emits plain-text lines over the link. + * Capture starts on the first delimiter and completes on the second delimiter. + */ + async runHardwareTestReport(hwMajor, hwMinor = 0, hwInternal = 0, opts = {}) { + const timeoutMs = Math.max(1000, Math.trunc(opts.timeoutMs ?? 120000)); + const marker = typeof opts.marker === 'string' && opts.marker.length > 0 + ? opts.marker + : VerisenseBleDevice.TEST_REPORT_DELIMITER; + const maxChars = Math.max(4096, Math.trunc(opts.maxChars ?? 2 * 1024 * 1024)); + this._clearHardwareTestReportCapture(new Error('Hardware test report capture was replaced'), null); + this._testReportDecoder.decode(); + const reportPromise = new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + this._clearHardwareTestReportCapture(new Error(`Hardware test report timeout after ${timeoutMs} ms`), null); + }, timeoutMs); + this._testReportCapture = { + marker, + maxChars, + started: false, + aggregateText: '', + emittedChars: 0, + resolve, + reject, + onChunk: opts.onChunk ?? null, + timeout, + }; + }); + try { + const factoryTestType = Math.max(0, Math.min(255, Math.trunc(opts.factoryTestType ?? 0))); + const payload = new Uint8Array([ + VerisenseBleDevice.TEST_REPORT_MODE_ID & 0xff, + hwMajor & 0xff, + hwMinor & 0xff, + hwInternal & 0xff, + (hwInternal >> 8) & 0xff, + factoryTestType, + ]); + await this.runTestMode(payload); + } + catch (error) { + this._clearHardwareTestReportCapture(error, null); + throw error; + } + return reportPromise; + } _buildDebugPayload(debugId, args = []) { const argBytes = args instanceof Uint8Array ? args : new Uint8Array(args); const payload = new Uint8Array(1 + argBytes.length); @@ -3861,6 +4016,9 @@ _feedStreamBytes(chunk) { if (this._mode === 'logged' && this._sync) this._sync.lastRxAt = Date.now(); + if (this._testReportCapture) { + this._captureHardwareTestReportChunk(chunk); + } this._appendStreamBuf(chunk); for (;;) { if (this._rxStreamBuf.length < 3) @@ -3992,6 +4150,9 @@ } VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN = 4096; VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN = 0xffff; + VerisenseBleDevice.TEST_REPORT_MODE_ID = 0xfe; + VerisenseBleDevice.TEST_REPORT_DELIMITER = '//**************************** TEST START ************************************\r\n'; + VerisenseBleDevice.TEST_REPORT_MARKER_HINT = 'TEST START'; // Static NUS UUIDs VerisenseBleDevice.NUS_SERVICE = NUS_SERVICE; VerisenseBleDevice.NUS_TX = NUS_TX; @@ -4004,6 +4165,7 @@ exports.BaseShimmerClient = BaseShimmerClient; exports.CHANNEL_FORMATS = CHANNEL_FORMATS; exports.DEBUG_COMMAND_ID = DEBUG_COMMAND_ID; + exports.FACTORY_TEST = FACTORY_TEST; exports.GSR_NAME = GSR_NAME; exports.NORDIC_DFU_BUTTONLESS_CHAR = NORDIC_DFU_BUTTONLESS_CHAR; exports.NORDIC_DFU_CONTROL_CHAR = NORDIC_DFU_CONTROL_CHAR; diff --git a/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map b/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map index 1a0f874..04c43e7 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map +++ b/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"shimmer-web-sdk.umd.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shimmer-web-sdk.umd.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file From 2d348d439bcf78dfe57a6650ab71995e47e0c879 Mon Sep 17 00:00:00 2001 From: marknolan <6526073+marknolan@users.noreply.github.com> Date: Thu, 28 May 2026 12:00:53 +0000 Subject: [PATCH 12/18] chore: format HTML files --- VerisenseCapture/index.html | 5248 +++++++++++++++++++---------------- 1 file changed, 2898 insertions(+), 2350 deletions(-) diff --git a/VerisenseCapture/index.html b/VerisenseCapture/index.html index 3acb1fb..2d78040 100644 --- a/VerisenseCapture/index.html +++ b/VerisenseCapture/index.html @@ -1,2518 +1,3066 @@ ๏ปฟ + + + + Verisense Capture + + - - - -
-
-
-

Verisense Capture

-
Full-feature Verisense communication demo.
-
-
- - Verisense logo - -
-
+ width: 100%; + height: calc(68vh - 80px); + border-radius: 10px; + border: 1px solid #273444; + background: var(--log-bg); + color: var(--log-ink); + overflow: auto; + white-space: pre-wrap; + word-break: break-word; + padding: 10px; + font-family: Consolas, "Courier New", monospace; + font-size: 12px; + line-height: 1.35; + } -
-
-

Connection

-
- - - - -
-
- Transport: - none - idle -
-
- -
-

Current Status

-
-
Device Name
-
-
-
Unique ID
-
-
-
HW
-
-
-
FW
-
-
-
Battery
-
-
-
Flash
-
-
-
Flash Banks
-
-
-
ATT MTU
-
-
-
Conn Interval
-
-
-
PHY
-
-
-
-
-
+ .mono { + font-family: Consolas, "Courier New", monospace; + font-size: 12px; + } + + .lookup-table-wrap { + max-height: 340px; + overflow: auto; + border: 1px solid var(--line); + border-radius: 10px; + background: #fff; + } + + .lookup-table { + width: 100%; + border-collapse: collapse; + font-size: 12px; + font-family: Consolas, "Courier New", monospace; + } + + .lookup-table th, + .lookup-table td { + border-bottom: 1px solid #e4ecef; + padding: 6px 8px; + text-align: left; + white-space: nowrap; + } + + .lookup-table thead th { + position: sticky; + top: 0; + background: #f3f8fa; + z-index: 1; + } + + .status-badge { + padding: 4px 8px; + border-radius: 999px; + background: #e7f5f4; + color: #0b6f6b; + font-weight: 700; + border: 1px solid #b8e2e0; + } + + .plot-wrap { + margin-top: 8px; + } + + .plot-canvas { + width: 100%; + height: 170px; + background: #111; + border-radius: 12px; + display: block; + border: 1px solid #222; + } + + @media (max-width: 1100px) { + .top, + .main, + .section-grid-2, + .section-grid-3 { + grid-template-columns: 1fr; + } + + .brand-header { + align-items: flex-start; + flex-direction: column; + } + + .brand-logos { + justify-content: flex-start; + } + + .log-box { + height: 300px; + } + } + + #dfu-drop { + border: 2px dashed var(--line); + border-radius: 6px; + padding: 24px 20px; + text-align: center; + cursor: pointer; + transition: + background 0.15s, + border-color 0.15s; + margin-bottom: 10px; + } + + #dfu-drop.hover { + background: rgba(13, 143, 139, 0.06); + border-color: var(--accent); + } + + #dfu-icon { + fill: var(--muted); + display: block; + margin: 0 auto 10px; + } + + #dfu-label { + cursor: pointer; + display: block; + } + + #dfu-label span { + display: block; + font-size: 12px; + color: var(--muted); + margin-top: 4px; + } + + #dfu-select { + visibility: hidden; + margin-top: 12px; + } + + #dfu-status-bar { + visibility: hidden; + height: 24px; + border: 1px solid var(--line); + position: relative; + margin-top: 10px; + } + + #dfu-bar { + background: var(--accent); + width: 0%; + height: 100%; + } + + #dfu-transfer { + position: absolute; + top: 0; + left: 0; + right: 0; + text-align: center; + line-height: 24px; + font-size: 12px; + } + + #dfu-status-msg { + margin-top: 8px; + font-size: 13px; + min-height: 18px; + } + + .dfu-badge-active { + color: #1e7a1e; + font-weight: 600; + } + + .dfu-badge-inactive { + color: #b93232; + font-weight: 600; + } + + #dfu-connected-notice { + display: none; + background: #fff8e7; + border: 1px solid #f0c060; + border-radius: 8px; + padding: 8px 12px; + font-size: 13px; + color: #7a4f00; + margin-bottom: 10px; + } -
-
-
- - - - - - - - + #dfu-update-body.dfu-disabled { + opacity: 0.4; + pointer-events: none; + user-select: none; + } + + + + +
+
+
+

Verisense Capture

+
Full-feature Verisense communication demo.
+
+ + Verisense logo + +
+
-
-
-

Status Reads

-
- - -
+
+
+

Connection

+
+ + + + +
+
+ Transport: + none + idle
+
+ +
+

Current Status

+
+
Device Name
+
-
+
Unique ID
+
-
+
HW
+
-
+
FW
+
-
+
Battery
+
-
+
Flash
+
-
+
Flash Banks
+
-
+
ATT MTU
+
-
+
Conn Interval
+
-
+
PHY
+
-
+
+
+
-
-

Timing

-
- - - -
-
- - -
+
+
+
+ + + + + + + +
-
-

Danger Zone

-
- - +
+
+

Status Reads

+
+ + +
-
-
+
+

Timing

+
+ + + +
+
+ + +
+
-
-
-

Logged Data Transfer

-
- - Saves to file picker destination. +
+

Danger Zone

+
+ + +
-
-

Advanced

-
- - - - +
+
+

Logged Data Transfer

+
+ + Saves to file picker destination. +
-
No lookup data loaded.
-
-
-

Flash Lookup Entries

-
- - - - - - - - - - - - - - - -
BankStatusStatus CodePayload IndexEEPROM Pending
Run Read Flash Lookup Table to populate.
+
+

Advanced

+
+ + + + +
+
No lookup data loaded.
-
-
-
-
-

Read/Write

-
- - - +
+

Flash Lookup Entries

+
+ + + + + + + + + + + + + + + +
BankStatusStatus CodePayload IndexEEPROM Pending
+ Run Read Flash Lookup Table to populate. +
+
-
-

Production Fields

-
- - - +
+
+

Read/Write

+
+ + + +
-
- - - -
+
+

Production Fields

+
+ + + +
-
- - - -
+
+ + + +
-
- - - -
-
-
+
+ + + +
-
-
-

Read/Write

-
- - - +
+ + + +
-
-

Accel1

-
- - - +
+
+

Read/Write

+
+ + + +
-
-
-

ADC / GSR / Battery

-
- - - +
+

Accel1

+
+ + + +
-
- - + +
+

ADC / GSR / Battery

+
+ + + +
+
+ + +
-
-
-

Notes

-
This editor currently patches fields with explicit SDK helpers (Accel1 + ADC/GSR/Batt). - Other sensor settings can be controlled from Console Ops and stream decoders.
+
+

Notes

+
+ This editor currently patches fields with explicit SDK helpers + (Accel1 + ADC/GSR/Batt). Other sensor settings can be controlled + from Console Ops and stream decoders. +
+
-
-
-
-

Streaming Control

-
- - - -
-
-
Accel Packets
-
0
-
ADC/GSR Packets
-
0
-
Last Sensor ID
-
-
+
+
+

Streaming Control

+
+ + + +
+
+
Accel Packets
+
0
+
ADC/GSR Packets
+
0
+
Last Sensor ID
+
-
+
-
-
-

Accel Plot

-
- +
+

Accel Plot

+
+ +
+
- -
-
-

GSR Plot

-
- +
+

GSR Plot

+
+ +
+
-
-
-
-
-

DFU Flow

-
-
-
- Step 1 - Enable DFU Service - - Nordic DFU Service: - โ€” not connected โ€” - -
-

- Use this once to enable Nordic DFU service advertisement after the next disconnect. This does not - reboot the device immediately. -

-
- - +
+
+

DFU Flow

+
+
+
+ Step 1 + Enable DFU Service + + Nordic DFU Service: + โ€” not connected โ€” + +
+

+ Use this once to enable Nordic DFU service advertisement + after the next disconnect. This does not reboot the device + immediately. +

+
+ + +
-
-
-
- Step 2 - Reboot To DFU Bootloader Mode -
-

- After reconnecting with Nordic DFU service active, use the buttonless DFU command to reboot directly - into bootloader mode. -

-
- +
+
+ Step 2 + Reboot To DFU Bootloader Mode +
+

+ After reconnecting with Nordic DFU service active, use the + buttonless DFU command to reboot directly into bootloader + mode. +

+
+ +
-
-
-
- Step 3 - Perform Firmware Update -
-

- Select a firmware .zip package, then click Begin Update. A browser - device - picker will open and the DFU library will connect to the bootloader and flash the firmware. -

-
- ⚠︎ A device is currently connected — disconnect from it first before using the DFU - Update Tool. -
-
-
- - - - - -
- -
+
+
+ Step 3 + Perform Firmware Update +
+

+ Select a firmware .zip package, then click + Begin Update. A browser device picker will + open and the DFU library will connect to the bootloader and + flash the firmware. +

+
+ ⚠︎ A device is currently connected — + disconnect from it first before using the DFU Update Tool.
-
-
-
+
+
+ + + + + +
+ +
+
+
+
+
+
+
-
-
-
-
-

Event Log Reader

-
- +
+
+

Event Log Reader

+
+ +
+
+ No event log data loaded. +
-
No event log data loaded.
-
-
-

Event Log Entries

-
- - - - - - - - - - - - - - - -
#Event IDEvent NameTimestampBattery (mV)
Run Read Event Log to populate.
+
+

Event Log Entries

+
+ + + + + + + + + + + + + + + +
#Event IDEvent NameTimestampBattery (mV)
+ Run Read Event Log to populate. +
+
-
-
-
-

Test Report

-

- Runs TEST_REPORT (0xFE) on the device. The device sends a rolling text report - delimited by the TEST START banner. PASS and FAIL results are highlighted. -

-
- - -
HW revision unavailable. Read production config first.
-
- -
- Hardware Test Report - +
+
+

Test Report

+

+ Runs TEST_REPORT (0xFE) on the device. The + device sends a rolling text report delimited by the TEST START + banner. PASS and FAIL results are highlighted. +

+
+ + +
+ HW revision unavailable. Read production config first. +
-
-
-
- -
-

Hardware Test (deprecated)

-
- -
-
- + +
+ Hardware Test Report + +
+
+
-
-
-

Advanced

-
- -
-
- +
+

Hardware Test (deprecated)

+
+ +
- - - +
-
- + +
+

Advanced

- - - + +
+
+ +
+ + + +
+
+
+ +
+ + + +
-
-
- -
-

Log

-
- - -
-

-      
+
+ +
+

Log

+
+ + +
+

+        
+
-
- - - - - - - + + + + - - + + - - - \ No newline at end of file + + ui.btnStreamClear.addEventListener("click", () => { + state.accelPackets = 0; + state.adcPackets = 0; + ui.streamAccelCount.textContent = "0"; + ui.streamAdcCount.textContent = "0"; + ui.streamLastSensor.textContent = "-"; + resetAccelPlotBuffers(state.v?.accel1?.samplingRateHz ?? 51.2); + resetGsrPlotBuffers(state.v?.adc?.samplingRateHz ?? 50); + }); + + ui.btnLogClear.addEventListener("click", () => { + ui.log.textContent = ""; + }); + + if (ui.btnTestReportClose) { + ui.btnTestReportClose.addEventListener("click", () => { + if (ui.testReportDialog?.open) ui.testReportDialog.close(); + }); + } + + document.querySelectorAll("[data-action]").forEach((el) => { + el.addEventListener("click", async () => { + const action = el.getAttribute("data-action"); + try { + await runAction(action); + } catch (e) { + if (isDebugHeaderNackError(e)) { + log( + `${action} unavailable on this firmware`, + String(e?.message ?? e), + ); + return; + } + log(`${action} error`, String(e?.message ?? e)); + console.warn(e); + } + }); + }); + } + + attachEvents(); + setConnectionButtonsState({ connected: false }); + updateBleLinkInfo("none"); + updateDfuUpdateToolState(false); + updateHardwareTestAvailability(); + resetAccelPlotBuffers(51.2); + resetGsrPlotBuffers(50); + log("Verisense Capture ready."); + + + From 485360b84b177bd9b40f03282b73e210e8efabd3 Mon Sep 17 00:00:00 2001 From: Mark Nolan Date: Thu, 28 May 2026 13:30:09 +0100 Subject: [PATCH 13/18] DEV-750 op config bytes box --- VerisenseCapture/index.html | 5678 +++++++++++++++++------------------ 1 file changed, 2822 insertions(+), 2856 deletions(-) diff --git a/VerisenseCapture/index.html b/VerisenseCapture/index.html index 2d78040..11e4db7 100644 --- a/VerisenseCapture/index.html +++ b/VerisenseCapture/index.html @@ -1,3066 +1,3032 @@ ๏ปฟ - - - - Verisense Capture - - + + + +
+
+
+

Verisense Capture

+
Full-feature Verisense communication demo.
+
+
+ + Verisense logo + +
+
- #dfu-update-body.dfu-disabled { - opacity: 0.4; - pointer-events: none; - user-select: none; - } - - - - -
-
-
-

Verisense Capture

-
Full-feature Verisense communication demo.
+
+
+

Connection

+
+ + + +
-
- - Verisense logo - +
+ Transport: + none + idle
-
+
+ +
+

Current Status

+
+
Device Name
+
-
+
Unique ID
+
-
+
HW
+
-
+
FW
+
-
+
Battery
+
-
+
Flash
+
-
+
Flash Banks
+
-
+
ATT MTU
+
-
+
Conn Interval
+
-
+
PHY
+
-
+
+
+
-
-
-

Connection

-
- - - - -
-
- Transport: - none - idle -
-
- -
-

Current Status

-
-
Device Name
-
-
-
Unique ID
-
-
-
HW
-
-
-
FW
-
-
-
Battery
-
-
-
Flash
-
-
-
Flash Banks
-
-
-
ATT MTU
-
-
-
Conn Interval
-
-
-
PHY
-
-
-
-
-
+
+
+
+ + + + + + + + +
-
-
-
- - - - - - - - +
+
+

Status Reads

+
+ + +
-
-
-

Status Reads

-
- - -
+
+

Timing

+
+ + + +
+
+ +
+
-
-

Timing

-
- - - -
-
- - -
+
+

Danger Zone

+
+ +
+
+
-
-

Danger Zone

-
- - -
+
+
+

Logged Data Transfer

+
+ + Saves to file picker destination.
-
-
-

Logged Data Transfer

-
- - Saves to file picker destination. -
+
+

Advanced

+
+ + + +
+
No lookup data loaded.
+
-
-

Advanced

-
- - - - -
-
No lookup data loaded.
+
+

Flash Lookup Entries

+
+ + + + + + + + + + + + + + + +
BankStatusStatus CodePayload IndexEEPROM Pending
+ Run Read Flash Lookup Table to populate. +
+
+
-
-

Flash Lookup Entries

-
- - - - - - - - - - - - - - - -
BankStatusStatus CodePayload IndexEEPROM Pending
- Run Read Flash Lookup Table to populate. -
-
+
+
+

Read/Write

+
+ + +
-
-
-

Read/Write

-
- - - -
+
+

Production Fields

+
+ + +
-
-

Production Fields

-
- - - -
+
+ + + +
-
- - - -
+
+ + + +
-
- - - -
+
+ + + +
+
+
-
- - - -
+
+
+

Read/Write

+
+ + +
-
-
-

Read/Write

-
- - - -
+
+

Accel1

+
+ + +
+
-
-

Accel1

-
- - - -
+
+

ADC / GSR / Battery

+
+ + +
+
+ + +
+
-
-

ADC / GSR / Battery

-
- - - -
-
- - -
+
+

Notes

+
+ This editor currently patches fields with explicit SDK helpers + (Accel1 + ADC/GSR/Batt). Other sensor settings can be controlled + from Console Ops and stream decoders.
+
-
-

Notes

-
- This editor currently patches fields with explicit SDK helpers - (Accel1 + ADC/GSR/Batt). Other sensor settings can be controlled - from Console Ops and stream decoders. -
+
+

Operational Config Bytes

+
+ Live preview updates as GUI values change. Paste bytes and click + Apply Bytes To GUI to decode them into the controls. +
+ +
+ + + Connect and read op config to begin.
+
-
-
-

Streaming Control

-
- - - -
-
-
Accel Packets
-
0
-
ADC/GSR Packets
-
0
-
Last Sensor ID
-
-
-
+
+
+

Streaming Control

+
+ + +
-
-

Accel Plot

-
- -
- +
+
Accel Packets
+
0
+
ADC/GSR Packets
+
0
+
Last Sensor ID
+
-
-
-

GSR Plot

-
- -
- +
+
+

Accel Plot

+
+ +
+ +
+
+

GSR Plot

+
+
+
+
-
-
-

DFU Flow

-
-
-
- Step 1 - Enable DFU Service - - Nordic DFU Service: - โ€” not connected โ€” - -
-

- Use this once to enable Nordic DFU service advertisement - after the next disconnect. This does not reboot the device - immediately. -

-
- - -
+
+
+

DFU Flow

+
+
+
+ Step 1 + Enable DFU Service + + Nordic DFU Service: + โ€” not connected โ€” + +
+

+ Use this once to enable Nordic DFU service advertisement + after the next disconnect. This does not reboot the device + immediately. +

+
+ +
+
-
-
- Step 2 - Reboot To DFU Bootloader Mode -
-

- After reconnecting with Nordic DFU service active, use the - buttonless DFU command to reboot directly into bootloader - mode. -

-
- -
+
+
+ Step 2 + Reboot To DFU Bootloader Mode +
+

+ After reconnecting with Nordic DFU service active, use the + buttonless DFU command to reboot directly into bootloader + mode. +

+
+
+
-
-
- Step 3 - Perform Firmware Update -
-

- Select a firmware .zip package, then click - Begin Update. A browser device picker will - open and the DFU library will connect to the bootloader and - flash the firmware. -

-
- ⚠︎ A device is currently connected — - disconnect from it first before using the DFU Update Tool. -
-
-
- - - - +
+ Step 3 + Perform Firmware Update +
+

+ Select a firmware .zip package, then click + Begin Update. A browser device picker will + open and the DFU library will connect to the bootloader and + flash the firmware. +

+
+ ⚠︎ A device is currently connected — + disconnect from it first before using the DFU Update Tool. +
+
+
+ + + + - -
- -
+ " /> + +
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-

Event Log Reader

-
- -
-
- No event log data loaded. -
+
+
+

Event Log Reader

+
+
-
-

Event Log Entries

-
- - - - - - - - - - - - - - - -
#Event IDEvent NameTimestampBattery (mV)
- Run Read Event Log to populate. -
-
+
+ No event log data loaded. +
+
+
+

Event Log Entries

+
+ + + + + + + + + + + + + + + +
#Event IDEvent NameTimestampBattery (mV)
+ Run Read Event Log to populate. +
+
-
-
-

Test Report

-

- Runs TEST_REPORT (0xFE) on the device. The - device sends a rolling text report delimited by the TEST START - banner. PASS and FAIL results are highlighted. -

-
- - -
- HW revision unavailable. Read production config first. -
+
+
+

Test Report

+

+ Runs TEST_REPORT (0xFE) on the device. The + device sends a rolling text report delimited by the TEST START + banner. PASS and FAIL results are highlighted. +

+
+ + +
+ HW revision unavailable. Read production config first.
- -
- Hardware Test Report - -
-
-
- -
-

Hardware Test (deprecated)

-
- + +
+ Hardware Test Report +
+
+
+
+ +
+

Hardware Test (deprecated)

+
+ +
+
+ +
+
+ +
+

Advanced

+
+ +
+
+
- + +
- -
-

Advanced

+
+
- -
-
- -
- - - -
-
-
- -
- - - -
+ + +
-
- -
-

Log

-
- - -
-

-        
-
+
+ + +
+

Log

+
+ + +
+

+      
- - - - - - - + + + + - - + + - - + }); + } + + attachEvents(); + setConnectionButtonsState({ connected: false }); + updateBleLinkInfo("none"); + updateDfuUpdateToolState(false); + updateHardwareTestAvailability(); + resetAccelPlotBuffers(51.2); + resetGsrPlotBuffers(50); + log("Verisense Capture ready."); + + + + \ No newline at end of file From 55e0e7eba34f2536713d93792417f539a2b29dd2 Mon Sep 17 00:00:00 2001 From: marknolan <6526073+marknolan@users.noreply.github.com> Date: Thu, 28 May 2026 12:30:39 +0000 Subject: [PATCH 14/18] chore: format HTML files --- VerisenseCapture/index.html | 5821 ++++++++++++++++++----------------- 1 file changed, 2998 insertions(+), 2823 deletions(-) diff --git a/VerisenseCapture/index.html b/VerisenseCapture/index.html index 11e4db7..c0be9fc 100644 --- a/VerisenseCapture/index.html +++ b/VerisenseCapture/index.html @@ -1,3032 +1,3207 @@ ๏ปฟ + + + + Verisense Capture + + - - - -
-
-
-

Verisense Capture

-
Full-feature Verisense communication demo.
-
-
- - Verisense logo - -
-
+ width: 100%; + height: calc(68vh - 80px); + border-radius: 10px; + border: 1px solid #273444; + background: var(--log-bg); + color: var(--log-ink); + overflow: auto; + white-space: pre-wrap; + word-break: break-word; + padding: 10px; + font-family: Consolas, "Courier New", monospace; + font-size: 12px; + line-height: 1.35; + } -
-
-

Connection

-
- - - - -
-
- Transport: - none - idle + .mono { + font-family: Consolas, "Courier New", monospace; + font-size: 12px; + } + + .lookup-table-wrap { + max-height: 340px; + overflow: auto; + border: 1px solid var(--line); + border-radius: 10px; + background: #fff; + } + + .lookup-table { + width: 100%; + border-collapse: collapse; + font-size: 12px; + font-family: Consolas, "Courier New", monospace; + } + + .lookup-table th, + .lookup-table td { + border-bottom: 1px solid #e4ecef; + padding: 6px 8px; + text-align: left; + white-space: nowrap; + } + + .lookup-table thead th { + position: sticky; + top: 0; + background: #f3f8fa; + z-index: 1; + } + + .status-badge { + padding: 4px 8px; + border-radius: 999px; + background: #e7f5f4; + color: #0b6f6b; + font-weight: 700; + border: 1px solid #b8e2e0; + } + + .plot-wrap { + margin-top: 8px; + } + + .plot-canvas { + width: 100%; + height: 170px; + background: #111; + border-radius: 12px; + display: block; + border: 1px solid #222; + } + + @media (max-width: 1100px) { + .top, + .main, + .section-grid-2, + .section-grid-3 { + grid-template-columns: 1fr; + } + + .brand-header { + align-items: flex-start; + flex-direction: column; + } + + .brand-logos { + justify-content: flex-start; + } + + .log-box { + height: 300px; + } + } + + #dfu-drop { + border: 2px dashed var(--line); + border-radius: 6px; + padding: 24px 20px; + text-align: center; + cursor: pointer; + transition: + background 0.15s, + border-color 0.15s; + margin-bottom: 10px; + } + + #dfu-drop.hover { + background: rgba(13, 143, 139, 0.06); + border-color: var(--accent); + } + + #dfu-icon { + fill: var(--muted); + display: block; + margin: 0 auto 10px; + } + + #dfu-label { + cursor: pointer; + display: block; + } + + #dfu-label span { + display: block; + font-size: 12px; + color: var(--muted); + margin-top: 4px; + } + + #dfu-select { + visibility: hidden; + margin-top: 12px; + } + + #dfu-status-bar { + visibility: hidden; + height: 24px; + border: 1px solid var(--line); + position: relative; + margin-top: 10px; + } + + #dfu-bar { + background: var(--accent); + width: 0%; + height: 100%; + } + + #dfu-transfer { + position: absolute; + top: 0; + left: 0; + right: 0; + text-align: center; + line-height: 24px; + font-size: 12px; + } + + #dfu-status-msg { + margin-top: 8px; + font-size: 13px; + min-height: 18px; + } + + .dfu-badge-active { + color: #1e7a1e; + font-weight: 600; + } + + .dfu-badge-inactive { + color: #b93232; + font-weight: 600; + } + + #dfu-connected-notice { + display: none; + background: #fff8e7; + border: 1px solid #f0c060; + border-radius: 8px; + padding: 8px 12px; + font-size: 13px; + color: #7a4f00; + margin-bottom: 10px; + } + + #dfu-update-body.dfu-disabled { + opacity: 0.4; + pointer-events: none; + user-select: none; + } + + + + +
+
+
+

Verisense Capture

+
Full-feature Verisense communication demo.
-
- -
-

Current Status

-
-
Device Name
-
-
-
Unique ID
-
-
-
HW
-
-
-
FW
-
-
-
Battery
-
-
-
Flash
-
-
-
Flash Banks
-
-
-
ATT MTU
-
-
-
Conn Interval
-
-
-
PHY
-
-
+ -
-
+
-
-
-
- - - - - - - - -
+
+
+

Connection

+
+ + + + +
+
+ Transport: + none + idle +
+
+ +
+

Current Status

+
+
Device Name
+
-
+
Unique ID
+
-
+
HW
+
-
+
FW
+
-
+
Battery
+
-
+
Flash
+
-
+
Flash Banks
+
-
+
ATT MTU
+
-
+
Conn Interval
+
-
+
PHY
+
-
+
+
+
-
-
-

Status Reads

-
- - -
+
+
+
+ + + + + + + +
-
-

Timing

-
- - - -
-
- - +
+
+

Status Reads

+
+ + +
-
-
-

Danger Zone

-
- - +
+

Timing

+
+ + + +
+
+ + +
-
-
-
-
-

Logged Data Transfer

-
- - Saves to file picker destination. +
+

Danger Zone

+
+ + +
-
-

Advanced

-
- - - - +
+
+

Logged Data Transfer

+
+ + Saves to file picker destination. +
-
No lookup data loaded.
-
-
-

Flash Lookup Entries

-
- - - - - - - - - - - - - - - -
BankStatusStatus CodePayload IndexEEPROM Pending
- Run Read Flash Lookup Table to populate. -
+
+

Advanced

+
+ + + + +
+
No lookup data loaded.
-
-
-
-
-

Read/Write

-
- - - +
+

Flash Lookup Entries

+
+ + + + + + + + + + + + + + + +
BankStatusStatus CodePayload IndexEEPROM Pending
+ Run Read Flash Lookup Table to populate. +
+
-
-

Production Fields

-
- - - +
+
+

Read/Write

+
+ + + +
-
- - - -
+
+

Production Fields

+
+ + + +
-
- - - -
+
+ + + +
-
- - - -
-
-
+
+ + + +
-
-
-

Read/Write

-
- - - +
+ + + +
-
-

Accel1

-
- - - +
+
+

Read/Write

+
+ + + +
-
-
-

ADC / GSR / Battery

-
- - - -
-
- - +
+

Accel1

+
+ + + +
-
-
-

Notes

-
- This editor currently patches fields with explicit SDK helpers - (Accel1 + ADC/GSR/Batt). Other sensor settings can be controlled - from Console Ops and stream decoders. +
+

ADC / GSR / Battery

+
+ + + +
+
+ + +
-
-
-

Operational Config Bytes

-
- Live preview updates as GUI values change. Paste bytes and click - Apply Bytes To GUI to decode them into the controls. +
+

Notes

+
+ This editor currently patches fields with explicit SDK helpers + (Accel1 + ADC/GSR/Batt). Other sensor settings can be controlled + from Console Ops and stream decoders. +
- -
- - - Connect and read op config to begin. + +
+

Operational Config Bytes

+
+ Live preview updates as GUI values change. Paste bytes and click + Apply Bytes To GUI to decode them into the controls. +
+ +
+ + + Connect and read op config to begin. +
-
-
-
-

Streaming Control

-
- - - -
-
-
Accel Packets
-
0
-
ADC/GSR Packets
-
0
-
Last Sensor ID
-
-
+
+
+

Streaming Control

+
+ + + +
+
+
Accel Packets
+
0
+
ADC/GSR Packets
+
0
+
Last Sensor ID
+
-
+
-
-
-

Accel Plot

-
- +
+

Accel Plot

+
+ +
+
- -
-
-

GSR Plot

-
- +
+

GSR Plot

+
+ +
+
-
-
-
-
-

DFU Flow

-
-
-
- Step 1 - Enable DFU Service - - Nordic DFU Service: - โ€” not connected โ€” - -
-

- Use this once to enable Nordic DFU service advertisement - after the next disconnect. This does not reboot the device - immediately. -

-
- - +
+
+

DFU Flow

+
+
+
+ Step 1 + Enable DFU Service + + Nordic DFU Service: + โ€” not connected โ€” + +
+

+ Use this once to enable Nordic DFU service advertisement + after the next disconnect. This does not reboot the device + immediately. +

+
+ + +
-
-
-
- Step 2 - Reboot To DFU Bootloader Mode -
-

- After reconnecting with Nordic DFU service active, use the - buttonless DFU command to reboot directly into bootloader - mode. -

-
- +
+
+ Step 2 + Reboot To DFU Bootloader Mode +
+

+ After reconnecting with Nordic DFU service active, use the + buttonless DFU command to reboot directly into bootloader + mode. +

+
+ +
-
-
-
- Step 3 - Perform Firmware Update -
-

- Select a firmware .zip package, then click - Begin Update. A browser device picker will - open and the DFU library will connect to the bootloader and - flash the firmware. -

-
- ⚠︎ A device is currently connected — - disconnect from it first before using the DFU Update Tool. -
-
-
- - - - +
+ Step 3 + Perform Firmware Update +
+

+ Select a firmware .zip package, then click + Begin Update. A browser device picker will + open and the DFU library will connect to the bootloader and + flash the firmware. +

+
+ ⚠︎ A device is currently connected — + disconnect from it first before using the DFU Update Tool. +
+
+
+ + + + - -
- + " + /> + +
+ +
+
+
+
+
+
-
-
-
-
-
-
-
-
-

Event Log Reader

-
- -
-
- No event log data loaded. +
+
+

Event Log Reader

+
+ +
+
+ No event log data loaded. +
-
-
-

Event Log Entries

-
- - - - - - - - - - - - - - - -
#Event IDEvent NameTimestampBattery (mV)
- Run Read Event Log to populate. -
+
+

Event Log Entries

+
+ + + + + + + + + + + + + + + +
#Event IDEvent NameTimestampBattery (mV)
+ Run Read Event Log to populate. +
+
-
-
-
-

Test Report

-

- Runs TEST_REPORT (0xFE) on the device. The - device sends a rolling text report delimited by the TEST START - banner. PASS and FAIL results are highlighted. -

-
- - -
- HW revision unavailable. Read production config first. -
-
- -
- Hardware Test Report - +
+
+

Test Report

+

+ Runs TEST_REPORT (0xFE) on the device. The + device sends a rolling text report delimited by the TEST START + banner. PASS and FAIL results are highlighted. +

+
+ + +
+ HW revision unavailable. Read production config first. +
-
-
-
- -
-

Hardware Test (deprecated)

-
- -
-
- + +
+ Hardware Test Report + +
+
+
-
-
-

Advanced

-
- -
-
- +
+

Hardware Test (deprecated)

+
+ +
- - -
-
- + +
+

Advanced

- - - + +
+
+ +
+ + + +
+
+
+ +
+ + + +
-
-
- -
-

Log

-
- - -
-

-      
+
+ +
+

Log

+
+ + +
+

+        
+
-
- - - - - - - + + + + - - + + - - - \ No newline at end of file + + ui.btnStreamClear.addEventListener("click", () => { + state.accelPackets = 0; + state.adcPackets = 0; + ui.streamAccelCount.textContent = "0"; + ui.streamAdcCount.textContent = "0"; + ui.streamLastSensor.textContent = "-"; + resetAccelPlotBuffers(state.v?.accel1?.samplingRateHz ?? 51.2); + resetGsrPlotBuffers(state.v?.adc?.samplingRateHz ?? 50); + }); + + ui.btnLogClear.addEventListener("click", () => { + ui.log.textContent = ""; + }); + + if (ui.btnTestReportClose) { + ui.btnTestReportClose.addEventListener("click", () => { + if (ui.testReportDialog?.open) ui.testReportDialog.close(); + }); + } + + if (ui.btnOpBytesRefresh) { + ui.btnOpBytesRefresh.addEventListener("click", async () => { + try { + await refreshOperationalConfigBytesFromGui(); + } catch (e) { + setOpBytesStatus(String(e?.message ?? e), true); + } + }); + } + + if (ui.btnOpBytesApply) { + ui.btnOpBytesApply.addEventListener("click", async () => { + try { + await applyOperationalConfigBytesToGui(); + await refreshOperationalConfigBytesFromGui(); + } catch (e) { + setOpBytesStatus(String(e?.message ?? e), true); + } + }); + } + + [ + ui.opAccelEnabled, + ui.opAccelRateCfg, + ui.opAccelRange, + ui.opGsrEnabled, + ui.opBattEnabled, + ui.opGsrRange, + ui.opGsrRateCfg, + ui.opGsrOverCfg, + ] + .filter(Boolean) + .forEach((el) => { + const evt = el.type === "number" ? "input" : "change"; + el.addEventListener(evt, () => { + void refreshOperationalConfigBytesFromGui(); + }); + }); + + document.querySelectorAll("[data-action]").forEach((el) => { + el.addEventListener("click", async () => { + const action = el.getAttribute("data-action"); + try { + await runAction(action); + } catch (e) { + if (isDebugHeaderNackError(e)) { + log( + `${action} unavailable on this firmware`, + String(e?.message ?? e), + ); + return; + } + log(`${action} error`, String(e?.message ?? e)); + console.warn(e); + } + }); + }); + } + + attachEvents(); + setConnectionButtonsState({ connected: false }); + updateBleLinkInfo("none"); + updateDfuUpdateToolState(false); + updateHardwareTestAvailability(); + resetAccelPlotBuffers(51.2); + resetGsrPlotBuffers(50); + log("Verisense Capture ready."); + + + From 63fc1c490d922c318e6c1ae9a9331c0306ee8195 Mon Sep 17 00:00:00 2001 From: Mark Nolan Date: Fri, 29 May 2026 08:15:53 +0100 Subject: [PATCH 15/18] DEV-750 #time 15m improved layout for op config tab --- VerisenseCapture/index.html | 6233 +++++++++-------- shimmer-extension/vendor/shimmer-web-sdk.cjs | 7 +- .../vendor/shimmer-web-sdk.cjs.map | 2 +- .../vendor/shimmer-web-sdk.esm.js | 7 +- .../vendor/shimmer-web-sdk.esm.js.map | 2 +- .../vendor/shimmer-web-sdk.umd.js | 7 +- .../vendor/shimmer-web-sdk.umd.js.map | 2 +- 7 files changed, 3264 insertions(+), 2996 deletions(-) diff --git a/VerisenseCapture/index.html b/VerisenseCapture/index.html index c0be9fc..3f678db 100644 --- a/VerisenseCapture/index.html +++ b/VerisenseCapture/index.html @@ -1,3207 +1,3472 @@ ๏ปฟ - - - - Verisense Capture - - + + + +
+
+
+

Verisense Capture

+
Full-feature Verisense communication demo.
+
+
+ + Verisense logo + +
+
- #dfu-update-body.dfu-disabled { - opacity: 0.4; - pointer-events: none; - user-select: none; - } - - - - -
-
-
-

Verisense Capture

-
Full-feature Verisense communication demo.
+
+
+

Connection

+
+ + + +
-
- - Verisense logo - +
+ Transport: + none + idle
-
+
+ +
+

Current Status

+
+
Device Name
+
-
+
Unique ID
+
-
+
HW
+
-
+
FW
+
-
+
Battery
+
-
+
Flash
+
-
+
Flash Banks
+
-
+
ATT MTU
+
-
+
Conn Interval
+
-
+
PHY
+
-
+
+
+
-
-
-

Connection

-
- - - - -
-
- Transport: - none - idle -
-
- -
-

Current Status

-
-
Device Name
-
-
-
Unique ID
-
-
-
HW
-
-
-
FW
-
-
-
Battery
-
-
-
Flash
-
-
-
Flash Banks
-
-
-
ATT MTU
-
-
-
Conn Interval
-
-
-
PHY
-
-
-
-
-
+
+
+
+ + + + + + + + +
-
-
-
- - - - - - - - +
+
+

Status Reads

+
+ + +
-
-
-

Status Reads

-
- - -
+
+

Timing

+
+ + +
- -
-

Timing

-
- - - -
-
- - -
+
+ +
+
-
-

Danger Zone

-
- - -
+
+

Danger Zone

+
+ +
+
-
-
-

Logged Data Transfer

-
- - Saves to file picker destination. -
+
+
+

Logged Data Transfer

+
+ + Saves to file picker destination.
+
-
-

Advanced

-
- - - - -
-
No lookup data loaded.
+
+

Advanced

+
+ + + +
+
No lookup data loaded.
+
-
-

Flash Lookup Entries

-
- - - - - - - - - - - - - - - -
BankStatusStatus CodePayload IndexEEPROM Pending
- Run Read Flash Lookup Table to populate. -
-
+
+

Flash Lookup Entries

+
+ + + + + + + + + + + + + + + +
BankStatusStatus CodePayload IndexEEPROM Pending
+ Run Read Flash Lookup Table to populate. +
+
-
-
-

Read/Write

-
- - - -
+
+
+

Read/Write

+
+ + +
+
-
-

Production Fields

-
- - - -
+
+

Production Fields

+
+ + + +
-
- - - -
+
+ + + +
-
- - - -
+
+ + + +
-
- - - -
+
+ + +
+
-
-
-

Read/Write

-
- - - -
+
+
+

Read/Write

+
+ + +
+
-
-

Accel1

-
- - - -
+
+

Sensor Enables

+
+ + + + + + + + + + +
+
-
-

ADC / GSR / Battery

-
- - - -
-
- - -
+
+

Notes

+
+ Sensor enable bits are edited with dedicated checkboxes above. + Other operational settings are available in the grouped editor below.
+
-
-

Notes

-
- This editor currently patches fields with explicit SDK helpers - (Accel1 + ADC/GSR/Batt). Other sensor settings can be controlled - from Console Ops and stream decoders. -
+
+

All Operational Config Options

+
+ Firmware-aligned options from ASM_Config_Operational.py with + GUI-friendly labels and descriptions.
+
+
-
-

Operational Config Bytes

-
- Live preview updates as GUI values change. Paste bytes and click - Apply Bytes To GUI to decode them into the controls. -
- -
- - - Connect and read op config to begin. -
+
+

Operational Config Bytes

+
+ Live preview updates as GUI values change. Paste bytes and click + Apply Bytes To GUI to decode them into the controls. +
+ +
+ + + Connect and read op config to begin.
+
-
-
-

Streaming Control

-
- - - -
-
-
Accel Packets
-
0
-
ADC/GSR Packets
-
0
-
Last Sensor ID
-
-
-
+
+
+

Streaming Control

+
+ + +
-
-

Accel Plot

-
- -
- +
+
Accel Packets
+
0
+
ADC/GSR Packets
+
0
+
Last Sensor ID
+
-
-
-

GSR Plot

-
- -
- +
+
+

Accel Plot

+
+
+
+
+

GSR Plot

+
+ +
+ +
+
-
-
-

DFU Flow

-
-
-
- Step 1 - Enable DFU Service - - Nordic DFU Service: - โ€” not connected โ€” - -
-

- Use this once to enable Nordic DFU service advertisement - after the next disconnect. This does not reboot the device - immediately. -

-
- - -
+
+
+

DFU Flow

+
+
+
+ Step 1 + Enable DFU Service + + Nordic DFU Service: + โ€” not connected โ€” + +
+

+ Use this once to enable Nordic DFU service advertisement + after the next disconnect. This does not reboot the device + immediately. +

+
+ +
+
-
-
- Step 2 - Reboot To DFU Bootloader Mode -
-

- After reconnecting with Nordic DFU service active, use the - buttonless DFU command to reboot directly into bootloader - mode. -

-
- -
+
+
+ Step 2 + Reboot To DFU Bootloader Mode +
+

+ After reconnecting with Nordic DFU service active, use the + buttonless DFU command to reboot directly into bootloader + mode. +

+
+
+
-
-
- Step 3 - Perform Firmware Update -
-

- Select a firmware .zip package, then click - Begin Update. A browser device picker will - open and the DFU library will connect to the bootloader and - flash the firmware. -

-
- ⚠︎ A device is currently connected — - disconnect from it first before using the DFU Update Tool. -
-
-
- - - - +
+ Step 3 + Perform Firmware Update +
+

+ Select a firmware .zip package, then click + Begin Update. A browser device picker will + open and the DFU library will connect to the bootloader and + flash the firmware. +

+
+ ⚠︎ A device is currently connected — + disconnect from it first before using the DFU Update Tool. +
+
+
+ + + + - -
- -
-
-
-
-
+ " /> + +
+
-
+
+
+
+
+
+
-
-
-

Event Log Reader

-
- -
-
- No event log data loaded. -
+
+
+

Event Log Reader

+
+
-
-

Event Log Entries

-
- - - - - - - - - - - - - - - -
#Event IDEvent NameTimestampBattery (mV)
- Run Read Event Log to populate. -
-
+
+ No event log data loaded. +
+
+
+

Event Log Entries

+
+ + + + + + + + + + + + + + + +
#Event IDEvent NameTimestampBattery (mV)
+ Run Read Event Log to populate. +
+
-
-
-

Test Report

-

- Runs TEST_REPORT (0xFE) on the device. The - device sends a rolling text report delimited by the TEST START - banner. PASS and FAIL results are highlighted. -

-
- - -
- HW revision unavailable. Read production config first. -
+
+
+

Test Report

+

+ Runs TEST_REPORT (0xFE) on the device. The + device sends a rolling text report delimited by the TEST START + banner. PASS and FAIL results are highlighted. +

+
+ + +
+ HW revision unavailable. Read production config first.
- -
- Hardware Test Report - -
-
-
- -
-

Hardware Test (deprecated)

-
- + +
+ Hardware Test Report +
+
+
+
+ +
+

Hardware Test (deprecated)

+
+ +
+
+ +
+
+ +
+

Advanced

+
+ +
+
+
- + +
- -
-

Advanced

+
+
- -
-
- -
- - - -
-
-
- -
- - - -
+ + +
-
- -
-

Log

-
- - -
-

-        
-
+
+ + +
+

Log

+
+ + +
+

+      
- - - - - - - + + + + - - + + - - + }); + } + + attachEvents(); + setConnectionButtonsState({ connected: false }); + updateBleLinkInfo("none"); + updateDfuUpdateToolState(false); + updateHardwareTestAvailability(); + resetAccelPlotBuffers(51.2); + resetGsrPlotBuffers(50); + log("Verisense Capture ready."); + + + + \ No newline at end of file diff --git a/shimmer-extension/vendor/shimmer-web-sdk.cjs b/shimmer-extension/vendor/shimmer-web-sdk.cjs index 6b6efcd..34fa430 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.cjs +++ b/shimmer-extension/vendor/shimmer-web-sdk.cjs @@ -3580,9 +3580,10 @@ class VerisenseBleDevice extends BaseShimmerClient { const secondHint = cap.aggregateText.indexOf(hint, firstHint + hint.length); if (secondHint >= 0) { const endOfSecondLine = cap.aggregateText.indexOf('\n', secondHint); - full = endOfSecondLine >= 0 - ? cap.aggregateText.slice(0, endOfSecondLine + 1) - : cap.aggregateText; + full = + endOfSecondLine >= 0 + ? cap.aggregateText.slice(0, endOfSecondLine + 1) + : cap.aggregateText; } } } diff --git a/shimmer-extension/vendor/shimmer-web-sdk.cjs.map b/shimmer-extension/vendor/shimmer-web-sdk.cjs.map index 9965bc2..d3752cb 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.cjs.map +++ b/shimmer-extension/vendor/shimmer-web-sdk.cjs.map @@ -1 +1 @@ -{"version":3,"file":"shimmer-web-sdk.cjs","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shimmer-web-sdk.cjs","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file diff --git a/shimmer-extension/vendor/shimmer-web-sdk.esm.js b/shimmer-extension/vendor/shimmer-web-sdk.esm.js index 62059ed..a23bb36 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.esm.js +++ b/shimmer-extension/vendor/shimmer-web-sdk.esm.js @@ -3578,9 +3578,10 @@ class VerisenseBleDevice extends BaseShimmerClient { const secondHint = cap.aggregateText.indexOf(hint, firstHint + hint.length); if (secondHint >= 0) { const endOfSecondLine = cap.aggregateText.indexOf('\n', secondHint); - full = endOfSecondLine >= 0 - ? cap.aggregateText.slice(0, endOfSecondLine + 1) - : cap.aggregateText; + full = + endOfSecondLine >= 0 + ? cap.aggregateText.slice(0, endOfSecondLine + 1) + : cap.aggregateText; } } } diff --git a/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map b/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map index 2d58964..51341c7 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map +++ b/shimmer-extension/vendor/shimmer-web-sdk.esm.js.map @@ -1 +1 @@ -{"version":3,"file":"shimmer-web-sdk.esm.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shimmer-web-sdk.esm.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file diff --git a/shimmer-extension/vendor/shimmer-web-sdk.umd.js b/shimmer-extension/vendor/shimmer-web-sdk.umd.js index fddfcdb..8d2dc30 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.umd.js +++ b/shimmer-extension/vendor/shimmer-web-sdk.umd.js @@ -3584,9 +3584,10 @@ const secondHint = cap.aggregateText.indexOf(hint, firstHint + hint.length); if (secondHint >= 0) { const endOfSecondLine = cap.aggregateText.indexOf('\n', secondHint); - full = endOfSecondLine >= 0 - ? cap.aggregateText.slice(0, endOfSecondLine + 1) - : cap.aggregateText; + full = + endOfSecondLine >= 0 + ? cap.aggregateText.slice(0, endOfSecondLine + 1) + : cap.aggregateText; } } } diff --git a/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map b/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map index 04c43e7..be81e78 100644 --- a/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map +++ b/shimmer-extension/vendor/shimmer-web-sdk.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"shimmer-web-sdk.umd.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":";;;;;;IAEA;;;;;;;;;;;;;;;;IAgBG;UACU,aAAa,CAAA;IAaxB,IAAA,WAAA,CAAY,QAAgB,EAAA;IAC1B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IACxB,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;IAChB,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI;QACjB;IAEA;;;;;;;IAOG;QACH,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,IAAA,GAAsB,IAAI,EAAE,IAAA,GAAkB,IAAI,EAAA;IACjF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC/C;IAEA;;;;;;;IAOG;IACH,IAAA,GAAG,CAAC,IAAY,EAAE,IAAA,GAAkB,IAAI,EAAA;IACtC,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI;QAC/F;IAEA;;IAEG;IACH,IAAA,MAAM,CAAC,IAAY,EAAA;IACjB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;QACnD;IACD;;ICjED;;;;;;;;;;;IAWG;UACmB,iBAAiB,CAAA;IAkBrC,IAAA,WAAA,CAAY,OAA6B,EAAE,EAAA;IAd3C;;;IAGG;YACH,IAAA,CAAA,QAAQ,GAAmC,IAAI;IAE/C;;;;;IAKG;YACH,IAAA,CAAA,aAAa,GAA4C,IAAI;YAG3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI;QACjC;;QAGU,IAAI,CAAC,GAAG,IAAe,EAAA;YAC/B,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;QACnD;;IAGU,IAAA,WAAW,CAAC,GAAW,EAAA;IAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACd,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACtB;IAMD;;ICpDD;;;IAGG;AACI,UAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,IAAA,WAAW,EAAE,IAAI;IACjB,IAAA,eAAe,EAAE,IAAI;IACrB,IAAA,gBAAgB,EAAE,IAAI;IACtB,IAAA,yBAAyB,EAAE,IAAI;IAC/B,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,yBAAyB,EAAE,IAAI;IAC/B,IAAA,kBAAkB,EAAE,IAAI;IACxB,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,mBAAmB,EAAE,IAAI;IACzB,IAAA,0BAA0B,EAAE,IAAI;IAChC,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,0BAA0B,EAAE,IAAI;IAChC,IAAA,8BAA8B,EAAE,IAAI;IACpC,IAAA,2BAA2B,EAAE,IAAI;IACjC,IAAA,8BAA8B,EAAE,IAAI;IACpC,IAAA,gCAAgC,EAAE,IAAI;IACtC,IAAA,6BAA6B,EAAE,IAAI;IACnC,IAAA,gCAAgC,EAAE,IAAI;IACtC,IAAA,4BAA4B,EAAE,IAAI;IAClC,IAAA,yBAAyB,EAAE,IAAI;IAC/B,IAAA,4BAA4B,EAAE,IAAI;IAClC,IAAA,2BAA2B,EAAE,IAAI;IACjC,IAAA,wBAAwB,EAAE,IAAI;IAC9B,IAAA,2BAA2B,EAAE,IAAI;IACjC,IAAA,gCAAgC,EAAE,IAAI;IACtC,IAAA,6BAA6B,EAAE,IAAI;IACnC,IAAA,gCAAgC,EAAE,IAAI;IACtC,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,qBAAqB,EAAE,IAAI;IAC3B,IAAA,kBAAkB,EAAE,IAAI;IACxB,IAAA,qBAAqB,EAAE,IAAI;IAC3B,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,2BAA2B,EAAE,IAAI;IACjC,IAAA,wBAAwB,EAAE,IAAI;IAC9B,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,mBAAmB,EAAE,IAAI;IACzB,IAAA,6BAA6B,EAAE,IAAI;IACnC,IAAA,0BAA0B,EAAE,IAAI;IAChC,IAAA,6BAA6B,EAAE,IAAI;IACnC,IAAA,oBAAoB,EAAE,IAAI;IAC1B,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,oBAAoB,EAAE,IAAI;IAC1B,IAAA,iBAAiB,EAAE,IAAI;IACvB,IAAA,oBAAoB,EAAE,IAAI;IAC1B,IAAA,6BAA6B,EAAE,IAAI;IACnC,IAAA,0BAA0B,EAAE,IAAI;IAChC,IAAA,6BAA6B,EAAE,IAAI;IACnC,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,yBAAyB,EAAE,IAAI;IAC/B,IAAA,0BAA0B,EAAE,IAAI;IAChC,IAAA,kCAAkC,EAAE,IAAI;IACxC,IAAA,+BAA+B,EAAE,IAAI;IACrC,IAAA,kCAAkC,EAAE,IAAI;IACxC,IAAA,2BAA2B,EAAE,IAAI;IACjC,IAAA,wBAAwB,EAAE,IAAI;IAC9B,IAAA,2BAA2B,EAAE,IAAI;IACjC,IAAA,2BAA2B,EAAE,IAAI;IACjC,IAAA,wBAAwB,EAAE,IAAI;IAC9B,IAAA,2BAA2B,EAAE,IAAI;IACjC,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,mBAAmB,EAAE,IAAI;IACzB,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,8BAA8B,EAAE,IAAI;IACpC,IAAA,2BAA2B,EAAE,IAAI;IACjC,IAAA,8BAA8B,EAAE,IAAI;IACpC,IAAA,2BAA2B,EAAE,IAAI;IACjC,IAAA,wBAAwB,EAAE,IAAI;IAC9B,IAAA,2BAA2B,EAAE,IAAI;IACjC,IAAA,uCAAuC,EAAE,IAAI;IAC7C,IAAA,oCAAoC,EAAE,IAAI;IAC1C,IAAA,uCAAuC,EAAE,IAAI;IAC7C,IAAA,wCAAwC,EAAE,IAAI;IAC9C,IAAA,2CAA2C,EAAE,IAAI;IACjD,IAAA,sCAAsC,EAAE,IAAI;IAC5C,IAAA,+BAA+B,EAAE,IAAI;IACrC,IAAA,kCAAkC,EAAE,IAAI;IACxC,IAAA,qCAAqC,EAAE,IAAI;IAC3C,IAAA,qCAAqC,EAAE,IAAI;IAC3C,IAAA,kCAAkC,EAAE,IAAI;IACxC,IAAA,qCAAqC,EAAE,IAAI;IAC3C,IAAA,oBAAoB,EAAE,IAAI;IAC1B,IAAA,iBAAiB,EAAE,IAAI;IACvB,IAAA,oBAAoB,EAAE,IAAI;IAC1B,IAAA,4BAA4B,EAAE,IAAI;IAClC,IAAA,yBAAyB,EAAE,IAAI;IAC/B,IAAA,4BAA4B,EAAE,IAAI;IAClC,IAAA,6BAA6B,EAAE,IAAI;IACnC,IAAA,0BAA0B,EAAE,IAAI;IAChC,IAAA,6BAA6B,EAAE,IAAI;IACnC,IAAA,yBAAyB,EAAE,IAAI;IAC/B,IAAA,8BAA8B,EAAE,IAAI;IACpC,IAAA,yBAAyB,EAAE,IAAI;IAC/B,IAAA,kBAAkB,EAAE,IAAI;IACxB,IAAA,eAAe,EAAE,IAAI;IACrB,IAAA,kBAAkB,EAAE,IAAI;IACxB,IAAA,wBAAwB,EAAE,IAAI;IAC9B,IAAA,qBAAqB,EAAE,IAAI;IAC3B,IAAA,wBAAwB,EAAE,IAAI;IAC9B,IAAA,kBAAkB,EAAE,IAAI;IACxB,IAAA,eAAe,EAAE,IAAI;IACrB,IAAA,kBAAkB,EAAE,IAAI;IACxB,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,oBAAoB,EAAE,IAAI;IAC1B,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,iBAAiB,EAAE,IAAI;IACvB,IAAA,cAAc,EAAE,IAAI;IACpB,IAAA,iBAAiB,EAAE,IAAI;IACvB,IAAA,gBAAgB,EAAE,IAAI;IACtB,IAAA,aAAa,EAAE,IAAI;IACnB,IAAA,gBAAgB,EAAE,IAAI;IACtB,IAAA,oBAAoB,EAAE,IAAI;IAC1B,IAAA,iBAAiB,EAAE,IAAI;IACvB,IAAA,oBAAoB,EAAE,IAAI;IAC1B,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,mBAAmB,EAAE,IAAI;IACzB,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,YAAY,EAAE,IAAI;IAClB,IAAA,eAAe,EAAE,IAAI;IACrB,IAAA,qBAAqB,EAAE,IAAI;IAC3B,IAAA,eAAe,EAAE,IAAI;IACrB,IAAA,mBAAmB,EAAE,IAAI;IACzB,IAAA,gBAAgB,EAAE,IAAI;IACtB,IAAA,mBAAmB,EAAE,IAAI;IACzB,IAAA,eAAe,EAAE,IAAI;IACrB,IAAA,YAAY,EAAE,IAAI;IAClB,IAAA,eAAe,EAAE,IAAI;IACrB,IAAA,qBAAqB,EAAE,IAAI;IAC3B,IAAA,oBAAoB,EAAE,IAAI;IAC1B,IAAA,cAAc,EAAE,IAAI;IACpB,IAAA,iBAAiB,EAAE,IAAI;IACvB,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,iBAAiB,EAAE,IAAI;IACvB,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,qBAAqB,EAAE,IAAI;IAC3B,IAAA,wCAAwC,EAAE,IAAI;IAC9C,IAAA,2CAA2C,EAAE,IAAI;IACjD,IAAA,0BAA0B,EAAE,IAAI;IAChC,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,sCAAsC,EAAE,IAAI;IAC5C,IAAA,kBAAkB,EAAE,IAAI;IACxB,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,0CAA0C,EAAE,IAAI;IAChD,IAAA,6CAA6C,EAAE,IAAI;IACnD,IAAA,gBAAgB,EAAE,IAAI;IACtB,IAAA,iCAAiC,EAAE,IAAI;IACvC,IAAA,8BAA8B,EAAE,IAAI;IACpC,IAAA,iCAAiC,EAAE,IAAI;IACvC,IAAA,mCAAmC,EAAE,IAAI;IACzC,IAAA,gCAAgC,EAAE,IAAI;IACtC,IAAA,mCAAmC,EAAE,IAAI;IACzC,IAAA,+BAA+B,EAAE,IAAI;IACrC,IAAA,4BAA4B,EAAE,IAAI;IAClC,IAAA,+BAA+B,EAAE,IAAI;IACrC,IAAA,iCAAiC,EAAE,IAAI;IACvC,IAAA,8BAA8B,EAAE,IAAI;IACpC,IAAA,iCAAiC,EAAE,IAAI;IACvC,IAAA,aAAa,EAAE,IAAI;IACnB,IAAA,qBAAqB,EAAE,IAAI;IAC3B,IAAA,WAAW,EAAE,IAAI;IACjB,IAAA,mBAAmB,EAAE,IAAI;IACzB,IAAA,gBAAgB,EAAE,IAAI;IACtB,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,qBAAqB,EAAE,IAAI;IACnB,CAAA;IAIV;AACO,UAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,IAAA,YAAY,EAAE,sCAAsC;;IAEpD,IAAA,YAAY,EAAE,sCAAsC;;IAEpD,IAAA,YAAY,EAAE,sCAAsC;IAC5C,CAAA;IAEV;;;IAGG;AACI,UAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IAClE,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IAC1D,CAAA;IAIV;AACO,UAAM,QAAQ,GAAG;IAExB;IACO,MAAM,sBAAsB,GAAG,GAAG;IAEzC;;;IAGG;IACI,MAAM,qCAAqC,GAAoC;QACpF,CAAC,GAAG,EAAE,IAAI,CAAC;QACX,CAAC,IAAI,EAAE,KAAK,CAAC;QACb,CAAC,KAAK,EAAE,KAAK,CAAC;QACd,CAAC,KAAK,EAAE,MAAM,CAAC;KAChB;;IClND;;;;;;;;;;;IAWG;AACI,UAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,IAAA,cAAc,EAAE,QAAQ;IACxB,IAAA,WAAW,EAAE,QAAQ;IACrB,IAAA,UAAU,EAAE,QAAQ;IACpB,IAAA,UAAU,EAAE,QAAQ;IAEpB,IAAA,YAAY,EAAE,QAAQ;IACtB,IAAA,cAAc,EAAE,QAAQ;IACxB,IAAA,eAAe,EAAE,QAAQ;IACzB,IAAA,iBAAiB,EAAE,QAAQ;IAC3B,IAAA,iBAAiB,EAAE,QAAQ;IAC3B,IAAA,iBAAiB,EAAE,QAAQ;IAC3B,IAAA,iBAAiB,EAAE,QAAQ;IAC3B,IAAA,iBAAiB,EAAE,QAAQ;IAC3B,IAAA,gBAAgB,EAAE,QAAQ;IAC1B,IAAA,cAAc,EAAE,QAAQ;IAExB,IAAA,aAAa,EAAE,QAAQ;IACvB,IAAA,aAAa,EAAE,QAAQ;IACvB,IAAA,aAAa,EAAE,QAAQ;IACvB,IAAA,aAAa,EAAE,QAAQ;IACvB,IAAA,aAAa,EAAE,QAAQ;IACvB,IAAA,aAAa,EAAE,QAAQ;IACvB,IAAA,aAAa,EAAE,QAAQ;IACf,CAAA;;ICtBV;;;IAGG;AACI,UAAM,eAAe,GAA4C,MAAM,CAAC,MAAM,CAAC;IACpF,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACrE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACrE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACrE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IAChE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IAChE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IAChE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IAC/D,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IAC/D,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IAC/D,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACpE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACxE,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IAC7D,IAAA,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IAC9D,CAAA;;IC5CD;IACA;IACA;IAEA;;;;;;;;IAQG;IACG,SAAU,oBAAoB,CAClC,SAAiB,EACjB,MAAc,EACd,KAAa,EACb,IAAY,EAAA;IAEZ,IAAA,OAAO,CAAC,SAAS,GAAG,MAAM,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC;IAC9D;IAEA;;;;;;IAMG;IACG,SAAU,4BAA4B,CAAC,SAAiB,EAAA;QAC5D,OAAO,oBAAoB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACjD;IAEA;IACA;IACA;IAEA;;;;;;;;;IASG;IACG,SAAU,2CAA2C,CACzD,mBAA2B,EAC3B,KAAa,EAAA;QAEb,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IACxD,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC;QAC3C,MAAM,KAAK,GAAG,4BAA4B,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC;QACzE,MAAM,OAAO,GAAG,SAAS,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;IAC/C,IAAA,OAAO,OAAO;IAChB;IAEA;;;;;;;;IAQG;IACG,SAAU,kBAAkB,CAAC,kBAA0B,EAAE,eAAuB,EAAA;QACpF,IAAI,eAAe,KAAK,CAAC;IAAE,QAAA,OAAO,kBAAkB;QACpD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,qCAAqC,CAAC,eAAe,CAAC;IAC/E,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC/D;IAEA;IACA;IACA;IAEA;;;;;;;;IAQG;IACG,SAAU,4BAA4B,CAAC,YAAoB,EAAA;QAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;IAClC,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC;QAC7D;IACA,IAAA,IAAI,YAAY,GAAG,CAAC,EAAE;IACpB,QAAA,MAAM,IAAI,UAAU,CAAC,mCAAmC,CAAC;QAC3D;QAEA,IAAI,YAAY,GAAG,GAAG;IAAE,QAAA,OAAO,CAAC;QAChC,IAAI,YAAY,GAAG,GAAG;IAAE,QAAA,OAAO,CAAC;QAChC,IAAI,YAAY,GAAG,GAAG;IAAE,QAAA,OAAO,CAAC;QAChC,IAAI,YAAY,GAAG,IAAI;IAAE,QAAA,OAAO,CAAC;QACjC,IAAI,YAAY,GAAG,IAAI;IAAE,QAAA,OAAO,CAAC;QACjC,IAAI,YAAY,GAAG,IAAI;IAAE,QAAA,OAAO,CAAC;QACjC,OAAO,CAAC,CAAC;IACX;;ICvGA;;;;IAIG;IAEH;IACM,SAAU,QAAQ,CAAC,CAAa,EAAE,CAAa,EAAA;IACnD,IAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,IAAA,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACV,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IACpB,IAAA,OAAO,GAAG;IACZ;IAEA;IACM,SAAUA,OAAK,CAAC,CAAa,EAAE,CAAS,EAAA;IAC5C,IAAA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACvC;IAEA;IACM,SAAU,KAAK,CAAC,CAAa,EAAE,CAAS,EAAA;IAC5C,IAAA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC;IAEA;IACM,SAAUC,OAAK,CAAC,CAAa,EAAE,CAAS,EAAA;IAC5C,IAAA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IAC1D;IAEA;IACM,SAAU,KAAK,CAAC,CAAa,EAAE,CAAS,EAAA;IAC5C,IAAA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D;IAEA;IACM,SAAU,MAAM,CAAC,CAAS,EAAA;IAC9B,IAAA,OAAO,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC;IACxC;IAEA;IACM,SAAU,MAAM,CAAC,CAAS,EAAA;IAC9B,IAAA,OAAO,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC;IAC1C;IAEA;IACM,SAAU,IAAI,CAAC,CAAS,EAAA;IAC5B,IAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE;IACtD;;IC/CM,SAAU,aAAa,CAAC,EAAc,EAAA;IAC1C,IAAA,IAAI,EAAE,CAAC,MAAM,YAAY,WAAW,EAAE;IACpC,QAAA,IAAI,EAAE,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU;gBAAE,OAAO,EAAE,CAAC,MAAM;IACnF,QAAA,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;QACtE;QAEA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC;IACzC,IAAA,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,MAAM;IACnB;;ICoDA;IACA;IACA;IAEA;;;;;;;;;;;;;;;;;;;;;IAqBG;IACG,MAAO,eAAgB,SAAQ,iBAAiB,CAAA;IAoCpD,IAAA,WAAA,CAAY,OAA+B,EAAE,EAAA;YAC3C,KAAK,CAAC,IAAI,CAAC;YA/Bb,IAAA,CAAA,MAAM,GAA2B,IAAI;YAC7B,IAAA,CAAA,MAAM,GAAqC,IAAI;YAC/C,IAAA,CAAA,EAAE,GAA6C,IAAI;YACnD,IAAA,CAAA,EAAE,GAA6C,IAAI;;IAGnD,QAAA,IAAA,CAAA,MAAM,GAAe,IAAI,UAAU,CAAC,CAAC,CAAC;IACtC,QAAA,IAAA,CAAA,MAAM,GAAqC,IAAI,GAAG,EAAE;YACpD,IAAA,CAAA,MAAM,GAAwB,IAAI;YAElC,IAAA,CAAA,iBAAiB,GAAsB,IAAI;YAC3C,IAAA,CAAA,aAAa,GAAG,CAAC;YACjB,IAAA,CAAA,UAAU,GAAG,KAAK;YAClB,IAAA,CAAA,OAAO,GAAG,CAAC;;YAGnB,IAAA,CAAA,cAAc,GAAG,QAAQ;YACzB,IAAA,CAAA,cAAc,GAAG,CAAC;YAClB,IAAA,CAAA,eAAe,GAAG,CAAC;YACnB,IAAA,CAAA,QAAQ,GAAG,CAAC;;YAGH,IAAA,CAAA,wBAAwB,GAAG,IAAI;;YAGxC,IAAA,CAAA,SAAS,GAEE,IAAI;YACf,IAAA,CAAA,iBAAiB,GAAwC,IAAI;;;;IA6DrD,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,GAAU,KAAU;IAC3C,YAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAAE,GAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IAC9D,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;;IAGtD,YAAA,IACE,KAAK,CAAC,MAAM,IAAI,CAAC;IACjB,gBAAA,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,qBAAqB;oBAC1C,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,EAC7B;IACA,gBAAA,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC;IACvD,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;oBAExD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAChC,gBAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI;IAE5D,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE/D,gBAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;IAC1B,oBAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE;IACxE,wBAAA,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAAC;IAChE,wBAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC;wBAC7D;6BAAO;IACL,wBAAA,IAAI,CAAC,IAAI,CAAC,mDAAmD,CAAC;IAC9D,wBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC;wBACxC;IACA,oBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;oBAC/B;oBACA;gBACF;;IAGA,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;gBAC5C;qBAAO;IACL,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IACrB,gBAAA,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE;wBACpD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;oBAC5C;gBACF;;IAGA,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;IACf,gBAAA,IAAI;wBACF,IAAI,CAAC,cAAc,EAAE;oBACvB;oBAAE,OAAO,CAAC,EAAE;IACV,oBAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;oBACtC;gBACF;IACF,QAAA,CAAC;YA1GC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC,YAAY;YACtE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,kBAAkB,CAAC,YAAY;YAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,kBAAkB,CAAC,YAAY;YAC5D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK;QACrD;QAEmB,IAAI,CAAC,GAAG,IAAe,EAAA;YACxC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC;QACrD;;;;IAMS,IAAA,MAAM,OAAO,GAAA;IACpB,QAAA,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC;YAChD,IAAI,CAAC,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC;gBACpD,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IAC3C,YAAA,gBAAgB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;IACrC,SAAA,CAAC;IACF,QAAA,IAAI,CAAC,WAAW,CAAC,CAAA,UAAA,EAAa,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,CAAA,CAAE,CAAC;IAChE,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,OAAO,EAAE;IAC/C,QAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAClC,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;IACjE,QAAA,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;IAClD,QAAA,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;IAClD,QAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAClC,QAAA,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE;YAClC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,IAAI,CAAC,aAAa,CAAC;IAC1E,QAAA,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC;QAC3C;IAES,IAAA,MAAM,UAAU,GAAA;IACvB,QAAA,IAAI;IACF,YAAA,IAAI,IAAI,CAAC,EAAE,EAAE;IACX,gBAAA,IAAI;IACF,oBAAA,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE;oBACnC;IAAE,gBAAA,MAAM;;oBAER;oBACA,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,4BAA4B,EAAE,IAAI,CAAC,aAAa,CAAC;gBAC/E;IACA,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS;IAAE,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;YACjE;oBAAU;IACR,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI;gBACpD,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;IAC/B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;IAClB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;IACvB,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;IACjB,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;YAClC;QACF;;;;IA6DA;;;IAGG;QACH,MAAM,mBAAmB,CACvB,QAAe,EAAA;IAEf,QAAA,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;YAC3F,IAAI,CAAC,IAAI,CAAC,EAAE;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;IAE3D,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAC;IACrF,QAAA,IAAI,CAAC,WAAW,CACd,CAAA,oCAAA,EAAuC,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAA,iBAAA,CAAmB,CAClF;YACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC;IAC7D,QAAA,IAAI,CAAC,WAAW,CAAC,CAAA,gBAAA,EAAmB,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAA,gBAAA,CAAkB,CAAC;IACxF,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IACxB,QAAA,IAAI;IACF,YAAA,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;YACpC;YAAE,OAAO,CAAC,EAAE;IACV,YAAA,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC;YACjD;IACA,QAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE;QACnC;IAEA;;;IAGG;QACH,MAAM,WAAW,CACf,QAAgB,EAAA;IAEhB,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;IAC/D,YAAA,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC;YACzC;YACA,IAAI,CAAC,IAAI,CAAC,EAAE;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;IAE3D,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC5E,QAAA,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC;YACpD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC;IAC7D,QAAA,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC;IACjD,QAAA,IAAI,CAAC,eAAe,GAAG,QAAQ;IAC/B,QAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE;QACnC;QAEA,mBAAmB,GAAA;YACjB,OAAO,IAAI,CAAC,QAAQ;QACtB;QAEA,iBAAiB,GAAA;YACf,OAAO,IAAI,CAAC,cAAc;QAC5B;IAEA;;;IAGG;QACH,MAAM,UAAU,CACd,OAAe,EAAA;IAEf,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC;YACjF,IAAI,CAAC,IAAI,CAAC,EAAE;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;YAE3D,OAAO,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,QAAQ;IACpC,QAAA,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI;YACzB,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI;YACjC,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,EAAE,IAAI,IAAI;IAClC,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAErE,IAAI,CAAC,WAAW,CACd,CAAA,4BAAA,EAA+B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,iBAAA,CAAmB,CACtG;YACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC;YAC7D,IAAI,CAAC,WAAW,CACd,CAAA,gCAAA,EAAmC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,SAAA,CAAW,CAClG;IAED,QAAA,IAAI;IACF,YAAA,IAAI,CAAC,WAAW,CAAC,iDAAiD,CAAC;IACnE,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE;gBACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc;IAChD,YAAA,IAAI,CAAC,WAAW,CACd,CAAA,qCAAA,EAAwC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA,CAAE,CACzF;YACH;YAAE,OAAO,GAAY,EAAE;gBACrB,IAAI,CAAC,WAAW,CAAC,CAAA,iCAAA,EAAqC,GAAa,CAAC,OAAO,CAAA,CAAE,CAAC;YAChF;YAEA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;QACvE;IAEA;;;IAGG;QACH,MAAM,eAAe,CAAC,MAAc,EAAA;IAMlC,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE;IAC3C,YAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC;YACjE;YACA,IAAI,CAAC,IAAI,CAAC,EAAE;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;YAE3D,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACxC,QAAA,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhD,QAAA,MAAM,GAAG,GAAG,OAAO,GAAG,IAAI;YAC1B,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI;IACjC,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,yBAAyB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAEzE,QAAA,IAAI,CAAC,WAAW,CACd,CAAA,oBAAA,EAAuB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,aAAA,EAAgB,OAAO,CAAA,oBAAA,CAAsB,CACtF;YACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC;IAC7D,QAAA,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO;IACjC,QAAA,IAAI,CAAC,cAAc,GAAG,SAAS;IAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,CAAA,+BAAA,EAAkC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,GAAA,CAAK,CAAC;YACvF,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE;QAClE;;;;;IAOA,IAAA,MAAM,OAAO,GAAA;IACX,QAAA,IAAI,CAAC,WAAW,CAAC,yCAAyC,CAAC;IAC3D,QAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC7C,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EACzC,IAAI,CACL;YAED,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,gBAAgB,EAAE;IAC1D,YAAA,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC;gBACjD,MAAM,IAAI,GAAG,IAAI,CAAC,kCAAkC,CAAC,SAAS,CAAC;IAC/D,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACtB,YAAA,OAAO,IAAI;YACb;IACA,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;YACvE,IAAI,CAAC,WAAW,CAAC,CAAA,aAAA,EAAgB,GAAG,CAAC,MAAM,CAAA,OAAA,CAAS,CAAC;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC;IACzD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACtB,QAAA,OAAO,IAAI;QACb;;;;;IAOA,IAAA,MAAM,cAAc,GAAA;YAClB,IAAI,CAAC,IAAI,CAAC,EAAE;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;IAC3D,QAAA,MAAM,IAAI,CAAC,cAAc,CACvB,IAAI,UAAU,CAAC;gBACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;aACnF,CAAC,EACF,IAAI,UAAU,CAAC;gBACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACnF,SAAA,CAAC,CACH;IACD,QAAA,IAAI,CAAC,WAAW,CAAC,oDAAoD,CAAC;QACxE;;IAGA,IAAA,MAAM,wBAAwB,GAAA;YAC5B,IAAI,CAAC,IAAI,CAAC,EAAE;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;IAC3D,QAAA,MAAM,IAAI,CAAC,cAAc,CACvB,IAAI,UAAU,CAAC;gBACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;aACnF,CAAC,EACF,IAAI,UAAU,CAAC;gBACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACnF,SAAA,CAAC,CACH;IACD,QAAA,IAAI,CAAC,WAAW,CAAC,iDAAiD,CAAC;QACrE;;IAGA,IAAA,MAAM,cAAc,GAAA;YAClB,IAAI,CAAC,IAAI,CAAC,EAAE;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;IAC3D,QAAA,MAAM,IAAI,CAAC,cAAc,CACvB,IAAI,UAAU,CAAC;gBACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;aACnF,CAAC,EACF,IAAI,UAAU,CAAC;gBACb,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACnF,SAAA,CAAC,CACH;IACD,QAAA,IAAI,CAAC,WAAW,CAAC,oDAAoD,CAAC;QACxE;IAEQ,IAAA,MAAM,cAAc,CAAC,IAAgB,EAAE,IAAgB,EAAA;YAC7D,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,IAAI,CAAC,cAAc,CAAC;IAC3E,QAAA,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC;IAC3B,QAAA,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,iBAAiB,IAAI,IAAI;YAC5D,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,iBAAiB,IAAI,IAAI;IAE5D,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IACvB,QAAA,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClD,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IACvB,QAAA,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEjD,QAAA,MAAM,UAAU,GACd,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,MAAM,CAAC;IACzF,QAAA,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,UAAU,IAAI,QAAQ;IACrE,QAAA,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAChC;;;;IAMS,IAAA,MAAM,cAAc,GAAA;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM;IAAE,YAAA,IAAI,CAAC,WAAW,CAAC,mDAAmD,CAAC;IACvF,QAAA,IAAI,CAAC,WAAW,CAAC,iCAAiC,CAAC;IACnD,QAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC7C,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,EACjD,IAAI,CACL;IACD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;IAEtB,QAAA,IAAI,SAAS,EAAE,MAAM,EAAE;gBACrB,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE;oBACxC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;gBAChD;qBAAO;IACL,gBAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;gBAC3B;YACF;IACA,QAAA,IAAI,CAAC,WAAW,CAAC,iDAAiD,CAAC;QACrE;IAES,IAAA,MAAM,aAAa,GAAA;IAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,sCAAsC,CAAC;IACxD,QAAA,IAAI;IACF,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACnE,YAAA,IAAI,CAAC,WAAW,CAAC,8CAA8C,CAAC;YAClE;YAAE,OAAO,GAAY,EAAE;gBACrB,IAAI,CAAC,WAAW,CAAC,CAAA,0BAAA,EAA8B,GAAa,CAAC,OAAO,CAAA,CAAE,CAAC;YACzE;IACA,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;YACvB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;IAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC;QACxC;;IAGA,IAAA,MAAM,wBAAwB,GAAA;YAC5B,IAAI,CAAC,IAAI,CAAC,MAAM;IAAE,YAAA,IAAI,CAAC,WAAW,CAAC,mDAAmD,CAAC;IACvF,QAAA,IAAI,CAAC,WAAW,CAAC,+CAA+C,CAAC;IACjE,QAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC7C,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAC5C,IAAI,CACL;IACD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;IACtB,QAAA,IAAI,SAAS,EAAE,MAAM,EAAE;gBACrB,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE;oBACxC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;gBAChD;qBAAO;IACL,gBAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;gBAC3B;YACF;IACA,QAAA,IAAI,CAAC,WAAW,CAAC,+DAA+D,CAAC;QACnF;;IAGA,IAAA,MAAM,uBAAuB,GAAA;IAC3B,QAAA,IAAI,CAAC,WAAW,CAAC,sCAAsC,CAAC;IACxD,QAAA,IAAI;IACF,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAChE;YAAE,OAAO,GAAY,EAAE;gBACrB,IAAI,CAAC,WAAW,CAAC,CAAA,wCAAA,EAA4C,GAAa,CAAC,OAAO,CAAA,CAAE,CAAC;YACvF;IACA,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;YACvB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;IAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC;QAClD;;;;IAMQ,IAAA,kCAAkC,CAAC,EAAc,EAAA;YACvD,IAAI,IAAI,GAAG,CAAC;IACZ,QAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC;gBAAE,IAAI,GAAG,CAAC;YAElE,MAAM,MAAM,GAAGD,OAAK,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC;IAClC,QAAA,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM;IACrC,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc;YAEpC,MAAM,GAAG,GACP,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;iBACnB,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;iBAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;iBAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;iBAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAC7B,aAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAE/B,QAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC;IACpD,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC;IAC5C,QAAA,IAAI,CAAC,QAAQ,GAAG,gBAAgB;IAChC,QAAA,IAAI,CAAC,eAAe,GAAG,QAAQ;YAE/B,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;YAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;IAClC,QAAA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE;IACzB,QAAA,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC;IAE1D,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC;IACzF,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;YAEpB,IAAI,CAAC,IAAI,CACP,CAAA,2BAAA,EAA8B,MAAM,CAAC,YAAY,CAAA,SAAA,EAAY,MAAM,CAAC,MAAM,CAAC,MAAM,CAAA,mBAAA,EAAsB,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAE,CAC5I;IACD,QAAA,IAAI,CAAC,WAAW,CAAC,CAAA,gBAAA,EAAmB,IAAI,CAAC,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAA,gBAAA,CAAkB,CAAC;YAE7F,OAAO;IACL,YAAA,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;gBACb,MAAM;gBACN,cAAc;IACd,YAAA,WAAW,EAAE,KAAK;IAClB,YAAA,UAAU,EAAE,OAAO;gBACnB,UAAU;gBACV,MAAM;IACN,YAAA,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACnB;QACH;QAEQ,wBAAwB,CAAC,UAAoB,EAAE,YAA0B,EAAA;YAC/E,MAAM,MAAM,GAAmB,EAAE;IACjC,QAAA,MAAM,EAAE,GAAG,YAAY,KAAK,KAAK,GAAG,eAAe,CAAC,GAAG,GAAG,eAAe,CAAC,GAAG;YAC7E,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YAClC,IAAI,cAAc,GAAG,CAAC;IAEtB,QAAA,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE;IAC3B,YAAA,MAAM,GAAG,GAAG,eAAe,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,GAAG,EAAE;IACR,gBAAA,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA,GAAA,EAAM,IAAI,CAAC,EAAE,CAAC,CAAA,CAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;oBACnF,UAAU,IAAI,CAAC;oBACf;gBACF;gBACA,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC;IAC3B,YAAA,UAAU,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC;gBAEhC,QAAQ,EAAE;IACR,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,cAAc;wBACrD;IACF,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,cAAc;wBACrD;IACF,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,gBAAgB;wBACvD;IACF,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,UAAU;wBACjD;IACF,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,WAAW;wBAClD;IACF,gBAAA,KAAK,IAAI;IACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,aAAa;wBACpD;IACF,gBAAA,KAAK,IAAI;IACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,UAAU;wBACjD;IACF,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,iBAAiB;wBACxD;IACF,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,iBAAiB;wBACxD;IACF,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,iBAAiB;wBACxD;IACF,gBAAA,KAAK,IAAI;IACT,gBAAA,KAAK,IAAI;IACP,oBAAA,cAAc,IAAI,oBAAoB,CAAC,iBAAiB;wBACxD;IACF,gBAAA;IACE,oBAAA,OAAO,CAAC,IAAI,CAAC,CAAA,yBAAA,EAA4B,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,wBAAA,CAA0B,CAAC;;YAEzF;IAEA,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc;IACpC,QAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,IAAI,EAAE;QACjG;;;;IAMQ,IAAA,cAAc,CAAC,EAAiB,EAAA;YACtC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAC/B,QAAA,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;IAC5B,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAC3B,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;IACxC,gBAAA,MAAM,MAAM,GAAG,QAAQ,EAAE,KAAK,IAAI,IAAI;oBACtC,IAAI,MAAM,KAAK,IAAI;wBAAE;IAErB,gBAAA,IAAI,KAAK,GAAG,MAAM,GAAG,MAAM;IAC3B,gBAAA,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe;IACvC,gBAAA,IAAI,YAAY,KAAK,CAAC,EAAE;wBACtB,YAAY,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,IAAI;oBACtC;oBACA,IAAI,YAAY,KAAK,CAAC,IAAI,KAAK,GAAG,sBAAsB,EAAE;wBACxD,KAAK,GAAG,sBAAsB;oBAChC;oBACA,IAAI,OAAO,GAAG,2CAA2C,CAAC,KAAK,EAAE,YAAY,CAAC;oBAC9E,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC;oBAC3D,MAAM,sBAAsB,GAAG,CAAC,GAAG,GAAG,OAAO,IAAI,IAAI;oBACrD,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,sBAAsB,EAAE,UAAU,EAAE,KAAK,CAAC;gBAC7D;YACF;QACF;;;;QAMQ,cAAc,GAAA;IACpB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAO;IACxB,QAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB;IACrC,QAAA,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,KAAK,CAAC;IACvC,QAAA,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC;IAClD,QAAA,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,GAAG,QAAQ,GAAG,KAAK;IAE/C,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM;YACrB,IAAI,MAAM,GAAG,CAAC;YACd,IAAI,KAAK,GAAG,CAAC;YACb,IAAI,SAAS,GAAG,CAAC;YAEjB,OAAO,GAAG,CAAC,MAAM,IAAI,UAAU,GAAG,CAAC,EAAE;IACnC,YAAA,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE;oBACvD,IAAI,GAAW,EAAE,GAAW;IAC5B,gBAAA,IAAI;wBACF,GAAG,GAAG,OAAO,KAAK,CAAC,GAAGA,OAAK,CAAC,GAAG,EAAE,CAAC,CAAC,GAAGC,OAAK,CAAC,GAAG,EAAE,CAAC,CAAC;wBACnD,GAAG,GAAG,OAAO,KAAK,CAAC,GAAGD,OAAK,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,CAAC,GAAGC,OAAK,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,CAAC;oBAC/E;IAAE,gBAAA,MAAM;IACN,oBAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrB,oBAAA,KAAK,EAAE;wBACP;oBACF;IAEA,gBAAA,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM;IACrD,gBAAA,IAAI,EAAE,KAAK,CAAC,EAAE;IACZ,oBAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrB,oBAAA,KAAK,EAAE;wBACP;oBACF;oBAEA,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC;IACzC,gBAAA,IAAI;wBACF,IAAI,MAAM,GAAG,CAAC;IACd,oBAAA,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,WAAW,CAAC;wBAE9D,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,GAAGD,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAGC,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC;wBACtE,MAAM,IAAI,OAAO;wBACjB,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC;IAEvC,oBAAA,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE;4BAC1B,IAAI,MAAM,GAAG,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE;IACvC,4BAAA,MAAM,IAAI,KAAK,CAAC,CAAA,kBAAA,EAAqB,CAAC,CAAC,SAAS,CAAA,EAAA,EAAK,MAAM,UAAU,KAAK,CAAC,MAAM,CAAA,CAAE,CAAC;4BACtF;IACA,wBAAA,IAAI,CAAS;IACb,wBAAA,QAAQ,CAAC,CAAC,GAAG;IACX,4BAAA,KAAK,KAAK;IACR,gCAAA,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAACD,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oCACnF;IACF,4BAAA,KAAK,KAAK;oCACR,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAGA,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC;oCACnE;IACF,4BAAA,KAAK,KAAK;IACR,gCAAA,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAACC,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oCACnF;IACF,4BAAA,KAAK,KAAK;oCACR,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAGA,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC;oCACnE;gCACF,KAAK,MAAM,EAAE;oCACX,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;oCAChC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI;IACpC,gCAAA,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACrC,gCAAA,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK;oCAC1C;gCACF;IACA,4BAAA,KAAK,IAAI;IACP,gCAAA,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;oCACjB;IACF,4BAAA;IACE,gCAAA,CAAC,GAAGD,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC;;IAE5B,wBAAA,MAAM,IAAI,CAAC,CAAC,SAAS;IACrB,wBAAA,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;wBAChC;IAEA,oBAAA,IAAI,IAAI,CAAC,OAAO,EAAE;IAChB,wBAAA,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM;IAChE,wBAAA,IAAI,KAAK,KAAK,CAAC,EAAE;IACf,4BAAA,SAAS,EAAE;IACX,4BAAA,IAAI,CAAC,IAAI,CAAC,CAAA,qBAAA,EAAwB,SAAS,CAAA,KAAA,EAAQ,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,OAAO,CAAA,KAAA,CAAO,CAAC;4BACrF;wBACF;IACA,oBAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACjB,oBAAA,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;IACvB,oBAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;IACxB,oBAAA,MAAM,EAAE;IACR,oBAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChC;oBAAE,OAAO,CAAU,EAAE;wBACnB,IAAI,CAAC,IAAI,CAAC,wCAAwC,EAAG,CAAW,CAAC,OAAO,CAAC;IACzE,oBAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrB,oBAAA,KAAK,EAAE;oBACT;oBACA;gBACF;IACA,YAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrB,YAAA,KAAK,EAAE;gBACP,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,EAAE,KAAK,CAAC,EAAE;oBAClC,IAAI,CAAC,IAAI,CAAC,CAAA,gBAAA,EAAmB,KAAK,CAAA,wBAAA,EAA2B,GAAG,CAAC,MAAM,CAAA,CAAE,CAAC;gBAC5E;YACF;IAEA,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG;IACjB,QAAA,IAAI,KAAK,IAAI,KAAK,GAAG,GAAG,KAAK,CAAC;IAAE,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC;YAChD,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,EAAE;IACnC,YAAA,IAAI,CAAC,IAAI,CAAC,CAAA,cAAA,EAAiB,MAAM,CAAA,QAAA,EAAW,KAAK,CAAA,WAAA,EAAc,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA,CAAE,CAAC;YACtF;QACF;;;;QAMQ,MAAM,MAAM,CAAC,EAAc,EAAA;YACjC,IAAI,CAAC,IAAI,CAAC,EAAE;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;IAC3D,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC7C;IAEQ,IAAA,MAAM,kBAAkB,CAC9B,EAAc,EACd,YAAY,GAAG,IAAI,EAAA;YAEnB,IAAI,CAAC,aAAa,EAAE;IACpB,QAAA,IAAI;IACF,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACrB,YAAA,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;YAC7C;YAAE,OAAO,CAAC,EAAE;IACV,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACxD,YAAA,MAAM,CAAC;YACT;QACF;QAEQ,WAAW,CAAC,SAAS,GAAG,IAAI,EAAA;YAClC,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,KAAI;IACxD,YAAA,MAAM,CAAC,GAAG,UAAU,CAAC,MAAK;IACxB,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IACtB,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;gBAClC,CAAC,EAAE,SAAS,CAAC;IAEb,YAAA,MAAM,OAAO,GAAG,CAAC,KAAiB,KAAU;IAC1C,gBAAA,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;wBAAE;IAClC,gBAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,qBAAqB,EAAE;wBACpE,YAAY,CAAC,CAAC,CAAC;IACf,oBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IACtB,oBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB;IAClC,oBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;IAC7B,oBAAA,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;wBACpB;oBACF;IACA,gBAAA,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,qBAAqB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;wBAClE,YAAY,CAAC,CAAC,CAAC;IACf,oBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;wBACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzB;IACF,YAAA,CAAC;IACD,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IACvB,QAAA,CAAC,CAAC;QACJ;IAEQ,IAAA,gBAAgB,CAAC,cAAsB,EAAE,SAAS,GAAG,IAAI,EAAA;IAC/D,QAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;IAC1E,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB;IAClC,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;IAC7B,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;YAC7B;YACA,OAAO,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,KAAI;IACjD,YAAA,MAAM,CAAC,GAAG,UAAU,CAAC,MAAK;IACxB,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IACtB,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACvC,CAAC,EAAE,SAAS,CAAC;IAEb,YAAA,MAAM,OAAO,GAAG,CAAC,KAAiB,KAAU;IAC1C,gBAAA,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;wBAAE;IAClC,gBAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,qBAAqB;wBAAE;IACtE,gBAAA,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;wBAC/B,YAAY,CAAC,CAAC,CAAC;IACf,oBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;wBACtB,OAAO,CAAC,KAAK,CAAC;oBAChB;IACF,YAAA,CAAC;IACD,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IACvB,QAAA,CAAC,CAAC;QACJ;IAEQ,IAAA,OAAO,CAAC,EAA+B,EAAA;IAC7C,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB;IACQ,IAAA,QAAQ,CAAC,EAA+B,EAAA;IAC9C,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB;IACQ,IAAA,SAAS,CAAC,GAAe,EAAA;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;IACzB,YAAA,IAAI;oBACF,EAAE,CAAC,GAAG,CAAC;gBACT;gBAAE,OAAO,CAAC,EAAE;IACV,gBAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;gBACpC;IACF,QAAA,CAAC,CAAC;QACJ;IACD;;ICx2BD;IACA;IACA;IAEA;AACO,UAAM,WAAW,GAAG;IAE3B;AACO,UAAM,MAAM,GAAG;IAEtB;AACO,UAAM,MAAM,GAAG;IAEtB;AACO,UAAM,kBAAkB,GAAG;IAElC;AACO,UAAM,uBAAuB,GAAG;IAEvC;AACO,UAAM,sBAAsB,GAAG;IAEtC;AACO,UAAM,0BAA0B,GAAG;IAE1C;IACA;IACA;IAEA;AACO,UAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,IAAA,IAAI,EAAE,IAAI;IACV,IAAA,KAAK,EAAE,IAAI;IACX,IAAA,QAAQ,EAAE,IAAI;IACd,IAAA,GAAG,EAAE,IAAI;IACT,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,wBAAwB,EAAE,IAAI;IAC9B,IAAA,YAAY,EAAE,IAAI;IAClB,IAAA,cAAc,EAAE,IAAI;IACZ,CAAA;IAIV;AACO,UAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,IAAA,OAAO,EAAE,IAAI;IACb,IAAA,IAAI,EAAE,IAAI;IACV,IAAA,wBAAwB,EAAE,IAAI;IAC9B,IAAA,yBAAyB,EAAE,IAAI;IAC/B,IAAA,IAAI,EAAE,IAAI;IACV,IAAA,QAAQ,EAAE,IAAI;IACd,IAAA,cAAc,EAAE,IAAI;IACpB,IAAA,SAAS,EAAE,IAAI;IACf,IAAA,aAAa,EAAE,IAAI;IACnB,IAAA,WAAW,EAAE,IAAI;IACjB,IAAA,iBAAiB,EAAE,IAAI;IACvB,IAAA,OAAO,EAAE,IAAI;IACL,CAAA;IAIV;AACO,UAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,IAAA,MAAM,EAAE,IAAI;IACZ,IAAA,OAAO,EAAE,IAAI;IACL,CAAA;IAEV;AACO,UAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,IAAA,IAAI,EAAE,IAAI;IACV,IAAA,WAAW,EAAE,IAAI;IACjB,IAAA,WAAW,EAAE,IAAI;IACjB,IAAA,iBAAiB,EAAE,IAAI;IACvB,IAAA,MAAM,EAAE,IAAI;IACZ,IAAA,eAAe,EAAE,IAAI;IACrB,IAAA,eAAe,EAAE,IAAI;IACrB,IAAA,SAAS,EAAE,IAAI;IACf,IAAA,mBAAmB,EAAE,IAAI;IACzB,IAAA,YAAY,EAAE,IAAI;IAClB,IAAA,aAAa,EAAE,IAAI;IACnB,IAAA,mBAAmB,EAAE,IAAI;IACzB,IAAA,WAAW,EAAE,IAAI;IACjB,IAAA,WAAW,EAAE,IAAI;IACjB,IAAA,SAAS,EAAE,IAAI;IACP,CAAA;IAIV;AACO,UAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,wBAAwB,EAAE,IAAI;IAC9B,IAAA,kBAAkB,EAAE,IAAI;IACxB,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,iBAAiB,EAAE,IAAI;IACvB,IAAA,iBAAiB,EAAE,IAAI;IACvB,IAAA,wBAAwB,EAAE,IAAI;IAC9B,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,oBAAoB,EAAE,IAAI;IAC1B,IAAA,4BAA4B,EAAE,IAAI;IAClC,IAAA,uBAAuB,EAAE,IAAI;IAC7B,IAAA,sBAAsB,EAAE,IAAI;IAC5B,IAAA,QAAQ,EAAE,IAAI;IACd,IAAA,iBAAiB,EAAE,IAAI;IACvB,IAAA,wBAAwB,EAAE,IAAI;IAC9B,IAAA,cAAc,EAAE,IAAI;IACpB,IAAA,mBAAmB,EAAE,IAAI;IACzB,IAAA,0BAA0B,EAAE,IAAI;IAChC,IAAA,YAAY,EAAE,IAAI;IAClB,IAAA,yBAAyB,EAAE,IAAI;IAC/B,IAAA,gBAAgB,EAAE,IAAI;IACd,CAAA;IAIV;IACA;IACA;IAEA;;;IAGG;AACI,UAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,IAAA,SAAS,EAAE,CAAC;IACZ,IAAA,SAAS,EAAE,CAAC;IACZ,IAAA,SAAS,EAAE,CAAC;IACZ,IAAA,SAAS,EAAE,CAAC;IAEZ,IAAA,YAAY,EAAE,CAAC;IACf,IAAA,YAAY,EAAE,CAAC;IACf,IAAA,YAAY,EAAE,CAAC;IACf,IAAA,YAAY,EAAE,CAAC;IAEf,IAAA,iBAAiB,EAAE,EAAE;IACrB,IAAA,iBAAiB,EAAE,EAAE;IACrB,IAAA,iBAAiB,EAAE,EAAE;IACrB,IAAA,iBAAiB,EAAE,EAAE;IACrB,IAAA,iBAAiB,EAAE,EAAE;IACrB,IAAA,iBAAiB,EAAE,EAAE;IACrB,IAAA,iBAAiB,EAAE,EAAE;IACrB,IAAA,iBAAiB,EAAE,EAAE;IAErB,IAAA,UAAU,EAAE,EAAE;IACd,IAAA,QAAQ,EAAE,EAAE;IACZ,IAAA,gBAAgB,EAAE,EAAE;IACpB,IAAA,eAAe,EAAE,EAAE;IACnB,IAAA,YAAY,EAAE,EAAE;IAChB,IAAA,2BAA2B,EAAE,EAAE;IAC/B,IAAA,wBAAwB,EAAE,EAAE;IAC5B,IAAA,uBAAuB,EAAE,EAAE;IAC3B,IAAA,wBAAwB,EAAE,EAAE;IAC5B,IAAA,uBAAuB,EAAE,EAAE;IAC3B,IAAA,oBAAoB,EAAE,EAAE;IACxB,IAAA,mBAAmB,EAAE,EAAE;IACvB,IAAA,oBAAoB,EAAE,EAAE;IACxB,IAAA,yBAAyB,EAAE,EAAE;IAC7B,IAAA,sBAAsB,EAAE,EAAE;IAC1B,IAAA,qBAAqB,EAAE,EAAE;IACzB,IAAA,sBAAsB,EAAE,EAAE;IAE1B,IAAA,sBAAsB,EAAE,EAAE;IAC1B,IAAA,sBAAsB,EAAE,EAAE;IAC1B,IAAA,sBAAsB,EAAE,EAAE;IAC1B,IAAA,gCAAgC,EAAE,EAAE;IACpC,IAAA,oBAAoB,EAAE,EAAE;IACxB,IAAA,oBAAoB,EAAE,EAAE;IACxB,IAAA,oBAAoB,EAAE,EAAE;IACxB,IAAA,oBAAoB,EAAE,EAAE;IACxB,IAAA,eAAe,EAAE,EAAE;IACnB,IAAA,gBAAgB,EAAE,EAAE;IACpB,IAAA,cAAc,EAAE,EAAE;IAClB,IAAA,iBAAiB,EAAE,EAAE;IACrB,IAAA,qBAAqB,EAAE,EAAE;IACzB,IAAA,+BAA+B,EAAE,EAAE;IACnC,IAAA,gBAAgB,EAAE,EAAE;IACpB,IAAA,kBAAkB,EAAE,EAAE;IACtB,IAAA,kBAAkB,EAAE,EAAE;IACtB,IAAA,kBAAkB,EAAE,EAAE;IACtB,IAAA,kBAAkB,EAAE,EAAE;IACtB,IAAA,aAAa,EAAE,EAAE;IACT,CAAA;IAIV;;;IAGG;AACI,UAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,IAAA,IAAI,EAAQ,CAAC;IACb,IAAA,IAAI,EAAQ,CAAC;IACb,IAAA,GAAG,EAAS,CAAC;IACb,IAAA,UAAU,EAAE,CAAC;IACL,CAAA;;IClMV;IACM,SAAU,KAAK,CAAC,EAAU,EAAE,EAAU,EAAA;IAC1C,IAAA,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE;IACvB;IAEA;IACM,SAAU,KAAK,CAAC,KAAiB,EAAE,GAAW,EAAA;IAClD,IAAA,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAA,OAAO,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC;IACrC;IAEA;IACM,SAAU,KAAK,CAAC,KAAiB,EAAE,GAAW,EAAA;IAClD,IAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IAC5E;IAEA;IACM,SAAU,QAAQ,CAAC,KAAiB,EAAE,GAAW,EAAA;IACrD,IAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACnD;IAEA;aACgB,SAAS,GAAA;IACvB,IAAA,OAAO,IAAI,CAAC,GAAG,EAAE;IACnB;IAEA;;;;;IAKG;IACG,SAAU,iBAAiB,CAAC,KAAiB,EAAA;QACjD,IAAI,GAAG,GAAG,MAAM;IAChB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IACrC,QAAA,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACpB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC1B,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC;gBACnD,GAAG,IAAI,MAAM;YACf;QACF;QACA,OAAO,GAAG,GAAG,MAAM;IACrB;IAEA;;IAEG;IACG,SAAU,gBAAgB,CAAC,OAAmB,EAAA;IAClD,IAAA,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM;QACxB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACvD;IAEA;;;IAGG;IACG,SAAU,oBAAoB,CAAC,OAAmB,EAAA;IACtD,IAAA,OAAO,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnE;IAEA;;;IAGG;IACG,SAAU,0BAA0B,CACxC,OAMa,EAAA;IAEb,IAAA,IAAI,CAAC,OAAO;IAAE,QAAA,OAAO,IAAI;QACzB,IAAI,OAAO,YAAY,UAAU;IAAE,QAAA,OAAO,OAAO;QACjD,IAAI,OAAO,YAAY,WAAW;IAAE,QAAA,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IAClE,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;IAAE,QAAA,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IAC1D,IAAA,IAAK,OAAmC,CAAC,MAAM,YAAY,WAAW,EAAE;YACtE,MAAM,CAAC,GAAG,OAA4E;YACtF,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACzF;IACA,IAAA,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC;IACzE;IAEA;IACM,SAAU,oBAAoB,CAClC,OAMa,EAAA;IAEb,IAAA,OAAO,0BAA0B,CAAC,OAAO,CAAC;IAC5C;IAEA;;;;;IAKG;IACG,SAAU,0BAA0B,CAAC,QAAgB,EAAA;IACzD,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE;IACrC,SAAA,IAAI;IACJ,SAAA,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;IACzC,QAAA,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC;QACzF;IAEA,IAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;IACzB,QAAA,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC;QAC3F;IAEA,IAAA,MAAM,MAAM,GAAG,CAAA,EAAG,UAAU,CAAC,CAAC,CAAC,CAAA,EAAG,UAAU,CAAC,CAAC,CAAC,CAAA,EAAG,UAAU,CAAC,CAAC,CAAC,EAAE;QACjE,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;IAChD,IAAA,OAAO,CAAA,EAAG,MAAM,CAAA,EAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;IAC5D;IA4IA,MAAM,4BAA4B,GAAG,CAAC,IAAI,CAAC;IAE3C,MAAM,eAAe,GAA2B;IAC9C,IAAA,CAAC,EAAE,MAAM;IACT,IAAA,CAAC,EAAE,cAAc;IACjB,IAAA,CAAC,EAAE,iBAAiB;IACpB,IAAA,CAAC,EAAE,wBAAwB;IAC3B,IAAA,CAAC,EAAE,6BAA6B;IAChC,IAAA,CAAC,EAAE,qBAAqB;IACxB,IAAA,CAAC,EAAE,qCAAqC;IACxC,IAAA,CAAC,EAAE,8CAA8C;IACjD,IAAA,CAAC,EAAE,uCAAuC;IAC1C,IAAA,CAAC,EAAE,0CAA0C;IAC7C,IAAA,EAAE,EAAE,2CAA2C;IAC/C,IAAA,EAAE,EAAE,4BAA4B;IAChC,IAAA,EAAE,EAAE,6BAA6B;IACjC,IAAA,EAAE,EAAE,kBAAkB;IACtB,IAAA,EAAE,EAAE,mBAAmB;IACvB,IAAA,EAAE,EAAE,qCAAqC;IACzC,IAAA,EAAE,EAAE,mBAAmB;IACvB,IAAA,EAAE,EAAE,6BAA6B;IACjC,IAAA,EAAE,EAAE,4BAA4B;IAChC,IAAA,EAAE,EAAE,iCAAiC;IACrC,IAAA,EAAE,EAAE,iBAAiB;IACrB,IAAA,EAAE,EAAE,wCAAwC;IAC5C,IAAA,EAAE,EAAE,WAAW;IACf,IAAA,EAAE,EAAE,mBAAmB;IACvB,IAAA,EAAE,EAAE,YAAY;IAChB,IAAA,EAAE,EAAE,2BAA2B;IAC/B,IAAA,EAAE,EAAE,eAAe;IACnB,IAAA,EAAE,EAAE,kBAAkB;IACtB,IAAA,EAAE,EAAE,iBAAiB;IACrB,IAAA,EAAE,EAAE,iBAAiB;IACrB,IAAA,EAAE,EAAE,kBAAkB;IACtB,IAAA,EAAE,EAAE,mBAAmB;IACvB,IAAA,EAAE,EAAE,kBAAkB;IACtB,IAAA,EAAE,EAAE,iCAAiC;IACrC,IAAA,EAAE,EAAE,qCAAqC;IACzC,IAAA,EAAE,EAAE,0CAA0C;IAC9C,IAAA,EAAE,EAAE,2BAA2B;IAC/B,IAAA,EAAE,EAAE,eAAe;IACnB,IAAA,EAAE,EAAE,iBAAiB;IACrB,IAAA,EAAE,EAAE,oCAAoC;IACxC,IAAA,EAAE,EAAE,wCAAwC;IAC5C,IAAA,EAAE,EAAE,sCAAsC;IAC1C,IAAA,EAAE,EAAE,sCAAsC;IAC1C,IAAA,EAAE,EAAE,iCAAiC;IACrC,IAAA,EAAE,EAAE,4BAA4B;IAChC,IAAA,EAAE,EAAE,6BAA6B;IACjC,IAAA,EAAE,EAAE,oCAAoC;IACxC,IAAA,EAAE,EAAE,iCAAiC;IACrC,IAAA,EAAE,EAAE,0CAA0C;IAC9C,IAAA,EAAE,EAAE,mCAAmC;IACvC,IAAA,EAAE,EAAE,0BAA0B;IAC9B,IAAA,EAAE,EAAE,0BAA0B;IAC9B,IAAA,EAAE,EAAE,2CAA2C;KAChD;IAED,MAAM,mBAAmB,GAA4D;IACnF,IAAA,CAAC,EAAE,MAAM;IACT,IAAA,CAAC,EAAE,MAAM;IACT,IAAA,CAAC,EAAE,MAAM;IACT,IAAA,CAAC,EAAE,MAAM;IACT,IAAA,CAAC,EAAE,KAAK;IACR,IAAA,CAAC,EAAE,MAAM;KACV;IAED,SAAS,QAAQ,CAAC,KAAiB,EAAE,GAAW,EAAA;QAC9C,QACE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IACf,SAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,SAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC7B,SAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC/B,QAAA,CAAC;IAEL;IAEA,SAAS,iBAAiB,CAAC,KAAiB,EAAA;IAC1C,IAAA,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM;QACtB,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI;IAAE,QAAA,GAAG,EAAE;QAChD,IAAI,GAAG,KAAK,CAAC;IAAE,QAAA,OAAO,EAAE;IACxB,IAAA,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD;IAEA;IACM,SAAU,wBAAwB,CAAC,WAAmB,EAAA;IAC1D,IAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE;IACpD,QAAA,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC;QAC3F;QAEA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;IAC5C,IAAA,MAAM,eAAe,GAAG,WAAW,GAAG,OAAO,GAAG,EAAE;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC;QAEjD,OAAO,IAAI,UAAU,CAAC;IACpB,QAAA,OAAO,GAAG,IAAI;IACd,QAAA,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI;IACrB,QAAA,CAAC,OAAO,IAAI,EAAE,IAAI,IAAI;IACtB,QAAA,CAAC,OAAO,IAAI,EAAE,IAAI,IAAI;IACtB,QAAA,KAAK,GAAG,IAAI;IACZ,QAAA,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI;IACnB,QAAA,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI;IACrB,KAAA,CAAC;IACJ;IAEA;IACM,SAAU,wBAAwB,CAAC,IAAgB,EAAA;IACvD,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;IACrB,QAAA,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC;QAC9E;QAEA,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5B,IAAA,OAAO,OAAO,GAAG,EAAE,GAAG,KAAK,GAAG,OAAO;IACvC;IAEA;IACM,SAAU,+BAA+B,CAAC,QAAoB,EAAA;IAClE,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;IACzB,QAAA,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC;QACrF;QAEA,IAAI,OAAO,GAAG,EAAE;IAChB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC1B,QAAA,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACjD;IACA,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;IAC7B;IAEA;;;IAGG;IACG,SAAU,4BAA4B,CAAC,IAAkC,EAAA;IAC7E,IAAA,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;IAChE,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAC9C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;IAChC,QAAA,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF;QACH;QACA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IACjC,QAAA,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC;QAC/E;IAEA,IAAA,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;IACrC,IAAA,WAAW,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvF,IAAA,WAAW,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxF,WAAW,CAAC,OAAO,EAAE;QAErB,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,MAAM;QACxD,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,MAAM;IAExD,IAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;IAC9B,IAAA,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI;IACb,IAAA,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACvB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;QAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;QAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;QAC/B,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;IAChC,IAAA,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,IAAI;QAC9B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI;IACrC,IAAA,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,IAAI;QAC9B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI;QAErC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;IAEtB,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE;IACtC,IAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;IACxB,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;IAC1B,YAAA,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC;YAC1F;IACA,QAAA,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClD;IAEA,IAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE;IAClC,IAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;IACtB,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;IACxB,YAAA,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC;YACxF;IACA,QAAA,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChD;IAEA,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,IAAI,EAAE;IAClD,IAAA,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE;IACzB,QAAA,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC;QAC5F;IACA,IAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;IACxB,QAAA,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClD;IAEA,IAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;IAC3B,QAAA,GAAG,CAAC,EAAE,CAAC,GAAG,4BAA4B;QACxC;IAEA,IAAA,OAAO,GAAG;IACZ;IAEA;IACM,SAAU,gCAAgC,CAAC,QAAoB,EAAA;IACnE,IAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE;IACxB,QAAA,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC;QACxF;IAEA,IAAA,MAAM,IAAI,GAAG,4BAA4B,CAAC,QAAQ,CAAC;IACnD,IAAA,MAAM,gBAAgB,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9C,SAAA,OAAO;IACP,SAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;aAC1C,IAAI,CAAC,EAAE;IACP,SAAA,WAAW,EAAE;QAEhB,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;QACpC,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC;QACxE,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC;QAExE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE;QACxF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE;QACtF,MAAM,qBAAqB,GACzB,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE;QACxE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,4BAA4B,CAAC,GAAG,IAAI;QAEjG,OAAO;IACL,QAAA,GAAG,IAAI;YACP,wBAAwB,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACtD,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACpC,gBAAgB;YAChB,UAAU;YACV,UAAU;YACV,aAAa;YACb,UAAU;YACV,UAAU;YACV,aAAa;YACb,SAAS;YACT,OAAO;YACP,qBAAqB;YACrB,UAAU;SACX;IACH;IAEA;;;;;IAKG;aACa,kBAAkB,CAChC,QAAoB,EACpB,uBAA8C,SAAS,EAAA;IAEvD,IAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE;IACxB,QAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC;QAC1E;IAEA,IAAA,MAAM,gBAAgB,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9C,SAAA,OAAO;IACP,SAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;aAC1C,IAAI,CAAC,EAAE;IACP,SAAA,WAAW,EAAE;IAEhB,IAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE;IAC3C,IAAA,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE;QAEjD,MAAM,sBAAsB,GAAG;IAC7B,UAAE,wBAAwB,CACtB,IAAI,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;cAEvE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE;QAE9B,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;QAExC,MAAM,qBAAqB,GAAG;IAC5B,UAAE,wBAAwB,CACtB,IAAI,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;cAExE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE;QAE/B,MAAM,uBAAuB,GAAG;IAC9B,UAAE,wBAAwB,CACtB,IAAI,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;cAExE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE;QAE/B,MAAM,YAAY,GAAG;IACnB,UAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM;cACvF,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IAErE,IAAA,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI;QAC5E,MAAM,YAAY,GAChB,gBAAgB,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAAC;;;IAIhF,IAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE;IACzC,IAAA,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI;IACrE,IAAA,MAAM,mBAAmB,GAAG,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI;IACvE,IAAA,MAAM,gBAAgB,GAAG,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI;QAEpE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI;QAEhF,IAAI,WAAW,GAAgC,IAAI;IACnD,IAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE;IACzB,QAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IACtB,QAAA,WAAW,GAAG;IACZ,YAAA,YAAY,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;IAC9B,YAAA,eAAe,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;IACjC,YAAA,WAAW,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;IAC7B,YAAA,WAAW,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;IAC7B,YAAA,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;IACrC,YAAA,YAAY,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;IAC9B,YAAA,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;IAC3B,YAAA,0BAA0B,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;aAC7C;QACH;QAEA,OAAO;YACL,gBAAgB;YAChB,oBAAoB;YACpB,sBAAsB;YACtB,iBAAiB;YACjB,cAAc;YACd,qBAAqB;YACrB,uBAAuB;YACvB,YAAY;YACZ,gBAAgB;YAChB,YAAY;YACZ,iBAAiB;YACjB,mBAAmB;YACnB,gBAAgB;YAChB,WAAW;YACX,kBAAkB;SACnB;IACH;IAEA;IACM,SAAU,0BAA0B,CAAC,OAAmB,EAAA;IAC5D,IAAA,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;IACvB,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC;QACrE;QAEA,IAAI,GAAG,GAAG,CAAC;IACX,IAAA,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QACpF,GAAG,IAAI,CAAC;QAER,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI;IAC7C,IAAA,MAAM,iBAAiB,GACrB,cAAc,KAAK;IACjB,UAAE;cACA,cAAc,KAAK;IACnB,cAAE;kBACA,cAAc,KAAK;IACnB,kBAAE;sBACA,cAAc,KAAK;IACnB,sBAAE;0BACA,cAAc,KAAK;IACnB,0BAAE;8BACA,SAAS;QAEvB,MAAM,KAAK,GAAG,MAAa;IACzB,QAAA,MAAM,CAAC,GAAG,+BAA+B,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YACtE,GAAG,IAAI,CAAC;IACR,QAAA,OAAO,CAAC;IACV,IAAA,CAAC;IAED,IAAA,MAAM,GAAG,GAAmC;YAC1C,sBAAsB;YACtB,iBAAiB;YACjB,8BAA8B,EAAE,KAAK,EAAE;YACvC,yBAAyB,EAAE,KAAK,EAAE;YAClC,yBAAyB,EAAE,KAAK,EAAE;YAClC,uBAAuB,EAAE,KAAK,EAAE;IAChC,QAAA,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IAC/B,QAAA,cAAc,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,GAAG,SAAS;SACnE;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,iBAAiB,GAAG;gBACtB,eAAe,EAAE,KAAK,EAAE;gBACxB,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;IACpC,YAAA,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aACrC;QACH;QAEA,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,EAAE;IAC9B,QAAA,MAAM,eAAe,GAAG,KAAK,EAAE;YAC/B,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAC9B,GAAG,CAAC,QAAQ,GAAG;gBACb,eAAe;gBACf,gBAAgB,EACd,EAAE,KAAK;IACL,kBAAE;sBACA,EAAE,KAAK;IACP,sBAAE;0BACA,EAAE,KAAK;IACP,0BAAE;8BACA,EAAE,KAAK;IACP,8BAAE;kCACA,EAAE,KAAK;IACP,kCAAE;IACF,kCAAE,SAAS;IACvB,YAAA,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IACrC,YAAA,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aACrC;QACH;QAEA,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE;IAC7B,QAAA,GAAG,CAAC,yBAAyB,GAAG,KAAK,EAAE;QACzC;QACA,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE;IAC7B,QAAA,GAAG,CAAC,yBAAyB,GAAG,KAAK,EAAE;QACzC;QACA,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE;IAC7B,QAAA,GAAG,CAAC,2BAA2B,GAAG,KAAK,EAAE;QAC3C;QACA,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE;IAC7B,QAAA,GAAG,CAAC,2BAA2B,GAAG,KAAK,EAAE;QAC3C;IAEA,IAAA,OAAO,GAAG;IACZ;IAEA;IACM,SAAU,+BAA+B,CAAC,OAAmB,EAAA;QACjE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;IAC5B,QAAA,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC;QACjF;QACA,MAAM,GAAG,GAAa,EAAE;IACxB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1E,IAAA,OAAO,GAAG;IACZ;IAEA;IACM,SAAU,oBAAoB,CAAC,OAAmB,EAAA;QACtD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;IAC5B,QAAA,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC;QACjF;QAEA,MAAM,GAAG,GAA6B,EAAE;IACxC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;IAC1C,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACrC,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;YACxB,IAAI,OAAO,KAAK,CAAC;gBAAE;YAEnB,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,CAAC,GAAG,CAAC;gBACZ,OAAO;gBACP,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAA,MAAA,EAAS,OAAO,CAAA,CAAE;gBACzD,oBAAoB,EAAE,OAAO,KAAK,EAAE,GAAG,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzF,YAAA,iBAAiB,EAAE,OAAO,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI;IAC3D,SAAA,CAAC;QACJ;IACA,IAAA,OAAO,GAAG;IACZ;IAEA;IACM,SAAU,+BAA+B,CAC7C,OAAmB,EAAA;IAEnB,IAAA,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;QAC1F,IAAI,CAAC,cAAc,EAAE;IACnB,QAAA,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC;QAChF;QAEA,MAAM,GAAG,GAAmC,EAAE;IAC9C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,cAAc,EAAE;IACvD,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;YAChD,GAAG,CAAC,IAAI,CAAC;IACP,YAAA,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IACnB,YAAA,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IACnB,YAAA,oBAAoB,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IACtC,YAAA,6BAA6B,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,YAAA,gBAAgB,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAClC,YAAA,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3B,YAAA,uBAAuB,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;IAC1C,YAAA,qBAAqB,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;IACrC,YAAA,eAAe,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;IAClC,YAAA,2BAA2B,EAAE,cAAc,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI;IAC5E,YAAA,yBAAyB,EAAE,cAAc,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI;IACxE,SAAA,CAAC;QACJ;IAEA,IAAA,OAAO,GAAG;IACZ;IAEA;;;IAGG;IACG,SAAU,uBAAuB,CACrC,OAAmB,EACnB,UAAkB,EAAA;QAElB,MAAM,YAAY,GAAG,CAAC;IACtB,IAAA,MAAM,kBAAkB,GAAG,UAAU,GAAG,YAAY;IACpD,IAAA,MAAM,oBAAoB,GAAG,kBAAkB,GAAG,CAAC;QAEnD,IAAI,IAAI,GAAG,OAAO;QAClB,IAAI,IAAI,GAAkB,IAAI;QAC9B,IAAI,IAAI,GAAkB,IAAI;IAE9B,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,oBAAoB,EAAE;IAC3C,QAAA,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3B,QAAA,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3B,QAAA,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACzB;IAAO,SAAA,IAAI,OAAO,CAAC,MAAM,KAAK,kBAAkB,EAAE;IAChD,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,wCAAA,EAA2C,OAAO,CAAC,MAAM,CAAA,yBAAA,EAA4B,kBAAkB,CAAA,IAAA,EAAO,oBAAoB,CAAA,CAAE,CACrI;QACH;QAEA,MAAM,OAAO,GAAgC,EAAE;IAC/C,IAAA,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,UAAU,EAAE,SAAS,EAAE,EAAE;IAC3D,QAAA,MAAM,GAAG,GAAG,SAAS,GAAG,YAAY;IACpC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;YAC5B,MAAM,kBAAkB,GAAG,CAAC,UAAU,GAAG,IAAI,MAAM,CAAC;IACpD,QAAA,MAAM,UAAU,GAAG,UAAU,GAAG,IAAI;YACpC,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS;gBACT,UAAU;IACV,YAAA,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC,IAAI,SAAS;gBACxD,kBAAkB;gBAClB,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;IACtC,SAAA,CAAC;QACJ;IAEA,IAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;IAChC;IAEA;;IAEG;IACG,SAAU,4BAA4B,CAAC,QAAoB,EAAA;QAC/D,MAAM,QAAQ,GAAG,CAAC,GAAe,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;IAEjE,IAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC;IAChC,IAAA,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACnC,SAAA,OAAO;IACP,SAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;aAC1C,IAAI,CAAC,EAAE,CAAC;IAEX,IAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC9B,IAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC9B,IAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC9B,IAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC;QAE/B,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;IAC9C,IAAA,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEpE,IAAI,aAAa,GAAG,CAAC;IACrB,IAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE;YACzB,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;IAC9C,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;IAC9B,YAAA,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChE;QACF;QAEA,OAAO;IACL,QAAA,QAAQ,EAAE,CAAA,EAAG,UAAU,IAAI,UAAU,CAAA,CAAA,EAAI,aAAa,CAAA,CAAE;IACxD,QAAA,QAAQ,EAAE,CAAA,EAAG,UAAU,IAAI,UAAU,CAAA,CAAA,EAAI,aAAa,CAAA,CAAE;IACxD,QAAA,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;YAC1B,YAAY;SACb;IACH;;ICxyBA;IACM,SAAU,WAAW,CAAC,OAAmB,EAAE,QAAqB,EAAA;IACpE,IAAA,OAAO,CAAC,CAAC,OAAO,GAAG,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI;IACtD;IAEA;IACM,SAAU,WAAW,CAAC,MAAc,EAAA;QACxC,OAAO;IACL,QAAA,OAAO,GAAG,MAAM,GAAG,IAAI,CAAe;IACtC,QAAA,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAgB;SACzC;IACH;IAEA;IACM,SAAU,YAAY,CAC1B,OAAmB,EACnB,QAAqB,EACrB,eAAsC,EAAE,EAAA;IAExC,IAAA,MAAM,OAAO,GAAG,YAAY,YAAY,UAAU,GAAG,YAAY,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC;QAChG,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9C,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC;QACvC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI;IAC9B,IAAA,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI;IACrC,IAAA,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACnB,IAAA,OAAO,GAAG;IACZ;IAEA;IACM,SAAU,YAAY,CAAC,GAAe,EAAA;IAC1C,IAAA,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;IAAE,QAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;IACtF,IAAA,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;IACrB,IAAA,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,aAAa,GAAG,CAAC,EAAE;YACpC,MAAM,IAAI,KAAK,CACb,CAAA,kCAAA,EAAqC,aAAa,CAAA,gBAAA,EAAmB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA,CAAE,CACnG;QACH;QACA,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;QACjD,OAAO;YACL,MAAM;YACN,OAAO;YACP,QAAQ;YACR,aAAa;IACb,QAAA,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;SACtB;IACH;IAEM,SAAU,YAAY,CAAC,OAAmB,EAAA;QAC9C,OAAO,OAAO,KAAK,WAAW,CAAC,GAAG,IAAI,OAAO,KAAK,WAAW,CAAC,cAAc;IAC9E;IAEM,SAAU,aAAa,CAAC,OAAmB,EAAA;IAC/C,IAAA,QACE,OAAO,KAAK,WAAW,CAAC,uBAAuB;YAC/C,OAAO,KAAK,WAAW,CAAC,wBAAwB;IAChD,QAAA,OAAO,KAAK,WAAW,CAAC,YAAY;IAExC;IAEA;IACM,SAAU,kBAAkB,CAAC,OAAmB,EAAA;QACpD,MAAM,GAAG,GAA2B,EAAE;IACtC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;IAAE,QAAA,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,EAA0B;IAC9F,IAAA,OAAO,GAAG;IACZ;;IC/DA,SAAS,IAAI,CAAC,CAAS,EAAA;IACrB,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAClD;IAEA,SAAS,IAAI,CAAC,CAAS,EAAA;IACrB,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAClD;IAEA,SAAS,kBAAkB,CAAC,IAAU,EAAA;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;QAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IACrC,IAAA,OAAO,CAAA,EAAG,EAAE,CAAA,EAAG,EAAE,CAAA,EAAG,EAAE,CAAA,CAAA,EAAI,EAAE,CAAA,EAAG,GAAG,CAAA,EAAG,EAAE,EAAE;IAC3C;IAEA;IACM,SAAU,yBAAyB,CAAC,UAAgB,EAAE,iBAAyB,EAAA;IACnF,IAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,GAAG,CAAC,IAAI,iBAAiB,GAAG,MAAM,EAAE;IAC9F,QAAA,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC;QAC3F;QACA,OAAO,CAAA,EAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,iBAAiB,CAAC,CAAA,IAAA,CAAM;IAC3E;IAEA;aACgB,sBAAsB,CACpC,SAAe,EACf,UAAkB,EAClB,iBAAyB,EAAA;IAEzB,IAAA,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;IAC7C,QAAA,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC;QAClF;IACA,IAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,GAAG,CAAC,IAAI,iBAAiB,GAAG,MAAM,EAAE;IAC9F,QAAA,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC;QACxF;IACA,IAAA,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM;IACvG;IAEA;IACM,SAAU,oBAAoB,CAAC,QAAgB,EAAE,cAAsB,EAAA;IAC3E,IAAA,IAAI,cAAc,GAAG,CAAC,EAAE;IACtB,QAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;QACtE;QAEA,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC;QACrC,IAAI,GAAG,IAAI,CAAC;IAAE,QAAA,OAAO,CAAA,EAAG,QAAQ,CAAA,EAAA,EAAK,cAAc,GAAG;QAEtD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;IAC/B,IAAA,OAAO,GAAG,IAAI,CAAA,EAAA,EAAK,cAAc,CAAA,CAAA,EAAI,GAAG,EAAE;IAC5C;IAEA;IACM,SAAU,8BAA8B,CAC5C,QAAgB,EAChB,aAA+B,EAAA;IAE/B,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC;IACvC,IAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;IAAE,QAAA,OAAO,QAAQ;QAE5C,IAAI,CAAC,GAAG,CAAC;QACT,OAAO,IAAI,EAAE;YACX,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnD,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;IAAE,YAAA,OAAO,SAAS;IAC9C,QAAA,CAAC,EAAE;QACL;IACF;IAEA;IACM,SAAU,oBAAoB,CAAC,OAAmB,EAAA;IACtD,IAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;IACtB,QAAA,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC;QAChF;IACA,IAAA,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7B;IAEA;;;IAGG;IACG,SAAU,uBAAuB,CAAC,KAA+B,EAAA;QAIrE,MAAM,OAAO,GAAwB,EAAE;IAEvC,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB;IACnC,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB;;IAGnC,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACrD,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACrD,IAAI,WAAW,KAAK,WAAW;IAAE,QAAA,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC;IAEzE,IAAA,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,IAAI,OAAO,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC,EAAE;IAC/E,QAAA,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;QAC/B;IAEA,IAAA,IAAI,KAAK,CAAC,gBAAgB,IAAI,IAAI,EAAE;IAClC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC;IACzD,QAAA,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI;IACzB,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,GAAG,EAAE;IAClD,YAAA,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACzC;QACF;IAEA,IAAA,IAAI,KAAK,CAAC,kBAAkB,EAAE;IAC5B,QAAA,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;QAC7B;QAEA,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;IACrD;;ICpIA;;;;;;;IAOG;UACmB,UAAU,CAAA;IAAhC,IAAA,WAAA,GAAA;YAOY,IAAA,CAAA,kBAAkB,GAAG,CAAC;YACtB,IAAA,CAAA,KAAK,GAAG,CAAC;;YAGnB,IAAA,CAAA,qBAAqB,GAAkB,IAAI;;YAG3C,IAAA,CAAA,cAAc,GAAkB,IAAI;;YAGpC,IAAA,CAAA,OAAO,GAAG,IAAI;QA0FhB;;QAvFE,eAAe,GAAA;IACb,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC;IAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC;IACd,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;QACnC;IAEA;;IAEG;IACH,IAAA,WAAW,CAAC,KAAa,EAAA;YACvB,IAAI,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK;IAC/D,QAAA,IAAI,IAAI,CAAC,kBAAkB,GAAG,SAAS,EAAE;IACvC,YAAA,IAAI,CAAC,KAAK,IAAI,CAAC;gBACf,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK;YAC7D;IACA,QAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS;IACnC,QAAA,OAAO,SAAS;QAClB;;IAGA,IAAA,aAAa,CAAC,cAAsB,EAAA;YAClC,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC,UAAU,IAAI,MAAM;QAC1D;IAEA;;;;;;IAMG;QACH,2BAA2B,CACzB,kBAA0B,EAC1B,YAAoB,EAAA;YAEpB,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;IAExD,QAAA,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,EAAE;IACtC,YAAA,IAAI,CAAC,qBAAqB,GAAG,YAAY,GAAG,aAAa;YAC3D;YAEA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE;QAC7E;IAEA;;;;;IAKG;IACH,IAAA,sBAAsB,CAAC,IAOtB,EAAA;YACC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc;YACrD,MAAM,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAEpF,QAAA,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;gBAClB,OAAO;IACL,gBAAA,QAAQ,EAAE,kBAAkB;IAC5B,gBAAA,cAAc,EAAE,wBAAwB;oBACxC,kBAAkB,EAChB,qBAAqB,IAAI;0BACrB,kBAAkB,GAAG;IACvB,sBAAE,wBAAwB;iBAC/B;YACH;IAEA,QAAA,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;IAC3D,QAAA,MAAM,QAAQ,GAAG,kBAAkB,GAAG,eAAe,GAAG,IAAI;IAC5D,QAAA,MAAM,cAAc,GAAG,wBAAwB,GAAG,eAAe,GAAG,IAAI;IACxE,QAAA,MAAM,kBAAkB,GACtB,qBAAqB,IAAI,IAAI,GAAG,QAAQ,GAAG,qBAAqB,GAAG,cAAc;IAEnF,QAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE;QACzD;;IAnGA;IACgB,UAAA,CAAA,UAAU,GAAG,KAAH;IAE1B;IACgB,UAAA,CAAA,eAAe,GAAG,EAAE,GAAG,KAAK;;ICoB9C;;;;;;;;;IASG;IACG,MAAO,SAAU,SAAQ,UAAU,CAAA;IAmBvC,IAAA,WAAA,GAAA;IACE,QAAA,KAAK,EAAE;YAnBA,IAAA,CAAA,wBAAwB,GAAG,IAAI;YAC/B,IAAA,CAAA,2BAA2B,GAAG,IAAI;YAClC,IAAA,CAAA,2BAA2B,GAAG,GAAG;YAEzB,IAAA,CAAA,kBAAkB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;YAClD,IAAA,CAAA,cAAc,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;YAE9D,IAAA,CAAA,UAAU,GAAG,IAAI;YACjB,IAAA,CAAA,WAAW,GAAG,KAAK;;YAEnB,IAAA,CAAA,eAAe,GAAG,CAAC;YACnB,IAAA,CAAA,kBAAkB,GAAuB,sBAAsB;;YAG/D,IAAA,CAAA,iBAAiB,GAAG,CAAC;YACrB,IAAA,CAAA,kBAAkB,GAAG,CAAC;YACtB,IAAA,CAAA,6BAA6B,GAAG,CAAC;IAI/B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;QAC1B;IAEA,IAAA,qBAAqB,CAAC,KAAyB,EAAA;IAC7C,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;QACjC;IACA,IAAA,kBAAkB,CAAC,CAAS,EAAA;IAC1B,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC;QAC1B;QAEA,UAAU,CACR,IAAiD,EACjD,aAAiC,EAAA;IAEjC,QAAA,IAAI,aAAa,IAAI,IAAI,EAAE;IACzB,YAAA,MAAM,OAAO,GACX,OAAO,IAAI,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,EAAE;gBAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC;YACnD;IAEA,QAAA,MAAM,GAAG,GACP,OAAO,IAAI,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,EAAE;IAE1F,QAAA,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,SAAS;IAAE,YAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG;IAC3D,QAAA,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS;IAAE,YAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI;IAE9D,QAAA,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;QACzD;IAEQ,IAAA,aAAa,CACnB,EAAE,GAAG,EAAE,IAAI,EAAqC,EAChD,aAAyB,EAAA;IAEzB,QAAA,MAAM,EAAE,GAAG,0BAA0B,CAAC,aAAa,CAAE;IACrD,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;IAE9B,QAAA,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE;IAC5B,YAAA,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS;IAC5B,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;YACpE;IACA,QAAA,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE;IAC7B,YAAA,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS;IAC5B,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;YACrE;IAEA,QAAA,OAAO,GAAG;QACZ;QAEA,aAAa,CAAC,QAAgB,EAAE,EAAc,EAAA;IAC5C,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;IAC9B,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,sBAAsB;IACvC,QAAA,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,QAAQ,GAAG,IAAI,CAAC;IAClD,QAAA,OAAO,GAAG;QACZ;QAEA,oBAAoB,CAAC,OAAe,EAAE,EAAc,EAAA;IAClD,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;IAC9B,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,sBAAsB;IACvC,QAAA,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,OAAO,GAAG,IAAI,CAAC;IACjD,QAAA,OAAO,GAAG;QACZ;QAEA,oBAAoB,CAAC,OAAe,EAAE,EAAc,EAAA;IAClD,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;IAC9B,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,sBAAsB;YACvC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC;IACxD,QAAA,OAAO,GAAG;QACZ;IAEA,IAAA,mBAAmB,CAAC,UAAkB,EAAA;IACpC,QAAA,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;IAC5B,QAAA,IAAI,UAAU,GAAG,GAAG,GAAG,GAAG;IAC1B,QAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,oBAAoB,EAAE;IACpD,YAAA,UAAU,GAAG,GAAG,GAAG,GAAG;YACxB;IACA,QAAA,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG;YAC5B,OAAO,CAAC,UAAU,GAAG,UAAU,IAAI,QAAQ,GAAG,UAAU;QAC1D;QAEA,mCAAmC,CAAC,KAAa,EAAE,KAAa,EAAA;YAC9D,IAAI,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAC9C,QAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,sBAAsB,EAAE;IACtD,YAAA,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YACxC;IACA,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,KAAK,sBAAsB,GAAG,MAAM,GAAG,GAAG;YACvF,OAAO,SAAS,IAAI,KAAK,GAAG,aAAa,GAAG,GAAG,CAAC;QAClD;IAEA,IAAA,kBAAkB,CAAC,KAAa,EAAA;IAC9B,QAAA,MAAM,aAAa,GAAqC;IACtD,YAAA,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;IACd,YAAA,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;IAChB,YAAA,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACjB,YAAA,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;IAClB,YAAA,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC;aACjB;IACD,QAAA,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;YAChE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD;IAEA,IAAA,cAAc,CAAC,KAAa,EAAA;YAC1B,OAAO,MAAM,GAAG,KAAK;QACvB;IAES,IAAA,YAAY,CAAC,kBAA8B,EAAA;IAClD,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC;IAClE,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,cAAc,CAAC;YAChE,MAAM,GAAG,GAAuB,EAAE;IAElC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC1B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,cAAc;gBAC/B,IAAI,IAAI,GAA4B,IAAI;gBACxC,IAAI,GAAG,GAAwB,IAAI;IAEnC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC;IAE5D,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,QAAQ,CAAC;IACzD,gBAAA,IAAI,KAAK,GAAG,MAAM,GAAG,MAAM;IAE3B,gBAAA,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe;oBACvC,IAAI,YAAY,KAAK,CAAC;wBAAE,YAAY,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,IAAI;IAE5D,gBAAA,IAAI,YAAY,KAAK,CAAC,EAAE;IACtB,oBAAA,MAAM,KAAK,GACT,IAAI,CAAC,kBAAkB,KAAK;8BACxB,IAAI,CAAC;IACP,0BAAE,IAAI,CAAC,2BAA2B;wBACtC,IAAI,KAAK,GAAG,KAAK;4BAAE,KAAK,GAAG,KAAK;oBAClC;oBAEA,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;oBAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,mCAAmC,CAAC,KAAK,EAAE,YAAY,CAAC;IACzE,gBAAA,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;oBACtC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;IACrC,gBAAA,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,wBAAwB,GAAG,WAAW,GAAG,cAAc;oBAEtF,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE;gBACnF;IAEA,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,MAAM;IACtD,gBAAA,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM;IAC5B,gBAAA,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC;oBACjD,MAAM,iBAAiB,GAAG,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI;oBAE9C,IAAI,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,MAAM;IACjD,gBAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,oBAAoB,EAAE;wBACpD,EAAE,IAAI,KAAK;oBACb;IAEA,gBAAA,MAAM,gBAAgB,GAA2B;IAC/C,oBAAA,CAAC,EAAE,sBAAsB;IACzB,oBAAA,CAAC,EAAE,UAAU;IACb,oBAAA,CAAC,EAAE,mBAAmB;IACtB,oBAAA,CAAC,EAAE,iBAAiB;qBACrB;IAED,gBAAA,IAAI,GAAG;wBACL,KAAK;wBACL,KAAK;IACL,oBAAA,EAAE,EAAE,EAAE;wBACN,YAAY;wBACZ,iBAAiB;IACjB,oBAAA,aAAa,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,SAAS;qBAChE;gBACH;gBAEA,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;YACzB;IAEA,QAAA,OAAO,GAAG;QACZ;IAES,IAAA,sBAAsB,CAAC,EAAc,EAAA;YAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YACtC,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;IAEtC,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,GAAG,UAAU,MAAM,CAAC;IAE5C,QAAA,MAAM,OAAO,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI;IAC/D,QAAA,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI;IAC5D,QAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI;YAC5B,MAAM,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;IAE1C,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO;IAChC,QAAA,IAAI,CAAC,kBAAkB,GAAG,QAAQ;IAClC,QAAA,IAAI,CAAC,6BAA6B,GAAG,eAAe;YAEpD,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE;IAClC,YAAA,IAAI,CAAC,eAAe,GAAG,QAAQ;YACjC;QACF;IACD;;ICrPD;;;;;IAKG;IACG,MAAO,cAAe,SAAQ,UAAU,CAAA;IAkB5C,IAAA,WAAA,GAAA;IACE,QAAA,KAAK,EAAE;YAlBT,IAAA,CAAA,MAAM,GAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAE5C,QAAA,IAAA,CAAA,KAAK,GAAmF;IACtF,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACT,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACT,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACV;IAEgB,QAAA,IAAA,CAAA,kBAAkB,GAAiD;IAClF,YAAA,IAAI,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;IACtD,YAAA,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;IACnD,YAAA,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;IACnD,YAAA,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;aACrD;YAED,IAAA,CAAA,KAAK,GAAe,IAAI;IAItB,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;QAC1B;IAEA,IAAA,QAAQ,CAAC,QAAoB,EAAA;IAC3B,QAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;IAAE,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;QAC9D;;QAIA,UAAU,CAAC,OAAgB,EAAE,aAAiC,EAAA;IAC5D,QAAA,IAAI,aAAa,IAAI,IAAI,EAAE;IACzB,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO;gBACtB,OAAO,IAAI,CAAC,OAAO;YACrB;IACA,QAAA,MAAM,EAAE,GAAG,0BAA0B,CAAC,aAAa,CAAE;IACrD,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;IAC9B,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS;IAC5B,QAAA,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;IACtE,QAAA,OAAO,GAAG;QACZ;QAEA,eAAe,CAAC,OAAgB,EAAE,aAAiC,EAAA;YACjE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC;QAChD;QAEA,eAAe,CAAC,QAAgB,EAAE,EAAc,EAAA;IAC9C,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;IAC9B,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY;YAC7B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,CAAC;IACzD,QAAA,OAAO,GAAG;QACZ;QAEA,sBAAsB,CAAC,OAAe,EAAE,EAAc,EAAA;IACpD,QAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;IAC9B,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY;YAC7B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC;IACxD,QAAA,OAAO,GAAG;QACZ;IAEQ,IAAA,UAAU,CAAC,GAA6B,EAAA;IAC9C,QAAA,MAAM,CAAC,GAA6B;gBAClC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;aACxB;IACD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;IACpB,QAAA,MAAM,OAAO,GAA6B;IACxC,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACjD;YACD,MAAM,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7C,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE;IAES,IAAA,YAAY,CAAC,kBAA8B,EAAA;YAClD,MAAM,gBAAgB,GAAG,CAAC;IAC1B,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,gBAAgB,CAAC;YAClE,MAAM,GAAG,GAAqB,EAAE;IAEhC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC1B,YAAA,MAAM,GAAG,GAAG,CAAC,GAAG,gBAAgB;IAChC,YAAA,MAAM,GAAG,GAA6B;IACpC,gBAAA,KAAK,CAAC,kBAAkB,EAAE,GAAG,GAAG,CAAC,CAAC;IAClC,gBAAA,KAAK,CAAC,kBAAkB,EAAE,GAAG,GAAG,CAAC,CAAC;IAClC,gBAAA,KAAK,CAAC,kBAAkB,EAAE,GAAG,GAAG,CAAC,CAAC;iBACnC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;IAChC,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC;YACjD;IAEA,QAAA,OAAO,GAAG;QACZ;IAES,IAAA,sBAAsB,CAAC,EAAc,EAAA;YAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;YACjC,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;YACpC,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;IAEpC,QAAA,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;IAChD,YAAA,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC;gBACvE;YACF;IAEA,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;YAEzC,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;YACvC,MAAM,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;YACtC,MAAM,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;IAEtC,QAAA,MAAM,QAAQ,GAA+B,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE;YACpF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;IAE7C,QAAA,MAAM,eAAe,GAA2B;IAC9C,YAAA,CAAC,EAAE,GAAG;IACN,YAAA,CAAC,EAAE,IAAI;IACP,YAAA,CAAC,EAAE,EAAE;IACL,YAAA,CAAC,EAAE,EAAE;IACL,YAAA,CAAC,EAAE,GAAG;IACN,YAAA,CAAC,EAAE,GAAG;aACP;IACD,QAAA,MAAM,eAAe,GAA2B;IAC9C,YAAA,CAAC,EAAE,IAAI;IACP,YAAA,CAAC,EAAE,EAAE;IACL,YAAA,CAAC,EAAE,EAAE;IACL,YAAA,CAAC,EAAE,GAAG;IACN,YAAA,CAAC,EAAE,GAAG;IACN,YAAA,CAAC,EAAE,GAAG;IACN,YAAA,CAAC,EAAE,GAAG;IACN,YAAA,CAAC,EAAE,IAAI;aACR;IAED,QAAA,MAAM,UAAU,GAAG,WAAW,KAAK,CAAC;IACpC,QAAA,MAAM,EAAE,GAAG,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC;IACnF,QAAA,IAAI,EAAE;IAAE,YAAA,IAAI,CAAC,cAAc,GAAG,EAAE;QAClC;IACD;;IC/ID;;;;IAIG;IACG,MAAO,aAAc,SAAQ,UAAU,CAAA;IA4B3C,IAAA,WAAA,GAAA;IACE,QAAA,KAAK,EAAE;YA5BT,IAAA,CAAA,MAAM,GAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAE5C,QAAA,IAAA,CAAA,KAAK,GAAmF;IACtF,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACT,YAAA,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACV,YAAA,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aACX;IAEgB,QAAA,IAAA,CAAA,cAAc,GAAiD;IAC9E,YAAA,IAAI,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;IACtD,YAAA,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;IACnD,YAAA,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;IACnD,YAAA,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;aACrD;IAEgB,QAAA,IAAA,CAAA,eAAe,GAAgD;IAC9E,YAAA,QAAQ,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;IACvD,YAAA,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;IACpD,YAAA,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;IACrD,YAAA,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;aACtD;YAED,IAAA,CAAA,QAAQ,GAAe,IAAI;YAC3B,IAAA,CAAA,SAAS,GAAc,QAAQ;YAC/B,IAAA,CAAA,UAAU,GAAG,IAAI;YACjB,IAAA,CAAA,WAAW,GAAG,IAAI;IAIhB,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;QAC1B;IAEA,IAAA,eAAe,CAAC,CAAU,EAAA;IACxB,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QACvB;IACA,IAAA,cAAc,CAAC,CAAU,EAAA;IACvB,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QACxB;IACA,IAAA,aAAa,CAAC,CAAa,EAAA;IACzB,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAAE,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;QAC/C;IACA,IAAA,YAAY,CAAC,CAAY,EAAA;IACvB,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAAE,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC;QACjD;IAEQ,IAAA,oBAAoB,CAAC,IAA8B,EAAA;IACzD,QAAA,MAAM,CAAC,GAA6B;gBAClC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;aACzB;IACD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;YACpB,OAAO;IACL,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACjD;QACH;IAES,IAAA,YAAY,CAAC,kBAA8B,EAAA;YAClD,IAAI,cAAc,GAAG,CAAC;IACtB,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU;gBAAE,cAAc,GAAG,EAAE;IAE5D,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,cAAc,CAAC;YAChE,MAAM,GAAG,GAAoB,EAAE;IAE/B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC1B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,cAAc;gBAC/B,IAAI,OAAO,GAAoC,IAAI;gBACnD,IAAI,MAAM,GAAoC,IAAI;gBAElD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;IACvC,gBAAA,OAAO,GAAG;IACR,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;IACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;IACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;qBACpC;IACD,gBAAA,MAAM,GAAG;IACP,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;IACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;IACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,EAAE,CAAC;qBACrC;gBACH;IAAO,iBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;IAC3B,gBAAA,OAAO,GAAG;IACR,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;IACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;IACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;qBACpC;gBACH;IAAO,iBAAA,IAAI,IAAI,CAAC,UAAU,EAAE;IAC1B,gBAAA,MAAM,GAAG;IACP,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;IACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;IACnC,oBAAA,KAAK,CAAC,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC;qBACpC;gBACH;gBAEA,IAAI,MAAM,GAAoC,IAAI;gBAClD,IAAI,OAAO,GAAoC,IAAI;gBAEnD,IAAI,MAAM,EAAE;oBACV,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;oBACjD,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5C,gBAAA,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE;gBACA,IAAI,OAAO,EAAE;oBACX,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;oBAClD,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;IAC9C,gBAAA,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrE;gBAEA,GAAG,CAAC,IAAI,CAAC;oBACP,KAAK,EAAE,MAAM,IAAI,MAAM,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;oBAC7E,IAAI,EAAE,OAAO,IAAI,OAAO,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;IACjF,aAAA,CAAC;YACJ;IAEA,QAAA,OAAO,GAAG;QACZ;IAES,IAAA,sBAAsB,CAAC,EAAc,EAAA;IAC5C,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,MAAM,CAAC;IAC3D,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,MAAM,CAAC;YAE5D,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACzC,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;YAEvC,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACzC,MAAM,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;YACxC,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;IAEvC,QAAA,MAAM,aAAa,GAA+B,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE;IACzF,QAAA,MAAM,YAAY,GAA8B;IAC9C,YAAA,CAAC,EAAE,QAAQ;IACX,YAAA,CAAC,EAAE,QAAQ;IACX,YAAA,CAAC,EAAE,SAAS;IACZ,YAAA,CAAC,EAAE,SAAS;aACb;IAED,QAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;IACjE,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC;IAE/D,QAAA,MAAM,OAAO,GAAkC;IAC7C,YAAA,CAAC,EAAE,IAAI;IACP,YAAA,CAAC,EAAE,IAAI;IACP,YAAA,CAAC,EAAE,EAAE;IACL,YAAA,CAAC,EAAE,EAAE;IACL,YAAA,CAAC,EAAE,GAAG;IACN,YAAA,CAAC,EAAE,GAAG;IACN,YAAA,CAAC,EAAE,GAAG;IACN,YAAA,CAAC,EAAE,GAAG;IACN,YAAA,CAAC,EAAE,IAAI;aACR;IACD,QAAA,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAChC,QAAA,IAAI,EAAE;IAAE,YAAA,IAAI,CAAC,cAAc,GAAG,EAAE;QAClC;IACD;;IC3JD;;;;IAIG;IACG,MAAO,SAAU,SAAQ,UAAU,CAAA;IAUvC,IAAA,WAAA,GAAA;IACE,QAAA,KAAK,EAAE;YAVT,IAAA,CAAA,GAAG,GAAG,KAAK;YACX,IAAA,CAAA,EAAE,GAAG,KAAK;YACV,IAAA,CAAA,KAAK,GAAG,KAAK;YACb,IAAA,CAAA,IAAI,GAAG,KAAK;YAEK,IAAA,CAAA,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;IACtC,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC/D,QAAA,IAAA,CAAA,kBAAkB,GAAG,CAAC,CAAC;IAIrB,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;QAC1B;IAEA,IAAA,WAAW,CAAC,QAA8C,EAAA;IACxD,QAAA,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,SAAS;IAAE,YAAA,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG;IAC9D,QAAA,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,SAAS;IAAE,YAAA,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE;IAC3D,QAAA,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,SAAS;IAAE,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK;IACpE,QAAA,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,SAAS;IAAE,YAAA,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;QACnE;IAEA,IAAA,qBAAqB,CAAC,CAAS,EAAA;IAC7B,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAAE,YAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC;QACnD;IAEA,IAAA,cAAc,CAAC,UAAkB,EAAA;IAC/B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB;YACnC,OAAO,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM;QAC3E;IAES,IAAA,YAAY,CAAC,kBAA8B,EAAA;YAClD,MAAM,OAAO,GAAiB,EAAE;YAChC,IAAI,IAAI,CAAC,GAAG;IAAE,YAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YACjC,IAAI,IAAI,CAAC,EAAE;IAAE,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,IAAI,IAAI,CAAC,KAAK;IAAE,YAAA,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YACrC,IAAI,IAAI,CAAC,IAAI;IAAE,YAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IAEnC,QAAA,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;YACzC,IAAI,cAAc,KAAK,CAAC;IAAE,YAAA,OAAO,EAAE;IAEnC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,cAAc,CAAC;YAChE,MAAM,GAAG,GAAgB,EAAE;IAE3B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC1B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,cAAc;gBAC/B,IAAI,GAAG,GAAG,CAAC;gBACX,MAAM,MAAM,GAAc,EAAE;IAE5B,YAAA,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE;oBACxB,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC7C,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC7C,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC7C,GAAG,IAAI,CAAC;IAER,gBAAA,IAAI,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC;oBAC/C,KAAK,IAAI,OAAO;oBAEhB,MAAM,CAAC,EAAE,CAAC,GAAG;IACX,oBAAA,GAAG,EAAE,KAAK;IACV,oBAAA,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;wBAC/B,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;qBACxC;gBACH;IAEA,YAAA,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAClB;IAEA,QAAA,OAAO,GAAG;QACZ;IAES,IAAA,sBAAsB,CAAC,GAAe,EAAA;;;;IAI7C,QAAA,KAAK,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACvC;IACD;;IChGK,SAAU,uBAAuB,CAAC,OAAmB,EAAA;IACzD,IAAA,IAAI,OAAO,KAAK,WAAW,CAAC,IAAI;YAAE,OAAO,IAAI,GAAG,CAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpF,IAAA,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;IACjC,QAAA,OAAO,IAAI,GAAG,CAAa,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjG;IACA,IAAA,OAAO,IAAI,GAAG,CAAa,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACjG;IAEM,SAAU,iBAAiB,CAAC,GAAqB,EAAA;QACrD,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB;IACH;IAEM,SAAU,uBAAuB,CACrC,OAA8B,EAC9B,GAAqB,EAAA;IAErB,IAAA,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC9B,OAAO,IAAI,KAAK,CACd,CAAA,+BAAA,EAAkC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,YAAA,EAAe,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAE,CACrG;QACH;IAEA,IAAA,IAAI,OAAO,CAAC,kBAAkB,EAAE,IAAI,EAAE;IACpC,QAAA,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACjD,OAAO,IAAI,KAAK,CACd,CAAA,+BAAA,EAAkC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,kBAAA,EAAqB,KAAK,CAAC,IAAI,CACxF,OAAO,CAAC,kBAAkB;AAEzB,iBAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA,EAAA,EAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;AAChC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG,CACjB;YACH;QACF;aAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,gBAAgB,EAAE;YACpD,OAAO,IAAI,KAAK,CACd,CAAA,+BAAA,EAAkC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,aAAA,EAAgB,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAA,CAAG,CACpH;QACH;IAEA,IAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC9C,OAAO,IAAI,KAAK,CACd,CAAA,8BAAA,EAAiC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,gBAAA,EAAmB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAE,CACxG;QACH;IAEA,IAAA,OAAO,IAAI;IACb;;IC4BA;IACA;IACA;IAEA;;;;;;;;;;;;;;;;;;;;;IAqBG;IACG,MAAO,kBAAmB,SAAQ,iBAAiB,CAAA;QAiBvD,EAAE,CAAc,EAAU,EAAE,EAAqB,EAAA;YAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC;IACxD,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,GAAG,CAAC,EAA0B,CAAC;YACpD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAA0B,CAAC;QACvD;QAEA,GAAG,CAAC,EAAU,EAAE,EAA2B,EAAA;IACzC,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QACjC;QAEA,IAAI,CAAC,EAAU,EAAE,IAAc,EAAA;YAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAC7B,QAAA,IAAI,CAAC;gBAAE,KAAK,MAAM,EAAE,IAAI,CAAC;oBAAE,EAAE,CAAC,IAAI,CAAC;QACrC;IAkDA,IAAA,WAAA,CAAY,OAA+B,EAAE,EAAA;YAC3C,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;;IAlErB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,GAAG,EAAwC;;YAkBjE,IAAA,CAAA,cAAc,GAAkB,IAAI;YAC5C,IAAA,CAAA,MAAM,GAA2B,IAAI;YAC7B,IAAA,CAAA,MAAM,GAAqC,IAAI;YAC/C,IAAA,CAAA,OAAO,GAAsC,IAAI;YACzD,IAAA,CAAA,EAAE,GAA6C,IAAI;YACnD,IAAA,CAAA,EAAE,GAA6C,IAAI;YACnD,IAAA,CAAA,IAAI,GAAsB,IAAI;YACtB,IAAA,CAAA,YAAY,GAA2B,IAAI;YAC3C,IAAA,CAAA,aAAa,GAAmD,IAAI;YACpE,IAAA,CAAA,mBAAmB,GAAyB,IAAI;YAChD,IAAA,CAAA,mBAAmB,GAAwB,IAAI;;YAG/C,IAAA,CAAA,KAAK,GAAe,MAAM;IAC1B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;YAChC,IAAA,CAAA,QAAQ,GAAiC,IAAI;IAC7C,QAAA,IAAA,CAAA,YAAY,GAAkB,OAAO,CAAC,OAAO,EAAE;YAC/C,IAAA,CAAA,KAAK,GAAuB,IAAI;YAChC,IAAA,CAAA,kBAAkB,GAUf,IAAI;IACE,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,WAAW,EAAE;;YAUvD,IAAA,CAAA,iBAAiB,GAAsB,IAAI;YAC3C,IAAA,CAAA,gBAAgB,GAAsB,IAAI;;YAG1C,IAAA,CAAA,SAAS,GAAG,IAAI;YACR,IAAA,CAAA,YAAY,GAAG,CAAC;YAChB,IAAA,CAAA,iBAAiB,GAAG,CAAC;YAI3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,sBAAsB;YAC3E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI;YACjD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,KAAK;YAEpD,IAAI,CAAC,OAAO,GAAG;gBACb,CAAC,EAAE,IAAI,SAAS,EAAE;gBAClB,CAAC,EAAE,IAAI,cAAc,EAAE;gBACvB,CAAC,EAAE,IAAI,aAAa,EAAE;gBACtB,CAAC,EAAE,IAAI,SAAS,EAAE;aACnB;IAED,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAChE;QAEmB,IAAI,CAAC,GAAG,IAAe,EAAA;YACxC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC;QACrD;;IAGA,IAAA,IAAI,GAAG,GAAA;IACL,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACxB;IACA,IAAA,IAAI,MAAM,GAAA;IACR,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACxB;IACA,IAAA,IAAI,UAAU,GAAA;IACZ,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACxB;IACA,IAAA,IAAI,GAAG,GAAA;IACL,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACxB;;;;IAMS,IAAA,MAAM,OAAO,CACpB,IAAA,GAII,EAAE,EAAA;YAEN,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE;IACjD,YAAA,IAAI;IACF,gBAAA,MAAM,IAAI,CAAC,UAAU,EAAE;gBACzB;IAAE,YAAA,MAAM;;gBAER;YACF;IAEA,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;IAE3B,QAAA,MAAM,WAAW,GAAyB;IACxC,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;IACtD,YAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,CAAC;aACzD;IAED,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAEnF,QAAA,IAAI;gBACF,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,EAAE;oBAC3C,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,IAAI,CAAC,mBAAmB,CAAC;gBACrF;YACF;IAAE,QAAA,MAAM;;YAER;IAEA,QAAA,IAAI,CAAC,mBAAmB,GAAG,MAAK;IAC9B,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM;IACnB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;gBAC1B,IAAI,CAAC,+BAA+B,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC5C,QAAA,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,IAAI,CAAC,mBAAmB,CAAC;IAEhF,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,OAAO,EAAE;IAC/C,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC;IAC/D,QAAA,IAAI,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC;IACtD,QAAA,IAAI,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC;IAEtD,QAAA,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE;YAClC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,CAAC,EAAS,KAAI;IACnE,YAAA,MAAM,EAAE,GAAI,EAAE,CAAC,MAAmD,EAAE,KAAK;IACzE,YAAA,IAAI,CAAC,EAAE;oBAAE;gBACT,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;IAC3F,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;IAC9B,QAAA,CAAC,CAAC;IAEF,QAAA,IAAI,CAAC,WAAW,CAAC,CAAA,WAAA,EAAc,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,CAAA,CAAE,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IAEtE,QAAA,MAAM,IAAI,CAAC,8BAA8B,EAAE;IAC3C,QAAA,MAAM,IAAI,CAAC,sBAAsB,EAAE;IAEnC,QAAA,OAAO,IAAI;QACb;;IAGA,IAAA,MAAM,aAAa,CACjB,IAAA,GAQI,EAAE,EAAA;IAEN,QAAA,IAAI,EAAE,QAAQ,IAAI,SAAS,CAAC,EAAE;IAC5B,YAAA,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC;YAC5F;IAEA,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;IACjE,YAAA,MAAM,IAAI,CAAC,UAAU,EAAE;YACzB;iBAAO,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE;IACxD,YAAA,MAAM,IAAI,CAAC,UAAU,EAAE;YACzB;IAEA,QAAA,IAAI,CAAC,cAAc,GAAG,QAAQ;IAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;YACnB,IAAI,CAAC,eAAe,EAAE;IAEtB,QAAA,MAAM,MAAM,GACV,SAGD,CAAC,MAAM;IACR,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;YAC5F;IACA,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAK;IAEtB,QAAA,MACE,IAAI,CAAC,IASN,CAAC,IAAI,CAAC;IACL,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM;IACjC,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;IAC5B,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;IAC5B,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM;IAC7B,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,MAAM;IACxC,SAAA,CAAC;IAEF,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,EAAE;YACzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAEnD,QAAA,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC1C,QAAA,MAAM,IAAI,CAAC,sBAAsB,EAAE;IACnC,QAAA,OAAO,IAAI;QACb;QAEQ,MAAM,YAAY,CAAC,EAAc,EAAA;IACvC,QAAA,MAAM,QAAQ,GAAI,IAAI,CAAC,IAA6D,CAAC,QAAQ;IAC7F,QAAA,IAAI,CAAC,QAAQ;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;IAC/C,QAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE;IACnC,QAAA,IAAI;IACF,YAAA,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB;oBAAU;gBACR,MAAM,CAAC,WAAW,EAAE;YACtB;QACF;IAEQ,IAAA,oBAAoB,CAAC,MAAmB,EAAA;IAC9C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAK;IACvB,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,YAAW;gBACrC,IAAI,MAAM,GAAmD,IAAI;IACjE,YAAA,IAAI;IACF,gBAAA,MAAM,QAAQ,GAAI,IAA6D,CAAC,QAAQ;IACxF,gBAAA,IAAI,CAAC,QAAQ;wBAAE;IACf,gBAAA,MAAM,GAAG,QAAQ,CAAC,SAAS,EAA6C;IACxE,gBAAA,IAAI,CAAC,aAAa,GAAG,MAAM;IAE3B,gBAAA,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;wBACtB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE;IAC3C,oBAAA,IAAI,IAAI;4BAAE;wBACV,IAAI,KAAK,EAAE,MAAM;4BAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;oBACjE;gBACF;gBAAE,OAAO,CAAC,EAAE;oBACV,IAAI,CAAC,MAAM,CAAC,OAAO;IAAE,oBAAA,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;gBACnE;wBAAU;IACR,gBAAA,IAAI;IACF,oBAAA,MAAM,EAAE,WAAW,IAAI;oBACzB;IAAE,gBAAA,MAAM;;oBAER;IACA,gBAAA,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM;IAAE,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC5D,gBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;IAC/B,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;IACnB,oBAAA,IAAI,CAAC,KAAK,GAAG,MAAM;wBACnB,IAAI,CAAC,+BAA+B,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;wBACrE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oBAC/C;gBACF;YACF,CAAC,GAAG;QACN;IAEQ,IAAA,MAAM,iBAAiB,CAAC,MAAM,GAAG,MAAM,EAAA;IAC7C,QAAA,IAAI;IACF,YAAA,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE;YAC5B;IAAE,QAAA,MAAM;;YAER;IAEA,QAAA,MAAM,kBAAkB,GAAG,YAA6B;IACtD,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa;IAC5B,YAAA,IAAI,CAAC,CAAC;IAAE,gBAAA,OAAO,KAAK;IACpB,YAAA,IAAI;IACF,gBAAA,MAAM,CAAC,CAAC,MAAM,EAAE;gBAClB;IAAE,YAAA,MAAM;;gBAER;IACA,YAAA,IAAI;oBACF,CAAC,CAAC,WAAW,EAAE;gBACjB;IAAE,YAAA,MAAM;;gBAER;IACA,YAAA,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC;IAAE,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IACvD,YAAA,OAAO,IAAI;IACb,QAAA,CAAC;YAED,MAAM,kBAAkB,EAAE;IAE1B,QAAA,MAAM,kBAAkB,GAAI,IAAI,CAAC;kBAC7B,QAAQ,EAAE,MAAM;IACpB,QAAA,IAAI,kBAAkB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;IAC7C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;IAC3B,gBAAA,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACjD,IAAI,MAAM,kBAAkB,EAAE;wBAAE;gBAClC;YACF;IAEA,QAAA,IAAI;IACF,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB;IACrC,YAAA,IAAI,IAAI;oBAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,CAAO,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YACpF;IAAE,QAAA,MAAM;;YAER;IAEA,QAAA,IAAI;IACF,YAAA,MAAM,QAAQ,GACZ,IAAI,CAAC,IAGN,EAAE,QAAQ;IACX,YAAA,IAAI,QAAQ,EAAE,MAAM,EAAE;IACpB,gBAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE;IAC9B,gBAAA,IAAI;IACF,oBAAA,MAAO,CAAmC,CAAC,KAAK,IAAI;oBACtD;IAAE,gBAAA,MAAM;;oBAER;IACA,gBAAA,IAAI;wBACF,CAAC,CAAC,WAAW,EAAE;oBACjB;IAAE,gBAAA,MAAM;;oBAER;gBACF;YACF;IAAE,QAAA,MAAM;;YAER;IAEA,QAAA,IAAI;IACF,YAAA,MAAO,IAAI,CAAC,IAA8C,EAAE,KAAK,IAAI;YACvE;IAAE,QAAA,MAAM;;YAER;IAEA,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;IAChB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;IACxB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IACzB,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;IAE/B,QAAA,OAAO,CAAC,IAAI,CAAC,mCAAmC,MAAM,CAAA,CAAE,CAAC;QAC3D;IAES,IAAA,MAAM,UAAU,CAAC,IAAA,GAA4B,EAAE,EAAA;IACtD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,KAAK,QAAQ,GAAG,QAAQ,GAAG,KAAK;IAEhE,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;IAC9B,YAAA,IAAI;IACF,gBAAA,MAAM,IAAI,CAAC,aAAa,EAAE;gBAC5B;IAAE,YAAA,MAAM;;gBAER;YACF;IAEA,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;IACd,YAAA,IAAI;IACF,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC;gBAC3D;IAAE,YAAA,MAAM;;gBAER;YACF;IACA,QAAA,IAAI,CAAC,+BAA+B,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,EAAE,IAAI,CAAC;IAEpF,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;IACpC,YAAA,IAAI;oBACF,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;gBACrD;IAAE,YAAA,MAAM;;gBAER;YACF;iBAAO;IACL,YAAA,KAAK,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE;IACpF,gBAAA,YAAY,EAAE,KAAK;IACpB,aAAA,CAAC;IACF,YAAA,IAAI;oBACF,IAAI,IAAI,CAAC,EAAE;IAAE,oBAAA,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,IAAI;gBAClD;IAAE,YAAA,MAAM;;gBAER;IACA,YAAA,IAAI;oBACF,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,EAAE;wBAC3C,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,IAAI,CAAC,mBAAmB,CAAC;oBACrF;gBACF;IAAE,YAAA,MAAM;;gBAER;IACA,YAAA,IAAI;IACF,gBAAA,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS;IAAE,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;gBACjE;IAAE,YAAA,MAAM;;gBAER;YACF;IAEA,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;IACnB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;IAC1B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;IAChB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;YACxB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI;IACxB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI;YAE/C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;IACnC,QAAA,OAAO,IAAI;QACb;;;;IAMS,IAAA,MAAM,cAAc,GAAA;IAC3B,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;IACjC,QAAA,IAAI,CAAC,KAAK,GAAG,WAAW;YACxB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtC;IAES,IAAA,MAAM,aAAa,GAAA;IAC1B,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;IAClC,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;YACnB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvC;;;;IAMA,IAAA,MAAM,kBAAkB,CACtB,IAAA,GAAkC,EAAE,EAAA;YAEpC,MAAM,EACJ,UAAU,GAAG,IAAI,EACjB,SAAS,GAAG,IAAI,EAChB,OAAO,GAAG,CAAC,EACX,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,IAAI,GAClB,GAAG,IAAI;IAER,QAAA,MAAM,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;IACpC,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI;IACzB,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;IACtD,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC;IAC3F,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC;YAE3E,IAAI,QAAQ,GAAwC,IAAI;YACxD,MAAM,MAAM,GAAiB,EAAE;IAE/B,QAAA,IAAI,UAAU;IAAE,YAAA,QAAQ,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE;IAE5D,QAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;YACrB,IAAI,CAAC,eAAe,EAAE;IACtB,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE;IACrC,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC;IACrB,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC;IAE1B,QAAA,MAAM,IAAI,GAAgB;IACxB,YAAA,SAAS,EAAE,IAAI;IACf,YAAA,SAAS,EAAE,MAAM;IACjB,YAAA,aAAa,EAAE,CAAC;IAChB,YAAA,SAAS,EAAE,CAAC;IACZ,YAAA,YAAY,EAAE,CAAC;gBACf,OAAO;gBACP,UAAU;IACV,YAAA,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;gBACpB,SAAS;IACT,YAAA,YAAY,EAAE,CAAC;IACf,YAAA,OAAO,EAAE,IAAK;IACd,YAAA,MAAM,EAAE,IAAK;IACb,YAAA,KAAK,EAAE,IAAI;gBACX,QAAQ;gBACR,MAAM;gBACN,UAAU,EAAE,UAAU,IAAI,IAAI;aAC/B;IACD,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;YAEjB,MAAM,WAAW,GAAG,IAAI,OAAO,CAAwC,CAAC,OAAO,EAAE,MAAM,KAAI;IACzF,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACtB,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACtB,QAAA,CAAC,CAAC;YAEF,IAAI,eAAe,GAAG,KAAK;IAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,WAAW,CACtB,YAAW;IACT,YAAA,IAAI,eAAe;oBAAE;gBACrB,eAAe,GAAG,IAAI;IACtB,YAAA,IAAI;IACF,gBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS;wBAAE;IAC5B,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ;IAC5C,gBAAA,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS;wBAAE;IAEhC,gBAAA,IAAI;wBACF,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE;IACnC,wBAAA,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;IACvE,4BAAA,YAAY,EAAE,IAAI;IACnB,yBAAA,CAAC;wBACJ;6BAAO;IACL,wBAAA,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;IACxC,wBAAA,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAChF,wBAAA,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;IACtB,wBAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM;4BAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;IAC5C,4BAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC;wBAC7C;wBACA,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;oBAClC;oBAAE,OAAO,CAAC,EAAE;wBACV,IAAI,CAAC,UAAU,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChE;gBACF;wBAAU;oBACR,eAAe,GAAG,KAAK;gBACzB;IACF,QAAA,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CACzC;IAED,QAAA,IAAI;IACF,YAAA,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;IACvE,gBAAA,YAAY,EAAE,IAAI;IACnB,aAAA,CAAC;IACF,YAAA,MAAM,MAAM,GAAG,MAAM,WAAW;gBAChC,OAAO,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAE9C,IAAI,CAAC,UAAU,EAAE;IACf,gBAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;IACtF,gBAAA,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE;gBAC5B;IAEA,YAAA,OAAO,MAAM;YACf;oBAAU;IACR,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;IACd,gBAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI;gBACnB;IAEA,YAAA,IAAI,QAAQ;IAAE,gBAAA,MAAM,QAAQ,CAAC,KAAK,EAAE;YACtC;QACF;;;;IAMA,IAAA,MAAM,UAAU,CACd,KAA4B,EAC5B,OAAmC,EAAE,EAAA;IAErC,QAAA,MAAM,EAAE,GAAG,KAAK,YAAY,UAAU,GAAG,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC;IAEtE,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;IACpC,YAAA,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3B;YACF;YAEA,IAAI,CAAC,IAAI,CAAC,EAAE;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;IAE9C,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC3C;YACF;IAEA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,EAElB;IACD,QAAA,IAAI,KAAK,CAAC,yBAAyB,EAAE;gBACnC,MAAM,KAAK,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC1D;iBAAO;gBACL,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC7C;QACF;IAEQ,IAAA,MAAM,iBAAiB,CAC7B,OAAmB,EACnB,QAAqB,EACrB,YAAA,GAAsC,EAAE,EACxC,SAAS,GAAG,IAAI,EAChB,gBAA0C,EAC1C,kBAA6C,EAAA;YAE7C,IAAI,IAAI,CAAC,QAAQ;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;IAClE,QAAA,IAAI,CAAC,KAAK,GAAG,SAAS;YACtB,IAAI,CAAC,eAAe,EAAE;YAEtB,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC;YACzD,MAAM,QAAQ,GAAG,gBAAgB,IAAI,uBAAuB,CAAC,OAAO,CAAC;YAErE,MAAM,cAAc,GAAG,IAAI,OAAO,CAA2B,CAAC,OAAO,EAAE,MAAM,KAAI;IAC/E,YAAA,MAAM,CAAC,GAAG,UAAU,CAAC,MAAK;IACxB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;IACpB,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACtC,CAAC,EAAE,SAAS,CAAC;gBAEb,IAAI,CAAC,QAAQ,GAAG;IACd,gBAAA,gBAAgB,EAAE,QAAQ;IAC1B,gBAAA,gBAAgB,EAAE,QAAQ;oBAC1B,kBAAkB;IAClB,gBAAA,OAAO,EAAE,CAAC,IAAI,KAAI;wBAChB,YAAY,CAAC,CAAC,CAAC;IACf,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;wBACpB,OAAO,CAAC,IAAI,CAAC;oBACf,CAAC;IACD,gBAAA,MAAM,EAAE,CAAC,CAAC,KAAI;wBACZ,YAAY,CAAC,CAAC,CAAC;IACf,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;wBACpB,MAAM,CAAC,CAAC,CAAC;oBACX,CAAC;iBACF;IACH,QAAA,CAAC,CAAC;IAEF,QAAA,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;IAC1B,QAAA,OAAO,cAAc;QACvB;IAEA,IAAA,MAAM,YAAY,CAAC,QAAqB,EAAE,SAAS,GAAG,IAAI,EAAA;IACxD,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC;QAC1E;QAEA,MAAM,aAAa,CACjB,QAAqB,EACrB,eAAsC,EAAE,EACxC,SAAS,GAAG,IAAI,EAAA;IAEhB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC;QACrF;QAEA,MAAM,OAAO,CACX,MAAc,EACd,eAAsC,EAAE,EACxC,SAAS,GAAG,IAAI,EAAA;IAEhB,QAAA,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;IACxD,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC;IACpF,QAAA,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;QACjC;;QAGA,UAAU,GAAA;IACR,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC;QAC9D;IAEA,IAAA,MAAM,gBAAgB,GAAA;YACpB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE;IAC3C,QAAA,OAAO,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC;QAC/C;QAEA,WAAW,GAAA;IACT,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC;QAC9D;IAEA,IAAA,MAAM,iBAAiB,GAAA;YACrB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;IAC5C,QAAA,OAAO,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC;QAC/C;QAEA,QAAQ,GAAA;IACN,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC3D;QACA,oBAAoB,GAAA;IAClB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,wBAAwB,CAAC;QAC/E;QACA,qBAAqB,GAAA;IACnB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,yBAAyB,CAAC;QAChF;QACA,QAAQ,GAAA;IACN,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC3D;IAEA,IAAA,MAAM,mBAAmB,GAAA;YACvB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;IACzC,QAAA,OAAO,wBAAwB,CAAC,OAAO,CAAC;QAC1C;QACA,iBAAiB,GAAA;IACf,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,cAAc,CAAC;QACrE;IAEA,IAAA,MAAM,uBAAuB,GAAA;YAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE;IAClD,QAAA,OAAO,kBAAkB,CAAC,OAAO,CAAC;QACpC;QAEA,MAAM,qBAAqB,CAAC,KAA4B,EAAA;YACtD,MAAM,OAAO,GAAG,oBAAoB,CAClC,KAAK,YAAY,UAAU,GAAG,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAC5D;IACD,QAAA,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;IAC1D,YAAA,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC;YAC1F;YACA,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,wBAAwB,EAAE,OAAO,CAAC;QAC1E;QAEA,MAAM,sBAAsB,CAAC,KAA4B,EAAA;YACvD,MAAM,OAAO,GAAG,oBAAoB,CAClC,KAAK,YAAY,UAAU,GAAG,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAC5D;YACD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;IACnC,YAAA,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC;YACrF;YACA,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,yBAAyB,EAAE,OAAO,CAAC;QAC3E;QAEA,MAAM,SAAS,CAAC,IAA2B,EAAA;YACzC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,YAAY,UAAU,GAAG,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;YAC9F,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;IACpC,YAAA,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC;YAC/D;YACA,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;QACtD;QAEA,MAAM,oBAAoB,CAAC,WAAmB,EAAA;YAC5C,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAC7D;IAEA;;;;;IAKG;IACH,IAAA,MAAM,gCAAgC,GAAA;YACpC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrD;IAEA;;IAEG;IACH,IAAA,MAAM,YAAY,GAAA;IAChB,QAAA,MAAM,IAAI,CAAC,gCAAgC,EAAE;QAC/C;IAEA;;;;;;IAMG;IACH,IAAA,MAAM,qBAAqB,CACzB,IAAA,GAII,EAAE,EAAA;YAEN,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;IAClF,YAAA,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC;YAC7E;IAEA,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI;IACxD,QAAA,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,IAAI;IAClE,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;YAEnE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;IAE1E,QAAA,IAAI,cAAiD;IACrD,QAAA,IAAI;gBACF,cAAc,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,0BAA0B,CAAC;YACjF;IAAE,QAAA,MAAM;gBACN,MAAM,UAAU,GAAG,MAAM;qBACtB,iBAAiB,CAAC,uBAAuB;IACzC,iBAAA,IAAI,CAAC,MAAM,IAAI;IACf,iBAAA,KAAK,CAAC,MAAM,KAAK,CAAC;gBACrB,MAAM,SAAS,GAAG,MAAM;qBACrB,iBAAiB,CAAC,sBAAsB;IACxC,iBAAA,IAAI,CAAC,MAAM,IAAI;IACf,iBAAA,KAAK,CAAC,MAAM,KAAK,CAAC;IACrB,YAAA,IAAI,UAAU,IAAI,SAAS,EAAE;IAC3B,gBAAA,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC;gBACxE;IACA,YAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;YACnE;IAEA,QAAA,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE;IAC1E,YAAA,IAAI;IACF,gBAAA,MAAM,cAAc,CAAC,kBAAkB,EAAE;gBAC3C;IAAE,YAAA,MAAM;;gBAER;YACF;IAEA,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;YAC1B,IAAI,iBAAiB,GAAyB,IAAI;YAClD,IAAI,iBAAiB,EAAE;gBACrB,IAAI,aAAa,GAAwB,IAAI;gBAC7C,iBAAiB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;IACxD,gBAAA,MAAM,KAAK,GAAG,UAAU,CAAC,MAAK;IAC5B,oBAAA,IAAI,aAAa;IAAE,wBAAA,aAAa,EAAE;wBAClC,MAAM,CAAC,IAAI,KAAK,CAAC,4CAA4C,SAAS,CAAA,IAAA,CAAM,CAAC,CAAC;oBAChF,CAAC,EAAE,SAAS,CAAC;oBAEb,MAAM,YAAY,GAAG,MAAK;wBACxB,YAAY,CAAC,KAAK,CAAC;IACnB,oBAAA,IAAI,aAAa;IAAE,wBAAA,aAAa,EAAE;IAClC,oBAAA,OAAO,EAAE;IACX,gBAAA,CAAC;IAED,gBAAA,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBAC/E,aAAa,GAAG,MAAK;IACnB,oBAAA,IAAI;IACF,wBAAA,MAAM,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,YAAY,CAAC;wBACpE;IAAE,oBAAA,MAAM;;wBAER;IACF,gBAAA,CAAC;IACH,YAAA,CAAC,CAAC;YACJ;YAEA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;IAClC,QAAA,MAAM,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC;YAEpC,IAAI,sBAAsB,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE;IACpD,YAAA,IAAI;IACF,gBAAA,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;gBAC1B;IAAE,YAAA,MAAM;;gBAER;YACF;YAEA,IAAI,iBAAiB,EAAE;IACrB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS;oBAAE;IAC7B,YAAA,IAAI,iBAAiB;IAAE,gBAAA,MAAM,iBAAiB;YAChD;QACF;QAEA,MAAM,WAAW,CAAC,WAAkC,EAAA;YAClD,MAAM,OAAO,GAAG,oBAAoB,CAClC,WAAW,YAAY,UAAU,GAAG,WAAW,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAC9E;YACD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;IAClC,YAAA,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC;YACjF;YACA,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC;QAC3D;IAEA,IAAA,MAAM,eAAe,CACnB,MAAkB,EAClB,OAAe,EACf,OAAO,GAAG,CAAC,EACX,UAAU,GAAG,CAAC,EAAA;IAEd,QAAA,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC;IAC7B,YAAA,MAAM,GAAG,IAAI;IACb,YAAA,OAAO,GAAG,IAAI;IACd,YAAA,OAAO,GAAG,IAAI;IACd,YAAA,UAAU,GAAG,IAAI;IACjB,YAAA,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI;IACzB,SAAA,CAAC;IACF,QAAA,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACjC;QAEQ,+BAA+B,CAAC,KAAmB,EAAE,IAAmB,EAAA;IAC9E,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB;IACnC,QAAA,IAAI,CAAC,GAAG;gBAAE;IAEV,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;IAC9B,QAAA,IAAI,GAAG,CAAC,OAAO,EAAE;IACf,YAAA,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;IACzB,YAAA,GAAG,CAAC,OAAO,GAAG,IAAI;YACpB;YAEA,IAAI,KAAK,EAAE;IACT,YAAA,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;gBACnB;YACF;YAEA,GAAG,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B;IAEQ,IAAA,+BAA+B,CAAC,KAAiB,EAAA;IACvD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB;IACnC,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM;gBAAE;IAE5B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvE,QAAA,IAAI,CAAC,OAAO;gBAAE;IAEd,QAAA,GAAG,CAAC,aAAa,IAAI,OAAO;IAE5B,QAAA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;IAChB,YAAA,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;IACzD,YAAA,IAAI,WAAW,IAAI,CAAC,EAAE;IACpB,gBAAA,GAAG,CAAC,OAAO,GAAG,IAAI;IAClB,gBAAA,IAAI,WAAW,GAAG,CAAC,EAAE;wBACnB,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;IACxD,oBAAA,GAAG,CAAC,YAAY,GAAG,CAAC;oBACtB;gBACF;qBAAO;;;IAGL,gBAAA,MAAM,IAAI,GAAG,kBAAkB,CAAC,uBAAuB;oBACvD,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;IAC/C,gBAAA,IAAI,OAAO,GAAG,CAAC,EAAE;IACf,oBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC;wBAClD,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE;IACnC,wBAAA,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;wBACpD;wBACA;oBACF;IAEA,gBAAA,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;oBAChE,IAAI,SAAS,GAAG,WAAW,IAAI,CAAC,GAAG,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC7F,SAAS,GAAG,SAAS,IAAI,CAAC,GAAG,SAAS,IAAI,WAAW,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IACvE,gBAAA,GAAG,CAAC,OAAO,GAAG,IAAI;IAClB,gBAAA,IAAI,SAAS,GAAG,CAAC,EAAE;wBACjB,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC;IACtD,oBAAA,GAAG,CAAC,YAAY,GAAG,CAAC;oBACtB;gBACF;YACF;IAEA,QAAA,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;YAC3D,IAAI,SAAS,EAAE;gBACb,GAAG,CAAC,OAAO,GAAG,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC;IAC3C,YAAA,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;IACnC,gBAAA,SAAS,EAAE,SAAS;oBACpB,aAAa,EAAE,GAAG,CAAC,aAAa;IACjC,aAAA,CAAC;gBACF,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM;YAC7C;IAEA,QAAA,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAC1E,IAAI,IAAI,GAAkB,IAAI;IAC9B,QAAA,IAAI,SAAS,IAAI,CAAC,EAAE;IAClB,YAAA,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAClE;iBAAO;IACL,YAAA,MAAM,IAAI,GAAG,kBAAkB,CAAC,uBAAuB;gBACvD,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;IACjD,YAAA,IAAI,SAAS,IAAI,CAAC,EAAE;IAClB,gBAAA,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3E,gBAAA,IAAI,UAAU,IAAI,CAAC,EAAE;IACnB,oBAAA,MAAM,eAAe,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC;wBACnE,IAAI,GAAG,eAAe,IAAI;IACxB,0BAAE,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC;IAChD,0BAAE,GAAG,CAAC,aAAa;oBACvB;gBACF;YACF;IAEA,QAAA,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvD,YAAA,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,IAAI,CAAC;gBAChD;YACF;YAEA,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE;IAC3C,YAAA,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC1D,YAAA,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;YACzE;QACF;IAEA;;;;;IAKG;IACH,IAAA,MAAM,qBAAqB,CACzB,OAAe,EACf,OAAO,GAAG,CAAC,EACX,UAAU,GAAG,CAAC,EACd,OAAkC,EAAE,EAAA;IAEpC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;IACtE,QAAA,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG;kBACpD,IAAI,CAAC;IACP,cAAE,kBAAkB,CAAC,qBAAqB;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;YAE7E,IAAI,CAAC,+BAA+B,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,EAAE,IAAI,CAAC;IAClG,QAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAEhC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,KAAI;IAC5D,YAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAK;IAC9B,gBAAA,IAAI,CAAC,+BAA+B,CAClC,IAAI,KAAK,CAAC,CAAA,mCAAA,EAAsC,SAAS,CAAA,GAAA,CAAK,CAAC,EAC/D,IAAI,CACL;gBACH,CAAC,EAAE,SAAS,CAAC;gBAEb,IAAI,CAAC,kBAAkB,GAAG;oBACxB,MAAM;oBACN,QAAQ;IACR,gBAAA,OAAO,EAAE,KAAK;IACd,gBAAA,aAAa,EAAE,EAAE;IACjB,gBAAA,YAAY,EAAE,CAAC;oBACf,OAAO;oBACP,MAAM;IACN,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;oBAC7B,OAAO;iBACR;IACH,QAAA,CAAC,CAAC;IAEF,QAAA,IAAI;gBACF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC;IACzF,YAAA,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC;oBAC7B,kBAAkB,CAAC,mBAAmB,GAAG,IAAI;IAC7C,gBAAA,OAAO,GAAG,IAAI;IACd,gBAAA,OAAO,GAAG,IAAI;IACd,gBAAA,UAAU,GAAG,IAAI;IACjB,gBAAA,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI;oBACxB,eAAe;IAChB,aAAA,CAAC;IACF,YAAA,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACjC;YAAE,OAAO,KAAK,EAAE;IACd,YAAA,IAAI,CAAC,+BAA+B,CAAC,KAAc,EAAE,IAAI,CAAC;IAC1D,YAAA,MAAM,KAAK;YACb;IAEA,QAAA,OAAO,aAAa;QACtB;IAEQ,IAAA,kBAAkB,CACxB,OAAuB,EACvB,IAAA,GAA8B,EAAE,EAAA;IAEhC,QAAA,MAAM,QAAQ,GAAG,IAAI,YAAY,UAAU,GAAG,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC;YACzE,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IACnD,QAAA,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI;IAC3B,QAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxB,QAAA,OAAO,OAAO;QAChB;IAEQ,IAAA,eAAe,CAAC,KAAa,EAAA;YACnC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,QAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;QACzB;QAEQ,qBAAqB,CAAC,SAAS,GAAG,IAAI,EAAA;YAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;gBACrC,IAAI,IAAI,GAAG,KAAK;gBAChB,IAAI,GAAG,GAAwB,IAAI;gBACnC,IAAI,KAAK,GAAyC,IAAI;gBAEtD,MAAM,OAAO,GAAG,MAAK;oBACnB,IAAI,GAAG,EAAE;IACP,oBAAA,IAAI;IACF,wBAAA,GAAG,EAAE;wBACP;IAAE,oBAAA,MAAM;;wBAER;wBACA,GAAG,GAAG,IAAI;oBACZ;oBACA,IAAI,KAAK,EAAE;wBACT,YAAY,CAAC,KAAK,CAAC;wBACnB,KAAK,GAAG,IAAI;oBACd;IACF,YAAA,CAAC;gBAED,GAAG,GAAG,IAAI,CAAC,EAAE,CAKV,gBAAgB,EAAE,CAAC,GAAG,KAAI;oBAC3B,IAAI,IAAI,IAAI,CAAC,GAAG;wBAAE;IAClB,gBAAA,IAAI,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,aAAa;wBACrF;oBACF,IAAI,GAAG,IAAI;IACX,gBAAA,OAAO,EAAE;IACT,gBAAA,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,YAAA,CAAC,CAAC;IAEF,YAAA,KAAK,GAAG,UAAU,CAAC,MAAK;IACtB,gBAAA,IAAI,IAAI;wBAAE;oBACV,IAAI,GAAG,IAAI;IACX,gBAAA,OAAO,EAAE;IACT,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC7C,CAAC,EAAE,SAAS,CAAC;IACf,QAAA,CAAC,CAAC;QACJ;QAEA,MAAM,gBAAgB,CACpB,OAAuB,EACvB,OAA8B,EAAE,EAChC,SAAS,GAAG,IAAI,EAAA;YAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC;IACtD,QAAA,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAc,CAAC,YAAY,CAAC,aAAa,EAAE,CAAgB,CAAC,CAAC;;YAG/F,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC;IAC7D,QAAA,IAAI;gBACF,MAAM,IAAI,CAAC,iBAAiB,CAC1B,WAAW,CAAC,KAAK,EACjB,YAAY,CAAC,aAAa,EAC1B,OAAO,EACP,SAAS,EACT,SAAS,EACT,kBAAkB,CACnB;gBACD,OAAO,MAAM,eAAe;YAC9B;YAAE,OAAO,CAAC,EAAE;gBACV,KAAK,eAAe,CAAC,KAAK,CAAC,MAAK,EAAE,CAAC,CAAC;IACpC,YAAA,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;gBACtD,MAAM,WAAW,GAAG,2CAA2C,CAAC,IAAI,CAAC,GAAG,CAAC;gBACzE,MAAM,sBAAsB,GAAG,oDAAoD,CAAC,IAAI,CAAC,GAAG,CAAC;IAC7F,YAAA,IAAI,CAAC,WAAW,IAAI,CAAC,sBAAsB;IAAE,gBAAA,MAAM,CAAC;IAEpD,YAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACtC,WAAW,CAAC,IAAI,EAChB,YAAY,CAAC,aAAa,EAC1B,OAAO,EACP,SAAS,CACV;IACD,YAAA,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;YACjC;QACF;QAEA,MAAM,gBAAgB,CACpB,OAAuB,EACvB,OAA8B,EAAE,EAChC,SAAS,GAAG,IAAI,EAAA;YAEhB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACtC,WAAW,CAAC,KAAK,EACjB,YAAY,CAAC,aAAa,EAC1B,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,EACtC,SAAS,CACV;IACD,QAAA,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;QACjC;QAEA,MAAM,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,EAAA;IACtD,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,EAAE,EAAE,SAAS,CAAC;QACvF;IAEA,IAAA,MAAM,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAA;YAC1C,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;QACnE;IAEA,IAAA,MAAM,iCAAiC,CAAC,KAAK,GAAG,CAAC,EAAA;YAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC;IACjE,QAAA,OAAO,0BAA0B,CAAC,OAAO,CAAC;QAC5C;IAEA,IAAA,MAAM,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAA;YAClC,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;QACvE;IAEA,IAAA,MAAM,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAA;YACpC,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,wBAAwB,CAAC;QACzE;IAEA,IAAA,MAAM,2BAA2B,CAAC,KAAK,GAAG,CAAC,EAAA;YACzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IAC3D,QAAA,OAAO,+BAA+B,CAAC,OAAO,CAAC;QACjD;IAEA,IAAA,MAAM,YAAY,CAAC,MAAM,GAAG,CAAC,EAAA;YAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC;QAC/D;IAEA,IAAA,MAAM,kBAAkB,CAAC,KAAK,GAAG,CAAC,EAAA;YAChC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;IAClD,QAAA,OAAO,oBAAoB,CAAC,OAAO,CAAC;QACtC;IAEA,IAAA,MAAM,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAA;YACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,0BAA0B,CAAC;QAC3E;IAEA,IAAA,MAAM,6BAA6B,CAAC,KAAK,GAAG,CAAC,EAAA;YAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;IAC7D,QAAA,OAAO,+BAA+B,CAAC,OAAO,CAAC;QACjD;IAEA,IAAA,MAAM,sBAAsB,GAAA;YAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,wBAAwB,CAAC;QACxE;IAEA,IAAA,MAAM,qBAAqB,GAAA;YACzB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,uBAAuB,CAAC;QACvE;IAEA,IAAA,MAAM,kBAAkB,GAAA;YACtB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;QACpE;IAEA,IAAA,MAAM,kBAAkB,CAAC,SAAS,GAAG,KAAK,EAAA;IACxC,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,EAAE,EAAE,SAAS,CAAC;QAC3F;QAEA,MAAM,oBAAoB,CAAC,SAAiB,EAAA;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,uBAAuB,EAAE;IACpE,YAAA,OAAO,GAAG,IAAI;IACd,YAAA,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI;IACtB,SAAA,CAAC;QACJ;QAEA,MAAM,OAAO,CAAC,QAAgB,EAAA;IAC5B,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QAC3E;QAEA,MAAM,eAAe,CAAC,KAAc,EAAA;YAClC,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;QACxF;IAEA,IAAA,MAAM,sBAAsB,GAAA;YAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;QACnE;IAEA,IAAA,MAAM,kBAAkB,GAAA;YACtB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,YAAY,CAAC;QAC5D;IAEA,IAAA,MAAM,2BAA2B,CAAC,SAAiB,EAAE,eAAuB,EAAA;YAC1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7E,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IACvF,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,yBAAyB,EAAE;IACtE,YAAA,gBAAgB,GAAG,IAAI;IACvB,YAAA,CAAC,gBAAgB,IAAI,CAAC,IAAI,IAAI;IAC9B,YAAA,oBAAoB,GAAG,IAAI;IAC3B,YAAA,CAAC,oBAAoB,IAAI,CAAC,IAAI,IAAI;IACnC,SAAA,CAAC;QACJ;IAEA,IAAA,MAAM,cAAc,GAAA;YAClB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;QAChE;QAEA,MAAM,gBAAgB,CAAC,OAAgB,EAAA;YACrC,MAAM,IAAI,CAAC,aAAa,CACtB,YAAY,CAAC,WAAW,EACxB,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,EACpD,IAAI,CACL;QACH;IAEA,IAAA,MAAM,iBAAiB,GAAA;IACrB,QAAA,IAAI;IACF,YAAA,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,GAAG,YAAY,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,CAAC;YACzF;YAAE,OAAO,CAAC,EAAE;IACV,YAAA,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;IACtD,YAAA,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;oBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;IAC/D,YAAA,MAAM,CAAC;YACT;QACF;;;;IAMA,IAAA,MAAM,WAAW,GAAA;IACf,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,MAAM;IAAE,YAAA,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACjF,QAAA,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC;QACxF;IAEA,IAAA,MAAM,8BAA8B,GAAA;IAClC,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE;YAC7C,MAAM,IAAI,GAAG,0BAA0B,CAAC,GAAG,EAAE,OAAO,CAAC;YACrD,IAAI,CAAC,IAAI,EAAE,MAAM;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;IAEpF,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;IAC5B,QAAA,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,CAAC;IACjD,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACrC,QAAA,OAAO,MAAM;QACf;IAEA,IAAA,MAAM,sBAAsB,GAAA;IAC1B,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE;YAC9C,MAAM,EAAE,GAAG,0BAA0B,CAAC,GAAG,EAAE,OAAO,CAAC;YACnD,IAAI,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI;IAC/B,YAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;IAEpE,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;IAE3B,QAAA,IAAI;IACF,YAAA,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACtC,YAAA,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;IAC1C,YAAA,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACnC,YAAA,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACrC;YAAE,OAAO,CAAC,EAAE;IACV,YAAA,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC;YACrD;YAEA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC;IAC7B,QAAA,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;QAC3B;QAEA,MAAM,aAAa,CAAC,aAAoC,EAAA;YACtD,MAAM,EAAE,GAAG,0BAA0B,CACnC,aAAa,YAAY,UAAU,GAAG,aAAa,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,CACpF;IACD,QAAA,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC;IAC5E,QAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI;IAAE,YAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC;IAEnF,QAAA,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACrC,QAAA,MAAM,IAAI,CAAC,sBAAsB,EAAE;QACrC;IAEA,IAAA,SAAS,CAAC,IAAqB,EAAA;YAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;IAC1C,QAAA,IAAI,CAAC,CAAC;IAAE,YAAA,OAAO,IAAI;IACnB,QAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,MAAM;YACnF,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG;gBAC/E,OAAO,IAAI,CAAC,UAAU;YACxB,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACzF,OAAO,IAAI,CAAC,GAAG;YACjB,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,GAAG;YACnD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,GAAG;IACnD,QAAA,OAAO,IAAI;QACb;;;;IAMQ,IAAA,UAAU,CAAC,GAAU,EAAA;IAC3B,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;IACpB,QAAA,IAAI,CAAC,CAAC;gBAAE;IACR,QAAA,CAAC,CAAC,SAAS,GAAG,KAAK;YACnB,IAAI,CAAC,CAAC,KAAK;IAAE,YAAA,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;IACnC,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;IACjB,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;IACnB,QAAA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACf;QAEQ,WAAW,GAAA;IACjB,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;IACpB,QAAA,IAAI,CAAC,CAAC;gBAAE;IACR,QAAA,CAAC,CAAC,SAAS,GAAG,KAAK;YACnB,IAAI,CAAC,CAAC,KAAK;IAAE,YAAA,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;IACnC,QAAA,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY;IACnC,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;IACjB,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;YACnB,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QACvC;QAEQ,MAAM,oBAAoB,CAAC,SAAqB,EAAA;YACtD,IAAI,CAAC,iBAAiB,EAAE;IACxB,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;IACpB,QAAA,IAAI,CAAC,CAAC;gBAAE;IAER,QAAA,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC;IAChD,QAAA,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC;IAC5C,QAAA,MAAM,KAAK,GAAG,QAAQ,KAAK,QAAQ;YACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YAE3C,IAAI,CAAC,KAAK,EAAE;IACV,YAAA,CAAC,CAAC,SAAS,GAAG,MAAM;gBACpB,CAAC,CAAC,YAAY,EAAE;IAChB,YAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;IACpC,YAAA,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAChF,YAAA,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,UAAU;oBAAE,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvF,YAAA,CAAC,CAAC,UAAU,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC5E;YACF;IAEA,QAAA,IAAI,CAAC,CAAC,QAAQ,EAAE;gBACd,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAClD;iBAAO;gBACL,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;YAC1C;IAEA,QAAA,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC,MAAM;IAClC,QAAA,CAAC,CAAC,aAAa,GAAG,CAAC;IAEnB,QAAA,CAAC,CAAC,SAAS,GAAG,KAAK;IACnB,QAAA,CAAC,CAAC,SAAS,GAAG,CAAC;IACf,QAAA,CAAC,CAAC,YAAY,GAAG,CAAC;IAClB,QAAA,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;IACjF,YAAA,YAAY,EAAE,IAAI;IACnB,SAAA,CAAC;IACF,QAAA,CAAC,CAAC,UAAU,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC7E;QAEQ,eAAe,GAAA;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;QACvC;IAEQ,IAAA,gBAAgB,CAAC,KAAiB,EAAA;IACxC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACtE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAC3C,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM;QAC5B;QAEQ,mBAAmB,CAAC,MAAM,GAAG,EAAE,EAAA;YACrC,IAAI,CAAC,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,CAAC;QAC3E;IAEQ,IAAA,sBAAsB,CAAC,GAAW,EAAA;IACxC,QAAA,MAAM,OAAO,GAAG,GAAG,GAAG,IAAI;IAC1B,QAAA,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI;IAE3B,QAAA,MAAM,YAAY,GAChB,OAAO,KAAK,WAAW,CAAC,IAAI;gBAC5B,OAAO,KAAK,WAAW,CAAC,KAAK;gBAC7B,OAAO,KAAK,WAAW,CAAC,QAAQ;gBAChC,OAAO,KAAK,WAAW,CAAC,GAAG;gBAC3B,OAAO,KAAK,WAAW,CAAC,uBAAuB;gBAC/C,OAAO,KAAK,WAAW,CAAC,wBAAwB;gBAChD,OAAO,KAAK,WAAW,CAAC,YAAY;IACpC,YAAA,OAAO,KAAK,WAAW,CAAC,cAAc;IAExC,QAAA,IAAI,CAAC,YAAY;IAAE,YAAA,OAAO,KAAK;;IAG/B,QAAA,OAAO,QAAQ,KAAK,CAAC,KAAK,QAAQ,IAAI,YAAY,CAAC,OAAO,IAAI,QAAQ,IAAI,YAAY,CAAC,OAAO,CAAC;QACjG;QAEQ,sBAAsB,CAAC,GAAW,EAAE,GAAW,EAAA;IACrD,QAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;IAAE,YAAA,OAAO,KAAK;;;IAInD,QAAA,MAAM,qBAAqB,GACzB,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,gBAAgB,KAAK,YAAY,CAAC,aAAa;YAC5F,MAAM,MAAM,GAAG;kBACX,kBAAkB,CAAC;IACrB,cAAE,kBAAkB,CAAC,qBAAqB;YAC5C,OAAO,GAAG,IAAI,MAAM;QACtB;IAEQ,IAAA,sBAAsB,CAAC,GAAqB,EAAA;IAClD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;YAC7B,IAAI,OAAO,EAAE;;;IAGX,YAAA,IACE,GAAG,CAAC,OAAO,KAAM,CAAgB;oBACjC,GAAG,CAAC,QAAQ,KAAM,CAAiB;IACnC,gBAAA,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EACxB;oBACA;gBACF;gBAEA,MAAM,GAAG,GAAG,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC;gBACjD,IAAI,GAAG,EAAE;IACP,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;IACpB,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;IAAE,oBAAA,IAAI,CAAC,KAAK,GAAG,MAAM;IACjD,gBAAA,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;gBACrB;qBAAO;IACL,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;IACpB,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;IAAE,oBAAA,IAAI,CAAC,KAAK,GAAG,MAAM;oBACjD,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACzC;YACF;iBAAO;IACL,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;IACpB,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;IAAE,gBAAA,IAAI,CAAC,KAAK,GAAG,MAAM;YACnD;IAEA,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,OAAO,EAAE,GAAG,CAAC,OAAO;IACrB,SAAA,CAAC;QACJ;IAEQ,IAAA,gBAAgB,CAAC,KAAiB,EAAA;YACxC,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;IAE3E,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;IAC3B,YAAA,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC;YAC7C;IAEA,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;IAE5B,QAAA,SAAS;IACP,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;oBAAE;gBAElC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBAChC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBAEtE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;IAC1C,gBAAA,IAAI,IAAI,CAAC,SAAS,EAAE;IAClB,oBAAA,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE;IACzC,wBAAA,OAAO,EAAE,GAAG;IACZ,wBAAA,OAAO,EAAE,GAAG;IACZ,wBAAA,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;IACjC,qBAAA,CAAC;oBACJ;oBACA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC9C;gBACF;IAEA,YAAA,IAAI,GAAG,KAAK,CAAC,EAAE;IACb,gBAAA,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI;IACzB,gBAAA,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;IACzC,gBAAA,MAAM,GAAG,GAAqB;wBAC5B,MAAM;wBACN,OAAO,EAAE,aAAa,CAAC,OAAO;wBAC9B,QAAQ,EAAE,aAAa,CAAC,QAAQ;IAChC,oBAAA,aAAa,EAAE,CAAC;IAChB,oBAAA,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC;qBAC3B;oBACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,KAAK,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;IACtF,oBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;IACpB,oBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,EAAE;4BACpD,CAAC,CAAC,aAAa,EAAE;4BACjB,IAAI,IAAI,CAAC,SAAS;IAChB,4BAAA,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC;IAC7E,wBAAA,KAAK,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;IACtE,4BAAA,YAAY,EAAE,IAAI;IACnB,yBAAA,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;4BAC1C;wBACF;wBAEA,IAAI,IAAI,CAAC,SAAS;IAAE,wBAAA,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC;wBAClE,IAAI,CAAC,WAAW,EAAE;wBAClB;oBACF;IAEA,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;IAC5B,oBAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;oBAClC;oBACA;gBACF;gBAEA,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG;oBAAE;IAExC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACnD,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;IACpD,YAAA,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI;IACzB,YAAA,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;IACzC,YAAA,MAAM,GAAG,GAAqB;oBAC5B,MAAM;oBACN,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,QAAQ,EAAE,aAAa,CAAC,QAAQ;oBAChC,aAAa,EAAE,OAAO,CAAC,MAAM;oBAC7B,OAAO;iBACR;IAED,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;IAC3B,gBAAA,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE;IACxD,qBAAA,IAAI,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;IACjD,qBAAA,KAAK,CAAC,CAAC,CAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC1C;gBACF;IAEA,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;IAC9B,gBAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzC;gBACF;IAEA,YAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;YAClC;QACF;IAEQ,IAAA,uBAAuB,CAAC,OAAmB,EAAA;IACjD,QAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE;YAExB,IAAI,IAAI,GAAG,OAAO;YAClB,IAAI,KAAK,GAAmB,IAAI;YAEhC,IAAI,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC9C,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACxF,YAAA,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAEtD,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;IACxB,gBAAA,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC;IACzC,gBAAA,KAAK,GAAG,IAAI,KAAK,OAAO;gBAC1B;gBAEA,IAAI,GAAG,SAAS;gBAEhB,IAAI,IAAI,CAAC,eAAe,IAAI,KAAK,KAAK,KAAK,EAAE;IAC3C,gBAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC1D;YACF;IAEA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAEnC,MAAM,MAAM,GAAI,IAAI,CAAC,OAA6D,CAAC,QAAQ,CAAC;IAC5F,QAAA,MAAM,wBAAwB,GAAG,SAAS,EAAE;YAE5C,IAAI,MAAM,GAAoE,IAAI;IAClF,QAAA,IAAI,MAAM;gBAAE,MAAM,GAAG,MAAM,CAAC,2BAA2B,CAAC,IAAI,EAAE,wBAAwB,CAAC;YAEvF,IAAI,cAAc,GAAqB,IAAI;IAC3C,QAAA,IAAI,MAAM;IAAE,YAAA,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;YAE/D,IAAI,eAAe,GAAG,cAAc;IACpC,QAAA,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE;IAClF,YAAA,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM;IACjC,YAAA,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM;IAC9C,gBAAA,GAAI,CAAY;IAChB,gBAAA,UAAU,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACxC,oBAAA,UAAU,EAAE,GAAG;wBACf,CAAC;wBACD,cAAc,EAAE,MAAM,CAAC,cAAc;wBACrC,kBAAkB,EAAE,MAAO,CAAC,aAAa;wBACzC,wBAAwB;wBACxB,qBAAqB,EAAE,MAAO,CAAC,qBAAqB;qBACrD,CAAC;IACH,aAAA,CAAC,CAAC;YACL;IAEA,QAAA,MAAM,MAAM,GAAiB;gBAC3B,QAAQ;IACR,YAAA,QAAQ,EAAE,IAAI;IACd,YAAA,OAAO,EAAE,eAAe;IACxB,YAAA,UAAU,EAAE,aAAa;gBACzB,KAAK;aACN;IAED,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;QAC3B;;IArlDwB,kBAAA,CAAA,qBAAqB,GAAG,IAAH;IACrB,kBAAA,CAAA,2BAA2B,GAAG,MAAH;IACnC,kBAAA,CAAA,mBAAmB,GAAG,IAAH;IACnB,kBAAA,CAAA,qBAAqB,GACnC,oFADmC;IAErB,kBAAA,CAAA,uBAAuB,GAAG,YAAH;IACvC;IACgB,kBAAA,CAAA,WAAW,GAAG,WAAH;IACX,kBAAA,CAAA,MAAM,GAAG,MAAH;IACN,kBAAA,CAAA,MAAM,GAAG,MAAH;IACN,kBAAA,CAAA,kBAAkB,GAAG,kBAAH;IAClB,kBAAA,CAAA,0BAA0B,GAAG,0BAAH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"shimmer-web-sdk.umd.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file From bb9444dd3ea2a32d47d7252aa35460b1467245b0 Mon Sep 17 00:00:00 2001 From: marknolan <6526073+marknolan@users.noreply.github.com> Date: Fri, 29 May 2026 07:16:21 +0000 Subject: [PATCH 16/18] chore: format HTML files --- VerisenseCapture/index.html | 7995 ++++++++++++++++++++--------------- 1 file changed, 4671 insertions(+), 3324 deletions(-) diff --git a/VerisenseCapture/index.html b/VerisenseCapture/index.html index 3f678db..9f067dd 100644 --- a/VerisenseCapture/index.html +++ b/VerisenseCapture/index.html @@ -1,3472 +1,4819 @@ ๏ปฟ + + + + Verisense Capture + + - - - -
-
-
-

Verisense Capture

-
Full-feature Verisense communication demo.
-
-
- - Verisense logo - -
-
+ .brand-logo-link { + display: block; + line-height: 0; + } -
-
-

Connection

-
- - - - -
-
- Transport: - none - idle -
-
- -
-

Current Status

-
-
Device Name
-
-
-
Unique ID
-
-
-
HW
-
-
-
FW
-
-
-
Battery
-
-
-
Flash
-
-
-
Flash Banks
-
-
-
ATT MTU
-
-
-
Conn Interval
-
-
-
PHY
-
-
-
-
-
+ .brand-logos img { + display: block; + border: 1px solid #d8e3e8; + background: #fff; + border-radius: 10px; + box-shadow: 0 1px 2px rgba(19, 34, 40, 0.08); + } -
-
-
- - - - - - - - -
+ .logo-verisense { + width: 170px; + height: auto; + padding: 4px 8px; + } -
-
-

Status Reads

-
- - -
-
+ h2 { + font-size: 16px; + color: #0f4c5d; + } -
-

Timing

-
- - - -
-
- - -
-
+ h3 { + font-size: 14px; + color: #23424d; + } -
-

Danger Zone

-
- - -
-
-
+ .muted { + color: var(--muted); + } -
-
-

Logged Data Transfer

-
- - Saves to file picker destination. -
-
+ .top { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 12px; + margin-top: 10px; + } -
-

Advanced

-
- - - - -
-
No lookup data loaded.
-
+ .main { + display: grid; + grid-template-columns: 2fr 1fr; + gap: 12px; + margin-top: 12px; + min-height: 68vh; + } -
-

Flash Lookup Entries

-
- - - - - - - - - - - - - - - -
BankStatusStatus CodePayload IndexEEPROM Pending
- Run Read Flash Lookup Table to populate. -
-
-
-
+ .card { + background: var(--card); + border: 1px solid var(--line); + border-radius: 14px; + padding: 12px; + box-shadow: 0 1px 2px rgba(19, 34, 40, 0.08); + } -
-
-

Read/Write

-
- - - -
-
+ .row { + display: flex; + gap: 8px; + align-items: center; + flex-wrap: wrap; + margin-bottom: 8px; + } -
-

Production Fields

-
- - - -
+ .row:last-child { + margin-bottom: 0; + } -
- - - -
+ button, + input, + select { + border: 1px solid #c4d0d5; + border-radius: 10px; + padding: 8px 10px; + font: inherit; + background: #fff; + color: var(--ink); + } -
- - - -
+ input[readonly] { + background: #eef2f4; + color: #6b7980; + border-color: #c9d4d9; + cursor: not-allowed; + } -
- - - -
-
-
+ button { + background: linear-gradient(180deg, #fff, #f3f7f8); + cursor: pointer; + font-weight: 600; + } -
-
-

Read/Write

-
- - - -
-
+ button.primary { + color: #fff; + border-color: #0a7d79; + background: linear-gradient(180deg, #12a9a4, #0a847f); + } -
-

Sensor Enables

-
- - - - - - - - - - - -
-
+ button.warn { + border-color: #d2b68b; + background: linear-gradient(180deg, #fff7e7, #f8ebd0); + color: var(--warn); + } -
-

Notes

-
- Sensor enable bits are edited with dedicated checkboxes above. - Other operational settings are available in the grouped editor below. -
-
+ button:disabled { + opacity: 0.5; + cursor: not-allowed; + } -
-

All Operational Config Options

-
- Firmware-aligned options from ASM_Config_Operational.py with - GUI-friendly labels and descriptions. -
-
-
+ label { + display: inline-flex; + align-items: center; + gap: 6px; + } -
-

Operational Config Bytes

-
- Live preview updates as GUI values change. Paste bytes and click - Apply Bytes To GUI to decode them into the controls. -
- -
- - - Connect and read op config to begin. -
-
-
+ .kv { + display: grid; + grid-template-columns: 125px 1fr; + gap: 5px 10px; + margin-top: 4px; + } -
-
-

Streaming Control

-
- - - -
-
-
Accel Packets
-
0
-
ADC/GSR Packets
-
0
-
Last Sensor ID
-
-
-
-
-
-

Accel Plot

-
- -
- -
-
-

GSR Plot

-
- -
- -
-
+ .tabs { + display: flex; + gap: 6px; + flex-wrap: wrap; + border-bottom: 1px solid var(--line); + padding-bottom: 8px; + margin-bottom: 10px; + } -
-
-

DFU Flow

-
-
-
- Step 1 - Enable DFU Service - - Nordic DFU Service: - โ€” not connected โ€” - -
-

- Use this once to enable Nordic DFU service advertisement - after the next disconnect. This does not reboot the device - immediately. -

-
- - -
-
+ .tab-btn { + border-radius: 999px; + padding: 8px 12px; + border-color: #bcd0d7; + background: #eef5f7; + font-weight: 700; + color: #2f5564; + } -
-
- Step 2 - Reboot To DFU Bootloader Mode -
-

- After reconnecting with Nordic DFU service active, use the - buttonless DFU command to reboot directly into bootloader - mode. -

-
- -
-
+ .tab-btn.active { + color: #fff; + border-color: #0d8f8b; + background: linear-gradient(180deg, #15a7a2, #0c8681); + } -
-
- Step 3 - Perform Firmware Update -
-

- Select a firmware .zip package, then click - Begin Update. A browser device picker will - open and the DFU library will connect to the bootloader and - flash the firmware. -

-
- ⚠︎ A device is currently connected — - disconnect from it first before using the DFU Update Tool. -
-
-
- - - - - -
- -
-
-
-
-
-
-
-
-
-
-
-
+ .tab { + display: none; + gap: 10px; + align-content: start; + } -
-
-

Event Log Reader

-
- -
-
- No event log data loaded. -
-
-
-

Event Log Entries

-
- - - - - - - - - - - - - - - -
#Event IDEvent NameTimestampBattery (mV)
- Run Read Event Log to populate. -
-
-
-
+ .tab.active { + display: block; + } -
-
-

Test Report

-

- Runs TEST_REPORT (0xFE) on the device. The - device sends a rolling text report delimited by the TEST START - banner. PASS and FAIL results are highlighted. -

-
- - -
- HW revision unavailable. Read production config first. -
-
- -
- Hardware Test Report - -
-
-
-
+ .section { + border: 1px solid #e1e8ec; + border-radius: 12px; + padding: 10px; + margin-bottom: 10px; + background: #fbfdfe; + } -
-

Hardware Test (deprecated)

-
- -
-
- -
-
+ .section:last-child { + margin-bottom: 0; + } -
-

Advanced

-
- -
-
- -
- - - -
-
-
- -
- - - -
-
-
-
-
- -
-

Log

-
- - -
-

-      
-
-
- - - - - - - - - + + + + + + - - - \ No newline at end of file + + ui.btnStreamClear.addEventListener("click", () => { + state.accelPackets = 0; + state.adcPackets = 0; + ui.streamAccelCount.textContent = "0"; + ui.streamAdcCount.textContent = "0"; + ui.streamLastSensor.textContent = "-"; + resetAccelPlotBuffers(state.v?.accel1?.samplingRateHz ?? 51.2); + resetGsrPlotBuffers(state.v?.adc?.samplingRateHz ?? 50); + }); + + ui.btnLogClear.addEventListener("click", () => { + ui.log.textContent = ""; + }); + + if (ui.btnTestReportClose) { + ui.btnTestReportClose.addEventListener("click", () => { + if (ui.testReportDialog?.open) ui.testReportDialog.close(); + }); + } + + if (ui.btnOpBytesRefresh) { + ui.btnOpBytesRefresh.addEventListener("click", async () => { + try { + await refreshOperationalConfigBytesFromGui(); + } catch (e) { + setOpBytesStatus(String(e?.message ?? e), true); + } + }); + } + + if (ui.btnOpBytesApply) { + ui.btnOpBytesApply.addEventListener("click", async () => { + try { + await applyOperationalConfigBytesToGui(); + await refreshOperationalConfigBytesFromGui(); + } catch (e) { + setOpBytesStatus(String(e?.message ?? e), true); + } + }); + } + + [ + ui.opSensorAccel1En, + ui.opSensorAccel2En, + ui.opSensorGyroEn, + ui.opSensorGsrEn, + ui.opSensorPpgGreenEn, + ui.opSensorPpgRedEn, + ui.opSensorPpgIrEn, + ui.opSensorPpgBlueEn, + ui.opSensorEcgEn, + ui.opSensorVprogEn, + ui.opSensorVbattEn, + ] + .filter(Boolean) + .forEach((el) => { + const evt = "change"; + el.addEventListener(evt, () => { + void refreshOperationalConfigBytesFromGui(); + }); + }); + + document.querySelectorAll("[data-action]").forEach((el) => { + el.addEventListener("click", async () => { + const action = el.getAttribute("data-action"); + try { + await runAction(action); + } catch (e) { + if (isDebugHeaderNackError(e)) { + log( + `${action} unavailable on this firmware`, + String(e?.message ?? e), + ); + return; + } + log(`${action} error`, String(e?.message ?? e)); + console.warn(e); + } + }); + }); + } + + attachEvents(); + setConnectionButtonsState({ connected: false }); + updateBleLinkInfo("none"); + updateDfuUpdateToolState(false); + updateHardwareTestAvailability(); + resetAccelPlotBuffers(51.2); + resetGsrPlotBuffers(50); + log("Verisense Capture ready."); + + + From c55d3179f14148b921d9a3dab4c26cedccc41125 Mon Sep 17 00:00:00 2001 From: Mark Nolan Date: Fri, 29 May 2026 10:36:58 +0100 Subject: [PATCH 17/18] essage= --- README.md | 29 +- Verisense/index.html | 2033 ++++---- Verisense/vendor/.gitkeep | 0 Verisense/vendor/shimmer-web-sdk.cjs | 4223 ++++++++++++++++ Verisense/vendor/shimmer-web-sdk.cjs.map | 1 + Verisense/vendor/shimmer-web-sdk.d.ts | 1536 ++++++ Verisense/vendor/shimmer-web-sdk.esm.js | 4159 ++++++++++++++++ Verisense/vendor/shimmer-web-sdk.esm.js.map | 1 + Verisense/vendor/shimmer-web-sdk.umd.js | 4229 ++++++++++++++++ Verisense/vendor/shimmer-web-sdk.umd.js.map | 1 + VerisenseCapture/assets/verisense-icon.png | Bin 8138 -> 0 bytes VerisenseCapture/assets/verisense-logo.jpg | Bin 10348 -> 0 bytes VerisenseCapture/index.html | 4819 ------------------- sync-local-sdk.ps1 | 20 +- update-local-sdk.ps1 | 2 +- 15 files changed, 15175 insertions(+), 5878 deletions(-) create mode 100644 Verisense/vendor/.gitkeep create mode 100644 Verisense/vendor/shimmer-web-sdk.cjs create mode 100644 Verisense/vendor/shimmer-web-sdk.cjs.map create mode 100644 Verisense/vendor/shimmer-web-sdk.d.ts create mode 100644 Verisense/vendor/shimmer-web-sdk.esm.js create mode 100644 Verisense/vendor/shimmer-web-sdk.esm.js.map create mode 100644 Verisense/vendor/shimmer-web-sdk.umd.js create mode 100644 Verisense/vendor/shimmer-web-sdk.umd.js.map delete mode 100644 VerisenseCapture/assets/verisense-icon.png delete mode 100644 VerisenseCapture/assets/verisense-logo.jpg delete mode 100644 VerisenseCapture/index.html diff --git a/README.md b/README.md index 95c078d..26f689f 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,6 @@ video-ppg/ โ”‚ spell-gyro/ โ”‚ ShimmerCapture/ โ”˜ Verisense/ โ† Verisense demo -VerisenseCapture/ โ† Verisense full control console demo shimmer-extension/ โ† Shimmer3R/Verisense Chrome extension (source; load unpacked in Chrome) sdk-source.json โ† Single source-of-truth for SDK source mode/version update-local-sdk.ps1 โ† Build + sync local SDK artifacts @@ -26,6 +25,10 @@ sync-local-sdk.ps1 โ† Sync-only local SDK artifacts update-local-sdk.cmd โ† Windows CMD launcher for update script ``` +The full Verisense control console now lives in a dedicated repository: + +- [ShimmerResearch/verisense-device-console](https://github.com/ShimmerResearch/verisense-device-console) + --- ## Live Demos @@ -50,7 +53,7 @@ update-local-sdk.cmd โ† Windows CMD launcher for update script | Demo | Link | |---|---| | Wrist sensor (accel + GSR streaming) | [Verisense](https://shimmerresearch.github.io/webBLEDemos/Verisense/) | -| Verisense control console (full SDK operations) | [VerisenseCapture](https://shimmerresearch.github.io/webBLEDemos/VerisenseCapture/) | +| Verisense Device Console (full SDK operations) | [verisense-device-console](https://shimmerresearch.github.io/verisense-device-console/) | ### Chrome Extension [Shimmer3R Chrome Extension](https://github.com/ShimmerResearch/webBLEDemos/tree/main/shimmer-extension) โ€” source code only; load via **chrome://extensions โ†’ Developer mode โ†’ Load unpacked** when you are specifically developing or testing extension features. @@ -84,7 +87,8 @@ powershell -ExecutionPolicy Bypass -File .\update-local-sdk.ps1 -SdkRepoPath "C: ### SDK source selection (single location) -All demos import from `../shimmer-extension/vendor/shimmer-web-sdk.esm.js`. +Most demos import from `../shimmer-extension/vendor/shimmer-web-sdk.esm.js`. +The `Verisense` demo imports from `./vendor/shimmer-web-sdk.esm.js`. The file that controls where vendor artifacts come from is `sdk-source.json`: ```json @@ -100,6 +104,8 @@ Supported `sourceMode` values: - `local-version`: build/sync from a specific local SDK git tag using `version` (for example `0.1.7` resolves to `v0.1.7`) - `local-latest`: build/sync from the latest local SDK `v*` git tag +In all modes, demos still import from the same vendored files already in this repo; `sourceMode` only changes which SDK source is used to generate those vendored files before sync. + How `version` is used: - With `local-repo`, `version` is ignored (the current local SDK checkout is used). @@ -175,7 +181,7 @@ Use the localhost URL opened by Live Server (commonly `http://localhost:5500/... ## `@shimmerresearch/shimmer-web-sdk` SDK -All demos now import the SDK from this repository, using a relative path that works both on localhost and on GitHub Pages: +The demos import the SDK from vendored files in this repository, using relative paths that work both on localhost and on GitHub Pages: ```js import { Shimmer3RClient } from '../shimmer-extension/vendor/shimmer-web-sdk.esm.js'; @@ -185,7 +191,13 @@ This means: - Local development uses the vendored SDK file without external CDN dependency. - GitHub Pages deployments also resolve the same path under the published `webBLEDemos` site. -- The demos work on GitHub Pages as long as `shimmer-extension/vendor/*` is committed with the site. +- The demos work on GitHub Pages as long as vendored SDK files are committed with the site. + +For the Verisense demo in this repository: + +```js +import { VerisenseBleDevice } from './vendor/shimmer-web-sdk.esm.js'; +``` ### Update vendored SDK from local source @@ -201,10 +213,13 @@ Windows CMD alternative: update-local-sdk.cmd ``` -The sync script uses `sdk-source.json` to copy built artifacts from `shimmer-web-sdk/dist` into `webBLEDemos/shimmer-extension/vendor`. +The sync script uses `sdk-source.json` to copy built artifacts from `shimmer-web-sdk/dist` into both: + +- `webBLEDemos/shimmer-extension/vendor` +- `webBLEDemos/Verisense/vendor` Build logic is centralized in `shimmer-web-sdk/build-local-sdk.ps1` and invoked by `update-local-sdk.ps1`. -Manual copying into `webBLEDemos/shimmer-extension/vendor` is no longer required when you use `update-local-sdk.ps1` or `sync-local-sdk.ps1`. +Manual copying into vendor folders is no longer required when you use `update-local-sdk.ps1` or `sync-local-sdk.ps1`. The SDK source lives at [ShimmerResearch/shimmer-web-sdk](https://github.com/ShimmerResearch/shimmer-web-sdk). diff --git a/Verisense/index.html b/Verisense/index.html index 03abc24..f39a8d7 100644 --- a/Verisense/index.html +++ b/Verisense/index.html @@ -1,814 +1,756 @@ - - - - - - - Verisense Stream (Accel + GSR) - - - - -

Verisense Stream (Accel1 + GSR)

- Must be served over https or http://localhost. Click - buttons (user gesture required). -
-
- - - - -
+ + + + + + + Verisense Stream (Accel + GSR) + + + + +

Verisense Stream (Accel1 + GSR)

+ Must be served over https or http://localhost. Click + buttons (user gesture required). + +
+
+ + + + +
-
- - - - - - Status: idle -
+
+ + + + + + Status: idle
+
-
-
- Operational Config - - -
-
- - - - (Checkboxes affect parsing immediately; Apply writes to - device.) -
+
+
+ Operational Config + +
+
+ + + + (Checkboxes affect parsing immediately; Apply writes to + device.) +
+
-
-
-

Latest accel sample

-
โ€”
- +
+

Latest accel sample

+
โ€”
+ - -
+ ">
+ +
-
-

Latest GSR sample

-
โ€”
- +

Latest GSR sample

+
โ€”
+ - -
+ "> + +
-
-

Log

-

-        
- -
+
+

Log

+

+      
+
- - - - - + const names = pending.map((p) => `0x${Number(p).toString(16)}`); + log("pending events:", names.join(", ")); + } catch (e) { + log("pending-events error:", String(e?.message ?? e)); + } + }; + + btnClearPending.onclick = async () => { + try { + if (!v) throw new Error("Not connected"); + await v.clearPendingEvents(); + log("pending events cleared"); + } catch (e) { + log("clear-pending error:", String(e?.message ?? e)); + } + }; + + btnApplyOpCfg.onclick = async () => { + try { + if (!v) throw new Error("Not connected"); + await applyOpConfigToDevice(); + const adc = requireAdcDecoder(v); + log("opcfg applied:", { + accelEnabled: v?.accel1?.enabled, + gsrEnabled: adc?.gsrEnabled, + battEnabled: adc?.battEnabled, + }); + } catch (e) { + log("opcfg apply error:", String(e?.message ?? e)); + } + }; + + btnSync.onclick = async () => { + try { + if (!v) throw new Error("Not connected"); + + setStatus("syncing logged data..."); + log("sync: choose output file..."); + + const fileHandle = await window.showSaveFilePicker({ + suggestedName: `verisense_${new Date().toISOString().replace(/[:.]/g, "-")}.bin`, + types: [ + { + description: "Verisense binary", + accept: { "application/octet-stream": [".bin"] }, + }, + ], + }); + + v.debugSync = true; + + const res = await v.transferLoggedData({ + fileHandle, + timeoutMs: 5000, + maxNack: 5, + maxCrcNack: 5, + onProgress: (p) => log("sync progress:", p), + }); + + setStatus("sync complete"); + log("sync: complete โœ…", res); + } catch (e) { + log("sync error:", String(e?.message ?? e)); + console.warn(e); + setStatus("error"); + } + }; + + + + \ No newline at end of file diff --git a/Verisense/vendor/.gitkeep b/Verisense/vendor/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Verisense/vendor/shimmer-web-sdk.cjs b/Verisense/vendor/shimmer-web-sdk.cjs new file mode 100644 index 0000000..34fa430 --- /dev/null +++ b/Verisense/vendor/shimmer-web-sdk.cjs @@ -0,0 +1,4223 @@ +'use strict'; + +/** + * Container for a single decoded sensor frame. + * + * Mirrors the ObjectCluster concept from the Shimmer C# SDK: + * a named, typed bag of raw and calibrated signal values produced + * by parsing one data packet from a device. + * + * @example + * ```ts + * const oc = new ObjectCluster('MyShimmer3R'); + * oc.add('GYRO_X', rawVal, null, 'raw'); + * oc.add('GYRO_X', degPerSec, 'deg/s', 'cal'); + * + * const cal = oc.get('GYRO_X', 'cal'); + * console.log(cal?.value, cal?.unit); // e.g. 12.5 "deg/s" + * ``` + */ +class ObjectCluster { + constructor(deviceId) { + this.deviceId = deviceId; + this.fields = []; + this.raw = null; + } + /** + * Append a named field to this cluster. + * + * @param name Signal name, e.g. `'GYRO_X'`. + * @param value Numeric value. + * @param unit Optional unit string, e.g. `'deg/s'`, `'ยตS'`, `'ticks'`. + * @param kind `'raw'` for ADC counts, `'cal'` for calibrated units, or `null`. + */ + add(name, value, unit = null, kind = null) { + this.fields.push({ name, value, unit, kind }); + } + /** + * Look up a field by name and optional kind. + * + * When both a raw and a calibrated version exist for the same signal name, + * pass `kind` to disambiguate. + * + * @returns The matching field, or `null` if not found. + */ + get(name, kind = null) { + return this.fields.find((f) => f.name === name && (kind === null || f.kind === kind)) ?? null; + } + /** + * Return all fields that match the given name (regardless of kind). + */ + getAll(name) { + return this.fields.filter((f) => f.name === name); + } +} + +/** + * Abstract base class shared by all Shimmer device clients. + * + * Provides: + * - A `debug` flag and `_log` helper. + * - Stub implementations of `onStatus` and `onStreamFrame` callback properties. + * - Abstract stubs for `connect`, `disconnect`, `startStreaming`, and `stopStreaming` + * that concrete sub-classes must override. + * + * Sub-classes should call `this._emitStatus(msg)` to surface status strings to + * the application layer without depending on a particular event-emitter library. + */ +class BaseShimmerClient { + constructor(opts = {}) { + /** + * Invoked whenever the client emits a human-readable status message + * (e.g. "GATT connected", "Sampling rate ACKed. Applied โ‰ˆ 51.200 Hz"). + */ + this.onStatus = null; + /** + * Invoked for every fully-decoded sensor frame while streaming. + * The exact shape depends on the concrete sub-class: + * - `Shimmer3RClient` passes an {@link ObjectCluster}. + * - `VerisenseBleDevice` passes a streaming packet object (see that class). + */ + this.onStreamFrame = null; + this.debug = opts.debug ?? true; + } + /** Log to console when debug is enabled. */ + _log(...args) { + if (this.debug) + console.log('[Shimmer]', ...args); + } + /** Emit a status message to `onStatus` and to the debug log. */ + _emitStatus(msg) { + this._log(msg); + this.onStatus?.(msg); + } +} + +/** + * Shimmer3R BLE protocol opcodes. + * Values taken directly from the Shimmer3 firmware header. + */ +const OPCODES = Object.freeze({ + DATA_PACKET: 0x00, + INQUIRY_COMMAND: 0x01, + INQUIRY_RESPONSE: 0x02, + GET_SAMPLING_RATE_COMMAND: 0x03, + SAMPLING_RATE_RESPONSE: 0x04, + SET_SAMPLING_RATE_COMMAND: 0x05, + TOGGLE_LED_COMMAND: 0x06, + START_STREAMING_COMMAND: 0x07, + SET_SENSORS_COMMAND: 0x08, + SET_WR_ACCEL_RANGE_COMMAND: 0x09, + WR_ACCEL_RANGE_RESPONSE: 0x0a, + GET_WR_ACCEL_RANGE_COMMAND: 0x0b, + SET_CONFIG_SETUP_BYTES_COMMAND: 0x0e, + CONFIG_SETUP_BYTES_RESPONSE: 0x0f, + GET_CONFIG_SETUP_BYTES_COMMAND: 0x10, + SET_LN_ACCEL_CALIBRATION_COMMAND: 0x11, + LN_ACCEL_CALIBRATION_RESPONSE: 0x12, + GET_LN_ACCEL_CALIBRATION_COMMAND: 0x13, + SET_GYRO_CALIBRATION_COMMAND: 0x14, + GYRO_CALIBRATION_RESPONSE: 0x15, + GET_GYRO_CALIBRATION_COMMAND: 0x16, + SET_MAG_CALIBRATION_COMMAND: 0x17, + MAG_CALIBRATION_RESPONSE: 0x18, + GET_MAG_CALIBRATION_COMMAND: 0x19, + SET_WR_ACCEL_CALIBRATION_COMMAND: 0x1a, + WR_ACCEL_CALIBRATION_RESPONSE: 0x1b, + GET_WR_ACCEL_CALIBRATION_COMMAND: 0x1c, + STOP_STREAMING_COMMAND: 0x20, + SET_GSR_RANGE_COMMAND: 0x21, + GSR_RANGE_RESPONSE: 0x22, + GET_GSR_RANGE_COMMAND: 0x23, + DEVICE_VERSION_RESPONSE: 0x25, + GET_ALL_CALIBRATION_COMMAND: 0x2c, + ALL_CALIBRATION_RESPONSE: 0x2d, + GET_FW_VERSION_COMMAND: 0x2e, + FW_VERSION_RESPONSE: 0x2f, + SET_CHARGE_STATUS_LED_COMMAND: 0x30, + CHARGE_STATUS_LED_RESPONSE: 0x31, + GET_CHARGE_STATUS_LED_COMMAND: 0x32, + BUFFER_SIZE_RESPONSE: 0x35, + GET_BUFFER_SIZE_COMMAND: 0x36, + SET_MAG_GAIN_COMMAND: 0x37, + MAG_GAIN_RESPONSE: 0x38, + GET_MAG_GAIN_COMMAND: 0x39, + SET_MAG_SAMPLING_RATE_COMMAND: 0x3a, + MAG_SAMPLING_RATE_RESPONSE: 0x3b, + GET_MAG_SAMPLING_RATE_COMMAND: 0x3c, + UNIQUE_SERIAL_RESPONSE: 0x3d, + GET_UNIQUE_SERIAL_COMMAND: 0x3e, + GET_DEVICE_VERSION_COMMAND: 0x3f, + SET_WR_ACCEL_SAMPLING_RATE_COMMAND: 0x40, + WR_ACCEL_SAMPLING_RATE_RESPONSE: 0x41, + GET_WR_ACCEL_SAMPLING_RATE_COMMAND: 0x42, + SET_WR_ACCEL_LPMODE_COMMAND: 0x43, + WR_ACCEL_LPMODE_RESPONSE: 0x44, + GET_WR_ACCEL_LPMODE_COMMAND: 0x45, + SET_WR_ACCEL_HRMODE_COMMAND: 0x46, + WR_ACCEL_HRMODE_RESPONSE: 0x47, + GET_WR_ACCEL_HRMODE_COMMAND: 0x48, + SET_GYRO_RANGE_COMMAND: 0x49, + GYRO_RANGE_RESPONSE: 0x4a, + GET_GYRO_RANGE_COMMAND: 0x4b, + SET_GYRO_SAMPLING_RATE_COMMAND: 0x4c, + GYRO_SAMPLING_RATE_RESPONSE: 0x4d, + GET_GYRO_SAMPLING_RATE_COMMAND: 0x4e, + SET_ALT_ACCEL_RANGE_COMMAND: 0x4f, + ALT_ACCEL_RANGE_RESPONSE: 0x50, + GET_ALT_ACCEL_RANGE_COMMAND: 0x51, + SET_PRESSURE_OVERSAMPLING_RATIO_COMMAND: 0x52, + PRESSURE_OVERSAMPLING_RATIO_RESPONSE: 0x53, + GET_PRESSURE_OVERSAMPLING_RATIO_COMMAND: 0x54, + BMP180_CALIBRATION_COEFFICIENTS_RESPONSE: 0x58, + GET_BMP180_CALIBRATION_COEFFICIENTS_COMMAND: 0x59, + RESET_TO_DEFAULT_CONFIGURATION_COMMAND: 0x5a, + RESET_CALIBRATION_VALUE_COMMAND: 0x5b, + MPU9150_MAG_SENS_ADJ_VALS_RESPONSE: 0x5c, + GET_MPU9150_MAG_SENS_ADJ_VALS_COMMAND: 0x5d, + SET_INTERNAL_EXP_POWER_ENABLE_COMMAND: 0x5e, + INTERNAL_EXP_POWER_ENABLE_RESPONSE: 0x5f, + GET_INTERNAL_EXP_POWER_ENABLE_COMMAND: 0x60, + SET_EXG_REGS_COMMAND: 0x61, + EXG_REGS_RESPONSE: 0x62, + GET_EXG_REGS_COMMAND: 0x63, + SET_DAUGHTER_CARD_ID_COMMAND: 0x64, + DAUGHTER_CARD_ID_RESPONSE: 0x65, + GET_DAUGHTER_CARD_ID_COMMAND: 0x66, + SET_DAUGHTER_CARD_MEM_COMMAND: 0x67, + DAUGHTER_CARD_MEM_RESPONSE: 0x68, + GET_DAUGHTER_CARD_MEM_COMMAND: 0x69, + SET_DERIVED_CHANNEL_BYTES: 0x6d, + DERIVED_CHANNEL_BYTES_RESPONSE: 0x6e, + GET_DERIVED_CHANNEL_BYTES: 0x6f, + START_SDBT_COMMAND: 0x70, + STATUS_RESPONSE: 0x71, + GET_STATUS_COMMAND: 0x72, + SET_TRIAL_CONFIG_COMMAND: 0x73, + TRIAL_CONFIG_RESPONSE: 0x74, + GET_TRIAL_CONFIG_COMMAND: 0x75, + SET_CENTER_COMMAND: 0x76, + CENTER_RESPONSE: 0x77, + GET_CENTER_COMMAND: 0x78, + SET_SHIMMERNAME_COMMAND: 0x79, + SHIMMERNAME_RESPONSE: 0x7a, + GET_SHIMMERNAME_COMMAND: 0x7b, + SET_EXPID_COMMAND: 0x7c, + EXPID_RESPONSE: 0x7d, + GET_EXPID_COMMAND: 0x7e, + SET_MYID_COMMAND: 0x7f, + MYID_RESPONSE: 0x80, + GET_MYID_COMMAND: 0x81, + SET_NSHIMMER_COMMAND: 0x82, + NSHIMMER_RESPONSE: 0x83, + GET_NSHIMMER_COMMAND: 0x84, + SET_CONFIGTIME_COMMAND: 0x85, + CONFIGTIME_RESPONSE: 0x86, + GET_CONFIGTIME_COMMAND: 0x87, + DIR_RESPONSE: 0x88, + GET_DIR_COMMAND: 0x89, + INSTREAM_CMD_RESPONSE: 0x8a, + SET_CRC_COMMAND: 0x8b, + SET_INFOMEM_COMMAND: 0x8c, + INFOMEM_RESPONSE: 0x8d, + GET_INFOMEM_COMMAND: 0x8e, + SET_RWC_COMMAND: 0x8f, + RWC_RESPONSE: 0x90, + GET_RWC_COMMAND: 0x91, + START_LOGGING_COMMAND: 0x92, + STOP_LOGGING_COMMAND: 0x93, + VBATT_RESPONSE: 0x94, + GET_VBATT_COMMAND: 0x95, + TEST_CONNECTION_COMMAND: 0x96, + STOP_SDBT_COMMAND: 0x97, + SET_CALIB_DUMP_COMMAND: 0x98, + RSP_CALIB_DUMP_COMMAND: 0x99, + GET_CALIB_DUMP_COMMAND: 0x9a, + UPD_CALIB_DUMP_COMMAND: 0x9b, + UPD_SDLOG_CFG_COMMAND: 0x9c, + BMP280_CALIBRATION_COEFFICIENTS_RESPONSE: 0x9f, + GET_BMP280_CALIBRATION_COEFFICIENTS_COMMAND: 0xa0, + GET_BT_VERSION_STR_COMMAND: 0xa1, + BT_VERSION_STR_RESPONSE: 0xa2, + SET_INSTREAM_RESPONSE_ACK_PREFIX_STATE: 0xa3, + SET_DATA_RATE_TEST: 0xa4, + DATA_RATE_TEST_RESPONSE: 0xa5, + PRESSURE_CALIBRATION_COEFFICIENTS_RESPONSE: 0xa6, + GET_PRESSURE_CALIBRATION_COEFFICIENTS_COMMAND: 0xa7, + SET_FACTORY_TEST: 0xa8, + SET_ALT_ACCEL_CALIBRATION_COMMAND: 0xa9, + ALT_ACCEL_CALIBRATION_RESPONSE: 0xaa, + GET_ALT_ACCEL_CALIBRATION_COMMAND: 0xab, + SET_ALT_ACCEL_SAMPLING_RATE_COMMAND: 0xac, + ALT_ACCEL_SAMPLING_RATE_RESPONSE: 0xad, + GET_ALT_ACCEL_SAMPLING_RATE_COMMAND: 0xae, + SET_ALT_MAG_CALIBRATION_COMMAND: 0xaf, + ALT_MAG_CALIBRATION_RESPONSE: 0xb0, + GET_ALT_MAG_CALIBRATION_COMMAND: 0xb1, + SET_ALT_MAG_SAMPLING_RATE_COMMAND: 0xb2, + ALT_MAG_SAMPLING_RATE_RESPONSE: 0xb3, + GET_ALT_MAG_SAMPLING_RATE_COMMAND: 0xb4, + DUMMY_COMMAND: 0xb5, + RESET_BT_ERROR_COUNTS: 0xb6, + SET_FEATURE: 0xb7, + SET_SD_SYNC_COMMAND: 0xe0, + SD_SYNC_RESPONSE: 0xe1, + NACK_COMMAND_PROCESSED: 0xfe, + ACK_COMMAND_PROCESSED: 0xff, +}); +/** Default BLE service / characteristic UUIDs for Shimmer3R. */ +const SHIMMER3R_DEFAULTS = Object.freeze({ + SERVICE_UUID: '65333333-a115-11e2-9e9a-0800200ca100', + /** Write characteristic (host โ†’ device). */ + CHAR_RX_UUID: '65333333-a115-11e2-9e9a-0800200ca102', + /** Notify characteristic (device โ†’ host). */ + CHAR_TX_UUID: '65333333-a115-11e2-9e9a-0800200ca101', +}); +/** + * Timestamp field descriptors keyed by width. + * Shimmer3R firmware โ‰ฅ v1.0.22 always uses u24. + */ +const TIMESTAMP_FIELD = Object.freeze({ + u16: { name: 'TIMESTAMP', fmt: 'u16', endian: 'le', sizeBytes: 2 }, + u24: { name: 'TIMESTAMP', fmt: 'u24', endian: 'le', sizeBytes: 3 }, +}); +/** GSR signal name constant used in ObjectCluster fields. */ +const GSR_NAME = 'GSR'; +/** ADC limit below which GSR range-3 calibration is clamped. */ +const GSR_UNCAL_LIMIT_RANGE3 = 683; +/** + * Shimmer3R GSR resistance min/max per hardware range (kฮฉ). + * Index 0 = range 0 (8โ€“63 kฮฉ) โ€ฆ index 3 = range 3 (680โ€“4700 kฮฉ). + */ +const SHIMMER3_GSR_RESISTANCE_MIN_MAX_KOHMS = [ + [8.0, 63.0], + [63.0, 220.0], + [220.0, 680.0], + [680.0, 4700.0], +]; + +/** + * Sensor enable bitmasks for Shimmer3 / Shimmer3R. + * + * Values are 24-bit integers sent as the payload of SET_SENSORS_CMD. + * Multiple sensors are ORed together. + * + * @example + * ```ts + * const mask = SensorBitmapShimmer3.SENSOR_GYRO | SensorBitmapShimmer3.SENSOR_A_ACCEL; + * await client.setSensors(mask); + * ``` + */ +const SensorBitmapShimmer3 = Object.freeze({ + SENSOR_A_ACCEL: 0x000080, + SENSOR_GYRO: 0x000040, + SENSOR_MAG: 0x000020, + SENSOR_GSR: 0x000004, + SENSOR_VBATT: 0x002000, + SENSOR_D_ACCEL: 0x001000, + SENSOR_PRESSURE: 0x040000, + SENSOR_EXG1_24BIT: 0x000010, + SENSOR_EXG2_24BIT: 0x000008, + SENSOR_EXG1_16BIT: 0x100000, + SENSOR_EXG2_16BIT: 0x080000, + SENSOR_BRIDGE_AMP: 0x008000, + SENSOR_ACCEL_ALT: 0x400000, + SENSOR_MAG_ALT: 0x200000, + SENSOR_EXT_A0: 0x000002, + SENSOR_EXT_A1: 0x000001, + SENSOR_EXT_A2: 0x000800, + SENSOR_INT_A3: 0x000400, + SENSOR_INT_A0: 0x000200, + SENSOR_INT_A1: 0x000100, + SENSOR_INT_A2: 0x800000, +}); + +/** + * Mapping from Shimmer3R channel ID byte to its format descriptor. + * Channel IDs are reported in the INQUIRY_RSP payload. + */ +const CHANNEL_FORMATS = Object.freeze({ + 0x00: { name: 'LN_ACCEL_X', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x01: { name: 'LN_ACCEL_Y', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x02: { name: 'LN_ACCEL_Z', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x04: { name: 'WR_ACCEL_X', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x05: { name: 'WR_ACCEL_Y', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x06: { name: 'WR_ACCEL_Z', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x14: { name: 'HG_ACCEL_X', fmt: 'i12*', endian: 'le', sizeBytes: 2 }, + 0x15: { name: 'HG_ACCEL_Y', fmt: 'i12*', endian: 'le', sizeBytes: 2 }, + 0x16: { name: 'HG_ACCEL_Z', fmt: 'i12*', endian: 'le', sizeBytes: 2 }, + 0x0a: { name: 'GYRO_X', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x0b: { name: 'GYRO_Y', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x0c: { name: 'GYRO_Z', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x07: { name: 'MAG_X', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x08: { name: 'MAG_Y', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x09: { name: 'MAG_Z', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x1d: { name: 'Exg1_Status', fmt: 'u8', endian: 'le', sizeBytes: 1 }, + 0x20: { name: 'Exg2_Status', fmt: 'u8', endian: 'le', sizeBytes: 1 }, + 0x1e: { name: 'Exg1_CH1_24Bit', fmt: 'i24', endian: 'be', sizeBytes: 3 }, + 0x1f: { name: 'Exg1_CH2_24Bit', fmt: 'i24', endian: 'be', sizeBytes: 3 }, + 0x21: { name: 'Exg2_CH1_24Bit', fmt: 'i24', endian: 'be', sizeBytes: 3 }, + 0x22: { name: 'Exg2_CH2_24Bit', fmt: 'i24', endian: 'be', sizeBytes: 3 }, + 0x23: { name: 'Exg1_CH1_16Bit', fmt: 'i16', endian: 'be', sizeBytes: 2 }, + 0x24: { name: 'Exg1_CH2_16Bit', fmt: 'i16', endian: 'be', sizeBytes: 2 }, + 0x25: { name: 'Exg2_CH1_16Bit', fmt: 'i16', endian: 'be', sizeBytes: 2 }, + 0x26: { name: 'Exg2_CH2_16Bit', fmt: 'i16', endian: 'be', sizeBytes: 2 }, + 0x12: { name: 'PPG', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x1c: { name: 'GSR', fmt: 'u16', endian: 'le', sizeBytes: 2 }, +}); + +// --------------------------------------------------------------------------- +// ADC helpers +// --------------------------------------------------------------------------- +/** + * Convert a Shimmer3R 12-bit ADC value to millivolts. + * + * @param unCalData Raw 12-bit ADC sample. + * @param offset ADC offset (typically 0). + * @param vRefP Reference voltage in volts (typically 3 V for Shimmer3R). + * @param gain Amplifier gain (typically 1). + * @returns Calibrated voltage in millivolts. + */ +function calibrateU12AdcValue(unCalData, offset, vRefP, gain) { + return (unCalData - offset) * ((vRefP * 1000) / gain / 4095); +} +/** + * Convert a Shimmer3R ADC channel value to millivolts using the + * default Shimmer3R ADC parameters (Vref = 3 V, gain = 1, offset = 0). + * + * @param unCalData Raw 12-bit ADC sample. + * @returns Voltage in millivolts. + */ +function calibrateShimmer3RAdcChannel(unCalData) { + return calibrateU12AdcValue(unCalData, 0, 3, 1); +} +// --------------------------------------------------------------------------- +// GSR calibration +// --------------------------------------------------------------------------- +/** + * Convert a raw GSR ADC sample to skin resistance (kฮฉ) using the + * Shimmer3R amplifier equation. + * + * Reference resistors per range (kฮฉ): [40.2, 287.0, 1000.0, 3300.0]. + * + * @param gsrUncalibratedData Raw 12-bit GSR ADC value. + * @param range Hardware range index 0โ€“3. + * @returns Resistance in kฮฉ. + */ +function calibrateGsrDataToResistanceFromAmplifierEq(gsrUncalibratedData, range) { + const SHIMMER3_REF_KOHMS = [40.2, 287.0, 1000.0, 3300.0]; + const rFeedback = SHIMMER3_REF_KOHMS[range]; + const volts = calibrateShimmer3RAdcChannel(gsrUncalibratedData) / 1000.0; // mV โ†’ V + const rSource = rFeedback / (volts / 0.5 - 1.0); + return rSource; +} +/** + * Clamp a GSR resistance value to the physical limits of a given range. + * + * When `gsrRangeSetting === 4` (auto-range) no clamping is applied. + * + * @param gsrResistanceKOhms Calibrated resistance in kฮฉ. + * @param gsrRangeSetting Range 0โ€“3 (fixed) or 4 (auto). + * @returns Clamped resistance in kฮฉ. + */ +function nudgeGsrResistance(gsrResistanceKOhms, gsrRangeSetting) { + if (gsrRangeSetting === 4) + return gsrResistanceKOhms; + const [minVal, maxVal] = SHIMMER3_GSR_RESISTANCE_MIN_MAX_KOHMS[gsrRangeSetting]; + return Math.max(minVal, Math.min(maxVal, gsrResistanceKOhms)); +} +// --------------------------------------------------------------------------- +// ExG (ADS1292R) oversampling ratio +// --------------------------------------------------------------------------- +/** + * Determine the ADS1292R oversampling ratio config byte for a given + * Shimmer3R sampling rate. + * + * This value is ORed into the lower 3 bits of ExG config byte index 4. + * + * @param samplingRate Shimmer3R sampling rate in Hz (must be โ‰ฅ 0). + * @returns Oversampling ratio index 0โ€“6. + */ +function getOversamplingRatioADS1292R(samplingRate) { + if (!Number.isFinite(samplingRate)) { + throw new TypeError('samplingRate must be a finite number'); + } + if (samplingRate < 0) { + throw new RangeError('samplingRate must be non-negative'); + } + if (samplingRate < 125) + return 0; + if (samplingRate < 250) + return 1; + if (samplingRate < 500) + return 2; + if (samplingRate < 1000) + return 3; + if (samplingRate < 2000) + return 4; + if (samplingRate < 4000) + return 5; + return 6; // โ‰ฅ 4000 Hz +} + +/** + * Low-level byte-manipulation utilities used by the Shimmer3R protocol decoder. + * All functions are pure and have no side-effects, making them straightforward + * to unit-test without a BLE device. + */ +/** Concatenate two Uint8Arrays. */ +function concatU8(a, b) { + const out = new Uint8Array(a.length + b.length); + out.set(a); + out.set(b, a.length); + return out; +} +/** Read a 16-bit unsigned integer, little-endian. */ +function u16le$1(b, o) { + return (b[o] | (b[o + 1] << 8)) >>> 0; +} +/** Read a 16-bit unsigned integer, big-endian. */ +function u16be(b, o) { + return ((b[o] << 8) | b[o + 1]) >>> 0; +} +/** Read a 24-bit unsigned integer, little-endian. */ +function u24le$1(b, o) { + return (b[o] | (b[o + 1] << 8) | (b[o + 2] << 16)) >>> 0; +} +/** Read a 24-bit unsigned integer, big-endian. */ +function u24be(b, o) { + return ((b[o] << 16) | (b[o + 1] << 8) | b[o + 2]) >>> 0; +} +/** Sign-extend a 16-bit value to a signed integer. */ +function sign16(v) { + return v & 0x8000 ? v | 0xffff0000 : v; +} +/** Sign-extend a 24-bit value to a signed integer. */ +function sign24(v) { + return v & 0x800000 ? v | 0xff000000 : v; +} +/** Format a byte as a 2-digit uppercase hex string. */ +function hex2(v) { + return v.toString(16).padStart(2, '0').toUpperCase(); +} + +function toArrayBuffer(u8) { + if (u8.buffer instanceof ArrayBuffer) { + if (u8.byteOffset === 0 && u8.byteLength === u8.buffer.byteLength) + return u8.buffer; + return u8.buffer.slice(u8.byteOffset, u8.byteOffset + u8.byteLength); + } + const out = new Uint8Array(u8.byteLength); + out.set(u8); + return out.buffer; +} + +// --------------------------------------------------------------------------- +// Shimmer3RClient +// --------------------------------------------------------------------------- +/** + * Web Bluetooth client for the Shimmer3R sensor platform. + * + * Implements the ACK-first command flow used by Shimmer3R firmware โ‰ฅ v1.0.22: + * every configuration command awaits an ACK (0xFF) before resolving. + * Streaming data frames are framed with a DATA preamble (0x00). + * + * @example + * ```ts + * const client = new Shimmer3RClient({ timestampFmt: 'u24', debug: true }); + * client.onStatus = (msg) => console.log(msg); + * client.onStreamFrame = (oc) => { + * const gz = oc.get('GYRO_Z', 'raw')?.value; + * console.log('gz =', gz); + * }; + * + * await client.connect(); + * await client.setSamplingRate(51.2); + * await client.setSensors(SensorBitmapShimmer3.SENSOR_GYRO); + * await client.startStreaming(); + * ``` + */ +class Shimmer3RClient extends BaseShimmerClient { + constructor(opts = {}) { + super(opts); + this.device = null; + this.server = null; + this.rx = null; + this.tx = null; + // Protocol state + this._rxBuf = new Uint8Array(0); + this._temps = new Set(); + this.schema = null; + this._lastAckRemainder = null; + this._expectingAck = 0; + this._streaming = false; + this._lastTs = 0; + // Cached device configuration + this.enabledSensors = 0x000000; + this.samplingRateHz = 0; + this.gsrRangeSetting = 0; + this.ExpPower = 0; + /** Minimum valid GSR conductance in ยตS (below this, connectivity = "Disconnected"). */ + this.LIMIT_MIN_VALID_USIEMENS = 0.03; + // Callbacks + this.onInquiry = null; + this.onExpPowerChanged = null; + // --------------------------------------------------------------------------- + // BLE notify handler + // --------------------------------------------------------------------------- + this._handleNotify = (evt) => { + const chunk = new Uint8Array(evt.target.value.buffer); + this._log('Notify len=', chunk.length, 'data=', chunk); + // 1) Consume an expected ACK + if (chunk.length >= 1 && + chunk[0] === OPCODES.ACK_COMMAND_PROCESSED && + (this._expectingAck ?? 0) > 0) { + this._log('ACK detected at start of notify (expected)'); + this._expectingAck = Math.max(0, this._expectingAck - 1); + const remainder = chunk.slice(1); + this._lastAckRemainder = remainder.length ? remainder : null; + this._emitTemp(new Uint8Array([OPCODES.ACK_COMMAND_PROCESSED])); + if (this._lastAckRemainder) { + if (this._streaming && this._lastAckRemainder[0] === OPCODES.DATA_PACKET) { + this._log('Appending DATA remainder after ACK to stream buffer'); + this._rxBuf = concatU8(this._rxBuf, this._lastAckRemainder); + } + else { + this._log('Forwarding non-DATA remainder to control handlers'); + this._emitTemp(this._lastAckRemainder); + } + this._lastAckRemainder = null; + } + return; + } + // 2) During streaming, all bytes are data-plane + if (this._streaming) { + this._rxBuf = concatU8(this._rxBuf, chunk); + } + else { + this._emitTemp(chunk); + if (chunk.length && chunk[0] === OPCODES.DATA_PACKET) { + this._rxBuf = concatU8(this._rxBuf, chunk); + } + } + // 3) Try parsing if schema is available + if (this.schema) { + try { + this._parseBySchema(); + } + catch (e) { + this._log('parseBySchema error:', e); + } + } + }; + this.serviceUUID = opts.serviceUUID ?? SHIMMER3R_DEFAULTS.SERVICE_UUID; + this.rxUUID = opts.rxUUID ?? SHIMMER3R_DEFAULTS.CHAR_RX_UUID; + this.txUUID = opts.txUUID ?? SHIMMER3R_DEFAULTS.CHAR_TX_UUID; + this.forceTimestampFmt = opts.timestampFmt ?? 'u24'; + } + _log(...args) { + if (this.debug) + console.log('[Shimmer3R]', ...args); + } + // --------------------------------------------------------------------------- + // Connection management + // --------------------------------------------------------------------------- + async connect() { + this._emitStatus('Requesting Bluetooth deviceโ€ฆ'); + this.device = await navigator.bluetooth.requestDevice({ + filters: [{ services: [this.serviceUUID] }], + optionalServices: [this.serviceUUID], + }); + this._emitStatus(`Selected: ${this.device.name ?? 'Shimmer3R'}`); + this.server = await this.device.gatt.connect(); + this._emitStatus('GATT connected'); + const svc = await this.server.getPrimaryService(this.serviceUUID); + this.rx = await svc.getCharacteristic(this.rxUUID); + this.tx = await svc.getCharacteristic(this.txUUID); + this._emitStatus('RX/TX obtained'); + await this.tx.startNotifications(); + this.tx.addEventListener('characteristicvaluechanged', this._handleNotify); + this._emitStatus('Notifications started'); + } + async disconnect() { + try { + if (this.tx) { + try { + await this.tx.stopNotifications(); + } + catch { + /* ignore */ + } + this.tx.removeEventListener('characteristicvaluechanged', this._handleNotify); + } + if (this.device?.gatt?.connected) + this.device.gatt.disconnect(); + } + finally { + this.device = this.server = this.rx = this.tx = null; + this._rxBuf = new Uint8Array(0); + this.schema = null; + this._streaming = false; + this.ExpPower = 0; + this._emitStatus('Disconnected'); + } + } + // --------------------------------------------------------------------------- + // Configuration commands + // --------------------------------------------------------------------------- + /** + * Control the internal expansion power rail (required for ExG/EMG/ECG). + * @param expPower 0 = disable, 1 = enable. + */ + async setInternalExpPower(expPower) { + if (expPower !== 0 && expPower !== 1) + throw new Error('expPower must be 0 (off) or 1 (on)'); + if (!this.rx) + throw new Error('Not connected (RX missing)'); + const cmd = new Uint8Array([OPCODES.SET_INTERNAL_EXP_POWER_ENABLE_COMMAND, expPower]); + this._emitStatus(`SET_INTERNAL_EXP_POWER_ENABLE_CMD โ†’ ${expPower ? 'ON' : 'OFF'} waiting for ACKโ€ฆ`); + const ackRemainder = await this._writeExpectingAck(cmd, 1500); + this._emitStatus(`Expansion power ${expPower ? 'enabled' : 'disabled'} (ACK received).`); + this.ExpPower = expPower; + try { + this.onExpPowerChanged?.(expPower); + } + catch (e) { + this._log('onExpPowerChanged handler error', e); + } + return { expPower, ackRemainder }; + } + /** + * Set the GSR measurement range. + * @param gsrRange 0 = 8โ€“63 kฮฉ, 1 = 63โ€“220 kฮฉ, 2 = 220โ€“680 kฮฉ, 3 = 680โ€“4700 kฮฉ, 4 = Auto. + */ + async setGSRRange(gsrRange) { + if (!Number.isInteger(gsrRange) || gsrRange < 0 || gsrRange > 4) { + throw new Error('gsrRange must be 0โ€“4'); + } + if (!this.rx) + throw new Error('Not connected (RX missing)'); + const cmd = new Uint8Array([OPCODES.SET_GSR_RANGE_COMMAND, gsrRange & 0xff]); + this._emitStatus('SET_GSR_RANGE โ†’ waiting for ACKโ€ฆ'); + const ackRemainder = await this._writeExpectingAck(cmd, 1500); + this._emitStatus('SET_GSR_RANGE (ACK received).'); + this.gsrRangeSetting = gsrRange; + return { gsrRange, ackRemainder }; + } + getInternalExpPower() { + return this.ExpPower; + } + getEnabledSensors() { + return this.enabledSensors; + } + /** + * Enable sensors via a 24-bit bitmask. + * Automatically performs an Inquiry after ACK to rebuild the stream schema. + */ + async setSensors(sensors) { + if (!Number.isFinite(sensors)) + throw new Error('sensors must be a finite number'); + if (!this.rx) + throw new Error('Not connected (RX missing)'); + sensors = (sensors >>> 0) & 0xffffff; + const b1 = sensors & 0xff; + const b2 = (sensors >>> 8) & 0xff; + const b3 = (sensors >>> 16) & 0xff; + const cmd = new Uint8Array([OPCODES.SET_SENSORS_COMMAND, b1, b2, b3]); + this._emitStatus(`SET_SENSORS_CMD โ†’ bitmask=0x${sensors.toString(16).toUpperCase().padStart(6, '0')} waiting for ACKโ€ฆ`); + const ackRemainder = await this._writeExpectingAck(cmd, 1500); + this._emitStatus(`Sensors ACK received. Bitmask 0x${sensors.toString(16).toUpperCase().padStart(6, '0')} applied.`); + try { + this._emitStatus('Performing automatic inquiry to refresh schemaโ€ฆ'); + const info = await this.inquiry(); + this.enabledSensors = info.schema.enabledSensors; + this._emitStatus(`Inquiry complete. Enabled sensors: 0x${this.enabledSensors.toString(16).toUpperCase()}`); + } + catch (err) { + this._emitStatus(`Inquiry after setSensors failed: ${err.message}`); + } + return { sensors, ackRemainder, enabledSensors: this.enabledSensors }; + } + /** + * Set the sampling rate. + * The firmware expects a 16-bit divisor: `divisor = floor(32768 / rateHz)`. + */ + async setSamplingRate(rateHz) { + if (!Number.isFinite(rateHz) || rateHz <= 0) { + throw new Error('Sampling rate must be a positive number (Hz)'); + } + if (!this.rx) + throw new Error('Not connected (RX missing)'); + let divisor = Math.floor(32768 / rateHz); + divisor = Math.max(1, Math.min(0xffff, divisor)); + const lsb = divisor & 0xff; + const msb = (divisor >> 8) & 0xff; + const cmd = new Uint8Array([OPCODES.SET_SAMPLING_RATE_COMMAND, lsb, msb]); + this._emitStatus(`Set sampling rate โ†’ ${rateHz.toFixed(3)} Hz (divisor=${divisor}) โ€” waiting for ACKโ€ฆ`); + const ackRemainder = await this._writeExpectingAck(cmd, 1500); + const appliedHz = 32768 / divisor; + this.samplingRateHz = appliedHz; + this._emitStatus(`Sampling rate ACKed. Applied โ‰ˆ ${this.samplingRateHz.toFixed(3)} Hz`); + return { requestedHz: rateHz, appliedHz, divisor, ackRemainder }; + } + // --------------------------------------------------------------------------- + // Inquiry + // --------------------------------------------------------------------------- + /** Send INQUIRY_CMD and parse the response to build the stream schema. */ + async inquiry() { + this._emitStatus('INQUIRY_CMD โ†’ waiting for ACK then RSPโ€ฆ'); + const remainder = await this._writeExpectingAck(new Uint8Array([OPCODES.INQUIRY_COMMAND]), 1500); + if (remainder && remainder[0] === OPCODES.INQUIRY_RESPONSE) { + this._log('Using post-ACK remainder as response'); + const info = this._interpretInquiryResponseShimmer3R(remainder); + this.onInquiry?.(info); + return info; + } + const rsp = await this._waitForResponse(OPCODES.INQUIRY_RESPONSE, 2000); + this._emitStatus(`Inquiry RSP (${rsp.length} bytes)`); + const info = this._interpretInquiryResponseShimmer3R(rsp); + this.onInquiry?.(info); + return info; + } + // --------------------------------------------------------------------------- + // ExG configuration helpers + // --------------------------------------------------------------------------- + /** Enable EMG (ADS1292R) in 16-bit mode on EXG1 & EXG2. */ + async enableEMG16Bit() { + if (!this.rx) + throw new Error('Not connected (RX missing)'); + await this._writeExgPages(new Uint8Array([ + 0x61, 0x00, 0x00, 0x0a, 0x02, 0xa8, 0x10, 0x69, 0x60, 0x20, 0x00, 0x00, 0x02, 0x03, + ]), new Uint8Array([ + 0x61, 0x01, 0x00, 0x0a, 0x02, 0xa0, 0x10, 0xe1, 0xe1, 0x00, 0x00, 0x00, 0x02, 0x01, + ])); + this._emitStatus('EMG 16-bit enabled on EXG1 & EXG2. Schema updated.'); + } + /** Enable EXG test signal in 16-bit mode (useful for verifying ExG hardware). */ + async enableEXGTestSignal16Bit() { + if (!this.rx) + throw new Error('Not connected (RX missing)'); + await this._writeExgPages(new Uint8Array([ + 0x61, 0x00, 0x00, 0x0a, 0x02, 0xab, 0x10, 0x15, 0x15, 0x00, 0x00, 0x00, 0x02, 0x01, + ]), new Uint8Array([ + 0x61, 0x01, 0x00, 0x0a, 0x02, 0xa3, 0x10, 0x15, 0x15, 0x00, 0x00, 0x00, 0x02, 0x01, + ])); + this._emitStatus('EXG test signal 16-bit enabled. Schema updated.'); + } + /** Enable ECG in 16-bit mode on EXG1 & EXG2. */ + async enableECG16Bit() { + if (!this.rx) + throw new Error('Not connected (RX missing)'); + await this._writeExgPages(new Uint8Array([ + 0x61, 0x00, 0x00, 0x0a, 0x02, 0xa8, 0x10, 0x40, 0x40, 0x2d, 0x00, 0x00, 0x02, 0x03, + ]), new Uint8Array([ + 0x61, 0x01, 0x00, 0x0a, 0x02, 0xa0, 0x10, 0x40, 0x47, 0x00, 0x00, 0x00, 0x02, 0x01, + ])); + this._emitStatus('ECG 16-bit enabled on EXG1 & EXG2. Schema updated.'); + } + async _writeExgPages(exg1, exg2) { + const oversamplingRatio = getOversamplingRatioADS1292R(this.samplingRateHz); + exg1 = new Uint8Array(exg1); + exg2 = new Uint8Array(exg2); + exg1[4] = (((exg1[4] >> 3) << 3) | oversamplingRatio) & 0xff; + exg2[4] = (((exg2[4] >> 3) << 3) | oversamplingRatio) & 0xff; + await this._write(exg1); + await new Promise((r) => setTimeout(r, 200)); + await this._write(exg2); + await new Promise((r) => setTimeout(r, 50)); + const targetBits = (SensorBitmapShimmer3.SENSOR_EXG1_16BIT | SensorBitmapShimmer3.SENSOR_EXG2_16BIT) >>> 0; + const newMask = ((this.enabledSensors >>> 0) | targetBits) & 0xffffff; + await this.setSensors(newMask); + } + // --------------------------------------------------------------------------- + // Streaming + // --------------------------------------------------------------------------- + async startStreaming() { + if (!this.schema) + this._emitStatus('Starting stream without schema (not recommended).'); + this._emitStatus('START_STREAM โ†’ waiting for ACKโ€ฆ'); + const remainder = await this._writeExpectingAck(new Uint8Array([OPCODES.START_STREAMING_COMMAND]), 1500); + this._streaming = true; + if (remainder?.length) { + if (remainder[0] === OPCODES.DATA_PACKET) { + this._rxBuf = concatU8(this._rxBuf, remainder); + } + else { + this._emitTemp(remainder); + } + } + this._emitStatus('START_STREAM ACK received; frames should follow'); + } + async stopStreaming() { + this._emitStatus('STOP_STREAM โ†’ sending (no ACK wait)โ€ฆ'); + try { + await this._write(new Uint8Array([OPCODES.STOP_STREAMING_COMMAND])); + this._emitStatus('STOP_STREAM command sent (skipped ACK wait).'); + } + catch (err) { + this._emitStatus(`STOP_STREAM write failed: ${err.message}`); + } + this._streaming = false; + this._rxBuf = new Uint8Array(0); + this._emitStatus('Streaming stopped.'); + } + /** Start streaming AND SD card logging simultaneously. */ + async startStreamingAndLogging() { + if (!this.schema) + this._emitStatus('Starting stream without schema (not recommended).'); + this._emitStatus('START_BT_STREAM_SD_LOGGING โ†’ waiting for ACKโ€ฆ'); + const remainder = await this._writeExpectingAck(new Uint8Array([OPCODES.START_SDBT_COMMAND]), 1500); + this._streaming = true; + if (remainder?.length) { + if (remainder[0] === OPCODES.DATA_PACKET) { + this._rxBuf = concatU8(this._rxBuf, remainder); + } + else { + this._emitTemp(remainder); + } + } + this._emitStatus('START_BT_STREAM_SD_LOGGING ACK received; frames should follow'); + } + /** Stop streaming AND SD card logging. */ + async stopStreamingAndLogging() { + this._emitStatus('STOP_BT_STREAM_SD_LOGGING โ†’ sendingโ€ฆ'); + try { + await this._write(new Uint8Array([OPCODES.STOP_SDBT_COMMAND])); + } + catch (err) { + this._emitStatus(`STOP_BT_STREAM_SD_LOGGING write failed: ${err.message}`); + } + this._streaming = false; + this._rxBuf = new Uint8Array(0); + this._emitStatus('Streaming + logging stopped.'); + } + // --------------------------------------------------------------------------- + // Inquiry response / schema building + // --------------------------------------------------------------------------- + _interpretInquiryResponseShimmer3R(u8) { + let base = 0; + if (u8[0] === OPCODES.INQUIRY_RESPONSE && u8.length >= 2) + base = 1; + const adcRaw = u16le$1(u8, base + 0); + const samplingRateHz = 32768 / adcRaw; + this.samplingRateHz = samplingRateHz; + const cfg = BigInt(u8[base + 2]) | + (BigInt(u8[base + 3]) << 8n) | + (BigInt(u8[base + 4]) << 16n) | + (BigInt(u8[base + 5]) << 24n) | + (BigInt(u8[base + 6]) << 32n) | + (BigInt(u8[base + 7]) << 40n) | + (BigInt(u8[base + 8]) << 48n); + const internalExpPower = Number((cfg >> 24n) & 0x1n); + const gsrRange = Number((cfg >> 25n) & 0x7n); + this.ExpPower = internalExpPower; + this.gsrRangeSetting = gsrRange; + const numCh = u8[base + 9] ?? 0; + const bufSize = u8[base + 10] ?? 0; + const chStart = base + 11; + const channelIds = [...u8.slice(chStart, chStart + numCh)]; + const schema = this._buildSchemaFromChannels(channelIds, this.forceTimestampFmt ?? 'u24'); + this.schema = schema; + this._log(`Schema built: timestampFmt=${schema.timestampFmt}, fields=${schema.fields.length}, enabledSensors=0x${schema.enabledSensors.toString(16)}`); + this._emitStatus(`Expansion power ${this.ExpPower ? 'enabled' : 'disabled'} (ACK received).`); + return { + opcode: u8[0], + adcRaw, + samplingRateHz, + numChannels: numCh, + bufferSize: bufSize, + channelIds, + schema, + bytes: u8.slice(0), + }; + } + _buildSchemaFromChannels(channelIds, timestampFmt) { + const fields = []; + const ts = timestampFmt === 'u24' ? TIMESTAMP_FIELD.u24 : TIMESTAMP_FIELD.u16; + let packetSize = 1 + ts.sizeBytes; // 1 = preamble 0x00 + let enabledSensors = 0; + for (const id of channelIds) { + const fmt = CHANNEL_FORMATS[id]; + if (!fmt) { + fields.push({ id, name: `CH_${hex2(id)}`, fmt: 'i16', endian: 'le', sizeBytes: 2 }); + packetSize += 2; + continue; + } + fields.push({ id, ...fmt }); + packetSize += fmt.sizeBytes ?? 2; + switch (id) { + case 0x00: + case 0x01: + case 0x02: + enabledSensors |= SensorBitmapShimmer3.SENSOR_A_ACCEL; + break; + case 0x04: + case 0x05: + case 0x06: + enabledSensors |= SensorBitmapShimmer3.SENSOR_D_ACCEL; + break; + case 0x14: + case 0x15: + case 0x16: + enabledSensors |= SensorBitmapShimmer3.SENSOR_ACCEL_ALT; + break; + case 0x07: + case 0x08: + case 0x09: + enabledSensors |= SensorBitmapShimmer3.SENSOR_MAG; + break; + case 0x0a: + case 0x0b: + case 0x0c: + enabledSensors |= SensorBitmapShimmer3.SENSOR_GYRO; + break; + case 0x12: + enabledSensors |= SensorBitmapShimmer3.SENSOR_INT_A1; + break; + case 0x1c: + enabledSensors |= SensorBitmapShimmer3.SENSOR_GSR; + break; + case 0x23: + case 0x24: + enabledSensors |= SensorBitmapShimmer3.SENSOR_EXG1_16BIT; + break; + case 0x25: + case 0x26: + enabledSensors |= SensorBitmapShimmer3.SENSOR_EXG2_16BIT; + break; + case 0x1e: + case 0x1f: + enabledSensors |= SensorBitmapShimmer3.SENSOR_EXG1_24BIT; + break; + case 0x21: + case 0x22: + enabledSensors |= SensorBitmapShimmer3.SENSOR_EXG2_24BIT; + break; + default: + console.warn(`โš ๏ธ Unmapped channel ID 0x${id.toString(16)} โ€” added as generic i16.`); + } + } + this.enabledSensors = enabledSensors; + return { timestampFmt, fields, frameBytes: packetSize, enabledSensors, dataPreambleByte: 0x00 }; + } + // --------------------------------------------------------------------------- + // GSR calibration (applied inline during stream parsing) + // --------------------------------------------------------------------------- + _calibrateData(oc) { + const snapshot = [...oc.fields]; + for (const field of snapshot) { + if (field.name === GSR_NAME) { + const rawField = oc.get(GSR_NAME, 'raw'); + const gsrraw = rawField?.value ?? null; + if (gsrraw === null) + continue; + let adc12 = gsrraw & 0x0fff; + let currentRange = this.gsrRangeSetting; + if (currentRange === 4) { + currentRange = (gsrraw >> 14) & 0x03; + } + if (currentRange === 3 && adc12 < GSR_UNCAL_LIMIT_RANGE3) { + adc12 = GSR_UNCAL_LIMIT_RANGE3; + } + let gsrkOhm = calibrateGsrDataToResistanceFromAmplifierEq(adc12, currentRange); + gsrkOhm = nudgeGsrResistance(gsrkOhm, this.gsrRangeSetting); + const gsrConductanceUSiemens = (1.0 / gsrkOhm) * 1000; + oc.add(GSR_NAME, gsrConductanceUSiemens, 'uSiemens', 'cal'); + } + } + } + // --------------------------------------------------------------------------- + // Stream frame parser + // --------------------------------------------------------------------------- + _parseBySchema() { + const sch = this.schema; + const preamble = sch.dataPreambleByte; + const frameBytes = sch.frameBytes >>> 0; + const tsBytes = sch.timestampFmt === 'u16' ? 2 : 3; + const TS_MOD = tsBytes === 3 ? 16777216 : 65536; + let buf = this._rxBuf; + let frames = 0; + let drops = 0; + let anomalies = 0; + while (buf.length >= frameBytes * 2) { + if (buf[0] === preamble && buf[frameBytes] === preamble) { + let ts1, ts2; + try { + ts1 = tsBytes === 2 ? u16le$1(buf, 1) : u24le$1(buf, 1); + ts2 = tsBytes === 2 ? u16le$1(buf, frameBytes + 1) : u24le$1(buf, frameBytes + 1); + } + catch { + buf = buf.subarray(1); + drops++; + continue; + } + const dt = (((ts2 - ts1) % TS_MOD) + TS_MOD) % TS_MOD; + if (dt === 0) { + buf = buf.subarray(1); + drops++; + continue; + } + const frame = buf.subarray(0, frameBytes); + try { + let cursor = 1; + const oc = new ObjectCluster(this.device?.name ?? 'Shimmer3R'); + const ts = tsBytes === 2 ? u16le$1(frame, cursor) : u24le$1(frame, cursor); + cursor += tsBytes; + oc.add('TIMESTAMP', ts, 'ticks', 'raw'); + for (const f of sch.fields) { + if (cursor + f.sizeBytes > frame.length) { + throw new Error(`short frame: need ${f.sizeBytes} @${cursor}, have ${frame.length}`); + } + let v; + switch (f.fmt) { + case 'i16': + v = f.endian === 'be' ? sign16(u16be(frame, cursor)) : sign16(u16le$1(frame, cursor)); + break; + case 'u16': + v = f.endian === 'be' ? u16be(frame, cursor) : u16le$1(frame, cursor); + break; + case 'i24': + v = f.endian === 'be' ? sign24(u24be(frame, cursor)) : sign24(u24le$1(frame, cursor)); + break; + case 'u24': + v = f.endian === 'be' ? u24be(frame, cursor) : u24le$1(frame, cursor); + break; + case 'i12*': { + const msb = frame[cursor] & 0xff; + const lsb = frame[cursor + 1] & 0xff; + const raw12 = (msb << 4) | (lsb >> 4); + v = raw12 & 0x800 ? raw12 - 0x1000 : raw12; + break; + } + case 'u8': + v = frame[cursor]; + break; + default: + v = u16le$1(frame, cursor); + } + cursor += f.sizeBytes; + oc.add(f.name, v, null, 'raw'); + } + if (this._lastTs) { + const dLast = (((ts - this._lastTs) % TS_MOD) + TS_MOD) % TS_MOD; + if (dLast === 0) { + anomalies++; + this._log(`โš ๏ธ Timestamp anomaly#${anomalies}: ts=${ts}, last=${this._lastTs}, ฮ”=0`); + } + } + this._lastTs = ts; + this._calibrateData(oc); + this.onStreamFrame?.(oc); + frames++; + buf = buf.subarray(frameBytes); + } + catch (e) { + this._log('โš ๏ธ frame decode error โ†’ sliding 1 byte', e.message); + buf = buf.subarray(1); + drops++; + } + continue; + } + buf = buf.subarray(1); + drops++; + if (this.debug && drops % 64 === 1) { + this._log(`resync: dropped ${drops} byte(s) so far; bufLen=${buf.length}`); + } + } + this._rxBuf = buf; + if (drops && drops % 512 === 0) + this._lastTs = 0; + if (this.debug && (frames || drops)) { + this._log(`parse: frames=${frames}, drops=${drops}, leftover=${this._rxBuf.length}`); + } + } + // --------------------------------------------------------------------------- + // Low-level transport helpers + // --------------------------------------------------------------------------- + async _write(u8) { + if (!this.rx) + throw new Error('Not connected (RX missing)'); + this._log('Write', u8); + await this.rx.writeValue(toArrayBuffer(u8)); + } + async _writeExpectingAck(u8, ackTimeoutMs = 1000) { + this._expectingAck++; + try { + await this._write(u8); + return await this._waitForAck(ackTimeoutMs); + } + catch (e) { + this._expectingAck = Math.max(0, this._expectingAck - 1); + throw e; + } + } + _waitForAck(timeoutMs = 1000) { + return new Promise((resolve, reject) => { + const t = setTimeout(() => { + this._offTemp(handler); + reject(new Error('ACK timeout')); + }, timeoutMs); + const handler = (chunk) => { + if (!chunk || chunk.length === 0) + return; + if (chunk.length === 1 && chunk[0] === OPCODES.ACK_COMMAND_PROCESSED) { + clearTimeout(t); + this._offTemp(handler); + const rem = this._lastAckRemainder; + this._lastAckRemainder = null; + resolve(rem ?? null); + return; + } + if (chunk[0] === OPCODES.ACK_COMMAND_PROCESSED && chunk.length > 1) { + clearTimeout(t); + this._offTemp(handler); + resolve(chunk.slice(1)); + } + }; + this._onTemp(handler); + }); + } + _waitForResponse(expectedOpcode, timeoutMs = 1500) { + if (this._lastAckRemainder && this._lastAckRemainder[0] === expectedOpcode) { + const rem = this._lastAckRemainder; + this._lastAckRemainder = null; + return Promise.resolve(rem); + } + return new Promise((resolve, reject) => { + const t = setTimeout(() => { + this._offTemp(handler); + reject(new Error('Response timeout')); + }, timeoutMs); + const handler = (chunk) => { + if (!chunk || chunk.length === 0) + return; + if (chunk.length === 1 && chunk[0] === OPCODES.ACK_COMMAND_PROCESSED) + return; + if (chunk[0] === expectedOpcode) { + clearTimeout(t); + this._offTemp(handler); + resolve(chunk); + } + }; + this._onTemp(handler); + }); + } + _onTemp(fn) { + this._temps.add(fn); + } + _offTemp(fn) { + this._temps.delete(fn); + } + _emitTemp(buf) { + this._temps.forEach((fn) => { + try { + fn(buf); + } + catch (e) { + this._log('temp handler error', e); + } + }); + } +} + +// --------------------------------------------------------------------------- +// Nordic UART Service (NUS) UUIDs used by Verisense devices +// --------------------------------------------------------------------------- +/** NUS primary service UUID. */ +const NUS_SERVICE = '6e400001-b5a3-f393-e0a9-e50e24dcca9e'; +/** NUS TX characteristic UUID (host writes to this). */ +const NUS_TX = '6e400002-b5a3-f393-e0a9-e50e24dcca9e'; +/** NUS RX characteristic UUID (host subscribes to notifications from this). */ +const NUS_RX = '6e400003-b5a3-f393-e0a9-e50e24dcca9e'; +/** Nordic Secure DFU primary service UUID (0xFE59). */ +const NORDIC_DFU_SERVICE = '0000fe59-0000-1000-8000-00805f9b34fb'; +/** Nordic DFU control-point characteristic UUID. */ +const NORDIC_DFU_CONTROL_CHAR = '8ec90001-f315-4f60-9fb8-838830daea50'; +/** Nordic DFU packet characteristic UUID. */ +const NORDIC_DFU_PACKET_CHAR = '8ec90002-f315-4f60-9fb8-838830daea50'; +/** Nordic buttonless DFU characteristic UUID (write 0x01 to reboot to bootloader). */ +const NORDIC_DFU_BUTTONLESS_CHAR = '8ec90003-f315-4f60-9fb8-838830daea50'; +// --------------------------------------------------------------------------- +// Verisense protocol command/property constants +// --------------------------------------------------------------------------- +/** Upper-nibble command classes used in protocol headers. */ +const ASM_COMMAND = Object.freeze({ + READ: 0x10, + WRITE: 0x20, + RESPONSE: 0x30, + ACK: 0x40, + NACK_BAD_HEADER_COMMAND: 0x50, + NACK_BAD_HEADER_PROPERTY: 0x60, + NACK_GENERIC: 0x70, + ACK_NEXT_STAGE: 0x80, +}); +/** Lower-nibble property IDs used in protocol headers. */ +const ASM_PROPERTY = Object.freeze({ + STATUS1: 0x01, + DATA: 0x02, + PRODUCTION_CONFIGURATION: 0x03, + OPERATIONAL_CONFIGURATION: 0x04, + TIME: 0x05, + DFU_MODE: 0x06, + PENDING_EVENTS: 0x07, + TEST_MODE: 0x08, + DEBUG_COMMAND: 0x09, + STREAM_MODE: 0x0a, + DEVICE_DISCONNECT: 0x0b, + STATUS2: 0x0c, +}); +/** Stream mode payload values. */ +const STREAM_MODE = Object.freeze({ + ENABLE: 0x01, + DISABLE: 0x02, +}); +/** Test mode IDs documented by Verisense firmware. */ +const TEST_MODE_ID = Object.freeze({ + STOP: 0x00, + FLASH_8MB_1: 0x01, + FLASH_8MB_2: 0x02, + FLASH_128MB_512MB: 0x03, + EEPROM: 0x04, + ACCEL1_LIS2DW12: 0x05, + BATTERY_VOLTAGE: 0x06, + USB_POWER: 0x07, + ACCEL2_GYRO_LSM6DS3: 0x08, + PPG_MAX86XXX: 0x09, + BIOZ_MAX30002: 0x0b, + ACCEL2_GYRO_LSM6DSV: 0x0c, + MAG_LIS2MDL: 0x0d, + TEST_REPORT: 0xfe, + ALL_TESTS: 0xff, +}); +/** Debug command IDs documented by Verisense firmware. */ +const DEBUG_COMMAND_ID = Object.freeze({ + FLASH_LOOKUP_TABLE_READ: 0x01, + FLASH_LOOKUP_TABLE_ERASE: 0x02, + RWC_SCHEDULER_READ: 0x03, + ERASE_128MB_512MB_FLASH: 0x04, + ERASE_8MB_FLASH_1: 0x05, + ERASE_8MB_FLASH_2: 0x06, + ERASE_OPERATIONAL_CONFIG: 0x07, + ERASE_PRODUCTION_CONFIG: 0x08, + CLEAR_PENDING_EVENTS: 0x09, + ERASE_FLASH_AND_LOOKUP_TABLE: 0x0a, + TEST_DATA_TRANSFER_LOOP: 0x0b, + LOAD_TEST_LOOKUP_TABLE: 0x0c, + LED_TEST: 0x0d, + MAX86XXX_LED_TEST: 0x0e, + CHECK_PAYLOAD_CRC_ERRORS: 0x0f, + READ_EVENT_LOG: 0x10, + POWER_PROFILER_TEST: 0x11, + READ_RECORD_BUFFER_DETAILS: 0x12, + SYSTEM_RESET: 0x13, + IC_POWER_CONSUMPTION_TEST: 0x14, + DELETE_ALL_BONDS: 0x15, +}); +// --------------------------------------------------------------------------- +// Operational config byte offsets +// --------------------------------------------------------------------------- +/** + * Byte indices into the Verisense operational config blob (`op[OP_IDX.xxx]`). + * Index 0 is the config version byte (must be 0x5A for a valid config). + */ +const OP_IDX = Object.freeze({ + GEN_CFG_0: 1, + GEN_CFG_1: 2, + GEN_CFG_2: 3, + GEN_CFG_3: 4, + ACCEL1_CFG_0: 5, + ACCEL1_CFG_1: 6, + ACCEL1_CFG_2: 7, + ACCEL1_CFG_3: 8, + GYRO_ACCEL2_CFG_0: 10, + GYRO_ACCEL2_CFG_1: 11, + GYRO_ACCEL2_CFG_2: 12, + GYRO_ACCEL2_CFG_3: 13, + GYRO_ACCEL2_CFG_4: 14, + GYRO_ACCEL2_CFG_5: 15, + GYRO_ACCEL2_CFG_6: 16, + GYRO_ACCEL2_CFG_7: 17, + START_TIME: 21, + END_TIME: 25, + INACTIVE_TIMEOUT: 29, + BLE_RETRY_COUNT: 30, + BLE_TX_POWER: 31, + BLE_DATA_TRANS_WKUP_INT_HRS: 32, + BLE_DATA_TRANS_WKUP_TIME: 33, + BLE_DATA_TRANS_WKUP_DUR: 35, + BLE_DATA_TRANS_RETRY_INT: 36, + BLE_STATUS_WKUP_INT_HRS: 38, + BLE_STATUS_WKUP_TIME: 39, + BLE_STATUS_WKUP_DUR: 41, + BLE_STATUS_RETRY_INT: 42, + BLE_RTC_SYNC_WKUP_INT_HRS: 44, + BLE_RTC_SYNC_WKUP_TIME: 45, + BLE_RTC_SYNC_WKUP_DUR: 47, + BLE_RTC_SYNC_RETRY_INT: 48, + ADC_CHANNEL_SETTINGS_0: 50, + ADC_CHANNEL_SETTINGS_1: 51, + ADAPTIVE_SCHEDULER_INT: 52, + ADAPTIVE_SCHEDULER_FAILCOUNT_MAX: 54, + PPG_REC_DUR_SECS_LSB: 55, + PPG_REC_DUR_SECS_MSB: 56, + PPG_REC_INT_MINS_LSB: 57, + PPG_REC_INT_MINS_MSB: 58, + PPG_FIFO_CONFIG: 59, + PPG_MODE_CONFIG2: 60, + PPG_MA_DEFAULT: 61, + PPG_MA_MAX_RED_IR: 62, + PPG_MA_MAX_GREEN_BLUE: 63, + PPG_AGC_TARGET_PERCENT_OF_RANGE: 64, + PPG_MA_LED_PILOT: 66, + PPG_DAC1_CROSSTALK: 67, + PPG_DAC2_CROSSTALK: 68, + PPG_DAC3_CROSSTALK: 69, + PPG_DAC4_CROSSTALK: 70, + PROX_AGC_MODE: 71, +}); +/** + * Factory test type selection byte sent as the last byte of a TEST_REPORT (0xFE) payload. + * Mirrors the firmware `factory_test_t` enum. + */ +const FACTORY_TEST = Object.freeze({ + MAIN: 0, + LEDS: 1, + ICS: 2, + LED_STATES: 3, +}); + +/** Read a 16-bit unsigned integer, little-endian. */ +function u16le(b0, b1) { + return (b1 << 8) | b0; +} +/** Read a signed 16-bit integer at byte offset `off`, little-endian. */ +function i16le(bytes, off) { + const v = bytes[off] | (bytes[off + 1] << 8); + return v & 0x8000 ? v - 0x10000 : v; +} +/** Read a 24-bit unsigned integer at byte offset `off`, little-endian. */ +function u24le(bytes, off) { + return (bytes[off] | (bytes[off + 1] << 8) | (bytes[off + 2] << 16)) >>> 0; +} +/** Read a 16-bit unsigned integer at byte offset `off`, little-endian (full-array form). */ +function u16le_at(bytes, off) { + return (bytes[off] | (bytes[off + 1] << 8)) >>> 0; +} +/** Return current time in milliseconds. */ +function nowMillis() { + return Date.now(); +} +/** + * Compute CRC-16/CCITT-FALSE over `bytes`. + * + * Parameters: poly=0x1021, init=0xFFFF, xorOut=0x0000. + * Matches the C# `ComputeCRC` implementation used by Verisense firmware. + */ +function crc16_ccitt_false(bytes) { + let crc = 0xffff; + for (let i = 0; i < bytes.length; i++) { + crc ^= bytes[i] << 8; + for (let b = 0; b < 8; b++) { + crc = crc & 0x8000 ? (crc << 1) ^ 0x1021 : crc << 1; + crc &= 0xffff; + } + } + return crc & 0xffff; +} +/** + * Extract the CRC that was appended to a logged payload (last 2 bytes, LE). + */ +function getOriginalCrcLE(payload) { + const n = payload.length; + return (payload[n - 2] | (payload[n - 1] << 8)) >>> 0; +} +/** + * Compute the CRC of a logged payload, excluding the trailing 2 CRC bytes, + * matching the C# `ComputeCRC(payload, 0, payload.Length - 2)` call. + */ +function computeCrcLikeCSharp(payload) { + return crc16_ccitt_false(payload.subarray(0, payload.length - 2)); +} +/** + * Convert any reasonable representation of an operational config to a + * `Uint8Array`. Throws if the input type is unrecognised. + */ +function normalizeOperationalConfig(payload) { + if (!payload) + return null; + if (payload instanceof Uint8Array) + return payload; + if (payload instanceof ArrayBuffer) + return new Uint8Array(payload); + if (Array.isArray(payload)) + return new Uint8Array(payload); + if (payload.buffer instanceof ArrayBuffer) { + const p = payload; + return new Uint8Array(p.buffer, p.byteOffset ?? 0, p.byteLength ?? p.buffer.byteLength); + } + throw new Error('normalizeOperationalConfig: unsupported payload type'); +} +/** Alias for arbitrary protocol byte payload normalization. */ +function normalizeBytePayload(payload) { + return normalizeOperationalConfig(payload); +} +/** + * Derive the 6-digit pairing PIN from a Verisense unique identifier. + * + * The PIN is built from digits 2, 4 and 6 (1-based) of the identifier, + * followed by the decimal value of the final byte padded to 3 digits. + */ +function computeVerisensePairingPin(uniqueId) { + const normalized = String(uniqueId ?? '') + .trim() + .replace(/^Verisense-/i, ''); + if (!/^[0-9a-fA-F]{8,}$/.test(normalized)) { + throw new Error('computeVerisensePairingPin: uniqueId must be a hex identifier string'); + } + if (normalized.length < 6) { + throw new Error('computeVerisensePairingPin: uniqueId must be at least 6 hex characters'); + } + const prefix = `${normalized[1]}${normalized[3]}${normalized[5]}`; + const suffixHex = normalized.slice(-2); + const suffixDec = Number.parseInt(suffixHex, 16); + return `${prefix}${suffixDec.toString().padStart(3, '0')}`; +} +const PROD_CONFIG_FLAG_DFU_ENABLED = 1 << 0; +const LOG_EVENT_NAMES = { + 0: 'NONE', + 1: 'BATTERY_FALL', + 2: 'BATTERY_RECOVER', + 3: 'WRITE_TO_FLASH_SUCCESS', + 4: 'WRITE_TO_FLASH_FAIL_GENERAL', + 5: 'WRITE_TO_FLASH_FULL', + 6: 'WRITE_TO_FLASH_FAIL_CHECK_ADDR_FREE', + 7: 'WRITE_TO_FLASH_FAIL_LOW_BATT_CHECK_ADDR_FREE', + 8: 'WRITE_TO_FLASH_FAIL_LOW_BATT_FLASH_ON', + 9: 'WRITE_TO_FLASH_FAIL_LOW_BATT_FLASH_WRITE', + 10: 'WRITE_TO_FLASH_FAIL_LOW_BATT_BEFORE_START', + 11: 'USB_PLUGGED_IN_SOFT_DEVICE', + 12: 'USB_PLUGGED_OUT_SOFT_DEVICE', + 13: 'RECORDING_PAUSED', + 14: 'RECORDING_RESUMED', + 15: 'BATTERY_RECOVER_IN_BATT_CHECK_TIMER', + 16: 'TSK_FREE_UP_FLASH', + 17: 'FREE_UP_FLASH_FAIL_LOW_BATT', + 18: 'PAYLOAD_PACKAGING_TASK_SET', + 19: 'PAYLOAD_PACKAGING_FUNCTION_CALL', + 20: 'BATTERY_VOLTAGE', + 21: 'TSK_WRITE_LOOKUP_TBL_CHANGES_TO_EEPROM', + 22: 'LPCOMP_ON', + 23: 'LPCOMP_ON_ALREADY', + 24: 'LPCOMP_OFF', + 25: 'LPCOMP_TRIED_BUT_BATT_LOW', + 26: 'BLE_CONNECTED', + 27: 'BLE_DISCONNECTED', + 28: 'TSK_WRITE_FLASH', + 29: 'PPG_TIMER_START', + 30: 'PAYLOAD_OVERSHOT', + 31: 'ADVERTISING_START', + 32: 'ADVERTISING_STOP', + 33: 'NIMH_BATT_PPG_BLOCKED_BLE_RETRY', + 34: 'NIMH_BATT_PPG_BLOCKED_BLE_ADAPT_SCH', + 35: 'NIMH_BATT_PPG_BLOCKED_BLE_PENDING_EVENTS', + 36: 'NIMH_BATT_BLE_BLOCKED_PPG', + 37: 'USB_PORT_OPEN', + 38: 'USB_PORT_CLOSED', + 39: 'FIFO_INT_SAFETY_CHECK_EVENT_ACCEL1', + 40: 'FIFO_INT_SAFETY_CHECK_EVENT_ACCEL2GYRO', + 41: 'FIFO_INT_SAFETY_CHECK_EVENT_MAX86XXX', + 42: 'FIFO_INT_SAFETY_CHECK_EVENT_MAX3000X', + 43: 'FIFO_INT_SAFETY_CHECK_EVENT_ADC', + 44: 'USB_PLUGGED_IN_PIN_HANDLER', + 45: 'USB_PLUGGED_OUT_PIN_HANDLER', + 46: 'BATTERY_CHARGER_STATUS_BAD_BATTERY', + 47: 'BATTERY_CHARGER_STATUS_CHARGING', + 48: 'BATTERY_CHARGER_STATUS_CHARGING_COMPLETE', + 49: 'BATTERY_CHARGER_STATUS_POWER_DOWN', + 50: 'LTC4123_RECOVERY_ATTEMPT', + 51: 'LTC4123_RECOVERY_GAVE_UP', + 52: 'LTC4123_CHRG_COMPLETE_OVERRIDDEN_BAD_BATT', +}; +const LOOKUP_STATUS_NAMES = { + 0: 'Zero', + 1: 'Full', + 2: '2Del', + 3: 'Emty', + 4: 'Bad', + 5: 'NUse', +}; +function u32le_at(bytes, off) { + return (((bytes[off] ?? 0) | + ((bytes[off + 1] ?? 0) << 8) | + ((bytes[off + 2] ?? 0) << 16) | + ((bytes[off + 3] ?? 0) << 24)) >>> + 0); +} +function decodeAsciiTrimFF(bytes) { + let end = bytes.length; + while (end > 0 && bytes[end - 1] === 0xff) + end--; + if (end === 0) + return ''; + return new TextDecoder().decode(bytes.slice(0, end)); +} +/** Convert unix seconds into Verisense 7-byte RTC payload (4-byte minutes + 3-byte ticks). */ +function unixSecondsToAsmRtcBytes(unixSeconds) { + if (!Number.isFinite(unixSeconds) || unixSeconds < 0) { + throw new Error('unixSecondsToAsmRtcBytes: unixSeconds must be a finite positive number'); + } + const minutes = Math.floor(unixSeconds / 60); + const secondsInMinute = unixSeconds - minutes * 60; + const ticks = Math.floor(secondsInMinute * 32768); + return new Uint8Array([ + minutes & 0xff, + (minutes >> 8) & 0xff, + (minutes >> 16) & 0xff, + (minutes >> 24) & 0xff, + ticks & 0xff, + (ticks >> 8) & 0xff, + (ticks >> 16) & 0xff, + ]); +} +/** Convert Verisense 7-byte RTC payload into unix seconds. */ +function asmRtcBytesToUnixSeconds(rtc7) { + if (rtc7.length !== 7) { + throw new Error('asmRtcBytesToUnixSeconds: payload must be exactly 7 bytes'); + } + const minutes = u32le_at(rtc7, 0); + const ticks = u24le(rtc7, 4); + return minutes * 60 + ticks / 32768.0; +} +/** Convert Verisense 8-byte minute counter payload into unix seconds. */ +function asmRtcMinutesBytesToUnixSeconds(minutes8) { + if (minutes8.length !== 8) { + throw new Error('asmRtcMinutesBytesToUnixSeconds: payload must be exactly 8 bytes'); + } + let minutes = 0n; + for (let i = 0; i < 8; i++) { + minutes |= BigInt(minutes8[i]) << BigInt(i * 8); + } + return Number(minutes) * 60; +} +/** + * Build a production configuration payload (56 bytes) from structured options. + * This matches the Python tooling layout used by ASM_BLE.py / ASM_Device.py. + */ +function buildProductionConfigPayload(opts) { + const mo = String(opts.manufacturingOrderNumberHex ?? '').trim(); + const mac = String(opts.macIdHex ?? '').trim(); + if (!/^[0-9a-fA-F]{8}$/.test(mo)) { + throw new Error('buildProductionConfigPayload: manufacturingOrderNumberHex must be 8 hex chars'); + } + if (!/^[0-9a-fA-F]{4}$/.test(mac)) { + throw new Error('buildProductionConfigPayload: macIdHex must be 4 hex chars'); + } + const uniqueBytes = new Uint8Array(6); + uniqueBytes.set(new Uint8Array(mo.match(/../g).map((h) => Number.parseInt(h, 16))), 0); + uniqueBytes.set(new Uint8Array(mac.match(/../g).map((h) => Number.parseInt(h, 16))), 4); + uniqueBytes.reverse(); + const revHwInternal = (opts.revHwInternal ?? 0) & 0xffff; + const revFwInternal = (opts.revFwInternal ?? 0) & 0xffff; + const out = new Uint8Array(56); + out[0] = 0x5a; + out.set(uniqueBytes, 1); + out[7] = opts.revHwMajor & 0xff; + out[8] = opts.revHwMinor & 0xff; + out[9] = opts.revFwMajor & 0xff; + out[10] = opts.revFwMinor & 0xff; + out[11] = revFwInternal & 0xff; + out[12] = (revFwInternal >> 8) & 0xff; + out[13] = revHwInternal & 0xff; + out[14] = (revHwInternal >> 8) & 0xff; + out.fill(0xff, 15, 56); + const passkeyId = opts.passkeyId ?? ''; + if (passkeyId.length > 0) { + if (passkeyId.length !== 2) { + throw new Error('buildProductionConfigPayload: passkeyId must be 2 chars when provided'); + } + out.set(new TextEncoder().encode(passkeyId), 15); + } + const passkey = opts.passkey ?? ''; + if (passkey.length > 0) { + if (passkey.length !== 6) { + throw new Error('buildProductionConfigPayload: passkey must be 6 chars when provided'); + } + out.set(new TextEncoder().encode(passkey), 17); + } + const advPrefix = opts.advertisingNamePrefix ?? ''; + if (advPrefix.length > 32) { + throw new Error('buildProductionConfigPayload: advertisingNamePrefix must be <= 32 chars'); + } + if (advPrefix.length > 0) { + out.set(new TextEncoder().encode(advPrefix), 23); + } + if (opts.dfuEnabled ?? true) { + out[55] = PROD_CONFIG_FLAG_DFU_ENABLED; + } + return out; +} +/** Parse production configuration with optional passkey/name/flag fields. */ +function parseProductionConfigPayloadFull(response) { + if (response.length < 11) { + throw new Error('parseProductionConfigPayloadFull: payload must be at least 11 bytes'); + } + const base = parseProductionConfigPayload(response); + const uniqueIdentifier = [...response.slice(1, 7)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join('') + .toUpperCase(); + const revHwMajor = response[7] ?? 0; + const revHwMinor = response[8] ?? 0; + const revFwMajor = response[9] ?? 0; + const revFwMinor = response[10] ?? 0; + const revFwInternal = response.length >= 13 ? u16le_at(response, 11) : 0; + const revHwInternal = response.length >= 15 ? u16le_at(response, 13) : 0; + const passkeyId = response.length >= 17 ? decodeAsciiTrimFF(response.slice(15, 17)) : ''; + const passkey = response.length >= 23 ? decodeAsciiTrimFF(response.slice(17, 23)) : ''; + const advertisingNamePrefix = response.length >= 55 ? decodeAsciiTrimFF(response.slice(23, 55)) : ''; + const dfuEnabled = response.length >= 56 ? !!(response[55] & PROD_CONFIG_FLAG_DFU_ENABLED) : true; + return { + ...base, + manufacturingOrderNumber: uniqueIdentifier.slice(0, 8), + macId: uniqueIdentifier.slice(8, 12), + uniqueIdentifier, + revHwMajor, + revHwMinor, + revHwInternal, + revFwMajor, + revFwMinor, + revFwInternal, + passkeyId, + passkey, + advertisingNamePrefix, + dfuEnabled, + }; +} +/** + * Parse STATUS1/STATUS2 payload into a typed object. + * + * This ports the core byte parsing from ASM_Device.parse_status while keeping + * the output concise and UI-friendly. + */ +function parseStatusPayload(response, sourceStatusProperty = 'status1') { + if (response.length < 24) { + throw new Error('parseStatusPayload: payload must be at least 24 bytes'); + } + const uniqueIdentifier = [...response.slice(0, 6)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join('') + .toUpperCase(); + const hasTickFields = response.length >= 56; + const hasExtendedCapacity = response.length >= 65; + const statusTimestampSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(6, 10), ...response.slice(34, 37)])) + : u32le_at(response, 6) * 60; + const batteryMilliVolts = u16le_at(response, 10); + const batteryPercent = response[12] ?? 0; + const lastOkTransferSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(13, 17), ...response.slice(37, 40)])) + : u32le_at(response, 13) * 60; + const lastFailTransferSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(17, 21), ...response.slice(40, 43)])) + : u32le_at(response, 17) * 60; + const memoryFreeKb = hasExtendedCapacity + ? (response[21] | (response[22] << 8) | (response[23] << 16) | (response[57] << 24)) >>> 0 + : (response[21] | (response[22] << 8) | (response[23] << 16)) >>> 0; + const memoryCapacityKb = hasExtendedCapacity ? u32le_at(response, 60) : null; + const memoryUsedKb = memoryCapacityKb == null ? null : Math.max(0, memoryCapacityKb - memoryFreeKb); + // Bank breakdown: FULL=syncable data, 2DEL=partially-deleted, BAD=unusable flash. + // Present in payloads >= 57 bytes (tick-capable extended format). + const hasBankData = response.length >= 57; + const memoryFullBanksKb = hasBankData ? u32le_at(response, 45) : null; + const memoryTwoDelBanksKb = hasBankData ? u32le_at(response, 49) : null; + const memoryBadBanksKb = hasBankData ? u32le_at(response, 53) : null; + const batteryFallCounter = response.length >= 26 ? u16le_at(response, 24) : null; + let statusFlags = null; + if (response.length >= 34) { + const f = response[26]; + statusFlags = { + usbPluggedIn: (f & 0x01) !== 0, + recordingPaused: (f & 0x02) !== 0, + flashIsFull: (f & 0x04) !== 0, + powerIsGood: (f & 0x08) !== 0, + adaptiveSchedulerOn: (f & 0x10) !== 0, + dfuServiceOn: (f & 0x20) !== 0, + firstBoot: (f & 0x40) !== 0, + repeatedBatteryMeasurement: (f & 0x80) !== 0, + }; + } + return { + uniqueIdentifier, + sourceStatusProperty, + statusTimestampSeconds, + batteryMilliVolts, + batteryPercent, + lastOkTransferSeconds, + lastFailTransferSeconds, + memoryFreeKb, + memoryCapacityKb, + memoryUsedKb, + memoryFullBanksKb, + memoryTwoDelBanksKb, + memoryBadBanksKb, + statusFlags, + batteryFallCounter, + }; +} +/** Parse scheduler debug response payload from DEBUG_COMMAND_ID.RWC_SCHEDULER_READ. */ +function parseSchedulerDebugPayload(payload) { + if (payload.length < 42) { + throw new Error('parseSchedulerDebugPayload: payload is too short'); + } + let idx = 0; + const currentTimeUnixSeconds = asmRtcBytesToUnixSeconds(payload.slice(idx, idx + 7)); + idx += 7; + const bleControlByte = payload[idx++] ?? 0xff; + const bleControlCounter = bleControlByte === 0x00 + ? 'data-transfer' + : bleControlByte === 0x01 + ? 'status1' + : bleControlByte === 0x02 + ? 'rtc-sync' + : bleControlByte === 0x03 + ? 'status2' + : bleControlByte === 0xff + ? 'never' + : 'unknown'; + const next8 = () => { + const v = asmRtcMinutesBytesToUnixSeconds(payload.slice(idx, idx + 8)); + idx += 8; + return v; + }; + const out = { + currentTimeUnixSeconds, + bleControlCounter, + pendingDataTransferUnixSeconds: next8(), + pendingStatus1UnixSeconds: next8(), + pendingRtcSyncUnixSeconds: next8(), + pendingRetryUnixSeconds: next8(), + retryCount: payload[idx++] ?? 0, + retryOperation: (payload[idx++] ?? 0) === 1 ? 'ble-on' : 'ble-off', + }; + if (payload.length >= idx + 10) { + out.adaptiveScheduler = { + nextUnixSeconds: next8(), + enabled: (payload[idx++] ?? 0) === 1, + syncFailCounter: payload[idx++] ?? 0, + }; + } + if (payload.length >= idx + 11) { + const nextUnixSeconds = next8(); + const op = payload[idx++] ?? 0; + out.ltfRetry = { + nextUnixSeconds, + currentOperation: op === 0 + ? 'flash-write-retry-inactive' + : op === 1 + ? 'short-flash-write-retry' + : op === 2 + ? 'attempt-flash-write' + : op === 3 + ? 'long-flash-write-retry' + : op === 4 + ? 'sensor-paused-until-usb-plug-in' + : 'unknown', + failCounterShort: payload[idx++] ?? 0, + failCounterLong: payload[idx++] ?? 0, + }; + } + if (payload.length >= idx + 8) { + out.pendingStatus2UnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.ppgMeasurementUnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.stepCounterResetUnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.sensorInactivityUnixSeconds = next8(); + } + return out; +} +/** Parse debug payload listing bank indexes with bad CRC (2-byte LE entries). */ +function parsePayloadCrcErrorBankIndexes(payload) { + if (payload.length % 2 !== 0) { + throw new Error('parsePayloadCrcErrorBankIndexes: payload length must be even'); + } + const out = []; + for (let i = 0; i < payload.length; i += 2) + out.push(u16le_at(payload, i)); + return out; +} +/** Parse 8-byte debug event-log entries. */ +function parseEventLogPayload(payload) { + if (payload.length % 8 !== 0) { + throw new Error('parseEventLogPayload: payload length must be a multiple of 8'); + } + const out = []; + for (let i = 0; i < payload.length; i += 8) { + const entry = payload.slice(i, i + 8); + const eventId = entry[7]; + if (eventId === 0) + continue; + out.push({ + index: i / 8, + eventId, + eventName: LOG_EVENT_NAMES[eventId] ?? `EVENT_${eventId}`, + timestampUnixSeconds: eventId === 20 ? null : asmRtcBytesToUnixSeconds(entry.slice(0, 7)), + batteryMilliVolts: eventId === 20 ? u24le(entry, 0) : null, + }); + } + return out; +} +/** Parse record-buffer details payload (26-byte current layout, 19-byte legacy layout). */ +function parseRecordBufferDetailsPayload(payload) { + const bytesPerBuffer = payload.length % 26 === 0 ? 26 : payload.length % 19 === 0 ? 19 : 0; + if (!bytesPerBuffer) { + throw new Error('parseRecordBufferDetailsPayload: unsupported payload length'); + } + const out = []; + for (let i = 0; i < payload.length; i += bytesPerBuffer) { + const row = payload.slice(i, i + bytesPerBuffer); + out.push({ + bufferIndex: row[0], + bufferState: row[1], + packagedPayloadIndex: u16le_at(row, 2), + currentByteIndexForSensorData: u16le_at(row, 4), + usedBufferLength: u16le_at(row, 6), + fifoTicks: u16le_at(row, 8), + dataTimestampRwcMinutes: u32le_at(row, 10), + dataTimestampRwcTicks: u24le(row, 14), + temperatureData: u16le_at(row, 17), + dataTimestampUcClockMinutes: bytesPerBuffer >= 23 ? u32le_at(row, 19) : null, + dataTimestampUcClockTicks: bytesPerBuffer >= 26 ? u24le(row, 23) : null, + }); + } + return out; +} +/** + * Parse lookup-table debug payload entries (3 bytes per bank), with optional + * 4-byte tail/head prefix present in older firmware debug responses. + */ +function parseLookupTablePayload(payload, totalBanks) { + const bytesPerBank = 3; + const expectedNoHeadTail = totalBanks * bytesPerBank; + const expectedWithHeadTail = expectedNoHeadTail + 4; + let data = payload; + let head = null; + let tail = null; + if (payload.length === expectedWithHeadTail) { + tail = u16le_at(payload, 0); + head = u16le_at(payload, 2); + data = payload.slice(4); + } + else if (payload.length !== expectedNoHeadTail) { + throw new Error(`parseLookupTablePayload: payload length ${payload.length} does not match expected ${expectedNoHeadTail} or ${expectedWithHeadTail}`); + } + const entries = []; + for (let bankIndex = 0; bankIndex < totalBanks; bankIndex++) { + const off = bankIndex * bytesPerBank; + const statusByte = data[off]; + const pendingEepromWrite = (statusByte & 0x80) !== 0; + const statusCode = statusByte & 0x7f; + entries.push({ + bankIndex, + statusCode, + statusName: LOOKUP_STATUS_NAMES[statusCode] ?? 'Unknown', + pendingEepromWrite, + payloadIndex: u16le_at(data, off + 1), + }); + } + return { head, tail, entries }; +} +/** + * Parse the production config response payload into a structured object. + */ +function parseProductionConfigPayload(response) { + const isAllFFs = (arr) => arr.every((b) => b === 255); + const configHeader = response[0]; + const asmid = [...response.slice(1, 7)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join(''); + const revHwMajor = response[7]; + const revHwMinor = response[8]; + const revFwMajor = response[9]; + const revFwMinor = response[10]; + const fwInternalArray = response.slice(11, 13); + const revFwInternal = fwInternalArray[0] | (fwInternalArray[1] << 8); + let revHwInternal = 0; + if (response.length >= 15) { + const hwInternalArray = response.slice(13, 15); + if (!isAllFFs(hwInternalArray)) { + revHwInternal = hwInternalArray[0] | (hwInternalArray[1] << 8); + } + } + return { + hardware: `${revHwMajor}.${revHwMinor}.${revHwInternal}`, + firmware: `${revFwMajor}.${revFwMinor}.${revFwInternal}`, + asmid: asmid.toUpperCase(), + configHeader, + }; +} + +/** Build a protocol header byte from command/property nibbles. */ +function buildHeader(command, property) { + return ((command & 0xf0) | (property & 0x0f)) & 0xff; +} +/** Decode a protocol header byte into command/property fields. */ +function parseHeader(header) { + return { + command: (header & 0xf0), + property: (header & 0x0f), + }; +} +/** Build a complete protocol message (header + 16-bit LE payload length + payload bytes). */ +function buildMessage(command, property, payloadBytes = []) { + const payload = payloadBytes instanceof Uint8Array ? payloadBytes : new Uint8Array(payloadBytes); + const out = new Uint8Array(3 + payload.length); + out[0] = buildHeader(command, property); + out[1] = payload.length & 0xff; + out[2] = (payload.length >> 8) & 0xff; + out.set(payload, 3); + return out; +} +/** Parse a complete protocol message into structured fields. */ +function parseMessage(msg) { + if (msg.length < 3) + throw new Error('Invalid Verisense message: header is incomplete'); + const header = msg[0]; + const payloadLength = u16le(msg[1], msg[2]); + if (msg.length !== payloadLength + 3) { + throw new Error(`Invalid Verisense message: length=${payloadLength}, actualPayload=${Math.max(0, msg.length - 3)}`); + } + const { command, property } = parseHeader(header); + return { + header, + command, + property, + payloadLength, + payload: msg.slice(3), + }; +} +function isAckCommand(command) { + return command === ASM_COMMAND.ACK || command === ASM_COMMAND.ACK_NEXT_STAGE; +} +function isNackCommand(command) { + return (command === ASM_COMMAND.NACK_BAD_HEADER_COMMAND || + command === ASM_COMMAND.NACK_BAD_HEADER_PROPERTY || + command === ASM_COMMAND.NACK_GENERIC); +} +/** Convert a pending-events payload (property IDs) into a typed array. */ +function parsePendingEvents(payload) { + const out = []; + for (let i = 0; i < payload.length; i++) + out.push((payload[i] & 0x0f)); + return out; +} + +function pad2(n) { + return Math.trunc(n).toString().padStart(2, '0'); +} +function pad5(n) { + return Math.trunc(n).toString().padStart(5, '0'); +} +function dateToYyMMddHHmmss(date) { + const yy = pad2(date.getUTCFullYear() % 100); + const mm = pad2(date.getUTCMonth() + 1); + const dd = pad2(date.getUTCDate()); + const hh = pad2(date.getUTCHours()); + const min = pad2(date.getUTCMinutes()); + const ss = pad2(date.getUTCSeconds()); + return `${yy}${mm}${dd}_${hh}${min}${ss}`; +} +/** Build a binary upload file name: yyMMdd_HHmmss_00000.bin */ +function buildUploadBinaryFileName(uploadDate, firstPayloadIndex) { + if (!Number.isFinite(firstPayloadIndex) || firstPayloadIndex < 0 || firstPayloadIndex > 0xffff) { + throw new Error('buildUploadBinaryFileName: firstPayloadIndex must be in range 0..65535'); + } + return `${dateToYyMMddHHmmss(uploadDate)}_${pad5(firstPayloadIndex)}.bin`; +} +/** Build parsed CSV file name: yyMMdd_HHmmss_DataSource_00000.csv */ +function buildParsedCsvFileName(startDate, dataSource, firstPayloadIndex) { + if (!dataSource || !String(dataSource).trim()) { + throw new Error('buildParsedCsvFileName: dataSource must be a non-empty string'); + } + if (!Number.isFinite(firstPayloadIndex) || firstPayloadIndex < 0 || firstPayloadIndex > 0xffff) { + throw new Error('buildParsedCsvFileName: firstPayloadIndex must be in range 0..65535'); + } + return `${dateToYyMMddHHmmss(startDate)}_${String(dataSource).trim()}_${pad5(firstPayloadIndex)}.csv`; +} +/** Add duplicate suffix like " (2)" before extension. */ +function applyDuplicateSuffix(fileName, duplicateIndex) { + if (duplicateIndex < 2) { + throw new Error('applyDuplicateSuffix: duplicateIndex must be >= 2'); + } + const idx = fileName.lastIndexOf('.'); + if (idx <= 0) + return `${fileName} (${duplicateIndex})`; + const stem = fileName.slice(0, idx); + const ext = fileName.slice(idx); + return `${stem} (${duplicateIndex})${ext}`; +} +/** Return first non-colliding duplicate name for a target file name. */ +function nextAvailableDuplicateFileName(fileName, existingNames) { + const existing = new Set(existingNames); + if (!existing.has(fileName)) + return fileName; + let i = 2; + while (true) { + const candidate = applyDuplicateSuffix(fileName, i); + if (!existing.has(candidate)) + return candidate; + i++; + } +} +/** Parse first payload index (uint16 LE) from a payload byte array. */ +function getFirstPayloadIndex(payload) { + if (payload.length < 2) { + throw new Error('getFirstPayloadIndex: payload must contain at least 2 bytes'); + } + return u16le_at(payload, 0); +} +/** + * Evaluate whether parsed CSV output should roll to a new file. + * Rules mirror ASM-DES08 split conditions. + */ +function evaluateParsedFileSplit(input) { + const reasons = []; + const prev = input.prevTimestampSec; + const curr = input.currTimestampSec; + // Split when crossing 12:00am or 12:00pm boundaries. + const prevHalfDay = Math.floor(prev / (12 * 60 * 60)); + const currHalfDay = Math.floor(curr / (12 * 60 * 60)); + if (currHalfDay !== prevHalfDay) + reasons.push('midday-midnight-boundary'); + if ((input.prevConfigSignature ?? null) !== (input.currConfigSignature ?? null)) { + reasons.push('config-change'); + } + if (input.expectedDeltaSec != null) { + const tol = Math.max(0, input.timestampToleranceSec ?? 0); + const delta = curr - prev; + if (Math.abs(delta - input.expectedDeltaSec) > tol) { + reasons.push('timestamp-discontinuity'); + } + } + if (input.powerResetDetected) { + reasons.push('power-reset'); + } + return { shouldSplit: reasons.length > 0, reasons }; +} + +/** + * Abstract base class for all Verisense sensor decoders. + * + * Provides: + * - Timestamp unwrapping (handles the 1-minute rollover at 32768 ticks/s). + * - System-time offset tracking for plotting calibrated wall-clock timestamps. + * - Per-sample time extrapolation based on sampling rate and last-sample tick. + */ +class SensorBase { + constructor() { + this.lastTicksUnwrapped = 0; + this.cycle = 0; + /** (system time) โˆ’ (shimmer time) at first sample, in milliseconds. */ + this.systemOffsetFirstTime = null; + /** Sampling rate in Hz (used for per-sample time extrapolation). */ + this.samplingRateHz = null; + /** Whether this sensor is enabled in the operational config. */ + this.enabled = true; + } + /** Reset all timestamp state (call on (re)connect or when streaming restarts). */ + resetTimestamps() { + this.lastTicksUnwrapped = 0; + this.cycle = 0; + this.systemOffsetFirstTime = null; + } + /** + * Unwrap a rolling 24-bit tick counter to a monotonically increasing value. + */ + unwrapTicks(ticks) { + let unwrapped = ticks + SensorBase.TICKS_MAX_VALUE * this.cycle; + if (this.lastTicksUnwrapped > unwrapped) { + this.cycle += 1; + unwrapped = ticks + SensorBase.TICKS_MAX_VALUE * this.cycle; + } + this.lastTicksUnwrapped = unwrapped; + return unwrapped; + } + /** Convert unwrapped ticks to milliseconds. */ + ticksToMillis(unwrappedTicks) { + return (unwrappedTicks / SensorBase.CLOCK_FREQ) * 1000.0; + } + /** + * Compute the calibrated shimmer timestamp for the *last* sample in a burst, + * and store the first-seen system-offset for later plotting. + * + * @param lastSampleTicksU24 24-bit tick counter from the packet header. + * @param systemMillis `Date.now()` at the time of packet receipt. + */ + getTimestampUnwrappedMillis(lastSampleTicksU24, systemMillis) { + const unwrappedTicks = this.unwrapTicks(lastSampleTicksU24); + const shimmerMillis = this.ticksToMillis(unwrappedTicks); + if (this.systemOffsetFirstTime == null) { + this.systemOffsetFirstTime = systemMillis - shimmerMillis; + } + return { shimmerMillis, systemOffsetFirstTime: this.systemOffsetFirstTime }; + } + /** + * Extrapolate the timestamp for sample `i` of `numSamples` in a burst, + * given the timestamp of the *last* sample and the sampling rate. + * + * @returns Object with `tsMillis`, `systemTsMillis`, and `systemTsPlotMillis`. + */ + extrapolateSampleTimes(opts) { + const sr = opts.samplingRateHz ?? this.samplingRateHz; + const { tsLastSampleMillis, systemTsLastSampleMillis, systemOffsetFirstTime } = opts; + if (!sr || sr <= 0) { + return { + tsMillis: tsLastSampleMillis, + systemTsMillis: systemTsLastSampleMillis, + systemTsPlotMillis: systemOffsetFirstTime != null + ? tsLastSampleMillis + systemOffsetFirstTime + : systemTsLastSampleMillis, + }; + } + const sampleOffsetSec = (opts.numSamples - opts.i - 1) / sr; + const tsMillis = tsLastSampleMillis - sampleOffsetSec * 1000; + const systemTsMillis = systemTsLastSampleMillis - sampleOffsetSec * 1000; + const systemTsPlotMillis = systemOffsetFirstTime != null ? tsMillis + systemOffsetFirstTime : systemTsMillis; + return { tsMillis, systemTsMillis, systemTsPlotMillis }; + } +} +/** Verisense clock frequency in ticks per second. */ +SensorBase.CLOCK_FREQ = 32768; +/** 1-minute rollover at 32768 ticks/s (matches C# Sensor.cs). */ +SensorBase.TICKS_MAX_VALUE = 60 * 32768; + +/** + * Decoder for grouped ADC channels (Verisense sensor id = 1). + * + * Includes GSR plus battery/ADC channels carried in the same packet source. + * Implements C# `SensorGSR.cs` including: + * - Per-hardware reference resistor selection (SR68 vs Shimmer3 resistors). + * - Auto-range decoding from the raw ADC value's upper bits. + * - Range-3 clamping threshold that differs by hardware. + * - Conductance (uS) output with connectivity detection. + */ +class SensorADC extends SensorBase { + constructor() { + super(); + this.LIMIT_MIN_VALID_USIEMENS = 0.03; + this.GSR_UNCAL_LIMIT_RANGE3_SR68 = 1134; + this.GSR_UNCAL_LIMIT_RANGE3_SR62 = 683; + this.SHIMMER3_REF_KOHMS = [40.2, 287.0, 1000.0, 3300.0]; + this.SR68_REF_KOHMS = [21.0, 150.0, 562.0, 1740.0]; + this.gsrEnabled = true; + this.battEnabled = false; + /** GSR range 0-3 (fixed) or 4 (auto-range). */ + this.gsrRangeSetting = 4; + this.hardwareIdentifier = 'VERISENSE_PULSE_PLUS'; + // Decoded from opConfig for debug/display + this.gsrRateSettingRaw = 0; + this.gsrRangeSettingRaw = 0; + this.gsrOversamplingRateSettingRaw = 0; + this.samplingRateHz = 50; + } + setHardwareIdentifier(idStr) { + this.hardwareIdentifier = idStr; + } + setGsrRangeSetting(v) { + this.gsrRangeSetting = v; + } + setEnabled(arg1, opConfigBytes) { + if (opConfigBytes != null) { + const desired = typeof arg1 === 'boolean' ? { gsr: arg1 } : arg1 && typeof arg1 === 'object' ? arg1 : {}; + return this._patchEnabled(desired, opConfigBytes); + } + const obj = typeof arg1 === 'boolean' ? { gsr: arg1 } : arg1 && typeof arg1 === 'object' ? arg1 : {}; + if (typeof obj.gsr === 'boolean') + this.gsrEnabled = obj.gsr; + if (typeof obj.batt === 'boolean') + this.battEnabled = obj.batt; + return { gsr: this.gsrEnabled, batt: this.battEnabled }; + } + _patchEnabled({ gsr, batt }, opConfigBytes) { + const op = normalizeOperationalConfig(opConfigBytes); + const out = new Uint8Array(op); + if (typeof gsr === 'boolean') { + const idx = OP_IDX.GEN_CFG_1; + out[idx] = gsr ? (out[idx] | 0x80) & 0xff : out[idx] & 0x7f & 0xff; + } + if (typeof batt === 'boolean') { + const idx = OP_IDX.GEN_CFG_2; + out[idx] = batt ? (out[idx] | 0x02) & 0xff : out[idx] & 0xfd & 0xff; + } + return out; + } + patchGsrRange(rangeCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ADC_CHANNEL_SETTINGS_1; + out[i] = (out[i] & 0b11111000) | (rangeCfg & 0x07); + return out; + } + patchGsrSamplingRate(rateCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ADC_CHANNEL_SETTINGS_0; + out[i] = (out[i] & 0b11000000) | (rateCfg & 0x3f); + return out; + } + patchGsrOversampling(overCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ADC_CHANNEL_SETTINGS_1; + out[i] = (out[i] & 0b00001111) | ((overCfg & 0x0f) << 4); + return out; + } + calibrateAdcToVolts(uncal12bit) { + const adcRange = 2 ** 12 - 1; + let refVoltage = 1.8 / 4.0; + if (this.hardwareIdentifier === 'VERISENSE_GSR_PLUS') { + refVoltage = 3.0 / 4.0; + } + const adcScaling = 1.0 / 4.0; + return (uncal12bit * refVoltage) / adcRange / adcScaling; + } + calibrateGsrToKOhmsUsingAmplifierEq(volts, range) { + let rFeedback = this.SHIMMER3_REF_KOHMS[range]; + if (this.hardwareIdentifier === 'VERISENSE_PULSE_PLUS') { + rFeedback = this.SR68_REF_KOHMS[range]; + } + const gsrRefVoltage = this.hardwareIdentifier === 'VERISENSE_PULSE_PLUS' ? 0.4986 : 0.5; + return rFeedback / (volts / gsrRefVoltage - 1.0); + } + nudgeGsrResistance(kOhms) { + const limitsByRange = { + 0: [8.0, 63.0], + 1: [63.0, 220.0], + 2: [220.0, 680.0], + 3: [680.0, 4700.0], + 4: [8.0, 4700.0], + }; + const lim = limitsByRange[this.gsrRangeSetting] ?? [8.0, 4700.0]; + return Math.min(Math.max(kOhms, lim[0]), lim[1]); + } + kOhmToUSiemens(kOhms) { + return 1000.0 / kOhms; + } + parsePayload(sensorPayloadBytes) { + const bytesPerSample = this.gsrEnabled && this.battEnabled ? 4 : 2; + const n = Math.floor(sensorPayloadBytes.length / bytesPerSample); + const out = []; + for (let i = 0; i < n; i++) { + const base = i * bytesPerSample; + let batt = null; + let gsr = null; + const gsrStart = this.battEnabled && this.gsrEnabled ? 2 : 0; + if (this.gsrEnabled) { + const gsrraw = i16le(sensorPayloadBytes, base + gsrStart); + let adc12 = gsrraw & 0x0fff; + let currentRange = this.gsrRangeSetting; + if (currentRange === 4) + currentRange = (gsrraw >> 14) & 0x03; + if (currentRange === 3) { + const limit = this.hardwareIdentifier === 'VERISENSE_PULSE_PLUS' + ? this.GSR_UNCAL_LIMIT_RANGE3_SR68 + : this.GSR_UNCAL_LIMIT_RANGE3_SR62; + if (adc12 < limit) + adc12 = limit; + } + const volts = this.calibrateAdcToVolts(adc12); + let kOhms = this.calibrateGsrToKOhmsUsingAmplifierEq(volts, currentRange); + kOhms = this.nudgeGsrResistance(kOhms); + const uS = this.kOhmToUSiemens(kOhms); + const connectivity = uS > this.LIMIT_MIN_VALID_USIEMENS ? 'Connected' : 'Disconnected'; + gsr = { raw: gsrraw, adc12, range: currentRange, volts, kOhms, uS, connectivity }; + } + if (this.battEnabled) { + const raw16 = i16le(sensorPayloadBytes, base) & 0xffff; + const adc12 = raw16 & 0x0fff; + const usbPluggedIn = ((raw16 >> 15) & 0x01) === 1; + const chargerStatusBits = (raw16 >> 13) & 0x03; + let mv = this.calibrateAdcToVolts(adc12) * 1000.0; + if (this.hardwareIdentifier === 'VERISENSE_GSR_PLUS') { + mv *= 1.988; + } + const chargerStatusMap = { + 0: 'Power-Down/Suspended', + 1: 'Charging', + 2: 'Charging Complete', + 3: 'Bad Battery/LDO', + }; + batt = { + raw16, + adc12, + mV: mv, + usbPluggedIn, + chargerStatusBits, + chargerStatus: chargerStatusMap[chargerStatusBits] ?? 'Unknown', + }; + } + out.push({ gsr, batt }); + } + return out; + } + applyOperationalConfig(op) { + const gen1 = op[OP_IDX.GEN_CFG_1] ?? 0; + const gen2 = op[OP_IDX.GEN_CFG_2] ?? 0; + this.gsrEnabled = ((gen1 >> 7) & 0x01) === 1; + this.battEnabled = (gen2 & 0b00000010) !== 0; + const rateCfg = (op[OP_IDX.ADC_CHANNEL_SETTINGS_0] ?? 0) & 0x3f; + const cfg1 = (op[OP_IDX.ADC_CHANNEL_SETTINGS_1] ?? 0) & 0xff; + const rangeCfg = cfg1 & 0x07; + const oversamplingCfg = (cfg1 >> 4) & 0x0f; + this.gsrRateSettingRaw = rateCfg; + this.gsrRangeSettingRaw = rangeCfg; + this.gsrOversamplingRateSettingRaw = oversamplingCfg; + if (rangeCfg >= 0 && rangeCfg <= 4) { + this.gsrRangeSetting = rangeCfg; + } + } +} + +/** + * Decoder for the LIS2DW12 low-power accelerometer (Verisense sensor id = 2). + * + * Sensitivity values are given in raw-LSB / (m/sยฒ) per axis โ€” matching + * the C# `SensorLIS2DW12.cs` implementation. + */ +class SensorLIS2DW12 extends SensorBase { + constructor() { + super(); + this.offset = [0, 0, 0]; + this.align = [ + [0, 0, 1], + [1, 0, 0], + [0, 1, 0], + ]; + this.sensitivityByRange = { + '2G': [1671.665922915, 1671.665922915, 1671.665922915], + '4G': [835.832961457, 835.832961457, 835.832961457], + '8G': [417.916480729, 417.916480729, 417.916480729], + '16G': [208.958240364, 208.958240364, 208.958240364], + }; + this.range = '2G'; + this.samplingRateHz = 50; + } + setRange(rangeStr) { + if (this.sensitivityByRange[rangeStr]) + this.range = rangeStr; + } + // --- Functional OpConfig helpers (returns new Uint8Array, does not mutate) --- + setEnabled(enabled, opConfigBytes) { + if (opConfigBytes == null) { + this.enabled = enabled; + return this.enabled; + } + const op = normalizeOperationalConfig(opConfigBytes); + const out = new Uint8Array(op); + const idx = OP_IDX.GEN_CFG_0; + out[idx] = enabled ? (out[idx] | 0x80) & 0xff : out[idx] & 0x7f & 0xff; + return out; + } + setAccelEnabled(enabled, opConfigBytes) { + return this.setEnabled(enabled, opConfigBytes); + } + patchAccelRange(rangeCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ACCEL1_CFG_1; + out[i] = (out[i] & 0b11001111) | ((rangeCfg & 0x03) << 4); + return out; + } + patchAccelSamplingRate(rateCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ACCEL1_CFG_0; + out[i] = (out[i] & 0b00001111) | ((rateCfg & 0x0f) << 4); + return out; + } + _calibrate(raw) { + const v = [ + raw[0] - this.offset[0], + raw[1] - this.offset[1], + raw[2] - this.offset[2], + ]; + const a = this.align; + const aligned = [ + a[0][0] * v[0] + a[0][1] * v[1] + a[0][2] * v[2], + a[1][0] * v[0] + a[1][1] * v[1] + a[1][2] * v[2], + a[2][0] * v[0] + a[2][1] * v[1] + a[2][2] * v[2], + ]; + const s = this.sensitivityByRange[this.range]; + return [aligned[0] / s[0], aligned[1] / s[1], aligned[2] / s[2]]; + } + parsePayload(sensorPayloadBytes) { + const BYTES_PER_SAMPLE = 6; + const n = Math.floor(sensorPayloadBytes.length / BYTES_PER_SAMPLE); + const out = []; + for (let i = 0; i < n; i++) { + const off = i * BYTES_PER_SAMPLE; + const raw = [ + i16le(sensorPayloadBytes, off + 0), + i16le(sensorPayloadBytes, off + 2), + i16le(sensorPayloadBytes, off + 4), + ]; + const cal = this._calibrate(raw); + out.push({ raw, cal, units: { cal: 'm/s^2' } }); + } + return out; + } + applyOperationalConfig(op) { + const gen0 = op[OP_IDX.GEN_CFG_0]; + const cfg0 = op[OP_IDX.ACCEL1_CFG_0]; + const cfg1 = op[OP_IDX.ACCEL1_CFG_1]; + if (gen0 == null || cfg0 == null || cfg1 == null) { + console.warn('[LIS2DW12] Missing required bytes; cannot apply config.'); + return; + } + this.enabled = ((gen0 >> 7) & 0x01) === 1; + const rangeSetting = (cfg1 >> 4) & 0x03; + const modeSetting = (cfg0 >> 2) & 0x03; + const rateSetting = (cfg0 >> 4) & 0x0f; + const rangeMap = { 0: '2G', 1: '4G', 2: '8G', 3: '16G' }; + this.setRange(rangeMap[rangeSetting] ?? '2G'); + const lowPowerHzByCfg = { + 1: 1.6, + 2: 12.5, + 3: 25, + 4: 50, + 5: 100, + 6: 200, + }; + const highPerfHzByCfg = { + 1: 12.5, + 3: 25, + 4: 50, + 5: 100, + 6: 200, + 7: 400, + 8: 800, + 9: 1600, + }; + const isLowPower = modeSetting === 0; + const hz = isLowPower ? lowPowerHzByCfg[rateSetting] : highPerfHzByCfg[rateSetting]; + if (hz) + this.samplingRateHz = hz; + } +} + +/** + * Decoder for the LSM6DS3 combined accelerometer + gyroscope (Verisense sensor id = 3). + * + * Sensitivity values mirror the C# `SensorLSM6DS3.cs` implementation. + */ +class SensorLSM6DS3 extends SensorBase { + constructor() { + super(); + this.offset = [0, 0, 0]; + this.align = [ + [0, 0, 1], + [-1, 0, 0], + [0, -1, 0], + ]; + this.accSensByRange = { + '2G': [1671.665922915, 1671.665922915, 1671.665922915], + '4G': [835.832961457, 835.832961457, 835.832961457], + '8G': [417.916480729, 417.916480729, 417.916480729], + '16G': [208.958240364, 208.958240364, 208.958240364], + }; + this.gyroSensByRange = { + '250DPS': [114.285714286, 114.285714286, 114.285714286], + '500DPS': [57.142857143, 57.142857143, 57.142857143], + '1000DPS': [28.571428571, 28.571428571, 28.571428571], + '2000DPS': [14.285714286, 14.285714286, 14.285714286], + }; + this.accRange = '2G'; + this.gyroRange = '250DPS'; + this.accEnabled = true; + this.gyroEnabled = true; + this.samplingRateHz = 50; + } + setAccelEnabled(v) { + this.accEnabled = !!v; + } + setGyroEnabled(v) { + this.gyroEnabled = !!v; + } + setAccelRange(r) { + if (this.accSensByRange[r]) + this.accRange = r; + } + setGyroRange(r) { + if (this.gyroSensByRange[r]) + this.gyroRange = r; + } + _applyAlignAndOffset(raw3) { + const v = [ + raw3[0] - this.offset[0], + raw3[1] - this.offset[1], + raw3[2] - this.offset[2], + ]; + const a = this.align; + return [ + a[0][0] * v[0] + a[0][1] * v[1] + a[0][2] * v[2], + a[1][0] * v[0] + a[1][1] * v[1] + a[1][2] * v[2], + a[2][0] * v[0] + a[2][1] * v[1] + a[2][2] * v[2], + ]; + } + parsePayload(sensorPayloadBytes) { + let bytesPerSample = 6; + if (this.gyroEnabled && this.accEnabled) + bytesPerSample = 12; + const n = Math.floor(sensorPayloadBytes.length / bytesPerSample); + const out = []; + for (let i = 0; i < n; i++) { + const base = i * bytesPerSample; + let gyroRaw = null; + let accRaw = null; + if (this.gyroEnabled && this.accEnabled) { + gyroRaw = [ + i16le(sensorPayloadBytes, base + 0), + i16le(sensorPayloadBytes, base + 2), + i16le(sensorPayloadBytes, base + 4), + ]; + accRaw = [ + i16le(sensorPayloadBytes, base + 6), + i16le(sensorPayloadBytes, base + 8), + i16le(sensorPayloadBytes, base + 10), + ]; + } + else if (this.gyroEnabled) { + gyroRaw = [ + i16le(sensorPayloadBytes, base + 0), + i16le(sensorPayloadBytes, base + 2), + i16le(sensorPayloadBytes, base + 4), + ]; + } + else if (this.accEnabled) { + accRaw = [ + i16le(sensorPayloadBytes, base + 0), + i16le(sensorPayloadBytes, base + 2), + i16le(sensorPayloadBytes, base + 4), + ]; + } + let accCal = null; + let gyroCal = null; + if (accRaw) { + const aligned = this._applyAlignAndOffset(accRaw); + const s = this.accSensByRange[this.accRange]; + accCal = [aligned[0] / s[0], aligned[1] / s[1], aligned[2] / s[2]]; + } + if (gyroRaw) { + const aligned = this._applyAlignAndOffset(gyroRaw); + const s = this.gyroSensByRange[this.gyroRange]; + gyroCal = [aligned[0] / s[0], aligned[1] / s[1], aligned[2] / s[2]]; + } + out.push({ + accel: accRaw && accCal ? { raw: accRaw, cal: accCal, units: 'm/s^2' } : null, + gyro: gyroRaw && gyroCal ? { raw: gyroRaw, cal: gyroCal, units: 'deg/s' } : null, + }); + } + return out; + } + applyOperationalConfig(op) { + this.accEnabled = (op[OP_IDX.GEN_CFG_0] & 0b01000000) !== 0; + this.gyroEnabled = (op[OP_IDX.GEN_CFG_0] & 0b00100000) !== 0; + const cfg4 = op[OP_IDX.GYRO_ACCEL2_CFG_4]; + const accelRateCfg = (cfg4 >> 4) & 0x0f; + const cfg5 = op[OP_IDX.GYRO_ACCEL2_CFG_5]; + const accelRangeCfg = (cfg5 >> 2) & 0x03; + const gyroRangeCfg = (cfg5 >> 4) & 0x03; + const accelRangeMap = { 0: '2G', 1: '4G', 2: '8G', 3: '16G' }; + const gyroRangeMap = { + 0: '250DPS', + 1: '500DPS', + 2: '1000DPS', + 3: '2000DPS', + }; + this.setAccelRange(accelRangeMap[accelRangeCfg] ?? this.accRange); + this.setGyroRange(gyroRangeMap[gyroRangeCfg] ?? this.gyroRange); + const hzByCfg = { + 0: null, + 1: 12.5, + 2: 26, + 3: 52, + 4: 104, + 5: 208, + 6: 416, + 7: 833, + 8: 1660, + }; + const hz = hzByCfg[accelRateCfg]; + if (hz) + this.samplingRateHz = hz; + } +} + +/** + * Decoder for the PPG sensor (Verisense sensor id = 4). + * + * Calibration constants mirror C# `SensorPPG.cs`. + */ +class SensorPPG extends SensorBase { + constructor() { + super(); + this.red = false; + this.ir = false; + this.green = false; + this.blue = false; + this.adcLsb = [7.8125, 15.625, 31.25, 62.5]; + this.adcBitShift = [2 ** 7, 2 ** 6, 2 ** 5, 2 ** 4]; + this.adcResolutionIndex = 0; // 0..3 + this.samplingRateHz = 50; + } + setChannels(channels) { + if (typeof channels.RED === 'boolean') + this.red = channels.RED; + if (typeof channels.IR === 'boolean') + this.ir = channels.IR; + if (typeof channels.GREEN === 'boolean') + this.green = channels.GREEN; + if (typeof channels.BLUE === 'boolean') + this.blue = channels.BLUE; + } + setAdcResolutionIndex(i) { + if (i >= 0 && i <= 3) + this.adcResolutionIndex = i; + } + calibrateValue(uncalValue) { + const idx = this.adcResolutionIndex; + return ((uncalValue / this.adcBitShift[idx]) * this.adcLsb[idx]) / 1000.0; + } + parsePayload(sensorPayloadBytes) { + const enabled = []; + if (this.red) + enabled.push('RED'); + if (this.ir) + enabled.push('IR'); + if (this.green) + enabled.push('GREEN'); + if (this.blue) + enabled.push('BLUE'); + const bytesPerSample = enabled.length * 3; + if (bytesPerSample === 0) + return []; + const n = Math.floor(sensorPayloadBytes.length / bytesPerSample); + const out = []; + for (let i = 0; i < n; i++) { + const base = i * bytesPerSample; + let off = 0; + const sample = {}; + for (const ch of enabled) { + const b0 = sensorPayloadBytes[base + off + 0]; + const b1 = sensorPayloadBytes[base + off + 1]; + const b2 = sensorPayloadBytes[base + off + 2]; + off += 3; + let uncal = (b0 | (b1 << 8) | (b2 << 16)) >>> 0; + uncal &= 0x7ffff; + sample[ch] = { + raw: uncal, + cal: this.calibrateValue(uncal), + units: { raw: 'counts', cal: 'scaled' }, + }; + } + out.push(sample); + } + return out; + } + applyOperationalConfig(_op) { + // PPG channels are configured by the operational config but the bit + // mapping is hardware-specific. For now we leave channel flags as-is; + // callers can use setChannels() directly. + void normalizeOperationalConfig(_op); // no-op, satisfies lint + } +} + +function defaultAcceptedCommands(command) { + if (command === ASM_COMMAND.READ) + return new Set([ASM_COMMAND.RESPONSE]); + if (command === ASM_COMMAND.WRITE) { + return new Set([ASM_COMMAND.ACK, ASM_COMMAND.ACK_NEXT_STAGE, ASM_COMMAND.RESPONSE]); + } + return new Set([ASM_COMMAND.ACK, ASM_COMMAND.ACK_NEXT_STAGE, ASM_COMMAND.RESPONSE]); +} +function toCommandResponse(msg) { + return { + header: msg.header, + command: msg.command, + property: msg.property, + payload: msg.payload, + }; +} +function validatePendingResponse(pending, msg) { + if (isNackCommand(msg.command)) { + return new Error(`Device returned NACK command=0x${msg.command.toString(16)} property=0x${msg.property.toString(16)}`); + } + if (pending.acceptedProperties?.size) { + if (!pending.acceptedProperties.has(msg.property)) { + return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected one of ${Array.from(pending.acceptedProperties) + .map((p) => `0x${p.toString(16)}`) + .join(', ')})`); + } + } + else if (msg.property !== pending.expectedProperty) { + return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected 0x${pending.expectedProperty.toString(16)})`); + } + if (!pending.acceptedCommands.has(msg.command)) { + return new Error(`Unexpected response command 0x${msg.command.toString(16)} for property 0x${msg.property.toString(16)}`); + } + return null; +} + +// --------------------------------------------------------------------------- +// VerisenseBleDevice +// --------------------------------------------------------------------------- +/** + * Web Bluetooth client for the Verisense sensor platform. + * + * Extends {@link BaseShimmerClient} and adds an event-emitter API + * (on/off/emit) for the richer event model the Verisense protocol needs. + * + * Supports: + * - BLE streaming (accel, ADC/GSR, gyro, PPG) + * - Web Serial (USB COM port) as an alternative transport + * - Logged-data download (`transferLoggedData`) + * - Operational config read/write + * + * Events: + * - `"connected"` โ€” `{ name?: string; id?: string; kind?: string }` + * - `"disconnected"` โ€” `{ kind: TransportKind }` + * - `"streaming"` โ€” `{ on: boolean }` + * - `"streamPacket"` / `"data"` โ€” `StreamPacket` + * - `"streamCrcFail"` โ€” `{ claimed: number; body: Uint8Array }` + * - `"opConfig"` โ€” `{ op: Uint8Array }` + * - `"productionConfig"` โ€” `ProductionConfig` + * - `"commandPayload"` โ€” `{ payload: Uint8Array }` + */ +class VerisenseBleDevice extends BaseShimmerClient { + on(ev, fn) { + if (!this._evMap.has(ev)) + this._evMap.set(ev, new Set()); + this._evMap.get(ev).add(fn); + return () => this.off(ev, fn); + } + off(ev, fn) { + this._evMap.get(ev)?.delete(fn); + } + emit(ev, data) { + const s = this._evMap.get(ev); + if (s) + for (const fn of s) + fn(data); + } + constructor(opts = {}) { + super({ debug: opts.debug ?? true }); + // Event emitter state + this._evMap = new Map(); + // Transport handles + this._transportKind = null; + this.device = null; + this.server = null; + this.service = null; + this.tx = null; + this.rx = null; + this.port = null; + this._serialAbort = null; + this._serialReader = null; + this._serialReadLoopTask = null; + this._onGattDisconnected = null; + // Protocol state + this._mode = 'idle'; + this._rxStreamBuf = new Uint8Array(0); + this._pending = null; + this._loggedChain = Promise.resolve(); + this._sync = null; + this._testReportCapture = null; + this._testReportDecoder = new TextDecoder(); + // Cached configs + this.operationalConfig = null; + this.productionConfig = null; + // Debug flags + this.debugSync = true; + this._syncRxCount = 0; + this._syncPayloadCount = 0; + this.hardwareIdentifier = opts.hardwareIdentifier ?? 'VERISENSE_PULSE_PLUS'; + this.stripStreamCrc = opts.stripStreamCrc ?? true; + this.verifyStreamCrc = opts.verifyStreamCrc ?? false; + this.sensors = { + 1: new SensorADC(), + 2: new SensorLIS2DW12(), + 3: new SensorLSM6DS3(), + 4: new SensorPPG(), + }; + this.sensors[1].setHardwareIdentifier(this.hardwareIdentifier); + } + _log(...args) { + if (this.debug) + console.log('[Verisense]', ...args); + } + // Quick accessors + get adc() { + return this.sensors[1]; + } + get accel1() { + return this.sensors[2]; + } + get gyroAccel2() { + return this.sensors[3]; + } + get ppg() { + return this.sensors[4]; + } + // --------------------------------------------------------------------------- + // BLE connect / disconnect + // --------------------------------------------------------------------------- + async connect(opts = {}) { + if (this._transportKind === 'serial' || this.port) { + try { + await this.disconnect(); + } + catch { + /* ignore */ + } + } + this._transportKind = 'ble'; + const requestOpts = { + filters: opts.filters ?? [{ services: [NUS_SERVICE] }], + optionalServices: opts.optionalServices ?? [NUS_SERVICE], + }; + this.device = opts.device ?? (await navigator.bluetooth.requestDevice(requestOpts)); + try { + if (this._onGattDisconnected && this.device) { + this.device.removeEventListener('gattserverdisconnected', this._onGattDisconnected); + } + } + catch { + /* ignore */ + } + this._onGattDisconnected = () => { + this._mode = 'idle'; + this._transportKind = null; + this._clearHardwareTestReportCapture(new Error('Disconnected'), null); + this.emit('disconnected', { kind: 'ble' }); + }; + this.device.addEventListener('gattserverdisconnected', this._onGattDisconnected); + this.server = await this.device.gatt.connect(); + this.service = await this.server.getPrimaryService(NUS_SERVICE); + this.tx = await this.service.getCharacteristic(NUS_TX); + this.rx = await this.service.getCharacteristic(NUS_RX); + await this.rx.startNotifications(); + this.rx.addEventListener('characteristicvaluechanged', (ev) => { + const dv = ev.target?.value; + if (!dv) + return; + const bytes = new Uint8Array(dv.buffer.slice(dv.byteOffset, dv.byteOffset + dv.byteLength)); + this._feedStreamBytes(bytes); + }); + this._emitStatus(`Connected: ${this.device.name ?? 'Verisense'}`); + this.emit('connected', { name: this.device.name, id: this.device.id }); + await this.readProductionConfigFromDevice(); + await this.readOpConfigFromDevice(); + return true; + } + // --- Web Serial (USB COM port) connect --- + async connectSerial(opts = {}) { + if (!('serial' in navigator)) { + throw new Error('Web Serial not supported. Use Chrome/Edge on HTTPS or http://localhost.'); + } + if (this._transportKind === 'ble' && this.device?.gatt?.connected) { + await this.disconnect(); + } + else if (this._transportKind === 'serial' && this.port) { + await this.disconnect(); + } + this._transportKind = 'serial'; + this._mode = 'idle'; + this._resetAssembler(); + const serial = navigator.serial; + if (!opts.port) { + opts.port = await serial.requestPort(opts.filters ? { filters: opts.filters } : undefined); + } + this.port = opts.port; + await this.port.open({ + baudRate: opts.baudRate ?? 115200, + dataBits: opts.dataBits ?? 8, + stopBits: opts.stopBits ?? 1, + parity: opts.parity ?? 'none', + flowControl: opts.flowControl ?? 'none', + }); + this._serialAbort = new AbortController(); + this._startSerialReadLoop(this._serialAbort.signal); + this._emitStatus('Connected via USB Serial'); + this.emit('connected', { kind: 'serial' }); + await this.readOpConfigFromDevice(); + return true; + } + async _serialWrite(u8) { + const writable = this.port.writable; + if (!writable) + throw new Error('Not connected'); + const writer = writable.getWriter(); + try { + await writer.write(u8); + } + finally { + writer.releaseLock(); + } + } + _startSerialReadLoop(signal) { + const port = this.port; + this._serialReadLoopTask = (async () => { + let reader = null; + try { + const readable = port.readable; + if (!readable) + return; + reader = readable.getReader(); + this._serialReader = reader; + while (!signal.aborted) { + const { value, done } = await reader.read(); + if (done) + break; + if (value?.length) + this._feedStreamBytes(new Uint8Array(value)); + } + } + catch (e) { + if (!signal.aborted) + console.warn('[serial] read loop error:', e); + } + finally { + try { + reader?.releaseLock?.(); + } + catch { + /* ignore */ + } + if (this._serialReader === reader) + this._serialReader = null; + this._serialReadLoopTask = null; + if (!signal.aborted) { + this._mode = 'idle'; + this._clearHardwareTestReportCapture(new Error('Disconnected'), null); + this.emit('disconnected', { kind: 'serial' }); + } + } + })(); + } + async _serialDisconnect(reason = 'user') { + try { + this._serialAbort?.abort(); + } + catch { + /* ignore */ + } + const cancelActiveReader = async () => { + const r = this._serialReader; + if (!r) + return false; + try { + await r.cancel(); + } + catch { + /* ignore */ + } + try { + r.releaseLock(); + } + catch { + /* ignore */ + } + if (this._serialReader === r) + this._serialReader = null; + return true; + }; + await cancelActiveReader(); + const portReadableLocked = this.port + ?.readable?.locked; + if (portReadableLocked && !this._serialReader) { + for (let i = 0; i < 10; i++) { + await new Promise((r) => setTimeout(r, 20)); + if (await cancelActiveReader()) + break; + } + } + try { + const task = this._serialReadLoopTask; + if (task) + await Promise.race([task, new Promise((r) => setTimeout(r, 750))]); + } + catch { + /* ignore */ + } + try { + const writable = this.port?.writable; + if (writable?.locked) { + const w = writable.getWriter(); + try { + await w.abort?.(); + } + catch { + /* ignore */ + } + try { + w.releaseLock(); + } + catch { + /* ignore */ + } + } + } + catch { + /* ignore */ + } + try { + await this.port?.close?.(); + } + catch { + /* ignore */ + } + this.port = null; + this._serialAbort = null; + this._serialReader = null; + this._serialReadLoopTask = null; + console.warn(`[serial] disconnect done reason=${reason}`); + } + async disconnect(opts = {}) { + const kind = this._transportKind === 'serial' ? 'serial' : 'ble'; + if (this._mode === 'streaming') { + try { + await this.stopStreaming(); + } + catch { + /* ignore */ + } + } + if (this._sync) { + try { + this._abortSync(new Error(opts.reason ?? 'Disconnected')); + } + catch { + /* ignore */ + } + } + this._clearHardwareTestReportCapture(new Error(opts.reason ?? 'Disconnected'), null); + if (this._transportKind === 'serial') { + try { + await this._serialDisconnect(opts.reason ?? 'user'); + } + catch { + /* ignore */ + } + } + else { + void this.writeBytes(buildMessage(ASM_COMMAND.WRITE, ASM_PROPERTY.DEVICE_DISCONNECT), { + withResponse: false, + }); + try { + if (this.rx) + await this.rx.stopNotifications?.(); + } + catch { + /* ignore */ + } + try { + if (this._onGattDisconnected && this.device) { + this.device.removeEventListener('gattserverdisconnected', this._onGattDisconnected); + } + } + catch { + /* ignore */ + } + try { + if (this.device?.gatt?.connected) + this.device.gatt.disconnect(); + } + catch { + /* ignore */ + } + } + this._mode = 'idle'; + this._transportKind = null; + this.port = null; + this._serialAbort = null; + this.tx = this.rx = null; + this.service = this.server = this.device = null; + this.emit('disconnected', { kind }); + return true; + } + // --------------------------------------------------------------------------- + // Streaming + // --------------------------------------------------------------------------- + async startStreaming() { + await this.setStreamingMode(true); + this._mode = 'streaming'; + this.emit('streaming', { on: true }); + } + async stopStreaming() { + await this.setStreamingMode(false); + this._mode = 'idle'; + this.emit('streaming', { on: false }); + } + // --------------------------------------------------------------------------- + // Logged data transfer + // --------------------------------------------------------------------------- + async transferLoggedData(opts = {}) { + const { fileHandle = null, timeoutMs = 1000, maxNack = 5, maxCrcNack = 5, onProgress = null, } = opts; + const bleOk = !!(this.rx && this.tx); + const serOk = !!this.port; + if (!bleOk && !serOk) + throw new Error('Not connected'); + if (this._mode === 'streaming') + throw new Error('Stop streaming before TransferLoggedData'); + if (this._mode === 'logged') + throw new Error('Already syncing logged data'); + let writable = null; + const chunks = []; + if (fileHandle) + writable = await fileHandle.createWritable(); + this._mode = 'logged'; + this._resetAssembler(); + this._loggedChain = Promise.resolve(); + this._syncRxCount = 0; + this._syncPayloadCount = 0; + const sync = { + receiving: true, + lastReply: 'NONE', + emptyAckCount: 0, + nackCount: 0, + nackCrcCount: 0, + maxNack, + maxCrcNack, + lastRxAt: Date.now(), + timeoutMs, + bytesWritten: 0, + resolve: null, + reject: null, + timer: null, + writable, + chunks, + onProgress: onProgress ?? null, + }; + this._sync = sync; + const donePromise = new Promise((resolve, reject) => { + sync.resolve = resolve; + sync.reject = reject; + }); + let watchdogRunning = false; + sync.timer = setInterval(async () => { + if (watchdogRunning) + return; + watchdogRunning = true; + try { + if (!this._sync?.receiving) + return; + const age = Date.now() - this._sync.lastRxAt; + if (age < this._sync.timeoutMs) + return; + try { + if (this._sync.lastReply === 'NONE') { + await this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }); + } + else { + this._clearSyncRxBuffers('timeout-nack'); + await this.writeBytes(buildMessage(ASM_COMMAND.NACK_GENERIC, ASM_PROPERTY.DATA)); + this._sync.nackCount++; + this._sync.lastReply = 'NACK'; + if (this._sync.nackCount >= this._sync.maxNack) + throw new Error('Too many NACK timeouts'); + } + this._sync.lastRxAt = Date.now(); + } + catch (e) { + this._abortSync(e instanceof Error ? e : new Error(String(e))); + } + } + finally { + watchdogRunning = false; + } + }, Math.max(250, Math.floor(timeoutMs / 2))); + try { + await this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }); + const result = await donePromise; + await (this._loggedChain ?? Promise.resolve()); + if (!fileHandle) { + const blob = new Blob(chunks.map(toArrayBuffer), { type: 'application/octet-stream' }); + return { ...result, blob }; + } + return result; + } + finally { + if (sync.timer) { + clearInterval(sync.timer); + sync.timer = null; + } + if (writable) + await writable.close(); + } + } + // --------------------------------------------------------------------------- + // Request / response helpers + // --------------------------------------------------------------------------- + async writeBytes(bytes, opts = {}) { + const u8 = bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes); + if (this._transportKind === 'serial') { + await this._serialWrite(u8); + return; + } + if (!this.tx) + throw new Error('Not connected'); + if (opts.withResponse) { + await this.tx.writeValue(toArrayBuffer(u8)); + return; + } + const txExt = this.tx; + if (txExt.writeValueWithoutResponse) { + await txExt.writeValueWithoutResponse(toArrayBuffer(u8)); + } + else { + await this.tx.writeValue(toArrayBuffer(u8)); + } + } + async _requestByCommand(command, property, payloadBytes = [], timeoutMs = 3000, acceptedCommands, acceptedProperties) { + if (this._pending) + throw new Error('A request is already pending'); + this._mode = 'command'; + this._resetAssembler(); + const req = buildMessage(command, property, payloadBytes); + const accepted = acceptedCommands ?? defaultAcceptedCommands(command); + const pendingPromise = new Promise((resolve, reject) => { + const t = setTimeout(() => { + this._pending = null; + reject(new Error('Request timeout')); + }, timeoutMs); + this._pending = { + expectedProperty: property, + acceptedCommands: accepted, + acceptedProperties, + resolve: (resp) => { + clearTimeout(t); + this._pending = null; + resolve(resp); + }, + reject: (e) => { + clearTimeout(t); + this._pending = null; + reject(e); + }, + }; + }); + await this.writeBytes(req); + return pendingPromise; + } + async readProperty(property, timeoutMs = 3000) { + return this._requestByCommand(ASM_COMMAND.READ, property, [], timeoutMs); + } + async writeProperty(property, payloadBytes = [], timeoutMs = 3000) { + return this._requestByCommand(ASM_COMMAND.WRITE, property, payloadBytes, timeoutMs); + } + async request(opcode, payloadBytes = [], timeoutMs = 3000) { + const { command, property } = parseHeader(opcode & 0xff); + const rsp = await this._requestByCommand(command, property, payloadBytes, timeoutMs); + return { payload: rsp.payload }; + } + // Convenience command methods (all protocol properties) + readStatus() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.STATUS1); + } + async readStatusParsed() { + const { payload } = await this.readStatus(); + return parseStatusPayload(payload, 'status1'); + } + readStatus2() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.STATUS2); + } + async readStatus2Parsed() { + const { payload } = await this.readStatus2(); + return parseStatusPayload(payload, 'status2'); + } + readData() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.DATA); + } + readProductionConfig() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.PRODUCTION_CONFIGURATION); + } + readOperationalConfig() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.OPERATIONAL_CONFIGURATION); + } + readTime() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.TIME); + } + async readTimeUnixSeconds() { + const { payload } = await this.readTime(); + return asmRtcBytesToUnixSeconds(payload); + } + readPendingEvents() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.PENDING_EVENTS); + } + async readPendingEventsParsed() { + const { payload } = await this.readPendingEvents(); + return parsePendingEvents(payload); + } + async writeProductionConfig(bytes) { + const payload = normalizeBytePayload(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)); + if (!payload || payload.length < 11 || payload.length > 56) { + throw new Error('writeProductionConfig: payload length must be between 11 and 56 bytes'); + } + await this.writeProperty(ASM_PROPERTY.PRODUCTION_CONFIGURATION, payload); + } + async writeOperationalConfig(bytes) { + const payload = normalizeBytePayload(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)); + if (!payload || payload.length < 50) { + throw new Error('writeOperationalConfig: payload length must be at least 50 bytes'); + } + await this.writeProperty(ASM_PROPERTY.OPERATIONAL_CONFIGURATION, payload); + } + async writeTime(rtc7) { + const payload = normalizeBytePayload(rtc7 instanceof Uint8Array ? rtc7 : new Uint8Array(rtc7)); + if (!payload || payload.length !== 7) { + throw new Error('writeTime: payload must be exactly 7 bytes'); + } + await this.writeProperty(ASM_PROPERTY.TIME, payload); + } + async writeTimeUnixSeconds(unixSeconds) { + await this.writeTime(unixSecondsToAsmRtcBytes(unixSeconds)); + } + /** + * Enables Nordic Secure DFU service advertisement after the next disconnect. + * + * This sends ASM DFU_MODE property write (equivalent to [0x26, 0x00, 0x00]). + * It does not immediately reboot into bootloader mode. + */ + async enableDfuServiceOnNextDisconnect() { + await this.writeProperty(ASM_PROPERTY.DFU_MODE, []); + } + /** + * @deprecated Use enableDfuServiceOnNextDisconnect() for clearer semantics. + */ + async enterDfuMode() { + await this.enableDfuServiceOnNextDisconnect(); + } + /** + * Uses Nordic buttonless DFU characteristic to reboot the connected device into bootloader mode. + * + * Requirements: + * - BLE transport must be connected + * - Nordic Secure DFU service and buttonless characteristic must be present + */ + async rebootToDfuBootloader(opts = {}) { + if (this._transportKind !== 'ble' || !this.device?.gatt?.connected || !this.server) { + throw new Error('rebootToDfuBootloader: requires an active BLE connection'); + } + const waitForDisconnect = opts.waitForDisconnect ?? true; + const disconnectAfterCommand = opts.disconnectAfterCommand ?? true; + const timeoutMs = Math.max(500, Math.trunc(opts.timeoutMs ?? 8000)); + const dfuService = await this.server.getPrimaryService(NORDIC_DFU_SERVICE); + let buttonlessChar; + try { + buttonlessChar = await dfuService.getCharacteristic(NORDIC_DFU_BUTTONLESS_CHAR); + } + catch { + const hasControl = await dfuService + .getCharacteristic(NORDIC_DFU_CONTROL_CHAR) + .then(() => true) + .catch(() => false); + const hasPacket = await dfuService + .getCharacteristic(NORDIC_DFU_PACKET_CHAR) + .then(() => true) + .catch(() => false); + if (hasControl && hasPacket) { + throw new Error('Device already appears to be in DFU bootloader mode'); + } + throw new Error('Nordic buttonless DFU characteristic not found'); + } + if (buttonlessChar.properties.notify || buttonlessChar.properties.indicate) { + try { + await buttonlessChar.startNotifications(); + } + catch { + /* some stacks may still allow write without notifications */ + } + } + const device = this.device; + let disconnectPromise = null; + if (waitForDisconnect) { + let offDisconnect = null; + disconnectPromise = new Promise((resolve, reject) => { + const timer = setTimeout(() => { + if (offDisconnect) + offDisconnect(); + reject(new Error(`Timed out waiting for reboot/disconnect (${timeoutMs} ms)`)); + }, timeoutMs); + const onDisconnect = () => { + clearTimeout(timer); + if (offDisconnect) + offDisconnect(); + resolve(); + }; + device.addEventListener('gattserverdisconnected', onDisconnect, { once: true }); + offDisconnect = () => { + try { + device.removeEventListener('gattserverdisconnected', onDisconnect); + } + catch { + /* ignore */ + } + }; + }); + } + const cmd = new Uint8Array([0x01]); + await buttonlessChar.writeValue(cmd); + if (disconnectAfterCommand && device.gatt?.connected) { + try { + device.gatt.disconnect(); + } + catch { + /* ignore */ + } + } + if (waitForDisconnect) { + if (!device.gatt?.connected) + return; + if (disconnectPromise) + await disconnectPromise; + } + } + async runTestMode(testPayload) { + const payload = normalizeBytePayload(testPayload instanceof Uint8Array ? testPayload : new Uint8Array(testPayload)); + if (!payload || payload.length < 2) { + throw new Error('runTestMode: payload must contain at least [testId, hwMajor]'); + } + await this.writeProperty(ASM_PROPERTY.TEST_MODE, payload); + } + async runHardwareTest(testId, hwMajor, hwMinor = 0, hwInternal = 0) { + const payload = new Uint8Array([ + testId & 0xff, + hwMajor & 0xff, + hwMinor & 0xff, + hwInternal & 0xff, + (hwInternal >> 8) & 0xff, + ]); + await this.runTestMode(payload); + } + _clearHardwareTestReportCapture(error, text) { + const cap = this._testReportCapture; + if (!cap) + return; + this._testReportCapture = null; + if (cap.timeout) { + clearTimeout(cap.timeout); + cap.timeout = null; + } + if (error) { + cap.reject?.(error); + return; + } + cap.resolve?.(text ?? ''); + } + _captureHardwareTestReportChunk(chunk) { + const cap = this._testReportCapture; + if (!cap || !chunk?.length) + return; + const decoded = this._testReportDecoder.decode(chunk, { stream: true }); + if (!decoded) + return; + cap.aggregateText += decoded; + if (!cap.started) { + const firstMarker = cap.aggregateText.indexOf(cap.marker); + if (firstMarker >= 0) { + cap.started = true; + if (firstMarker > 0) { + cap.aggregateText = cap.aggregateText.slice(firstMarker); + cap.emittedChars = 0; + } + } + else { + // Some firmware builds vary the star count around TEST START. Fall back + // to a fuzzy marker so we can still stream the report to the UI. + const hint = VerisenseBleDevice.TEST_REPORT_MARKER_HINT; + const hintIdx = cap.aggregateText.indexOf(hint); + if (hintIdx < 0) { + const keep = Math.max(cap.marker.length * 2, 2048); + if (cap.aggregateText.length > keep) { + cap.aggregateText = cap.aggregateText.slice(-keep); + } + return; + } + const bannerStart = cap.aggregateText.lastIndexOf('//', hintIdx); + let lineStart = bannerStart >= 0 ? bannerStart : cap.aggregateText.lastIndexOf('\n', hintIdx); + lineStart = lineStart >= 0 ? lineStart + (bannerStart >= 0 ? 0 : 1) : 0; + cap.started = true; + if (lineStart > 0) { + cap.aggregateText = cap.aggregateText.slice(lineStart); + cap.emittedChars = 0; + } + } + } + const nextChunk = cap.aggregateText.slice(cap.emittedChars); + if (nextChunk) { + cap.onChunk?.(nextChunk, cap.aggregateText); + this.emit('hardwareTestReportChunk', { + chunkText: nextChunk, + aggregateText: cap.aggregateText, + }); + cap.emittedChars = cap.aggregateText.length; + } + const endMarker = cap.aggregateText.indexOf(cap.marker, cap.marker.length); + let full = null; + if (endMarker >= 0) { + full = cap.aggregateText.slice(0, endMarker + cap.marker.length); + } + else { + const hint = VerisenseBleDevice.TEST_REPORT_MARKER_HINT; + const firstHint = cap.aggregateText.indexOf(hint); + if (firstHint >= 0) { + const secondHint = cap.aggregateText.indexOf(hint, firstHint + hint.length); + if (secondHint >= 0) { + const endOfSecondLine = cap.aggregateText.indexOf('\n', secondHint); + full = + endOfSecondLine >= 0 + ? cap.aggregateText.slice(0, endOfSecondLine + 1) + : cap.aggregateText; + } + } + } + if (full !== null) { + this.emit('hardwareTestReportComplete', { text: full }); + this._clearHardwareTestReportCapture(null, full); + return; + } + if (cap.aggregateText.length > cap.maxChars) { + cap.aggregateText = cap.aggregateText.slice(-cap.maxChars); + cap.emittedChars = Math.min(cap.emittedChars, cap.aggregateText.length); + } + } + /** + * Runs TEST_REPORT (0xFE) and captures the rolling text report. + * + * The firmware ACKs the command first, then emits plain-text lines over the link. + * Capture starts on the first delimiter and completes on the second delimiter. + */ + async runHardwareTestReport(hwMajor, hwMinor = 0, hwInternal = 0, opts = {}) { + const timeoutMs = Math.max(1000, Math.trunc(opts.timeoutMs ?? 120000)); + const marker = typeof opts.marker === 'string' && opts.marker.length > 0 + ? opts.marker + : VerisenseBleDevice.TEST_REPORT_DELIMITER; + const maxChars = Math.max(4096, Math.trunc(opts.maxChars ?? 2 * 1024 * 1024)); + this._clearHardwareTestReportCapture(new Error('Hardware test report capture was replaced'), null); + this._testReportDecoder.decode(); + const reportPromise = new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + this._clearHardwareTestReportCapture(new Error(`Hardware test report timeout after ${timeoutMs} ms`), null); + }, timeoutMs); + this._testReportCapture = { + marker, + maxChars, + started: false, + aggregateText: '', + emittedChars: 0, + resolve, + reject, + onChunk: opts.onChunk ?? null, + timeout, + }; + }); + try { + const factoryTestType = Math.max(0, Math.min(255, Math.trunc(opts.factoryTestType ?? 0))); + const payload = new Uint8Array([ + VerisenseBleDevice.TEST_REPORT_MODE_ID & 0xff, + hwMajor & 0xff, + hwMinor & 0xff, + hwInternal & 0xff, + (hwInternal >> 8) & 0xff, + factoryTestType, + ]); + await this.runTestMode(payload); + } + catch (error) { + this._clearHardwareTestReportCapture(error, null); + throw error; + } + return reportPromise; + } + _buildDebugPayload(debugId, args = []) { + const argBytes = args instanceof Uint8Array ? args : new Uint8Array(args); + const payload = new Uint8Array(1 + argBytes.length); + payload[0] = debugId & 0xff; + payload.set(argBytes, 1); + return payload; + } + _debugIndexArgs(index) { + const i = Math.max(0, Math.min(0xff, Math.trunc(index))); + return i > 0 ? [i] : []; + } + _waitForDebugResponse(timeoutMs = 3000) { + return new Promise((resolve, reject) => { + let done = false; + let off = null; + let timer = null; + const cleanup = () => { + if (off) { + try { + off(); + } + catch { + /* ignore */ + } + off = null; + } + if (timer) { + clearTimeout(timer); + timer = null; + } + }; + off = this.on('commandPayload', (evt) => { + if (done || !evt) + return; + if (evt.command !== ASM_COMMAND.RESPONSE || evt.property !== ASM_PROPERTY.DEBUG_COMMAND) + return; + done = true; + cleanup(); + resolve({ payload: evt.payload ?? new Uint8Array(0) }); + }); + timer = setTimeout(() => { + if (done) + return; + done = true; + cleanup(); + reject(new Error('Debug response timeout')); + }, timeoutMs); + }); + } + async readDebugCommand(debugId, args = [], timeoutMs = 3000) { + const payload = this._buildDebugPayload(debugId, args); + const debugAcceptedProps = new Set([ASM_PROPERTY.DEBUG_COMMAND, 0]); + // Python flow: WRITE DEBUG command, optional empty/transient frame, then RESPONSE DEBUG payload. + const responsePromise = this._waitForDebugResponse(timeoutMs); + try { + await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, payload, timeoutMs, undefined, debugAcceptedProps); + return await responsePromise; + } + catch (e) { + void responsePromise.catch(() => { }); + const msg = e instanceof Error ? e.message : String(e); + const isDebugNack = /NACK command=0x(?:50|60|70) property=0x9/i.test(msg); + const isDebugAckPropertyZero = /Unexpected response property 0x0 \(expected 0x9\)/i.test(msg); + if (!isDebugNack && !isDebugAckPropertyZero) + throw e; + const rsp = await this._requestByCommand(ASM_COMMAND.READ, ASM_PROPERTY.DEBUG_COMMAND, payload, timeoutMs); + return { payload: rsp.payload }; + } + } + async sendDebugCommand(debugId, args = [], timeoutMs = 3000) { + const rsp = await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args), timeoutMs); + return { payload: rsp.payload }; + } + async readFlashLookupTable(_index = 0, timeoutMs = 12000) { + return this.readDebugCommand(DEBUG_COMMAND_ID.FLASH_LOOKUP_TABLE_READ, [], timeoutMs); + } + async readRealWorldClockScheduler(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.RWC_SCHEDULER_READ); + } + async readRealWorldClockSchedulerParsed(index = 0) { + const { payload } = await this.readRealWorldClockScheduler(index); + return parseSchedulerDebugPayload(payload); + } + async loadTestLookupTable(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.LOAD_TEST_LOOKUP_TABLE); + } + async checkPayloadCrcErrors(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.CHECK_PAYLOAD_CRC_ERRORS); + } + async checkPayloadCrcErrorsParsed(index = 0) { + const { payload } = await this.checkPayloadCrcErrors(index); + return parsePayloadCrcErrorBankIndexes(payload); + } + async readEventLog(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_EVENT_LOG); + } + async readEventLogParsed(index = 0) { + const { payload } = await this.readEventLog(index); + return parseEventLogPayload(payload); + } + async readRecordBufferDetails(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_RECORD_BUFFER_DETAILS); + } + async readRecordBufferDetailsParsed(index = 0) { + const { payload } = await this.readRecordBufferDetails(index); + return parseRecordBufferDetailsPayload(payload); + } + async eraseOperationalConfig() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_OPERATIONAL_CONFIG); + } + async eraseProductionConfig() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_PRODUCTION_CONFIG); + } + async clearPendingEvents() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.CLEAR_PENDING_EVENTS); + } + async eraseAllLoggedData(timeoutMs = 12000) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_FLASH_AND_LOOKUP_TABLE, [], timeoutMs); + } + async testDataTransferLoop(loopCount) { + const clamped = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); + await this.sendDebugCommand(DEBUG_COMMAND_ID.TEST_DATA_TRANSFER_LOOP, [ + clamped & 0xff, + (clamped >> 8) & 0xff, + ]); + } + async ledTest(ledIndex) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.LED_TEST, [ledIndex & 0xff]); + } + async max86xxxLedTest(start) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.MAX86XXX_LED_TEST, [start ? 0x01 : 0x00]); + } + async startPowerProfilerTest() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.POWER_PROFILER_TEST); + } + async requestSystemReset() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.SYSTEM_RESET); + } + async startIcPowerConsumptionTest(loopCount, stageIntervalMs) { + const clampedLoopCount = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); + const clampedStageInterval = Math.max(0, Math.min(0xffff, Math.trunc(stageIntervalMs))); + await this.sendDebugCommand(DEBUG_COMMAND_ID.IC_POWER_CONSUMPTION_TEST, [ + clampedLoopCount & 0xff, + (clampedLoopCount >> 8) & 0xff, + clampedStageInterval & 0xff, + (clampedStageInterval >> 8) & 0xff, + ]); + } + async deleteAllBonds() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.DELETE_ALL_BONDS); + } + async setStreamingMode(enabled) { + await this.writeProperty(ASM_PROPERTY.STREAM_MODE, [enabled ? STREAM_MODE.ENABLE : STREAM_MODE.DISABLE], 3000); + } + async disconnectRequest() { + try { + return await this.request(ASM_COMMAND.WRITE | ASM_PROPERTY.DEVICE_DISCONNECT, [], 1500); + } + catch (e) { + const msg = e instanceof Error ? e.message : String(e); + if (/timeout/i.test(msg)) + return { payload: new Uint8Array(0) }; + throw e; + } + } + // --------------------------------------------------------------------------- + // Operational config helpers + // --------------------------------------------------------------------------- + async getOpConfig() { + if (this.operationalConfig?.length) + return new Uint8Array(this.operationalConfig); + throw new Error('Operational config not cached. Call readOpConfigFromDevice() first.'); + } + async readProductionConfigFromDevice() { + const rsp = await this.readProductionConfig(); + const prod = normalizeOperationalConfig(rsp?.payload); + if (!prod?.length) + throw new Error('Invalid production config returned from device'); + this.productionConfig = prod; + const parsed = parseProductionConfigPayload(prod); + this.emit('productionConfig', parsed); + return parsed; + } + async readOpConfigFromDevice() { + const rsp = await this.readOperationalConfig(); + const op = normalizeOperationalConfig(rsp?.payload); + if (!op?.length || op[0] !== 0x5a) + throw new Error('Invalid operational config returned from device'); + this.operationalConfig = op; + try { + this.accel1.applyOperationalConfig(op); + this.gyroAccel2.applyOperationalConfig(op); + this.adc.applyOperationalConfig(op); + this.ppg.applyOperationalConfig(op); + } + catch (e) { + console.warn('[opcfg] apply after read failed:', e); + } + this.emit('opConfig', { op }); + return new Uint8Array(op); + } + async writeOpConfig(opConfigBytes) { + const op = normalizeOperationalConfig(opConfigBytes instanceof Uint8Array ? opConfigBytes : new Uint8Array(opConfigBytes)); + if (!op || op.length < 4) + throw new Error('writeOpConfig: invalid opconfig'); + if (op[0] !== 0x5a) + throw new Error('writeOpConfig: opconfig must start with 0x5A'); + await this.writeOperationalConfig(op); + await this.readOpConfigFromDevice(); + } + getSensor(name) { + const k = String(name ?? '').toLowerCase(); + if (!k) + return null; + if (k.includes('lis2dw12') || k.includes('accel1') || k === '2') + return this.accel1; + if (k.includes('lsm6') || k.includes('gyro') || k.includes('accel2') || k === '3') + return this.gyroAccel2; + if (k.includes('vbatt') || k.includes('batt') || k.includes('battery') || k.includes('adc')) + return this.adc; + if (k.includes('gsr') || k === '1') + return this.adc; + if (k.includes('ppg') || k === '4') + return this.ppg; + return null; + } + // --------------------------------------------------------------------------- + // RX assembly and dispatch + // --------------------------------------------------------------------------- + _abortSync(err) { + const s = this._sync; + if (!s) + return; + s.receiving = false; + if (s.timer) + clearInterval(s.timer); + this._sync = null; + this._mode = 'idle'; + s.reject(err); + } + _finishSync() { + const s = this._sync; + if (!s) + return; + s.receiving = false; + if (s.timer) + clearInterval(s.timer); + const bytesWritten = s.bytesWritten; + this._sync = null; + this._mode = 'idle'; + s.resolve({ ok: true, bytesWritten }); + } + async _handleLoggedPayload(payloadU8) { + this._syncPayloadCount++; + const s = this._sync; + if (!s) + return; + const computed = computeCrcLikeCSharp(payloadU8); + const original = getOriginalCrcLE(payloadU8); + const crcOk = computed === original; + const payloadIndex = u16le_at(payloadU8, 0); + if (!crcOk) { + s.lastReply = 'NACK'; + s.nackCrcCount++; + this._clearSyncRxBuffers('crc-nack'); + await this.writeBytes(buildMessage(ASM_COMMAND.NACK_GENERIC, ASM_PROPERTY.DATA)); + if (s.nackCrcCount >= s.maxCrcNack) + this._abortSync(new Error('Too many CRC failures')); + s.onProgress?.({ payloadIndex, bytesWritten: s.bytesWritten, crcOk: false }); + return; + } + if (s.writable) { + await s.writable.write(toArrayBuffer(payloadU8)); + } + else { + s.chunks.push(new Uint8Array(payloadU8)); + } + s.bytesWritten += payloadU8.length; + s.emptyAckCount = 0; + s.lastReply = 'ACK'; + s.nackCount = 0; + s.nackCrcCount = 0; + await this.writeBytes(buildMessage(ASM_COMMAND.ACK_NEXT_STAGE, ASM_PROPERTY.DATA), { + withResponse: true, + }); + s.onProgress?.({ payloadIndex, bytesWritten: s.bytesWritten, crcOk: true }); + } + _resetAssembler() { + this._rxStreamBuf = new Uint8Array(0); + } + _appendStreamBuf(chunk) { + const merged = new Uint8Array(this._rxStreamBuf.length + chunk.length); + merged.set(this._rxStreamBuf, 0); + merged.set(chunk, this._rxStreamBuf.length); + this._rxStreamBuf = merged; + } + _clearSyncRxBuffers(reason = '') { + this._rxStreamBuf = new Uint8Array(0); + this._resetAssembler(); + if (this.debugSync) + console.warn('[sync] cleared RX buffers', { reason }); + } + _isPlausibleHeaderByte(hdr) { + const command = hdr & 0xf0; + const property = hdr & 0x0f; + const validCommand = command === ASM_COMMAND.READ || + command === ASM_COMMAND.WRITE || + command === ASM_COMMAND.RESPONSE || + command === ASM_COMMAND.ACK || + command === ASM_COMMAND.NACK_BAD_HEADER_COMMAND || + command === ASM_COMMAND.NACK_BAD_HEADER_PROPERTY || + command === ASM_COMMAND.NACK_GENERIC || + command === ASM_COMMAND.ACK_NEXT_STAGE; + if (!validCommand) + return false; + // Known properties are 0x01..0x0C; keep 0x00 permissive for transient frames. + return property === 0 || (property >= ASM_PROPERTY.STATUS1 && property <= ASM_PROPERTY.STATUS2); + } + _isPlausibleFrameStart(hdr, len) { + if (!this._isPlausibleHeaderByte(hdr)) + return false; + // Debug responses may carry large blobs (for example flash lookup tables), + // while normal properties and streaming/logged payloads should stay bounded. + const isPendingDebugCommand = this._mode === 'command' && this._pending?.expectedProperty === ASM_PROPERTY.DEBUG_COMMAND; + const maxLen = isPendingDebugCommand + ? VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN + : VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN; + return len <= maxLen; + } + _resolvePendingCommand(msg) { + const pending = this._pending; + if (pending) { + // Some firmware/transport paths emit a transient empty 0x00/0x00 frame + // immediately before the real command response; ignore and keep waiting. + if (msg.command === 0 && + msg.property === 0 && + msg.payload.length === 0) { + return; + } + const err = validatePendingResponse(pending, msg); + if (err) { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; + pending.reject(err); + } + else { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; + pending.resolve(toCommandResponse(msg)); + } + } + else { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; + } + this.emit('commandPayload', { + header: msg.header, + command: msg.command, + property: msg.property, + payload: msg.payload, + }); + } + _feedStreamBytes(chunk) { + if (this._mode === 'logged' && this._sync) + this._sync.lastRxAt = Date.now(); + if (this._testReportCapture) { + this._captureHardwareTestReportChunk(chunk); + } + this._appendStreamBuf(chunk); + for (;;) { + if (this._rxStreamBuf.length < 3) + return; + const hdr = this._rxStreamBuf[0]; + const len = (this._rxStreamBuf[1] | (this._rxStreamBuf[2] << 8)) >>> 0; + if (!this._isPlausibleFrameStart(hdr, len)) { + if (this.debugSync) { + console.warn('[rx] resync: dropping byte', { + dropped: hdr, + nextLen: len, + bufLen: this._rxStreamBuf.length, + }); + } + this._rxStreamBuf = this._rxStreamBuf.slice(1); + continue; + } + if (len === 0) { + const header = hdr & 0xff; + const decodedHeader = parseHeader(header); + const msg = { + header, + command: decodedHeader.command, + property: decodedHeader.property, + payloadLength: 0, + payload: new Uint8Array(0), + }; + this._rxStreamBuf = this._rxStreamBuf.slice(3); + if (this._mode === 'logged' && hdr === buildHeader(ASM_COMMAND.ACK, ASM_PROPERTY.DATA)) { + const s = this._sync; + if (s && s.bytesWritten === 0 && s.emptyAckCount < 6) { + s.emptyAckCount++; + if (this.debugSync) + console.log('[sync] empty ACK before payload; requesting next DATA chunk.'); + void this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }).catch((e) => this._abortSync(e)); + continue; + } + if (this.debugSync) + console.log('[sync] EOS received. Finishing.'); + this._finishSync(); + continue; + } + if (this._mode === 'command') { + this._resolvePendingCommand(msg); + } + continue; + } + if (this._rxStreamBuf.length < 3 + len) + return; + const payload = this._rxStreamBuf.slice(3, 3 + len); + this._rxStreamBuf = this._rxStreamBuf.slice(3 + len); + const header = hdr & 0xff; + const decodedHeader = parseHeader(header); + const msg = { + header, + command: decodedHeader.command, + property: decodedHeader.property, + payloadLength: payload.length, + payload, + }; + if (this._mode === 'logged') { + this._loggedChain = (this._loggedChain ?? Promise.resolve()) + .then(() => this._handleLoggedPayload(msg.payload)) + .catch((e) => this._abortSync(e)); + continue; + } + if (this._mode === 'streaming') { + this._handleStreamingPayload(msg.payload); + continue; + } + this._resolvePendingCommand(msg); + } + } + _handleStreamingPayload(payload) { + if (payload.length < 4) + return; + let body = payload; + let crcOk = null; + if (this.stripStreamCrc && payload.length >= 6) { + const claimed = (payload[payload.length - 2] | (payload[payload.length - 1] << 8)) >>> 0; + const dataNoCrc = payload.slice(0, payload.length - 2); + if (this.verifyStreamCrc) { + const calc = crc16_ccitt_false(dataNoCrc); + crcOk = calc === claimed; + } + body = dataNoCrc; + if (this.verifyStreamCrc && crcOk === false) { + this.emit('streamCrcFail', { claimed, body: dataNoCrc }); + } + } + const sensorId = body[0]; + const tick = u24le(body, 1); + const sensorPayload = body.slice(4); + const sensor = this.sensors[sensorId]; + const systemTsLastSampleMillis = nowMillis(); + let tsInfo = null; + if (sensor) + tsInfo = sensor.getTimestampUnwrappedMillis(tick, systemTsLastSampleMillis); + let decodedSamples = null; + if (sensor) + decodedSamples = sensor.parsePayload(sensorPayload); + let samplesWithTime = decodedSamples; + if (sensor && Array.isArray(decodedSamples) && decodedSamples.length > 0 && tsInfo) { + const num = decodedSamples.length; + samplesWithTime = decodedSamples.map((s, i) => ({ + ...s, + timestamps: sensor.extrapolateSampleTimes({ + numSamples: num, + i, + samplingRateHz: sensor.samplingRateHz, + tsLastSampleMillis: tsInfo.shimmerMillis, + systemTsLastSampleMillis, + systemOffsetFirstTime: tsInfo.systemOffsetFirstTime, + }), + })); + } + const packet = { + sensorId, + tick_u24: tick, + decoded: samplesWithTime, + rawPayload: sensorPayload, + crcOk, + }; + this.emit('streamPacket', packet); + this.emit('data', packet); + } +} +VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN = 4096; +VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN = 0xffff; +VerisenseBleDevice.TEST_REPORT_MODE_ID = 0xfe; +VerisenseBleDevice.TEST_REPORT_DELIMITER = '//**************************** TEST START ************************************\r\n'; +VerisenseBleDevice.TEST_REPORT_MARKER_HINT = 'TEST START'; +// Static NUS UUIDs +VerisenseBleDevice.NUS_SERVICE = NUS_SERVICE; +VerisenseBleDevice.NUS_TX = NUS_TX; +VerisenseBleDevice.NUS_RX = NUS_RX; +VerisenseBleDevice.NORDIC_DFU_SERVICE = NORDIC_DFU_SERVICE; +VerisenseBleDevice.NORDIC_DFU_BUTTONLESS_CHAR = NORDIC_DFU_BUTTONLESS_CHAR; + +exports.ASM_COMMAND = ASM_COMMAND; +exports.ASM_PROPERTY = ASM_PROPERTY; +exports.BaseShimmerClient = BaseShimmerClient; +exports.CHANNEL_FORMATS = CHANNEL_FORMATS; +exports.DEBUG_COMMAND_ID = DEBUG_COMMAND_ID; +exports.FACTORY_TEST = FACTORY_TEST; +exports.GSR_NAME = GSR_NAME; +exports.NORDIC_DFU_BUTTONLESS_CHAR = NORDIC_DFU_BUTTONLESS_CHAR; +exports.NORDIC_DFU_CONTROL_CHAR = NORDIC_DFU_CONTROL_CHAR; +exports.NORDIC_DFU_PACKET_CHAR = NORDIC_DFU_PACKET_CHAR; +exports.NORDIC_DFU_SERVICE = NORDIC_DFU_SERVICE; +exports.NUS_RX = NUS_RX; +exports.NUS_SERVICE = NUS_SERVICE; +exports.NUS_TX = NUS_TX; +exports.OPCODES = OPCODES; +exports.OP_IDX = OP_IDX; +exports.ObjectCluster = ObjectCluster; +exports.SHIMMER3R_DEFAULTS = SHIMMER3R_DEFAULTS; +exports.STREAM_MODE = STREAM_MODE; +exports.SensorADC = SensorADC; +exports.SensorBase = SensorBase; +exports.SensorBitmapShimmer3 = SensorBitmapShimmer3; +exports.SensorLIS2DW12 = SensorLIS2DW12; +exports.SensorLSM6DS3 = SensorLSM6DS3; +exports.SensorPPG = SensorPPG; +exports.Shimmer3RClient = Shimmer3RClient; +exports.TEST_MODE_ID = TEST_MODE_ID; +exports.TIMESTAMP_FIELD = TIMESTAMP_FIELD; +exports.VerisenseBleDevice = VerisenseBleDevice; +exports.applyDuplicateSuffix = applyDuplicateSuffix; +exports.asmRtcBytesToUnixSeconds = asmRtcBytesToUnixSeconds; +exports.asmRtcMinutesBytesToUnixSeconds = asmRtcMinutesBytesToUnixSeconds; +exports.buildHeader = buildHeader; +exports.buildMessage = buildMessage; +exports.buildParsedCsvFileName = buildParsedCsvFileName; +exports.buildProductionConfigPayload = buildProductionConfigPayload; +exports.buildUploadBinaryFileName = buildUploadBinaryFileName; +exports.calibrateGsrDataToResistanceFromAmplifierEq = calibrateGsrDataToResistanceFromAmplifierEq; +exports.calibrateShimmer3RAdcChannel = calibrateShimmer3RAdcChannel; +exports.calibrateU12AdcValue = calibrateU12AdcValue; +exports.computeVerisensePairingPin = computeVerisensePairingPin; +exports.crc16_ccitt_false = crc16_ccitt_false; +exports.evaluateParsedFileSplit = evaluateParsedFileSplit; +exports.getFirstPayloadIndex = getFirstPayloadIndex; +exports.getOversamplingRatioADS1292R = getOversamplingRatioADS1292R; +exports.isAckCommand = isAckCommand; +exports.isNackCommand = isNackCommand; +exports.nextAvailableDuplicateFileName = nextAvailableDuplicateFileName; +exports.normalizeBytePayload = normalizeBytePayload; +exports.normalizeOperationalConfig = normalizeOperationalConfig; +exports.nudgeGsrResistance = nudgeGsrResistance; +exports.parseEventLogPayload = parseEventLogPayload; +exports.parseHeader = parseHeader; +exports.parseLookupTablePayload = parseLookupTablePayload; +exports.parseMessage = parseMessage; +exports.parsePayloadCrcErrorBankIndexes = parsePayloadCrcErrorBankIndexes; +exports.parsePendingEvents = parsePendingEvents; +exports.parseProductionConfigPayload = parseProductionConfigPayload; +exports.parseProductionConfigPayloadFull = parseProductionConfigPayloadFull; +exports.parseRecordBufferDetailsPayload = parseRecordBufferDetailsPayload; +exports.parseSchedulerDebugPayload = parseSchedulerDebugPayload; +exports.parseStatusPayload = parseStatusPayload; +exports.unixSecondsToAsmRtcBytes = unixSecondsToAsmRtcBytes; +//# sourceMappingURL=shimmer-web-sdk.cjs.map diff --git a/Verisense/vendor/shimmer-web-sdk.cjs.map b/Verisense/vendor/shimmer-web-sdk.cjs.map new file mode 100644 index 0000000..d3752cb --- /dev/null +++ b/Verisense/vendor/shimmer-web-sdk.cjs.map @@ -0,0 +1 @@ +{"version":3,"file":"shimmer-web-sdk.cjs","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file diff --git a/Verisense/vendor/shimmer-web-sdk.d.ts b/Verisense/vendor/shimmer-web-sdk.d.ts new file mode 100644 index 0000000..4b945eb --- /dev/null +++ b/Verisense/vendor/shimmer-web-sdk.d.ts @@ -0,0 +1,1536 @@ +/** + * Discriminated kind tag for a data field in an ObjectCluster. + */ +type FieldKind = 'raw' | 'cal' | null; +/** + * A single named field stored inside an ObjectCluster. + */ +interface SensorField { + /** Signal name, e.g. 'GYRO_X', 'GSR', 'TIMESTAMP'. */ + name: string; + /** Numeric value. */ + value: number; + /** Optional unit string, e.g. 'deg/s', 'ยตS', 'ticks'. */ + unit: string | null; + /** Whether the value is raw ADC counts or calibrated engineering units. */ + kind: FieldKind; +} +/** + * Constructor options common to all Shimmer device clients. + */ +interface ShimmerClientOptions { + /** Enable verbose console logging. Defaults to `true`. */ + debug?: boolean; +} +/** + * Contract that every Shimmer device client must satisfy. + * + * Both `Shimmer3RClient` and `VerisenseBleDevice` implement this interface, + * allowing application code to remain device-agnostic for the common operations. + */ +interface IShimmerClient { + /** Open a BLE connection to the device (triggers the browser picker). */ + connect(...args: unknown[]): Promise; + /** Close the BLE connection. */ + disconnect(...args: unknown[]): Promise; + /** Start streaming sensor data. */ + startStreaming(): Promise; + /** Stop streaming sensor data. */ + stopStreaming(): Promise; + /** + * Called for every decoded data frame while streaming. + * For Shimmer3R this delivers an ObjectCluster; for Verisense it delivers + * a raw streaming packet (see `VerisenseBleDevice` for the exact shape). + */ + onStreamFrame: ((frame: ObjectCluster) => void) | null; + /** Called whenever the client emits a human-readable status message. */ + onStatus: ((msg: string) => void) | null; +} +/** + * Calibration parameters for a single inertial axis. + */ +interface InertialCalibration { + /** Zero-g or zero-rate offset. */ + offset: [number, number, number]; + /** 3ร—3 alignment/cross-axis correction matrix (row-major). */ + align: [[number, number, number], [number, number, number], [number, number, number]]; + /** Per-axis sensitivity in LSB/unit. */ + sensitivity: [number, number, number]; +} + +/** + * Container for a single decoded sensor frame. + * + * Mirrors the ObjectCluster concept from the Shimmer C# SDK: + * a named, typed bag of raw and calibrated signal values produced + * by parsing one data packet from a device. + * + * @example + * ```ts + * const oc = new ObjectCluster('MyShimmer3R'); + * oc.add('GYRO_X', rawVal, null, 'raw'); + * oc.add('GYRO_X', degPerSec, 'deg/s', 'cal'); + * + * const cal = oc.get('GYRO_X', 'cal'); + * console.log(cal?.value, cal?.unit); // e.g. 12.5 "deg/s" + * ``` + */ +declare class ObjectCluster { + /** Identifier of the source device (typically the BLE device name). */ + readonly deviceId: string; + /** All signal fields decoded from this frame. */ + readonly fields: SensorField[]; + /** + * The original unparsed byte array for this frame. + * Populated by protocol parsers that keep the raw bytes for debug purposes. + */ + raw: Uint8Array | null; + constructor(deviceId: string); + /** + * Append a named field to this cluster. + * + * @param name Signal name, e.g. `'GYRO_X'`. + * @param value Numeric value. + * @param unit Optional unit string, e.g. `'deg/s'`, `'ยตS'`, `'ticks'`. + * @param kind `'raw'` for ADC counts, `'cal'` for calibrated units, or `null`. + */ + add(name: string, value: number, unit?: string | null, kind?: FieldKind): void; + /** + * Look up a field by name and optional kind. + * + * When both a raw and a calibrated version exist for the same signal name, + * pass `kind` to disambiguate. + * + * @returns The matching field, or `null` if not found. + */ + get(name: string, kind?: FieldKind): SensorField | null; + /** + * Return all fields that match the given name (regardless of kind). + */ + getAll(name: string): SensorField[]; +} + +/** + * Abstract base class shared by all Shimmer device clients. + * + * Provides: + * - A `debug` flag and `_log` helper. + * - Stub implementations of `onStatus` and `onStreamFrame` callback properties. + * - Abstract stubs for `connect`, `disconnect`, `startStreaming`, and `stopStreaming` + * that concrete sub-classes must override. + * + * Sub-classes should call `this._emitStatus(msg)` to surface status strings to + * the application layer without depending on a particular event-emitter library. + */ +declare abstract class BaseShimmerClient implements IShimmerClient { + /** Enable verbose console logging. */ + debug: boolean; + /** + * Invoked whenever the client emits a human-readable status message + * (e.g. "GATT connected", "Sampling rate ACKed. Applied โ‰ˆ 51.200 Hz"). + */ + onStatus: ((msg: string) => void) | null; + /** + * Invoked for every fully-decoded sensor frame while streaming. + * The exact shape depends on the concrete sub-class: + * - `Shimmer3RClient` passes an {@link ObjectCluster}. + * - `VerisenseBleDevice` passes a streaming packet object (see that class). + */ + onStreamFrame: ((frame: ObjectCluster) => void) | null; + constructor(opts?: ShimmerClientOptions); + /** Log to console when debug is enabled. */ + protected _log(...args: unknown[]): void; + /** Emit a status message to `onStatus` and to the debug log. */ + protected _emitStatus(msg: string): void; + abstract connect(...args: unknown[]): Promise; + abstract disconnect(...args: unknown[]): Promise; + abstract startStreaming(): Promise; + abstract stopStreaming(): Promise; +} + +/** + * Shimmer3R BLE protocol opcodes. + * Values taken directly from the Shimmer3 firmware header. + */ +declare const OPCODES: Readonly<{ + readonly DATA_PACKET: 0; + readonly INQUIRY_COMMAND: 1; + readonly INQUIRY_RESPONSE: 2; + readonly GET_SAMPLING_RATE_COMMAND: 3; + readonly SAMPLING_RATE_RESPONSE: 4; + readonly SET_SAMPLING_RATE_COMMAND: 5; + readonly TOGGLE_LED_COMMAND: 6; + readonly START_STREAMING_COMMAND: 7; + readonly SET_SENSORS_COMMAND: 8; + readonly SET_WR_ACCEL_RANGE_COMMAND: 9; + readonly WR_ACCEL_RANGE_RESPONSE: 10; + readonly GET_WR_ACCEL_RANGE_COMMAND: 11; + readonly SET_CONFIG_SETUP_BYTES_COMMAND: 14; + readonly CONFIG_SETUP_BYTES_RESPONSE: 15; + readonly GET_CONFIG_SETUP_BYTES_COMMAND: 16; + readonly SET_LN_ACCEL_CALIBRATION_COMMAND: 17; + readonly LN_ACCEL_CALIBRATION_RESPONSE: 18; + readonly GET_LN_ACCEL_CALIBRATION_COMMAND: 19; + readonly SET_GYRO_CALIBRATION_COMMAND: 20; + readonly GYRO_CALIBRATION_RESPONSE: 21; + readonly GET_GYRO_CALIBRATION_COMMAND: 22; + readonly SET_MAG_CALIBRATION_COMMAND: 23; + readonly MAG_CALIBRATION_RESPONSE: 24; + readonly GET_MAG_CALIBRATION_COMMAND: 25; + readonly SET_WR_ACCEL_CALIBRATION_COMMAND: 26; + readonly WR_ACCEL_CALIBRATION_RESPONSE: 27; + readonly GET_WR_ACCEL_CALIBRATION_COMMAND: 28; + readonly STOP_STREAMING_COMMAND: 32; + readonly SET_GSR_RANGE_COMMAND: 33; + readonly GSR_RANGE_RESPONSE: 34; + readonly GET_GSR_RANGE_COMMAND: 35; + readonly DEVICE_VERSION_RESPONSE: 37; + readonly GET_ALL_CALIBRATION_COMMAND: 44; + readonly ALL_CALIBRATION_RESPONSE: 45; + readonly GET_FW_VERSION_COMMAND: 46; + readonly FW_VERSION_RESPONSE: 47; + readonly SET_CHARGE_STATUS_LED_COMMAND: 48; + readonly CHARGE_STATUS_LED_RESPONSE: 49; + readonly GET_CHARGE_STATUS_LED_COMMAND: 50; + readonly BUFFER_SIZE_RESPONSE: 53; + readonly GET_BUFFER_SIZE_COMMAND: 54; + readonly SET_MAG_GAIN_COMMAND: 55; + readonly MAG_GAIN_RESPONSE: 56; + readonly GET_MAG_GAIN_COMMAND: 57; + readonly SET_MAG_SAMPLING_RATE_COMMAND: 58; + readonly MAG_SAMPLING_RATE_RESPONSE: 59; + readonly GET_MAG_SAMPLING_RATE_COMMAND: 60; + readonly UNIQUE_SERIAL_RESPONSE: 61; + readonly GET_UNIQUE_SERIAL_COMMAND: 62; + readonly GET_DEVICE_VERSION_COMMAND: 63; + readonly SET_WR_ACCEL_SAMPLING_RATE_COMMAND: 64; + readonly WR_ACCEL_SAMPLING_RATE_RESPONSE: 65; + readonly GET_WR_ACCEL_SAMPLING_RATE_COMMAND: 66; + readonly SET_WR_ACCEL_LPMODE_COMMAND: 67; + readonly WR_ACCEL_LPMODE_RESPONSE: 68; + readonly GET_WR_ACCEL_LPMODE_COMMAND: 69; + readonly SET_WR_ACCEL_HRMODE_COMMAND: 70; + readonly WR_ACCEL_HRMODE_RESPONSE: 71; + readonly GET_WR_ACCEL_HRMODE_COMMAND: 72; + readonly SET_GYRO_RANGE_COMMAND: 73; + readonly GYRO_RANGE_RESPONSE: 74; + readonly GET_GYRO_RANGE_COMMAND: 75; + readonly SET_GYRO_SAMPLING_RATE_COMMAND: 76; + readonly GYRO_SAMPLING_RATE_RESPONSE: 77; + readonly GET_GYRO_SAMPLING_RATE_COMMAND: 78; + readonly SET_ALT_ACCEL_RANGE_COMMAND: 79; + readonly ALT_ACCEL_RANGE_RESPONSE: 80; + readonly GET_ALT_ACCEL_RANGE_COMMAND: 81; + readonly SET_PRESSURE_OVERSAMPLING_RATIO_COMMAND: 82; + readonly PRESSURE_OVERSAMPLING_RATIO_RESPONSE: 83; + readonly GET_PRESSURE_OVERSAMPLING_RATIO_COMMAND: 84; + readonly BMP180_CALIBRATION_COEFFICIENTS_RESPONSE: 88; + readonly GET_BMP180_CALIBRATION_COEFFICIENTS_COMMAND: 89; + readonly RESET_TO_DEFAULT_CONFIGURATION_COMMAND: 90; + readonly RESET_CALIBRATION_VALUE_COMMAND: 91; + readonly MPU9150_MAG_SENS_ADJ_VALS_RESPONSE: 92; + readonly GET_MPU9150_MAG_SENS_ADJ_VALS_COMMAND: 93; + readonly SET_INTERNAL_EXP_POWER_ENABLE_COMMAND: 94; + readonly INTERNAL_EXP_POWER_ENABLE_RESPONSE: 95; + readonly GET_INTERNAL_EXP_POWER_ENABLE_COMMAND: 96; + readonly SET_EXG_REGS_COMMAND: 97; + readonly EXG_REGS_RESPONSE: 98; + readonly GET_EXG_REGS_COMMAND: 99; + readonly SET_DAUGHTER_CARD_ID_COMMAND: 100; + readonly DAUGHTER_CARD_ID_RESPONSE: 101; + readonly GET_DAUGHTER_CARD_ID_COMMAND: 102; + readonly SET_DAUGHTER_CARD_MEM_COMMAND: 103; + readonly DAUGHTER_CARD_MEM_RESPONSE: 104; + readonly GET_DAUGHTER_CARD_MEM_COMMAND: 105; + readonly SET_DERIVED_CHANNEL_BYTES: 109; + readonly DERIVED_CHANNEL_BYTES_RESPONSE: 110; + readonly GET_DERIVED_CHANNEL_BYTES: 111; + readonly START_SDBT_COMMAND: 112; + readonly STATUS_RESPONSE: 113; + readonly GET_STATUS_COMMAND: 114; + readonly SET_TRIAL_CONFIG_COMMAND: 115; + readonly TRIAL_CONFIG_RESPONSE: 116; + readonly GET_TRIAL_CONFIG_COMMAND: 117; + readonly SET_CENTER_COMMAND: 118; + readonly CENTER_RESPONSE: 119; + readonly GET_CENTER_COMMAND: 120; + readonly SET_SHIMMERNAME_COMMAND: 121; + readonly SHIMMERNAME_RESPONSE: 122; + readonly GET_SHIMMERNAME_COMMAND: 123; + readonly SET_EXPID_COMMAND: 124; + readonly EXPID_RESPONSE: 125; + readonly GET_EXPID_COMMAND: 126; + readonly SET_MYID_COMMAND: 127; + readonly MYID_RESPONSE: 128; + readonly GET_MYID_COMMAND: 129; + readonly SET_NSHIMMER_COMMAND: 130; + readonly NSHIMMER_RESPONSE: 131; + readonly GET_NSHIMMER_COMMAND: 132; + readonly SET_CONFIGTIME_COMMAND: 133; + readonly CONFIGTIME_RESPONSE: 134; + readonly GET_CONFIGTIME_COMMAND: 135; + readonly DIR_RESPONSE: 136; + readonly GET_DIR_COMMAND: 137; + readonly INSTREAM_CMD_RESPONSE: 138; + readonly SET_CRC_COMMAND: 139; + readonly SET_INFOMEM_COMMAND: 140; + readonly INFOMEM_RESPONSE: 141; + readonly GET_INFOMEM_COMMAND: 142; + readonly SET_RWC_COMMAND: 143; + readonly RWC_RESPONSE: 144; + readonly GET_RWC_COMMAND: 145; + readonly START_LOGGING_COMMAND: 146; + readonly STOP_LOGGING_COMMAND: 147; + readonly VBATT_RESPONSE: 148; + readonly GET_VBATT_COMMAND: 149; + readonly TEST_CONNECTION_COMMAND: 150; + readonly STOP_SDBT_COMMAND: 151; + readonly SET_CALIB_DUMP_COMMAND: 152; + readonly RSP_CALIB_DUMP_COMMAND: 153; + readonly GET_CALIB_DUMP_COMMAND: 154; + readonly UPD_CALIB_DUMP_COMMAND: 155; + readonly UPD_SDLOG_CFG_COMMAND: 156; + readonly BMP280_CALIBRATION_COEFFICIENTS_RESPONSE: 159; + readonly GET_BMP280_CALIBRATION_COEFFICIENTS_COMMAND: 160; + readonly GET_BT_VERSION_STR_COMMAND: 161; + readonly BT_VERSION_STR_RESPONSE: 162; + readonly SET_INSTREAM_RESPONSE_ACK_PREFIX_STATE: 163; + readonly SET_DATA_RATE_TEST: 164; + readonly DATA_RATE_TEST_RESPONSE: 165; + readonly PRESSURE_CALIBRATION_COEFFICIENTS_RESPONSE: 166; + readonly GET_PRESSURE_CALIBRATION_COEFFICIENTS_COMMAND: 167; + readonly SET_FACTORY_TEST: 168; + readonly SET_ALT_ACCEL_CALIBRATION_COMMAND: 169; + readonly ALT_ACCEL_CALIBRATION_RESPONSE: 170; + readonly GET_ALT_ACCEL_CALIBRATION_COMMAND: 171; + readonly SET_ALT_ACCEL_SAMPLING_RATE_COMMAND: 172; + readonly ALT_ACCEL_SAMPLING_RATE_RESPONSE: 173; + readonly GET_ALT_ACCEL_SAMPLING_RATE_COMMAND: 174; + readonly SET_ALT_MAG_CALIBRATION_COMMAND: 175; + readonly ALT_MAG_CALIBRATION_RESPONSE: 176; + readonly GET_ALT_MAG_CALIBRATION_COMMAND: 177; + readonly SET_ALT_MAG_SAMPLING_RATE_COMMAND: 178; + readonly ALT_MAG_SAMPLING_RATE_RESPONSE: 179; + readonly GET_ALT_MAG_SAMPLING_RATE_COMMAND: 180; + readonly DUMMY_COMMAND: 181; + readonly RESET_BT_ERROR_COUNTS: 182; + readonly SET_FEATURE: 183; + readonly SET_SD_SYNC_COMMAND: 224; + readonly SD_SYNC_RESPONSE: 225; + readonly NACK_COMMAND_PROCESSED: 254; + readonly ACK_COMMAND_PROCESSED: 255; +}>; +type Opcode = (typeof OPCODES)[keyof typeof OPCODES]; +/** Default BLE service / characteristic UUIDs for Shimmer3R. */ +declare const SHIMMER3R_DEFAULTS: Readonly<{ + readonly SERVICE_UUID: "65333333-a115-11e2-9e9a-0800200ca100"; + /** Write characteristic (host โ†’ device). */ + readonly CHAR_RX_UUID: "65333333-a115-11e2-9e9a-0800200ca102"; + /** Notify characteristic (device โ†’ host). */ + readonly CHAR_TX_UUID: "65333333-a115-11e2-9e9a-0800200ca101"; +}>; +/** + * Timestamp field descriptors keyed by width. + * Shimmer3R firmware โ‰ฅ v1.0.22 always uses u24. + */ +declare const TIMESTAMP_FIELD: Readonly<{ + readonly u16: { + readonly name: "TIMESTAMP"; + readonly fmt: "u16"; + readonly endian: "le"; + readonly sizeBytes: 2; + }; + readonly u24: { + readonly name: "TIMESTAMP"; + readonly fmt: "u24"; + readonly endian: "le"; + readonly sizeBytes: 3; + }; +}>; +type TimestampFmt = 'u16' | 'u24'; +/** GSR signal name constant used in ObjectCluster fields. */ +declare const GSR_NAME = "GSR"; + +interface ChannelField { + id: number; + name: string; + fmt: string; + endian: string; + sizeBytes: number; +} +interface StreamSchema { + timestampFmt: TimestampFmt; + fields: ChannelField[]; + /** Total bytes per frame, including the 0x00 preamble byte. */ + frameBytes: number; + enabledSensors: number; + dataPreambleByte: number; +} +interface Shimmer3RClientOptions extends ShimmerClientOptions { + /** BLE service UUID override (default: Shimmer3R service UUID). */ + serviceUUID?: string; + /** Write characteristic UUID override. */ + rxUUID?: string; + /** Notify characteristic UUID override. */ + txUUID?: string; + /** + * Force a specific timestamp width. + * Shimmer3R firmware โ‰ฅ v1.0.22 uses 24-bit timestamps. + * @default 'u24' + */ + timestampFmt?: TimestampFmt; +} +/** + * Web Bluetooth client for the Shimmer3R sensor platform. + * + * Implements the ACK-first command flow used by Shimmer3R firmware โ‰ฅ v1.0.22: + * every configuration command awaits an ACK (0xFF) before resolving. + * Streaming data frames are framed with a DATA preamble (0x00). + * + * @example + * ```ts + * const client = new Shimmer3RClient({ timestampFmt: 'u24', debug: true }); + * client.onStatus = (msg) => console.log(msg); + * client.onStreamFrame = (oc) => { + * const gz = oc.get('GYRO_Z', 'raw')?.value; + * console.log('gz =', gz); + * }; + * + * await client.connect(); + * await client.setSamplingRate(51.2); + * await client.setSensors(SensorBitmapShimmer3.SENSOR_GYRO); + * await client.startStreaming(); + * ``` + */ +declare class Shimmer3RClient extends BaseShimmerClient { + private serviceUUID; + private rxUUID; + private txUUID; + device: BluetoothDevice | null; + private server; + private rx; + private tx; + private _rxBuf; + private _temps; + private schema; + private forceTimestampFmt; + private _lastAckRemainder; + private _expectingAck; + private _streaming; + private _lastTs; + enabledSensors: number; + samplingRateHz: number; + gsrRangeSetting: number; + ExpPower: number; + /** Minimum valid GSR conductance in ยตS (below this, connectivity = "Disconnected"). */ + readonly LIMIT_MIN_VALID_USIEMENS = 0.03; + onInquiry: ((info: ReturnType) => void) | null; + onExpPowerChanged: ((expPower: number) => void) | null; + constructor(opts?: Shimmer3RClientOptions); + protected _log(...args: unknown[]): void; + connect(): Promise; + disconnect(): Promise; + private _handleNotify; + /** + * Control the internal expansion power rail (required for ExG/EMG/ECG). + * @param expPower 0 = disable, 1 = enable. + */ + setInternalExpPower(expPower: 0 | 1): Promise<{ + expPower: number; + ackRemainder: Uint8Array | null; + }>; + /** + * Set the GSR measurement range. + * @param gsrRange 0 = 8โ€“63 kฮฉ, 1 = 63โ€“220 kฮฉ, 2 = 220โ€“680 kฮฉ, 3 = 680โ€“4700 kฮฉ, 4 = Auto. + */ + setGSRRange(gsrRange: number): Promise<{ + gsrRange: number; + ackRemainder: Uint8Array | null; + }>; + getInternalExpPower(): number; + getEnabledSensors(): number; + /** + * Enable sensors via a 24-bit bitmask. + * Automatically performs an Inquiry after ACK to rebuild the stream schema. + */ + setSensors(sensors: number): Promise<{ + sensors: number; + ackRemainder: Uint8Array | null; + enabledSensors: number; + }>; + /** + * Set the sampling rate. + * The firmware expects a 16-bit divisor: `divisor = floor(32768 / rateHz)`. + */ + setSamplingRate(rateHz: number): Promise<{ + requestedHz: number; + appliedHz: number; + divisor: number; + ackRemainder: Uint8Array | null; + }>; + /** Send INQUIRY_CMD and parse the response to build the stream schema. */ + inquiry(): Promise<{ + opcode: number; + adcRaw: number; + samplingRateHz: number; + numChannels: number; + bufferSize: number; + channelIds: number[]; + schema: StreamSchema; + bytes: Uint8Array; + }>; + /** Enable EMG (ADS1292R) in 16-bit mode on EXG1 & EXG2. */ + enableEMG16Bit(): Promise; + /** Enable EXG test signal in 16-bit mode (useful for verifying ExG hardware). */ + enableEXGTestSignal16Bit(): Promise; + /** Enable ECG in 16-bit mode on EXG1 & EXG2. */ + enableECG16Bit(): Promise; + private _writeExgPages; + startStreaming(): Promise; + stopStreaming(): Promise; + /** Start streaming AND SD card logging simultaneously. */ + startStreamingAndLogging(): Promise; + /** Stop streaming AND SD card logging. */ + stopStreamingAndLogging(): Promise; + private _interpretInquiryResponseShimmer3R; + private _buildSchemaFromChannels; + private _calibrateData; + private _parseBySchema; + private _write; + private _writeExpectingAck; + private _waitForAck; + private _waitForResponse; + private _onTemp; + private _offTemp; + private _emitTemp; +} + +/** + * Sensor enable bitmasks for Shimmer3 / Shimmer3R. + * + * Values are 24-bit integers sent as the payload of SET_SENSORS_CMD. + * Multiple sensors are ORed together. + * + * @example + * ```ts + * const mask = SensorBitmapShimmer3.SENSOR_GYRO | SensorBitmapShimmer3.SENSOR_A_ACCEL; + * await client.setSensors(mask); + * ``` + */ +declare const SensorBitmapShimmer3: Readonly<{ + readonly SENSOR_A_ACCEL: 128; + readonly SENSOR_GYRO: 64; + readonly SENSOR_MAG: 32; + readonly SENSOR_GSR: 4; + readonly SENSOR_VBATT: 8192; + readonly SENSOR_D_ACCEL: 4096; + readonly SENSOR_PRESSURE: 262144; + readonly SENSOR_EXG1_24BIT: 16; + readonly SENSOR_EXG2_24BIT: 8; + readonly SENSOR_EXG1_16BIT: 1048576; + readonly SENSOR_EXG2_16BIT: 524288; + readonly SENSOR_BRIDGE_AMP: 32768; + readonly SENSOR_ACCEL_ALT: 4194304; + readonly SENSOR_MAG_ALT: 2097152; + readonly SENSOR_EXT_A0: 2; + readonly SENSOR_EXT_A1: 1; + readonly SENSOR_EXT_A2: 2048; + readonly SENSOR_INT_A3: 1024; + readonly SENSOR_INT_A0: 512; + readonly SENSOR_INT_A1: 256; + readonly SENSOR_INT_A2: 8388608; +}>; +type SensorBitmapShimmer3Key = keyof typeof SensorBitmapShimmer3; + +/** + * Channel format descriptor for a single Shimmer3R data channel. + */ +interface ChannelFormat { + /** Human-readable signal name stored in ObjectCluster fields. */ + name: string; + /** Encoding format: i16, u16, i24, u24, i12*, u8. */ + fmt: 'i16' | 'u16' | 'i24' | 'u24' | 'i12*' | 'u8'; + /** Byte order for multi-byte values. */ + endian: 'le' | 'be'; + /** Number of bytes this channel occupies in the packet. */ + sizeBytes: number; +} +/** + * Mapping from Shimmer3R channel ID byte to its format descriptor. + * Channel IDs are reported in the INQUIRY_RSP payload. + */ +declare const CHANNEL_FORMATS: Readonly>; + +/** + * Convert a Shimmer3R 12-bit ADC value to millivolts. + * + * @param unCalData Raw 12-bit ADC sample. + * @param offset ADC offset (typically 0). + * @param vRefP Reference voltage in volts (typically 3 V for Shimmer3R). + * @param gain Amplifier gain (typically 1). + * @returns Calibrated voltage in millivolts. + */ +declare function calibrateU12AdcValue(unCalData: number, offset: number, vRefP: number, gain: number): number; +/** + * Convert a Shimmer3R ADC channel value to millivolts using the + * default Shimmer3R ADC parameters (Vref = 3 V, gain = 1, offset = 0). + * + * @param unCalData Raw 12-bit ADC sample. + * @returns Voltage in millivolts. + */ +declare function calibrateShimmer3RAdcChannel(unCalData: number): number; +/** + * Convert a raw GSR ADC sample to skin resistance (kฮฉ) using the + * Shimmer3R amplifier equation. + * + * Reference resistors per range (kฮฉ): [40.2, 287.0, 1000.0, 3300.0]. + * + * @param gsrUncalibratedData Raw 12-bit GSR ADC value. + * @param range Hardware range index 0โ€“3. + * @returns Resistance in kฮฉ. + */ +declare function calibrateGsrDataToResistanceFromAmplifierEq(gsrUncalibratedData: number, range: number): number; +/** + * Clamp a GSR resistance value to the physical limits of a given range. + * + * When `gsrRangeSetting === 4` (auto-range) no clamping is applied. + * + * @param gsrResistanceKOhms Calibrated resistance in kฮฉ. + * @param gsrRangeSetting Range 0โ€“3 (fixed) or 4 (auto). + * @returns Clamped resistance in kฮฉ. + */ +declare function nudgeGsrResistance(gsrResistanceKOhms: number, gsrRangeSetting: number): number; +/** + * Determine the ADS1292R oversampling ratio config byte for a given + * Shimmer3R sampling rate. + * + * This value is ORed into the lower 3 bits of ExG config byte index 4. + * + * @param samplingRate Shimmer3R sampling rate in Hz (must be โ‰ฅ 0). + * @returns Oversampling ratio index 0โ€“6. + */ +declare function getOversamplingRatioADS1292R(samplingRate: number): number; + +/** NUS primary service UUID. */ +declare const NUS_SERVICE = "6e400001-b5a3-f393-e0a9-e50e24dcca9e"; +/** NUS TX characteristic UUID (host writes to this). */ +declare const NUS_TX = "6e400002-b5a3-f393-e0a9-e50e24dcca9e"; +/** NUS RX characteristic UUID (host subscribes to notifications from this). */ +declare const NUS_RX = "6e400003-b5a3-f393-e0a9-e50e24dcca9e"; +/** Nordic Secure DFU primary service UUID (0xFE59). */ +declare const NORDIC_DFU_SERVICE = "0000fe59-0000-1000-8000-00805f9b34fb"; +/** Nordic DFU control-point characteristic UUID. */ +declare const NORDIC_DFU_CONTROL_CHAR = "8ec90001-f315-4f60-9fb8-838830daea50"; +/** Nordic DFU packet characteristic UUID. */ +declare const NORDIC_DFU_PACKET_CHAR = "8ec90002-f315-4f60-9fb8-838830daea50"; +/** Nordic buttonless DFU characteristic UUID (write 0x01 to reboot to bootloader). */ +declare const NORDIC_DFU_BUTTONLESS_CHAR = "8ec90003-f315-4f60-9fb8-838830daea50"; +/** Upper-nibble command classes used in protocol headers. */ +declare const ASM_COMMAND: Readonly<{ + readonly READ: 16; + readonly WRITE: 32; + readonly RESPONSE: 48; + readonly ACK: 64; + readonly NACK_BAD_HEADER_COMMAND: 80; + readonly NACK_BAD_HEADER_PROPERTY: 96; + readonly NACK_GENERIC: 112; + readonly ACK_NEXT_STAGE: 128; +}>; +type AsmCommand = (typeof ASM_COMMAND)[keyof typeof ASM_COMMAND]; +/** Lower-nibble property IDs used in protocol headers. */ +declare const ASM_PROPERTY: Readonly<{ + readonly STATUS1: 1; + readonly DATA: 2; + readonly PRODUCTION_CONFIGURATION: 3; + readonly OPERATIONAL_CONFIGURATION: 4; + readonly TIME: 5; + readonly DFU_MODE: 6; + readonly PENDING_EVENTS: 7; + readonly TEST_MODE: 8; + readonly DEBUG_COMMAND: 9; + readonly STREAM_MODE: 10; + readonly DEVICE_DISCONNECT: 11; + readonly STATUS2: 12; +}>; +type AsmProperty = (typeof ASM_PROPERTY)[keyof typeof ASM_PROPERTY]; +/** Stream mode payload values. */ +declare const STREAM_MODE: Readonly<{ + readonly ENABLE: 1; + readonly DISABLE: 2; +}>; +/** Test mode IDs documented by Verisense firmware. */ +declare const TEST_MODE_ID: Readonly<{ + readonly STOP: 0; + readonly FLASH_8MB_1: 1; + readonly FLASH_8MB_2: 2; + readonly FLASH_128MB_512MB: 3; + readonly EEPROM: 4; + readonly ACCEL1_LIS2DW12: 5; + readonly BATTERY_VOLTAGE: 6; + readonly USB_POWER: 7; + readonly ACCEL2_GYRO_LSM6DS3: 8; + readonly PPG_MAX86XXX: 9; + readonly BIOZ_MAX30002: 11; + readonly ACCEL2_GYRO_LSM6DSV: 12; + readonly MAG_LIS2MDL: 13; + readonly TEST_REPORT: 254; + readonly ALL_TESTS: 255; +}>; +type TestModeId = (typeof TEST_MODE_ID)[keyof typeof TEST_MODE_ID]; +/** Debug command IDs documented by Verisense firmware. */ +declare const DEBUG_COMMAND_ID: Readonly<{ + readonly FLASH_LOOKUP_TABLE_READ: 1; + readonly FLASH_LOOKUP_TABLE_ERASE: 2; + readonly RWC_SCHEDULER_READ: 3; + readonly ERASE_128MB_512MB_FLASH: 4; + readonly ERASE_8MB_FLASH_1: 5; + readonly ERASE_8MB_FLASH_2: 6; + readonly ERASE_OPERATIONAL_CONFIG: 7; + readonly ERASE_PRODUCTION_CONFIG: 8; + readonly CLEAR_PENDING_EVENTS: 9; + readonly ERASE_FLASH_AND_LOOKUP_TABLE: 10; + readonly TEST_DATA_TRANSFER_LOOP: 11; + readonly LOAD_TEST_LOOKUP_TABLE: 12; + readonly LED_TEST: 13; + readonly MAX86XXX_LED_TEST: 14; + readonly CHECK_PAYLOAD_CRC_ERRORS: 15; + readonly READ_EVENT_LOG: 16; + readonly POWER_PROFILER_TEST: 17; + readonly READ_RECORD_BUFFER_DETAILS: 18; + readonly SYSTEM_RESET: 19; + readonly IC_POWER_CONSUMPTION_TEST: 20; + readonly DELETE_ALL_BONDS: 21; +}>; +type DebugCommandId = (typeof DEBUG_COMMAND_ID)[keyof typeof DEBUG_COMMAND_ID]; +/** + * Byte indices into the Verisense operational config blob (`op[OP_IDX.xxx]`). + * Index 0 is the config version byte (must be 0x5A for a valid config). + */ +declare const OP_IDX: Readonly<{ + readonly GEN_CFG_0: 1; + readonly GEN_CFG_1: 2; + readonly GEN_CFG_2: 3; + readonly GEN_CFG_3: 4; + readonly ACCEL1_CFG_0: 5; + readonly ACCEL1_CFG_1: 6; + readonly ACCEL1_CFG_2: 7; + readonly ACCEL1_CFG_3: 8; + readonly GYRO_ACCEL2_CFG_0: 10; + readonly GYRO_ACCEL2_CFG_1: 11; + readonly GYRO_ACCEL2_CFG_2: 12; + readonly GYRO_ACCEL2_CFG_3: 13; + readonly GYRO_ACCEL2_CFG_4: 14; + readonly GYRO_ACCEL2_CFG_5: 15; + readonly GYRO_ACCEL2_CFG_6: 16; + readonly GYRO_ACCEL2_CFG_7: 17; + readonly START_TIME: 21; + readonly END_TIME: 25; + readonly INACTIVE_TIMEOUT: 29; + readonly BLE_RETRY_COUNT: 30; + readonly BLE_TX_POWER: 31; + readonly BLE_DATA_TRANS_WKUP_INT_HRS: 32; + readonly BLE_DATA_TRANS_WKUP_TIME: 33; + readonly BLE_DATA_TRANS_WKUP_DUR: 35; + readonly BLE_DATA_TRANS_RETRY_INT: 36; + readonly BLE_STATUS_WKUP_INT_HRS: 38; + readonly BLE_STATUS_WKUP_TIME: 39; + readonly BLE_STATUS_WKUP_DUR: 41; + readonly BLE_STATUS_RETRY_INT: 42; + readonly BLE_RTC_SYNC_WKUP_INT_HRS: 44; + readonly BLE_RTC_SYNC_WKUP_TIME: 45; + readonly BLE_RTC_SYNC_WKUP_DUR: 47; + readonly BLE_RTC_SYNC_RETRY_INT: 48; + readonly ADC_CHANNEL_SETTINGS_0: 50; + readonly ADC_CHANNEL_SETTINGS_1: 51; + readonly ADAPTIVE_SCHEDULER_INT: 52; + readonly ADAPTIVE_SCHEDULER_FAILCOUNT_MAX: 54; + readonly PPG_REC_DUR_SECS_LSB: 55; + readonly PPG_REC_DUR_SECS_MSB: 56; + readonly PPG_REC_INT_MINS_LSB: 57; + readonly PPG_REC_INT_MINS_MSB: 58; + readonly PPG_FIFO_CONFIG: 59; + readonly PPG_MODE_CONFIG2: 60; + readonly PPG_MA_DEFAULT: 61; + readonly PPG_MA_MAX_RED_IR: 62; + readonly PPG_MA_MAX_GREEN_BLUE: 63; + readonly PPG_AGC_TARGET_PERCENT_OF_RANGE: 64; + readonly PPG_MA_LED_PILOT: 66; + readonly PPG_DAC1_CROSSTALK: 67; + readonly PPG_DAC2_CROSSTALK: 68; + readonly PPG_DAC3_CROSSTALK: 69; + readonly PPG_DAC4_CROSSTALK: 70; + readonly PROX_AGC_MODE: 71; +}>; +type OpIdx = keyof typeof OP_IDX; +/** + * Factory test type selection byte sent as the last byte of a TEST_REPORT (0xFE) payload. + * Mirrors the firmware `factory_test_t` enum. + */ +declare const FACTORY_TEST: Readonly<{ + readonly MAIN: 0; + readonly LEDS: 1; + readonly ICS: 2; + readonly LED_STATES: 3; +}>; +type FactoryTestType = (typeof FACTORY_TEST)[keyof typeof FACTORY_TEST]; + +interface VerisenseMessage { + header: number; + command: AsmCommand; + property: AsmProperty; + payloadLength: number; + payload: Uint8Array; +} +/** Build a protocol header byte from command/property nibbles. */ +declare function buildHeader(command: AsmCommand, property: AsmProperty): number; +/** Decode a protocol header byte into command/property fields. */ +declare function parseHeader(header: number): { + command: AsmCommand; + property: AsmProperty; +}; +/** Build a complete protocol message (header + 16-bit LE payload length + payload bytes). */ +declare function buildMessage(command: AsmCommand, property: AsmProperty, payloadBytes?: Uint8Array | number[]): Uint8Array; +/** Parse a complete protocol message into structured fields. */ +declare function parseMessage(msg: Uint8Array): VerisenseMessage; +declare function isAckCommand(command: AsmCommand): boolean; +declare function isNackCommand(command: AsmCommand): boolean; +/** Convert a pending-events payload (property IDs) into a typed array. */ +declare function parsePendingEvents(payload: Uint8Array): AsmProperty[]; + +/** + * Compute CRC-16/CCITT-FALSE over `bytes`. + * + * Parameters: poly=0x1021, init=0xFFFF, xorOut=0x0000. + * Matches the C# `ComputeCRC` implementation used by Verisense firmware. + */ +declare function crc16_ccitt_false(bytes: Uint8Array): number; +/** + * Convert any reasonable representation of an operational config to a + * `Uint8Array`. Throws if the input type is unrecognised. + */ +declare function normalizeOperationalConfig(payload: Uint8Array | ArrayBuffer | number[] | { + buffer: ArrayBuffer; + byteOffset?: number; + byteLength?: number; +} | null | undefined): Uint8Array | null; +/** Alias for arbitrary protocol byte payload normalization. */ +declare function normalizeBytePayload(payload: Uint8Array | ArrayBuffer | number[] | { + buffer: ArrayBuffer; + byteOffset?: number; + byteLength?: number; +} | null | undefined): Uint8Array | null; +/** + * Derive the 6-digit pairing PIN from a Verisense unique identifier. + * + * The PIN is built from digits 2, 4 and 6 (1-based) of the identifier, + * followed by the decimal value of the final byte padded to 3 digits. + */ +declare function computeVerisensePairingPin(uniqueId: string): string; +interface ProductionConfig { + hardware: string; + firmware: string; + asmid: string; + configHeader: number; +} +interface ProductionConfigBuildOptions { + manufacturingOrderNumberHex: string; + macIdHex: string; + revHwMajor: number; + revHwMinor: number; + revFwMajor: number; + revFwMinor: number; + revFwInternal?: number; + revHwInternal?: number; + passkeyId?: string; + passkey?: string; + advertisingNamePrefix?: string; + dfuEnabled?: boolean; +} +interface ProductionConfigFull extends ProductionConfig { + manufacturingOrderNumber: string; + macId: string; + uniqueIdentifier: string; + revHwMajor: number; + revHwMinor: number; + revHwInternal: number; + revFwMajor: number; + revFwMinor: number; + revFwInternal: number; + passkeyId: string; + passkey: string; + advertisingNamePrefix: string; + dfuEnabled: boolean; +} +interface VerisenseStatusFlags { + usbPluggedIn: boolean; + recordingPaused: boolean; + flashIsFull: boolean; + powerIsGood: boolean; + adaptiveSchedulerOn: boolean; + dfuServiceOn: boolean; + firstBoot: boolean; + repeatedBatteryMeasurement: boolean; +} +interface VerisenseStatusPayload { + uniqueIdentifier: string; + sourceStatusProperty: 'status1' | 'status2'; + statusTimestampSeconds: number; + batteryMilliVolts: number; + batteryPercent: number; + lastOkTransferSeconds: number; + lastFailTransferSeconds: number; + memoryFreeKb: number; + memoryCapacityKb: number | null; + memoryUsedKb: number | null; + /** kB of FULL (ready-to-sync) flash banks. Only populated for payloads >= 57 bytes. */ + memoryFullBanksKb: number | null; + /** kB of 2DEL (partially-deleted) flash banks. Only populated for payloads >= 57 bytes. */ + memoryTwoDelBanksKb: number | null; + /** kB of BAD flash banks. Only populated for payloads >= 57 bytes. */ + memoryBadBanksKb: number | null; + statusFlags: VerisenseStatusFlags | null; + batteryFallCounter: number | null; +} +interface VerisenseSchedulerDebugPayload { + currentTimeUnixSeconds: number; + bleControlCounter: 'data-transfer' | 'status1' | 'rtc-sync' | 'status2' | 'never' | 'unknown'; + pendingDataTransferUnixSeconds: number; + pendingStatus1UnixSeconds: number; + pendingRtcSyncUnixSeconds: number; + pendingRetryUnixSeconds: number; + retryCount: number; + retryOperation: 'ble-off' | 'ble-on' | 'unknown'; + adaptiveScheduler?: { + nextUnixSeconds: number; + enabled: boolean; + syncFailCounter: number; + }; + ltfRetry?: { + nextUnixSeconds: number; + currentOperation: 'flash-write-retry-inactive' | 'short-flash-write-retry' | 'attempt-flash-write' | 'long-flash-write-retry' | 'sensor-paused-until-usb-plug-in' | 'unknown'; + failCounterShort: number; + failCounterLong: number; + }; + pendingStatus2UnixSeconds?: number; + ppgMeasurementUnixSeconds?: number; + stepCounterResetUnixSeconds?: number; + sensorInactivityUnixSeconds?: number; +} +interface VerisenseEventLogEntry { + index: number; + eventId: number; + eventName: string; + timestampUnixSeconds: number | null; + batteryMilliVolts: number | null; +} +interface VerisenseRecordBufferDetails { + bufferIndex: number; + bufferState: number; + packagedPayloadIndex: number; + currentByteIndexForSensorData: number; + usedBufferLength: number; + fifoTicks: number; + dataTimestampRwcMinutes: number; + dataTimestampRwcTicks: number; + temperatureData: number; + dataTimestampUcClockMinutes: number | null; + dataTimestampUcClockTicks: number | null; +} +interface VerisenseLookupTableEntry { + bankIndex: number; + statusCode: number; + statusName: 'Full' | '2Del' | 'Emty' | 'Bad' | 'NUse' | 'Zero' | 'Unknown'; + pendingEepromWrite: boolean; + payloadIndex: number; +} +interface VerisenseLookupTablePayload { + head: number | null; + tail: number | null; + entries: VerisenseLookupTableEntry[]; +} +/** Convert unix seconds into Verisense 7-byte RTC payload (4-byte minutes + 3-byte ticks). */ +declare function unixSecondsToAsmRtcBytes(unixSeconds: number): Uint8Array; +/** Convert Verisense 7-byte RTC payload into unix seconds. */ +declare function asmRtcBytesToUnixSeconds(rtc7: Uint8Array): number; +/** Convert Verisense 8-byte minute counter payload into unix seconds. */ +declare function asmRtcMinutesBytesToUnixSeconds(minutes8: Uint8Array): number; +/** + * Build a production configuration payload (56 bytes) from structured options. + * This matches the Python tooling layout used by ASM_BLE.py / ASM_Device.py. + */ +declare function buildProductionConfigPayload(opts: ProductionConfigBuildOptions): Uint8Array; +/** Parse production configuration with optional passkey/name/flag fields. */ +declare function parseProductionConfigPayloadFull(response: Uint8Array): ProductionConfigFull; +/** + * Parse STATUS1/STATUS2 payload into a typed object. + * + * This ports the core byte parsing from ASM_Device.parse_status while keeping + * the output concise and UI-friendly. + */ +declare function parseStatusPayload(response: Uint8Array, sourceStatusProperty?: 'status1' | 'status2'): VerisenseStatusPayload; +/** Parse scheduler debug response payload from DEBUG_COMMAND_ID.RWC_SCHEDULER_READ. */ +declare function parseSchedulerDebugPayload(payload: Uint8Array): VerisenseSchedulerDebugPayload; +/** Parse debug payload listing bank indexes with bad CRC (2-byte LE entries). */ +declare function parsePayloadCrcErrorBankIndexes(payload: Uint8Array): number[]; +/** Parse 8-byte debug event-log entries. */ +declare function parseEventLogPayload(payload: Uint8Array): VerisenseEventLogEntry[]; +/** Parse record-buffer details payload (26-byte current layout, 19-byte legacy layout). */ +declare function parseRecordBufferDetailsPayload(payload: Uint8Array): VerisenseRecordBufferDetails[]; +/** + * Parse lookup-table debug payload entries (3 bytes per bank), with optional + * 4-byte tail/head prefix present in older firmware debug responses. + */ +declare function parseLookupTablePayload(payload: Uint8Array, totalBanks: number): VerisenseLookupTablePayload; +/** + * Parse the production config response payload into a structured object. + */ +declare function parseProductionConfigPayload(response: Uint8Array): ProductionConfig; + +type ParsedSplitReason = 'midday-midnight-boundary' | 'config-change' | 'timestamp-discontinuity' | 'power-reset'; +interface EvaluateParsedSplitInput { + prevTimestampSec: number; + currTimestampSec: number; + expectedDeltaSec?: number; + timestampToleranceSec?: number; + prevConfigSignature?: string | null; + currConfigSignature?: string | null; + powerResetDetected?: boolean; +} +/** Build a binary upload file name: yyMMdd_HHmmss_00000.bin */ +declare function buildUploadBinaryFileName(uploadDate: Date, firstPayloadIndex: number): string; +/** Build parsed CSV file name: yyMMdd_HHmmss_DataSource_00000.csv */ +declare function buildParsedCsvFileName(startDate: Date, dataSource: string, firstPayloadIndex: number): string; +/** Add duplicate suffix like " (2)" before extension. */ +declare function applyDuplicateSuffix(fileName: string, duplicateIndex: number): string; +/** Return first non-colliding duplicate name for a target file name. */ +declare function nextAvailableDuplicateFileName(fileName: string, existingNames: Iterable): string; +/** Parse first payload index (uint16 LE) from a payload byte array. */ +declare function getFirstPayloadIndex(payload: Uint8Array): number; +/** + * Evaluate whether parsed CSV output should roll to a new file. + * Rules mirror ASM-DES08 split conditions. + */ +declare function evaluateParsedFileSplit(input: EvaluateParsedSplitInput): { + shouldSplit: boolean; + reasons: ParsedSplitReason[]; +}; + +/** + * Abstract base class for all Verisense sensor decoders. + * + * Provides: + * - Timestamp unwrapping (handles the 1-minute rollover at 32768 ticks/s). + * - System-time offset tracking for plotting calibrated wall-clock timestamps. + * - Per-sample time extrapolation based on sampling rate and last-sample tick. + */ +declare abstract class SensorBase { + /** Verisense clock frequency in ticks per second. */ + static readonly CLOCK_FREQ = 32768; + /** 1-minute rollover at 32768 ticks/s (matches C# Sensor.cs). */ + static readonly TICKS_MAX_VALUE: number; + protected lastTicksUnwrapped: number; + protected cycle: number; + /** (system time) โˆ’ (shimmer time) at first sample, in milliseconds. */ + systemOffsetFirstTime: number | null; + /** Sampling rate in Hz (used for per-sample time extrapolation). */ + samplingRateHz: number | null; + /** Whether this sensor is enabled in the operational config. */ + enabled: boolean; + /** Reset all timestamp state (call on (re)connect or when streaming restarts). */ + resetTimestamps(): void; + /** + * Unwrap a rolling 24-bit tick counter to a monotonically increasing value. + */ + unwrapTicks(ticks: number): number; + /** Convert unwrapped ticks to milliseconds. */ + ticksToMillis(unwrappedTicks: number): number; + /** + * Compute the calibrated shimmer timestamp for the *last* sample in a burst, + * and store the first-seen system-offset for later plotting. + * + * @param lastSampleTicksU24 24-bit tick counter from the packet header. + * @param systemMillis `Date.now()` at the time of packet receipt. + */ + getTimestampUnwrappedMillis(lastSampleTicksU24: number, systemMillis: number): { + shimmerMillis: number; + systemOffsetFirstTime: number; + }; + /** + * Extrapolate the timestamp for sample `i` of `numSamples` in a burst, + * given the timestamp of the *last* sample and the sampling rate. + * + * @returns Object with `tsMillis`, `systemTsMillis`, and `systemTsPlotMillis`. + */ + extrapolateSampleTimes(opts: { + numSamples: number; + i: number; + samplingRateHz?: number | null; + tsLastSampleMillis: number; + systemTsLastSampleMillis: number; + systemOffsetFirstTime?: number | null; + }): { + tsMillis: number; + systemTsMillis: number; + systemTsPlotMillis: number; + }; + /** Parse a raw sensor payload byte array into decoded samples. */ + abstract parsePayload(sensorPayloadBytes: Uint8Array): unknown[]; + /** Apply the Verisense operational config blob to update decoder settings. */ + abstract applyOperationalConfig(op: Uint8Array): void; +} + +interface ADCGSRSample { + raw: number; + adc12: number; + range: number; + volts: number; + kOhms: number; + uS: number; + connectivity: 'Connected' | 'Disconnected'; +} +interface ADCBatterySample { + /** Full 16-bit packed ADC/flags word from payload. */ + raw16: number; + /** 12-bit ADC value extracted from `raw16`. */ + adc12: number; + mV: number; + usbPluggedIn: boolean; + chargerStatusBits: number; + chargerStatus: string; +} +interface ADCPayloadSample { + gsr: ADCGSRSample | null; + batt: ADCBatterySample | null; +} +type HardwareIdentifier = 'VERISENSE_PULSE_PLUS' | 'VERISENSE_GSR_PLUS' | string; +/** + * Decoder for grouped ADC channels (Verisense sensor id = 1). + * + * Includes GSR plus battery/ADC channels carried in the same packet source. + * Implements C# `SensorGSR.cs` including: + * - Per-hardware reference resistor selection (SR68 vs Shimmer3 resistors). + * - Auto-range decoding from the raw ADC value's upper bits. + * - Range-3 clamping threshold that differs by hardware. + * - Conductance (uS) output with connectivity detection. + */ +declare class SensorADC extends SensorBase { + readonly LIMIT_MIN_VALID_USIEMENS = 0.03; + readonly GSR_UNCAL_LIMIT_RANGE3_SR68 = 1134; + readonly GSR_UNCAL_LIMIT_RANGE3_SR62 = 683; + private readonly SHIMMER3_REF_KOHMS; + private readonly SR68_REF_KOHMS; + gsrEnabled: boolean; + battEnabled: boolean; + /** GSR range 0-3 (fixed) or 4 (auto-range). */ + gsrRangeSetting: number; + hardwareIdentifier: HardwareIdentifier; + gsrRateSettingRaw: number; + gsrRangeSettingRaw: number; + gsrOversamplingRateSettingRaw: number; + constructor(); + setHardwareIdentifier(idStr: HardwareIdentifier): void; + setGsrRangeSetting(v: number): void; + setEnabled(arg1: boolean | { + gsr?: boolean; + batt?: boolean; + }, opConfigBytes?: Uint8Array | null): Uint8Array | Record; + private _patchEnabled; + patchGsrRange(rangeCfg: number, op: Uint8Array): Uint8Array; + patchGsrSamplingRate(rateCfg: number, op: Uint8Array): Uint8Array; + patchGsrOversampling(overCfg: number, op: Uint8Array): Uint8Array; + calibrateAdcToVolts(uncal12bit: number): number; + calibrateGsrToKOhmsUsingAmplifierEq(volts: number, range: number): number; + nudgeGsrResistance(kOhms: number): number; + kOhmToUSiemens(kOhms: number): number; + parsePayload(sensorPayloadBytes: Uint8Array): ADCPayloadSample[]; + applyOperationalConfig(op: Uint8Array): void; +} + +type AccelRange$1 = '2G' | '4G' | '8G' | '16G'; +interface LIS2DW12Sample { + raw: [number, number, number]; + cal: [number, number, number]; + units: { + cal: string; + }; +} +/** + * Decoder for the LIS2DW12 low-power accelerometer (Verisense sensor id = 2). + * + * Sensitivity values are given in raw-LSB / (m/sยฒ) per axis โ€” matching + * the C# `SensorLIS2DW12.cs` implementation. + */ +declare class SensorLIS2DW12 extends SensorBase { + offset: [number, number, number]; + align: [[number, number, number], [number, number, number], [number, number, number]]; + private readonly sensitivityByRange; + range: AccelRange$1; + constructor(); + setRange(rangeStr: AccelRange$1): void; + setEnabled(enabled: boolean, opConfigBytes?: Uint8Array | null): Uint8Array | boolean; + setAccelEnabled(enabled: boolean, opConfigBytes?: Uint8Array | null): Uint8Array | boolean; + patchAccelRange(rangeCfg: number, op: Uint8Array): Uint8Array; + patchAccelSamplingRate(rateCfg: number, op: Uint8Array): Uint8Array; + private _calibrate; + parsePayload(sensorPayloadBytes: Uint8Array): LIS2DW12Sample[]; + applyOperationalConfig(op: Uint8Array): void; +} + +type AccelRange = '2G' | '4G' | '8G' | '16G'; +type GyroRange = '250DPS' | '500DPS' | '1000DPS' | '2000DPS'; +interface LSM6DS3Sample { + accel: { + raw: [number, number, number]; + cal: [number, number, number]; + units: string; + } | null; + gyro: { + raw: [number, number, number]; + cal: [number, number, number]; + units: string; + } | null; +} +/** + * Decoder for the LSM6DS3 combined accelerometer + gyroscope (Verisense sensor id = 3). + * + * Sensitivity values mirror the C# `SensorLSM6DS3.cs` implementation. + */ +declare class SensorLSM6DS3 extends SensorBase { + offset: [number, number, number]; + align: [[number, number, number], [number, number, number], [number, number, number]]; + private readonly accSensByRange; + private readonly gyroSensByRange; + accRange: AccelRange; + gyroRange: GyroRange; + accEnabled: boolean; + gyroEnabled: boolean; + constructor(); + setAccelEnabled(v: boolean): void; + setGyroEnabled(v: boolean): void; + setAccelRange(r: AccelRange): void; + setGyroRange(r: GyroRange): void; + private _applyAlignAndOffset; + parsePayload(sensorPayloadBytes: Uint8Array): LSM6DS3Sample[]; + applyOperationalConfig(op: Uint8Array): void; +} + +interface PPGChannelSample { + raw: number; + cal: number; + units: { + raw: string; + cal: string; + }; +} +interface PPGSample { + RED?: PPGChannelSample; + IR?: PPGChannelSample; + GREEN?: PPGChannelSample; + BLUE?: PPGChannelSample; +} +type PPGChannel = 'RED' | 'IR' | 'GREEN' | 'BLUE'; +/** + * Decoder for the PPG sensor (Verisense sensor id = 4). + * + * Calibration constants mirror C# `SensorPPG.cs`. + */ +declare class SensorPPG extends SensorBase { + red: boolean; + ir: boolean; + green: boolean; + blue: boolean; + private readonly adcLsb; + private readonly adcBitShift; + adcResolutionIndex: number; + constructor(); + setChannels(channels: Partial>): void; + setAdcResolutionIndex(i: number): void; + calibrateValue(uncalValue: number): number; + parsePayload(sensorPayloadBytes: Uint8Array): PPGSample[]; + applyOperationalConfig(_op: Uint8Array): void; +} + +type TransportKind = 'ble' | 'serial' | null; +type DeviceMode = 'idle' | 'streaming' | 'command' | 'logged'; +interface SensorMap { + 1: SensorADC; + 2: SensorLIS2DW12; + 3: SensorLSM6DS3; + 4: SensorPPG; +} +interface StreamPacket { + sensorId: number; + tick_u24: number; + decoded: unknown[] | null; + rawPayload: Uint8Array; + crcOk: boolean | null; +} +interface LoggedTransferProgressInfo { + payloadIndex: number; + bytesWritten: number; + crcOk: boolean; +} +interface TransferLoggedDataOptions { + fileHandle?: FileSystemFileHandle | null; + timeoutMs?: number; + maxNack?: number; + maxCrcNack?: number; + onProgress?: ((info: LoggedTransferProgressInfo) => void) | null; +} +interface TransferLoggedDataResult { + ok: boolean; + bytesWritten: number; + blob?: Blob; +} +interface VerisenseClientOptions { + hardwareIdentifier?: string; + stripStreamCrc?: boolean; + verifyStreamCrc?: boolean; + debug?: boolean; +} +interface VerisenseCommandResponse { + header: number; + command: AsmCommand; + property: AsmProperty; + payload: Uint8Array; +} +interface HardwareTestReportOptions { + timeoutMs?: number; + marker?: string; + maxChars?: number; + /** Factory test type byte (factory_test_t). Appended after the HW revision bytes in the TX payload. Defaults to 0 (MAIN). */ + factoryTestType?: number; + onChunk?: ((chunkText: string, aggregateText: string) => void) | null; +} + +/** + * Web Bluetooth client for the Verisense sensor platform. + * + * Extends {@link BaseShimmerClient} and adds an event-emitter API + * (on/off/emit) for the richer event model the Verisense protocol needs. + * + * Supports: + * - BLE streaming (accel, ADC/GSR, gyro, PPG) + * - Web Serial (USB COM port) as an alternative transport + * - Logged-data download (`transferLoggedData`) + * - Operational config read/write + * + * Events: + * - `"connected"` โ€” `{ name?: string; id?: string; kind?: string }` + * - `"disconnected"` โ€” `{ kind: TransportKind }` + * - `"streaming"` โ€” `{ on: boolean }` + * - `"streamPacket"` / `"data"` โ€” `StreamPacket` + * - `"streamCrcFail"` โ€” `{ claimed: number; body: Uint8Array }` + * - `"opConfig"` โ€” `{ op: Uint8Array }` + * - `"productionConfig"` โ€” `ProductionConfig` + * - `"commandPayload"` โ€” `{ payload: Uint8Array }` + */ +declare class VerisenseBleDevice extends BaseShimmerClient { + private static readonly MAX_FRAME_PAYLOAD_LEN; + private static readonly MAX_DEBUG_FRAME_PAYLOAD_LEN; + static readonly TEST_REPORT_MODE_ID = 254; + static readonly TEST_REPORT_DELIMITER = "//**************************** TEST START ************************************\r\n"; + static readonly TEST_REPORT_MARKER_HINT = "TEST START"; + static readonly NUS_SERVICE = "6e400001-b5a3-f393-e0a9-e50e24dcca9e"; + static readonly NUS_TX = "6e400002-b5a3-f393-e0a9-e50e24dcca9e"; + static readonly NUS_RX = "6e400003-b5a3-f393-e0a9-e50e24dcca9e"; + static readonly NORDIC_DFU_SERVICE = "0000fe59-0000-1000-8000-00805f9b34fb"; + static readonly NORDIC_DFU_BUTTONLESS_CHAR = "8ec90003-f315-4f60-9fb8-838830daea50"; + private readonly _evMap; + on(ev: string, fn: (data: T) => void): () => void; + off(ev: string, fn: (data: unknown) => void): void; + emit(ev: string, data?: unknown): void; + private _transportKind; + device: BluetoothDevice | null; + private server; + private service; + tx: BluetoothRemoteGATTCharacteristic | null; + rx: BluetoothRemoteGATTCharacteristic | null; + port: SerialPort | null; + private _serialAbort; + private _serialReader; + private _serialReadLoopTask; + private _onGattDisconnected; + private _mode; + private _rxStreamBuf; + private _pending; + private _loggedChain; + private _sync; + private _testReportCapture; + private readonly _testReportDecoder; + readonly stripStreamCrc: boolean; + readonly verifyStreamCrc: boolean; + readonly hardwareIdentifier: string; + readonly sensors: SensorMap; + operationalConfig: Uint8Array | null; + productionConfig: Uint8Array | null; + debugSync: boolean; + private _syncRxCount; + private _syncPayloadCount; + constructor(opts?: VerisenseClientOptions); + protected _log(...args: unknown[]): void; + get adc(): SensorADC; + get accel1(): SensorLIS2DW12; + get gyroAccel2(): SensorLSM6DS3; + get ppg(): SensorPPG; + connect(opts?: { + device?: BluetoothDevice | null; + filters?: BluetoothLEScanFilter[]; + optionalServices?: BluetoothServiceUUID[]; + }): Promise; + connectSerial(opts?: { + port?: SerialPort | null; + baudRate?: number; + dataBits?: number; + stopBits?: number; + parity?: ParityType; + flowControl?: FlowControlType; + filters?: SerialPortFilter[] | null; + }): Promise; + private _serialWrite; + private _startSerialReadLoop; + private _serialDisconnect; + disconnect(opts?: { + reason?: string; + }): Promise; + startStreaming(): Promise; + stopStreaming(): Promise; + transferLoggedData(opts?: TransferLoggedDataOptions): Promise; + writeBytes(bytes: Uint8Array | number[], opts?: { + withResponse?: boolean; + }): Promise; + private _requestByCommand; + readProperty(property: AsmProperty, timeoutMs?: number): Promise; + writeProperty(property: AsmProperty, payloadBytes?: number[] | Uint8Array, timeoutMs?: number): Promise; + request(opcode: number, payloadBytes?: number[] | Uint8Array, timeoutMs?: number): Promise<{ + payload: Uint8Array; + }>; + readStatus(): Promise<{ + payload: Uint8Array; + }>; + readStatusParsed(): Promise; + readStatus2(): Promise<{ + payload: Uint8Array; + }>; + readStatus2Parsed(): Promise; + readData(): Promise<{ + payload: Uint8Array; + }>; + readProductionConfig(): Promise<{ + payload: Uint8Array; + }>; + readOperationalConfig(): Promise<{ + payload: Uint8Array; + }>; + readTime(): Promise<{ + payload: Uint8Array; + }>; + readTimeUnixSeconds(): Promise; + readPendingEvents(): Promise<{ + payload: Uint8Array; + }>; + readPendingEventsParsed(): Promise; + writeProductionConfig(bytes: Uint8Array | number[]): Promise; + writeOperationalConfig(bytes: Uint8Array | number[]): Promise; + writeTime(rtc7: Uint8Array | number[]): Promise; + writeTimeUnixSeconds(unixSeconds: number): Promise; + /** + * Enables Nordic Secure DFU service advertisement after the next disconnect. + * + * This sends ASM DFU_MODE property write (equivalent to [0x26, 0x00, 0x00]). + * It does not immediately reboot into bootloader mode. + */ + enableDfuServiceOnNextDisconnect(): Promise; + /** + * @deprecated Use enableDfuServiceOnNextDisconnect() for clearer semantics. + */ + enterDfuMode(): Promise; + /** + * Uses Nordic buttonless DFU characteristic to reboot the connected device into bootloader mode. + * + * Requirements: + * - BLE transport must be connected + * - Nordic Secure DFU service and buttonless characteristic must be present + */ + rebootToDfuBootloader(opts?: { + waitForDisconnect?: boolean; + disconnectAfterCommand?: boolean; + timeoutMs?: number; + }): Promise; + runTestMode(testPayload: Uint8Array | number[]): Promise; + runHardwareTest(testId: TestModeId, hwMajor: number, hwMinor?: number, hwInternal?: number): Promise; + private _clearHardwareTestReportCapture; + private _captureHardwareTestReportChunk; + /** + * Runs TEST_REPORT (0xFE) and captures the rolling text report. + * + * The firmware ACKs the command first, then emits plain-text lines over the link. + * Capture starts on the first delimiter and completes on the second delimiter. + */ + runHardwareTestReport(hwMajor: number, hwMinor?: number, hwInternal?: number, opts?: HardwareTestReportOptions): Promise; + private _buildDebugPayload; + private _debugIndexArgs; + private _waitForDebugResponse; + readDebugCommand(debugId: DebugCommandId, args?: Uint8Array | number[], timeoutMs?: number): Promise<{ + payload: Uint8Array; + }>; + sendDebugCommand(debugId: DebugCommandId, args?: Uint8Array | number[], timeoutMs?: number): Promise<{ + payload: Uint8Array; + }>; + readFlashLookupTable(_index?: number, timeoutMs?: number): Promise<{ + payload: Uint8Array; + }>; + readRealWorldClockScheduler(_index?: number): Promise<{ + payload: Uint8Array; + }>; + readRealWorldClockSchedulerParsed(index?: number): Promise; + loadTestLookupTable(_index?: number): Promise<{ + payload: Uint8Array; + }>; + checkPayloadCrcErrors(_index?: number): Promise<{ + payload: Uint8Array; + }>; + checkPayloadCrcErrorsParsed(index?: number): Promise; + readEventLog(_index?: number): Promise<{ + payload: Uint8Array; + }>; + readEventLogParsed(index?: number): Promise; + readRecordBufferDetails(_index?: number): Promise<{ + payload: Uint8Array; + }>; + readRecordBufferDetailsParsed(index?: number): Promise; + eraseOperationalConfig(): Promise; + eraseProductionConfig(): Promise; + clearPendingEvents(): Promise; + eraseAllLoggedData(timeoutMs?: number): Promise; + testDataTransferLoop(loopCount: number): Promise; + ledTest(ledIndex: number): Promise; + max86xxxLedTest(start: boolean): Promise; + startPowerProfilerTest(): Promise; + requestSystemReset(): Promise; + startIcPowerConsumptionTest(loopCount: number, stageIntervalMs: number): Promise; + deleteAllBonds(): Promise; + setStreamingMode(enabled: boolean): Promise; + disconnectRequest(): Promise<{ + payload: Uint8Array; + }>; + getOpConfig(): Promise; + readProductionConfigFromDevice(): Promise; + readOpConfigFromDevice(): Promise; + writeOpConfig(opConfigBytes: Uint8Array | number[]): Promise; + getSensor(name: string | number): SensorBase | null; + private _abortSync; + private _finishSync; + private _handleLoggedPayload; + private _resetAssembler; + private _appendStreamBuf; + private _clearSyncRxBuffers; + private _isPlausibleHeaderByte; + private _isPlausibleFrameStart; + private _resolvePendingCommand; + private _feedStreamBytes; + private _handleStreamingPayload; +} + +export { ASM_COMMAND, ASM_PROPERTY, BaseShimmerClient, CHANNEL_FORMATS, DEBUG_COMMAND_ID, FACTORY_TEST, GSR_NAME, NORDIC_DFU_BUTTONLESS_CHAR, NORDIC_DFU_CONTROL_CHAR, NORDIC_DFU_PACKET_CHAR, NORDIC_DFU_SERVICE, NUS_RX, NUS_SERVICE, NUS_TX, OPCODES, OP_IDX, ObjectCluster, SHIMMER3R_DEFAULTS, STREAM_MODE, SensorADC, SensorBase, SensorBitmapShimmer3, SensorLIS2DW12, SensorLSM6DS3, SensorPPG, Shimmer3RClient, TEST_MODE_ID, TIMESTAMP_FIELD, VerisenseBleDevice, applyDuplicateSuffix, asmRtcBytesToUnixSeconds, asmRtcMinutesBytesToUnixSeconds, buildHeader, buildMessage, buildParsedCsvFileName, buildProductionConfigPayload, buildUploadBinaryFileName, calibrateGsrDataToResistanceFromAmplifierEq, calibrateShimmer3RAdcChannel, calibrateU12AdcValue, computeVerisensePairingPin, crc16_ccitt_false, evaluateParsedFileSplit, getFirstPayloadIndex, getOversamplingRatioADS1292R, isAckCommand, isNackCommand, nextAvailableDuplicateFileName, normalizeBytePayload, normalizeOperationalConfig, nudgeGsrResistance, parseEventLogPayload, parseHeader, parseLookupTablePayload, parseMessage, parsePayloadCrcErrorBankIndexes, parsePendingEvents, parseProductionConfigPayload, parseProductionConfigPayloadFull, parseRecordBufferDetailsPayload, parseSchedulerDebugPayload, parseStatusPayload, unixSecondsToAsmRtcBytes }; +export type { ADCBatterySample, ADCGSRSample, ADCPayloadSample, AsmCommand, AsmProperty, ChannelFormat, DebugCommandId, DeviceMode, EvaluateParsedSplitInput, FactoryTestType, FieldKind, IShimmerClient, InertialCalibration, LIS2DW12Sample, LSM6DS3Sample, OpIdx, Opcode, PPGChannelSample, PPGSample, ParsedSplitReason, ProductionConfig, ProductionConfigBuildOptions, ProductionConfigFull, SensorBitmapShimmer3Key, SensorField, SensorMap, Shimmer3RClientOptions, ShimmerClientOptions, StreamPacket, TestModeId, TimestampFmt, TransferLoggedDataOptions, TransferLoggedDataResult, TransportKind, VerisenseClientOptions, VerisenseCommandResponse, VerisenseEventLogEntry, VerisenseLookupTableEntry, VerisenseLookupTablePayload, VerisenseMessage, VerisenseRecordBufferDetails, VerisenseSchedulerDebugPayload, VerisenseStatusPayload }; diff --git a/Verisense/vendor/shimmer-web-sdk.esm.js b/Verisense/vendor/shimmer-web-sdk.esm.js new file mode 100644 index 0000000..a23bb36 --- /dev/null +++ b/Verisense/vendor/shimmer-web-sdk.esm.js @@ -0,0 +1,4159 @@ +/** + * Container for a single decoded sensor frame. + * + * Mirrors the ObjectCluster concept from the Shimmer C# SDK: + * a named, typed bag of raw and calibrated signal values produced + * by parsing one data packet from a device. + * + * @example + * ```ts + * const oc = new ObjectCluster('MyShimmer3R'); + * oc.add('GYRO_X', rawVal, null, 'raw'); + * oc.add('GYRO_X', degPerSec, 'deg/s', 'cal'); + * + * const cal = oc.get('GYRO_X', 'cal'); + * console.log(cal?.value, cal?.unit); // e.g. 12.5 "deg/s" + * ``` + */ +class ObjectCluster { + constructor(deviceId) { + this.deviceId = deviceId; + this.fields = []; + this.raw = null; + } + /** + * Append a named field to this cluster. + * + * @param name Signal name, e.g. `'GYRO_X'`. + * @param value Numeric value. + * @param unit Optional unit string, e.g. `'deg/s'`, `'ยตS'`, `'ticks'`. + * @param kind `'raw'` for ADC counts, `'cal'` for calibrated units, or `null`. + */ + add(name, value, unit = null, kind = null) { + this.fields.push({ name, value, unit, kind }); + } + /** + * Look up a field by name and optional kind. + * + * When both a raw and a calibrated version exist for the same signal name, + * pass `kind` to disambiguate. + * + * @returns The matching field, or `null` if not found. + */ + get(name, kind = null) { + return this.fields.find((f) => f.name === name && (kind === null || f.kind === kind)) ?? null; + } + /** + * Return all fields that match the given name (regardless of kind). + */ + getAll(name) { + return this.fields.filter((f) => f.name === name); + } +} + +/** + * Abstract base class shared by all Shimmer device clients. + * + * Provides: + * - A `debug` flag and `_log` helper. + * - Stub implementations of `onStatus` and `onStreamFrame` callback properties. + * - Abstract stubs for `connect`, `disconnect`, `startStreaming`, and `stopStreaming` + * that concrete sub-classes must override. + * + * Sub-classes should call `this._emitStatus(msg)` to surface status strings to + * the application layer without depending on a particular event-emitter library. + */ +class BaseShimmerClient { + constructor(opts = {}) { + /** + * Invoked whenever the client emits a human-readable status message + * (e.g. "GATT connected", "Sampling rate ACKed. Applied โ‰ˆ 51.200 Hz"). + */ + this.onStatus = null; + /** + * Invoked for every fully-decoded sensor frame while streaming. + * The exact shape depends on the concrete sub-class: + * - `Shimmer3RClient` passes an {@link ObjectCluster}. + * - `VerisenseBleDevice` passes a streaming packet object (see that class). + */ + this.onStreamFrame = null; + this.debug = opts.debug ?? true; + } + /** Log to console when debug is enabled. */ + _log(...args) { + if (this.debug) + console.log('[Shimmer]', ...args); + } + /** Emit a status message to `onStatus` and to the debug log. */ + _emitStatus(msg) { + this._log(msg); + this.onStatus?.(msg); + } +} + +/** + * Shimmer3R BLE protocol opcodes. + * Values taken directly from the Shimmer3 firmware header. + */ +const OPCODES = Object.freeze({ + DATA_PACKET: 0x00, + INQUIRY_COMMAND: 0x01, + INQUIRY_RESPONSE: 0x02, + GET_SAMPLING_RATE_COMMAND: 0x03, + SAMPLING_RATE_RESPONSE: 0x04, + SET_SAMPLING_RATE_COMMAND: 0x05, + TOGGLE_LED_COMMAND: 0x06, + START_STREAMING_COMMAND: 0x07, + SET_SENSORS_COMMAND: 0x08, + SET_WR_ACCEL_RANGE_COMMAND: 0x09, + WR_ACCEL_RANGE_RESPONSE: 0x0a, + GET_WR_ACCEL_RANGE_COMMAND: 0x0b, + SET_CONFIG_SETUP_BYTES_COMMAND: 0x0e, + CONFIG_SETUP_BYTES_RESPONSE: 0x0f, + GET_CONFIG_SETUP_BYTES_COMMAND: 0x10, + SET_LN_ACCEL_CALIBRATION_COMMAND: 0x11, + LN_ACCEL_CALIBRATION_RESPONSE: 0x12, + GET_LN_ACCEL_CALIBRATION_COMMAND: 0x13, + SET_GYRO_CALIBRATION_COMMAND: 0x14, + GYRO_CALIBRATION_RESPONSE: 0x15, + GET_GYRO_CALIBRATION_COMMAND: 0x16, + SET_MAG_CALIBRATION_COMMAND: 0x17, + MAG_CALIBRATION_RESPONSE: 0x18, + GET_MAG_CALIBRATION_COMMAND: 0x19, + SET_WR_ACCEL_CALIBRATION_COMMAND: 0x1a, + WR_ACCEL_CALIBRATION_RESPONSE: 0x1b, + GET_WR_ACCEL_CALIBRATION_COMMAND: 0x1c, + STOP_STREAMING_COMMAND: 0x20, + SET_GSR_RANGE_COMMAND: 0x21, + GSR_RANGE_RESPONSE: 0x22, + GET_GSR_RANGE_COMMAND: 0x23, + DEVICE_VERSION_RESPONSE: 0x25, + GET_ALL_CALIBRATION_COMMAND: 0x2c, + ALL_CALIBRATION_RESPONSE: 0x2d, + GET_FW_VERSION_COMMAND: 0x2e, + FW_VERSION_RESPONSE: 0x2f, + SET_CHARGE_STATUS_LED_COMMAND: 0x30, + CHARGE_STATUS_LED_RESPONSE: 0x31, + GET_CHARGE_STATUS_LED_COMMAND: 0x32, + BUFFER_SIZE_RESPONSE: 0x35, + GET_BUFFER_SIZE_COMMAND: 0x36, + SET_MAG_GAIN_COMMAND: 0x37, + MAG_GAIN_RESPONSE: 0x38, + GET_MAG_GAIN_COMMAND: 0x39, + SET_MAG_SAMPLING_RATE_COMMAND: 0x3a, + MAG_SAMPLING_RATE_RESPONSE: 0x3b, + GET_MAG_SAMPLING_RATE_COMMAND: 0x3c, + UNIQUE_SERIAL_RESPONSE: 0x3d, + GET_UNIQUE_SERIAL_COMMAND: 0x3e, + GET_DEVICE_VERSION_COMMAND: 0x3f, + SET_WR_ACCEL_SAMPLING_RATE_COMMAND: 0x40, + WR_ACCEL_SAMPLING_RATE_RESPONSE: 0x41, + GET_WR_ACCEL_SAMPLING_RATE_COMMAND: 0x42, + SET_WR_ACCEL_LPMODE_COMMAND: 0x43, + WR_ACCEL_LPMODE_RESPONSE: 0x44, + GET_WR_ACCEL_LPMODE_COMMAND: 0x45, + SET_WR_ACCEL_HRMODE_COMMAND: 0x46, + WR_ACCEL_HRMODE_RESPONSE: 0x47, + GET_WR_ACCEL_HRMODE_COMMAND: 0x48, + SET_GYRO_RANGE_COMMAND: 0x49, + GYRO_RANGE_RESPONSE: 0x4a, + GET_GYRO_RANGE_COMMAND: 0x4b, + SET_GYRO_SAMPLING_RATE_COMMAND: 0x4c, + GYRO_SAMPLING_RATE_RESPONSE: 0x4d, + GET_GYRO_SAMPLING_RATE_COMMAND: 0x4e, + SET_ALT_ACCEL_RANGE_COMMAND: 0x4f, + ALT_ACCEL_RANGE_RESPONSE: 0x50, + GET_ALT_ACCEL_RANGE_COMMAND: 0x51, + SET_PRESSURE_OVERSAMPLING_RATIO_COMMAND: 0x52, + PRESSURE_OVERSAMPLING_RATIO_RESPONSE: 0x53, + GET_PRESSURE_OVERSAMPLING_RATIO_COMMAND: 0x54, + BMP180_CALIBRATION_COEFFICIENTS_RESPONSE: 0x58, + GET_BMP180_CALIBRATION_COEFFICIENTS_COMMAND: 0x59, + RESET_TO_DEFAULT_CONFIGURATION_COMMAND: 0x5a, + RESET_CALIBRATION_VALUE_COMMAND: 0x5b, + MPU9150_MAG_SENS_ADJ_VALS_RESPONSE: 0x5c, + GET_MPU9150_MAG_SENS_ADJ_VALS_COMMAND: 0x5d, + SET_INTERNAL_EXP_POWER_ENABLE_COMMAND: 0x5e, + INTERNAL_EXP_POWER_ENABLE_RESPONSE: 0x5f, + GET_INTERNAL_EXP_POWER_ENABLE_COMMAND: 0x60, + SET_EXG_REGS_COMMAND: 0x61, + EXG_REGS_RESPONSE: 0x62, + GET_EXG_REGS_COMMAND: 0x63, + SET_DAUGHTER_CARD_ID_COMMAND: 0x64, + DAUGHTER_CARD_ID_RESPONSE: 0x65, + GET_DAUGHTER_CARD_ID_COMMAND: 0x66, + SET_DAUGHTER_CARD_MEM_COMMAND: 0x67, + DAUGHTER_CARD_MEM_RESPONSE: 0x68, + GET_DAUGHTER_CARD_MEM_COMMAND: 0x69, + SET_DERIVED_CHANNEL_BYTES: 0x6d, + DERIVED_CHANNEL_BYTES_RESPONSE: 0x6e, + GET_DERIVED_CHANNEL_BYTES: 0x6f, + START_SDBT_COMMAND: 0x70, + STATUS_RESPONSE: 0x71, + GET_STATUS_COMMAND: 0x72, + SET_TRIAL_CONFIG_COMMAND: 0x73, + TRIAL_CONFIG_RESPONSE: 0x74, + GET_TRIAL_CONFIG_COMMAND: 0x75, + SET_CENTER_COMMAND: 0x76, + CENTER_RESPONSE: 0x77, + GET_CENTER_COMMAND: 0x78, + SET_SHIMMERNAME_COMMAND: 0x79, + SHIMMERNAME_RESPONSE: 0x7a, + GET_SHIMMERNAME_COMMAND: 0x7b, + SET_EXPID_COMMAND: 0x7c, + EXPID_RESPONSE: 0x7d, + GET_EXPID_COMMAND: 0x7e, + SET_MYID_COMMAND: 0x7f, + MYID_RESPONSE: 0x80, + GET_MYID_COMMAND: 0x81, + SET_NSHIMMER_COMMAND: 0x82, + NSHIMMER_RESPONSE: 0x83, + GET_NSHIMMER_COMMAND: 0x84, + SET_CONFIGTIME_COMMAND: 0x85, + CONFIGTIME_RESPONSE: 0x86, + GET_CONFIGTIME_COMMAND: 0x87, + DIR_RESPONSE: 0x88, + GET_DIR_COMMAND: 0x89, + INSTREAM_CMD_RESPONSE: 0x8a, + SET_CRC_COMMAND: 0x8b, + SET_INFOMEM_COMMAND: 0x8c, + INFOMEM_RESPONSE: 0x8d, + GET_INFOMEM_COMMAND: 0x8e, + SET_RWC_COMMAND: 0x8f, + RWC_RESPONSE: 0x90, + GET_RWC_COMMAND: 0x91, + START_LOGGING_COMMAND: 0x92, + STOP_LOGGING_COMMAND: 0x93, + VBATT_RESPONSE: 0x94, + GET_VBATT_COMMAND: 0x95, + TEST_CONNECTION_COMMAND: 0x96, + STOP_SDBT_COMMAND: 0x97, + SET_CALIB_DUMP_COMMAND: 0x98, + RSP_CALIB_DUMP_COMMAND: 0x99, + GET_CALIB_DUMP_COMMAND: 0x9a, + UPD_CALIB_DUMP_COMMAND: 0x9b, + UPD_SDLOG_CFG_COMMAND: 0x9c, + BMP280_CALIBRATION_COEFFICIENTS_RESPONSE: 0x9f, + GET_BMP280_CALIBRATION_COEFFICIENTS_COMMAND: 0xa0, + GET_BT_VERSION_STR_COMMAND: 0xa1, + BT_VERSION_STR_RESPONSE: 0xa2, + SET_INSTREAM_RESPONSE_ACK_PREFIX_STATE: 0xa3, + SET_DATA_RATE_TEST: 0xa4, + DATA_RATE_TEST_RESPONSE: 0xa5, + PRESSURE_CALIBRATION_COEFFICIENTS_RESPONSE: 0xa6, + GET_PRESSURE_CALIBRATION_COEFFICIENTS_COMMAND: 0xa7, + SET_FACTORY_TEST: 0xa8, + SET_ALT_ACCEL_CALIBRATION_COMMAND: 0xa9, + ALT_ACCEL_CALIBRATION_RESPONSE: 0xaa, + GET_ALT_ACCEL_CALIBRATION_COMMAND: 0xab, + SET_ALT_ACCEL_SAMPLING_RATE_COMMAND: 0xac, + ALT_ACCEL_SAMPLING_RATE_RESPONSE: 0xad, + GET_ALT_ACCEL_SAMPLING_RATE_COMMAND: 0xae, + SET_ALT_MAG_CALIBRATION_COMMAND: 0xaf, + ALT_MAG_CALIBRATION_RESPONSE: 0xb0, + GET_ALT_MAG_CALIBRATION_COMMAND: 0xb1, + SET_ALT_MAG_SAMPLING_RATE_COMMAND: 0xb2, + ALT_MAG_SAMPLING_RATE_RESPONSE: 0xb3, + GET_ALT_MAG_SAMPLING_RATE_COMMAND: 0xb4, + DUMMY_COMMAND: 0xb5, + RESET_BT_ERROR_COUNTS: 0xb6, + SET_FEATURE: 0xb7, + SET_SD_SYNC_COMMAND: 0xe0, + SD_SYNC_RESPONSE: 0xe1, + NACK_COMMAND_PROCESSED: 0xfe, + ACK_COMMAND_PROCESSED: 0xff, +}); +/** Default BLE service / characteristic UUIDs for Shimmer3R. */ +const SHIMMER3R_DEFAULTS = Object.freeze({ + SERVICE_UUID: '65333333-a115-11e2-9e9a-0800200ca100', + /** Write characteristic (host โ†’ device). */ + CHAR_RX_UUID: '65333333-a115-11e2-9e9a-0800200ca102', + /** Notify characteristic (device โ†’ host). */ + CHAR_TX_UUID: '65333333-a115-11e2-9e9a-0800200ca101', +}); +/** + * Timestamp field descriptors keyed by width. + * Shimmer3R firmware โ‰ฅ v1.0.22 always uses u24. + */ +const TIMESTAMP_FIELD = Object.freeze({ + u16: { name: 'TIMESTAMP', fmt: 'u16', endian: 'le', sizeBytes: 2 }, + u24: { name: 'TIMESTAMP', fmt: 'u24', endian: 'le', sizeBytes: 3 }, +}); +/** GSR signal name constant used in ObjectCluster fields. */ +const GSR_NAME = 'GSR'; +/** ADC limit below which GSR range-3 calibration is clamped. */ +const GSR_UNCAL_LIMIT_RANGE3 = 683; +/** + * Shimmer3R GSR resistance min/max per hardware range (kฮฉ). + * Index 0 = range 0 (8โ€“63 kฮฉ) โ€ฆ index 3 = range 3 (680โ€“4700 kฮฉ). + */ +const SHIMMER3_GSR_RESISTANCE_MIN_MAX_KOHMS = [ + [8.0, 63.0], + [63.0, 220.0], + [220.0, 680.0], + [680.0, 4700.0], +]; + +/** + * Sensor enable bitmasks for Shimmer3 / Shimmer3R. + * + * Values are 24-bit integers sent as the payload of SET_SENSORS_CMD. + * Multiple sensors are ORed together. + * + * @example + * ```ts + * const mask = SensorBitmapShimmer3.SENSOR_GYRO | SensorBitmapShimmer3.SENSOR_A_ACCEL; + * await client.setSensors(mask); + * ``` + */ +const SensorBitmapShimmer3 = Object.freeze({ + SENSOR_A_ACCEL: 0x000080, + SENSOR_GYRO: 0x000040, + SENSOR_MAG: 0x000020, + SENSOR_GSR: 0x000004, + SENSOR_VBATT: 0x002000, + SENSOR_D_ACCEL: 0x001000, + SENSOR_PRESSURE: 0x040000, + SENSOR_EXG1_24BIT: 0x000010, + SENSOR_EXG2_24BIT: 0x000008, + SENSOR_EXG1_16BIT: 0x100000, + SENSOR_EXG2_16BIT: 0x080000, + SENSOR_BRIDGE_AMP: 0x008000, + SENSOR_ACCEL_ALT: 0x400000, + SENSOR_MAG_ALT: 0x200000, + SENSOR_EXT_A0: 0x000002, + SENSOR_EXT_A1: 0x000001, + SENSOR_EXT_A2: 0x000800, + SENSOR_INT_A3: 0x000400, + SENSOR_INT_A0: 0x000200, + SENSOR_INT_A1: 0x000100, + SENSOR_INT_A2: 0x800000, +}); + +/** + * Mapping from Shimmer3R channel ID byte to its format descriptor. + * Channel IDs are reported in the INQUIRY_RSP payload. + */ +const CHANNEL_FORMATS = Object.freeze({ + 0x00: { name: 'LN_ACCEL_X', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x01: { name: 'LN_ACCEL_Y', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x02: { name: 'LN_ACCEL_Z', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x04: { name: 'WR_ACCEL_X', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x05: { name: 'WR_ACCEL_Y', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x06: { name: 'WR_ACCEL_Z', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x14: { name: 'HG_ACCEL_X', fmt: 'i12*', endian: 'le', sizeBytes: 2 }, + 0x15: { name: 'HG_ACCEL_Y', fmt: 'i12*', endian: 'le', sizeBytes: 2 }, + 0x16: { name: 'HG_ACCEL_Z', fmt: 'i12*', endian: 'le', sizeBytes: 2 }, + 0x0a: { name: 'GYRO_X', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x0b: { name: 'GYRO_Y', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x0c: { name: 'GYRO_Z', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x07: { name: 'MAG_X', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x08: { name: 'MAG_Y', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x09: { name: 'MAG_Z', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x1d: { name: 'Exg1_Status', fmt: 'u8', endian: 'le', sizeBytes: 1 }, + 0x20: { name: 'Exg2_Status', fmt: 'u8', endian: 'le', sizeBytes: 1 }, + 0x1e: { name: 'Exg1_CH1_24Bit', fmt: 'i24', endian: 'be', sizeBytes: 3 }, + 0x1f: { name: 'Exg1_CH2_24Bit', fmt: 'i24', endian: 'be', sizeBytes: 3 }, + 0x21: { name: 'Exg2_CH1_24Bit', fmt: 'i24', endian: 'be', sizeBytes: 3 }, + 0x22: { name: 'Exg2_CH2_24Bit', fmt: 'i24', endian: 'be', sizeBytes: 3 }, + 0x23: { name: 'Exg1_CH1_16Bit', fmt: 'i16', endian: 'be', sizeBytes: 2 }, + 0x24: { name: 'Exg1_CH2_16Bit', fmt: 'i16', endian: 'be', sizeBytes: 2 }, + 0x25: { name: 'Exg2_CH1_16Bit', fmt: 'i16', endian: 'be', sizeBytes: 2 }, + 0x26: { name: 'Exg2_CH2_16Bit', fmt: 'i16', endian: 'be', sizeBytes: 2 }, + 0x12: { name: 'PPG', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x1c: { name: 'GSR', fmt: 'u16', endian: 'le', sizeBytes: 2 }, +}); + +// --------------------------------------------------------------------------- +// ADC helpers +// --------------------------------------------------------------------------- +/** + * Convert a Shimmer3R 12-bit ADC value to millivolts. + * + * @param unCalData Raw 12-bit ADC sample. + * @param offset ADC offset (typically 0). + * @param vRefP Reference voltage in volts (typically 3 V for Shimmer3R). + * @param gain Amplifier gain (typically 1). + * @returns Calibrated voltage in millivolts. + */ +function calibrateU12AdcValue(unCalData, offset, vRefP, gain) { + return (unCalData - offset) * ((vRefP * 1000) / gain / 4095); +} +/** + * Convert a Shimmer3R ADC channel value to millivolts using the + * default Shimmer3R ADC parameters (Vref = 3 V, gain = 1, offset = 0). + * + * @param unCalData Raw 12-bit ADC sample. + * @returns Voltage in millivolts. + */ +function calibrateShimmer3RAdcChannel(unCalData) { + return calibrateU12AdcValue(unCalData, 0, 3, 1); +} +// --------------------------------------------------------------------------- +// GSR calibration +// --------------------------------------------------------------------------- +/** + * Convert a raw GSR ADC sample to skin resistance (kฮฉ) using the + * Shimmer3R amplifier equation. + * + * Reference resistors per range (kฮฉ): [40.2, 287.0, 1000.0, 3300.0]. + * + * @param gsrUncalibratedData Raw 12-bit GSR ADC value. + * @param range Hardware range index 0โ€“3. + * @returns Resistance in kฮฉ. + */ +function calibrateGsrDataToResistanceFromAmplifierEq(gsrUncalibratedData, range) { + const SHIMMER3_REF_KOHMS = [40.2, 287.0, 1000.0, 3300.0]; + const rFeedback = SHIMMER3_REF_KOHMS[range]; + const volts = calibrateShimmer3RAdcChannel(gsrUncalibratedData) / 1000.0; // mV โ†’ V + const rSource = rFeedback / (volts / 0.5 - 1.0); + return rSource; +} +/** + * Clamp a GSR resistance value to the physical limits of a given range. + * + * When `gsrRangeSetting === 4` (auto-range) no clamping is applied. + * + * @param gsrResistanceKOhms Calibrated resistance in kฮฉ. + * @param gsrRangeSetting Range 0โ€“3 (fixed) or 4 (auto). + * @returns Clamped resistance in kฮฉ. + */ +function nudgeGsrResistance(gsrResistanceKOhms, gsrRangeSetting) { + if (gsrRangeSetting === 4) + return gsrResistanceKOhms; + const [minVal, maxVal] = SHIMMER3_GSR_RESISTANCE_MIN_MAX_KOHMS[gsrRangeSetting]; + return Math.max(minVal, Math.min(maxVal, gsrResistanceKOhms)); +} +// --------------------------------------------------------------------------- +// ExG (ADS1292R) oversampling ratio +// --------------------------------------------------------------------------- +/** + * Determine the ADS1292R oversampling ratio config byte for a given + * Shimmer3R sampling rate. + * + * This value is ORed into the lower 3 bits of ExG config byte index 4. + * + * @param samplingRate Shimmer3R sampling rate in Hz (must be โ‰ฅ 0). + * @returns Oversampling ratio index 0โ€“6. + */ +function getOversamplingRatioADS1292R(samplingRate) { + if (!Number.isFinite(samplingRate)) { + throw new TypeError('samplingRate must be a finite number'); + } + if (samplingRate < 0) { + throw new RangeError('samplingRate must be non-negative'); + } + if (samplingRate < 125) + return 0; + if (samplingRate < 250) + return 1; + if (samplingRate < 500) + return 2; + if (samplingRate < 1000) + return 3; + if (samplingRate < 2000) + return 4; + if (samplingRate < 4000) + return 5; + return 6; // โ‰ฅ 4000 Hz +} + +/** + * Low-level byte-manipulation utilities used by the Shimmer3R protocol decoder. + * All functions are pure and have no side-effects, making them straightforward + * to unit-test without a BLE device. + */ +/** Concatenate two Uint8Arrays. */ +function concatU8(a, b) { + const out = new Uint8Array(a.length + b.length); + out.set(a); + out.set(b, a.length); + return out; +} +/** Read a 16-bit unsigned integer, little-endian. */ +function u16le$1(b, o) { + return (b[o] | (b[o + 1] << 8)) >>> 0; +} +/** Read a 16-bit unsigned integer, big-endian. */ +function u16be(b, o) { + return ((b[o] << 8) | b[o + 1]) >>> 0; +} +/** Read a 24-bit unsigned integer, little-endian. */ +function u24le$1(b, o) { + return (b[o] | (b[o + 1] << 8) | (b[o + 2] << 16)) >>> 0; +} +/** Read a 24-bit unsigned integer, big-endian. */ +function u24be(b, o) { + return ((b[o] << 16) | (b[o + 1] << 8) | b[o + 2]) >>> 0; +} +/** Sign-extend a 16-bit value to a signed integer. */ +function sign16(v) { + return v & 0x8000 ? v | 0xffff0000 : v; +} +/** Sign-extend a 24-bit value to a signed integer. */ +function sign24(v) { + return v & 0x800000 ? v | 0xff000000 : v; +} +/** Format a byte as a 2-digit uppercase hex string. */ +function hex2(v) { + return v.toString(16).padStart(2, '0').toUpperCase(); +} + +function toArrayBuffer(u8) { + if (u8.buffer instanceof ArrayBuffer) { + if (u8.byteOffset === 0 && u8.byteLength === u8.buffer.byteLength) + return u8.buffer; + return u8.buffer.slice(u8.byteOffset, u8.byteOffset + u8.byteLength); + } + const out = new Uint8Array(u8.byteLength); + out.set(u8); + return out.buffer; +} + +// --------------------------------------------------------------------------- +// Shimmer3RClient +// --------------------------------------------------------------------------- +/** + * Web Bluetooth client for the Shimmer3R sensor platform. + * + * Implements the ACK-first command flow used by Shimmer3R firmware โ‰ฅ v1.0.22: + * every configuration command awaits an ACK (0xFF) before resolving. + * Streaming data frames are framed with a DATA preamble (0x00). + * + * @example + * ```ts + * const client = new Shimmer3RClient({ timestampFmt: 'u24', debug: true }); + * client.onStatus = (msg) => console.log(msg); + * client.onStreamFrame = (oc) => { + * const gz = oc.get('GYRO_Z', 'raw')?.value; + * console.log('gz =', gz); + * }; + * + * await client.connect(); + * await client.setSamplingRate(51.2); + * await client.setSensors(SensorBitmapShimmer3.SENSOR_GYRO); + * await client.startStreaming(); + * ``` + */ +class Shimmer3RClient extends BaseShimmerClient { + constructor(opts = {}) { + super(opts); + this.device = null; + this.server = null; + this.rx = null; + this.tx = null; + // Protocol state + this._rxBuf = new Uint8Array(0); + this._temps = new Set(); + this.schema = null; + this._lastAckRemainder = null; + this._expectingAck = 0; + this._streaming = false; + this._lastTs = 0; + // Cached device configuration + this.enabledSensors = 0x000000; + this.samplingRateHz = 0; + this.gsrRangeSetting = 0; + this.ExpPower = 0; + /** Minimum valid GSR conductance in ยตS (below this, connectivity = "Disconnected"). */ + this.LIMIT_MIN_VALID_USIEMENS = 0.03; + // Callbacks + this.onInquiry = null; + this.onExpPowerChanged = null; + // --------------------------------------------------------------------------- + // BLE notify handler + // --------------------------------------------------------------------------- + this._handleNotify = (evt) => { + const chunk = new Uint8Array(evt.target.value.buffer); + this._log('Notify len=', chunk.length, 'data=', chunk); + // 1) Consume an expected ACK + if (chunk.length >= 1 && + chunk[0] === OPCODES.ACK_COMMAND_PROCESSED && + (this._expectingAck ?? 0) > 0) { + this._log('ACK detected at start of notify (expected)'); + this._expectingAck = Math.max(0, this._expectingAck - 1); + const remainder = chunk.slice(1); + this._lastAckRemainder = remainder.length ? remainder : null; + this._emitTemp(new Uint8Array([OPCODES.ACK_COMMAND_PROCESSED])); + if (this._lastAckRemainder) { + if (this._streaming && this._lastAckRemainder[0] === OPCODES.DATA_PACKET) { + this._log('Appending DATA remainder after ACK to stream buffer'); + this._rxBuf = concatU8(this._rxBuf, this._lastAckRemainder); + } + else { + this._log('Forwarding non-DATA remainder to control handlers'); + this._emitTemp(this._lastAckRemainder); + } + this._lastAckRemainder = null; + } + return; + } + // 2) During streaming, all bytes are data-plane + if (this._streaming) { + this._rxBuf = concatU8(this._rxBuf, chunk); + } + else { + this._emitTemp(chunk); + if (chunk.length && chunk[0] === OPCODES.DATA_PACKET) { + this._rxBuf = concatU8(this._rxBuf, chunk); + } + } + // 3) Try parsing if schema is available + if (this.schema) { + try { + this._parseBySchema(); + } + catch (e) { + this._log('parseBySchema error:', e); + } + } + }; + this.serviceUUID = opts.serviceUUID ?? SHIMMER3R_DEFAULTS.SERVICE_UUID; + this.rxUUID = opts.rxUUID ?? SHIMMER3R_DEFAULTS.CHAR_RX_UUID; + this.txUUID = opts.txUUID ?? SHIMMER3R_DEFAULTS.CHAR_TX_UUID; + this.forceTimestampFmt = opts.timestampFmt ?? 'u24'; + } + _log(...args) { + if (this.debug) + console.log('[Shimmer3R]', ...args); + } + // --------------------------------------------------------------------------- + // Connection management + // --------------------------------------------------------------------------- + async connect() { + this._emitStatus('Requesting Bluetooth deviceโ€ฆ'); + this.device = await navigator.bluetooth.requestDevice({ + filters: [{ services: [this.serviceUUID] }], + optionalServices: [this.serviceUUID], + }); + this._emitStatus(`Selected: ${this.device.name ?? 'Shimmer3R'}`); + this.server = await this.device.gatt.connect(); + this._emitStatus('GATT connected'); + const svc = await this.server.getPrimaryService(this.serviceUUID); + this.rx = await svc.getCharacteristic(this.rxUUID); + this.tx = await svc.getCharacteristic(this.txUUID); + this._emitStatus('RX/TX obtained'); + await this.tx.startNotifications(); + this.tx.addEventListener('characteristicvaluechanged', this._handleNotify); + this._emitStatus('Notifications started'); + } + async disconnect() { + try { + if (this.tx) { + try { + await this.tx.stopNotifications(); + } + catch { + /* ignore */ + } + this.tx.removeEventListener('characteristicvaluechanged', this._handleNotify); + } + if (this.device?.gatt?.connected) + this.device.gatt.disconnect(); + } + finally { + this.device = this.server = this.rx = this.tx = null; + this._rxBuf = new Uint8Array(0); + this.schema = null; + this._streaming = false; + this.ExpPower = 0; + this._emitStatus('Disconnected'); + } + } + // --------------------------------------------------------------------------- + // Configuration commands + // --------------------------------------------------------------------------- + /** + * Control the internal expansion power rail (required for ExG/EMG/ECG). + * @param expPower 0 = disable, 1 = enable. + */ + async setInternalExpPower(expPower) { + if (expPower !== 0 && expPower !== 1) + throw new Error('expPower must be 0 (off) or 1 (on)'); + if (!this.rx) + throw new Error('Not connected (RX missing)'); + const cmd = new Uint8Array([OPCODES.SET_INTERNAL_EXP_POWER_ENABLE_COMMAND, expPower]); + this._emitStatus(`SET_INTERNAL_EXP_POWER_ENABLE_CMD โ†’ ${expPower ? 'ON' : 'OFF'} waiting for ACKโ€ฆ`); + const ackRemainder = await this._writeExpectingAck(cmd, 1500); + this._emitStatus(`Expansion power ${expPower ? 'enabled' : 'disabled'} (ACK received).`); + this.ExpPower = expPower; + try { + this.onExpPowerChanged?.(expPower); + } + catch (e) { + this._log('onExpPowerChanged handler error', e); + } + return { expPower, ackRemainder }; + } + /** + * Set the GSR measurement range. + * @param gsrRange 0 = 8โ€“63 kฮฉ, 1 = 63โ€“220 kฮฉ, 2 = 220โ€“680 kฮฉ, 3 = 680โ€“4700 kฮฉ, 4 = Auto. + */ + async setGSRRange(gsrRange) { + if (!Number.isInteger(gsrRange) || gsrRange < 0 || gsrRange > 4) { + throw new Error('gsrRange must be 0โ€“4'); + } + if (!this.rx) + throw new Error('Not connected (RX missing)'); + const cmd = new Uint8Array([OPCODES.SET_GSR_RANGE_COMMAND, gsrRange & 0xff]); + this._emitStatus('SET_GSR_RANGE โ†’ waiting for ACKโ€ฆ'); + const ackRemainder = await this._writeExpectingAck(cmd, 1500); + this._emitStatus('SET_GSR_RANGE (ACK received).'); + this.gsrRangeSetting = gsrRange; + return { gsrRange, ackRemainder }; + } + getInternalExpPower() { + return this.ExpPower; + } + getEnabledSensors() { + return this.enabledSensors; + } + /** + * Enable sensors via a 24-bit bitmask. + * Automatically performs an Inquiry after ACK to rebuild the stream schema. + */ + async setSensors(sensors) { + if (!Number.isFinite(sensors)) + throw new Error('sensors must be a finite number'); + if (!this.rx) + throw new Error('Not connected (RX missing)'); + sensors = (sensors >>> 0) & 0xffffff; + const b1 = sensors & 0xff; + const b2 = (sensors >>> 8) & 0xff; + const b3 = (sensors >>> 16) & 0xff; + const cmd = new Uint8Array([OPCODES.SET_SENSORS_COMMAND, b1, b2, b3]); + this._emitStatus(`SET_SENSORS_CMD โ†’ bitmask=0x${sensors.toString(16).toUpperCase().padStart(6, '0')} waiting for ACKโ€ฆ`); + const ackRemainder = await this._writeExpectingAck(cmd, 1500); + this._emitStatus(`Sensors ACK received. Bitmask 0x${sensors.toString(16).toUpperCase().padStart(6, '0')} applied.`); + try { + this._emitStatus('Performing automatic inquiry to refresh schemaโ€ฆ'); + const info = await this.inquiry(); + this.enabledSensors = info.schema.enabledSensors; + this._emitStatus(`Inquiry complete. Enabled sensors: 0x${this.enabledSensors.toString(16).toUpperCase()}`); + } + catch (err) { + this._emitStatus(`Inquiry after setSensors failed: ${err.message}`); + } + return { sensors, ackRemainder, enabledSensors: this.enabledSensors }; + } + /** + * Set the sampling rate. + * The firmware expects a 16-bit divisor: `divisor = floor(32768 / rateHz)`. + */ + async setSamplingRate(rateHz) { + if (!Number.isFinite(rateHz) || rateHz <= 0) { + throw new Error('Sampling rate must be a positive number (Hz)'); + } + if (!this.rx) + throw new Error('Not connected (RX missing)'); + let divisor = Math.floor(32768 / rateHz); + divisor = Math.max(1, Math.min(0xffff, divisor)); + const lsb = divisor & 0xff; + const msb = (divisor >> 8) & 0xff; + const cmd = new Uint8Array([OPCODES.SET_SAMPLING_RATE_COMMAND, lsb, msb]); + this._emitStatus(`Set sampling rate โ†’ ${rateHz.toFixed(3)} Hz (divisor=${divisor}) โ€” waiting for ACKโ€ฆ`); + const ackRemainder = await this._writeExpectingAck(cmd, 1500); + const appliedHz = 32768 / divisor; + this.samplingRateHz = appliedHz; + this._emitStatus(`Sampling rate ACKed. Applied โ‰ˆ ${this.samplingRateHz.toFixed(3)} Hz`); + return { requestedHz: rateHz, appliedHz, divisor, ackRemainder }; + } + // --------------------------------------------------------------------------- + // Inquiry + // --------------------------------------------------------------------------- + /** Send INQUIRY_CMD and parse the response to build the stream schema. */ + async inquiry() { + this._emitStatus('INQUIRY_CMD โ†’ waiting for ACK then RSPโ€ฆ'); + const remainder = await this._writeExpectingAck(new Uint8Array([OPCODES.INQUIRY_COMMAND]), 1500); + if (remainder && remainder[0] === OPCODES.INQUIRY_RESPONSE) { + this._log('Using post-ACK remainder as response'); + const info = this._interpretInquiryResponseShimmer3R(remainder); + this.onInquiry?.(info); + return info; + } + const rsp = await this._waitForResponse(OPCODES.INQUIRY_RESPONSE, 2000); + this._emitStatus(`Inquiry RSP (${rsp.length} bytes)`); + const info = this._interpretInquiryResponseShimmer3R(rsp); + this.onInquiry?.(info); + return info; + } + // --------------------------------------------------------------------------- + // ExG configuration helpers + // --------------------------------------------------------------------------- + /** Enable EMG (ADS1292R) in 16-bit mode on EXG1 & EXG2. */ + async enableEMG16Bit() { + if (!this.rx) + throw new Error('Not connected (RX missing)'); + await this._writeExgPages(new Uint8Array([ + 0x61, 0x00, 0x00, 0x0a, 0x02, 0xa8, 0x10, 0x69, 0x60, 0x20, 0x00, 0x00, 0x02, 0x03, + ]), new Uint8Array([ + 0x61, 0x01, 0x00, 0x0a, 0x02, 0xa0, 0x10, 0xe1, 0xe1, 0x00, 0x00, 0x00, 0x02, 0x01, + ])); + this._emitStatus('EMG 16-bit enabled on EXG1 & EXG2. Schema updated.'); + } + /** Enable EXG test signal in 16-bit mode (useful for verifying ExG hardware). */ + async enableEXGTestSignal16Bit() { + if (!this.rx) + throw new Error('Not connected (RX missing)'); + await this._writeExgPages(new Uint8Array([ + 0x61, 0x00, 0x00, 0x0a, 0x02, 0xab, 0x10, 0x15, 0x15, 0x00, 0x00, 0x00, 0x02, 0x01, + ]), new Uint8Array([ + 0x61, 0x01, 0x00, 0x0a, 0x02, 0xa3, 0x10, 0x15, 0x15, 0x00, 0x00, 0x00, 0x02, 0x01, + ])); + this._emitStatus('EXG test signal 16-bit enabled. Schema updated.'); + } + /** Enable ECG in 16-bit mode on EXG1 & EXG2. */ + async enableECG16Bit() { + if (!this.rx) + throw new Error('Not connected (RX missing)'); + await this._writeExgPages(new Uint8Array([ + 0x61, 0x00, 0x00, 0x0a, 0x02, 0xa8, 0x10, 0x40, 0x40, 0x2d, 0x00, 0x00, 0x02, 0x03, + ]), new Uint8Array([ + 0x61, 0x01, 0x00, 0x0a, 0x02, 0xa0, 0x10, 0x40, 0x47, 0x00, 0x00, 0x00, 0x02, 0x01, + ])); + this._emitStatus('ECG 16-bit enabled on EXG1 & EXG2. Schema updated.'); + } + async _writeExgPages(exg1, exg2) { + const oversamplingRatio = getOversamplingRatioADS1292R(this.samplingRateHz); + exg1 = new Uint8Array(exg1); + exg2 = new Uint8Array(exg2); + exg1[4] = (((exg1[4] >> 3) << 3) | oversamplingRatio) & 0xff; + exg2[4] = (((exg2[4] >> 3) << 3) | oversamplingRatio) & 0xff; + await this._write(exg1); + await new Promise((r) => setTimeout(r, 200)); + await this._write(exg2); + await new Promise((r) => setTimeout(r, 50)); + const targetBits = (SensorBitmapShimmer3.SENSOR_EXG1_16BIT | SensorBitmapShimmer3.SENSOR_EXG2_16BIT) >>> 0; + const newMask = ((this.enabledSensors >>> 0) | targetBits) & 0xffffff; + await this.setSensors(newMask); + } + // --------------------------------------------------------------------------- + // Streaming + // --------------------------------------------------------------------------- + async startStreaming() { + if (!this.schema) + this._emitStatus('Starting stream without schema (not recommended).'); + this._emitStatus('START_STREAM โ†’ waiting for ACKโ€ฆ'); + const remainder = await this._writeExpectingAck(new Uint8Array([OPCODES.START_STREAMING_COMMAND]), 1500); + this._streaming = true; + if (remainder?.length) { + if (remainder[0] === OPCODES.DATA_PACKET) { + this._rxBuf = concatU8(this._rxBuf, remainder); + } + else { + this._emitTemp(remainder); + } + } + this._emitStatus('START_STREAM ACK received; frames should follow'); + } + async stopStreaming() { + this._emitStatus('STOP_STREAM โ†’ sending (no ACK wait)โ€ฆ'); + try { + await this._write(new Uint8Array([OPCODES.STOP_STREAMING_COMMAND])); + this._emitStatus('STOP_STREAM command sent (skipped ACK wait).'); + } + catch (err) { + this._emitStatus(`STOP_STREAM write failed: ${err.message}`); + } + this._streaming = false; + this._rxBuf = new Uint8Array(0); + this._emitStatus('Streaming stopped.'); + } + /** Start streaming AND SD card logging simultaneously. */ + async startStreamingAndLogging() { + if (!this.schema) + this._emitStatus('Starting stream without schema (not recommended).'); + this._emitStatus('START_BT_STREAM_SD_LOGGING โ†’ waiting for ACKโ€ฆ'); + const remainder = await this._writeExpectingAck(new Uint8Array([OPCODES.START_SDBT_COMMAND]), 1500); + this._streaming = true; + if (remainder?.length) { + if (remainder[0] === OPCODES.DATA_PACKET) { + this._rxBuf = concatU8(this._rxBuf, remainder); + } + else { + this._emitTemp(remainder); + } + } + this._emitStatus('START_BT_STREAM_SD_LOGGING ACK received; frames should follow'); + } + /** Stop streaming AND SD card logging. */ + async stopStreamingAndLogging() { + this._emitStatus('STOP_BT_STREAM_SD_LOGGING โ†’ sendingโ€ฆ'); + try { + await this._write(new Uint8Array([OPCODES.STOP_SDBT_COMMAND])); + } + catch (err) { + this._emitStatus(`STOP_BT_STREAM_SD_LOGGING write failed: ${err.message}`); + } + this._streaming = false; + this._rxBuf = new Uint8Array(0); + this._emitStatus('Streaming + logging stopped.'); + } + // --------------------------------------------------------------------------- + // Inquiry response / schema building + // --------------------------------------------------------------------------- + _interpretInquiryResponseShimmer3R(u8) { + let base = 0; + if (u8[0] === OPCODES.INQUIRY_RESPONSE && u8.length >= 2) + base = 1; + const adcRaw = u16le$1(u8, base + 0); + const samplingRateHz = 32768 / adcRaw; + this.samplingRateHz = samplingRateHz; + const cfg = BigInt(u8[base + 2]) | + (BigInt(u8[base + 3]) << 8n) | + (BigInt(u8[base + 4]) << 16n) | + (BigInt(u8[base + 5]) << 24n) | + (BigInt(u8[base + 6]) << 32n) | + (BigInt(u8[base + 7]) << 40n) | + (BigInt(u8[base + 8]) << 48n); + const internalExpPower = Number((cfg >> 24n) & 0x1n); + const gsrRange = Number((cfg >> 25n) & 0x7n); + this.ExpPower = internalExpPower; + this.gsrRangeSetting = gsrRange; + const numCh = u8[base + 9] ?? 0; + const bufSize = u8[base + 10] ?? 0; + const chStart = base + 11; + const channelIds = [...u8.slice(chStart, chStart + numCh)]; + const schema = this._buildSchemaFromChannels(channelIds, this.forceTimestampFmt ?? 'u24'); + this.schema = schema; + this._log(`Schema built: timestampFmt=${schema.timestampFmt}, fields=${schema.fields.length}, enabledSensors=0x${schema.enabledSensors.toString(16)}`); + this._emitStatus(`Expansion power ${this.ExpPower ? 'enabled' : 'disabled'} (ACK received).`); + return { + opcode: u8[0], + adcRaw, + samplingRateHz, + numChannels: numCh, + bufferSize: bufSize, + channelIds, + schema, + bytes: u8.slice(0), + }; + } + _buildSchemaFromChannels(channelIds, timestampFmt) { + const fields = []; + const ts = timestampFmt === 'u24' ? TIMESTAMP_FIELD.u24 : TIMESTAMP_FIELD.u16; + let packetSize = 1 + ts.sizeBytes; // 1 = preamble 0x00 + let enabledSensors = 0; + for (const id of channelIds) { + const fmt = CHANNEL_FORMATS[id]; + if (!fmt) { + fields.push({ id, name: `CH_${hex2(id)}`, fmt: 'i16', endian: 'le', sizeBytes: 2 }); + packetSize += 2; + continue; + } + fields.push({ id, ...fmt }); + packetSize += fmt.sizeBytes ?? 2; + switch (id) { + case 0x00: + case 0x01: + case 0x02: + enabledSensors |= SensorBitmapShimmer3.SENSOR_A_ACCEL; + break; + case 0x04: + case 0x05: + case 0x06: + enabledSensors |= SensorBitmapShimmer3.SENSOR_D_ACCEL; + break; + case 0x14: + case 0x15: + case 0x16: + enabledSensors |= SensorBitmapShimmer3.SENSOR_ACCEL_ALT; + break; + case 0x07: + case 0x08: + case 0x09: + enabledSensors |= SensorBitmapShimmer3.SENSOR_MAG; + break; + case 0x0a: + case 0x0b: + case 0x0c: + enabledSensors |= SensorBitmapShimmer3.SENSOR_GYRO; + break; + case 0x12: + enabledSensors |= SensorBitmapShimmer3.SENSOR_INT_A1; + break; + case 0x1c: + enabledSensors |= SensorBitmapShimmer3.SENSOR_GSR; + break; + case 0x23: + case 0x24: + enabledSensors |= SensorBitmapShimmer3.SENSOR_EXG1_16BIT; + break; + case 0x25: + case 0x26: + enabledSensors |= SensorBitmapShimmer3.SENSOR_EXG2_16BIT; + break; + case 0x1e: + case 0x1f: + enabledSensors |= SensorBitmapShimmer3.SENSOR_EXG1_24BIT; + break; + case 0x21: + case 0x22: + enabledSensors |= SensorBitmapShimmer3.SENSOR_EXG2_24BIT; + break; + default: + console.warn(`โš ๏ธ Unmapped channel ID 0x${id.toString(16)} โ€” added as generic i16.`); + } + } + this.enabledSensors = enabledSensors; + return { timestampFmt, fields, frameBytes: packetSize, enabledSensors, dataPreambleByte: 0x00 }; + } + // --------------------------------------------------------------------------- + // GSR calibration (applied inline during stream parsing) + // --------------------------------------------------------------------------- + _calibrateData(oc) { + const snapshot = [...oc.fields]; + for (const field of snapshot) { + if (field.name === GSR_NAME) { + const rawField = oc.get(GSR_NAME, 'raw'); + const gsrraw = rawField?.value ?? null; + if (gsrraw === null) + continue; + let adc12 = gsrraw & 0x0fff; + let currentRange = this.gsrRangeSetting; + if (currentRange === 4) { + currentRange = (gsrraw >> 14) & 0x03; + } + if (currentRange === 3 && adc12 < GSR_UNCAL_LIMIT_RANGE3) { + adc12 = GSR_UNCAL_LIMIT_RANGE3; + } + let gsrkOhm = calibrateGsrDataToResistanceFromAmplifierEq(adc12, currentRange); + gsrkOhm = nudgeGsrResistance(gsrkOhm, this.gsrRangeSetting); + const gsrConductanceUSiemens = (1.0 / gsrkOhm) * 1000; + oc.add(GSR_NAME, gsrConductanceUSiemens, 'uSiemens', 'cal'); + } + } + } + // --------------------------------------------------------------------------- + // Stream frame parser + // --------------------------------------------------------------------------- + _parseBySchema() { + const sch = this.schema; + const preamble = sch.dataPreambleByte; + const frameBytes = sch.frameBytes >>> 0; + const tsBytes = sch.timestampFmt === 'u16' ? 2 : 3; + const TS_MOD = tsBytes === 3 ? 16777216 : 65536; + let buf = this._rxBuf; + let frames = 0; + let drops = 0; + let anomalies = 0; + while (buf.length >= frameBytes * 2) { + if (buf[0] === preamble && buf[frameBytes] === preamble) { + let ts1, ts2; + try { + ts1 = tsBytes === 2 ? u16le$1(buf, 1) : u24le$1(buf, 1); + ts2 = tsBytes === 2 ? u16le$1(buf, frameBytes + 1) : u24le$1(buf, frameBytes + 1); + } + catch { + buf = buf.subarray(1); + drops++; + continue; + } + const dt = (((ts2 - ts1) % TS_MOD) + TS_MOD) % TS_MOD; + if (dt === 0) { + buf = buf.subarray(1); + drops++; + continue; + } + const frame = buf.subarray(0, frameBytes); + try { + let cursor = 1; + const oc = new ObjectCluster(this.device?.name ?? 'Shimmer3R'); + const ts = tsBytes === 2 ? u16le$1(frame, cursor) : u24le$1(frame, cursor); + cursor += tsBytes; + oc.add('TIMESTAMP', ts, 'ticks', 'raw'); + for (const f of sch.fields) { + if (cursor + f.sizeBytes > frame.length) { + throw new Error(`short frame: need ${f.sizeBytes} @${cursor}, have ${frame.length}`); + } + let v; + switch (f.fmt) { + case 'i16': + v = f.endian === 'be' ? sign16(u16be(frame, cursor)) : sign16(u16le$1(frame, cursor)); + break; + case 'u16': + v = f.endian === 'be' ? u16be(frame, cursor) : u16le$1(frame, cursor); + break; + case 'i24': + v = f.endian === 'be' ? sign24(u24be(frame, cursor)) : sign24(u24le$1(frame, cursor)); + break; + case 'u24': + v = f.endian === 'be' ? u24be(frame, cursor) : u24le$1(frame, cursor); + break; + case 'i12*': { + const msb = frame[cursor] & 0xff; + const lsb = frame[cursor + 1] & 0xff; + const raw12 = (msb << 4) | (lsb >> 4); + v = raw12 & 0x800 ? raw12 - 0x1000 : raw12; + break; + } + case 'u8': + v = frame[cursor]; + break; + default: + v = u16le$1(frame, cursor); + } + cursor += f.sizeBytes; + oc.add(f.name, v, null, 'raw'); + } + if (this._lastTs) { + const dLast = (((ts - this._lastTs) % TS_MOD) + TS_MOD) % TS_MOD; + if (dLast === 0) { + anomalies++; + this._log(`โš ๏ธ Timestamp anomaly#${anomalies}: ts=${ts}, last=${this._lastTs}, ฮ”=0`); + } + } + this._lastTs = ts; + this._calibrateData(oc); + this.onStreamFrame?.(oc); + frames++; + buf = buf.subarray(frameBytes); + } + catch (e) { + this._log('โš ๏ธ frame decode error โ†’ sliding 1 byte', e.message); + buf = buf.subarray(1); + drops++; + } + continue; + } + buf = buf.subarray(1); + drops++; + if (this.debug && drops % 64 === 1) { + this._log(`resync: dropped ${drops} byte(s) so far; bufLen=${buf.length}`); + } + } + this._rxBuf = buf; + if (drops && drops % 512 === 0) + this._lastTs = 0; + if (this.debug && (frames || drops)) { + this._log(`parse: frames=${frames}, drops=${drops}, leftover=${this._rxBuf.length}`); + } + } + // --------------------------------------------------------------------------- + // Low-level transport helpers + // --------------------------------------------------------------------------- + async _write(u8) { + if (!this.rx) + throw new Error('Not connected (RX missing)'); + this._log('Write', u8); + await this.rx.writeValue(toArrayBuffer(u8)); + } + async _writeExpectingAck(u8, ackTimeoutMs = 1000) { + this._expectingAck++; + try { + await this._write(u8); + return await this._waitForAck(ackTimeoutMs); + } + catch (e) { + this._expectingAck = Math.max(0, this._expectingAck - 1); + throw e; + } + } + _waitForAck(timeoutMs = 1000) { + return new Promise((resolve, reject) => { + const t = setTimeout(() => { + this._offTemp(handler); + reject(new Error('ACK timeout')); + }, timeoutMs); + const handler = (chunk) => { + if (!chunk || chunk.length === 0) + return; + if (chunk.length === 1 && chunk[0] === OPCODES.ACK_COMMAND_PROCESSED) { + clearTimeout(t); + this._offTemp(handler); + const rem = this._lastAckRemainder; + this._lastAckRemainder = null; + resolve(rem ?? null); + return; + } + if (chunk[0] === OPCODES.ACK_COMMAND_PROCESSED && chunk.length > 1) { + clearTimeout(t); + this._offTemp(handler); + resolve(chunk.slice(1)); + } + }; + this._onTemp(handler); + }); + } + _waitForResponse(expectedOpcode, timeoutMs = 1500) { + if (this._lastAckRemainder && this._lastAckRemainder[0] === expectedOpcode) { + const rem = this._lastAckRemainder; + this._lastAckRemainder = null; + return Promise.resolve(rem); + } + return new Promise((resolve, reject) => { + const t = setTimeout(() => { + this._offTemp(handler); + reject(new Error('Response timeout')); + }, timeoutMs); + const handler = (chunk) => { + if (!chunk || chunk.length === 0) + return; + if (chunk.length === 1 && chunk[0] === OPCODES.ACK_COMMAND_PROCESSED) + return; + if (chunk[0] === expectedOpcode) { + clearTimeout(t); + this._offTemp(handler); + resolve(chunk); + } + }; + this._onTemp(handler); + }); + } + _onTemp(fn) { + this._temps.add(fn); + } + _offTemp(fn) { + this._temps.delete(fn); + } + _emitTemp(buf) { + this._temps.forEach((fn) => { + try { + fn(buf); + } + catch (e) { + this._log('temp handler error', e); + } + }); + } +} + +// --------------------------------------------------------------------------- +// Nordic UART Service (NUS) UUIDs used by Verisense devices +// --------------------------------------------------------------------------- +/** NUS primary service UUID. */ +const NUS_SERVICE = '6e400001-b5a3-f393-e0a9-e50e24dcca9e'; +/** NUS TX characteristic UUID (host writes to this). */ +const NUS_TX = '6e400002-b5a3-f393-e0a9-e50e24dcca9e'; +/** NUS RX characteristic UUID (host subscribes to notifications from this). */ +const NUS_RX = '6e400003-b5a3-f393-e0a9-e50e24dcca9e'; +/** Nordic Secure DFU primary service UUID (0xFE59). */ +const NORDIC_DFU_SERVICE = '0000fe59-0000-1000-8000-00805f9b34fb'; +/** Nordic DFU control-point characteristic UUID. */ +const NORDIC_DFU_CONTROL_CHAR = '8ec90001-f315-4f60-9fb8-838830daea50'; +/** Nordic DFU packet characteristic UUID. */ +const NORDIC_DFU_PACKET_CHAR = '8ec90002-f315-4f60-9fb8-838830daea50'; +/** Nordic buttonless DFU characteristic UUID (write 0x01 to reboot to bootloader). */ +const NORDIC_DFU_BUTTONLESS_CHAR = '8ec90003-f315-4f60-9fb8-838830daea50'; +// --------------------------------------------------------------------------- +// Verisense protocol command/property constants +// --------------------------------------------------------------------------- +/** Upper-nibble command classes used in protocol headers. */ +const ASM_COMMAND = Object.freeze({ + READ: 0x10, + WRITE: 0x20, + RESPONSE: 0x30, + ACK: 0x40, + NACK_BAD_HEADER_COMMAND: 0x50, + NACK_BAD_HEADER_PROPERTY: 0x60, + NACK_GENERIC: 0x70, + ACK_NEXT_STAGE: 0x80, +}); +/** Lower-nibble property IDs used in protocol headers. */ +const ASM_PROPERTY = Object.freeze({ + STATUS1: 0x01, + DATA: 0x02, + PRODUCTION_CONFIGURATION: 0x03, + OPERATIONAL_CONFIGURATION: 0x04, + TIME: 0x05, + DFU_MODE: 0x06, + PENDING_EVENTS: 0x07, + TEST_MODE: 0x08, + DEBUG_COMMAND: 0x09, + STREAM_MODE: 0x0a, + DEVICE_DISCONNECT: 0x0b, + STATUS2: 0x0c, +}); +/** Stream mode payload values. */ +const STREAM_MODE = Object.freeze({ + ENABLE: 0x01, + DISABLE: 0x02, +}); +/** Test mode IDs documented by Verisense firmware. */ +const TEST_MODE_ID = Object.freeze({ + STOP: 0x00, + FLASH_8MB_1: 0x01, + FLASH_8MB_2: 0x02, + FLASH_128MB_512MB: 0x03, + EEPROM: 0x04, + ACCEL1_LIS2DW12: 0x05, + BATTERY_VOLTAGE: 0x06, + USB_POWER: 0x07, + ACCEL2_GYRO_LSM6DS3: 0x08, + PPG_MAX86XXX: 0x09, + BIOZ_MAX30002: 0x0b, + ACCEL2_GYRO_LSM6DSV: 0x0c, + MAG_LIS2MDL: 0x0d, + TEST_REPORT: 0xfe, + ALL_TESTS: 0xff, +}); +/** Debug command IDs documented by Verisense firmware. */ +const DEBUG_COMMAND_ID = Object.freeze({ + FLASH_LOOKUP_TABLE_READ: 0x01, + FLASH_LOOKUP_TABLE_ERASE: 0x02, + RWC_SCHEDULER_READ: 0x03, + ERASE_128MB_512MB_FLASH: 0x04, + ERASE_8MB_FLASH_1: 0x05, + ERASE_8MB_FLASH_2: 0x06, + ERASE_OPERATIONAL_CONFIG: 0x07, + ERASE_PRODUCTION_CONFIG: 0x08, + CLEAR_PENDING_EVENTS: 0x09, + ERASE_FLASH_AND_LOOKUP_TABLE: 0x0a, + TEST_DATA_TRANSFER_LOOP: 0x0b, + LOAD_TEST_LOOKUP_TABLE: 0x0c, + LED_TEST: 0x0d, + MAX86XXX_LED_TEST: 0x0e, + CHECK_PAYLOAD_CRC_ERRORS: 0x0f, + READ_EVENT_LOG: 0x10, + POWER_PROFILER_TEST: 0x11, + READ_RECORD_BUFFER_DETAILS: 0x12, + SYSTEM_RESET: 0x13, + IC_POWER_CONSUMPTION_TEST: 0x14, + DELETE_ALL_BONDS: 0x15, +}); +// --------------------------------------------------------------------------- +// Operational config byte offsets +// --------------------------------------------------------------------------- +/** + * Byte indices into the Verisense operational config blob (`op[OP_IDX.xxx]`). + * Index 0 is the config version byte (must be 0x5A for a valid config). + */ +const OP_IDX = Object.freeze({ + GEN_CFG_0: 1, + GEN_CFG_1: 2, + GEN_CFG_2: 3, + GEN_CFG_3: 4, + ACCEL1_CFG_0: 5, + ACCEL1_CFG_1: 6, + ACCEL1_CFG_2: 7, + ACCEL1_CFG_3: 8, + GYRO_ACCEL2_CFG_0: 10, + GYRO_ACCEL2_CFG_1: 11, + GYRO_ACCEL2_CFG_2: 12, + GYRO_ACCEL2_CFG_3: 13, + GYRO_ACCEL2_CFG_4: 14, + GYRO_ACCEL2_CFG_5: 15, + GYRO_ACCEL2_CFG_6: 16, + GYRO_ACCEL2_CFG_7: 17, + START_TIME: 21, + END_TIME: 25, + INACTIVE_TIMEOUT: 29, + BLE_RETRY_COUNT: 30, + BLE_TX_POWER: 31, + BLE_DATA_TRANS_WKUP_INT_HRS: 32, + BLE_DATA_TRANS_WKUP_TIME: 33, + BLE_DATA_TRANS_WKUP_DUR: 35, + BLE_DATA_TRANS_RETRY_INT: 36, + BLE_STATUS_WKUP_INT_HRS: 38, + BLE_STATUS_WKUP_TIME: 39, + BLE_STATUS_WKUP_DUR: 41, + BLE_STATUS_RETRY_INT: 42, + BLE_RTC_SYNC_WKUP_INT_HRS: 44, + BLE_RTC_SYNC_WKUP_TIME: 45, + BLE_RTC_SYNC_WKUP_DUR: 47, + BLE_RTC_SYNC_RETRY_INT: 48, + ADC_CHANNEL_SETTINGS_0: 50, + ADC_CHANNEL_SETTINGS_1: 51, + ADAPTIVE_SCHEDULER_INT: 52, + ADAPTIVE_SCHEDULER_FAILCOUNT_MAX: 54, + PPG_REC_DUR_SECS_LSB: 55, + PPG_REC_DUR_SECS_MSB: 56, + PPG_REC_INT_MINS_LSB: 57, + PPG_REC_INT_MINS_MSB: 58, + PPG_FIFO_CONFIG: 59, + PPG_MODE_CONFIG2: 60, + PPG_MA_DEFAULT: 61, + PPG_MA_MAX_RED_IR: 62, + PPG_MA_MAX_GREEN_BLUE: 63, + PPG_AGC_TARGET_PERCENT_OF_RANGE: 64, + PPG_MA_LED_PILOT: 66, + PPG_DAC1_CROSSTALK: 67, + PPG_DAC2_CROSSTALK: 68, + PPG_DAC3_CROSSTALK: 69, + PPG_DAC4_CROSSTALK: 70, + PROX_AGC_MODE: 71, +}); +/** + * Factory test type selection byte sent as the last byte of a TEST_REPORT (0xFE) payload. + * Mirrors the firmware `factory_test_t` enum. + */ +const FACTORY_TEST = Object.freeze({ + MAIN: 0, + LEDS: 1, + ICS: 2, + LED_STATES: 3, +}); + +/** Read a 16-bit unsigned integer, little-endian. */ +function u16le(b0, b1) { + return (b1 << 8) | b0; +} +/** Read a signed 16-bit integer at byte offset `off`, little-endian. */ +function i16le(bytes, off) { + const v = bytes[off] | (bytes[off + 1] << 8); + return v & 0x8000 ? v - 0x10000 : v; +} +/** Read a 24-bit unsigned integer at byte offset `off`, little-endian. */ +function u24le(bytes, off) { + return (bytes[off] | (bytes[off + 1] << 8) | (bytes[off + 2] << 16)) >>> 0; +} +/** Read a 16-bit unsigned integer at byte offset `off`, little-endian (full-array form). */ +function u16le_at(bytes, off) { + return (bytes[off] | (bytes[off + 1] << 8)) >>> 0; +} +/** Return current time in milliseconds. */ +function nowMillis() { + return Date.now(); +} +/** + * Compute CRC-16/CCITT-FALSE over `bytes`. + * + * Parameters: poly=0x1021, init=0xFFFF, xorOut=0x0000. + * Matches the C# `ComputeCRC` implementation used by Verisense firmware. + */ +function crc16_ccitt_false(bytes) { + let crc = 0xffff; + for (let i = 0; i < bytes.length; i++) { + crc ^= bytes[i] << 8; + for (let b = 0; b < 8; b++) { + crc = crc & 0x8000 ? (crc << 1) ^ 0x1021 : crc << 1; + crc &= 0xffff; + } + } + return crc & 0xffff; +} +/** + * Extract the CRC that was appended to a logged payload (last 2 bytes, LE). + */ +function getOriginalCrcLE(payload) { + const n = payload.length; + return (payload[n - 2] | (payload[n - 1] << 8)) >>> 0; +} +/** + * Compute the CRC of a logged payload, excluding the trailing 2 CRC bytes, + * matching the C# `ComputeCRC(payload, 0, payload.Length - 2)` call. + */ +function computeCrcLikeCSharp(payload) { + return crc16_ccitt_false(payload.subarray(0, payload.length - 2)); +} +/** + * Convert any reasonable representation of an operational config to a + * `Uint8Array`. Throws if the input type is unrecognised. + */ +function normalizeOperationalConfig(payload) { + if (!payload) + return null; + if (payload instanceof Uint8Array) + return payload; + if (payload instanceof ArrayBuffer) + return new Uint8Array(payload); + if (Array.isArray(payload)) + return new Uint8Array(payload); + if (payload.buffer instanceof ArrayBuffer) { + const p = payload; + return new Uint8Array(p.buffer, p.byteOffset ?? 0, p.byteLength ?? p.buffer.byteLength); + } + throw new Error('normalizeOperationalConfig: unsupported payload type'); +} +/** Alias for arbitrary protocol byte payload normalization. */ +function normalizeBytePayload(payload) { + return normalizeOperationalConfig(payload); +} +/** + * Derive the 6-digit pairing PIN from a Verisense unique identifier. + * + * The PIN is built from digits 2, 4 and 6 (1-based) of the identifier, + * followed by the decimal value of the final byte padded to 3 digits. + */ +function computeVerisensePairingPin(uniqueId) { + const normalized = String(uniqueId ?? '') + .trim() + .replace(/^Verisense-/i, ''); + if (!/^[0-9a-fA-F]{8,}$/.test(normalized)) { + throw new Error('computeVerisensePairingPin: uniqueId must be a hex identifier string'); + } + if (normalized.length < 6) { + throw new Error('computeVerisensePairingPin: uniqueId must be at least 6 hex characters'); + } + const prefix = `${normalized[1]}${normalized[3]}${normalized[5]}`; + const suffixHex = normalized.slice(-2); + const suffixDec = Number.parseInt(suffixHex, 16); + return `${prefix}${suffixDec.toString().padStart(3, '0')}`; +} +const PROD_CONFIG_FLAG_DFU_ENABLED = 1 << 0; +const LOG_EVENT_NAMES = { + 0: 'NONE', + 1: 'BATTERY_FALL', + 2: 'BATTERY_RECOVER', + 3: 'WRITE_TO_FLASH_SUCCESS', + 4: 'WRITE_TO_FLASH_FAIL_GENERAL', + 5: 'WRITE_TO_FLASH_FULL', + 6: 'WRITE_TO_FLASH_FAIL_CHECK_ADDR_FREE', + 7: 'WRITE_TO_FLASH_FAIL_LOW_BATT_CHECK_ADDR_FREE', + 8: 'WRITE_TO_FLASH_FAIL_LOW_BATT_FLASH_ON', + 9: 'WRITE_TO_FLASH_FAIL_LOW_BATT_FLASH_WRITE', + 10: 'WRITE_TO_FLASH_FAIL_LOW_BATT_BEFORE_START', + 11: 'USB_PLUGGED_IN_SOFT_DEVICE', + 12: 'USB_PLUGGED_OUT_SOFT_DEVICE', + 13: 'RECORDING_PAUSED', + 14: 'RECORDING_RESUMED', + 15: 'BATTERY_RECOVER_IN_BATT_CHECK_TIMER', + 16: 'TSK_FREE_UP_FLASH', + 17: 'FREE_UP_FLASH_FAIL_LOW_BATT', + 18: 'PAYLOAD_PACKAGING_TASK_SET', + 19: 'PAYLOAD_PACKAGING_FUNCTION_CALL', + 20: 'BATTERY_VOLTAGE', + 21: 'TSK_WRITE_LOOKUP_TBL_CHANGES_TO_EEPROM', + 22: 'LPCOMP_ON', + 23: 'LPCOMP_ON_ALREADY', + 24: 'LPCOMP_OFF', + 25: 'LPCOMP_TRIED_BUT_BATT_LOW', + 26: 'BLE_CONNECTED', + 27: 'BLE_DISCONNECTED', + 28: 'TSK_WRITE_FLASH', + 29: 'PPG_TIMER_START', + 30: 'PAYLOAD_OVERSHOT', + 31: 'ADVERTISING_START', + 32: 'ADVERTISING_STOP', + 33: 'NIMH_BATT_PPG_BLOCKED_BLE_RETRY', + 34: 'NIMH_BATT_PPG_BLOCKED_BLE_ADAPT_SCH', + 35: 'NIMH_BATT_PPG_BLOCKED_BLE_PENDING_EVENTS', + 36: 'NIMH_BATT_BLE_BLOCKED_PPG', + 37: 'USB_PORT_OPEN', + 38: 'USB_PORT_CLOSED', + 39: 'FIFO_INT_SAFETY_CHECK_EVENT_ACCEL1', + 40: 'FIFO_INT_SAFETY_CHECK_EVENT_ACCEL2GYRO', + 41: 'FIFO_INT_SAFETY_CHECK_EVENT_MAX86XXX', + 42: 'FIFO_INT_SAFETY_CHECK_EVENT_MAX3000X', + 43: 'FIFO_INT_SAFETY_CHECK_EVENT_ADC', + 44: 'USB_PLUGGED_IN_PIN_HANDLER', + 45: 'USB_PLUGGED_OUT_PIN_HANDLER', + 46: 'BATTERY_CHARGER_STATUS_BAD_BATTERY', + 47: 'BATTERY_CHARGER_STATUS_CHARGING', + 48: 'BATTERY_CHARGER_STATUS_CHARGING_COMPLETE', + 49: 'BATTERY_CHARGER_STATUS_POWER_DOWN', + 50: 'LTC4123_RECOVERY_ATTEMPT', + 51: 'LTC4123_RECOVERY_GAVE_UP', + 52: 'LTC4123_CHRG_COMPLETE_OVERRIDDEN_BAD_BATT', +}; +const LOOKUP_STATUS_NAMES = { + 0: 'Zero', + 1: 'Full', + 2: '2Del', + 3: 'Emty', + 4: 'Bad', + 5: 'NUse', +}; +function u32le_at(bytes, off) { + return (((bytes[off] ?? 0) | + ((bytes[off + 1] ?? 0) << 8) | + ((bytes[off + 2] ?? 0) << 16) | + ((bytes[off + 3] ?? 0) << 24)) >>> + 0); +} +function decodeAsciiTrimFF(bytes) { + let end = bytes.length; + while (end > 0 && bytes[end - 1] === 0xff) + end--; + if (end === 0) + return ''; + return new TextDecoder().decode(bytes.slice(0, end)); +} +/** Convert unix seconds into Verisense 7-byte RTC payload (4-byte minutes + 3-byte ticks). */ +function unixSecondsToAsmRtcBytes(unixSeconds) { + if (!Number.isFinite(unixSeconds) || unixSeconds < 0) { + throw new Error('unixSecondsToAsmRtcBytes: unixSeconds must be a finite positive number'); + } + const minutes = Math.floor(unixSeconds / 60); + const secondsInMinute = unixSeconds - minutes * 60; + const ticks = Math.floor(secondsInMinute * 32768); + return new Uint8Array([ + minutes & 0xff, + (minutes >> 8) & 0xff, + (minutes >> 16) & 0xff, + (minutes >> 24) & 0xff, + ticks & 0xff, + (ticks >> 8) & 0xff, + (ticks >> 16) & 0xff, + ]); +} +/** Convert Verisense 7-byte RTC payload into unix seconds. */ +function asmRtcBytesToUnixSeconds(rtc7) { + if (rtc7.length !== 7) { + throw new Error('asmRtcBytesToUnixSeconds: payload must be exactly 7 bytes'); + } + const minutes = u32le_at(rtc7, 0); + const ticks = u24le(rtc7, 4); + return minutes * 60 + ticks / 32768.0; +} +/** Convert Verisense 8-byte minute counter payload into unix seconds. */ +function asmRtcMinutesBytesToUnixSeconds(minutes8) { + if (minutes8.length !== 8) { + throw new Error('asmRtcMinutesBytesToUnixSeconds: payload must be exactly 8 bytes'); + } + let minutes = 0n; + for (let i = 0; i < 8; i++) { + minutes |= BigInt(minutes8[i]) << BigInt(i * 8); + } + return Number(minutes) * 60; +} +/** + * Build a production configuration payload (56 bytes) from structured options. + * This matches the Python tooling layout used by ASM_BLE.py / ASM_Device.py. + */ +function buildProductionConfigPayload(opts) { + const mo = String(opts.manufacturingOrderNumberHex ?? '').trim(); + const mac = String(opts.macIdHex ?? '').trim(); + if (!/^[0-9a-fA-F]{8}$/.test(mo)) { + throw new Error('buildProductionConfigPayload: manufacturingOrderNumberHex must be 8 hex chars'); + } + if (!/^[0-9a-fA-F]{4}$/.test(mac)) { + throw new Error('buildProductionConfigPayload: macIdHex must be 4 hex chars'); + } + const uniqueBytes = new Uint8Array(6); + uniqueBytes.set(new Uint8Array(mo.match(/../g).map((h) => Number.parseInt(h, 16))), 0); + uniqueBytes.set(new Uint8Array(mac.match(/../g).map((h) => Number.parseInt(h, 16))), 4); + uniqueBytes.reverse(); + const revHwInternal = (opts.revHwInternal ?? 0) & 0xffff; + const revFwInternal = (opts.revFwInternal ?? 0) & 0xffff; + const out = new Uint8Array(56); + out[0] = 0x5a; + out.set(uniqueBytes, 1); + out[7] = opts.revHwMajor & 0xff; + out[8] = opts.revHwMinor & 0xff; + out[9] = opts.revFwMajor & 0xff; + out[10] = opts.revFwMinor & 0xff; + out[11] = revFwInternal & 0xff; + out[12] = (revFwInternal >> 8) & 0xff; + out[13] = revHwInternal & 0xff; + out[14] = (revHwInternal >> 8) & 0xff; + out.fill(0xff, 15, 56); + const passkeyId = opts.passkeyId ?? ''; + if (passkeyId.length > 0) { + if (passkeyId.length !== 2) { + throw new Error('buildProductionConfigPayload: passkeyId must be 2 chars when provided'); + } + out.set(new TextEncoder().encode(passkeyId), 15); + } + const passkey = opts.passkey ?? ''; + if (passkey.length > 0) { + if (passkey.length !== 6) { + throw new Error('buildProductionConfigPayload: passkey must be 6 chars when provided'); + } + out.set(new TextEncoder().encode(passkey), 17); + } + const advPrefix = opts.advertisingNamePrefix ?? ''; + if (advPrefix.length > 32) { + throw new Error('buildProductionConfigPayload: advertisingNamePrefix must be <= 32 chars'); + } + if (advPrefix.length > 0) { + out.set(new TextEncoder().encode(advPrefix), 23); + } + if (opts.dfuEnabled ?? true) { + out[55] = PROD_CONFIG_FLAG_DFU_ENABLED; + } + return out; +} +/** Parse production configuration with optional passkey/name/flag fields. */ +function parseProductionConfigPayloadFull(response) { + if (response.length < 11) { + throw new Error('parseProductionConfigPayloadFull: payload must be at least 11 bytes'); + } + const base = parseProductionConfigPayload(response); + const uniqueIdentifier = [...response.slice(1, 7)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join('') + .toUpperCase(); + const revHwMajor = response[7] ?? 0; + const revHwMinor = response[8] ?? 0; + const revFwMajor = response[9] ?? 0; + const revFwMinor = response[10] ?? 0; + const revFwInternal = response.length >= 13 ? u16le_at(response, 11) : 0; + const revHwInternal = response.length >= 15 ? u16le_at(response, 13) : 0; + const passkeyId = response.length >= 17 ? decodeAsciiTrimFF(response.slice(15, 17)) : ''; + const passkey = response.length >= 23 ? decodeAsciiTrimFF(response.slice(17, 23)) : ''; + const advertisingNamePrefix = response.length >= 55 ? decodeAsciiTrimFF(response.slice(23, 55)) : ''; + const dfuEnabled = response.length >= 56 ? !!(response[55] & PROD_CONFIG_FLAG_DFU_ENABLED) : true; + return { + ...base, + manufacturingOrderNumber: uniqueIdentifier.slice(0, 8), + macId: uniqueIdentifier.slice(8, 12), + uniqueIdentifier, + revHwMajor, + revHwMinor, + revHwInternal, + revFwMajor, + revFwMinor, + revFwInternal, + passkeyId, + passkey, + advertisingNamePrefix, + dfuEnabled, + }; +} +/** + * Parse STATUS1/STATUS2 payload into a typed object. + * + * This ports the core byte parsing from ASM_Device.parse_status while keeping + * the output concise and UI-friendly. + */ +function parseStatusPayload(response, sourceStatusProperty = 'status1') { + if (response.length < 24) { + throw new Error('parseStatusPayload: payload must be at least 24 bytes'); + } + const uniqueIdentifier = [...response.slice(0, 6)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join('') + .toUpperCase(); + const hasTickFields = response.length >= 56; + const hasExtendedCapacity = response.length >= 65; + const statusTimestampSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(6, 10), ...response.slice(34, 37)])) + : u32le_at(response, 6) * 60; + const batteryMilliVolts = u16le_at(response, 10); + const batteryPercent = response[12] ?? 0; + const lastOkTransferSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(13, 17), ...response.slice(37, 40)])) + : u32le_at(response, 13) * 60; + const lastFailTransferSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(17, 21), ...response.slice(40, 43)])) + : u32le_at(response, 17) * 60; + const memoryFreeKb = hasExtendedCapacity + ? (response[21] | (response[22] << 8) | (response[23] << 16) | (response[57] << 24)) >>> 0 + : (response[21] | (response[22] << 8) | (response[23] << 16)) >>> 0; + const memoryCapacityKb = hasExtendedCapacity ? u32le_at(response, 60) : null; + const memoryUsedKb = memoryCapacityKb == null ? null : Math.max(0, memoryCapacityKb - memoryFreeKb); + // Bank breakdown: FULL=syncable data, 2DEL=partially-deleted, BAD=unusable flash. + // Present in payloads >= 57 bytes (tick-capable extended format). + const hasBankData = response.length >= 57; + const memoryFullBanksKb = hasBankData ? u32le_at(response, 45) : null; + const memoryTwoDelBanksKb = hasBankData ? u32le_at(response, 49) : null; + const memoryBadBanksKb = hasBankData ? u32le_at(response, 53) : null; + const batteryFallCounter = response.length >= 26 ? u16le_at(response, 24) : null; + let statusFlags = null; + if (response.length >= 34) { + const f = response[26]; + statusFlags = { + usbPluggedIn: (f & 0x01) !== 0, + recordingPaused: (f & 0x02) !== 0, + flashIsFull: (f & 0x04) !== 0, + powerIsGood: (f & 0x08) !== 0, + adaptiveSchedulerOn: (f & 0x10) !== 0, + dfuServiceOn: (f & 0x20) !== 0, + firstBoot: (f & 0x40) !== 0, + repeatedBatteryMeasurement: (f & 0x80) !== 0, + }; + } + return { + uniqueIdentifier, + sourceStatusProperty, + statusTimestampSeconds, + batteryMilliVolts, + batteryPercent, + lastOkTransferSeconds, + lastFailTransferSeconds, + memoryFreeKb, + memoryCapacityKb, + memoryUsedKb, + memoryFullBanksKb, + memoryTwoDelBanksKb, + memoryBadBanksKb, + statusFlags, + batteryFallCounter, + }; +} +/** Parse scheduler debug response payload from DEBUG_COMMAND_ID.RWC_SCHEDULER_READ. */ +function parseSchedulerDebugPayload(payload) { + if (payload.length < 42) { + throw new Error('parseSchedulerDebugPayload: payload is too short'); + } + let idx = 0; + const currentTimeUnixSeconds = asmRtcBytesToUnixSeconds(payload.slice(idx, idx + 7)); + idx += 7; + const bleControlByte = payload[idx++] ?? 0xff; + const bleControlCounter = bleControlByte === 0x00 + ? 'data-transfer' + : bleControlByte === 0x01 + ? 'status1' + : bleControlByte === 0x02 + ? 'rtc-sync' + : bleControlByte === 0x03 + ? 'status2' + : bleControlByte === 0xff + ? 'never' + : 'unknown'; + const next8 = () => { + const v = asmRtcMinutesBytesToUnixSeconds(payload.slice(idx, idx + 8)); + idx += 8; + return v; + }; + const out = { + currentTimeUnixSeconds, + bleControlCounter, + pendingDataTransferUnixSeconds: next8(), + pendingStatus1UnixSeconds: next8(), + pendingRtcSyncUnixSeconds: next8(), + pendingRetryUnixSeconds: next8(), + retryCount: payload[idx++] ?? 0, + retryOperation: (payload[idx++] ?? 0) === 1 ? 'ble-on' : 'ble-off', + }; + if (payload.length >= idx + 10) { + out.adaptiveScheduler = { + nextUnixSeconds: next8(), + enabled: (payload[idx++] ?? 0) === 1, + syncFailCounter: payload[idx++] ?? 0, + }; + } + if (payload.length >= idx + 11) { + const nextUnixSeconds = next8(); + const op = payload[idx++] ?? 0; + out.ltfRetry = { + nextUnixSeconds, + currentOperation: op === 0 + ? 'flash-write-retry-inactive' + : op === 1 + ? 'short-flash-write-retry' + : op === 2 + ? 'attempt-flash-write' + : op === 3 + ? 'long-flash-write-retry' + : op === 4 + ? 'sensor-paused-until-usb-plug-in' + : 'unknown', + failCounterShort: payload[idx++] ?? 0, + failCounterLong: payload[idx++] ?? 0, + }; + } + if (payload.length >= idx + 8) { + out.pendingStatus2UnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.ppgMeasurementUnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.stepCounterResetUnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.sensorInactivityUnixSeconds = next8(); + } + return out; +} +/** Parse debug payload listing bank indexes with bad CRC (2-byte LE entries). */ +function parsePayloadCrcErrorBankIndexes(payload) { + if (payload.length % 2 !== 0) { + throw new Error('parsePayloadCrcErrorBankIndexes: payload length must be even'); + } + const out = []; + for (let i = 0; i < payload.length; i += 2) + out.push(u16le_at(payload, i)); + return out; +} +/** Parse 8-byte debug event-log entries. */ +function parseEventLogPayload(payload) { + if (payload.length % 8 !== 0) { + throw new Error('parseEventLogPayload: payload length must be a multiple of 8'); + } + const out = []; + for (let i = 0; i < payload.length; i += 8) { + const entry = payload.slice(i, i + 8); + const eventId = entry[7]; + if (eventId === 0) + continue; + out.push({ + index: i / 8, + eventId, + eventName: LOG_EVENT_NAMES[eventId] ?? `EVENT_${eventId}`, + timestampUnixSeconds: eventId === 20 ? null : asmRtcBytesToUnixSeconds(entry.slice(0, 7)), + batteryMilliVolts: eventId === 20 ? u24le(entry, 0) : null, + }); + } + return out; +} +/** Parse record-buffer details payload (26-byte current layout, 19-byte legacy layout). */ +function parseRecordBufferDetailsPayload(payload) { + const bytesPerBuffer = payload.length % 26 === 0 ? 26 : payload.length % 19 === 0 ? 19 : 0; + if (!bytesPerBuffer) { + throw new Error('parseRecordBufferDetailsPayload: unsupported payload length'); + } + const out = []; + for (let i = 0; i < payload.length; i += bytesPerBuffer) { + const row = payload.slice(i, i + bytesPerBuffer); + out.push({ + bufferIndex: row[0], + bufferState: row[1], + packagedPayloadIndex: u16le_at(row, 2), + currentByteIndexForSensorData: u16le_at(row, 4), + usedBufferLength: u16le_at(row, 6), + fifoTicks: u16le_at(row, 8), + dataTimestampRwcMinutes: u32le_at(row, 10), + dataTimestampRwcTicks: u24le(row, 14), + temperatureData: u16le_at(row, 17), + dataTimestampUcClockMinutes: bytesPerBuffer >= 23 ? u32le_at(row, 19) : null, + dataTimestampUcClockTicks: bytesPerBuffer >= 26 ? u24le(row, 23) : null, + }); + } + return out; +} +/** + * Parse lookup-table debug payload entries (3 bytes per bank), with optional + * 4-byte tail/head prefix present in older firmware debug responses. + */ +function parseLookupTablePayload(payload, totalBanks) { + const bytesPerBank = 3; + const expectedNoHeadTail = totalBanks * bytesPerBank; + const expectedWithHeadTail = expectedNoHeadTail + 4; + let data = payload; + let head = null; + let tail = null; + if (payload.length === expectedWithHeadTail) { + tail = u16le_at(payload, 0); + head = u16le_at(payload, 2); + data = payload.slice(4); + } + else if (payload.length !== expectedNoHeadTail) { + throw new Error(`parseLookupTablePayload: payload length ${payload.length} does not match expected ${expectedNoHeadTail} or ${expectedWithHeadTail}`); + } + const entries = []; + for (let bankIndex = 0; bankIndex < totalBanks; bankIndex++) { + const off = bankIndex * bytesPerBank; + const statusByte = data[off]; + const pendingEepromWrite = (statusByte & 0x80) !== 0; + const statusCode = statusByte & 0x7f; + entries.push({ + bankIndex, + statusCode, + statusName: LOOKUP_STATUS_NAMES[statusCode] ?? 'Unknown', + pendingEepromWrite, + payloadIndex: u16le_at(data, off + 1), + }); + } + return { head, tail, entries }; +} +/** + * Parse the production config response payload into a structured object. + */ +function parseProductionConfigPayload(response) { + const isAllFFs = (arr) => arr.every((b) => b === 255); + const configHeader = response[0]; + const asmid = [...response.slice(1, 7)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join(''); + const revHwMajor = response[7]; + const revHwMinor = response[8]; + const revFwMajor = response[9]; + const revFwMinor = response[10]; + const fwInternalArray = response.slice(11, 13); + const revFwInternal = fwInternalArray[0] | (fwInternalArray[1] << 8); + let revHwInternal = 0; + if (response.length >= 15) { + const hwInternalArray = response.slice(13, 15); + if (!isAllFFs(hwInternalArray)) { + revHwInternal = hwInternalArray[0] | (hwInternalArray[1] << 8); + } + } + return { + hardware: `${revHwMajor}.${revHwMinor}.${revHwInternal}`, + firmware: `${revFwMajor}.${revFwMinor}.${revFwInternal}`, + asmid: asmid.toUpperCase(), + configHeader, + }; +} + +/** Build a protocol header byte from command/property nibbles. */ +function buildHeader(command, property) { + return ((command & 0xf0) | (property & 0x0f)) & 0xff; +} +/** Decode a protocol header byte into command/property fields. */ +function parseHeader(header) { + return { + command: (header & 0xf0), + property: (header & 0x0f), + }; +} +/** Build a complete protocol message (header + 16-bit LE payload length + payload bytes). */ +function buildMessage(command, property, payloadBytes = []) { + const payload = payloadBytes instanceof Uint8Array ? payloadBytes : new Uint8Array(payloadBytes); + const out = new Uint8Array(3 + payload.length); + out[0] = buildHeader(command, property); + out[1] = payload.length & 0xff; + out[2] = (payload.length >> 8) & 0xff; + out.set(payload, 3); + return out; +} +/** Parse a complete protocol message into structured fields. */ +function parseMessage(msg) { + if (msg.length < 3) + throw new Error('Invalid Verisense message: header is incomplete'); + const header = msg[0]; + const payloadLength = u16le(msg[1], msg[2]); + if (msg.length !== payloadLength + 3) { + throw new Error(`Invalid Verisense message: length=${payloadLength}, actualPayload=${Math.max(0, msg.length - 3)}`); + } + const { command, property } = parseHeader(header); + return { + header, + command, + property, + payloadLength, + payload: msg.slice(3), + }; +} +function isAckCommand(command) { + return command === ASM_COMMAND.ACK || command === ASM_COMMAND.ACK_NEXT_STAGE; +} +function isNackCommand(command) { + return (command === ASM_COMMAND.NACK_BAD_HEADER_COMMAND || + command === ASM_COMMAND.NACK_BAD_HEADER_PROPERTY || + command === ASM_COMMAND.NACK_GENERIC); +} +/** Convert a pending-events payload (property IDs) into a typed array. */ +function parsePendingEvents(payload) { + const out = []; + for (let i = 0; i < payload.length; i++) + out.push((payload[i] & 0x0f)); + return out; +} + +function pad2(n) { + return Math.trunc(n).toString().padStart(2, '0'); +} +function pad5(n) { + return Math.trunc(n).toString().padStart(5, '0'); +} +function dateToYyMMddHHmmss(date) { + const yy = pad2(date.getUTCFullYear() % 100); + const mm = pad2(date.getUTCMonth() + 1); + const dd = pad2(date.getUTCDate()); + const hh = pad2(date.getUTCHours()); + const min = pad2(date.getUTCMinutes()); + const ss = pad2(date.getUTCSeconds()); + return `${yy}${mm}${dd}_${hh}${min}${ss}`; +} +/** Build a binary upload file name: yyMMdd_HHmmss_00000.bin */ +function buildUploadBinaryFileName(uploadDate, firstPayloadIndex) { + if (!Number.isFinite(firstPayloadIndex) || firstPayloadIndex < 0 || firstPayloadIndex > 0xffff) { + throw new Error('buildUploadBinaryFileName: firstPayloadIndex must be in range 0..65535'); + } + return `${dateToYyMMddHHmmss(uploadDate)}_${pad5(firstPayloadIndex)}.bin`; +} +/** Build parsed CSV file name: yyMMdd_HHmmss_DataSource_00000.csv */ +function buildParsedCsvFileName(startDate, dataSource, firstPayloadIndex) { + if (!dataSource || !String(dataSource).trim()) { + throw new Error('buildParsedCsvFileName: dataSource must be a non-empty string'); + } + if (!Number.isFinite(firstPayloadIndex) || firstPayloadIndex < 0 || firstPayloadIndex > 0xffff) { + throw new Error('buildParsedCsvFileName: firstPayloadIndex must be in range 0..65535'); + } + return `${dateToYyMMddHHmmss(startDate)}_${String(dataSource).trim()}_${pad5(firstPayloadIndex)}.csv`; +} +/** Add duplicate suffix like " (2)" before extension. */ +function applyDuplicateSuffix(fileName, duplicateIndex) { + if (duplicateIndex < 2) { + throw new Error('applyDuplicateSuffix: duplicateIndex must be >= 2'); + } + const idx = fileName.lastIndexOf('.'); + if (idx <= 0) + return `${fileName} (${duplicateIndex})`; + const stem = fileName.slice(0, idx); + const ext = fileName.slice(idx); + return `${stem} (${duplicateIndex})${ext}`; +} +/** Return first non-colliding duplicate name for a target file name. */ +function nextAvailableDuplicateFileName(fileName, existingNames) { + const existing = new Set(existingNames); + if (!existing.has(fileName)) + return fileName; + let i = 2; + while (true) { + const candidate = applyDuplicateSuffix(fileName, i); + if (!existing.has(candidate)) + return candidate; + i++; + } +} +/** Parse first payload index (uint16 LE) from a payload byte array. */ +function getFirstPayloadIndex(payload) { + if (payload.length < 2) { + throw new Error('getFirstPayloadIndex: payload must contain at least 2 bytes'); + } + return u16le_at(payload, 0); +} +/** + * Evaluate whether parsed CSV output should roll to a new file. + * Rules mirror ASM-DES08 split conditions. + */ +function evaluateParsedFileSplit(input) { + const reasons = []; + const prev = input.prevTimestampSec; + const curr = input.currTimestampSec; + // Split when crossing 12:00am or 12:00pm boundaries. + const prevHalfDay = Math.floor(prev / (12 * 60 * 60)); + const currHalfDay = Math.floor(curr / (12 * 60 * 60)); + if (currHalfDay !== prevHalfDay) + reasons.push('midday-midnight-boundary'); + if ((input.prevConfigSignature ?? null) !== (input.currConfigSignature ?? null)) { + reasons.push('config-change'); + } + if (input.expectedDeltaSec != null) { + const tol = Math.max(0, input.timestampToleranceSec ?? 0); + const delta = curr - prev; + if (Math.abs(delta - input.expectedDeltaSec) > tol) { + reasons.push('timestamp-discontinuity'); + } + } + if (input.powerResetDetected) { + reasons.push('power-reset'); + } + return { shouldSplit: reasons.length > 0, reasons }; +} + +/** + * Abstract base class for all Verisense sensor decoders. + * + * Provides: + * - Timestamp unwrapping (handles the 1-minute rollover at 32768 ticks/s). + * - System-time offset tracking for plotting calibrated wall-clock timestamps. + * - Per-sample time extrapolation based on sampling rate and last-sample tick. + */ +class SensorBase { + constructor() { + this.lastTicksUnwrapped = 0; + this.cycle = 0; + /** (system time) โˆ’ (shimmer time) at first sample, in milliseconds. */ + this.systemOffsetFirstTime = null; + /** Sampling rate in Hz (used for per-sample time extrapolation). */ + this.samplingRateHz = null; + /** Whether this sensor is enabled in the operational config. */ + this.enabled = true; + } + /** Reset all timestamp state (call on (re)connect or when streaming restarts). */ + resetTimestamps() { + this.lastTicksUnwrapped = 0; + this.cycle = 0; + this.systemOffsetFirstTime = null; + } + /** + * Unwrap a rolling 24-bit tick counter to a monotonically increasing value. + */ + unwrapTicks(ticks) { + let unwrapped = ticks + SensorBase.TICKS_MAX_VALUE * this.cycle; + if (this.lastTicksUnwrapped > unwrapped) { + this.cycle += 1; + unwrapped = ticks + SensorBase.TICKS_MAX_VALUE * this.cycle; + } + this.lastTicksUnwrapped = unwrapped; + return unwrapped; + } + /** Convert unwrapped ticks to milliseconds. */ + ticksToMillis(unwrappedTicks) { + return (unwrappedTicks / SensorBase.CLOCK_FREQ) * 1000.0; + } + /** + * Compute the calibrated shimmer timestamp for the *last* sample in a burst, + * and store the first-seen system-offset for later plotting. + * + * @param lastSampleTicksU24 24-bit tick counter from the packet header. + * @param systemMillis `Date.now()` at the time of packet receipt. + */ + getTimestampUnwrappedMillis(lastSampleTicksU24, systemMillis) { + const unwrappedTicks = this.unwrapTicks(lastSampleTicksU24); + const shimmerMillis = this.ticksToMillis(unwrappedTicks); + if (this.systemOffsetFirstTime == null) { + this.systemOffsetFirstTime = systemMillis - shimmerMillis; + } + return { shimmerMillis, systemOffsetFirstTime: this.systemOffsetFirstTime }; + } + /** + * Extrapolate the timestamp for sample `i` of `numSamples` in a burst, + * given the timestamp of the *last* sample and the sampling rate. + * + * @returns Object with `tsMillis`, `systemTsMillis`, and `systemTsPlotMillis`. + */ + extrapolateSampleTimes(opts) { + const sr = opts.samplingRateHz ?? this.samplingRateHz; + const { tsLastSampleMillis, systemTsLastSampleMillis, systemOffsetFirstTime } = opts; + if (!sr || sr <= 0) { + return { + tsMillis: tsLastSampleMillis, + systemTsMillis: systemTsLastSampleMillis, + systemTsPlotMillis: systemOffsetFirstTime != null + ? tsLastSampleMillis + systemOffsetFirstTime + : systemTsLastSampleMillis, + }; + } + const sampleOffsetSec = (opts.numSamples - opts.i - 1) / sr; + const tsMillis = tsLastSampleMillis - sampleOffsetSec * 1000; + const systemTsMillis = systemTsLastSampleMillis - sampleOffsetSec * 1000; + const systemTsPlotMillis = systemOffsetFirstTime != null ? tsMillis + systemOffsetFirstTime : systemTsMillis; + return { tsMillis, systemTsMillis, systemTsPlotMillis }; + } +} +/** Verisense clock frequency in ticks per second. */ +SensorBase.CLOCK_FREQ = 32768; +/** 1-minute rollover at 32768 ticks/s (matches C# Sensor.cs). */ +SensorBase.TICKS_MAX_VALUE = 60 * 32768; + +/** + * Decoder for grouped ADC channels (Verisense sensor id = 1). + * + * Includes GSR plus battery/ADC channels carried in the same packet source. + * Implements C# `SensorGSR.cs` including: + * - Per-hardware reference resistor selection (SR68 vs Shimmer3 resistors). + * - Auto-range decoding from the raw ADC value's upper bits. + * - Range-3 clamping threshold that differs by hardware. + * - Conductance (uS) output with connectivity detection. + */ +class SensorADC extends SensorBase { + constructor() { + super(); + this.LIMIT_MIN_VALID_USIEMENS = 0.03; + this.GSR_UNCAL_LIMIT_RANGE3_SR68 = 1134; + this.GSR_UNCAL_LIMIT_RANGE3_SR62 = 683; + this.SHIMMER3_REF_KOHMS = [40.2, 287.0, 1000.0, 3300.0]; + this.SR68_REF_KOHMS = [21.0, 150.0, 562.0, 1740.0]; + this.gsrEnabled = true; + this.battEnabled = false; + /** GSR range 0-3 (fixed) or 4 (auto-range). */ + this.gsrRangeSetting = 4; + this.hardwareIdentifier = 'VERISENSE_PULSE_PLUS'; + // Decoded from opConfig for debug/display + this.gsrRateSettingRaw = 0; + this.gsrRangeSettingRaw = 0; + this.gsrOversamplingRateSettingRaw = 0; + this.samplingRateHz = 50; + } + setHardwareIdentifier(idStr) { + this.hardwareIdentifier = idStr; + } + setGsrRangeSetting(v) { + this.gsrRangeSetting = v; + } + setEnabled(arg1, opConfigBytes) { + if (opConfigBytes != null) { + const desired = typeof arg1 === 'boolean' ? { gsr: arg1 } : arg1 && typeof arg1 === 'object' ? arg1 : {}; + return this._patchEnabled(desired, opConfigBytes); + } + const obj = typeof arg1 === 'boolean' ? { gsr: arg1 } : arg1 && typeof arg1 === 'object' ? arg1 : {}; + if (typeof obj.gsr === 'boolean') + this.gsrEnabled = obj.gsr; + if (typeof obj.batt === 'boolean') + this.battEnabled = obj.batt; + return { gsr: this.gsrEnabled, batt: this.battEnabled }; + } + _patchEnabled({ gsr, batt }, opConfigBytes) { + const op = normalizeOperationalConfig(opConfigBytes); + const out = new Uint8Array(op); + if (typeof gsr === 'boolean') { + const idx = OP_IDX.GEN_CFG_1; + out[idx] = gsr ? (out[idx] | 0x80) & 0xff : out[idx] & 0x7f & 0xff; + } + if (typeof batt === 'boolean') { + const idx = OP_IDX.GEN_CFG_2; + out[idx] = batt ? (out[idx] | 0x02) & 0xff : out[idx] & 0xfd & 0xff; + } + return out; + } + patchGsrRange(rangeCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ADC_CHANNEL_SETTINGS_1; + out[i] = (out[i] & 0b11111000) | (rangeCfg & 0x07); + return out; + } + patchGsrSamplingRate(rateCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ADC_CHANNEL_SETTINGS_0; + out[i] = (out[i] & 0b11000000) | (rateCfg & 0x3f); + return out; + } + patchGsrOversampling(overCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ADC_CHANNEL_SETTINGS_1; + out[i] = (out[i] & 0b00001111) | ((overCfg & 0x0f) << 4); + return out; + } + calibrateAdcToVolts(uncal12bit) { + const adcRange = 2 ** 12 - 1; + let refVoltage = 1.8 / 4.0; + if (this.hardwareIdentifier === 'VERISENSE_GSR_PLUS') { + refVoltage = 3.0 / 4.0; + } + const adcScaling = 1.0 / 4.0; + return (uncal12bit * refVoltage) / adcRange / adcScaling; + } + calibrateGsrToKOhmsUsingAmplifierEq(volts, range) { + let rFeedback = this.SHIMMER3_REF_KOHMS[range]; + if (this.hardwareIdentifier === 'VERISENSE_PULSE_PLUS') { + rFeedback = this.SR68_REF_KOHMS[range]; + } + const gsrRefVoltage = this.hardwareIdentifier === 'VERISENSE_PULSE_PLUS' ? 0.4986 : 0.5; + return rFeedback / (volts / gsrRefVoltage - 1.0); + } + nudgeGsrResistance(kOhms) { + const limitsByRange = { + 0: [8.0, 63.0], + 1: [63.0, 220.0], + 2: [220.0, 680.0], + 3: [680.0, 4700.0], + 4: [8.0, 4700.0], + }; + const lim = limitsByRange[this.gsrRangeSetting] ?? [8.0, 4700.0]; + return Math.min(Math.max(kOhms, lim[0]), lim[1]); + } + kOhmToUSiemens(kOhms) { + return 1000.0 / kOhms; + } + parsePayload(sensorPayloadBytes) { + const bytesPerSample = this.gsrEnabled && this.battEnabled ? 4 : 2; + const n = Math.floor(sensorPayloadBytes.length / bytesPerSample); + const out = []; + for (let i = 0; i < n; i++) { + const base = i * bytesPerSample; + let batt = null; + let gsr = null; + const gsrStart = this.battEnabled && this.gsrEnabled ? 2 : 0; + if (this.gsrEnabled) { + const gsrraw = i16le(sensorPayloadBytes, base + gsrStart); + let adc12 = gsrraw & 0x0fff; + let currentRange = this.gsrRangeSetting; + if (currentRange === 4) + currentRange = (gsrraw >> 14) & 0x03; + if (currentRange === 3) { + const limit = this.hardwareIdentifier === 'VERISENSE_PULSE_PLUS' + ? this.GSR_UNCAL_LIMIT_RANGE3_SR68 + : this.GSR_UNCAL_LIMIT_RANGE3_SR62; + if (adc12 < limit) + adc12 = limit; + } + const volts = this.calibrateAdcToVolts(adc12); + let kOhms = this.calibrateGsrToKOhmsUsingAmplifierEq(volts, currentRange); + kOhms = this.nudgeGsrResistance(kOhms); + const uS = this.kOhmToUSiemens(kOhms); + const connectivity = uS > this.LIMIT_MIN_VALID_USIEMENS ? 'Connected' : 'Disconnected'; + gsr = { raw: gsrraw, adc12, range: currentRange, volts, kOhms, uS, connectivity }; + } + if (this.battEnabled) { + const raw16 = i16le(sensorPayloadBytes, base) & 0xffff; + const adc12 = raw16 & 0x0fff; + const usbPluggedIn = ((raw16 >> 15) & 0x01) === 1; + const chargerStatusBits = (raw16 >> 13) & 0x03; + let mv = this.calibrateAdcToVolts(adc12) * 1000.0; + if (this.hardwareIdentifier === 'VERISENSE_GSR_PLUS') { + mv *= 1.988; + } + const chargerStatusMap = { + 0: 'Power-Down/Suspended', + 1: 'Charging', + 2: 'Charging Complete', + 3: 'Bad Battery/LDO', + }; + batt = { + raw16, + adc12, + mV: mv, + usbPluggedIn, + chargerStatusBits, + chargerStatus: chargerStatusMap[chargerStatusBits] ?? 'Unknown', + }; + } + out.push({ gsr, batt }); + } + return out; + } + applyOperationalConfig(op) { + const gen1 = op[OP_IDX.GEN_CFG_1] ?? 0; + const gen2 = op[OP_IDX.GEN_CFG_2] ?? 0; + this.gsrEnabled = ((gen1 >> 7) & 0x01) === 1; + this.battEnabled = (gen2 & 0b00000010) !== 0; + const rateCfg = (op[OP_IDX.ADC_CHANNEL_SETTINGS_0] ?? 0) & 0x3f; + const cfg1 = (op[OP_IDX.ADC_CHANNEL_SETTINGS_1] ?? 0) & 0xff; + const rangeCfg = cfg1 & 0x07; + const oversamplingCfg = (cfg1 >> 4) & 0x0f; + this.gsrRateSettingRaw = rateCfg; + this.gsrRangeSettingRaw = rangeCfg; + this.gsrOversamplingRateSettingRaw = oversamplingCfg; + if (rangeCfg >= 0 && rangeCfg <= 4) { + this.gsrRangeSetting = rangeCfg; + } + } +} + +/** + * Decoder for the LIS2DW12 low-power accelerometer (Verisense sensor id = 2). + * + * Sensitivity values are given in raw-LSB / (m/sยฒ) per axis โ€” matching + * the C# `SensorLIS2DW12.cs` implementation. + */ +class SensorLIS2DW12 extends SensorBase { + constructor() { + super(); + this.offset = [0, 0, 0]; + this.align = [ + [0, 0, 1], + [1, 0, 0], + [0, 1, 0], + ]; + this.sensitivityByRange = { + '2G': [1671.665922915, 1671.665922915, 1671.665922915], + '4G': [835.832961457, 835.832961457, 835.832961457], + '8G': [417.916480729, 417.916480729, 417.916480729], + '16G': [208.958240364, 208.958240364, 208.958240364], + }; + this.range = '2G'; + this.samplingRateHz = 50; + } + setRange(rangeStr) { + if (this.sensitivityByRange[rangeStr]) + this.range = rangeStr; + } + // --- Functional OpConfig helpers (returns new Uint8Array, does not mutate) --- + setEnabled(enabled, opConfigBytes) { + if (opConfigBytes == null) { + this.enabled = enabled; + return this.enabled; + } + const op = normalizeOperationalConfig(opConfigBytes); + const out = new Uint8Array(op); + const idx = OP_IDX.GEN_CFG_0; + out[idx] = enabled ? (out[idx] | 0x80) & 0xff : out[idx] & 0x7f & 0xff; + return out; + } + setAccelEnabled(enabled, opConfigBytes) { + return this.setEnabled(enabled, opConfigBytes); + } + patchAccelRange(rangeCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ACCEL1_CFG_1; + out[i] = (out[i] & 0b11001111) | ((rangeCfg & 0x03) << 4); + return out; + } + patchAccelSamplingRate(rateCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ACCEL1_CFG_0; + out[i] = (out[i] & 0b00001111) | ((rateCfg & 0x0f) << 4); + return out; + } + _calibrate(raw) { + const v = [ + raw[0] - this.offset[0], + raw[1] - this.offset[1], + raw[2] - this.offset[2], + ]; + const a = this.align; + const aligned = [ + a[0][0] * v[0] + a[0][1] * v[1] + a[0][2] * v[2], + a[1][0] * v[0] + a[1][1] * v[1] + a[1][2] * v[2], + a[2][0] * v[0] + a[2][1] * v[1] + a[2][2] * v[2], + ]; + const s = this.sensitivityByRange[this.range]; + return [aligned[0] / s[0], aligned[1] / s[1], aligned[2] / s[2]]; + } + parsePayload(sensorPayloadBytes) { + const BYTES_PER_SAMPLE = 6; + const n = Math.floor(sensorPayloadBytes.length / BYTES_PER_SAMPLE); + const out = []; + for (let i = 0; i < n; i++) { + const off = i * BYTES_PER_SAMPLE; + const raw = [ + i16le(sensorPayloadBytes, off + 0), + i16le(sensorPayloadBytes, off + 2), + i16le(sensorPayloadBytes, off + 4), + ]; + const cal = this._calibrate(raw); + out.push({ raw, cal, units: { cal: 'm/s^2' } }); + } + return out; + } + applyOperationalConfig(op) { + const gen0 = op[OP_IDX.GEN_CFG_0]; + const cfg0 = op[OP_IDX.ACCEL1_CFG_0]; + const cfg1 = op[OP_IDX.ACCEL1_CFG_1]; + if (gen0 == null || cfg0 == null || cfg1 == null) { + console.warn('[LIS2DW12] Missing required bytes; cannot apply config.'); + return; + } + this.enabled = ((gen0 >> 7) & 0x01) === 1; + const rangeSetting = (cfg1 >> 4) & 0x03; + const modeSetting = (cfg0 >> 2) & 0x03; + const rateSetting = (cfg0 >> 4) & 0x0f; + const rangeMap = { 0: '2G', 1: '4G', 2: '8G', 3: '16G' }; + this.setRange(rangeMap[rangeSetting] ?? '2G'); + const lowPowerHzByCfg = { + 1: 1.6, + 2: 12.5, + 3: 25, + 4: 50, + 5: 100, + 6: 200, + }; + const highPerfHzByCfg = { + 1: 12.5, + 3: 25, + 4: 50, + 5: 100, + 6: 200, + 7: 400, + 8: 800, + 9: 1600, + }; + const isLowPower = modeSetting === 0; + const hz = isLowPower ? lowPowerHzByCfg[rateSetting] : highPerfHzByCfg[rateSetting]; + if (hz) + this.samplingRateHz = hz; + } +} + +/** + * Decoder for the LSM6DS3 combined accelerometer + gyroscope (Verisense sensor id = 3). + * + * Sensitivity values mirror the C# `SensorLSM6DS3.cs` implementation. + */ +class SensorLSM6DS3 extends SensorBase { + constructor() { + super(); + this.offset = [0, 0, 0]; + this.align = [ + [0, 0, 1], + [-1, 0, 0], + [0, -1, 0], + ]; + this.accSensByRange = { + '2G': [1671.665922915, 1671.665922915, 1671.665922915], + '4G': [835.832961457, 835.832961457, 835.832961457], + '8G': [417.916480729, 417.916480729, 417.916480729], + '16G': [208.958240364, 208.958240364, 208.958240364], + }; + this.gyroSensByRange = { + '250DPS': [114.285714286, 114.285714286, 114.285714286], + '500DPS': [57.142857143, 57.142857143, 57.142857143], + '1000DPS': [28.571428571, 28.571428571, 28.571428571], + '2000DPS': [14.285714286, 14.285714286, 14.285714286], + }; + this.accRange = '2G'; + this.gyroRange = '250DPS'; + this.accEnabled = true; + this.gyroEnabled = true; + this.samplingRateHz = 50; + } + setAccelEnabled(v) { + this.accEnabled = !!v; + } + setGyroEnabled(v) { + this.gyroEnabled = !!v; + } + setAccelRange(r) { + if (this.accSensByRange[r]) + this.accRange = r; + } + setGyroRange(r) { + if (this.gyroSensByRange[r]) + this.gyroRange = r; + } + _applyAlignAndOffset(raw3) { + const v = [ + raw3[0] - this.offset[0], + raw3[1] - this.offset[1], + raw3[2] - this.offset[2], + ]; + const a = this.align; + return [ + a[0][0] * v[0] + a[0][1] * v[1] + a[0][2] * v[2], + a[1][0] * v[0] + a[1][1] * v[1] + a[1][2] * v[2], + a[2][0] * v[0] + a[2][1] * v[1] + a[2][2] * v[2], + ]; + } + parsePayload(sensorPayloadBytes) { + let bytesPerSample = 6; + if (this.gyroEnabled && this.accEnabled) + bytesPerSample = 12; + const n = Math.floor(sensorPayloadBytes.length / bytesPerSample); + const out = []; + for (let i = 0; i < n; i++) { + const base = i * bytesPerSample; + let gyroRaw = null; + let accRaw = null; + if (this.gyroEnabled && this.accEnabled) { + gyroRaw = [ + i16le(sensorPayloadBytes, base + 0), + i16le(sensorPayloadBytes, base + 2), + i16le(sensorPayloadBytes, base + 4), + ]; + accRaw = [ + i16le(sensorPayloadBytes, base + 6), + i16le(sensorPayloadBytes, base + 8), + i16le(sensorPayloadBytes, base + 10), + ]; + } + else if (this.gyroEnabled) { + gyroRaw = [ + i16le(sensorPayloadBytes, base + 0), + i16le(sensorPayloadBytes, base + 2), + i16le(sensorPayloadBytes, base + 4), + ]; + } + else if (this.accEnabled) { + accRaw = [ + i16le(sensorPayloadBytes, base + 0), + i16le(sensorPayloadBytes, base + 2), + i16le(sensorPayloadBytes, base + 4), + ]; + } + let accCal = null; + let gyroCal = null; + if (accRaw) { + const aligned = this._applyAlignAndOffset(accRaw); + const s = this.accSensByRange[this.accRange]; + accCal = [aligned[0] / s[0], aligned[1] / s[1], aligned[2] / s[2]]; + } + if (gyroRaw) { + const aligned = this._applyAlignAndOffset(gyroRaw); + const s = this.gyroSensByRange[this.gyroRange]; + gyroCal = [aligned[0] / s[0], aligned[1] / s[1], aligned[2] / s[2]]; + } + out.push({ + accel: accRaw && accCal ? { raw: accRaw, cal: accCal, units: 'm/s^2' } : null, + gyro: gyroRaw && gyroCal ? { raw: gyroRaw, cal: gyroCal, units: 'deg/s' } : null, + }); + } + return out; + } + applyOperationalConfig(op) { + this.accEnabled = (op[OP_IDX.GEN_CFG_0] & 0b01000000) !== 0; + this.gyroEnabled = (op[OP_IDX.GEN_CFG_0] & 0b00100000) !== 0; + const cfg4 = op[OP_IDX.GYRO_ACCEL2_CFG_4]; + const accelRateCfg = (cfg4 >> 4) & 0x0f; + const cfg5 = op[OP_IDX.GYRO_ACCEL2_CFG_5]; + const accelRangeCfg = (cfg5 >> 2) & 0x03; + const gyroRangeCfg = (cfg5 >> 4) & 0x03; + const accelRangeMap = { 0: '2G', 1: '4G', 2: '8G', 3: '16G' }; + const gyroRangeMap = { + 0: '250DPS', + 1: '500DPS', + 2: '1000DPS', + 3: '2000DPS', + }; + this.setAccelRange(accelRangeMap[accelRangeCfg] ?? this.accRange); + this.setGyroRange(gyroRangeMap[gyroRangeCfg] ?? this.gyroRange); + const hzByCfg = { + 0: null, + 1: 12.5, + 2: 26, + 3: 52, + 4: 104, + 5: 208, + 6: 416, + 7: 833, + 8: 1660, + }; + const hz = hzByCfg[accelRateCfg]; + if (hz) + this.samplingRateHz = hz; + } +} + +/** + * Decoder for the PPG sensor (Verisense sensor id = 4). + * + * Calibration constants mirror C# `SensorPPG.cs`. + */ +class SensorPPG extends SensorBase { + constructor() { + super(); + this.red = false; + this.ir = false; + this.green = false; + this.blue = false; + this.adcLsb = [7.8125, 15.625, 31.25, 62.5]; + this.adcBitShift = [2 ** 7, 2 ** 6, 2 ** 5, 2 ** 4]; + this.adcResolutionIndex = 0; // 0..3 + this.samplingRateHz = 50; + } + setChannels(channels) { + if (typeof channels.RED === 'boolean') + this.red = channels.RED; + if (typeof channels.IR === 'boolean') + this.ir = channels.IR; + if (typeof channels.GREEN === 'boolean') + this.green = channels.GREEN; + if (typeof channels.BLUE === 'boolean') + this.blue = channels.BLUE; + } + setAdcResolutionIndex(i) { + if (i >= 0 && i <= 3) + this.adcResolutionIndex = i; + } + calibrateValue(uncalValue) { + const idx = this.adcResolutionIndex; + return ((uncalValue / this.adcBitShift[idx]) * this.adcLsb[idx]) / 1000.0; + } + parsePayload(sensorPayloadBytes) { + const enabled = []; + if (this.red) + enabled.push('RED'); + if (this.ir) + enabled.push('IR'); + if (this.green) + enabled.push('GREEN'); + if (this.blue) + enabled.push('BLUE'); + const bytesPerSample = enabled.length * 3; + if (bytesPerSample === 0) + return []; + const n = Math.floor(sensorPayloadBytes.length / bytesPerSample); + const out = []; + for (let i = 0; i < n; i++) { + const base = i * bytesPerSample; + let off = 0; + const sample = {}; + for (const ch of enabled) { + const b0 = sensorPayloadBytes[base + off + 0]; + const b1 = sensorPayloadBytes[base + off + 1]; + const b2 = sensorPayloadBytes[base + off + 2]; + off += 3; + let uncal = (b0 | (b1 << 8) | (b2 << 16)) >>> 0; + uncal &= 0x7ffff; + sample[ch] = { + raw: uncal, + cal: this.calibrateValue(uncal), + units: { raw: 'counts', cal: 'scaled' }, + }; + } + out.push(sample); + } + return out; + } + applyOperationalConfig(_op) { + // PPG channels are configured by the operational config but the bit + // mapping is hardware-specific. For now we leave channel flags as-is; + // callers can use setChannels() directly. + void normalizeOperationalConfig(_op); // no-op, satisfies lint + } +} + +function defaultAcceptedCommands(command) { + if (command === ASM_COMMAND.READ) + return new Set([ASM_COMMAND.RESPONSE]); + if (command === ASM_COMMAND.WRITE) { + return new Set([ASM_COMMAND.ACK, ASM_COMMAND.ACK_NEXT_STAGE, ASM_COMMAND.RESPONSE]); + } + return new Set([ASM_COMMAND.ACK, ASM_COMMAND.ACK_NEXT_STAGE, ASM_COMMAND.RESPONSE]); +} +function toCommandResponse(msg) { + return { + header: msg.header, + command: msg.command, + property: msg.property, + payload: msg.payload, + }; +} +function validatePendingResponse(pending, msg) { + if (isNackCommand(msg.command)) { + return new Error(`Device returned NACK command=0x${msg.command.toString(16)} property=0x${msg.property.toString(16)}`); + } + if (pending.acceptedProperties?.size) { + if (!pending.acceptedProperties.has(msg.property)) { + return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected one of ${Array.from(pending.acceptedProperties) + .map((p) => `0x${p.toString(16)}`) + .join(', ')})`); + } + } + else if (msg.property !== pending.expectedProperty) { + return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected 0x${pending.expectedProperty.toString(16)})`); + } + if (!pending.acceptedCommands.has(msg.command)) { + return new Error(`Unexpected response command 0x${msg.command.toString(16)} for property 0x${msg.property.toString(16)}`); + } + return null; +} + +// --------------------------------------------------------------------------- +// VerisenseBleDevice +// --------------------------------------------------------------------------- +/** + * Web Bluetooth client for the Verisense sensor platform. + * + * Extends {@link BaseShimmerClient} and adds an event-emitter API + * (on/off/emit) for the richer event model the Verisense protocol needs. + * + * Supports: + * - BLE streaming (accel, ADC/GSR, gyro, PPG) + * - Web Serial (USB COM port) as an alternative transport + * - Logged-data download (`transferLoggedData`) + * - Operational config read/write + * + * Events: + * - `"connected"` โ€” `{ name?: string; id?: string; kind?: string }` + * - `"disconnected"` โ€” `{ kind: TransportKind }` + * - `"streaming"` โ€” `{ on: boolean }` + * - `"streamPacket"` / `"data"` โ€” `StreamPacket` + * - `"streamCrcFail"` โ€” `{ claimed: number; body: Uint8Array }` + * - `"opConfig"` โ€” `{ op: Uint8Array }` + * - `"productionConfig"` โ€” `ProductionConfig` + * - `"commandPayload"` โ€” `{ payload: Uint8Array }` + */ +class VerisenseBleDevice extends BaseShimmerClient { + on(ev, fn) { + if (!this._evMap.has(ev)) + this._evMap.set(ev, new Set()); + this._evMap.get(ev).add(fn); + return () => this.off(ev, fn); + } + off(ev, fn) { + this._evMap.get(ev)?.delete(fn); + } + emit(ev, data) { + const s = this._evMap.get(ev); + if (s) + for (const fn of s) + fn(data); + } + constructor(opts = {}) { + super({ debug: opts.debug ?? true }); + // Event emitter state + this._evMap = new Map(); + // Transport handles + this._transportKind = null; + this.device = null; + this.server = null; + this.service = null; + this.tx = null; + this.rx = null; + this.port = null; + this._serialAbort = null; + this._serialReader = null; + this._serialReadLoopTask = null; + this._onGattDisconnected = null; + // Protocol state + this._mode = 'idle'; + this._rxStreamBuf = new Uint8Array(0); + this._pending = null; + this._loggedChain = Promise.resolve(); + this._sync = null; + this._testReportCapture = null; + this._testReportDecoder = new TextDecoder(); + // Cached configs + this.operationalConfig = null; + this.productionConfig = null; + // Debug flags + this.debugSync = true; + this._syncRxCount = 0; + this._syncPayloadCount = 0; + this.hardwareIdentifier = opts.hardwareIdentifier ?? 'VERISENSE_PULSE_PLUS'; + this.stripStreamCrc = opts.stripStreamCrc ?? true; + this.verifyStreamCrc = opts.verifyStreamCrc ?? false; + this.sensors = { + 1: new SensorADC(), + 2: new SensorLIS2DW12(), + 3: new SensorLSM6DS3(), + 4: new SensorPPG(), + }; + this.sensors[1].setHardwareIdentifier(this.hardwareIdentifier); + } + _log(...args) { + if (this.debug) + console.log('[Verisense]', ...args); + } + // Quick accessors + get adc() { + return this.sensors[1]; + } + get accel1() { + return this.sensors[2]; + } + get gyroAccel2() { + return this.sensors[3]; + } + get ppg() { + return this.sensors[4]; + } + // --------------------------------------------------------------------------- + // BLE connect / disconnect + // --------------------------------------------------------------------------- + async connect(opts = {}) { + if (this._transportKind === 'serial' || this.port) { + try { + await this.disconnect(); + } + catch { + /* ignore */ + } + } + this._transportKind = 'ble'; + const requestOpts = { + filters: opts.filters ?? [{ services: [NUS_SERVICE] }], + optionalServices: opts.optionalServices ?? [NUS_SERVICE], + }; + this.device = opts.device ?? (await navigator.bluetooth.requestDevice(requestOpts)); + try { + if (this._onGattDisconnected && this.device) { + this.device.removeEventListener('gattserverdisconnected', this._onGattDisconnected); + } + } + catch { + /* ignore */ + } + this._onGattDisconnected = () => { + this._mode = 'idle'; + this._transportKind = null; + this._clearHardwareTestReportCapture(new Error('Disconnected'), null); + this.emit('disconnected', { kind: 'ble' }); + }; + this.device.addEventListener('gattserverdisconnected', this._onGattDisconnected); + this.server = await this.device.gatt.connect(); + this.service = await this.server.getPrimaryService(NUS_SERVICE); + this.tx = await this.service.getCharacteristic(NUS_TX); + this.rx = await this.service.getCharacteristic(NUS_RX); + await this.rx.startNotifications(); + this.rx.addEventListener('characteristicvaluechanged', (ev) => { + const dv = ev.target?.value; + if (!dv) + return; + const bytes = new Uint8Array(dv.buffer.slice(dv.byteOffset, dv.byteOffset + dv.byteLength)); + this._feedStreamBytes(bytes); + }); + this._emitStatus(`Connected: ${this.device.name ?? 'Verisense'}`); + this.emit('connected', { name: this.device.name, id: this.device.id }); + await this.readProductionConfigFromDevice(); + await this.readOpConfigFromDevice(); + return true; + } + // --- Web Serial (USB COM port) connect --- + async connectSerial(opts = {}) { + if (!('serial' in navigator)) { + throw new Error('Web Serial not supported. Use Chrome/Edge on HTTPS or http://localhost.'); + } + if (this._transportKind === 'ble' && this.device?.gatt?.connected) { + await this.disconnect(); + } + else if (this._transportKind === 'serial' && this.port) { + await this.disconnect(); + } + this._transportKind = 'serial'; + this._mode = 'idle'; + this._resetAssembler(); + const serial = navigator.serial; + if (!opts.port) { + opts.port = await serial.requestPort(opts.filters ? { filters: opts.filters } : undefined); + } + this.port = opts.port; + await this.port.open({ + baudRate: opts.baudRate ?? 115200, + dataBits: opts.dataBits ?? 8, + stopBits: opts.stopBits ?? 1, + parity: opts.parity ?? 'none', + flowControl: opts.flowControl ?? 'none', + }); + this._serialAbort = new AbortController(); + this._startSerialReadLoop(this._serialAbort.signal); + this._emitStatus('Connected via USB Serial'); + this.emit('connected', { kind: 'serial' }); + await this.readOpConfigFromDevice(); + return true; + } + async _serialWrite(u8) { + const writable = this.port.writable; + if (!writable) + throw new Error('Not connected'); + const writer = writable.getWriter(); + try { + await writer.write(u8); + } + finally { + writer.releaseLock(); + } + } + _startSerialReadLoop(signal) { + const port = this.port; + this._serialReadLoopTask = (async () => { + let reader = null; + try { + const readable = port.readable; + if (!readable) + return; + reader = readable.getReader(); + this._serialReader = reader; + while (!signal.aborted) { + const { value, done } = await reader.read(); + if (done) + break; + if (value?.length) + this._feedStreamBytes(new Uint8Array(value)); + } + } + catch (e) { + if (!signal.aborted) + console.warn('[serial] read loop error:', e); + } + finally { + try { + reader?.releaseLock?.(); + } + catch { + /* ignore */ + } + if (this._serialReader === reader) + this._serialReader = null; + this._serialReadLoopTask = null; + if (!signal.aborted) { + this._mode = 'idle'; + this._clearHardwareTestReportCapture(new Error('Disconnected'), null); + this.emit('disconnected', { kind: 'serial' }); + } + } + })(); + } + async _serialDisconnect(reason = 'user') { + try { + this._serialAbort?.abort(); + } + catch { + /* ignore */ + } + const cancelActiveReader = async () => { + const r = this._serialReader; + if (!r) + return false; + try { + await r.cancel(); + } + catch { + /* ignore */ + } + try { + r.releaseLock(); + } + catch { + /* ignore */ + } + if (this._serialReader === r) + this._serialReader = null; + return true; + }; + await cancelActiveReader(); + const portReadableLocked = this.port + ?.readable?.locked; + if (portReadableLocked && !this._serialReader) { + for (let i = 0; i < 10; i++) { + await new Promise((r) => setTimeout(r, 20)); + if (await cancelActiveReader()) + break; + } + } + try { + const task = this._serialReadLoopTask; + if (task) + await Promise.race([task, new Promise((r) => setTimeout(r, 750))]); + } + catch { + /* ignore */ + } + try { + const writable = this.port?.writable; + if (writable?.locked) { + const w = writable.getWriter(); + try { + await w.abort?.(); + } + catch { + /* ignore */ + } + try { + w.releaseLock(); + } + catch { + /* ignore */ + } + } + } + catch { + /* ignore */ + } + try { + await this.port?.close?.(); + } + catch { + /* ignore */ + } + this.port = null; + this._serialAbort = null; + this._serialReader = null; + this._serialReadLoopTask = null; + console.warn(`[serial] disconnect done reason=${reason}`); + } + async disconnect(opts = {}) { + const kind = this._transportKind === 'serial' ? 'serial' : 'ble'; + if (this._mode === 'streaming') { + try { + await this.stopStreaming(); + } + catch { + /* ignore */ + } + } + if (this._sync) { + try { + this._abortSync(new Error(opts.reason ?? 'Disconnected')); + } + catch { + /* ignore */ + } + } + this._clearHardwareTestReportCapture(new Error(opts.reason ?? 'Disconnected'), null); + if (this._transportKind === 'serial') { + try { + await this._serialDisconnect(opts.reason ?? 'user'); + } + catch { + /* ignore */ + } + } + else { + void this.writeBytes(buildMessage(ASM_COMMAND.WRITE, ASM_PROPERTY.DEVICE_DISCONNECT), { + withResponse: false, + }); + try { + if (this.rx) + await this.rx.stopNotifications?.(); + } + catch { + /* ignore */ + } + try { + if (this._onGattDisconnected && this.device) { + this.device.removeEventListener('gattserverdisconnected', this._onGattDisconnected); + } + } + catch { + /* ignore */ + } + try { + if (this.device?.gatt?.connected) + this.device.gatt.disconnect(); + } + catch { + /* ignore */ + } + } + this._mode = 'idle'; + this._transportKind = null; + this.port = null; + this._serialAbort = null; + this.tx = this.rx = null; + this.service = this.server = this.device = null; + this.emit('disconnected', { kind }); + return true; + } + // --------------------------------------------------------------------------- + // Streaming + // --------------------------------------------------------------------------- + async startStreaming() { + await this.setStreamingMode(true); + this._mode = 'streaming'; + this.emit('streaming', { on: true }); + } + async stopStreaming() { + await this.setStreamingMode(false); + this._mode = 'idle'; + this.emit('streaming', { on: false }); + } + // --------------------------------------------------------------------------- + // Logged data transfer + // --------------------------------------------------------------------------- + async transferLoggedData(opts = {}) { + const { fileHandle = null, timeoutMs = 1000, maxNack = 5, maxCrcNack = 5, onProgress = null, } = opts; + const bleOk = !!(this.rx && this.tx); + const serOk = !!this.port; + if (!bleOk && !serOk) + throw new Error('Not connected'); + if (this._mode === 'streaming') + throw new Error('Stop streaming before TransferLoggedData'); + if (this._mode === 'logged') + throw new Error('Already syncing logged data'); + let writable = null; + const chunks = []; + if (fileHandle) + writable = await fileHandle.createWritable(); + this._mode = 'logged'; + this._resetAssembler(); + this._loggedChain = Promise.resolve(); + this._syncRxCount = 0; + this._syncPayloadCount = 0; + const sync = { + receiving: true, + lastReply: 'NONE', + emptyAckCount: 0, + nackCount: 0, + nackCrcCount: 0, + maxNack, + maxCrcNack, + lastRxAt: Date.now(), + timeoutMs, + bytesWritten: 0, + resolve: null, + reject: null, + timer: null, + writable, + chunks, + onProgress: onProgress ?? null, + }; + this._sync = sync; + const donePromise = new Promise((resolve, reject) => { + sync.resolve = resolve; + sync.reject = reject; + }); + let watchdogRunning = false; + sync.timer = setInterval(async () => { + if (watchdogRunning) + return; + watchdogRunning = true; + try { + if (!this._sync?.receiving) + return; + const age = Date.now() - this._sync.lastRxAt; + if (age < this._sync.timeoutMs) + return; + try { + if (this._sync.lastReply === 'NONE') { + await this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }); + } + else { + this._clearSyncRxBuffers('timeout-nack'); + await this.writeBytes(buildMessage(ASM_COMMAND.NACK_GENERIC, ASM_PROPERTY.DATA)); + this._sync.nackCount++; + this._sync.lastReply = 'NACK'; + if (this._sync.nackCount >= this._sync.maxNack) + throw new Error('Too many NACK timeouts'); + } + this._sync.lastRxAt = Date.now(); + } + catch (e) { + this._abortSync(e instanceof Error ? e : new Error(String(e))); + } + } + finally { + watchdogRunning = false; + } + }, Math.max(250, Math.floor(timeoutMs / 2))); + try { + await this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }); + const result = await donePromise; + await (this._loggedChain ?? Promise.resolve()); + if (!fileHandle) { + const blob = new Blob(chunks.map(toArrayBuffer), { type: 'application/octet-stream' }); + return { ...result, blob }; + } + return result; + } + finally { + if (sync.timer) { + clearInterval(sync.timer); + sync.timer = null; + } + if (writable) + await writable.close(); + } + } + // --------------------------------------------------------------------------- + // Request / response helpers + // --------------------------------------------------------------------------- + async writeBytes(bytes, opts = {}) { + const u8 = bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes); + if (this._transportKind === 'serial') { + await this._serialWrite(u8); + return; + } + if (!this.tx) + throw new Error('Not connected'); + if (opts.withResponse) { + await this.tx.writeValue(toArrayBuffer(u8)); + return; + } + const txExt = this.tx; + if (txExt.writeValueWithoutResponse) { + await txExt.writeValueWithoutResponse(toArrayBuffer(u8)); + } + else { + await this.tx.writeValue(toArrayBuffer(u8)); + } + } + async _requestByCommand(command, property, payloadBytes = [], timeoutMs = 3000, acceptedCommands, acceptedProperties) { + if (this._pending) + throw new Error('A request is already pending'); + this._mode = 'command'; + this._resetAssembler(); + const req = buildMessage(command, property, payloadBytes); + const accepted = acceptedCommands ?? defaultAcceptedCommands(command); + const pendingPromise = new Promise((resolve, reject) => { + const t = setTimeout(() => { + this._pending = null; + reject(new Error('Request timeout')); + }, timeoutMs); + this._pending = { + expectedProperty: property, + acceptedCommands: accepted, + acceptedProperties, + resolve: (resp) => { + clearTimeout(t); + this._pending = null; + resolve(resp); + }, + reject: (e) => { + clearTimeout(t); + this._pending = null; + reject(e); + }, + }; + }); + await this.writeBytes(req); + return pendingPromise; + } + async readProperty(property, timeoutMs = 3000) { + return this._requestByCommand(ASM_COMMAND.READ, property, [], timeoutMs); + } + async writeProperty(property, payloadBytes = [], timeoutMs = 3000) { + return this._requestByCommand(ASM_COMMAND.WRITE, property, payloadBytes, timeoutMs); + } + async request(opcode, payloadBytes = [], timeoutMs = 3000) { + const { command, property } = parseHeader(opcode & 0xff); + const rsp = await this._requestByCommand(command, property, payloadBytes, timeoutMs); + return { payload: rsp.payload }; + } + // Convenience command methods (all protocol properties) + readStatus() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.STATUS1); + } + async readStatusParsed() { + const { payload } = await this.readStatus(); + return parseStatusPayload(payload, 'status1'); + } + readStatus2() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.STATUS2); + } + async readStatus2Parsed() { + const { payload } = await this.readStatus2(); + return parseStatusPayload(payload, 'status2'); + } + readData() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.DATA); + } + readProductionConfig() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.PRODUCTION_CONFIGURATION); + } + readOperationalConfig() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.OPERATIONAL_CONFIGURATION); + } + readTime() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.TIME); + } + async readTimeUnixSeconds() { + const { payload } = await this.readTime(); + return asmRtcBytesToUnixSeconds(payload); + } + readPendingEvents() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.PENDING_EVENTS); + } + async readPendingEventsParsed() { + const { payload } = await this.readPendingEvents(); + return parsePendingEvents(payload); + } + async writeProductionConfig(bytes) { + const payload = normalizeBytePayload(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)); + if (!payload || payload.length < 11 || payload.length > 56) { + throw new Error('writeProductionConfig: payload length must be between 11 and 56 bytes'); + } + await this.writeProperty(ASM_PROPERTY.PRODUCTION_CONFIGURATION, payload); + } + async writeOperationalConfig(bytes) { + const payload = normalizeBytePayload(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)); + if (!payload || payload.length < 50) { + throw new Error('writeOperationalConfig: payload length must be at least 50 bytes'); + } + await this.writeProperty(ASM_PROPERTY.OPERATIONAL_CONFIGURATION, payload); + } + async writeTime(rtc7) { + const payload = normalizeBytePayload(rtc7 instanceof Uint8Array ? rtc7 : new Uint8Array(rtc7)); + if (!payload || payload.length !== 7) { + throw new Error('writeTime: payload must be exactly 7 bytes'); + } + await this.writeProperty(ASM_PROPERTY.TIME, payload); + } + async writeTimeUnixSeconds(unixSeconds) { + await this.writeTime(unixSecondsToAsmRtcBytes(unixSeconds)); + } + /** + * Enables Nordic Secure DFU service advertisement after the next disconnect. + * + * This sends ASM DFU_MODE property write (equivalent to [0x26, 0x00, 0x00]). + * It does not immediately reboot into bootloader mode. + */ + async enableDfuServiceOnNextDisconnect() { + await this.writeProperty(ASM_PROPERTY.DFU_MODE, []); + } + /** + * @deprecated Use enableDfuServiceOnNextDisconnect() for clearer semantics. + */ + async enterDfuMode() { + await this.enableDfuServiceOnNextDisconnect(); + } + /** + * Uses Nordic buttonless DFU characteristic to reboot the connected device into bootloader mode. + * + * Requirements: + * - BLE transport must be connected + * - Nordic Secure DFU service and buttonless characteristic must be present + */ + async rebootToDfuBootloader(opts = {}) { + if (this._transportKind !== 'ble' || !this.device?.gatt?.connected || !this.server) { + throw new Error('rebootToDfuBootloader: requires an active BLE connection'); + } + const waitForDisconnect = opts.waitForDisconnect ?? true; + const disconnectAfterCommand = opts.disconnectAfterCommand ?? true; + const timeoutMs = Math.max(500, Math.trunc(opts.timeoutMs ?? 8000)); + const dfuService = await this.server.getPrimaryService(NORDIC_DFU_SERVICE); + let buttonlessChar; + try { + buttonlessChar = await dfuService.getCharacteristic(NORDIC_DFU_BUTTONLESS_CHAR); + } + catch { + const hasControl = await dfuService + .getCharacteristic(NORDIC_DFU_CONTROL_CHAR) + .then(() => true) + .catch(() => false); + const hasPacket = await dfuService + .getCharacteristic(NORDIC_DFU_PACKET_CHAR) + .then(() => true) + .catch(() => false); + if (hasControl && hasPacket) { + throw new Error('Device already appears to be in DFU bootloader mode'); + } + throw new Error('Nordic buttonless DFU characteristic not found'); + } + if (buttonlessChar.properties.notify || buttonlessChar.properties.indicate) { + try { + await buttonlessChar.startNotifications(); + } + catch { + /* some stacks may still allow write without notifications */ + } + } + const device = this.device; + let disconnectPromise = null; + if (waitForDisconnect) { + let offDisconnect = null; + disconnectPromise = new Promise((resolve, reject) => { + const timer = setTimeout(() => { + if (offDisconnect) + offDisconnect(); + reject(new Error(`Timed out waiting for reboot/disconnect (${timeoutMs} ms)`)); + }, timeoutMs); + const onDisconnect = () => { + clearTimeout(timer); + if (offDisconnect) + offDisconnect(); + resolve(); + }; + device.addEventListener('gattserverdisconnected', onDisconnect, { once: true }); + offDisconnect = () => { + try { + device.removeEventListener('gattserverdisconnected', onDisconnect); + } + catch { + /* ignore */ + } + }; + }); + } + const cmd = new Uint8Array([0x01]); + await buttonlessChar.writeValue(cmd); + if (disconnectAfterCommand && device.gatt?.connected) { + try { + device.gatt.disconnect(); + } + catch { + /* ignore */ + } + } + if (waitForDisconnect) { + if (!device.gatt?.connected) + return; + if (disconnectPromise) + await disconnectPromise; + } + } + async runTestMode(testPayload) { + const payload = normalizeBytePayload(testPayload instanceof Uint8Array ? testPayload : new Uint8Array(testPayload)); + if (!payload || payload.length < 2) { + throw new Error('runTestMode: payload must contain at least [testId, hwMajor]'); + } + await this.writeProperty(ASM_PROPERTY.TEST_MODE, payload); + } + async runHardwareTest(testId, hwMajor, hwMinor = 0, hwInternal = 0) { + const payload = new Uint8Array([ + testId & 0xff, + hwMajor & 0xff, + hwMinor & 0xff, + hwInternal & 0xff, + (hwInternal >> 8) & 0xff, + ]); + await this.runTestMode(payload); + } + _clearHardwareTestReportCapture(error, text) { + const cap = this._testReportCapture; + if (!cap) + return; + this._testReportCapture = null; + if (cap.timeout) { + clearTimeout(cap.timeout); + cap.timeout = null; + } + if (error) { + cap.reject?.(error); + return; + } + cap.resolve?.(text ?? ''); + } + _captureHardwareTestReportChunk(chunk) { + const cap = this._testReportCapture; + if (!cap || !chunk?.length) + return; + const decoded = this._testReportDecoder.decode(chunk, { stream: true }); + if (!decoded) + return; + cap.aggregateText += decoded; + if (!cap.started) { + const firstMarker = cap.aggregateText.indexOf(cap.marker); + if (firstMarker >= 0) { + cap.started = true; + if (firstMarker > 0) { + cap.aggregateText = cap.aggregateText.slice(firstMarker); + cap.emittedChars = 0; + } + } + else { + // Some firmware builds vary the star count around TEST START. Fall back + // to a fuzzy marker so we can still stream the report to the UI. + const hint = VerisenseBleDevice.TEST_REPORT_MARKER_HINT; + const hintIdx = cap.aggregateText.indexOf(hint); + if (hintIdx < 0) { + const keep = Math.max(cap.marker.length * 2, 2048); + if (cap.aggregateText.length > keep) { + cap.aggregateText = cap.aggregateText.slice(-keep); + } + return; + } + const bannerStart = cap.aggregateText.lastIndexOf('//', hintIdx); + let lineStart = bannerStart >= 0 ? bannerStart : cap.aggregateText.lastIndexOf('\n', hintIdx); + lineStart = lineStart >= 0 ? lineStart + (bannerStart >= 0 ? 0 : 1) : 0; + cap.started = true; + if (lineStart > 0) { + cap.aggregateText = cap.aggregateText.slice(lineStart); + cap.emittedChars = 0; + } + } + } + const nextChunk = cap.aggregateText.slice(cap.emittedChars); + if (nextChunk) { + cap.onChunk?.(nextChunk, cap.aggregateText); + this.emit('hardwareTestReportChunk', { + chunkText: nextChunk, + aggregateText: cap.aggregateText, + }); + cap.emittedChars = cap.aggregateText.length; + } + const endMarker = cap.aggregateText.indexOf(cap.marker, cap.marker.length); + let full = null; + if (endMarker >= 0) { + full = cap.aggregateText.slice(0, endMarker + cap.marker.length); + } + else { + const hint = VerisenseBleDevice.TEST_REPORT_MARKER_HINT; + const firstHint = cap.aggregateText.indexOf(hint); + if (firstHint >= 0) { + const secondHint = cap.aggregateText.indexOf(hint, firstHint + hint.length); + if (secondHint >= 0) { + const endOfSecondLine = cap.aggregateText.indexOf('\n', secondHint); + full = + endOfSecondLine >= 0 + ? cap.aggregateText.slice(0, endOfSecondLine + 1) + : cap.aggregateText; + } + } + } + if (full !== null) { + this.emit('hardwareTestReportComplete', { text: full }); + this._clearHardwareTestReportCapture(null, full); + return; + } + if (cap.aggregateText.length > cap.maxChars) { + cap.aggregateText = cap.aggregateText.slice(-cap.maxChars); + cap.emittedChars = Math.min(cap.emittedChars, cap.aggregateText.length); + } + } + /** + * Runs TEST_REPORT (0xFE) and captures the rolling text report. + * + * The firmware ACKs the command first, then emits plain-text lines over the link. + * Capture starts on the first delimiter and completes on the second delimiter. + */ + async runHardwareTestReport(hwMajor, hwMinor = 0, hwInternal = 0, opts = {}) { + const timeoutMs = Math.max(1000, Math.trunc(opts.timeoutMs ?? 120000)); + const marker = typeof opts.marker === 'string' && opts.marker.length > 0 + ? opts.marker + : VerisenseBleDevice.TEST_REPORT_DELIMITER; + const maxChars = Math.max(4096, Math.trunc(opts.maxChars ?? 2 * 1024 * 1024)); + this._clearHardwareTestReportCapture(new Error('Hardware test report capture was replaced'), null); + this._testReportDecoder.decode(); + const reportPromise = new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + this._clearHardwareTestReportCapture(new Error(`Hardware test report timeout after ${timeoutMs} ms`), null); + }, timeoutMs); + this._testReportCapture = { + marker, + maxChars, + started: false, + aggregateText: '', + emittedChars: 0, + resolve, + reject, + onChunk: opts.onChunk ?? null, + timeout, + }; + }); + try { + const factoryTestType = Math.max(0, Math.min(255, Math.trunc(opts.factoryTestType ?? 0))); + const payload = new Uint8Array([ + VerisenseBleDevice.TEST_REPORT_MODE_ID & 0xff, + hwMajor & 0xff, + hwMinor & 0xff, + hwInternal & 0xff, + (hwInternal >> 8) & 0xff, + factoryTestType, + ]); + await this.runTestMode(payload); + } + catch (error) { + this._clearHardwareTestReportCapture(error, null); + throw error; + } + return reportPromise; + } + _buildDebugPayload(debugId, args = []) { + const argBytes = args instanceof Uint8Array ? args : new Uint8Array(args); + const payload = new Uint8Array(1 + argBytes.length); + payload[0] = debugId & 0xff; + payload.set(argBytes, 1); + return payload; + } + _debugIndexArgs(index) { + const i = Math.max(0, Math.min(0xff, Math.trunc(index))); + return i > 0 ? [i] : []; + } + _waitForDebugResponse(timeoutMs = 3000) { + return new Promise((resolve, reject) => { + let done = false; + let off = null; + let timer = null; + const cleanup = () => { + if (off) { + try { + off(); + } + catch { + /* ignore */ + } + off = null; + } + if (timer) { + clearTimeout(timer); + timer = null; + } + }; + off = this.on('commandPayload', (evt) => { + if (done || !evt) + return; + if (evt.command !== ASM_COMMAND.RESPONSE || evt.property !== ASM_PROPERTY.DEBUG_COMMAND) + return; + done = true; + cleanup(); + resolve({ payload: evt.payload ?? new Uint8Array(0) }); + }); + timer = setTimeout(() => { + if (done) + return; + done = true; + cleanup(); + reject(new Error('Debug response timeout')); + }, timeoutMs); + }); + } + async readDebugCommand(debugId, args = [], timeoutMs = 3000) { + const payload = this._buildDebugPayload(debugId, args); + const debugAcceptedProps = new Set([ASM_PROPERTY.DEBUG_COMMAND, 0]); + // Python flow: WRITE DEBUG command, optional empty/transient frame, then RESPONSE DEBUG payload. + const responsePromise = this._waitForDebugResponse(timeoutMs); + try { + await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, payload, timeoutMs, undefined, debugAcceptedProps); + return await responsePromise; + } + catch (e) { + void responsePromise.catch(() => { }); + const msg = e instanceof Error ? e.message : String(e); + const isDebugNack = /NACK command=0x(?:50|60|70) property=0x9/i.test(msg); + const isDebugAckPropertyZero = /Unexpected response property 0x0 \(expected 0x9\)/i.test(msg); + if (!isDebugNack && !isDebugAckPropertyZero) + throw e; + const rsp = await this._requestByCommand(ASM_COMMAND.READ, ASM_PROPERTY.DEBUG_COMMAND, payload, timeoutMs); + return { payload: rsp.payload }; + } + } + async sendDebugCommand(debugId, args = [], timeoutMs = 3000) { + const rsp = await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args), timeoutMs); + return { payload: rsp.payload }; + } + async readFlashLookupTable(_index = 0, timeoutMs = 12000) { + return this.readDebugCommand(DEBUG_COMMAND_ID.FLASH_LOOKUP_TABLE_READ, [], timeoutMs); + } + async readRealWorldClockScheduler(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.RWC_SCHEDULER_READ); + } + async readRealWorldClockSchedulerParsed(index = 0) { + const { payload } = await this.readRealWorldClockScheduler(index); + return parseSchedulerDebugPayload(payload); + } + async loadTestLookupTable(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.LOAD_TEST_LOOKUP_TABLE); + } + async checkPayloadCrcErrors(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.CHECK_PAYLOAD_CRC_ERRORS); + } + async checkPayloadCrcErrorsParsed(index = 0) { + const { payload } = await this.checkPayloadCrcErrors(index); + return parsePayloadCrcErrorBankIndexes(payload); + } + async readEventLog(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_EVENT_LOG); + } + async readEventLogParsed(index = 0) { + const { payload } = await this.readEventLog(index); + return parseEventLogPayload(payload); + } + async readRecordBufferDetails(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_RECORD_BUFFER_DETAILS); + } + async readRecordBufferDetailsParsed(index = 0) { + const { payload } = await this.readRecordBufferDetails(index); + return parseRecordBufferDetailsPayload(payload); + } + async eraseOperationalConfig() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_OPERATIONAL_CONFIG); + } + async eraseProductionConfig() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_PRODUCTION_CONFIG); + } + async clearPendingEvents() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.CLEAR_PENDING_EVENTS); + } + async eraseAllLoggedData(timeoutMs = 12000) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_FLASH_AND_LOOKUP_TABLE, [], timeoutMs); + } + async testDataTransferLoop(loopCount) { + const clamped = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); + await this.sendDebugCommand(DEBUG_COMMAND_ID.TEST_DATA_TRANSFER_LOOP, [ + clamped & 0xff, + (clamped >> 8) & 0xff, + ]); + } + async ledTest(ledIndex) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.LED_TEST, [ledIndex & 0xff]); + } + async max86xxxLedTest(start) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.MAX86XXX_LED_TEST, [start ? 0x01 : 0x00]); + } + async startPowerProfilerTest() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.POWER_PROFILER_TEST); + } + async requestSystemReset() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.SYSTEM_RESET); + } + async startIcPowerConsumptionTest(loopCount, stageIntervalMs) { + const clampedLoopCount = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); + const clampedStageInterval = Math.max(0, Math.min(0xffff, Math.trunc(stageIntervalMs))); + await this.sendDebugCommand(DEBUG_COMMAND_ID.IC_POWER_CONSUMPTION_TEST, [ + clampedLoopCount & 0xff, + (clampedLoopCount >> 8) & 0xff, + clampedStageInterval & 0xff, + (clampedStageInterval >> 8) & 0xff, + ]); + } + async deleteAllBonds() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.DELETE_ALL_BONDS); + } + async setStreamingMode(enabled) { + await this.writeProperty(ASM_PROPERTY.STREAM_MODE, [enabled ? STREAM_MODE.ENABLE : STREAM_MODE.DISABLE], 3000); + } + async disconnectRequest() { + try { + return await this.request(ASM_COMMAND.WRITE | ASM_PROPERTY.DEVICE_DISCONNECT, [], 1500); + } + catch (e) { + const msg = e instanceof Error ? e.message : String(e); + if (/timeout/i.test(msg)) + return { payload: new Uint8Array(0) }; + throw e; + } + } + // --------------------------------------------------------------------------- + // Operational config helpers + // --------------------------------------------------------------------------- + async getOpConfig() { + if (this.operationalConfig?.length) + return new Uint8Array(this.operationalConfig); + throw new Error('Operational config not cached. Call readOpConfigFromDevice() first.'); + } + async readProductionConfigFromDevice() { + const rsp = await this.readProductionConfig(); + const prod = normalizeOperationalConfig(rsp?.payload); + if (!prod?.length) + throw new Error('Invalid production config returned from device'); + this.productionConfig = prod; + const parsed = parseProductionConfigPayload(prod); + this.emit('productionConfig', parsed); + return parsed; + } + async readOpConfigFromDevice() { + const rsp = await this.readOperationalConfig(); + const op = normalizeOperationalConfig(rsp?.payload); + if (!op?.length || op[0] !== 0x5a) + throw new Error('Invalid operational config returned from device'); + this.operationalConfig = op; + try { + this.accel1.applyOperationalConfig(op); + this.gyroAccel2.applyOperationalConfig(op); + this.adc.applyOperationalConfig(op); + this.ppg.applyOperationalConfig(op); + } + catch (e) { + console.warn('[opcfg] apply after read failed:', e); + } + this.emit('opConfig', { op }); + return new Uint8Array(op); + } + async writeOpConfig(opConfigBytes) { + const op = normalizeOperationalConfig(opConfigBytes instanceof Uint8Array ? opConfigBytes : new Uint8Array(opConfigBytes)); + if (!op || op.length < 4) + throw new Error('writeOpConfig: invalid opconfig'); + if (op[0] !== 0x5a) + throw new Error('writeOpConfig: opconfig must start with 0x5A'); + await this.writeOperationalConfig(op); + await this.readOpConfigFromDevice(); + } + getSensor(name) { + const k = String(name ?? '').toLowerCase(); + if (!k) + return null; + if (k.includes('lis2dw12') || k.includes('accel1') || k === '2') + return this.accel1; + if (k.includes('lsm6') || k.includes('gyro') || k.includes('accel2') || k === '3') + return this.gyroAccel2; + if (k.includes('vbatt') || k.includes('batt') || k.includes('battery') || k.includes('adc')) + return this.adc; + if (k.includes('gsr') || k === '1') + return this.adc; + if (k.includes('ppg') || k === '4') + return this.ppg; + return null; + } + // --------------------------------------------------------------------------- + // RX assembly and dispatch + // --------------------------------------------------------------------------- + _abortSync(err) { + const s = this._sync; + if (!s) + return; + s.receiving = false; + if (s.timer) + clearInterval(s.timer); + this._sync = null; + this._mode = 'idle'; + s.reject(err); + } + _finishSync() { + const s = this._sync; + if (!s) + return; + s.receiving = false; + if (s.timer) + clearInterval(s.timer); + const bytesWritten = s.bytesWritten; + this._sync = null; + this._mode = 'idle'; + s.resolve({ ok: true, bytesWritten }); + } + async _handleLoggedPayload(payloadU8) { + this._syncPayloadCount++; + const s = this._sync; + if (!s) + return; + const computed = computeCrcLikeCSharp(payloadU8); + const original = getOriginalCrcLE(payloadU8); + const crcOk = computed === original; + const payloadIndex = u16le_at(payloadU8, 0); + if (!crcOk) { + s.lastReply = 'NACK'; + s.nackCrcCount++; + this._clearSyncRxBuffers('crc-nack'); + await this.writeBytes(buildMessage(ASM_COMMAND.NACK_GENERIC, ASM_PROPERTY.DATA)); + if (s.nackCrcCount >= s.maxCrcNack) + this._abortSync(new Error('Too many CRC failures')); + s.onProgress?.({ payloadIndex, bytesWritten: s.bytesWritten, crcOk: false }); + return; + } + if (s.writable) { + await s.writable.write(toArrayBuffer(payloadU8)); + } + else { + s.chunks.push(new Uint8Array(payloadU8)); + } + s.bytesWritten += payloadU8.length; + s.emptyAckCount = 0; + s.lastReply = 'ACK'; + s.nackCount = 0; + s.nackCrcCount = 0; + await this.writeBytes(buildMessage(ASM_COMMAND.ACK_NEXT_STAGE, ASM_PROPERTY.DATA), { + withResponse: true, + }); + s.onProgress?.({ payloadIndex, bytesWritten: s.bytesWritten, crcOk: true }); + } + _resetAssembler() { + this._rxStreamBuf = new Uint8Array(0); + } + _appendStreamBuf(chunk) { + const merged = new Uint8Array(this._rxStreamBuf.length + chunk.length); + merged.set(this._rxStreamBuf, 0); + merged.set(chunk, this._rxStreamBuf.length); + this._rxStreamBuf = merged; + } + _clearSyncRxBuffers(reason = '') { + this._rxStreamBuf = new Uint8Array(0); + this._resetAssembler(); + if (this.debugSync) + console.warn('[sync] cleared RX buffers', { reason }); + } + _isPlausibleHeaderByte(hdr) { + const command = hdr & 0xf0; + const property = hdr & 0x0f; + const validCommand = command === ASM_COMMAND.READ || + command === ASM_COMMAND.WRITE || + command === ASM_COMMAND.RESPONSE || + command === ASM_COMMAND.ACK || + command === ASM_COMMAND.NACK_BAD_HEADER_COMMAND || + command === ASM_COMMAND.NACK_BAD_HEADER_PROPERTY || + command === ASM_COMMAND.NACK_GENERIC || + command === ASM_COMMAND.ACK_NEXT_STAGE; + if (!validCommand) + return false; + // Known properties are 0x01..0x0C; keep 0x00 permissive for transient frames. + return property === 0 || (property >= ASM_PROPERTY.STATUS1 && property <= ASM_PROPERTY.STATUS2); + } + _isPlausibleFrameStart(hdr, len) { + if (!this._isPlausibleHeaderByte(hdr)) + return false; + // Debug responses may carry large blobs (for example flash lookup tables), + // while normal properties and streaming/logged payloads should stay bounded. + const isPendingDebugCommand = this._mode === 'command' && this._pending?.expectedProperty === ASM_PROPERTY.DEBUG_COMMAND; + const maxLen = isPendingDebugCommand + ? VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN + : VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN; + return len <= maxLen; + } + _resolvePendingCommand(msg) { + const pending = this._pending; + if (pending) { + // Some firmware/transport paths emit a transient empty 0x00/0x00 frame + // immediately before the real command response; ignore and keep waiting. + if (msg.command === 0 && + msg.property === 0 && + msg.payload.length === 0) { + return; + } + const err = validatePendingResponse(pending, msg); + if (err) { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; + pending.reject(err); + } + else { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; + pending.resolve(toCommandResponse(msg)); + } + } + else { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; + } + this.emit('commandPayload', { + header: msg.header, + command: msg.command, + property: msg.property, + payload: msg.payload, + }); + } + _feedStreamBytes(chunk) { + if (this._mode === 'logged' && this._sync) + this._sync.lastRxAt = Date.now(); + if (this._testReportCapture) { + this._captureHardwareTestReportChunk(chunk); + } + this._appendStreamBuf(chunk); + for (;;) { + if (this._rxStreamBuf.length < 3) + return; + const hdr = this._rxStreamBuf[0]; + const len = (this._rxStreamBuf[1] | (this._rxStreamBuf[2] << 8)) >>> 0; + if (!this._isPlausibleFrameStart(hdr, len)) { + if (this.debugSync) { + console.warn('[rx] resync: dropping byte', { + dropped: hdr, + nextLen: len, + bufLen: this._rxStreamBuf.length, + }); + } + this._rxStreamBuf = this._rxStreamBuf.slice(1); + continue; + } + if (len === 0) { + const header = hdr & 0xff; + const decodedHeader = parseHeader(header); + const msg = { + header, + command: decodedHeader.command, + property: decodedHeader.property, + payloadLength: 0, + payload: new Uint8Array(0), + }; + this._rxStreamBuf = this._rxStreamBuf.slice(3); + if (this._mode === 'logged' && hdr === buildHeader(ASM_COMMAND.ACK, ASM_PROPERTY.DATA)) { + const s = this._sync; + if (s && s.bytesWritten === 0 && s.emptyAckCount < 6) { + s.emptyAckCount++; + if (this.debugSync) + console.log('[sync] empty ACK before payload; requesting next DATA chunk.'); + void this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }).catch((e) => this._abortSync(e)); + continue; + } + if (this.debugSync) + console.log('[sync] EOS received. Finishing.'); + this._finishSync(); + continue; + } + if (this._mode === 'command') { + this._resolvePendingCommand(msg); + } + continue; + } + if (this._rxStreamBuf.length < 3 + len) + return; + const payload = this._rxStreamBuf.slice(3, 3 + len); + this._rxStreamBuf = this._rxStreamBuf.slice(3 + len); + const header = hdr & 0xff; + const decodedHeader = parseHeader(header); + const msg = { + header, + command: decodedHeader.command, + property: decodedHeader.property, + payloadLength: payload.length, + payload, + }; + if (this._mode === 'logged') { + this._loggedChain = (this._loggedChain ?? Promise.resolve()) + .then(() => this._handleLoggedPayload(msg.payload)) + .catch((e) => this._abortSync(e)); + continue; + } + if (this._mode === 'streaming') { + this._handleStreamingPayload(msg.payload); + continue; + } + this._resolvePendingCommand(msg); + } + } + _handleStreamingPayload(payload) { + if (payload.length < 4) + return; + let body = payload; + let crcOk = null; + if (this.stripStreamCrc && payload.length >= 6) { + const claimed = (payload[payload.length - 2] | (payload[payload.length - 1] << 8)) >>> 0; + const dataNoCrc = payload.slice(0, payload.length - 2); + if (this.verifyStreamCrc) { + const calc = crc16_ccitt_false(dataNoCrc); + crcOk = calc === claimed; + } + body = dataNoCrc; + if (this.verifyStreamCrc && crcOk === false) { + this.emit('streamCrcFail', { claimed, body: dataNoCrc }); + } + } + const sensorId = body[0]; + const tick = u24le(body, 1); + const sensorPayload = body.slice(4); + const sensor = this.sensors[sensorId]; + const systemTsLastSampleMillis = nowMillis(); + let tsInfo = null; + if (sensor) + tsInfo = sensor.getTimestampUnwrappedMillis(tick, systemTsLastSampleMillis); + let decodedSamples = null; + if (sensor) + decodedSamples = sensor.parsePayload(sensorPayload); + let samplesWithTime = decodedSamples; + if (sensor && Array.isArray(decodedSamples) && decodedSamples.length > 0 && tsInfo) { + const num = decodedSamples.length; + samplesWithTime = decodedSamples.map((s, i) => ({ + ...s, + timestamps: sensor.extrapolateSampleTimes({ + numSamples: num, + i, + samplingRateHz: sensor.samplingRateHz, + tsLastSampleMillis: tsInfo.shimmerMillis, + systemTsLastSampleMillis, + systemOffsetFirstTime: tsInfo.systemOffsetFirstTime, + }), + })); + } + const packet = { + sensorId, + tick_u24: tick, + decoded: samplesWithTime, + rawPayload: sensorPayload, + crcOk, + }; + this.emit('streamPacket', packet); + this.emit('data', packet); + } +} +VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN = 4096; +VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN = 0xffff; +VerisenseBleDevice.TEST_REPORT_MODE_ID = 0xfe; +VerisenseBleDevice.TEST_REPORT_DELIMITER = '//**************************** TEST START ************************************\r\n'; +VerisenseBleDevice.TEST_REPORT_MARKER_HINT = 'TEST START'; +// Static NUS UUIDs +VerisenseBleDevice.NUS_SERVICE = NUS_SERVICE; +VerisenseBleDevice.NUS_TX = NUS_TX; +VerisenseBleDevice.NUS_RX = NUS_RX; +VerisenseBleDevice.NORDIC_DFU_SERVICE = NORDIC_DFU_SERVICE; +VerisenseBleDevice.NORDIC_DFU_BUTTONLESS_CHAR = NORDIC_DFU_BUTTONLESS_CHAR; + +export { ASM_COMMAND, ASM_PROPERTY, BaseShimmerClient, CHANNEL_FORMATS, DEBUG_COMMAND_ID, FACTORY_TEST, GSR_NAME, NORDIC_DFU_BUTTONLESS_CHAR, NORDIC_DFU_CONTROL_CHAR, NORDIC_DFU_PACKET_CHAR, NORDIC_DFU_SERVICE, NUS_RX, NUS_SERVICE, NUS_TX, OPCODES, OP_IDX, ObjectCluster, SHIMMER3R_DEFAULTS, STREAM_MODE, SensorADC, SensorBase, SensorBitmapShimmer3, SensorLIS2DW12, SensorLSM6DS3, SensorPPG, Shimmer3RClient, TEST_MODE_ID, TIMESTAMP_FIELD, VerisenseBleDevice, applyDuplicateSuffix, asmRtcBytesToUnixSeconds, asmRtcMinutesBytesToUnixSeconds, buildHeader, buildMessage, buildParsedCsvFileName, buildProductionConfigPayload, buildUploadBinaryFileName, calibrateGsrDataToResistanceFromAmplifierEq, calibrateShimmer3RAdcChannel, calibrateU12AdcValue, computeVerisensePairingPin, crc16_ccitt_false, evaluateParsedFileSplit, getFirstPayloadIndex, getOversamplingRatioADS1292R, isAckCommand, isNackCommand, nextAvailableDuplicateFileName, normalizeBytePayload, normalizeOperationalConfig, nudgeGsrResistance, parseEventLogPayload, parseHeader, parseLookupTablePayload, parseMessage, parsePayloadCrcErrorBankIndexes, parsePendingEvents, parseProductionConfigPayload, parseProductionConfigPayloadFull, parseRecordBufferDetailsPayload, parseSchedulerDebugPayload, parseStatusPayload, unixSecondsToAsmRtcBytes }; +//# sourceMappingURL=shimmer-web-sdk.esm.js.map diff --git a/Verisense/vendor/shimmer-web-sdk.esm.js.map b/Verisense/vendor/shimmer-web-sdk.esm.js.map new file mode 100644 index 0000000..51341c7 --- /dev/null +++ b/Verisense/vendor/shimmer-web-sdk.esm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"shimmer-web-sdk.esm.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file diff --git a/Verisense/vendor/shimmer-web-sdk.umd.js b/Verisense/vendor/shimmer-web-sdk.umd.js new file mode 100644 index 0000000..8d2dc30 --- /dev/null +++ b/Verisense/vendor/shimmer-web-sdk.umd.js @@ -0,0 +1,4229 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ShimmerBLE = {})); +})(this, (function (exports) { 'use strict'; + + /** + * Container for a single decoded sensor frame. + * + * Mirrors the ObjectCluster concept from the Shimmer C# SDK: + * a named, typed bag of raw and calibrated signal values produced + * by parsing one data packet from a device. + * + * @example + * ```ts + * const oc = new ObjectCluster('MyShimmer3R'); + * oc.add('GYRO_X', rawVal, null, 'raw'); + * oc.add('GYRO_X', degPerSec, 'deg/s', 'cal'); + * + * const cal = oc.get('GYRO_X', 'cal'); + * console.log(cal?.value, cal?.unit); // e.g. 12.5 "deg/s" + * ``` + */ + class ObjectCluster { + constructor(deviceId) { + this.deviceId = deviceId; + this.fields = []; + this.raw = null; + } + /** + * Append a named field to this cluster. + * + * @param name Signal name, e.g. `'GYRO_X'`. + * @param value Numeric value. + * @param unit Optional unit string, e.g. `'deg/s'`, `'ยตS'`, `'ticks'`. + * @param kind `'raw'` for ADC counts, `'cal'` for calibrated units, or `null`. + */ + add(name, value, unit = null, kind = null) { + this.fields.push({ name, value, unit, kind }); + } + /** + * Look up a field by name and optional kind. + * + * When both a raw and a calibrated version exist for the same signal name, + * pass `kind` to disambiguate. + * + * @returns The matching field, or `null` if not found. + */ + get(name, kind = null) { + return this.fields.find((f) => f.name === name && (kind === null || f.kind === kind)) ?? null; + } + /** + * Return all fields that match the given name (regardless of kind). + */ + getAll(name) { + return this.fields.filter((f) => f.name === name); + } + } + + /** + * Abstract base class shared by all Shimmer device clients. + * + * Provides: + * - A `debug` flag and `_log` helper. + * - Stub implementations of `onStatus` and `onStreamFrame` callback properties. + * - Abstract stubs for `connect`, `disconnect`, `startStreaming`, and `stopStreaming` + * that concrete sub-classes must override. + * + * Sub-classes should call `this._emitStatus(msg)` to surface status strings to + * the application layer without depending on a particular event-emitter library. + */ + class BaseShimmerClient { + constructor(opts = {}) { + /** + * Invoked whenever the client emits a human-readable status message + * (e.g. "GATT connected", "Sampling rate ACKed. Applied โ‰ˆ 51.200 Hz"). + */ + this.onStatus = null; + /** + * Invoked for every fully-decoded sensor frame while streaming. + * The exact shape depends on the concrete sub-class: + * - `Shimmer3RClient` passes an {@link ObjectCluster}. + * - `VerisenseBleDevice` passes a streaming packet object (see that class). + */ + this.onStreamFrame = null; + this.debug = opts.debug ?? true; + } + /** Log to console when debug is enabled. */ + _log(...args) { + if (this.debug) + console.log('[Shimmer]', ...args); + } + /** Emit a status message to `onStatus` and to the debug log. */ + _emitStatus(msg) { + this._log(msg); + this.onStatus?.(msg); + } + } + + /** + * Shimmer3R BLE protocol opcodes. + * Values taken directly from the Shimmer3 firmware header. + */ + const OPCODES = Object.freeze({ + DATA_PACKET: 0x00, + INQUIRY_COMMAND: 0x01, + INQUIRY_RESPONSE: 0x02, + GET_SAMPLING_RATE_COMMAND: 0x03, + SAMPLING_RATE_RESPONSE: 0x04, + SET_SAMPLING_RATE_COMMAND: 0x05, + TOGGLE_LED_COMMAND: 0x06, + START_STREAMING_COMMAND: 0x07, + SET_SENSORS_COMMAND: 0x08, + SET_WR_ACCEL_RANGE_COMMAND: 0x09, + WR_ACCEL_RANGE_RESPONSE: 0x0a, + GET_WR_ACCEL_RANGE_COMMAND: 0x0b, + SET_CONFIG_SETUP_BYTES_COMMAND: 0x0e, + CONFIG_SETUP_BYTES_RESPONSE: 0x0f, + GET_CONFIG_SETUP_BYTES_COMMAND: 0x10, + SET_LN_ACCEL_CALIBRATION_COMMAND: 0x11, + LN_ACCEL_CALIBRATION_RESPONSE: 0x12, + GET_LN_ACCEL_CALIBRATION_COMMAND: 0x13, + SET_GYRO_CALIBRATION_COMMAND: 0x14, + GYRO_CALIBRATION_RESPONSE: 0x15, + GET_GYRO_CALIBRATION_COMMAND: 0x16, + SET_MAG_CALIBRATION_COMMAND: 0x17, + MAG_CALIBRATION_RESPONSE: 0x18, + GET_MAG_CALIBRATION_COMMAND: 0x19, + SET_WR_ACCEL_CALIBRATION_COMMAND: 0x1a, + WR_ACCEL_CALIBRATION_RESPONSE: 0x1b, + GET_WR_ACCEL_CALIBRATION_COMMAND: 0x1c, + STOP_STREAMING_COMMAND: 0x20, + SET_GSR_RANGE_COMMAND: 0x21, + GSR_RANGE_RESPONSE: 0x22, + GET_GSR_RANGE_COMMAND: 0x23, + DEVICE_VERSION_RESPONSE: 0x25, + GET_ALL_CALIBRATION_COMMAND: 0x2c, + ALL_CALIBRATION_RESPONSE: 0x2d, + GET_FW_VERSION_COMMAND: 0x2e, + FW_VERSION_RESPONSE: 0x2f, + SET_CHARGE_STATUS_LED_COMMAND: 0x30, + CHARGE_STATUS_LED_RESPONSE: 0x31, + GET_CHARGE_STATUS_LED_COMMAND: 0x32, + BUFFER_SIZE_RESPONSE: 0x35, + GET_BUFFER_SIZE_COMMAND: 0x36, + SET_MAG_GAIN_COMMAND: 0x37, + MAG_GAIN_RESPONSE: 0x38, + GET_MAG_GAIN_COMMAND: 0x39, + SET_MAG_SAMPLING_RATE_COMMAND: 0x3a, + MAG_SAMPLING_RATE_RESPONSE: 0x3b, + GET_MAG_SAMPLING_RATE_COMMAND: 0x3c, + UNIQUE_SERIAL_RESPONSE: 0x3d, + GET_UNIQUE_SERIAL_COMMAND: 0x3e, + GET_DEVICE_VERSION_COMMAND: 0x3f, + SET_WR_ACCEL_SAMPLING_RATE_COMMAND: 0x40, + WR_ACCEL_SAMPLING_RATE_RESPONSE: 0x41, + GET_WR_ACCEL_SAMPLING_RATE_COMMAND: 0x42, + SET_WR_ACCEL_LPMODE_COMMAND: 0x43, + WR_ACCEL_LPMODE_RESPONSE: 0x44, + GET_WR_ACCEL_LPMODE_COMMAND: 0x45, + SET_WR_ACCEL_HRMODE_COMMAND: 0x46, + WR_ACCEL_HRMODE_RESPONSE: 0x47, + GET_WR_ACCEL_HRMODE_COMMAND: 0x48, + SET_GYRO_RANGE_COMMAND: 0x49, + GYRO_RANGE_RESPONSE: 0x4a, + GET_GYRO_RANGE_COMMAND: 0x4b, + SET_GYRO_SAMPLING_RATE_COMMAND: 0x4c, + GYRO_SAMPLING_RATE_RESPONSE: 0x4d, + GET_GYRO_SAMPLING_RATE_COMMAND: 0x4e, + SET_ALT_ACCEL_RANGE_COMMAND: 0x4f, + ALT_ACCEL_RANGE_RESPONSE: 0x50, + GET_ALT_ACCEL_RANGE_COMMAND: 0x51, + SET_PRESSURE_OVERSAMPLING_RATIO_COMMAND: 0x52, + PRESSURE_OVERSAMPLING_RATIO_RESPONSE: 0x53, + GET_PRESSURE_OVERSAMPLING_RATIO_COMMAND: 0x54, + BMP180_CALIBRATION_COEFFICIENTS_RESPONSE: 0x58, + GET_BMP180_CALIBRATION_COEFFICIENTS_COMMAND: 0x59, + RESET_TO_DEFAULT_CONFIGURATION_COMMAND: 0x5a, + RESET_CALIBRATION_VALUE_COMMAND: 0x5b, + MPU9150_MAG_SENS_ADJ_VALS_RESPONSE: 0x5c, + GET_MPU9150_MAG_SENS_ADJ_VALS_COMMAND: 0x5d, + SET_INTERNAL_EXP_POWER_ENABLE_COMMAND: 0x5e, + INTERNAL_EXP_POWER_ENABLE_RESPONSE: 0x5f, + GET_INTERNAL_EXP_POWER_ENABLE_COMMAND: 0x60, + SET_EXG_REGS_COMMAND: 0x61, + EXG_REGS_RESPONSE: 0x62, + GET_EXG_REGS_COMMAND: 0x63, + SET_DAUGHTER_CARD_ID_COMMAND: 0x64, + DAUGHTER_CARD_ID_RESPONSE: 0x65, + GET_DAUGHTER_CARD_ID_COMMAND: 0x66, + SET_DAUGHTER_CARD_MEM_COMMAND: 0x67, + DAUGHTER_CARD_MEM_RESPONSE: 0x68, + GET_DAUGHTER_CARD_MEM_COMMAND: 0x69, + SET_DERIVED_CHANNEL_BYTES: 0x6d, + DERIVED_CHANNEL_BYTES_RESPONSE: 0x6e, + GET_DERIVED_CHANNEL_BYTES: 0x6f, + START_SDBT_COMMAND: 0x70, + STATUS_RESPONSE: 0x71, + GET_STATUS_COMMAND: 0x72, + SET_TRIAL_CONFIG_COMMAND: 0x73, + TRIAL_CONFIG_RESPONSE: 0x74, + GET_TRIAL_CONFIG_COMMAND: 0x75, + SET_CENTER_COMMAND: 0x76, + CENTER_RESPONSE: 0x77, + GET_CENTER_COMMAND: 0x78, + SET_SHIMMERNAME_COMMAND: 0x79, + SHIMMERNAME_RESPONSE: 0x7a, + GET_SHIMMERNAME_COMMAND: 0x7b, + SET_EXPID_COMMAND: 0x7c, + EXPID_RESPONSE: 0x7d, + GET_EXPID_COMMAND: 0x7e, + SET_MYID_COMMAND: 0x7f, + MYID_RESPONSE: 0x80, + GET_MYID_COMMAND: 0x81, + SET_NSHIMMER_COMMAND: 0x82, + NSHIMMER_RESPONSE: 0x83, + GET_NSHIMMER_COMMAND: 0x84, + SET_CONFIGTIME_COMMAND: 0x85, + CONFIGTIME_RESPONSE: 0x86, + GET_CONFIGTIME_COMMAND: 0x87, + DIR_RESPONSE: 0x88, + GET_DIR_COMMAND: 0x89, + INSTREAM_CMD_RESPONSE: 0x8a, + SET_CRC_COMMAND: 0x8b, + SET_INFOMEM_COMMAND: 0x8c, + INFOMEM_RESPONSE: 0x8d, + GET_INFOMEM_COMMAND: 0x8e, + SET_RWC_COMMAND: 0x8f, + RWC_RESPONSE: 0x90, + GET_RWC_COMMAND: 0x91, + START_LOGGING_COMMAND: 0x92, + STOP_LOGGING_COMMAND: 0x93, + VBATT_RESPONSE: 0x94, + GET_VBATT_COMMAND: 0x95, + TEST_CONNECTION_COMMAND: 0x96, + STOP_SDBT_COMMAND: 0x97, + SET_CALIB_DUMP_COMMAND: 0x98, + RSP_CALIB_DUMP_COMMAND: 0x99, + GET_CALIB_DUMP_COMMAND: 0x9a, + UPD_CALIB_DUMP_COMMAND: 0x9b, + UPD_SDLOG_CFG_COMMAND: 0x9c, + BMP280_CALIBRATION_COEFFICIENTS_RESPONSE: 0x9f, + GET_BMP280_CALIBRATION_COEFFICIENTS_COMMAND: 0xa0, + GET_BT_VERSION_STR_COMMAND: 0xa1, + BT_VERSION_STR_RESPONSE: 0xa2, + SET_INSTREAM_RESPONSE_ACK_PREFIX_STATE: 0xa3, + SET_DATA_RATE_TEST: 0xa4, + DATA_RATE_TEST_RESPONSE: 0xa5, + PRESSURE_CALIBRATION_COEFFICIENTS_RESPONSE: 0xa6, + GET_PRESSURE_CALIBRATION_COEFFICIENTS_COMMAND: 0xa7, + SET_FACTORY_TEST: 0xa8, + SET_ALT_ACCEL_CALIBRATION_COMMAND: 0xa9, + ALT_ACCEL_CALIBRATION_RESPONSE: 0xaa, + GET_ALT_ACCEL_CALIBRATION_COMMAND: 0xab, + SET_ALT_ACCEL_SAMPLING_RATE_COMMAND: 0xac, + ALT_ACCEL_SAMPLING_RATE_RESPONSE: 0xad, + GET_ALT_ACCEL_SAMPLING_RATE_COMMAND: 0xae, + SET_ALT_MAG_CALIBRATION_COMMAND: 0xaf, + ALT_MAG_CALIBRATION_RESPONSE: 0xb0, + GET_ALT_MAG_CALIBRATION_COMMAND: 0xb1, + SET_ALT_MAG_SAMPLING_RATE_COMMAND: 0xb2, + ALT_MAG_SAMPLING_RATE_RESPONSE: 0xb3, + GET_ALT_MAG_SAMPLING_RATE_COMMAND: 0xb4, + DUMMY_COMMAND: 0xb5, + RESET_BT_ERROR_COUNTS: 0xb6, + SET_FEATURE: 0xb7, + SET_SD_SYNC_COMMAND: 0xe0, + SD_SYNC_RESPONSE: 0xe1, + NACK_COMMAND_PROCESSED: 0xfe, + ACK_COMMAND_PROCESSED: 0xff, + }); + /** Default BLE service / characteristic UUIDs for Shimmer3R. */ + const SHIMMER3R_DEFAULTS = Object.freeze({ + SERVICE_UUID: '65333333-a115-11e2-9e9a-0800200ca100', + /** Write characteristic (host โ†’ device). */ + CHAR_RX_UUID: '65333333-a115-11e2-9e9a-0800200ca102', + /** Notify characteristic (device โ†’ host). */ + CHAR_TX_UUID: '65333333-a115-11e2-9e9a-0800200ca101', + }); + /** + * Timestamp field descriptors keyed by width. + * Shimmer3R firmware โ‰ฅ v1.0.22 always uses u24. + */ + const TIMESTAMP_FIELD = Object.freeze({ + u16: { name: 'TIMESTAMP', fmt: 'u16', endian: 'le', sizeBytes: 2 }, + u24: { name: 'TIMESTAMP', fmt: 'u24', endian: 'le', sizeBytes: 3 }, + }); + /** GSR signal name constant used in ObjectCluster fields. */ + const GSR_NAME = 'GSR'; + /** ADC limit below which GSR range-3 calibration is clamped. */ + const GSR_UNCAL_LIMIT_RANGE3 = 683; + /** + * Shimmer3R GSR resistance min/max per hardware range (kฮฉ). + * Index 0 = range 0 (8โ€“63 kฮฉ) โ€ฆ index 3 = range 3 (680โ€“4700 kฮฉ). + */ + const SHIMMER3_GSR_RESISTANCE_MIN_MAX_KOHMS = [ + [8.0, 63.0], + [63.0, 220.0], + [220.0, 680.0], + [680.0, 4700.0], + ]; + + /** + * Sensor enable bitmasks for Shimmer3 / Shimmer3R. + * + * Values are 24-bit integers sent as the payload of SET_SENSORS_CMD. + * Multiple sensors are ORed together. + * + * @example + * ```ts + * const mask = SensorBitmapShimmer3.SENSOR_GYRO | SensorBitmapShimmer3.SENSOR_A_ACCEL; + * await client.setSensors(mask); + * ``` + */ + const SensorBitmapShimmer3 = Object.freeze({ + SENSOR_A_ACCEL: 0x000080, + SENSOR_GYRO: 0x000040, + SENSOR_MAG: 0x000020, + SENSOR_GSR: 0x000004, + SENSOR_VBATT: 0x002000, + SENSOR_D_ACCEL: 0x001000, + SENSOR_PRESSURE: 0x040000, + SENSOR_EXG1_24BIT: 0x000010, + SENSOR_EXG2_24BIT: 0x000008, + SENSOR_EXG1_16BIT: 0x100000, + SENSOR_EXG2_16BIT: 0x080000, + SENSOR_BRIDGE_AMP: 0x008000, + SENSOR_ACCEL_ALT: 0x400000, + SENSOR_MAG_ALT: 0x200000, + SENSOR_EXT_A0: 0x000002, + SENSOR_EXT_A1: 0x000001, + SENSOR_EXT_A2: 0x000800, + SENSOR_INT_A3: 0x000400, + SENSOR_INT_A0: 0x000200, + SENSOR_INT_A1: 0x000100, + SENSOR_INT_A2: 0x800000, + }); + + /** + * Mapping from Shimmer3R channel ID byte to its format descriptor. + * Channel IDs are reported in the INQUIRY_RSP payload. + */ + const CHANNEL_FORMATS = Object.freeze({ + 0x00: { name: 'LN_ACCEL_X', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x01: { name: 'LN_ACCEL_Y', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x02: { name: 'LN_ACCEL_Z', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x04: { name: 'WR_ACCEL_X', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x05: { name: 'WR_ACCEL_Y', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x06: { name: 'WR_ACCEL_Z', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x14: { name: 'HG_ACCEL_X', fmt: 'i12*', endian: 'le', sizeBytes: 2 }, + 0x15: { name: 'HG_ACCEL_Y', fmt: 'i12*', endian: 'le', sizeBytes: 2 }, + 0x16: { name: 'HG_ACCEL_Z', fmt: 'i12*', endian: 'le', sizeBytes: 2 }, + 0x0a: { name: 'GYRO_X', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x0b: { name: 'GYRO_Y', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x0c: { name: 'GYRO_Z', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x07: { name: 'MAG_X', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x08: { name: 'MAG_Y', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x09: { name: 'MAG_Z', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x1d: { name: 'Exg1_Status', fmt: 'u8', endian: 'le', sizeBytes: 1 }, + 0x20: { name: 'Exg2_Status', fmt: 'u8', endian: 'le', sizeBytes: 1 }, + 0x1e: { name: 'Exg1_CH1_24Bit', fmt: 'i24', endian: 'be', sizeBytes: 3 }, + 0x1f: { name: 'Exg1_CH2_24Bit', fmt: 'i24', endian: 'be', sizeBytes: 3 }, + 0x21: { name: 'Exg2_CH1_24Bit', fmt: 'i24', endian: 'be', sizeBytes: 3 }, + 0x22: { name: 'Exg2_CH2_24Bit', fmt: 'i24', endian: 'be', sizeBytes: 3 }, + 0x23: { name: 'Exg1_CH1_16Bit', fmt: 'i16', endian: 'be', sizeBytes: 2 }, + 0x24: { name: 'Exg1_CH2_16Bit', fmt: 'i16', endian: 'be', sizeBytes: 2 }, + 0x25: { name: 'Exg2_CH1_16Bit', fmt: 'i16', endian: 'be', sizeBytes: 2 }, + 0x26: { name: 'Exg2_CH2_16Bit', fmt: 'i16', endian: 'be', sizeBytes: 2 }, + 0x12: { name: 'PPG', fmt: 'i16', endian: 'le', sizeBytes: 2 }, + 0x1c: { name: 'GSR', fmt: 'u16', endian: 'le', sizeBytes: 2 }, + }); + + // --------------------------------------------------------------------------- + // ADC helpers + // --------------------------------------------------------------------------- + /** + * Convert a Shimmer3R 12-bit ADC value to millivolts. + * + * @param unCalData Raw 12-bit ADC sample. + * @param offset ADC offset (typically 0). + * @param vRefP Reference voltage in volts (typically 3 V for Shimmer3R). + * @param gain Amplifier gain (typically 1). + * @returns Calibrated voltage in millivolts. + */ + function calibrateU12AdcValue(unCalData, offset, vRefP, gain) { + return (unCalData - offset) * ((vRefP * 1000) / gain / 4095); + } + /** + * Convert a Shimmer3R ADC channel value to millivolts using the + * default Shimmer3R ADC parameters (Vref = 3 V, gain = 1, offset = 0). + * + * @param unCalData Raw 12-bit ADC sample. + * @returns Voltage in millivolts. + */ + function calibrateShimmer3RAdcChannel(unCalData) { + return calibrateU12AdcValue(unCalData, 0, 3, 1); + } + // --------------------------------------------------------------------------- + // GSR calibration + // --------------------------------------------------------------------------- + /** + * Convert a raw GSR ADC sample to skin resistance (kฮฉ) using the + * Shimmer3R amplifier equation. + * + * Reference resistors per range (kฮฉ): [40.2, 287.0, 1000.0, 3300.0]. + * + * @param gsrUncalibratedData Raw 12-bit GSR ADC value. + * @param range Hardware range index 0โ€“3. + * @returns Resistance in kฮฉ. + */ + function calibrateGsrDataToResistanceFromAmplifierEq(gsrUncalibratedData, range) { + const SHIMMER3_REF_KOHMS = [40.2, 287.0, 1000.0, 3300.0]; + const rFeedback = SHIMMER3_REF_KOHMS[range]; + const volts = calibrateShimmer3RAdcChannel(gsrUncalibratedData) / 1000.0; // mV โ†’ V + const rSource = rFeedback / (volts / 0.5 - 1.0); + return rSource; + } + /** + * Clamp a GSR resistance value to the physical limits of a given range. + * + * When `gsrRangeSetting === 4` (auto-range) no clamping is applied. + * + * @param gsrResistanceKOhms Calibrated resistance in kฮฉ. + * @param gsrRangeSetting Range 0โ€“3 (fixed) or 4 (auto). + * @returns Clamped resistance in kฮฉ. + */ + function nudgeGsrResistance(gsrResistanceKOhms, gsrRangeSetting) { + if (gsrRangeSetting === 4) + return gsrResistanceKOhms; + const [minVal, maxVal] = SHIMMER3_GSR_RESISTANCE_MIN_MAX_KOHMS[gsrRangeSetting]; + return Math.max(minVal, Math.min(maxVal, gsrResistanceKOhms)); + } + // --------------------------------------------------------------------------- + // ExG (ADS1292R) oversampling ratio + // --------------------------------------------------------------------------- + /** + * Determine the ADS1292R oversampling ratio config byte for a given + * Shimmer3R sampling rate. + * + * This value is ORed into the lower 3 bits of ExG config byte index 4. + * + * @param samplingRate Shimmer3R sampling rate in Hz (must be โ‰ฅ 0). + * @returns Oversampling ratio index 0โ€“6. + */ + function getOversamplingRatioADS1292R(samplingRate) { + if (!Number.isFinite(samplingRate)) { + throw new TypeError('samplingRate must be a finite number'); + } + if (samplingRate < 0) { + throw new RangeError('samplingRate must be non-negative'); + } + if (samplingRate < 125) + return 0; + if (samplingRate < 250) + return 1; + if (samplingRate < 500) + return 2; + if (samplingRate < 1000) + return 3; + if (samplingRate < 2000) + return 4; + if (samplingRate < 4000) + return 5; + return 6; // โ‰ฅ 4000 Hz + } + + /** + * Low-level byte-manipulation utilities used by the Shimmer3R protocol decoder. + * All functions are pure and have no side-effects, making them straightforward + * to unit-test without a BLE device. + */ + /** Concatenate two Uint8Arrays. */ + function concatU8(a, b) { + const out = new Uint8Array(a.length + b.length); + out.set(a); + out.set(b, a.length); + return out; + } + /** Read a 16-bit unsigned integer, little-endian. */ + function u16le$1(b, o) { + return (b[o] | (b[o + 1] << 8)) >>> 0; + } + /** Read a 16-bit unsigned integer, big-endian. */ + function u16be(b, o) { + return ((b[o] << 8) | b[o + 1]) >>> 0; + } + /** Read a 24-bit unsigned integer, little-endian. */ + function u24le$1(b, o) { + return (b[o] | (b[o + 1] << 8) | (b[o + 2] << 16)) >>> 0; + } + /** Read a 24-bit unsigned integer, big-endian. */ + function u24be(b, o) { + return ((b[o] << 16) | (b[o + 1] << 8) | b[o + 2]) >>> 0; + } + /** Sign-extend a 16-bit value to a signed integer. */ + function sign16(v) { + return v & 0x8000 ? v | 0xffff0000 : v; + } + /** Sign-extend a 24-bit value to a signed integer. */ + function sign24(v) { + return v & 0x800000 ? v | 0xff000000 : v; + } + /** Format a byte as a 2-digit uppercase hex string. */ + function hex2(v) { + return v.toString(16).padStart(2, '0').toUpperCase(); + } + + function toArrayBuffer(u8) { + if (u8.buffer instanceof ArrayBuffer) { + if (u8.byteOffset === 0 && u8.byteLength === u8.buffer.byteLength) + return u8.buffer; + return u8.buffer.slice(u8.byteOffset, u8.byteOffset + u8.byteLength); + } + const out = new Uint8Array(u8.byteLength); + out.set(u8); + return out.buffer; + } + + // --------------------------------------------------------------------------- + // Shimmer3RClient + // --------------------------------------------------------------------------- + /** + * Web Bluetooth client for the Shimmer3R sensor platform. + * + * Implements the ACK-first command flow used by Shimmer3R firmware โ‰ฅ v1.0.22: + * every configuration command awaits an ACK (0xFF) before resolving. + * Streaming data frames are framed with a DATA preamble (0x00). + * + * @example + * ```ts + * const client = new Shimmer3RClient({ timestampFmt: 'u24', debug: true }); + * client.onStatus = (msg) => console.log(msg); + * client.onStreamFrame = (oc) => { + * const gz = oc.get('GYRO_Z', 'raw')?.value; + * console.log('gz =', gz); + * }; + * + * await client.connect(); + * await client.setSamplingRate(51.2); + * await client.setSensors(SensorBitmapShimmer3.SENSOR_GYRO); + * await client.startStreaming(); + * ``` + */ + class Shimmer3RClient extends BaseShimmerClient { + constructor(opts = {}) { + super(opts); + this.device = null; + this.server = null; + this.rx = null; + this.tx = null; + // Protocol state + this._rxBuf = new Uint8Array(0); + this._temps = new Set(); + this.schema = null; + this._lastAckRemainder = null; + this._expectingAck = 0; + this._streaming = false; + this._lastTs = 0; + // Cached device configuration + this.enabledSensors = 0x000000; + this.samplingRateHz = 0; + this.gsrRangeSetting = 0; + this.ExpPower = 0; + /** Minimum valid GSR conductance in ยตS (below this, connectivity = "Disconnected"). */ + this.LIMIT_MIN_VALID_USIEMENS = 0.03; + // Callbacks + this.onInquiry = null; + this.onExpPowerChanged = null; + // --------------------------------------------------------------------------- + // BLE notify handler + // --------------------------------------------------------------------------- + this._handleNotify = (evt) => { + const chunk = new Uint8Array(evt.target.value.buffer); + this._log('Notify len=', chunk.length, 'data=', chunk); + // 1) Consume an expected ACK + if (chunk.length >= 1 && + chunk[0] === OPCODES.ACK_COMMAND_PROCESSED && + (this._expectingAck ?? 0) > 0) { + this._log('ACK detected at start of notify (expected)'); + this._expectingAck = Math.max(0, this._expectingAck - 1); + const remainder = chunk.slice(1); + this._lastAckRemainder = remainder.length ? remainder : null; + this._emitTemp(new Uint8Array([OPCODES.ACK_COMMAND_PROCESSED])); + if (this._lastAckRemainder) { + if (this._streaming && this._lastAckRemainder[0] === OPCODES.DATA_PACKET) { + this._log('Appending DATA remainder after ACK to stream buffer'); + this._rxBuf = concatU8(this._rxBuf, this._lastAckRemainder); + } + else { + this._log('Forwarding non-DATA remainder to control handlers'); + this._emitTemp(this._lastAckRemainder); + } + this._lastAckRemainder = null; + } + return; + } + // 2) During streaming, all bytes are data-plane + if (this._streaming) { + this._rxBuf = concatU8(this._rxBuf, chunk); + } + else { + this._emitTemp(chunk); + if (chunk.length && chunk[0] === OPCODES.DATA_PACKET) { + this._rxBuf = concatU8(this._rxBuf, chunk); + } + } + // 3) Try parsing if schema is available + if (this.schema) { + try { + this._parseBySchema(); + } + catch (e) { + this._log('parseBySchema error:', e); + } + } + }; + this.serviceUUID = opts.serviceUUID ?? SHIMMER3R_DEFAULTS.SERVICE_UUID; + this.rxUUID = opts.rxUUID ?? SHIMMER3R_DEFAULTS.CHAR_RX_UUID; + this.txUUID = opts.txUUID ?? SHIMMER3R_DEFAULTS.CHAR_TX_UUID; + this.forceTimestampFmt = opts.timestampFmt ?? 'u24'; + } + _log(...args) { + if (this.debug) + console.log('[Shimmer3R]', ...args); + } + // --------------------------------------------------------------------------- + // Connection management + // --------------------------------------------------------------------------- + async connect() { + this._emitStatus('Requesting Bluetooth deviceโ€ฆ'); + this.device = await navigator.bluetooth.requestDevice({ + filters: [{ services: [this.serviceUUID] }], + optionalServices: [this.serviceUUID], + }); + this._emitStatus(`Selected: ${this.device.name ?? 'Shimmer3R'}`); + this.server = await this.device.gatt.connect(); + this._emitStatus('GATT connected'); + const svc = await this.server.getPrimaryService(this.serviceUUID); + this.rx = await svc.getCharacteristic(this.rxUUID); + this.tx = await svc.getCharacteristic(this.txUUID); + this._emitStatus('RX/TX obtained'); + await this.tx.startNotifications(); + this.tx.addEventListener('characteristicvaluechanged', this._handleNotify); + this._emitStatus('Notifications started'); + } + async disconnect() { + try { + if (this.tx) { + try { + await this.tx.stopNotifications(); + } + catch { + /* ignore */ + } + this.tx.removeEventListener('characteristicvaluechanged', this._handleNotify); + } + if (this.device?.gatt?.connected) + this.device.gatt.disconnect(); + } + finally { + this.device = this.server = this.rx = this.tx = null; + this._rxBuf = new Uint8Array(0); + this.schema = null; + this._streaming = false; + this.ExpPower = 0; + this._emitStatus('Disconnected'); + } + } + // --------------------------------------------------------------------------- + // Configuration commands + // --------------------------------------------------------------------------- + /** + * Control the internal expansion power rail (required for ExG/EMG/ECG). + * @param expPower 0 = disable, 1 = enable. + */ + async setInternalExpPower(expPower) { + if (expPower !== 0 && expPower !== 1) + throw new Error('expPower must be 0 (off) or 1 (on)'); + if (!this.rx) + throw new Error('Not connected (RX missing)'); + const cmd = new Uint8Array([OPCODES.SET_INTERNAL_EXP_POWER_ENABLE_COMMAND, expPower]); + this._emitStatus(`SET_INTERNAL_EXP_POWER_ENABLE_CMD โ†’ ${expPower ? 'ON' : 'OFF'} waiting for ACKโ€ฆ`); + const ackRemainder = await this._writeExpectingAck(cmd, 1500); + this._emitStatus(`Expansion power ${expPower ? 'enabled' : 'disabled'} (ACK received).`); + this.ExpPower = expPower; + try { + this.onExpPowerChanged?.(expPower); + } + catch (e) { + this._log('onExpPowerChanged handler error', e); + } + return { expPower, ackRemainder }; + } + /** + * Set the GSR measurement range. + * @param gsrRange 0 = 8โ€“63 kฮฉ, 1 = 63โ€“220 kฮฉ, 2 = 220โ€“680 kฮฉ, 3 = 680โ€“4700 kฮฉ, 4 = Auto. + */ + async setGSRRange(gsrRange) { + if (!Number.isInteger(gsrRange) || gsrRange < 0 || gsrRange > 4) { + throw new Error('gsrRange must be 0โ€“4'); + } + if (!this.rx) + throw new Error('Not connected (RX missing)'); + const cmd = new Uint8Array([OPCODES.SET_GSR_RANGE_COMMAND, gsrRange & 0xff]); + this._emitStatus('SET_GSR_RANGE โ†’ waiting for ACKโ€ฆ'); + const ackRemainder = await this._writeExpectingAck(cmd, 1500); + this._emitStatus('SET_GSR_RANGE (ACK received).'); + this.gsrRangeSetting = gsrRange; + return { gsrRange, ackRemainder }; + } + getInternalExpPower() { + return this.ExpPower; + } + getEnabledSensors() { + return this.enabledSensors; + } + /** + * Enable sensors via a 24-bit bitmask. + * Automatically performs an Inquiry after ACK to rebuild the stream schema. + */ + async setSensors(sensors) { + if (!Number.isFinite(sensors)) + throw new Error('sensors must be a finite number'); + if (!this.rx) + throw new Error('Not connected (RX missing)'); + sensors = (sensors >>> 0) & 0xffffff; + const b1 = sensors & 0xff; + const b2 = (sensors >>> 8) & 0xff; + const b3 = (sensors >>> 16) & 0xff; + const cmd = new Uint8Array([OPCODES.SET_SENSORS_COMMAND, b1, b2, b3]); + this._emitStatus(`SET_SENSORS_CMD โ†’ bitmask=0x${sensors.toString(16).toUpperCase().padStart(6, '0')} waiting for ACKโ€ฆ`); + const ackRemainder = await this._writeExpectingAck(cmd, 1500); + this._emitStatus(`Sensors ACK received. Bitmask 0x${sensors.toString(16).toUpperCase().padStart(6, '0')} applied.`); + try { + this._emitStatus('Performing automatic inquiry to refresh schemaโ€ฆ'); + const info = await this.inquiry(); + this.enabledSensors = info.schema.enabledSensors; + this._emitStatus(`Inquiry complete. Enabled sensors: 0x${this.enabledSensors.toString(16).toUpperCase()}`); + } + catch (err) { + this._emitStatus(`Inquiry after setSensors failed: ${err.message}`); + } + return { sensors, ackRemainder, enabledSensors: this.enabledSensors }; + } + /** + * Set the sampling rate. + * The firmware expects a 16-bit divisor: `divisor = floor(32768 / rateHz)`. + */ + async setSamplingRate(rateHz) { + if (!Number.isFinite(rateHz) || rateHz <= 0) { + throw new Error('Sampling rate must be a positive number (Hz)'); + } + if (!this.rx) + throw new Error('Not connected (RX missing)'); + let divisor = Math.floor(32768 / rateHz); + divisor = Math.max(1, Math.min(0xffff, divisor)); + const lsb = divisor & 0xff; + const msb = (divisor >> 8) & 0xff; + const cmd = new Uint8Array([OPCODES.SET_SAMPLING_RATE_COMMAND, lsb, msb]); + this._emitStatus(`Set sampling rate โ†’ ${rateHz.toFixed(3)} Hz (divisor=${divisor}) โ€” waiting for ACKโ€ฆ`); + const ackRemainder = await this._writeExpectingAck(cmd, 1500); + const appliedHz = 32768 / divisor; + this.samplingRateHz = appliedHz; + this._emitStatus(`Sampling rate ACKed. Applied โ‰ˆ ${this.samplingRateHz.toFixed(3)} Hz`); + return { requestedHz: rateHz, appliedHz, divisor, ackRemainder }; + } + // --------------------------------------------------------------------------- + // Inquiry + // --------------------------------------------------------------------------- + /** Send INQUIRY_CMD and parse the response to build the stream schema. */ + async inquiry() { + this._emitStatus('INQUIRY_CMD โ†’ waiting for ACK then RSPโ€ฆ'); + const remainder = await this._writeExpectingAck(new Uint8Array([OPCODES.INQUIRY_COMMAND]), 1500); + if (remainder && remainder[0] === OPCODES.INQUIRY_RESPONSE) { + this._log('Using post-ACK remainder as response'); + const info = this._interpretInquiryResponseShimmer3R(remainder); + this.onInquiry?.(info); + return info; + } + const rsp = await this._waitForResponse(OPCODES.INQUIRY_RESPONSE, 2000); + this._emitStatus(`Inquiry RSP (${rsp.length} bytes)`); + const info = this._interpretInquiryResponseShimmer3R(rsp); + this.onInquiry?.(info); + return info; + } + // --------------------------------------------------------------------------- + // ExG configuration helpers + // --------------------------------------------------------------------------- + /** Enable EMG (ADS1292R) in 16-bit mode on EXG1 & EXG2. */ + async enableEMG16Bit() { + if (!this.rx) + throw new Error('Not connected (RX missing)'); + await this._writeExgPages(new Uint8Array([ + 0x61, 0x00, 0x00, 0x0a, 0x02, 0xa8, 0x10, 0x69, 0x60, 0x20, 0x00, 0x00, 0x02, 0x03, + ]), new Uint8Array([ + 0x61, 0x01, 0x00, 0x0a, 0x02, 0xa0, 0x10, 0xe1, 0xe1, 0x00, 0x00, 0x00, 0x02, 0x01, + ])); + this._emitStatus('EMG 16-bit enabled on EXG1 & EXG2. Schema updated.'); + } + /** Enable EXG test signal in 16-bit mode (useful for verifying ExG hardware). */ + async enableEXGTestSignal16Bit() { + if (!this.rx) + throw new Error('Not connected (RX missing)'); + await this._writeExgPages(new Uint8Array([ + 0x61, 0x00, 0x00, 0x0a, 0x02, 0xab, 0x10, 0x15, 0x15, 0x00, 0x00, 0x00, 0x02, 0x01, + ]), new Uint8Array([ + 0x61, 0x01, 0x00, 0x0a, 0x02, 0xa3, 0x10, 0x15, 0x15, 0x00, 0x00, 0x00, 0x02, 0x01, + ])); + this._emitStatus('EXG test signal 16-bit enabled. Schema updated.'); + } + /** Enable ECG in 16-bit mode on EXG1 & EXG2. */ + async enableECG16Bit() { + if (!this.rx) + throw new Error('Not connected (RX missing)'); + await this._writeExgPages(new Uint8Array([ + 0x61, 0x00, 0x00, 0x0a, 0x02, 0xa8, 0x10, 0x40, 0x40, 0x2d, 0x00, 0x00, 0x02, 0x03, + ]), new Uint8Array([ + 0x61, 0x01, 0x00, 0x0a, 0x02, 0xa0, 0x10, 0x40, 0x47, 0x00, 0x00, 0x00, 0x02, 0x01, + ])); + this._emitStatus('ECG 16-bit enabled on EXG1 & EXG2. Schema updated.'); + } + async _writeExgPages(exg1, exg2) { + const oversamplingRatio = getOversamplingRatioADS1292R(this.samplingRateHz); + exg1 = new Uint8Array(exg1); + exg2 = new Uint8Array(exg2); + exg1[4] = (((exg1[4] >> 3) << 3) | oversamplingRatio) & 0xff; + exg2[4] = (((exg2[4] >> 3) << 3) | oversamplingRatio) & 0xff; + await this._write(exg1); + await new Promise((r) => setTimeout(r, 200)); + await this._write(exg2); + await new Promise((r) => setTimeout(r, 50)); + const targetBits = (SensorBitmapShimmer3.SENSOR_EXG1_16BIT | SensorBitmapShimmer3.SENSOR_EXG2_16BIT) >>> 0; + const newMask = ((this.enabledSensors >>> 0) | targetBits) & 0xffffff; + await this.setSensors(newMask); + } + // --------------------------------------------------------------------------- + // Streaming + // --------------------------------------------------------------------------- + async startStreaming() { + if (!this.schema) + this._emitStatus('Starting stream without schema (not recommended).'); + this._emitStatus('START_STREAM โ†’ waiting for ACKโ€ฆ'); + const remainder = await this._writeExpectingAck(new Uint8Array([OPCODES.START_STREAMING_COMMAND]), 1500); + this._streaming = true; + if (remainder?.length) { + if (remainder[0] === OPCODES.DATA_PACKET) { + this._rxBuf = concatU8(this._rxBuf, remainder); + } + else { + this._emitTemp(remainder); + } + } + this._emitStatus('START_STREAM ACK received; frames should follow'); + } + async stopStreaming() { + this._emitStatus('STOP_STREAM โ†’ sending (no ACK wait)โ€ฆ'); + try { + await this._write(new Uint8Array([OPCODES.STOP_STREAMING_COMMAND])); + this._emitStatus('STOP_STREAM command sent (skipped ACK wait).'); + } + catch (err) { + this._emitStatus(`STOP_STREAM write failed: ${err.message}`); + } + this._streaming = false; + this._rxBuf = new Uint8Array(0); + this._emitStatus('Streaming stopped.'); + } + /** Start streaming AND SD card logging simultaneously. */ + async startStreamingAndLogging() { + if (!this.schema) + this._emitStatus('Starting stream without schema (not recommended).'); + this._emitStatus('START_BT_STREAM_SD_LOGGING โ†’ waiting for ACKโ€ฆ'); + const remainder = await this._writeExpectingAck(new Uint8Array([OPCODES.START_SDBT_COMMAND]), 1500); + this._streaming = true; + if (remainder?.length) { + if (remainder[0] === OPCODES.DATA_PACKET) { + this._rxBuf = concatU8(this._rxBuf, remainder); + } + else { + this._emitTemp(remainder); + } + } + this._emitStatus('START_BT_STREAM_SD_LOGGING ACK received; frames should follow'); + } + /** Stop streaming AND SD card logging. */ + async stopStreamingAndLogging() { + this._emitStatus('STOP_BT_STREAM_SD_LOGGING โ†’ sendingโ€ฆ'); + try { + await this._write(new Uint8Array([OPCODES.STOP_SDBT_COMMAND])); + } + catch (err) { + this._emitStatus(`STOP_BT_STREAM_SD_LOGGING write failed: ${err.message}`); + } + this._streaming = false; + this._rxBuf = new Uint8Array(0); + this._emitStatus('Streaming + logging stopped.'); + } + // --------------------------------------------------------------------------- + // Inquiry response / schema building + // --------------------------------------------------------------------------- + _interpretInquiryResponseShimmer3R(u8) { + let base = 0; + if (u8[0] === OPCODES.INQUIRY_RESPONSE && u8.length >= 2) + base = 1; + const adcRaw = u16le$1(u8, base + 0); + const samplingRateHz = 32768 / adcRaw; + this.samplingRateHz = samplingRateHz; + const cfg = BigInt(u8[base + 2]) | + (BigInt(u8[base + 3]) << 8n) | + (BigInt(u8[base + 4]) << 16n) | + (BigInt(u8[base + 5]) << 24n) | + (BigInt(u8[base + 6]) << 32n) | + (BigInt(u8[base + 7]) << 40n) | + (BigInt(u8[base + 8]) << 48n); + const internalExpPower = Number((cfg >> 24n) & 0x1n); + const gsrRange = Number((cfg >> 25n) & 0x7n); + this.ExpPower = internalExpPower; + this.gsrRangeSetting = gsrRange; + const numCh = u8[base + 9] ?? 0; + const bufSize = u8[base + 10] ?? 0; + const chStart = base + 11; + const channelIds = [...u8.slice(chStart, chStart + numCh)]; + const schema = this._buildSchemaFromChannels(channelIds, this.forceTimestampFmt ?? 'u24'); + this.schema = schema; + this._log(`Schema built: timestampFmt=${schema.timestampFmt}, fields=${schema.fields.length}, enabledSensors=0x${schema.enabledSensors.toString(16)}`); + this._emitStatus(`Expansion power ${this.ExpPower ? 'enabled' : 'disabled'} (ACK received).`); + return { + opcode: u8[0], + adcRaw, + samplingRateHz, + numChannels: numCh, + bufferSize: bufSize, + channelIds, + schema, + bytes: u8.slice(0), + }; + } + _buildSchemaFromChannels(channelIds, timestampFmt) { + const fields = []; + const ts = timestampFmt === 'u24' ? TIMESTAMP_FIELD.u24 : TIMESTAMP_FIELD.u16; + let packetSize = 1 + ts.sizeBytes; // 1 = preamble 0x00 + let enabledSensors = 0; + for (const id of channelIds) { + const fmt = CHANNEL_FORMATS[id]; + if (!fmt) { + fields.push({ id, name: `CH_${hex2(id)}`, fmt: 'i16', endian: 'le', sizeBytes: 2 }); + packetSize += 2; + continue; + } + fields.push({ id, ...fmt }); + packetSize += fmt.sizeBytes ?? 2; + switch (id) { + case 0x00: + case 0x01: + case 0x02: + enabledSensors |= SensorBitmapShimmer3.SENSOR_A_ACCEL; + break; + case 0x04: + case 0x05: + case 0x06: + enabledSensors |= SensorBitmapShimmer3.SENSOR_D_ACCEL; + break; + case 0x14: + case 0x15: + case 0x16: + enabledSensors |= SensorBitmapShimmer3.SENSOR_ACCEL_ALT; + break; + case 0x07: + case 0x08: + case 0x09: + enabledSensors |= SensorBitmapShimmer3.SENSOR_MAG; + break; + case 0x0a: + case 0x0b: + case 0x0c: + enabledSensors |= SensorBitmapShimmer3.SENSOR_GYRO; + break; + case 0x12: + enabledSensors |= SensorBitmapShimmer3.SENSOR_INT_A1; + break; + case 0x1c: + enabledSensors |= SensorBitmapShimmer3.SENSOR_GSR; + break; + case 0x23: + case 0x24: + enabledSensors |= SensorBitmapShimmer3.SENSOR_EXG1_16BIT; + break; + case 0x25: + case 0x26: + enabledSensors |= SensorBitmapShimmer3.SENSOR_EXG2_16BIT; + break; + case 0x1e: + case 0x1f: + enabledSensors |= SensorBitmapShimmer3.SENSOR_EXG1_24BIT; + break; + case 0x21: + case 0x22: + enabledSensors |= SensorBitmapShimmer3.SENSOR_EXG2_24BIT; + break; + default: + console.warn(`โš ๏ธ Unmapped channel ID 0x${id.toString(16)} โ€” added as generic i16.`); + } + } + this.enabledSensors = enabledSensors; + return { timestampFmt, fields, frameBytes: packetSize, enabledSensors, dataPreambleByte: 0x00 }; + } + // --------------------------------------------------------------------------- + // GSR calibration (applied inline during stream parsing) + // --------------------------------------------------------------------------- + _calibrateData(oc) { + const snapshot = [...oc.fields]; + for (const field of snapshot) { + if (field.name === GSR_NAME) { + const rawField = oc.get(GSR_NAME, 'raw'); + const gsrraw = rawField?.value ?? null; + if (gsrraw === null) + continue; + let adc12 = gsrraw & 0x0fff; + let currentRange = this.gsrRangeSetting; + if (currentRange === 4) { + currentRange = (gsrraw >> 14) & 0x03; + } + if (currentRange === 3 && adc12 < GSR_UNCAL_LIMIT_RANGE3) { + adc12 = GSR_UNCAL_LIMIT_RANGE3; + } + let gsrkOhm = calibrateGsrDataToResistanceFromAmplifierEq(adc12, currentRange); + gsrkOhm = nudgeGsrResistance(gsrkOhm, this.gsrRangeSetting); + const gsrConductanceUSiemens = (1.0 / gsrkOhm) * 1000; + oc.add(GSR_NAME, gsrConductanceUSiemens, 'uSiemens', 'cal'); + } + } + } + // --------------------------------------------------------------------------- + // Stream frame parser + // --------------------------------------------------------------------------- + _parseBySchema() { + const sch = this.schema; + const preamble = sch.dataPreambleByte; + const frameBytes = sch.frameBytes >>> 0; + const tsBytes = sch.timestampFmt === 'u16' ? 2 : 3; + const TS_MOD = tsBytes === 3 ? 16777216 : 65536; + let buf = this._rxBuf; + let frames = 0; + let drops = 0; + let anomalies = 0; + while (buf.length >= frameBytes * 2) { + if (buf[0] === preamble && buf[frameBytes] === preamble) { + let ts1, ts2; + try { + ts1 = tsBytes === 2 ? u16le$1(buf, 1) : u24le$1(buf, 1); + ts2 = tsBytes === 2 ? u16le$1(buf, frameBytes + 1) : u24le$1(buf, frameBytes + 1); + } + catch { + buf = buf.subarray(1); + drops++; + continue; + } + const dt = (((ts2 - ts1) % TS_MOD) + TS_MOD) % TS_MOD; + if (dt === 0) { + buf = buf.subarray(1); + drops++; + continue; + } + const frame = buf.subarray(0, frameBytes); + try { + let cursor = 1; + const oc = new ObjectCluster(this.device?.name ?? 'Shimmer3R'); + const ts = tsBytes === 2 ? u16le$1(frame, cursor) : u24le$1(frame, cursor); + cursor += tsBytes; + oc.add('TIMESTAMP', ts, 'ticks', 'raw'); + for (const f of sch.fields) { + if (cursor + f.sizeBytes > frame.length) { + throw new Error(`short frame: need ${f.sizeBytes} @${cursor}, have ${frame.length}`); + } + let v; + switch (f.fmt) { + case 'i16': + v = f.endian === 'be' ? sign16(u16be(frame, cursor)) : sign16(u16le$1(frame, cursor)); + break; + case 'u16': + v = f.endian === 'be' ? u16be(frame, cursor) : u16le$1(frame, cursor); + break; + case 'i24': + v = f.endian === 'be' ? sign24(u24be(frame, cursor)) : sign24(u24le$1(frame, cursor)); + break; + case 'u24': + v = f.endian === 'be' ? u24be(frame, cursor) : u24le$1(frame, cursor); + break; + case 'i12*': { + const msb = frame[cursor] & 0xff; + const lsb = frame[cursor + 1] & 0xff; + const raw12 = (msb << 4) | (lsb >> 4); + v = raw12 & 0x800 ? raw12 - 0x1000 : raw12; + break; + } + case 'u8': + v = frame[cursor]; + break; + default: + v = u16le$1(frame, cursor); + } + cursor += f.sizeBytes; + oc.add(f.name, v, null, 'raw'); + } + if (this._lastTs) { + const dLast = (((ts - this._lastTs) % TS_MOD) + TS_MOD) % TS_MOD; + if (dLast === 0) { + anomalies++; + this._log(`โš ๏ธ Timestamp anomaly#${anomalies}: ts=${ts}, last=${this._lastTs}, ฮ”=0`); + } + } + this._lastTs = ts; + this._calibrateData(oc); + this.onStreamFrame?.(oc); + frames++; + buf = buf.subarray(frameBytes); + } + catch (e) { + this._log('โš ๏ธ frame decode error โ†’ sliding 1 byte', e.message); + buf = buf.subarray(1); + drops++; + } + continue; + } + buf = buf.subarray(1); + drops++; + if (this.debug && drops % 64 === 1) { + this._log(`resync: dropped ${drops} byte(s) so far; bufLen=${buf.length}`); + } + } + this._rxBuf = buf; + if (drops && drops % 512 === 0) + this._lastTs = 0; + if (this.debug && (frames || drops)) { + this._log(`parse: frames=${frames}, drops=${drops}, leftover=${this._rxBuf.length}`); + } + } + // --------------------------------------------------------------------------- + // Low-level transport helpers + // --------------------------------------------------------------------------- + async _write(u8) { + if (!this.rx) + throw new Error('Not connected (RX missing)'); + this._log('Write', u8); + await this.rx.writeValue(toArrayBuffer(u8)); + } + async _writeExpectingAck(u8, ackTimeoutMs = 1000) { + this._expectingAck++; + try { + await this._write(u8); + return await this._waitForAck(ackTimeoutMs); + } + catch (e) { + this._expectingAck = Math.max(0, this._expectingAck - 1); + throw e; + } + } + _waitForAck(timeoutMs = 1000) { + return new Promise((resolve, reject) => { + const t = setTimeout(() => { + this._offTemp(handler); + reject(new Error('ACK timeout')); + }, timeoutMs); + const handler = (chunk) => { + if (!chunk || chunk.length === 0) + return; + if (chunk.length === 1 && chunk[0] === OPCODES.ACK_COMMAND_PROCESSED) { + clearTimeout(t); + this._offTemp(handler); + const rem = this._lastAckRemainder; + this._lastAckRemainder = null; + resolve(rem ?? null); + return; + } + if (chunk[0] === OPCODES.ACK_COMMAND_PROCESSED && chunk.length > 1) { + clearTimeout(t); + this._offTemp(handler); + resolve(chunk.slice(1)); + } + }; + this._onTemp(handler); + }); + } + _waitForResponse(expectedOpcode, timeoutMs = 1500) { + if (this._lastAckRemainder && this._lastAckRemainder[0] === expectedOpcode) { + const rem = this._lastAckRemainder; + this._lastAckRemainder = null; + return Promise.resolve(rem); + } + return new Promise((resolve, reject) => { + const t = setTimeout(() => { + this._offTemp(handler); + reject(new Error('Response timeout')); + }, timeoutMs); + const handler = (chunk) => { + if (!chunk || chunk.length === 0) + return; + if (chunk.length === 1 && chunk[0] === OPCODES.ACK_COMMAND_PROCESSED) + return; + if (chunk[0] === expectedOpcode) { + clearTimeout(t); + this._offTemp(handler); + resolve(chunk); + } + }; + this._onTemp(handler); + }); + } + _onTemp(fn) { + this._temps.add(fn); + } + _offTemp(fn) { + this._temps.delete(fn); + } + _emitTemp(buf) { + this._temps.forEach((fn) => { + try { + fn(buf); + } + catch (e) { + this._log('temp handler error', e); + } + }); + } + } + + // --------------------------------------------------------------------------- + // Nordic UART Service (NUS) UUIDs used by Verisense devices + // --------------------------------------------------------------------------- + /** NUS primary service UUID. */ + const NUS_SERVICE = '6e400001-b5a3-f393-e0a9-e50e24dcca9e'; + /** NUS TX characteristic UUID (host writes to this). */ + const NUS_TX = '6e400002-b5a3-f393-e0a9-e50e24dcca9e'; + /** NUS RX characteristic UUID (host subscribes to notifications from this). */ + const NUS_RX = '6e400003-b5a3-f393-e0a9-e50e24dcca9e'; + /** Nordic Secure DFU primary service UUID (0xFE59). */ + const NORDIC_DFU_SERVICE = '0000fe59-0000-1000-8000-00805f9b34fb'; + /** Nordic DFU control-point characteristic UUID. */ + const NORDIC_DFU_CONTROL_CHAR = '8ec90001-f315-4f60-9fb8-838830daea50'; + /** Nordic DFU packet characteristic UUID. */ + const NORDIC_DFU_PACKET_CHAR = '8ec90002-f315-4f60-9fb8-838830daea50'; + /** Nordic buttonless DFU characteristic UUID (write 0x01 to reboot to bootloader). */ + const NORDIC_DFU_BUTTONLESS_CHAR = '8ec90003-f315-4f60-9fb8-838830daea50'; + // --------------------------------------------------------------------------- + // Verisense protocol command/property constants + // --------------------------------------------------------------------------- + /** Upper-nibble command classes used in protocol headers. */ + const ASM_COMMAND = Object.freeze({ + READ: 0x10, + WRITE: 0x20, + RESPONSE: 0x30, + ACK: 0x40, + NACK_BAD_HEADER_COMMAND: 0x50, + NACK_BAD_HEADER_PROPERTY: 0x60, + NACK_GENERIC: 0x70, + ACK_NEXT_STAGE: 0x80, + }); + /** Lower-nibble property IDs used in protocol headers. */ + const ASM_PROPERTY = Object.freeze({ + STATUS1: 0x01, + DATA: 0x02, + PRODUCTION_CONFIGURATION: 0x03, + OPERATIONAL_CONFIGURATION: 0x04, + TIME: 0x05, + DFU_MODE: 0x06, + PENDING_EVENTS: 0x07, + TEST_MODE: 0x08, + DEBUG_COMMAND: 0x09, + STREAM_MODE: 0x0a, + DEVICE_DISCONNECT: 0x0b, + STATUS2: 0x0c, + }); + /** Stream mode payload values. */ + const STREAM_MODE = Object.freeze({ + ENABLE: 0x01, + DISABLE: 0x02, + }); + /** Test mode IDs documented by Verisense firmware. */ + const TEST_MODE_ID = Object.freeze({ + STOP: 0x00, + FLASH_8MB_1: 0x01, + FLASH_8MB_2: 0x02, + FLASH_128MB_512MB: 0x03, + EEPROM: 0x04, + ACCEL1_LIS2DW12: 0x05, + BATTERY_VOLTAGE: 0x06, + USB_POWER: 0x07, + ACCEL2_GYRO_LSM6DS3: 0x08, + PPG_MAX86XXX: 0x09, + BIOZ_MAX30002: 0x0b, + ACCEL2_GYRO_LSM6DSV: 0x0c, + MAG_LIS2MDL: 0x0d, + TEST_REPORT: 0xfe, + ALL_TESTS: 0xff, + }); + /** Debug command IDs documented by Verisense firmware. */ + const DEBUG_COMMAND_ID = Object.freeze({ + FLASH_LOOKUP_TABLE_READ: 0x01, + FLASH_LOOKUP_TABLE_ERASE: 0x02, + RWC_SCHEDULER_READ: 0x03, + ERASE_128MB_512MB_FLASH: 0x04, + ERASE_8MB_FLASH_1: 0x05, + ERASE_8MB_FLASH_2: 0x06, + ERASE_OPERATIONAL_CONFIG: 0x07, + ERASE_PRODUCTION_CONFIG: 0x08, + CLEAR_PENDING_EVENTS: 0x09, + ERASE_FLASH_AND_LOOKUP_TABLE: 0x0a, + TEST_DATA_TRANSFER_LOOP: 0x0b, + LOAD_TEST_LOOKUP_TABLE: 0x0c, + LED_TEST: 0x0d, + MAX86XXX_LED_TEST: 0x0e, + CHECK_PAYLOAD_CRC_ERRORS: 0x0f, + READ_EVENT_LOG: 0x10, + POWER_PROFILER_TEST: 0x11, + READ_RECORD_BUFFER_DETAILS: 0x12, + SYSTEM_RESET: 0x13, + IC_POWER_CONSUMPTION_TEST: 0x14, + DELETE_ALL_BONDS: 0x15, + }); + // --------------------------------------------------------------------------- + // Operational config byte offsets + // --------------------------------------------------------------------------- + /** + * Byte indices into the Verisense operational config blob (`op[OP_IDX.xxx]`). + * Index 0 is the config version byte (must be 0x5A for a valid config). + */ + const OP_IDX = Object.freeze({ + GEN_CFG_0: 1, + GEN_CFG_1: 2, + GEN_CFG_2: 3, + GEN_CFG_3: 4, + ACCEL1_CFG_0: 5, + ACCEL1_CFG_1: 6, + ACCEL1_CFG_2: 7, + ACCEL1_CFG_3: 8, + GYRO_ACCEL2_CFG_0: 10, + GYRO_ACCEL2_CFG_1: 11, + GYRO_ACCEL2_CFG_2: 12, + GYRO_ACCEL2_CFG_3: 13, + GYRO_ACCEL2_CFG_4: 14, + GYRO_ACCEL2_CFG_5: 15, + GYRO_ACCEL2_CFG_6: 16, + GYRO_ACCEL2_CFG_7: 17, + START_TIME: 21, + END_TIME: 25, + INACTIVE_TIMEOUT: 29, + BLE_RETRY_COUNT: 30, + BLE_TX_POWER: 31, + BLE_DATA_TRANS_WKUP_INT_HRS: 32, + BLE_DATA_TRANS_WKUP_TIME: 33, + BLE_DATA_TRANS_WKUP_DUR: 35, + BLE_DATA_TRANS_RETRY_INT: 36, + BLE_STATUS_WKUP_INT_HRS: 38, + BLE_STATUS_WKUP_TIME: 39, + BLE_STATUS_WKUP_DUR: 41, + BLE_STATUS_RETRY_INT: 42, + BLE_RTC_SYNC_WKUP_INT_HRS: 44, + BLE_RTC_SYNC_WKUP_TIME: 45, + BLE_RTC_SYNC_WKUP_DUR: 47, + BLE_RTC_SYNC_RETRY_INT: 48, + ADC_CHANNEL_SETTINGS_0: 50, + ADC_CHANNEL_SETTINGS_1: 51, + ADAPTIVE_SCHEDULER_INT: 52, + ADAPTIVE_SCHEDULER_FAILCOUNT_MAX: 54, + PPG_REC_DUR_SECS_LSB: 55, + PPG_REC_DUR_SECS_MSB: 56, + PPG_REC_INT_MINS_LSB: 57, + PPG_REC_INT_MINS_MSB: 58, + PPG_FIFO_CONFIG: 59, + PPG_MODE_CONFIG2: 60, + PPG_MA_DEFAULT: 61, + PPG_MA_MAX_RED_IR: 62, + PPG_MA_MAX_GREEN_BLUE: 63, + PPG_AGC_TARGET_PERCENT_OF_RANGE: 64, + PPG_MA_LED_PILOT: 66, + PPG_DAC1_CROSSTALK: 67, + PPG_DAC2_CROSSTALK: 68, + PPG_DAC3_CROSSTALK: 69, + PPG_DAC4_CROSSTALK: 70, + PROX_AGC_MODE: 71, + }); + /** + * Factory test type selection byte sent as the last byte of a TEST_REPORT (0xFE) payload. + * Mirrors the firmware `factory_test_t` enum. + */ + const FACTORY_TEST = Object.freeze({ + MAIN: 0, + LEDS: 1, + ICS: 2, + LED_STATES: 3, + }); + + /** Read a 16-bit unsigned integer, little-endian. */ + function u16le(b0, b1) { + return (b1 << 8) | b0; + } + /** Read a signed 16-bit integer at byte offset `off`, little-endian. */ + function i16le(bytes, off) { + const v = bytes[off] | (bytes[off + 1] << 8); + return v & 0x8000 ? v - 0x10000 : v; + } + /** Read a 24-bit unsigned integer at byte offset `off`, little-endian. */ + function u24le(bytes, off) { + return (bytes[off] | (bytes[off + 1] << 8) | (bytes[off + 2] << 16)) >>> 0; + } + /** Read a 16-bit unsigned integer at byte offset `off`, little-endian (full-array form). */ + function u16le_at(bytes, off) { + return (bytes[off] | (bytes[off + 1] << 8)) >>> 0; + } + /** Return current time in milliseconds. */ + function nowMillis() { + return Date.now(); + } + /** + * Compute CRC-16/CCITT-FALSE over `bytes`. + * + * Parameters: poly=0x1021, init=0xFFFF, xorOut=0x0000. + * Matches the C# `ComputeCRC` implementation used by Verisense firmware. + */ + function crc16_ccitt_false(bytes) { + let crc = 0xffff; + for (let i = 0; i < bytes.length; i++) { + crc ^= bytes[i] << 8; + for (let b = 0; b < 8; b++) { + crc = crc & 0x8000 ? (crc << 1) ^ 0x1021 : crc << 1; + crc &= 0xffff; + } + } + return crc & 0xffff; + } + /** + * Extract the CRC that was appended to a logged payload (last 2 bytes, LE). + */ + function getOriginalCrcLE(payload) { + const n = payload.length; + return (payload[n - 2] | (payload[n - 1] << 8)) >>> 0; + } + /** + * Compute the CRC of a logged payload, excluding the trailing 2 CRC bytes, + * matching the C# `ComputeCRC(payload, 0, payload.Length - 2)` call. + */ + function computeCrcLikeCSharp(payload) { + return crc16_ccitt_false(payload.subarray(0, payload.length - 2)); + } + /** + * Convert any reasonable representation of an operational config to a + * `Uint8Array`. Throws if the input type is unrecognised. + */ + function normalizeOperationalConfig(payload) { + if (!payload) + return null; + if (payload instanceof Uint8Array) + return payload; + if (payload instanceof ArrayBuffer) + return new Uint8Array(payload); + if (Array.isArray(payload)) + return new Uint8Array(payload); + if (payload.buffer instanceof ArrayBuffer) { + const p = payload; + return new Uint8Array(p.buffer, p.byteOffset ?? 0, p.byteLength ?? p.buffer.byteLength); + } + throw new Error('normalizeOperationalConfig: unsupported payload type'); + } + /** Alias for arbitrary protocol byte payload normalization. */ + function normalizeBytePayload(payload) { + return normalizeOperationalConfig(payload); + } + /** + * Derive the 6-digit pairing PIN from a Verisense unique identifier. + * + * The PIN is built from digits 2, 4 and 6 (1-based) of the identifier, + * followed by the decimal value of the final byte padded to 3 digits. + */ + function computeVerisensePairingPin(uniqueId) { + const normalized = String(uniqueId ?? '') + .trim() + .replace(/^Verisense-/i, ''); + if (!/^[0-9a-fA-F]{8,}$/.test(normalized)) { + throw new Error('computeVerisensePairingPin: uniqueId must be a hex identifier string'); + } + if (normalized.length < 6) { + throw new Error('computeVerisensePairingPin: uniqueId must be at least 6 hex characters'); + } + const prefix = `${normalized[1]}${normalized[3]}${normalized[5]}`; + const suffixHex = normalized.slice(-2); + const suffixDec = Number.parseInt(suffixHex, 16); + return `${prefix}${suffixDec.toString().padStart(3, '0')}`; + } + const PROD_CONFIG_FLAG_DFU_ENABLED = 1 << 0; + const LOG_EVENT_NAMES = { + 0: 'NONE', + 1: 'BATTERY_FALL', + 2: 'BATTERY_RECOVER', + 3: 'WRITE_TO_FLASH_SUCCESS', + 4: 'WRITE_TO_FLASH_FAIL_GENERAL', + 5: 'WRITE_TO_FLASH_FULL', + 6: 'WRITE_TO_FLASH_FAIL_CHECK_ADDR_FREE', + 7: 'WRITE_TO_FLASH_FAIL_LOW_BATT_CHECK_ADDR_FREE', + 8: 'WRITE_TO_FLASH_FAIL_LOW_BATT_FLASH_ON', + 9: 'WRITE_TO_FLASH_FAIL_LOW_BATT_FLASH_WRITE', + 10: 'WRITE_TO_FLASH_FAIL_LOW_BATT_BEFORE_START', + 11: 'USB_PLUGGED_IN_SOFT_DEVICE', + 12: 'USB_PLUGGED_OUT_SOFT_DEVICE', + 13: 'RECORDING_PAUSED', + 14: 'RECORDING_RESUMED', + 15: 'BATTERY_RECOVER_IN_BATT_CHECK_TIMER', + 16: 'TSK_FREE_UP_FLASH', + 17: 'FREE_UP_FLASH_FAIL_LOW_BATT', + 18: 'PAYLOAD_PACKAGING_TASK_SET', + 19: 'PAYLOAD_PACKAGING_FUNCTION_CALL', + 20: 'BATTERY_VOLTAGE', + 21: 'TSK_WRITE_LOOKUP_TBL_CHANGES_TO_EEPROM', + 22: 'LPCOMP_ON', + 23: 'LPCOMP_ON_ALREADY', + 24: 'LPCOMP_OFF', + 25: 'LPCOMP_TRIED_BUT_BATT_LOW', + 26: 'BLE_CONNECTED', + 27: 'BLE_DISCONNECTED', + 28: 'TSK_WRITE_FLASH', + 29: 'PPG_TIMER_START', + 30: 'PAYLOAD_OVERSHOT', + 31: 'ADVERTISING_START', + 32: 'ADVERTISING_STOP', + 33: 'NIMH_BATT_PPG_BLOCKED_BLE_RETRY', + 34: 'NIMH_BATT_PPG_BLOCKED_BLE_ADAPT_SCH', + 35: 'NIMH_BATT_PPG_BLOCKED_BLE_PENDING_EVENTS', + 36: 'NIMH_BATT_BLE_BLOCKED_PPG', + 37: 'USB_PORT_OPEN', + 38: 'USB_PORT_CLOSED', + 39: 'FIFO_INT_SAFETY_CHECK_EVENT_ACCEL1', + 40: 'FIFO_INT_SAFETY_CHECK_EVENT_ACCEL2GYRO', + 41: 'FIFO_INT_SAFETY_CHECK_EVENT_MAX86XXX', + 42: 'FIFO_INT_SAFETY_CHECK_EVENT_MAX3000X', + 43: 'FIFO_INT_SAFETY_CHECK_EVENT_ADC', + 44: 'USB_PLUGGED_IN_PIN_HANDLER', + 45: 'USB_PLUGGED_OUT_PIN_HANDLER', + 46: 'BATTERY_CHARGER_STATUS_BAD_BATTERY', + 47: 'BATTERY_CHARGER_STATUS_CHARGING', + 48: 'BATTERY_CHARGER_STATUS_CHARGING_COMPLETE', + 49: 'BATTERY_CHARGER_STATUS_POWER_DOWN', + 50: 'LTC4123_RECOVERY_ATTEMPT', + 51: 'LTC4123_RECOVERY_GAVE_UP', + 52: 'LTC4123_CHRG_COMPLETE_OVERRIDDEN_BAD_BATT', + }; + const LOOKUP_STATUS_NAMES = { + 0: 'Zero', + 1: 'Full', + 2: '2Del', + 3: 'Emty', + 4: 'Bad', + 5: 'NUse', + }; + function u32le_at(bytes, off) { + return (((bytes[off] ?? 0) | + ((bytes[off + 1] ?? 0) << 8) | + ((bytes[off + 2] ?? 0) << 16) | + ((bytes[off + 3] ?? 0) << 24)) >>> + 0); + } + function decodeAsciiTrimFF(bytes) { + let end = bytes.length; + while (end > 0 && bytes[end - 1] === 0xff) + end--; + if (end === 0) + return ''; + return new TextDecoder().decode(bytes.slice(0, end)); + } + /** Convert unix seconds into Verisense 7-byte RTC payload (4-byte minutes + 3-byte ticks). */ + function unixSecondsToAsmRtcBytes(unixSeconds) { + if (!Number.isFinite(unixSeconds) || unixSeconds < 0) { + throw new Error('unixSecondsToAsmRtcBytes: unixSeconds must be a finite positive number'); + } + const minutes = Math.floor(unixSeconds / 60); + const secondsInMinute = unixSeconds - minutes * 60; + const ticks = Math.floor(secondsInMinute * 32768); + return new Uint8Array([ + minutes & 0xff, + (minutes >> 8) & 0xff, + (minutes >> 16) & 0xff, + (minutes >> 24) & 0xff, + ticks & 0xff, + (ticks >> 8) & 0xff, + (ticks >> 16) & 0xff, + ]); + } + /** Convert Verisense 7-byte RTC payload into unix seconds. */ + function asmRtcBytesToUnixSeconds(rtc7) { + if (rtc7.length !== 7) { + throw new Error('asmRtcBytesToUnixSeconds: payload must be exactly 7 bytes'); + } + const minutes = u32le_at(rtc7, 0); + const ticks = u24le(rtc7, 4); + return minutes * 60 + ticks / 32768.0; + } + /** Convert Verisense 8-byte minute counter payload into unix seconds. */ + function asmRtcMinutesBytesToUnixSeconds(minutes8) { + if (minutes8.length !== 8) { + throw new Error('asmRtcMinutesBytesToUnixSeconds: payload must be exactly 8 bytes'); + } + let minutes = 0n; + for (let i = 0; i < 8; i++) { + minutes |= BigInt(minutes8[i]) << BigInt(i * 8); + } + return Number(minutes) * 60; + } + /** + * Build a production configuration payload (56 bytes) from structured options. + * This matches the Python tooling layout used by ASM_BLE.py / ASM_Device.py. + */ + function buildProductionConfigPayload(opts) { + const mo = String(opts.manufacturingOrderNumberHex ?? '').trim(); + const mac = String(opts.macIdHex ?? '').trim(); + if (!/^[0-9a-fA-F]{8}$/.test(mo)) { + throw new Error('buildProductionConfigPayload: manufacturingOrderNumberHex must be 8 hex chars'); + } + if (!/^[0-9a-fA-F]{4}$/.test(mac)) { + throw new Error('buildProductionConfigPayload: macIdHex must be 4 hex chars'); + } + const uniqueBytes = new Uint8Array(6); + uniqueBytes.set(new Uint8Array(mo.match(/../g).map((h) => Number.parseInt(h, 16))), 0); + uniqueBytes.set(new Uint8Array(mac.match(/../g).map((h) => Number.parseInt(h, 16))), 4); + uniqueBytes.reverse(); + const revHwInternal = (opts.revHwInternal ?? 0) & 0xffff; + const revFwInternal = (opts.revFwInternal ?? 0) & 0xffff; + const out = new Uint8Array(56); + out[0] = 0x5a; + out.set(uniqueBytes, 1); + out[7] = opts.revHwMajor & 0xff; + out[8] = opts.revHwMinor & 0xff; + out[9] = opts.revFwMajor & 0xff; + out[10] = opts.revFwMinor & 0xff; + out[11] = revFwInternal & 0xff; + out[12] = (revFwInternal >> 8) & 0xff; + out[13] = revHwInternal & 0xff; + out[14] = (revHwInternal >> 8) & 0xff; + out.fill(0xff, 15, 56); + const passkeyId = opts.passkeyId ?? ''; + if (passkeyId.length > 0) { + if (passkeyId.length !== 2) { + throw new Error('buildProductionConfigPayload: passkeyId must be 2 chars when provided'); + } + out.set(new TextEncoder().encode(passkeyId), 15); + } + const passkey = opts.passkey ?? ''; + if (passkey.length > 0) { + if (passkey.length !== 6) { + throw new Error('buildProductionConfigPayload: passkey must be 6 chars when provided'); + } + out.set(new TextEncoder().encode(passkey), 17); + } + const advPrefix = opts.advertisingNamePrefix ?? ''; + if (advPrefix.length > 32) { + throw new Error('buildProductionConfigPayload: advertisingNamePrefix must be <= 32 chars'); + } + if (advPrefix.length > 0) { + out.set(new TextEncoder().encode(advPrefix), 23); + } + if (opts.dfuEnabled ?? true) { + out[55] = PROD_CONFIG_FLAG_DFU_ENABLED; + } + return out; + } + /** Parse production configuration with optional passkey/name/flag fields. */ + function parseProductionConfigPayloadFull(response) { + if (response.length < 11) { + throw new Error('parseProductionConfigPayloadFull: payload must be at least 11 bytes'); + } + const base = parseProductionConfigPayload(response); + const uniqueIdentifier = [...response.slice(1, 7)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join('') + .toUpperCase(); + const revHwMajor = response[7] ?? 0; + const revHwMinor = response[8] ?? 0; + const revFwMajor = response[9] ?? 0; + const revFwMinor = response[10] ?? 0; + const revFwInternal = response.length >= 13 ? u16le_at(response, 11) : 0; + const revHwInternal = response.length >= 15 ? u16le_at(response, 13) : 0; + const passkeyId = response.length >= 17 ? decodeAsciiTrimFF(response.slice(15, 17)) : ''; + const passkey = response.length >= 23 ? decodeAsciiTrimFF(response.slice(17, 23)) : ''; + const advertisingNamePrefix = response.length >= 55 ? decodeAsciiTrimFF(response.slice(23, 55)) : ''; + const dfuEnabled = response.length >= 56 ? !!(response[55] & PROD_CONFIG_FLAG_DFU_ENABLED) : true; + return { + ...base, + manufacturingOrderNumber: uniqueIdentifier.slice(0, 8), + macId: uniqueIdentifier.slice(8, 12), + uniqueIdentifier, + revHwMajor, + revHwMinor, + revHwInternal, + revFwMajor, + revFwMinor, + revFwInternal, + passkeyId, + passkey, + advertisingNamePrefix, + dfuEnabled, + }; + } + /** + * Parse STATUS1/STATUS2 payload into a typed object. + * + * This ports the core byte parsing from ASM_Device.parse_status while keeping + * the output concise and UI-friendly. + */ + function parseStatusPayload(response, sourceStatusProperty = 'status1') { + if (response.length < 24) { + throw new Error('parseStatusPayload: payload must be at least 24 bytes'); + } + const uniqueIdentifier = [...response.slice(0, 6)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join('') + .toUpperCase(); + const hasTickFields = response.length >= 56; + const hasExtendedCapacity = response.length >= 65; + const statusTimestampSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(6, 10), ...response.slice(34, 37)])) + : u32le_at(response, 6) * 60; + const batteryMilliVolts = u16le_at(response, 10); + const batteryPercent = response[12] ?? 0; + const lastOkTransferSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(13, 17), ...response.slice(37, 40)])) + : u32le_at(response, 13) * 60; + const lastFailTransferSeconds = hasTickFields + ? asmRtcBytesToUnixSeconds(new Uint8Array([...response.slice(17, 21), ...response.slice(40, 43)])) + : u32le_at(response, 17) * 60; + const memoryFreeKb = hasExtendedCapacity + ? (response[21] | (response[22] << 8) | (response[23] << 16) | (response[57] << 24)) >>> 0 + : (response[21] | (response[22] << 8) | (response[23] << 16)) >>> 0; + const memoryCapacityKb = hasExtendedCapacity ? u32le_at(response, 60) : null; + const memoryUsedKb = memoryCapacityKb == null ? null : Math.max(0, memoryCapacityKb - memoryFreeKb); + // Bank breakdown: FULL=syncable data, 2DEL=partially-deleted, BAD=unusable flash. + // Present in payloads >= 57 bytes (tick-capable extended format). + const hasBankData = response.length >= 57; + const memoryFullBanksKb = hasBankData ? u32le_at(response, 45) : null; + const memoryTwoDelBanksKb = hasBankData ? u32le_at(response, 49) : null; + const memoryBadBanksKb = hasBankData ? u32le_at(response, 53) : null; + const batteryFallCounter = response.length >= 26 ? u16le_at(response, 24) : null; + let statusFlags = null; + if (response.length >= 34) { + const f = response[26]; + statusFlags = { + usbPluggedIn: (f & 0x01) !== 0, + recordingPaused: (f & 0x02) !== 0, + flashIsFull: (f & 0x04) !== 0, + powerIsGood: (f & 0x08) !== 0, + adaptiveSchedulerOn: (f & 0x10) !== 0, + dfuServiceOn: (f & 0x20) !== 0, + firstBoot: (f & 0x40) !== 0, + repeatedBatteryMeasurement: (f & 0x80) !== 0, + }; + } + return { + uniqueIdentifier, + sourceStatusProperty, + statusTimestampSeconds, + batteryMilliVolts, + batteryPercent, + lastOkTransferSeconds, + lastFailTransferSeconds, + memoryFreeKb, + memoryCapacityKb, + memoryUsedKb, + memoryFullBanksKb, + memoryTwoDelBanksKb, + memoryBadBanksKb, + statusFlags, + batteryFallCounter, + }; + } + /** Parse scheduler debug response payload from DEBUG_COMMAND_ID.RWC_SCHEDULER_READ. */ + function parseSchedulerDebugPayload(payload) { + if (payload.length < 42) { + throw new Error('parseSchedulerDebugPayload: payload is too short'); + } + let idx = 0; + const currentTimeUnixSeconds = asmRtcBytesToUnixSeconds(payload.slice(idx, idx + 7)); + idx += 7; + const bleControlByte = payload[idx++] ?? 0xff; + const bleControlCounter = bleControlByte === 0x00 + ? 'data-transfer' + : bleControlByte === 0x01 + ? 'status1' + : bleControlByte === 0x02 + ? 'rtc-sync' + : bleControlByte === 0x03 + ? 'status2' + : bleControlByte === 0xff + ? 'never' + : 'unknown'; + const next8 = () => { + const v = asmRtcMinutesBytesToUnixSeconds(payload.slice(idx, idx + 8)); + idx += 8; + return v; + }; + const out = { + currentTimeUnixSeconds, + bleControlCounter, + pendingDataTransferUnixSeconds: next8(), + pendingStatus1UnixSeconds: next8(), + pendingRtcSyncUnixSeconds: next8(), + pendingRetryUnixSeconds: next8(), + retryCount: payload[idx++] ?? 0, + retryOperation: (payload[idx++] ?? 0) === 1 ? 'ble-on' : 'ble-off', + }; + if (payload.length >= idx + 10) { + out.adaptiveScheduler = { + nextUnixSeconds: next8(), + enabled: (payload[idx++] ?? 0) === 1, + syncFailCounter: payload[idx++] ?? 0, + }; + } + if (payload.length >= idx + 11) { + const nextUnixSeconds = next8(); + const op = payload[idx++] ?? 0; + out.ltfRetry = { + nextUnixSeconds, + currentOperation: op === 0 + ? 'flash-write-retry-inactive' + : op === 1 + ? 'short-flash-write-retry' + : op === 2 + ? 'attempt-flash-write' + : op === 3 + ? 'long-flash-write-retry' + : op === 4 + ? 'sensor-paused-until-usb-plug-in' + : 'unknown', + failCounterShort: payload[idx++] ?? 0, + failCounterLong: payload[idx++] ?? 0, + }; + } + if (payload.length >= idx + 8) { + out.pendingStatus2UnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.ppgMeasurementUnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.stepCounterResetUnixSeconds = next8(); + } + if (payload.length >= idx + 8) { + out.sensorInactivityUnixSeconds = next8(); + } + return out; + } + /** Parse debug payload listing bank indexes with bad CRC (2-byte LE entries). */ + function parsePayloadCrcErrorBankIndexes(payload) { + if (payload.length % 2 !== 0) { + throw new Error('parsePayloadCrcErrorBankIndexes: payload length must be even'); + } + const out = []; + for (let i = 0; i < payload.length; i += 2) + out.push(u16le_at(payload, i)); + return out; + } + /** Parse 8-byte debug event-log entries. */ + function parseEventLogPayload(payload) { + if (payload.length % 8 !== 0) { + throw new Error('parseEventLogPayload: payload length must be a multiple of 8'); + } + const out = []; + for (let i = 0; i < payload.length; i += 8) { + const entry = payload.slice(i, i + 8); + const eventId = entry[7]; + if (eventId === 0) + continue; + out.push({ + index: i / 8, + eventId, + eventName: LOG_EVENT_NAMES[eventId] ?? `EVENT_${eventId}`, + timestampUnixSeconds: eventId === 20 ? null : asmRtcBytesToUnixSeconds(entry.slice(0, 7)), + batteryMilliVolts: eventId === 20 ? u24le(entry, 0) : null, + }); + } + return out; + } + /** Parse record-buffer details payload (26-byte current layout, 19-byte legacy layout). */ + function parseRecordBufferDetailsPayload(payload) { + const bytesPerBuffer = payload.length % 26 === 0 ? 26 : payload.length % 19 === 0 ? 19 : 0; + if (!bytesPerBuffer) { + throw new Error('parseRecordBufferDetailsPayload: unsupported payload length'); + } + const out = []; + for (let i = 0; i < payload.length; i += bytesPerBuffer) { + const row = payload.slice(i, i + bytesPerBuffer); + out.push({ + bufferIndex: row[0], + bufferState: row[1], + packagedPayloadIndex: u16le_at(row, 2), + currentByteIndexForSensorData: u16le_at(row, 4), + usedBufferLength: u16le_at(row, 6), + fifoTicks: u16le_at(row, 8), + dataTimestampRwcMinutes: u32le_at(row, 10), + dataTimestampRwcTicks: u24le(row, 14), + temperatureData: u16le_at(row, 17), + dataTimestampUcClockMinutes: bytesPerBuffer >= 23 ? u32le_at(row, 19) : null, + dataTimestampUcClockTicks: bytesPerBuffer >= 26 ? u24le(row, 23) : null, + }); + } + return out; + } + /** + * Parse lookup-table debug payload entries (3 bytes per bank), with optional + * 4-byte tail/head prefix present in older firmware debug responses. + */ + function parseLookupTablePayload(payload, totalBanks) { + const bytesPerBank = 3; + const expectedNoHeadTail = totalBanks * bytesPerBank; + const expectedWithHeadTail = expectedNoHeadTail + 4; + let data = payload; + let head = null; + let tail = null; + if (payload.length === expectedWithHeadTail) { + tail = u16le_at(payload, 0); + head = u16le_at(payload, 2); + data = payload.slice(4); + } + else if (payload.length !== expectedNoHeadTail) { + throw new Error(`parseLookupTablePayload: payload length ${payload.length} does not match expected ${expectedNoHeadTail} or ${expectedWithHeadTail}`); + } + const entries = []; + for (let bankIndex = 0; bankIndex < totalBanks; bankIndex++) { + const off = bankIndex * bytesPerBank; + const statusByte = data[off]; + const pendingEepromWrite = (statusByte & 0x80) !== 0; + const statusCode = statusByte & 0x7f; + entries.push({ + bankIndex, + statusCode, + statusName: LOOKUP_STATUS_NAMES[statusCode] ?? 'Unknown', + pendingEepromWrite, + payloadIndex: u16le_at(data, off + 1), + }); + } + return { head, tail, entries }; + } + /** + * Parse the production config response payload into a structured object. + */ + function parseProductionConfigPayload(response) { + const isAllFFs = (arr) => arr.every((b) => b === 255); + const configHeader = response[0]; + const asmid = [...response.slice(1, 7)] + .reverse() + .map((b) => b.toString(16).padStart(2, '0')) + .join(''); + const revHwMajor = response[7]; + const revHwMinor = response[8]; + const revFwMajor = response[9]; + const revFwMinor = response[10]; + const fwInternalArray = response.slice(11, 13); + const revFwInternal = fwInternalArray[0] | (fwInternalArray[1] << 8); + let revHwInternal = 0; + if (response.length >= 15) { + const hwInternalArray = response.slice(13, 15); + if (!isAllFFs(hwInternalArray)) { + revHwInternal = hwInternalArray[0] | (hwInternalArray[1] << 8); + } + } + return { + hardware: `${revHwMajor}.${revHwMinor}.${revHwInternal}`, + firmware: `${revFwMajor}.${revFwMinor}.${revFwInternal}`, + asmid: asmid.toUpperCase(), + configHeader, + }; + } + + /** Build a protocol header byte from command/property nibbles. */ + function buildHeader(command, property) { + return ((command & 0xf0) | (property & 0x0f)) & 0xff; + } + /** Decode a protocol header byte into command/property fields. */ + function parseHeader(header) { + return { + command: (header & 0xf0), + property: (header & 0x0f), + }; + } + /** Build a complete protocol message (header + 16-bit LE payload length + payload bytes). */ + function buildMessage(command, property, payloadBytes = []) { + const payload = payloadBytes instanceof Uint8Array ? payloadBytes : new Uint8Array(payloadBytes); + const out = new Uint8Array(3 + payload.length); + out[0] = buildHeader(command, property); + out[1] = payload.length & 0xff; + out[2] = (payload.length >> 8) & 0xff; + out.set(payload, 3); + return out; + } + /** Parse a complete protocol message into structured fields. */ + function parseMessage(msg) { + if (msg.length < 3) + throw new Error('Invalid Verisense message: header is incomplete'); + const header = msg[0]; + const payloadLength = u16le(msg[1], msg[2]); + if (msg.length !== payloadLength + 3) { + throw new Error(`Invalid Verisense message: length=${payloadLength}, actualPayload=${Math.max(0, msg.length - 3)}`); + } + const { command, property } = parseHeader(header); + return { + header, + command, + property, + payloadLength, + payload: msg.slice(3), + }; + } + function isAckCommand(command) { + return command === ASM_COMMAND.ACK || command === ASM_COMMAND.ACK_NEXT_STAGE; + } + function isNackCommand(command) { + return (command === ASM_COMMAND.NACK_BAD_HEADER_COMMAND || + command === ASM_COMMAND.NACK_BAD_HEADER_PROPERTY || + command === ASM_COMMAND.NACK_GENERIC); + } + /** Convert a pending-events payload (property IDs) into a typed array. */ + function parsePendingEvents(payload) { + const out = []; + for (let i = 0; i < payload.length; i++) + out.push((payload[i] & 0x0f)); + return out; + } + + function pad2(n) { + return Math.trunc(n).toString().padStart(2, '0'); + } + function pad5(n) { + return Math.trunc(n).toString().padStart(5, '0'); + } + function dateToYyMMddHHmmss(date) { + const yy = pad2(date.getUTCFullYear() % 100); + const mm = pad2(date.getUTCMonth() + 1); + const dd = pad2(date.getUTCDate()); + const hh = pad2(date.getUTCHours()); + const min = pad2(date.getUTCMinutes()); + const ss = pad2(date.getUTCSeconds()); + return `${yy}${mm}${dd}_${hh}${min}${ss}`; + } + /** Build a binary upload file name: yyMMdd_HHmmss_00000.bin */ + function buildUploadBinaryFileName(uploadDate, firstPayloadIndex) { + if (!Number.isFinite(firstPayloadIndex) || firstPayloadIndex < 0 || firstPayloadIndex > 0xffff) { + throw new Error('buildUploadBinaryFileName: firstPayloadIndex must be in range 0..65535'); + } + return `${dateToYyMMddHHmmss(uploadDate)}_${pad5(firstPayloadIndex)}.bin`; + } + /** Build parsed CSV file name: yyMMdd_HHmmss_DataSource_00000.csv */ + function buildParsedCsvFileName(startDate, dataSource, firstPayloadIndex) { + if (!dataSource || !String(dataSource).trim()) { + throw new Error('buildParsedCsvFileName: dataSource must be a non-empty string'); + } + if (!Number.isFinite(firstPayloadIndex) || firstPayloadIndex < 0 || firstPayloadIndex > 0xffff) { + throw new Error('buildParsedCsvFileName: firstPayloadIndex must be in range 0..65535'); + } + return `${dateToYyMMddHHmmss(startDate)}_${String(dataSource).trim()}_${pad5(firstPayloadIndex)}.csv`; + } + /** Add duplicate suffix like " (2)" before extension. */ + function applyDuplicateSuffix(fileName, duplicateIndex) { + if (duplicateIndex < 2) { + throw new Error('applyDuplicateSuffix: duplicateIndex must be >= 2'); + } + const idx = fileName.lastIndexOf('.'); + if (idx <= 0) + return `${fileName} (${duplicateIndex})`; + const stem = fileName.slice(0, idx); + const ext = fileName.slice(idx); + return `${stem} (${duplicateIndex})${ext}`; + } + /** Return first non-colliding duplicate name for a target file name. */ + function nextAvailableDuplicateFileName(fileName, existingNames) { + const existing = new Set(existingNames); + if (!existing.has(fileName)) + return fileName; + let i = 2; + while (true) { + const candidate = applyDuplicateSuffix(fileName, i); + if (!existing.has(candidate)) + return candidate; + i++; + } + } + /** Parse first payload index (uint16 LE) from a payload byte array. */ + function getFirstPayloadIndex(payload) { + if (payload.length < 2) { + throw new Error('getFirstPayloadIndex: payload must contain at least 2 bytes'); + } + return u16le_at(payload, 0); + } + /** + * Evaluate whether parsed CSV output should roll to a new file. + * Rules mirror ASM-DES08 split conditions. + */ + function evaluateParsedFileSplit(input) { + const reasons = []; + const prev = input.prevTimestampSec; + const curr = input.currTimestampSec; + // Split when crossing 12:00am or 12:00pm boundaries. + const prevHalfDay = Math.floor(prev / (12 * 60 * 60)); + const currHalfDay = Math.floor(curr / (12 * 60 * 60)); + if (currHalfDay !== prevHalfDay) + reasons.push('midday-midnight-boundary'); + if ((input.prevConfigSignature ?? null) !== (input.currConfigSignature ?? null)) { + reasons.push('config-change'); + } + if (input.expectedDeltaSec != null) { + const tol = Math.max(0, input.timestampToleranceSec ?? 0); + const delta = curr - prev; + if (Math.abs(delta - input.expectedDeltaSec) > tol) { + reasons.push('timestamp-discontinuity'); + } + } + if (input.powerResetDetected) { + reasons.push('power-reset'); + } + return { shouldSplit: reasons.length > 0, reasons }; + } + + /** + * Abstract base class for all Verisense sensor decoders. + * + * Provides: + * - Timestamp unwrapping (handles the 1-minute rollover at 32768 ticks/s). + * - System-time offset tracking for plotting calibrated wall-clock timestamps. + * - Per-sample time extrapolation based on sampling rate and last-sample tick. + */ + class SensorBase { + constructor() { + this.lastTicksUnwrapped = 0; + this.cycle = 0; + /** (system time) โˆ’ (shimmer time) at first sample, in milliseconds. */ + this.systemOffsetFirstTime = null; + /** Sampling rate in Hz (used for per-sample time extrapolation). */ + this.samplingRateHz = null; + /** Whether this sensor is enabled in the operational config. */ + this.enabled = true; + } + /** Reset all timestamp state (call on (re)connect or when streaming restarts). */ + resetTimestamps() { + this.lastTicksUnwrapped = 0; + this.cycle = 0; + this.systemOffsetFirstTime = null; + } + /** + * Unwrap a rolling 24-bit tick counter to a monotonically increasing value. + */ + unwrapTicks(ticks) { + let unwrapped = ticks + SensorBase.TICKS_MAX_VALUE * this.cycle; + if (this.lastTicksUnwrapped > unwrapped) { + this.cycle += 1; + unwrapped = ticks + SensorBase.TICKS_MAX_VALUE * this.cycle; + } + this.lastTicksUnwrapped = unwrapped; + return unwrapped; + } + /** Convert unwrapped ticks to milliseconds. */ + ticksToMillis(unwrappedTicks) { + return (unwrappedTicks / SensorBase.CLOCK_FREQ) * 1000.0; + } + /** + * Compute the calibrated shimmer timestamp for the *last* sample in a burst, + * and store the first-seen system-offset for later plotting. + * + * @param lastSampleTicksU24 24-bit tick counter from the packet header. + * @param systemMillis `Date.now()` at the time of packet receipt. + */ + getTimestampUnwrappedMillis(lastSampleTicksU24, systemMillis) { + const unwrappedTicks = this.unwrapTicks(lastSampleTicksU24); + const shimmerMillis = this.ticksToMillis(unwrappedTicks); + if (this.systemOffsetFirstTime == null) { + this.systemOffsetFirstTime = systemMillis - shimmerMillis; + } + return { shimmerMillis, systemOffsetFirstTime: this.systemOffsetFirstTime }; + } + /** + * Extrapolate the timestamp for sample `i` of `numSamples` in a burst, + * given the timestamp of the *last* sample and the sampling rate. + * + * @returns Object with `tsMillis`, `systemTsMillis`, and `systemTsPlotMillis`. + */ + extrapolateSampleTimes(opts) { + const sr = opts.samplingRateHz ?? this.samplingRateHz; + const { tsLastSampleMillis, systemTsLastSampleMillis, systemOffsetFirstTime } = opts; + if (!sr || sr <= 0) { + return { + tsMillis: tsLastSampleMillis, + systemTsMillis: systemTsLastSampleMillis, + systemTsPlotMillis: systemOffsetFirstTime != null + ? tsLastSampleMillis + systemOffsetFirstTime + : systemTsLastSampleMillis, + }; + } + const sampleOffsetSec = (opts.numSamples - opts.i - 1) / sr; + const tsMillis = tsLastSampleMillis - sampleOffsetSec * 1000; + const systemTsMillis = systemTsLastSampleMillis - sampleOffsetSec * 1000; + const systemTsPlotMillis = systemOffsetFirstTime != null ? tsMillis + systemOffsetFirstTime : systemTsMillis; + return { tsMillis, systemTsMillis, systemTsPlotMillis }; + } + } + /** Verisense clock frequency in ticks per second. */ + SensorBase.CLOCK_FREQ = 32768; + /** 1-minute rollover at 32768 ticks/s (matches C# Sensor.cs). */ + SensorBase.TICKS_MAX_VALUE = 60 * 32768; + + /** + * Decoder for grouped ADC channels (Verisense sensor id = 1). + * + * Includes GSR plus battery/ADC channels carried in the same packet source. + * Implements C# `SensorGSR.cs` including: + * - Per-hardware reference resistor selection (SR68 vs Shimmer3 resistors). + * - Auto-range decoding from the raw ADC value's upper bits. + * - Range-3 clamping threshold that differs by hardware. + * - Conductance (uS) output with connectivity detection. + */ + class SensorADC extends SensorBase { + constructor() { + super(); + this.LIMIT_MIN_VALID_USIEMENS = 0.03; + this.GSR_UNCAL_LIMIT_RANGE3_SR68 = 1134; + this.GSR_UNCAL_LIMIT_RANGE3_SR62 = 683; + this.SHIMMER3_REF_KOHMS = [40.2, 287.0, 1000.0, 3300.0]; + this.SR68_REF_KOHMS = [21.0, 150.0, 562.0, 1740.0]; + this.gsrEnabled = true; + this.battEnabled = false; + /** GSR range 0-3 (fixed) or 4 (auto-range). */ + this.gsrRangeSetting = 4; + this.hardwareIdentifier = 'VERISENSE_PULSE_PLUS'; + // Decoded from opConfig for debug/display + this.gsrRateSettingRaw = 0; + this.gsrRangeSettingRaw = 0; + this.gsrOversamplingRateSettingRaw = 0; + this.samplingRateHz = 50; + } + setHardwareIdentifier(idStr) { + this.hardwareIdentifier = idStr; + } + setGsrRangeSetting(v) { + this.gsrRangeSetting = v; + } + setEnabled(arg1, opConfigBytes) { + if (opConfigBytes != null) { + const desired = typeof arg1 === 'boolean' ? { gsr: arg1 } : arg1 && typeof arg1 === 'object' ? arg1 : {}; + return this._patchEnabled(desired, opConfigBytes); + } + const obj = typeof arg1 === 'boolean' ? { gsr: arg1 } : arg1 && typeof arg1 === 'object' ? arg1 : {}; + if (typeof obj.gsr === 'boolean') + this.gsrEnabled = obj.gsr; + if (typeof obj.batt === 'boolean') + this.battEnabled = obj.batt; + return { gsr: this.gsrEnabled, batt: this.battEnabled }; + } + _patchEnabled({ gsr, batt }, opConfigBytes) { + const op = normalizeOperationalConfig(opConfigBytes); + const out = new Uint8Array(op); + if (typeof gsr === 'boolean') { + const idx = OP_IDX.GEN_CFG_1; + out[idx] = gsr ? (out[idx] | 0x80) & 0xff : out[idx] & 0x7f & 0xff; + } + if (typeof batt === 'boolean') { + const idx = OP_IDX.GEN_CFG_2; + out[idx] = batt ? (out[idx] | 0x02) & 0xff : out[idx] & 0xfd & 0xff; + } + return out; + } + patchGsrRange(rangeCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ADC_CHANNEL_SETTINGS_1; + out[i] = (out[i] & 0b11111000) | (rangeCfg & 0x07); + return out; + } + patchGsrSamplingRate(rateCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ADC_CHANNEL_SETTINGS_0; + out[i] = (out[i] & 0b11000000) | (rateCfg & 0x3f); + return out; + } + patchGsrOversampling(overCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ADC_CHANNEL_SETTINGS_1; + out[i] = (out[i] & 0b00001111) | ((overCfg & 0x0f) << 4); + return out; + } + calibrateAdcToVolts(uncal12bit) { + const adcRange = 2 ** 12 - 1; + let refVoltage = 1.8 / 4.0; + if (this.hardwareIdentifier === 'VERISENSE_GSR_PLUS') { + refVoltage = 3.0 / 4.0; + } + const adcScaling = 1.0 / 4.0; + return (uncal12bit * refVoltage) / adcRange / adcScaling; + } + calibrateGsrToKOhmsUsingAmplifierEq(volts, range) { + let rFeedback = this.SHIMMER3_REF_KOHMS[range]; + if (this.hardwareIdentifier === 'VERISENSE_PULSE_PLUS') { + rFeedback = this.SR68_REF_KOHMS[range]; + } + const gsrRefVoltage = this.hardwareIdentifier === 'VERISENSE_PULSE_PLUS' ? 0.4986 : 0.5; + return rFeedback / (volts / gsrRefVoltage - 1.0); + } + nudgeGsrResistance(kOhms) { + const limitsByRange = { + 0: [8.0, 63.0], + 1: [63.0, 220.0], + 2: [220.0, 680.0], + 3: [680.0, 4700.0], + 4: [8.0, 4700.0], + }; + const lim = limitsByRange[this.gsrRangeSetting] ?? [8.0, 4700.0]; + return Math.min(Math.max(kOhms, lim[0]), lim[1]); + } + kOhmToUSiemens(kOhms) { + return 1000.0 / kOhms; + } + parsePayload(sensorPayloadBytes) { + const bytesPerSample = this.gsrEnabled && this.battEnabled ? 4 : 2; + const n = Math.floor(sensorPayloadBytes.length / bytesPerSample); + const out = []; + for (let i = 0; i < n; i++) { + const base = i * bytesPerSample; + let batt = null; + let gsr = null; + const gsrStart = this.battEnabled && this.gsrEnabled ? 2 : 0; + if (this.gsrEnabled) { + const gsrraw = i16le(sensorPayloadBytes, base + gsrStart); + let adc12 = gsrraw & 0x0fff; + let currentRange = this.gsrRangeSetting; + if (currentRange === 4) + currentRange = (gsrraw >> 14) & 0x03; + if (currentRange === 3) { + const limit = this.hardwareIdentifier === 'VERISENSE_PULSE_PLUS' + ? this.GSR_UNCAL_LIMIT_RANGE3_SR68 + : this.GSR_UNCAL_LIMIT_RANGE3_SR62; + if (adc12 < limit) + adc12 = limit; + } + const volts = this.calibrateAdcToVolts(adc12); + let kOhms = this.calibrateGsrToKOhmsUsingAmplifierEq(volts, currentRange); + kOhms = this.nudgeGsrResistance(kOhms); + const uS = this.kOhmToUSiemens(kOhms); + const connectivity = uS > this.LIMIT_MIN_VALID_USIEMENS ? 'Connected' : 'Disconnected'; + gsr = { raw: gsrraw, adc12, range: currentRange, volts, kOhms, uS, connectivity }; + } + if (this.battEnabled) { + const raw16 = i16le(sensorPayloadBytes, base) & 0xffff; + const adc12 = raw16 & 0x0fff; + const usbPluggedIn = ((raw16 >> 15) & 0x01) === 1; + const chargerStatusBits = (raw16 >> 13) & 0x03; + let mv = this.calibrateAdcToVolts(adc12) * 1000.0; + if (this.hardwareIdentifier === 'VERISENSE_GSR_PLUS') { + mv *= 1.988; + } + const chargerStatusMap = { + 0: 'Power-Down/Suspended', + 1: 'Charging', + 2: 'Charging Complete', + 3: 'Bad Battery/LDO', + }; + batt = { + raw16, + adc12, + mV: mv, + usbPluggedIn, + chargerStatusBits, + chargerStatus: chargerStatusMap[chargerStatusBits] ?? 'Unknown', + }; + } + out.push({ gsr, batt }); + } + return out; + } + applyOperationalConfig(op) { + const gen1 = op[OP_IDX.GEN_CFG_1] ?? 0; + const gen2 = op[OP_IDX.GEN_CFG_2] ?? 0; + this.gsrEnabled = ((gen1 >> 7) & 0x01) === 1; + this.battEnabled = (gen2 & 0b00000010) !== 0; + const rateCfg = (op[OP_IDX.ADC_CHANNEL_SETTINGS_0] ?? 0) & 0x3f; + const cfg1 = (op[OP_IDX.ADC_CHANNEL_SETTINGS_1] ?? 0) & 0xff; + const rangeCfg = cfg1 & 0x07; + const oversamplingCfg = (cfg1 >> 4) & 0x0f; + this.gsrRateSettingRaw = rateCfg; + this.gsrRangeSettingRaw = rangeCfg; + this.gsrOversamplingRateSettingRaw = oversamplingCfg; + if (rangeCfg >= 0 && rangeCfg <= 4) { + this.gsrRangeSetting = rangeCfg; + } + } + } + + /** + * Decoder for the LIS2DW12 low-power accelerometer (Verisense sensor id = 2). + * + * Sensitivity values are given in raw-LSB / (m/sยฒ) per axis โ€” matching + * the C# `SensorLIS2DW12.cs` implementation. + */ + class SensorLIS2DW12 extends SensorBase { + constructor() { + super(); + this.offset = [0, 0, 0]; + this.align = [ + [0, 0, 1], + [1, 0, 0], + [0, 1, 0], + ]; + this.sensitivityByRange = { + '2G': [1671.665922915, 1671.665922915, 1671.665922915], + '4G': [835.832961457, 835.832961457, 835.832961457], + '8G': [417.916480729, 417.916480729, 417.916480729], + '16G': [208.958240364, 208.958240364, 208.958240364], + }; + this.range = '2G'; + this.samplingRateHz = 50; + } + setRange(rangeStr) { + if (this.sensitivityByRange[rangeStr]) + this.range = rangeStr; + } + // --- Functional OpConfig helpers (returns new Uint8Array, does not mutate) --- + setEnabled(enabled, opConfigBytes) { + if (opConfigBytes == null) { + this.enabled = enabled; + return this.enabled; + } + const op = normalizeOperationalConfig(opConfigBytes); + const out = new Uint8Array(op); + const idx = OP_IDX.GEN_CFG_0; + out[idx] = enabled ? (out[idx] | 0x80) & 0xff : out[idx] & 0x7f & 0xff; + return out; + } + setAccelEnabled(enabled, opConfigBytes) { + return this.setEnabled(enabled, opConfigBytes); + } + patchAccelRange(rangeCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ACCEL1_CFG_1; + out[i] = (out[i] & 0b11001111) | ((rangeCfg & 0x03) << 4); + return out; + } + patchAccelSamplingRate(rateCfg, op) { + const out = new Uint8Array(op); + const i = OP_IDX.ACCEL1_CFG_0; + out[i] = (out[i] & 0b00001111) | ((rateCfg & 0x0f) << 4); + return out; + } + _calibrate(raw) { + const v = [ + raw[0] - this.offset[0], + raw[1] - this.offset[1], + raw[2] - this.offset[2], + ]; + const a = this.align; + const aligned = [ + a[0][0] * v[0] + a[0][1] * v[1] + a[0][2] * v[2], + a[1][0] * v[0] + a[1][1] * v[1] + a[1][2] * v[2], + a[2][0] * v[0] + a[2][1] * v[1] + a[2][2] * v[2], + ]; + const s = this.sensitivityByRange[this.range]; + return [aligned[0] / s[0], aligned[1] / s[1], aligned[2] / s[2]]; + } + parsePayload(sensorPayloadBytes) { + const BYTES_PER_SAMPLE = 6; + const n = Math.floor(sensorPayloadBytes.length / BYTES_PER_SAMPLE); + const out = []; + for (let i = 0; i < n; i++) { + const off = i * BYTES_PER_SAMPLE; + const raw = [ + i16le(sensorPayloadBytes, off + 0), + i16le(sensorPayloadBytes, off + 2), + i16le(sensorPayloadBytes, off + 4), + ]; + const cal = this._calibrate(raw); + out.push({ raw, cal, units: { cal: 'm/s^2' } }); + } + return out; + } + applyOperationalConfig(op) { + const gen0 = op[OP_IDX.GEN_CFG_0]; + const cfg0 = op[OP_IDX.ACCEL1_CFG_0]; + const cfg1 = op[OP_IDX.ACCEL1_CFG_1]; + if (gen0 == null || cfg0 == null || cfg1 == null) { + console.warn('[LIS2DW12] Missing required bytes; cannot apply config.'); + return; + } + this.enabled = ((gen0 >> 7) & 0x01) === 1; + const rangeSetting = (cfg1 >> 4) & 0x03; + const modeSetting = (cfg0 >> 2) & 0x03; + const rateSetting = (cfg0 >> 4) & 0x0f; + const rangeMap = { 0: '2G', 1: '4G', 2: '8G', 3: '16G' }; + this.setRange(rangeMap[rangeSetting] ?? '2G'); + const lowPowerHzByCfg = { + 1: 1.6, + 2: 12.5, + 3: 25, + 4: 50, + 5: 100, + 6: 200, + }; + const highPerfHzByCfg = { + 1: 12.5, + 3: 25, + 4: 50, + 5: 100, + 6: 200, + 7: 400, + 8: 800, + 9: 1600, + }; + const isLowPower = modeSetting === 0; + const hz = isLowPower ? lowPowerHzByCfg[rateSetting] : highPerfHzByCfg[rateSetting]; + if (hz) + this.samplingRateHz = hz; + } + } + + /** + * Decoder for the LSM6DS3 combined accelerometer + gyroscope (Verisense sensor id = 3). + * + * Sensitivity values mirror the C# `SensorLSM6DS3.cs` implementation. + */ + class SensorLSM6DS3 extends SensorBase { + constructor() { + super(); + this.offset = [0, 0, 0]; + this.align = [ + [0, 0, 1], + [-1, 0, 0], + [0, -1, 0], + ]; + this.accSensByRange = { + '2G': [1671.665922915, 1671.665922915, 1671.665922915], + '4G': [835.832961457, 835.832961457, 835.832961457], + '8G': [417.916480729, 417.916480729, 417.916480729], + '16G': [208.958240364, 208.958240364, 208.958240364], + }; + this.gyroSensByRange = { + '250DPS': [114.285714286, 114.285714286, 114.285714286], + '500DPS': [57.142857143, 57.142857143, 57.142857143], + '1000DPS': [28.571428571, 28.571428571, 28.571428571], + '2000DPS': [14.285714286, 14.285714286, 14.285714286], + }; + this.accRange = '2G'; + this.gyroRange = '250DPS'; + this.accEnabled = true; + this.gyroEnabled = true; + this.samplingRateHz = 50; + } + setAccelEnabled(v) { + this.accEnabled = !!v; + } + setGyroEnabled(v) { + this.gyroEnabled = !!v; + } + setAccelRange(r) { + if (this.accSensByRange[r]) + this.accRange = r; + } + setGyroRange(r) { + if (this.gyroSensByRange[r]) + this.gyroRange = r; + } + _applyAlignAndOffset(raw3) { + const v = [ + raw3[0] - this.offset[0], + raw3[1] - this.offset[1], + raw3[2] - this.offset[2], + ]; + const a = this.align; + return [ + a[0][0] * v[0] + a[0][1] * v[1] + a[0][2] * v[2], + a[1][0] * v[0] + a[1][1] * v[1] + a[1][2] * v[2], + a[2][0] * v[0] + a[2][1] * v[1] + a[2][2] * v[2], + ]; + } + parsePayload(sensorPayloadBytes) { + let bytesPerSample = 6; + if (this.gyroEnabled && this.accEnabled) + bytesPerSample = 12; + const n = Math.floor(sensorPayloadBytes.length / bytesPerSample); + const out = []; + for (let i = 0; i < n; i++) { + const base = i * bytesPerSample; + let gyroRaw = null; + let accRaw = null; + if (this.gyroEnabled && this.accEnabled) { + gyroRaw = [ + i16le(sensorPayloadBytes, base + 0), + i16le(sensorPayloadBytes, base + 2), + i16le(sensorPayloadBytes, base + 4), + ]; + accRaw = [ + i16le(sensorPayloadBytes, base + 6), + i16le(sensorPayloadBytes, base + 8), + i16le(sensorPayloadBytes, base + 10), + ]; + } + else if (this.gyroEnabled) { + gyroRaw = [ + i16le(sensorPayloadBytes, base + 0), + i16le(sensorPayloadBytes, base + 2), + i16le(sensorPayloadBytes, base + 4), + ]; + } + else if (this.accEnabled) { + accRaw = [ + i16le(sensorPayloadBytes, base + 0), + i16le(sensorPayloadBytes, base + 2), + i16le(sensorPayloadBytes, base + 4), + ]; + } + let accCal = null; + let gyroCal = null; + if (accRaw) { + const aligned = this._applyAlignAndOffset(accRaw); + const s = this.accSensByRange[this.accRange]; + accCal = [aligned[0] / s[0], aligned[1] / s[1], aligned[2] / s[2]]; + } + if (gyroRaw) { + const aligned = this._applyAlignAndOffset(gyroRaw); + const s = this.gyroSensByRange[this.gyroRange]; + gyroCal = [aligned[0] / s[0], aligned[1] / s[1], aligned[2] / s[2]]; + } + out.push({ + accel: accRaw && accCal ? { raw: accRaw, cal: accCal, units: 'm/s^2' } : null, + gyro: gyroRaw && gyroCal ? { raw: gyroRaw, cal: gyroCal, units: 'deg/s' } : null, + }); + } + return out; + } + applyOperationalConfig(op) { + this.accEnabled = (op[OP_IDX.GEN_CFG_0] & 0b01000000) !== 0; + this.gyroEnabled = (op[OP_IDX.GEN_CFG_0] & 0b00100000) !== 0; + const cfg4 = op[OP_IDX.GYRO_ACCEL2_CFG_4]; + const accelRateCfg = (cfg4 >> 4) & 0x0f; + const cfg5 = op[OP_IDX.GYRO_ACCEL2_CFG_5]; + const accelRangeCfg = (cfg5 >> 2) & 0x03; + const gyroRangeCfg = (cfg5 >> 4) & 0x03; + const accelRangeMap = { 0: '2G', 1: '4G', 2: '8G', 3: '16G' }; + const gyroRangeMap = { + 0: '250DPS', + 1: '500DPS', + 2: '1000DPS', + 3: '2000DPS', + }; + this.setAccelRange(accelRangeMap[accelRangeCfg] ?? this.accRange); + this.setGyroRange(gyroRangeMap[gyroRangeCfg] ?? this.gyroRange); + const hzByCfg = { + 0: null, + 1: 12.5, + 2: 26, + 3: 52, + 4: 104, + 5: 208, + 6: 416, + 7: 833, + 8: 1660, + }; + const hz = hzByCfg[accelRateCfg]; + if (hz) + this.samplingRateHz = hz; + } + } + + /** + * Decoder for the PPG sensor (Verisense sensor id = 4). + * + * Calibration constants mirror C# `SensorPPG.cs`. + */ + class SensorPPG extends SensorBase { + constructor() { + super(); + this.red = false; + this.ir = false; + this.green = false; + this.blue = false; + this.adcLsb = [7.8125, 15.625, 31.25, 62.5]; + this.adcBitShift = [2 ** 7, 2 ** 6, 2 ** 5, 2 ** 4]; + this.adcResolutionIndex = 0; // 0..3 + this.samplingRateHz = 50; + } + setChannels(channels) { + if (typeof channels.RED === 'boolean') + this.red = channels.RED; + if (typeof channels.IR === 'boolean') + this.ir = channels.IR; + if (typeof channels.GREEN === 'boolean') + this.green = channels.GREEN; + if (typeof channels.BLUE === 'boolean') + this.blue = channels.BLUE; + } + setAdcResolutionIndex(i) { + if (i >= 0 && i <= 3) + this.adcResolutionIndex = i; + } + calibrateValue(uncalValue) { + const idx = this.adcResolutionIndex; + return ((uncalValue / this.adcBitShift[idx]) * this.adcLsb[idx]) / 1000.0; + } + parsePayload(sensorPayloadBytes) { + const enabled = []; + if (this.red) + enabled.push('RED'); + if (this.ir) + enabled.push('IR'); + if (this.green) + enabled.push('GREEN'); + if (this.blue) + enabled.push('BLUE'); + const bytesPerSample = enabled.length * 3; + if (bytesPerSample === 0) + return []; + const n = Math.floor(sensorPayloadBytes.length / bytesPerSample); + const out = []; + for (let i = 0; i < n; i++) { + const base = i * bytesPerSample; + let off = 0; + const sample = {}; + for (const ch of enabled) { + const b0 = sensorPayloadBytes[base + off + 0]; + const b1 = sensorPayloadBytes[base + off + 1]; + const b2 = sensorPayloadBytes[base + off + 2]; + off += 3; + let uncal = (b0 | (b1 << 8) | (b2 << 16)) >>> 0; + uncal &= 0x7ffff; + sample[ch] = { + raw: uncal, + cal: this.calibrateValue(uncal), + units: { raw: 'counts', cal: 'scaled' }, + }; + } + out.push(sample); + } + return out; + } + applyOperationalConfig(_op) { + // PPG channels are configured by the operational config but the bit + // mapping is hardware-specific. For now we leave channel flags as-is; + // callers can use setChannels() directly. + void normalizeOperationalConfig(_op); // no-op, satisfies lint + } + } + + function defaultAcceptedCommands(command) { + if (command === ASM_COMMAND.READ) + return new Set([ASM_COMMAND.RESPONSE]); + if (command === ASM_COMMAND.WRITE) { + return new Set([ASM_COMMAND.ACK, ASM_COMMAND.ACK_NEXT_STAGE, ASM_COMMAND.RESPONSE]); + } + return new Set([ASM_COMMAND.ACK, ASM_COMMAND.ACK_NEXT_STAGE, ASM_COMMAND.RESPONSE]); + } + function toCommandResponse(msg) { + return { + header: msg.header, + command: msg.command, + property: msg.property, + payload: msg.payload, + }; + } + function validatePendingResponse(pending, msg) { + if (isNackCommand(msg.command)) { + return new Error(`Device returned NACK command=0x${msg.command.toString(16)} property=0x${msg.property.toString(16)}`); + } + if (pending.acceptedProperties?.size) { + if (!pending.acceptedProperties.has(msg.property)) { + return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected one of ${Array.from(pending.acceptedProperties) + .map((p) => `0x${p.toString(16)}`) + .join(', ')})`); + } + } + else if (msg.property !== pending.expectedProperty) { + return new Error(`Unexpected response property 0x${msg.property.toString(16)} (expected 0x${pending.expectedProperty.toString(16)})`); + } + if (!pending.acceptedCommands.has(msg.command)) { + return new Error(`Unexpected response command 0x${msg.command.toString(16)} for property 0x${msg.property.toString(16)}`); + } + return null; + } + + // --------------------------------------------------------------------------- + // VerisenseBleDevice + // --------------------------------------------------------------------------- + /** + * Web Bluetooth client for the Verisense sensor platform. + * + * Extends {@link BaseShimmerClient} and adds an event-emitter API + * (on/off/emit) for the richer event model the Verisense protocol needs. + * + * Supports: + * - BLE streaming (accel, ADC/GSR, gyro, PPG) + * - Web Serial (USB COM port) as an alternative transport + * - Logged-data download (`transferLoggedData`) + * - Operational config read/write + * + * Events: + * - `"connected"` โ€” `{ name?: string; id?: string; kind?: string }` + * - `"disconnected"` โ€” `{ kind: TransportKind }` + * - `"streaming"` โ€” `{ on: boolean }` + * - `"streamPacket"` / `"data"` โ€” `StreamPacket` + * - `"streamCrcFail"` โ€” `{ claimed: number; body: Uint8Array }` + * - `"opConfig"` โ€” `{ op: Uint8Array }` + * - `"productionConfig"` โ€” `ProductionConfig` + * - `"commandPayload"` โ€” `{ payload: Uint8Array }` + */ + class VerisenseBleDevice extends BaseShimmerClient { + on(ev, fn) { + if (!this._evMap.has(ev)) + this._evMap.set(ev, new Set()); + this._evMap.get(ev).add(fn); + return () => this.off(ev, fn); + } + off(ev, fn) { + this._evMap.get(ev)?.delete(fn); + } + emit(ev, data) { + const s = this._evMap.get(ev); + if (s) + for (const fn of s) + fn(data); + } + constructor(opts = {}) { + super({ debug: opts.debug ?? true }); + // Event emitter state + this._evMap = new Map(); + // Transport handles + this._transportKind = null; + this.device = null; + this.server = null; + this.service = null; + this.tx = null; + this.rx = null; + this.port = null; + this._serialAbort = null; + this._serialReader = null; + this._serialReadLoopTask = null; + this._onGattDisconnected = null; + // Protocol state + this._mode = 'idle'; + this._rxStreamBuf = new Uint8Array(0); + this._pending = null; + this._loggedChain = Promise.resolve(); + this._sync = null; + this._testReportCapture = null; + this._testReportDecoder = new TextDecoder(); + // Cached configs + this.operationalConfig = null; + this.productionConfig = null; + // Debug flags + this.debugSync = true; + this._syncRxCount = 0; + this._syncPayloadCount = 0; + this.hardwareIdentifier = opts.hardwareIdentifier ?? 'VERISENSE_PULSE_PLUS'; + this.stripStreamCrc = opts.stripStreamCrc ?? true; + this.verifyStreamCrc = opts.verifyStreamCrc ?? false; + this.sensors = { + 1: new SensorADC(), + 2: new SensorLIS2DW12(), + 3: new SensorLSM6DS3(), + 4: new SensorPPG(), + }; + this.sensors[1].setHardwareIdentifier(this.hardwareIdentifier); + } + _log(...args) { + if (this.debug) + console.log('[Verisense]', ...args); + } + // Quick accessors + get adc() { + return this.sensors[1]; + } + get accel1() { + return this.sensors[2]; + } + get gyroAccel2() { + return this.sensors[3]; + } + get ppg() { + return this.sensors[4]; + } + // --------------------------------------------------------------------------- + // BLE connect / disconnect + // --------------------------------------------------------------------------- + async connect(opts = {}) { + if (this._transportKind === 'serial' || this.port) { + try { + await this.disconnect(); + } + catch { + /* ignore */ + } + } + this._transportKind = 'ble'; + const requestOpts = { + filters: opts.filters ?? [{ services: [NUS_SERVICE] }], + optionalServices: opts.optionalServices ?? [NUS_SERVICE], + }; + this.device = opts.device ?? (await navigator.bluetooth.requestDevice(requestOpts)); + try { + if (this._onGattDisconnected && this.device) { + this.device.removeEventListener('gattserverdisconnected', this._onGattDisconnected); + } + } + catch { + /* ignore */ + } + this._onGattDisconnected = () => { + this._mode = 'idle'; + this._transportKind = null; + this._clearHardwareTestReportCapture(new Error('Disconnected'), null); + this.emit('disconnected', { kind: 'ble' }); + }; + this.device.addEventListener('gattserverdisconnected', this._onGattDisconnected); + this.server = await this.device.gatt.connect(); + this.service = await this.server.getPrimaryService(NUS_SERVICE); + this.tx = await this.service.getCharacteristic(NUS_TX); + this.rx = await this.service.getCharacteristic(NUS_RX); + await this.rx.startNotifications(); + this.rx.addEventListener('characteristicvaluechanged', (ev) => { + const dv = ev.target?.value; + if (!dv) + return; + const bytes = new Uint8Array(dv.buffer.slice(dv.byteOffset, dv.byteOffset + dv.byteLength)); + this._feedStreamBytes(bytes); + }); + this._emitStatus(`Connected: ${this.device.name ?? 'Verisense'}`); + this.emit('connected', { name: this.device.name, id: this.device.id }); + await this.readProductionConfigFromDevice(); + await this.readOpConfigFromDevice(); + return true; + } + // --- Web Serial (USB COM port) connect --- + async connectSerial(opts = {}) { + if (!('serial' in navigator)) { + throw new Error('Web Serial not supported. Use Chrome/Edge on HTTPS or http://localhost.'); + } + if (this._transportKind === 'ble' && this.device?.gatt?.connected) { + await this.disconnect(); + } + else if (this._transportKind === 'serial' && this.port) { + await this.disconnect(); + } + this._transportKind = 'serial'; + this._mode = 'idle'; + this._resetAssembler(); + const serial = navigator.serial; + if (!opts.port) { + opts.port = await serial.requestPort(opts.filters ? { filters: opts.filters } : undefined); + } + this.port = opts.port; + await this.port.open({ + baudRate: opts.baudRate ?? 115200, + dataBits: opts.dataBits ?? 8, + stopBits: opts.stopBits ?? 1, + parity: opts.parity ?? 'none', + flowControl: opts.flowControl ?? 'none', + }); + this._serialAbort = new AbortController(); + this._startSerialReadLoop(this._serialAbort.signal); + this._emitStatus('Connected via USB Serial'); + this.emit('connected', { kind: 'serial' }); + await this.readOpConfigFromDevice(); + return true; + } + async _serialWrite(u8) { + const writable = this.port.writable; + if (!writable) + throw new Error('Not connected'); + const writer = writable.getWriter(); + try { + await writer.write(u8); + } + finally { + writer.releaseLock(); + } + } + _startSerialReadLoop(signal) { + const port = this.port; + this._serialReadLoopTask = (async () => { + let reader = null; + try { + const readable = port.readable; + if (!readable) + return; + reader = readable.getReader(); + this._serialReader = reader; + while (!signal.aborted) { + const { value, done } = await reader.read(); + if (done) + break; + if (value?.length) + this._feedStreamBytes(new Uint8Array(value)); + } + } + catch (e) { + if (!signal.aborted) + console.warn('[serial] read loop error:', e); + } + finally { + try { + reader?.releaseLock?.(); + } + catch { + /* ignore */ + } + if (this._serialReader === reader) + this._serialReader = null; + this._serialReadLoopTask = null; + if (!signal.aborted) { + this._mode = 'idle'; + this._clearHardwareTestReportCapture(new Error('Disconnected'), null); + this.emit('disconnected', { kind: 'serial' }); + } + } + })(); + } + async _serialDisconnect(reason = 'user') { + try { + this._serialAbort?.abort(); + } + catch { + /* ignore */ + } + const cancelActiveReader = async () => { + const r = this._serialReader; + if (!r) + return false; + try { + await r.cancel(); + } + catch { + /* ignore */ + } + try { + r.releaseLock(); + } + catch { + /* ignore */ + } + if (this._serialReader === r) + this._serialReader = null; + return true; + }; + await cancelActiveReader(); + const portReadableLocked = this.port + ?.readable?.locked; + if (portReadableLocked && !this._serialReader) { + for (let i = 0; i < 10; i++) { + await new Promise((r) => setTimeout(r, 20)); + if (await cancelActiveReader()) + break; + } + } + try { + const task = this._serialReadLoopTask; + if (task) + await Promise.race([task, new Promise((r) => setTimeout(r, 750))]); + } + catch { + /* ignore */ + } + try { + const writable = this.port?.writable; + if (writable?.locked) { + const w = writable.getWriter(); + try { + await w.abort?.(); + } + catch { + /* ignore */ + } + try { + w.releaseLock(); + } + catch { + /* ignore */ + } + } + } + catch { + /* ignore */ + } + try { + await this.port?.close?.(); + } + catch { + /* ignore */ + } + this.port = null; + this._serialAbort = null; + this._serialReader = null; + this._serialReadLoopTask = null; + console.warn(`[serial] disconnect done reason=${reason}`); + } + async disconnect(opts = {}) { + const kind = this._transportKind === 'serial' ? 'serial' : 'ble'; + if (this._mode === 'streaming') { + try { + await this.stopStreaming(); + } + catch { + /* ignore */ + } + } + if (this._sync) { + try { + this._abortSync(new Error(opts.reason ?? 'Disconnected')); + } + catch { + /* ignore */ + } + } + this._clearHardwareTestReportCapture(new Error(opts.reason ?? 'Disconnected'), null); + if (this._transportKind === 'serial') { + try { + await this._serialDisconnect(opts.reason ?? 'user'); + } + catch { + /* ignore */ + } + } + else { + void this.writeBytes(buildMessage(ASM_COMMAND.WRITE, ASM_PROPERTY.DEVICE_DISCONNECT), { + withResponse: false, + }); + try { + if (this.rx) + await this.rx.stopNotifications?.(); + } + catch { + /* ignore */ + } + try { + if (this._onGattDisconnected && this.device) { + this.device.removeEventListener('gattserverdisconnected', this._onGattDisconnected); + } + } + catch { + /* ignore */ + } + try { + if (this.device?.gatt?.connected) + this.device.gatt.disconnect(); + } + catch { + /* ignore */ + } + } + this._mode = 'idle'; + this._transportKind = null; + this.port = null; + this._serialAbort = null; + this.tx = this.rx = null; + this.service = this.server = this.device = null; + this.emit('disconnected', { kind }); + return true; + } + // --------------------------------------------------------------------------- + // Streaming + // --------------------------------------------------------------------------- + async startStreaming() { + await this.setStreamingMode(true); + this._mode = 'streaming'; + this.emit('streaming', { on: true }); + } + async stopStreaming() { + await this.setStreamingMode(false); + this._mode = 'idle'; + this.emit('streaming', { on: false }); + } + // --------------------------------------------------------------------------- + // Logged data transfer + // --------------------------------------------------------------------------- + async transferLoggedData(opts = {}) { + const { fileHandle = null, timeoutMs = 1000, maxNack = 5, maxCrcNack = 5, onProgress = null, } = opts; + const bleOk = !!(this.rx && this.tx); + const serOk = !!this.port; + if (!bleOk && !serOk) + throw new Error('Not connected'); + if (this._mode === 'streaming') + throw new Error('Stop streaming before TransferLoggedData'); + if (this._mode === 'logged') + throw new Error('Already syncing logged data'); + let writable = null; + const chunks = []; + if (fileHandle) + writable = await fileHandle.createWritable(); + this._mode = 'logged'; + this._resetAssembler(); + this._loggedChain = Promise.resolve(); + this._syncRxCount = 0; + this._syncPayloadCount = 0; + const sync = { + receiving: true, + lastReply: 'NONE', + emptyAckCount: 0, + nackCount: 0, + nackCrcCount: 0, + maxNack, + maxCrcNack, + lastRxAt: Date.now(), + timeoutMs, + bytesWritten: 0, + resolve: null, + reject: null, + timer: null, + writable, + chunks, + onProgress: onProgress ?? null, + }; + this._sync = sync; + const donePromise = new Promise((resolve, reject) => { + sync.resolve = resolve; + sync.reject = reject; + }); + let watchdogRunning = false; + sync.timer = setInterval(async () => { + if (watchdogRunning) + return; + watchdogRunning = true; + try { + if (!this._sync?.receiving) + return; + const age = Date.now() - this._sync.lastRxAt; + if (age < this._sync.timeoutMs) + return; + try { + if (this._sync.lastReply === 'NONE') { + await this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }); + } + else { + this._clearSyncRxBuffers('timeout-nack'); + await this.writeBytes(buildMessage(ASM_COMMAND.NACK_GENERIC, ASM_PROPERTY.DATA)); + this._sync.nackCount++; + this._sync.lastReply = 'NACK'; + if (this._sync.nackCount >= this._sync.maxNack) + throw new Error('Too many NACK timeouts'); + } + this._sync.lastRxAt = Date.now(); + } + catch (e) { + this._abortSync(e instanceof Error ? e : new Error(String(e))); + } + } + finally { + watchdogRunning = false; + } + }, Math.max(250, Math.floor(timeoutMs / 2))); + try { + await this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }); + const result = await donePromise; + await (this._loggedChain ?? Promise.resolve()); + if (!fileHandle) { + const blob = new Blob(chunks.map(toArrayBuffer), { type: 'application/octet-stream' }); + return { ...result, blob }; + } + return result; + } + finally { + if (sync.timer) { + clearInterval(sync.timer); + sync.timer = null; + } + if (writable) + await writable.close(); + } + } + // --------------------------------------------------------------------------- + // Request / response helpers + // --------------------------------------------------------------------------- + async writeBytes(bytes, opts = {}) { + const u8 = bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes); + if (this._transportKind === 'serial') { + await this._serialWrite(u8); + return; + } + if (!this.tx) + throw new Error('Not connected'); + if (opts.withResponse) { + await this.tx.writeValue(toArrayBuffer(u8)); + return; + } + const txExt = this.tx; + if (txExt.writeValueWithoutResponse) { + await txExt.writeValueWithoutResponse(toArrayBuffer(u8)); + } + else { + await this.tx.writeValue(toArrayBuffer(u8)); + } + } + async _requestByCommand(command, property, payloadBytes = [], timeoutMs = 3000, acceptedCommands, acceptedProperties) { + if (this._pending) + throw new Error('A request is already pending'); + this._mode = 'command'; + this._resetAssembler(); + const req = buildMessage(command, property, payloadBytes); + const accepted = acceptedCommands ?? defaultAcceptedCommands(command); + const pendingPromise = new Promise((resolve, reject) => { + const t = setTimeout(() => { + this._pending = null; + reject(new Error('Request timeout')); + }, timeoutMs); + this._pending = { + expectedProperty: property, + acceptedCommands: accepted, + acceptedProperties, + resolve: (resp) => { + clearTimeout(t); + this._pending = null; + resolve(resp); + }, + reject: (e) => { + clearTimeout(t); + this._pending = null; + reject(e); + }, + }; + }); + await this.writeBytes(req); + return pendingPromise; + } + async readProperty(property, timeoutMs = 3000) { + return this._requestByCommand(ASM_COMMAND.READ, property, [], timeoutMs); + } + async writeProperty(property, payloadBytes = [], timeoutMs = 3000) { + return this._requestByCommand(ASM_COMMAND.WRITE, property, payloadBytes, timeoutMs); + } + async request(opcode, payloadBytes = [], timeoutMs = 3000) { + const { command, property } = parseHeader(opcode & 0xff); + const rsp = await this._requestByCommand(command, property, payloadBytes, timeoutMs); + return { payload: rsp.payload }; + } + // Convenience command methods (all protocol properties) + readStatus() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.STATUS1); + } + async readStatusParsed() { + const { payload } = await this.readStatus(); + return parseStatusPayload(payload, 'status1'); + } + readStatus2() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.STATUS2); + } + async readStatus2Parsed() { + const { payload } = await this.readStatus2(); + return parseStatusPayload(payload, 'status2'); + } + readData() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.DATA); + } + readProductionConfig() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.PRODUCTION_CONFIGURATION); + } + readOperationalConfig() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.OPERATIONAL_CONFIGURATION); + } + readTime() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.TIME); + } + async readTimeUnixSeconds() { + const { payload } = await this.readTime(); + return asmRtcBytesToUnixSeconds(payload); + } + readPendingEvents() { + return this.request(ASM_COMMAND.READ | ASM_PROPERTY.PENDING_EVENTS); + } + async readPendingEventsParsed() { + const { payload } = await this.readPendingEvents(); + return parsePendingEvents(payload); + } + async writeProductionConfig(bytes) { + const payload = normalizeBytePayload(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)); + if (!payload || payload.length < 11 || payload.length > 56) { + throw new Error('writeProductionConfig: payload length must be between 11 and 56 bytes'); + } + await this.writeProperty(ASM_PROPERTY.PRODUCTION_CONFIGURATION, payload); + } + async writeOperationalConfig(bytes) { + const payload = normalizeBytePayload(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)); + if (!payload || payload.length < 50) { + throw new Error('writeOperationalConfig: payload length must be at least 50 bytes'); + } + await this.writeProperty(ASM_PROPERTY.OPERATIONAL_CONFIGURATION, payload); + } + async writeTime(rtc7) { + const payload = normalizeBytePayload(rtc7 instanceof Uint8Array ? rtc7 : new Uint8Array(rtc7)); + if (!payload || payload.length !== 7) { + throw new Error('writeTime: payload must be exactly 7 bytes'); + } + await this.writeProperty(ASM_PROPERTY.TIME, payload); + } + async writeTimeUnixSeconds(unixSeconds) { + await this.writeTime(unixSecondsToAsmRtcBytes(unixSeconds)); + } + /** + * Enables Nordic Secure DFU service advertisement after the next disconnect. + * + * This sends ASM DFU_MODE property write (equivalent to [0x26, 0x00, 0x00]). + * It does not immediately reboot into bootloader mode. + */ + async enableDfuServiceOnNextDisconnect() { + await this.writeProperty(ASM_PROPERTY.DFU_MODE, []); + } + /** + * @deprecated Use enableDfuServiceOnNextDisconnect() for clearer semantics. + */ + async enterDfuMode() { + await this.enableDfuServiceOnNextDisconnect(); + } + /** + * Uses Nordic buttonless DFU characteristic to reboot the connected device into bootloader mode. + * + * Requirements: + * - BLE transport must be connected + * - Nordic Secure DFU service and buttonless characteristic must be present + */ + async rebootToDfuBootloader(opts = {}) { + if (this._transportKind !== 'ble' || !this.device?.gatt?.connected || !this.server) { + throw new Error('rebootToDfuBootloader: requires an active BLE connection'); + } + const waitForDisconnect = opts.waitForDisconnect ?? true; + const disconnectAfterCommand = opts.disconnectAfterCommand ?? true; + const timeoutMs = Math.max(500, Math.trunc(opts.timeoutMs ?? 8000)); + const dfuService = await this.server.getPrimaryService(NORDIC_DFU_SERVICE); + let buttonlessChar; + try { + buttonlessChar = await dfuService.getCharacteristic(NORDIC_DFU_BUTTONLESS_CHAR); + } + catch { + const hasControl = await dfuService + .getCharacteristic(NORDIC_DFU_CONTROL_CHAR) + .then(() => true) + .catch(() => false); + const hasPacket = await dfuService + .getCharacteristic(NORDIC_DFU_PACKET_CHAR) + .then(() => true) + .catch(() => false); + if (hasControl && hasPacket) { + throw new Error('Device already appears to be in DFU bootloader mode'); + } + throw new Error('Nordic buttonless DFU characteristic not found'); + } + if (buttonlessChar.properties.notify || buttonlessChar.properties.indicate) { + try { + await buttonlessChar.startNotifications(); + } + catch { + /* some stacks may still allow write without notifications */ + } + } + const device = this.device; + let disconnectPromise = null; + if (waitForDisconnect) { + let offDisconnect = null; + disconnectPromise = new Promise((resolve, reject) => { + const timer = setTimeout(() => { + if (offDisconnect) + offDisconnect(); + reject(new Error(`Timed out waiting for reboot/disconnect (${timeoutMs} ms)`)); + }, timeoutMs); + const onDisconnect = () => { + clearTimeout(timer); + if (offDisconnect) + offDisconnect(); + resolve(); + }; + device.addEventListener('gattserverdisconnected', onDisconnect, { once: true }); + offDisconnect = () => { + try { + device.removeEventListener('gattserverdisconnected', onDisconnect); + } + catch { + /* ignore */ + } + }; + }); + } + const cmd = new Uint8Array([0x01]); + await buttonlessChar.writeValue(cmd); + if (disconnectAfterCommand && device.gatt?.connected) { + try { + device.gatt.disconnect(); + } + catch { + /* ignore */ + } + } + if (waitForDisconnect) { + if (!device.gatt?.connected) + return; + if (disconnectPromise) + await disconnectPromise; + } + } + async runTestMode(testPayload) { + const payload = normalizeBytePayload(testPayload instanceof Uint8Array ? testPayload : new Uint8Array(testPayload)); + if (!payload || payload.length < 2) { + throw new Error('runTestMode: payload must contain at least [testId, hwMajor]'); + } + await this.writeProperty(ASM_PROPERTY.TEST_MODE, payload); + } + async runHardwareTest(testId, hwMajor, hwMinor = 0, hwInternal = 0) { + const payload = new Uint8Array([ + testId & 0xff, + hwMajor & 0xff, + hwMinor & 0xff, + hwInternal & 0xff, + (hwInternal >> 8) & 0xff, + ]); + await this.runTestMode(payload); + } + _clearHardwareTestReportCapture(error, text) { + const cap = this._testReportCapture; + if (!cap) + return; + this._testReportCapture = null; + if (cap.timeout) { + clearTimeout(cap.timeout); + cap.timeout = null; + } + if (error) { + cap.reject?.(error); + return; + } + cap.resolve?.(text ?? ''); + } + _captureHardwareTestReportChunk(chunk) { + const cap = this._testReportCapture; + if (!cap || !chunk?.length) + return; + const decoded = this._testReportDecoder.decode(chunk, { stream: true }); + if (!decoded) + return; + cap.aggregateText += decoded; + if (!cap.started) { + const firstMarker = cap.aggregateText.indexOf(cap.marker); + if (firstMarker >= 0) { + cap.started = true; + if (firstMarker > 0) { + cap.aggregateText = cap.aggregateText.slice(firstMarker); + cap.emittedChars = 0; + } + } + else { + // Some firmware builds vary the star count around TEST START. Fall back + // to a fuzzy marker so we can still stream the report to the UI. + const hint = VerisenseBleDevice.TEST_REPORT_MARKER_HINT; + const hintIdx = cap.aggregateText.indexOf(hint); + if (hintIdx < 0) { + const keep = Math.max(cap.marker.length * 2, 2048); + if (cap.aggregateText.length > keep) { + cap.aggregateText = cap.aggregateText.slice(-keep); + } + return; + } + const bannerStart = cap.aggregateText.lastIndexOf('//', hintIdx); + let lineStart = bannerStart >= 0 ? bannerStart : cap.aggregateText.lastIndexOf('\n', hintIdx); + lineStart = lineStart >= 0 ? lineStart + (bannerStart >= 0 ? 0 : 1) : 0; + cap.started = true; + if (lineStart > 0) { + cap.aggregateText = cap.aggregateText.slice(lineStart); + cap.emittedChars = 0; + } + } + } + const nextChunk = cap.aggregateText.slice(cap.emittedChars); + if (nextChunk) { + cap.onChunk?.(nextChunk, cap.aggregateText); + this.emit('hardwareTestReportChunk', { + chunkText: nextChunk, + aggregateText: cap.aggregateText, + }); + cap.emittedChars = cap.aggregateText.length; + } + const endMarker = cap.aggregateText.indexOf(cap.marker, cap.marker.length); + let full = null; + if (endMarker >= 0) { + full = cap.aggregateText.slice(0, endMarker + cap.marker.length); + } + else { + const hint = VerisenseBleDevice.TEST_REPORT_MARKER_HINT; + const firstHint = cap.aggregateText.indexOf(hint); + if (firstHint >= 0) { + const secondHint = cap.aggregateText.indexOf(hint, firstHint + hint.length); + if (secondHint >= 0) { + const endOfSecondLine = cap.aggregateText.indexOf('\n', secondHint); + full = + endOfSecondLine >= 0 + ? cap.aggregateText.slice(0, endOfSecondLine + 1) + : cap.aggregateText; + } + } + } + if (full !== null) { + this.emit('hardwareTestReportComplete', { text: full }); + this._clearHardwareTestReportCapture(null, full); + return; + } + if (cap.aggregateText.length > cap.maxChars) { + cap.aggregateText = cap.aggregateText.slice(-cap.maxChars); + cap.emittedChars = Math.min(cap.emittedChars, cap.aggregateText.length); + } + } + /** + * Runs TEST_REPORT (0xFE) and captures the rolling text report. + * + * The firmware ACKs the command first, then emits plain-text lines over the link. + * Capture starts on the first delimiter and completes on the second delimiter. + */ + async runHardwareTestReport(hwMajor, hwMinor = 0, hwInternal = 0, opts = {}) { + const timeoutMs = Math.max(1000, Math.trunc(opts.timeoutMs ?? 120000)); + const marker = typeof opts.marker === 'string' && opts.marker.length > 0 + ? opts.marker + : VerisenseBleDevice.TEST_REPORT_DELIMITER; + const maxChars = Math.max(4096, Math.trunc(opts.maxChars ?? 2 * 1024 * 1024)); + this._clearHardwareTestReportCapture(new Error('Hardware test report capture was replaced'), null); + this._testReportDecoder.decode(); + const reportPromise = new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + this._clearHardwareTestReportCapture(new Error(`Hardware test report timeout after ${timeoutMs} ms`), null); + }, timeoutMs); + this._testReportCapture = { + marker, + maxChars, + started: false, + aggregateText: '', + emittedChars: 0, + resolve, + reject, + onChunk: opts.onChunk ?? null, + timeout, + }; + }); + try { + const factoryTestType = Math.max(0, Math.min(255, Math.trunc(opts.factoryTestType ?? 0))); + const payload = new Uint8Array([ + VerisenseBleDevice.TEST_REPORT_MODE_ID & 0xff, + hwMajor & 0xff, + hwMinor & 0xff, + hwInternal & 0xff, + (hwInternal >> 8) & 0xff, + factoryTestType, + ]); + await this.runTestMode(payload); + } + catch (error) { + this._clearHardwareTestReportCapture(error, null); + throw error; + } + return reportPromise; + } + _buildDebugPayload(debugId, args = []) { + const argBytes = args instanceof Uint8Array ? args : new Uint8Array(args); + const payload = new Uint8Array(1 + argBytes.length); + payload[0] = debugId & 0xff; + payload.set(argBytes, 1); + return payload; + } + _debugIndexArgs(index) { + const i = Math.max(0, Math.min(0xff, Math.trunc(index))); + return i > 0 ? [i] : []; + } + _waitForDebugResponse(timeoutMs = 3000) { + return new Promise((resolve, reject) => { + let done = false; + let off = null; + let timer = null; + const cleanup = () => { + if (off) { + try { + off(); + } + catch { + /* ignore */ + } + off = null; + } + if (timer) { + clearTimeout(timer); + timer = null; + } + }; + off = this.on('commandPayload', (evt) => { + if (done || !evt) + return; + if (evt.command !== ASM_COMMAND.RESPONSE || evt.property !== ASM_PROPERTY.DEBUG_COMMAND) + return; + done = true; + cleanup(); + resolve({ payload: evt.payload ?? new Uint8Array(0) }); + }); + timer = setTimeout(() => { + if (done) + return; + done = true; + cleanup(); + reject(new Error('Debug response timeout')); + }, timeoutMs); + }); + } + async readDebugCommand(debugId, args = [], timeoutMs = 3000) { + const payload = this._buildDebugPayload(debugId, args); + const debugAcceptedProps = new Set([ASM_PROPERTY.DEBUG_COMMAND, 0]); + // Python flow: WRITE DEBUG command, optional empty/transient frame, then RESPONSE DEBUG payload. + const responsePromise = this._waitForDebugResponse(timeoutMs); + try { + await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, payload, timeoutMs, undefined, debugAcceptedProps); + return await responsePromise; + } + catch (e) { + void responsePromise.catch(() => { }); + const msg = e instanceof Error ? e.message : String(e); + const isDebugNack = /NACK command=0x(?:50|60|70) property=0x9/i.test(msg); + const isDebugAckPropertyZero = /Unexpected response property 0x0 \(expected 0x9\)/i.test(msg); + if (!isDebugNack && !isDebugAckPropertyZero) + throw e; + const rsp = await this._requestByCommand(ASM_COMMAND.READ, ASM_PROPERTY.DEBUG_COMMAND, payload, timeoutMs); + return { payload: rsp.payload }; + } + } + async sendDebugCommand(debugId, args = [], timeoutMs = 3000) { + const rsp = await this._requestByCommand(ASM_COMMAND.WRITE, ASM_PROPERTY.DEBUG_COMMAND, this._buildDebugPayload(debugId, args), timeoutMs); + return { payload: rsp.payload }; + } + async readFlashLookupTable(_index = 0, timeoutMs = 12000) { + return this.readDebugCommand(DEBUG_COMMAND_ID.FLASH_LOOKUP_TABLE_READ, [], timeoutMs); + } + async readRealWorldClockScheduler(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.RWC_SCHEDULER_READ); + } + async readRealWorldClockSchedulerParsed(index = 0) { + const { payload } = await this.readRealWorldClockScheduler(index); + return parseSchedulerDebugPayload(payload); + } + async loadTestLookupTable(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.LOAD_TEST_LOOKUP_TABLE); + } + async checkPayloadCrcErrors(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.CHECK_PAYLOAD_CRC_ERRORS); + } + async checkPayloadCrcErrorsParsed(index = 0) { + const { payload } = await this.checkPayloadCrcErrors(index); + return parsePayloadCrcErrorBankIndexes(payload); + } + async readEventLog(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_EVENT_LOG); + } + async readEventLogParsed(index = 0) { + const { payload } = await this.readEventLog(index); + return parseEventLogPayload(payload); + } + async readRecordBufferDetails(_index = 0) { + return this.readDebugCommand(DEBUG_COMMAND_ID.READ_RECORD_BUFFER_DETAILS); + } + async readRecordBufferDetailsParsed(index = 0) { + const { payload } = await this.readRecordBufferDetails(index); + return parseRecordBufferDetailsPayload(payload); + } + async eraseOperationalConfig() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_OPERATIONAL_CONFIG); + } + async eraseProductionConfig() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_PRODUCTION_CONFIG); + } + async clearPendingEvents() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.CLEAR_PENDING_EVENTS); + } + async eraseAllLoggedData(timeoutMs = 12000) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.ERASE_FLASH_AND_LOOKUP_TABLE, [], timeoutMs); + } + async testDataTransferLoop(loopCount) { + const clamped = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); + await this.sendDebugCommand(DEBUG_COMMAND_ID.TEST_DATA_TRANSFER_LOOP, [ + clamped & 0xff, + (clamped >> 8) & 0xff, + ]); + } + async ledTest(ledIndex) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.LED_TEST, [ledIndex & 0xff]); + } + async max86xxxLedTest(start) { + await this.sendDebugCommand(DEBUG_COMMAND_ID.MAX86XXX_LED_TEST, [start ? 0x01 : 0x00]); + } + async startPowerProfilerTest() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.POWER_PROFILER_TEST); + } + async requestSystemReset() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.SYSTEM_RESET); + } + async startIcPowerConsumptionTest(loopCount, stageIntervalMs) { + const clampedLoopCount = Math.max(0, Math.min(0xffff, Math.trunc(loopCount))); + const clampedStageInterval = Math.max(0, Math.min(0xffff, Math.trunc(stageIntervalMs))); + await this.sendDebugCommand(DEBUG_COMMAND_ID.IC_POWER_CONSUMPTION_TEST, [ + clampedLoopCount & 0xff, + (clampedLoopCount >> 8) & 0xff, + clampedStageInterval & 0xff, + (clampedStageInterval >> 8) & 0xff, + ]); + } + async deleteAllBonds() { + await this.sendDebugCommand(DEBUG_COMMAND_ID.DELETE_ALL_BONDS); + } + async setStreamingMode(enabled) { + await this.writeProperty(ASM_PROPERTY.STREAM_MODE, [enabled ? STREAM_MODE.ENABLE : STREAM_MODE.DISABLE], 3000); + } + async disconnectRequest() { + try { + return await this.request(ASM_COMMAND.WRITE | ASM_PROPERTY.DEVICE_DISCONNECT, [], 1500); + } + catch (e) { + const msg = e instanceof Error ? e.message : String(e); + if (/timeout/i.test(msg)) + return { payload: new Uint8Array(0) }; + throw e; + } + } + // --------------------------------------------------------------------------- + // Operational config helpers + // --------------------------------------------------------------------------- + async getOpConfig() { + if (this.operationalConfig?.length) + return new Uint8Array(this.operationalConfig); + throw new Error('Operational config not cached. Call readOpConfigFromDevice() first.'); + } + async readProductionConfigFromDevice() { + const rsp = await this.readProductionConfig(); + const prod = normalizeOperationalConfig(rsp?.payload); + if (!prod?.length) + throw new Error('Invalid production config returned from device'); + this.productionConfig = prod; + const parsed = parseProductionConfigPayload(prod); + this.emit('productionConfig', parsed); + return parsed; + } + async readOpConfigFromDevice() { + const rsp = await this.readOperationalConfig(); + const op = normalizeOperationalConfig(rsp?.payload); + if (!op?.length || op[0] !== 0x5a) + throw new Error('Invalid operational config returned from device'); + this.operationalConfig = op; + try { + this.accel1.applyOperationalConfig(op); + this.gyroAccel2.applyOperationalConfig(op); + this.adc.applyOperationalConfig(op); + this.ppg.applyOperationalConfig(op); + } + catch (e) { + console.warn('[opcfg] apply after read failed:', e); + } + this.emit('opConfig', { op }); + return new Uint8Array(op); + } + async writeOpConfig(opConfigBytes) { + const op = normalizeOperationalConfig(opConfigBytes instanceof Uint8Array ? opConfigBytes : new Uint8Array(opConfigBytes)); + if (!op || op.length < 4) + throw new Error('writeOpConfig: invalid opconfig'); + if (op[0] !== 0x5a) + throw new Error('writeOpConfig: opconfig must start with 0x5A'); + await this.writeOperationalConfig(op); + await this.readOpConfigFromDevice(); + } + getSensor(name) { + const k = String(name ?? '').toLowerCase(); + if (!k) + return null; + if (k.includes('lis2dw12') || k.includes('accel1') || k === '2') + return this.accel1; + if (k.includes('lsm6') || k.includes('gyro') || k.includes('accel2') || k === '3') + return this.gyroAccel2; + if (k.includes('vbatt') || k.includes('batt') || k.includes('battery') || k.includes('adc')) + return this.adc; + if (k.includes('gsr') || k === '1') + return this.adc; + if (k.includes('ppg') || k === '4') + return this.ppg; + return null; + } + // --------------------------------------------------------------------------- + // RX assembly and dispatch + // --------------------------------------------------------------------------- + _abortSync(err) { + const s = this._sync; + if (!s) + return; + s.receiving = false; + if (s.timer) + clearInterval(s.timer); + this._sync = null; + this._mode = 'idle'; + s.reject(err); + } + _finishSync() { + const s = this._sync; + if (!s) + return; + s.receiving = false; + if (s.timer) + clearInterval(s.timer); + const bytesWritten = s.bytesWritten; + this._sync = null; + this._mode = 'idle'; + s.resolve({ ok: true, bytesWritten }); + } + async _handleLoggedPayload(payloadU8) { + this._syncPayloadCount++; + const s = this._sync; + if (!s) + return; + const computed = computeCrcLikeCSharp(payloadU8); + const original = getOriginalCrcLE(payloadU8); + const crcOk = computed === original; + const payloadIndex = u16le_at(payloadU8, 0); + if (!crcOk) { + s.lastReply = 'NACK'; + s.nackCrcCount++; + this._clearSyncRxBuffers('crc-nack'); + await this.writeBytes(buildMessage(ASM_COMMAND.NACK_GENERIC, ASM_PROPERTY.DATA)); + if (s.nackCrcCount >= s.maxCrcNack) + this._abortSync(new Error('Too many CRC failures')); + s.onProgress?.({ payloadIndex, bytesWritten: s.bytesWritten, crcOk: false }); + return; + } + if (s.writable) { + await s.writable.write(toArrayBuffer(payloadU8)); + } + else { + s.chunks.push(new Uint8Array(payloadU8)); + } + s.bytesWritten += payloadU8.length; + s.emptyAckCount = 0; + s.lastReply = 'ACK'; + s.nackCount = 0; + s.nackCrcCount = 0; + await this.writeBytes(buildMessage(ASM_COMMAND.ACK_NEXT_STAGE, ASM_PROPERTY.DATA), { + withResponse: true, + }); + s.onProgress?.({ payloadIndex, bytesWritten: s.bytesWritten, crcOk: true }); + } + _resetAssembler() { + this._rxStreamBuf = new Uint8Array(0); + } + _appendStreamBuf(chunk) { + const merged = new Uint8Array(this._rxStreamBuf.length + chunk.length); + merged.set(this._rxStreamBuf, 0); + merged.set(chunk, this._rxStreamBuf.length); + this._rxStreamBuf = merged; + } + _clearSyncRxBuffers(reason = '') { + this._rxStreamBuf = new Uint8Array(0); + this._resetAssembler(); + if (this.debugSync) + console.warn('[sync] cleared RX buffers', { reason }); + } + _isPlausibleHeaderByte(hdr) { + const command = hdr & 0xf0; + const property = hdr & 0x0f; + const validCommand = command === ASM_COMMAND.READ || + command === ASM_COMMAND.WRITE || + command === ASM_COMMAND.RESPONSE || + command === ASM_COMMAND.ACK || + command === ASM_COMMAND.NACK_BAD_HEADER_COMMAND || + command === ASM_COMMAND.NACK_BAD_HEADER_PROPERTY || + command === ASM_COMMAND.NACK_GENERIC || + command === ASM_COMMAND.ACK_NEXT_STAGE; + if (!validCommand) + return false; + // Known properties are 0x01..0x0C; keep 0x00 permissive for transient frames. + return property === 0 || (property >= ASM_PROPERTY.STATUS1 && property <= ASM_PROPERTY.STATUS2); + } + _isPlausibleFrameStart(hdr, len) { + if (!this._isPlausibleHeaderByte(hdr)) + return false; + // Debug responses may carry large blobs (for example flash lookup tables), + // while normal properties and streaming/logged payloads should stay bounded. + const isPendingDebugCommand = this._mode === 'command' && this._pending?.expectedProperty === ASM_PROPERTY.DEBUG_COMMAND; + const maxLen = isPendingDebugCommand + ? VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN + : VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN; + return len <= maxLen; + } + _resolvePendingCommand(msg) { + const pending = this._pending; + if (pending) { + // Some firmware/transport paths emit a transient empty 0x00/0x00 frame + // immediately before the real command response; ignore and keep waiting. + if (msg.command === 0 && + msg.property === 0 && + msg.payload.length === 0) { + return; + } + const err = validatePendingResponse(pending, msg); + if (err) { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; + pending.reject(err); + } + else { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; + pending.resolve(toCommandResponse(msg)); + } + } + else { + this._pending = null; + if (this._mode === 'command') + this._mode = 'idle'; + } + this.emit('commandPayload', { + header: msg.header, + command: msg.command, + property: msg.property, + payload: msg.payload, + }); + } + _feedStreamBytes(chunk) { + if (this._mode === 'logged' && this._sync) + this._sync.lastRxAt = Date.now(); + if (this._testReportCapture) { + this._captureHardwareTestReportChunk(chunk); + } + this._appendStreamBuf(chunk); + for (;;) { + if (this._rxStreamBuf.length < 3) + return; + const hdr = this._rxStreamBuf[0]; + const len = (this._rxStreamBuf[1] | (this._rxStreamBuf[2] << 8)) >>> 0; + if (!this._isPlausibleFrameStart(hdr, len)) { + if (this.debugSync) { + console.warn('[rx] resync: dropping byte', { + dropped: hdr, + nextLen: len, + bufLen: this._rxStreamBuf.length, + }); + } + this._rxStreamBuf = this._rxStreamBuf.slice(1); + continue; + } + if (len === 0) { + const header = hdr & 0xff; + const decodedHeader = parseHeader(header); + const msg = { + header, + command: decodedHeader.command, + property: decodedHeader.property, + payloadLength: 0, + payload: new Uint8Array(0), + }; + this._rxStreamBuf = this._rxStreamBuf.slice(3); + if (this._mode === 'logged' && hdr === buildHeader(ASM_COMMAND.ACK, ASM_PROPERTY.DATA)) { + const s = this._sync; + if (s && s.bytesWritten === 0 && s.emptyAckCount < 6) { + s.emptyAckCount++; + if (this.debugSync) + console.log('[sync] empty ACK before payload; requesting next DATA chunk.'); + void this.writeBytes(buildMessage(ASM_COMMAND.READ, ASM_PROPERTY.DATA), { + withResponse: true, + }).catch((e) => this._abortSync(e)); + continue; + } + if (this.debugSync) + console.log('[sync] EOS received. Finishing.'); + this._finishSync(); + continue; + } + if (this._mode === 'command') { + this._resolvePendingCommand(msg); + } + continue; + } + if (this._rxStreamBuf.length < 3 + len) + return; + const payload = this._rxStreamBuf.slice(3, 3 + len); + this._rxStreamBuf = this._rxStreamBuf.slice(3 + len); + const header = hdr & 0xff; + const decodedHeader = parseHeader(header); + const msg = { + header, + command: decodedHeader.command, + property: decodedHeader.property, + payloadLength: payload.length, + payload, + }; + if (this._mode === 'logged') { + this._loggedChain = (this._loggedChain ?? Promise.resolve()) + .then(() => this._handleLoggedPayload(msg.payload)) + .catch((e) => this._abortSync(e)); + continue; + } + if (this._mode === 'streaming') { + this._handleStreamingPayload(msg.payload); + continue; + } + this._resolvePendingCommand(msg); + } + } + _handleStreamingPayload(payload) { + if (payload.length < 4) + return; + let body = payload; + let crcOk = null; + if (this.stripStreamCrc && payload.length >= 6) { + const claimed = (payload[payload.length - 2] | (payload[payload.length - 1] << 8)) >>> 0; + const dataNoCrc = payload.slice(0, payload.length - 2); + if (this.verifyStreamCrc) { + const calc = crc16_ccitt_false(dataNoCrc); + crcOk = calc === claimed; + } + body = dataNoCrc; + if (this.verifyStreamCrc && crcOk === false) { + this.emit('streamCrcFail', { claimed, body: dataNoCrc }); + } + } + const sensorId = body[0]; + const tick = u24le(body, 1); + const sensorPayload = body.slice(4); + const sensor = this.sensors[sensorId]; + const systemTsLastSampleMillis = nowMillis(); + let tsInfo = null; + if (sensor) + tsInfo = sensor.getTimestampUnwrappedMillis(tick, systemTsLastSampleMillis); + let decodedSamples = null; + if (sensor) + decodedSamples = sensor.parsePayload(sensorPayload); + let samplesWithTime = decodedSamples; + if (sensor && Array.isArray(decodedSamples) && decodedSamples.length > 0 && tsInfo) { + const num = decodedSamples.length; + samplesWithTime = decodedSamples.map((s, i) => ({ + ...s, + timestamps: sensor.extrapolateSampleTimes({ + numSamples: num, + i, + samplingRateHz: sensor.samplingRateHz, + tsLastSampleMillis: tsInfo.shimmerMillis, + systemTsLastSampleMillis, + systemOffsetFirstTime: tsInfo.systemOffsetFirstTime, + }), + })); + } + const packet = { + sensorId, + tick_u24: tick, + decoded: samplesWithTime, + rawPayload: sensorPayload, + crcOk, + }; + this.emit('streamPacket', packet); + this.emit('data', packet); + } + } + VerisenseBleDevice.MAX_FRAME_PAYLOAD_LEN = 4096; + VerisenseBleDevice.MAX_DEBUG_FRAME_PAYLOAD_LEN = 0xffff; + VerisenseBleDevice.TEST_REPORT_MODE_ID = 0xfe; + VerisenseBleDevice.TEST_REPORT_DELIMITER = '//**************************** TEST START ************************************\r\n'; + VerisenseBleDevice.TEST_REPORT_MARKER_HINT = 'TEST START'; + // Static NUS UUIDs + VerisenseBleDevice.NUS_SERVICE = NUS_SERVICE; + VerisenseBleDevice.NUS_TX = NUS_TX; + VerisenseBleDevice.NUS_RX = NUS_RX; + VerisenseBleDevice.NORDIC_DFU_SERVICE = NORDIC_DFU_SERVICE; + VerisenseBleDevice.NORDIC_DFU_BUTTONLESS_CHAR = NORDIC_DFU_BUTTONLESS_CHAR; + + exports.ASM_COMMAND = ASM_COMMAND; + exports.ASM_PROPERTY = ASM_PROPERTY; + exports.BaseShimmerClient = BaseShimmerClient; + exports.CHANNEL_FORMATS = CHANNEL_FORMATS; + exports.DEBUG_COMMAND_ID = DEBUG_COMMAND_ID; + exports.FACTORY_TEST = FACTORY_TEST; + exports.GSR_NAME = GSR_NAME; + exports.NORDIC_DFU_BUTTONLESS_CHAR = NORDIC_DFU_BUTTONLESS_CHAR; + exports.NORDIC_DFU_CONTROL_CHAR = NORDIC_DFU_CONTROL_CHAR; + exports.NORDIC_DFU_PACKET_CHAR = NORDIC_DFU_PACKET_CHAR; + exports.NORDIC_DFU_SERVICE = NORDIC_DFU_SERVICE; + exports.NUS_RX = NUS_RX; + exports.NUS_SERVICE = NUS_SERVICE; + exports.NUS_TX = NUS_TX; + exports.OPCODES = OPCODES; + exports.OP_IDX = OP_IDX; + exports.ObjectCluster = ObjectCluster; + exports.SHIMMER3R_DEFAULTS = SHIMMER3R_DEFAULTS; + exports.STREAM_MODE = STREAM_MODE; + exports.SensorADC = SensorADC; + exports.SensorBase = SensorBase; + exports.SensorBitmapShimmer3 = SensorBitmapShimmer3; + exports.SensorLIS2DW12 = SensorLIS2DW12; + exports.SensorLSM6DS3 = SensorLSM6DS3; + exports.SensorPPG = SensorPPG; + exports.Shimmer3RClient = Shimmer3RClient; + exports.TEST_MODE_ID = TEST_MODE_ID; + exports.TIMESTAMP_FIELD = TIMESTAMP_FIELD; + exports.VerisenseBleDevice = VerisenseBleDevice; + exports.applyDuplicateSuffix = applyDuplicateSuffix; + exports.asmRtcBytesToUnixSeconds = asmRtcBytesToUnixSeconds; + exports.asmRtcMinutesBytesToUnixSeconds = asmRtcMinutesBytesToUnixSeconds; + exports.buildHeader = buildHeader; + exports.buildMessage = buildMessage; + exports.buildParsedCsvFileName = buildParsedCsvFileName; + exports.buildProductionConfigPayload = buildProductionConfigPayload; + exports.buildUploadBinaryFileName = buildUploadBinaryFileName; + exports.calibrateGsrDataToResistanceFromAmplifierEq = calibrateGsrDataToResistanceFromAmplifierEq; + exports.calibrateShimmer3RAdcChannel = calibrateShimmer3RAdcChannel; + exports.calibrateU12AdcValue = calibrateU12AdcValue; + exports.computeVerisensePairingPin = computeVerisensePairingPin; + exports.crc16_ccitt_false = crc16_ccitt_false; + exports.evaluateParsedFileSplit = evaluateParsedFileSplit; + exports.getFirstPayloadIndex = getFirstPayloadIndex; + exports.getOversamplingRatioADS1292R = getOversamplingRatioADS1292R; + exports.isAckCommand = isAckCommand; + exports.isNackCommand = isNackCommand; + exports.nextAvailableDuplicateFileName = nextAvailableDuplicateFileName; + exports.normalizeBytePayload = normalizeBytePayload; + exports.normalizeOperationalConfig = normalizeOperationalConfig; + exports.nudgeGsrResistance = nudgeGsrResistance; + exports.parseEventLogPayload = parseEventLogPayload; + exports.parseHeader = parseHeader; + exports.parseLookupTablePayload = parseLookupTablePayload; + exports.parseMessage = parseMessage; + exports.parsePayloadCrcErrorBankIndexes = parsePayloadCrcErrorBankIndexes; + exports.parsePendingEvents = parsePendingEvents; + exports.parseProductionConfigPayload = parseProductionConfigPayload; + exports.parseProductionConfigPayloadFull = parseProductionConfigPayloadFull; + exports.parseRecordBufferDetailsPayload = parseRecordBufferDetailsPayload; + exports.parseSchedulerDebugPayload = parseSchedulerDebugPayload; + exports.parseStatusPayload = parseStatusPayload; + exports.unixSecondsToAsmRtcBytes = unixSecondsToAsmRtcBytes; + +})); +//# sourceMappingURL=shimmer-web-sdk.umd.js.map diff --git a/Verisense/vendor/shimmer-web-sdk.umd.js.map b/Verisense/vendor/shimmer-web-sdk.umd.js.map new file mode 100644 index 0000000..be81e78 --- /dev/null +++ b/Verisense/vendor/shimmer-web-sdk.umd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"shimmer-web-sdk.umd.js","sources":["../src/core/ObjectCluster.ts","../src/core/BaseShimmerClient.ts","../src/devices/shimmer3r/constants.ts","../src/devices/shimmer3r/SensorBitmap.ts","../src/devices/shimmer3r/channelFormats.ts","../src/devices/shimmer3r/calibration.ts","../src/devices/shimmer3r/protocol.ts","../src/core/arrayBuffer.ts","../src/devices/shimmer3r/Shimmer3RClient.ts","../src/devices/verisense/constants.ts","../src/devices/verisense/protocolUtils.ts","../src/devices/verisense/protocolMessage.ts","../src/devices/verisense/protocolDataFlow.ts","../src/devices/verisense/sensors/SensorBase.ts","../src/devices/verisense/sensors/SensorADC.ts","../src/devices/verisense/sensors/SensorLIS2DW12.ts","../src/devices/verisense/sensors/SensorLSM6DS3.ts","../src/devices/verisense/sensors/SensorPPG.ts","../src/devices/verisense/requestValidation.ts","../src/devices/verisense/VerisenseClient.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["u16le","u24le"],"mappings":"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"} \ No newline at end of file diff --git a/VerisenseCapture/assets/verisense-icon.png b/VerisenseCapture/assets/verisense-icon.png deleted file mode 100644 index 837407e57e35a6bc59aea464f11e6b692e28f5da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8138 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%0Axtf3qM!Bd>b`Vu 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 - - - - - Verisense Capture - - - - - -
-
-
-

Verisense Capture

-
Full-feature Verisense communication demo.
-
-
- - Verisense logo - -
-
- -
-
-

Connection

-
- - - - -
-
- Transport: - none - idle -
-
- -
-

Current Status

-
-
Device Name
-
-
-
Unique ID
-
-
-
HW
-
-
-
FW
-
-
-
Battery
-
-
-
Flash
-
-
-
Flash Banks
-
-
-
ATT MTU
-
-
-
Conn Interval
-
-
-
PHY
-
-
-
-
-
- -
-
-
- - - - - - - - -
- -
-
-

Status Reads

-
- - -
-
- -
-

Timing

-
- - - -
-
- - -
-
- -
-

Danger Zone

-
- - -
-
-
- -
-
-

Logged Data Transfer

-
- - Saves to file picker destination. -
-
- -
-

Advanced

-
- - - - -
-
No lookup data loaded.
-
- -
-

Flash Lookup Entries

-
- - - - - - - - - - - - - - - -
BankStatusStatus CodePayload IndexEEPROM Pending
- Run Read Flash Lookup Table to populate. -
-
-
-
- -
-
-

Read/Write

-
- - - -
-
- -
-

Production Fields

-
- - - -
- -
- - - -
- -
- - - -
- -
- - - -
-
-
- -
-
-

Read/Write

-
- - - -
-
- -
-

Sensor Enables

-
- - - - - - - - - - - -
-
- -
-

Notes

-
- Sensor enable bits are edited with dedicated checkboxes above. - Other operational settings are available in the grouped editor - below. -
-
- -
-

All Operational Config Options

-
- Firmware-aligned options from ASM_Config_Operational.py with - GUI-friendly labels and descriptions. -
-
-
- -
-

Operational Config Bytes

-
- Live preview updates as GUI values change. Paste bytes and click - Apply Bytes To GUI to decode them into the controls. -
- -
- - - Connect and read op config to begin. -
-
-
- -
-
-

Streaming Control

-
- - - -
-
-
Accel Packets
-
0
-
ADC/GSR Packets
-
0
-
Last Sensor ID
-
-
-
-
-
-

Accel Plot

-
- -
- -
-
-

GSR Plot

-
- -
- -
-
- -
-
-

DFU Flow

-
-
-
- Step 1 - Enable DFU Service - - Nordic DFU Service: - โ€” not connected โ€” - -
-

- Use this once to enable Nordic DFU service advertisement - after the next disconnect. This does not reboot the device - immediately. -

-
- - -
-
- -
-
- Step 2 - Reboot To DFU Bootloader Mode -
-

- After reconnecting with Nordic DFU service active, use the - buttonless DFU command to reboot directly into bootloader - mode. -

-
- -
-
- -
-
- Step 3 - Perform Firmware Update -
-

- Select a firmware .zip package, then click - Begin Update. A browser device picker will - open and the DFU library will connect to the bootloader and - flash the firmware. -

-
- ⚠︎ A device is currently connected — - disconnect from it first before using the DFU Update Tool. -
-
-
- - - - - -
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-

Event Log Reader

-
- -
-
- No event log data loaded. -
-
-
-

Event Log Entries

-
- - - - - - - - - - - - - - - -
#Event IDEvent NameTimestampBattery (mV)
- Run Read Event Log to populate. -
-
-
-
- -
-
-

Test Report

-

- Runs TEST_REPORT (0xFE) on the device. The - device sends a rolling text report delimited by the TEST START - banner. PASS and FAIL results are highlighted. -

-
- - -
- HW revision unavailable. Read production config first. -
-
- -
- Hardware Test Report - -
-
-
-
- -
-

Hardware Test (deprecated)

-
- -
-
- -
-
- -
-

Advanced

-
- -
-
- -
- - - -
-
-
- -
- - - -
-
-
-
-
- -
-

Log

-
- - -
-

-        
-
-
- - - - - - - - - - - diff --git a/sync-local-sdk.ps1 b/sync-local-sdk.ps1 index 2f3fbcc..87d234b 100644 --- a/sync-local-sdk.ps1 +++ b/sync-local-sdk.ps1 @@ -5,7 +5,10 @@ param( $ErrorActionPreference = "Stop" $repoRoot = Resolve-Path (Split-Path -Parent $MyInvocation.MyCommand.Path) -$vendorDir = Join-Path $repoRoot "shimmer-extension\vendor" +$vendorTargets = @( + Join-Path $repoRoot "shimmer-extension\vendor", + Join-Path $repoRoot "Verisense\vendor" +) $sdkSourceConfigPath = Join-Path $repoRoot "sdk-source.json" if (-not (Test-Path $sdkSourceConfigPath)) { @@ -23,8 +26,10 @@ if ($sourceMode -notin @("local-repo", "local-version", "local-latest")) { throw "Unsupported sourceMode '$sourceMode' in sdk-source.json. Supported: local-repo, local-version, local-latest" } -if (-not (Test-Path $vendorDir)) { - throw "Vendor folder not found: $vendorDir" +foreach ($vendorDir in $vendorTargets) { + if (-not (Test-Path $vendorDir)) { + New-Item -ItemType Directory -Path $vendorDir -Force | Out-Null + } } $files = @( @@ -46,13 +51,16 @@ if (-not (Test-Path $distDir)) { foreach ($name in $files) { $src = Join-Path $distDir $name - $dst = Join-Path $vendorDir $name if (-not (Test-Path $src)) { throw "Missing SDK artifact: $src" } - Copy-Item -Path $src -Destination $dst -Force + foreach ($vendorDir in $vendorTargets) { + $dst = Join-Path $vendorDir $name + Copy-Item -Path $src -Destination $dst -Force + } } -Write-Host "Synced SDK artifacts from '$distDir' to '$vendorDir' (sourceMode=$sourceMode)." \ No newline at end of file +$targetList = $vendorTargets -join ", " +Write-Host "Synced SDK artifacts from '$distDir' to [$targetList] (sourceMode=$sourceMode)." \ No newline at end of file diff --git a/update-local-sdk.ps1 b/update-local-sdk.ps1 index c3ccb5d..4cc143c 100644 --- a/update-local-sdk.ps1 +++ b/update-local-sdk.ps1 @@ -78,7 +78,7 @@ if (-not (Test-Path $syncScript)) { throw "Sync script not found: $syncScript" } -Write-Host "Syncing built SDK artifacts into webBLEDemos..." +Write-Host "Syncing built SDK artifacts into webBLEDemos vendor targets..." powershell -ExecutionPolicy Bypass -File $syncScript -SdkRepoPath $SdkRepoPath if ($LASTEXITCODE -ne 0) { throw "sync-local-sdk.ps1 failed with exit code $LASTEXITCODE" From 7c04f64fb3c249d70d64f9212028edcb7a38434d Mon Sep 17 00:00:00 2001 From: marknolan <6526073+marknolan@users.noreply.github.com> Date: Fri, 29 May 2026 09:37:29 +0000 Subject: [PATCH 18/18] chore: format HTML files --- Verisense/index.html | 1999 +++++++++++++++++++++--------------------- 1 file changed, 1011 insertions(+), 988 deletions(-) diff --git a/Verisense/index.html b/Verisense/index.html index f39a8d7..7af1cc0 100644 --- a/Verisense/index.html +++ b/Verisense/index.html @@ -1,756 +1,780 @@ + + + + + + + Verisense Stream (Accel + GSR) + - - - -

Verisense Stream (Accel1 + GSR)

- Must be served over https or http://localhost. Click - buttons (user gesture required). - -
-
- - - - -
+ .row { + display: flex; + gap: 10px; + flex-wrap: wrap; + align-items: center; + margin: 10px 0; + } -
- - - - - - Status: idle -
-
+ button, + select, + input { + padding: 10px 12px; + } + + .card { + border: 1px solid #444; + border-radius: 12px; + padding: 12px; + } + + pre { + background: #111; + color: #ddd; + padding: 10px; + border-radius: 12px; + overflow: auto; + max-height: 320px; + } + + small { + color: #666; + } + + .grid { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + gap: 12px; + } + + canvas { + display: block; + } + + + + +

Verisense Stream (Accel1 + GSR)

+ Must be served over https or http://localhost. Click + buttons (user gesture required). + +
+
+ + + + +
-
-
- Operational Config - - +
+ + + + + + Status: idle +
-
- - - - (Checkboxes affect parsing immediately; Apply writes to - device.) + +
+
+ Operational Config + + +
+
+ + + + (Checkboxes affect parsing immediately; Apply writes to + device.) +
-
-
-
-

Latest accel sample

-
โ€”
- +
+

Latest accel sample

+
โ€”
+ - -
+ " + >
+ +
-
-

Latest GSR sample

-
โ€”
- +

Latest GSR sample

+
โ€”
+ - -
+ " + > + +
-
-

Log

-

-      
- +
+

Log

+

+        
+ +
-
- - + btnApplyOpCfg.onclick = async () => { + try { + if (!v) throw new Error("Not connected"); + await applyOpConfigToDevice(); + const adc = requireAdcDecoder(v); + log("opcfg applied:", { + accelEnabled: v?.accel1?.enabled, + gsrEnabled: adc?.gsrEnabled, + battEnabled: adc?.battEnabled, + }); + } catch (e) { + log("opcfg apply error:", String(e?.message ?? e)); + } + }; - \ No newline at end of file + btnSync.onclick = async () => { + try { + if (!v) throw new Error("Not connected"); + + setStatus("syncing logged data..."); + log("sync: choose output file..."); + + const fileHandle = await window.showSaveFilePicker({ + suggestedName: `verisense_${new Date().toISOString().replace(/[:.]/g, "-")}.bin`, + types: [ + { + description: "Verisense binary", + accept: { "application/octet-stream": [".bin"] }, + }, + ], + }); + + v.debugSync = true; + + const res = await v.transferLoggedData({ + fileHandle, + timeoutMs: 5000, + maxNack: 5, + maxCrcNack: 5, + onProgress: (p) => log("sync progress:", p), + }); + + setStatus("sync complete"); + log("sync: complete โœ…", res); + } catch (e) { + log("sync error:", String(e?.message ?? e)); + console.warn(e); + setStatus("error"); + } + }; + + +