apage-ambiq commited on
Commit
529e7a2
·
verified ·
1 Parent(s): 8675d37

Release deployment artifacts from CompressionKit

Browse files
README.md ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ library_name: compressionkit
4
+ pipeline_tag: other
5
+ tags:
6
+ - compressionkit
7
+ - signal-compression
8
+ - ecg
9
+ - rvq
10
+ - tflite
11
+ - edge-ai
12
+ ---
13
+
14
+ # compressionkit-ecg-2x
15
+
16
+ A **ECG** signal compression codec using Residual Vector Quantization (RVQ), optimized for edge and wearable devices.
17
+
18
+ ## Model Details
19
+
20
+ - **Modality:** ECG
21
+ - **Sample Rate:** 256 Hz
22
+ - **Compression Ratio:** 2x
23
+ - **Quantization:** INT8
24
+ - **RVQ Levels:** 4
25
+ - **Codebook Size:** 256 entries × 16D
26
+ - **Encoder Input:** `[None, 1, 512, 1]`
27
+ - **Encoder Output:** `[None, 1, 256, 16]`
28
+
29
+ ## Quality Metrics
30
+
31
+ ### Time Domain
32
+
33
+ | Metric | Mean | Median | P90 |
34
+ |--------|------|--------|-----|
35
+ | PRD (%) | 2.5389 | 2.3178 | 3.4712 |
36
+ | RMSE | 0.0245 | 0.0223 | 0.0334 |
37
+ | Cosine Similarity | 0.9996 | 0.9997 | 0.9999 |
38
+
39
+ ### Spectral
40
+
41
+ - **Band Total Relative Error (median):** 0.0353
42
+
43
+ ### Bitrate
44
+
45
+ - **Codec CR (uniform):** 2.0x
46
+ - **Codec CR (learned prior):** 5.69x
47
+
48
+ ## Usage
49
+
50
+ ### Python (compressionkit runtime)
51
+
52
+ ```python
53
+ from compressionkit.runtime import RVQCodec
54
+
55
+ codec = RVQCodec.from_pretrained("Ambiq/compressionkit-ecg-2x")
56
+
57
+ # Encode: float32 signal → RVQ indices
58
+ indices = codec.encode(signal)
59
+
60
+ # Decode: RVQ indices → reconstructed signal
61
+ recon = codec.decode(indices)
62
+ ```
63
+
64
+ ### Local deployment directory
65
+
66
+ ```python
67
+ codec = RVQCodec("path/to/deploy/")
68
+ ```
69
+
70
+ ## Files
71
+
72
+ | File | Description |
73
+ |------|-------------|
74
+ | `encoder_int8.tflite` | INT8 quantized encoder (on-device) |
75
+ | `encoder.h` | C header for encoder |
76
+ | `decoder_float32.tflite` | Float32 decoder (server-side evaluation) |
77
+ | `decoder_int8.tflite` | INT8 decoder (optional, on-device) |
78
+ | `codebook.npz` | RVQ codebook tables |
79
+ | `codebook.h` | C header for codebook |
80
+ | `config.json` | Deployment manifest |
81
+ | `sample_stimulus.npz` | Synthetic test data |
82
+ | `quality_scorecard.json` | Full evaluation metrics |
83
+
84
+ ## Dataset & License
85
+
86
+ Training data: PTB-XL (CC BY 4.0). Sample data may include excerpts under the original license terms.
87
+
88
+ Model weights are released under the **APACHE-2.0** license.
89
+
90
+ ## Citation
91
+
92
+ ```bibtex
93
+ @software{compressionkit,
94
+ author = {Ambiq AI},
95
+ title = {compressionKIT: Signal Compression for Edge AI},
96
+ url = {https://github.com/AmbiqAI/compressionkit}
97
+ }
98
+ ```
codebook.h ADDED
The diff for this file is too large to render. See raw diff
 
codebook.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3c700bf9aae04e0fb9879d03281950c5b6082c7bd776617e0060dfc1bdb1cf02
3
+ size 66542
config.json ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_name": "ecg_rvq_256hz_02x_golden",
3
+ "model_version": "1.0",
4
+ "quantization": "INT8",
5
+ "io_type": "int8",
6
+ "encoder": {
7
+ "tflite": "encoder.tflite",
8
+ "header": "encoder.h",
9
+ "input_shape": [
10
+ null,
11
+ 1,
12
+ 512,
13
+ 1
14
+ ],
15
+ "output_shape": [
16
+ null,
17
+ 1,
18
+ 256,
19
+ 16
20
+ ]
21
+ },
22
+ "decoder": {
23
+ "keras": "decoder.keras",
24
+ "float32_tflite": "decoder_float32.tflite",
25
+ "int8_tflite": null,
26
+ "int8_header": null,
27
+ "input_shape": [
28
+ null,
29
+ 1,
30
+ 256,
31
+ 16
32
+ ],
33
+ "output_shape": [
34
+ null,
35
+ 1,
36
+ 512,
37
+ 1
38
+ ]
39
+ },
40
+ "codebook": {
41
+ "npz": "codebook.npz",
42
+ "header": "codebook.h",
43
+ "num_levels": 4,
44
+ "num_embeddings": 256,
45
+ "embedding_dim": 16
46
+ },
47
+ "sample_data": {
48
+ "npz": "sample_data.npz",
49
+ "num_samples": 500,
50
+ "arrays": [
51
+ "inputs",
52
+ "targets",
53
+ "reconstructions"
54
+ ]
55
+ }
56
+ }
decoder.h ADDED
The diff for this file is too large to render. See raw diff
 
decoder_float32.tflite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8fbafc4e39a7474fdfa2cd66c7ba8293641d9c733d63758adaa20dddd2e35633
3
+ size 40584
decoder_int8.tflite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5e16001c23e9a516339f643db9e4c35753e17d5b980b2028372e12fee68bd2ac
3
+ size 21192
encoder.h ADDED
@@ -0,0 +1,245 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #ifndef __ENCODER_H
2
+ #define __ENCODER_H
3
+ const unsigned char encoder[] = {
4
+ 0x20, 0x00, 0x00, 0x00, 0x54, 0x46, 0x4c, 0x33, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x20, 0x00, 0x1c, 0x00, 0x18, 0x00,
5
+ 0x14, 0x00, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
6
+ 0x90, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x34, 0x07, 0x00, 0x00, 0x44, 0x07, 0x00, 0x00, 0x44, 0x12, 0x00, 0x00,
7
+ 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x0c, 0x00,
8
+ 0x08, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
9
+ 0x0f, 0x00, 0x00, 0x00, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x00,
10
+ 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x98, 0xff, 0xff, 0xff, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
11
+ 0x08, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
12
+ 0x04, 0x00, 0x00, 0x00, 0x9e, 0xf9, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x65, 0x6e, 0x63, 0x5f,
13
+ 0x69, 0x6e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xdc, 0xff, 0xff, 0xff,
14
+ 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49,
15
+ 0x4f, 0x4e, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x00, 0x08, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x04, 0x00,
16
+ 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x6d, 0x69, 0x6e, 0x5f,
17
+ 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x00, 0x0a, 0x00, 0x00, 0x00,
18
+ 0x48, 0x06, 0x00, 0x00, 0x3c, 0x06, 0x00, 0x00, 0xec, 0x05, 0x00, 0x00, 0xd4, 0x02, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00,
19
+ 0xa4, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
20
+ 0x3a, 0xfa, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0e, 0x00,
21
+ 0x08, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00,
22
+ 0x08, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xeb, 0x03, 0x00, 0x00,
23
+ 0x0c, 0x00, 0x18, 0x00, 0x14, 0x00, 0x10, 0x00, 0x0c, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x39, 0x7b, 0xe4, 0xa8,
24
+ 0xba, 0xc1, 0x0d, 0xcd, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
25
+ 0x32, 0x2e, 0x32, 0x30, 0x2e, 0x30, 0x00, 0x00, 0xa6, 0xfa, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
26
+ 0x31, 0x2e, 0x31, 0x34, 0x2e, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0xfa, 0xff, 0xff,
27
+ 0x70, 0xfa, 0xff, 0xff, 0xca, 0xfa, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x50, 0x01, 0x00, 0x00, 0x2e, 0x12, 0x7f, 0x47,
28
+ 0xdc, 0x11, 0x0c, 0x04, 0xad, 0x81, 0x39, 0x86, 0x15, 0xf6, 0xe9, 0xf1, 0x8c, 0x81, 0xf6, 0xdf, 0xf5, 0x12, 0xd6, 0x1c,
29
+ 0xe8, 0x81, 0xcd, 0x2a, 0x16, 0xf9, 0x7f, 0x4a, 0x0d, 0x21, 0x0c, 0x31, 0x19, 0x7f, 0xfe, 0x24, 0x2d, 0xec, 0xfc, 0xfa,
30
+ 0x11, 0x18, 0x7f, 0xf8, 0x01, 0x37, 0xdc, 0x7f, 0x34, 0xe7, 0x0f, 0x07, 0x0e, 0xda, 0x01, 0x42, 0x7f, 0x2b, 0xd1, 0xea,
31
+ 0xf5, 0xc1, 0xa2, 0x81, 0xe0, 0x05, 0x03, 0x0b, 0xe2, 0xe8, 0x81, 0xeb, 0x14, 0x06, 0x28, 0x0f, 0x44, 0x7f, 0x10, 0x02,
32
+ 0x09, 0xa0, 0x88, 0x33, 0x81, 0xe7, 0x19, 0xe7, 0x50, 0xb4, 0x81, 0x08, 0xed, 0xf6, 0xf8, 0x09, 0x03, 0x00, 0x7f, 0x08,
33
+ 0xed, 0x12, 0xe2, 0x23, 0x50, 0x7f, 0x2f, 0xdb, 0x23, 0x55, 0x7f, 0x3c, 0x52, 0xd7, 0x19, 0x01, 0xd1, 0x9f, 0x07, 0x81,
34
+ 0xd2, 0x0e, 0x08, 0xf7, 0xf1, 0x21, 0x81, 0xf6, 0x14, 0x07, 0xfc, 0x00, 0xfa, 0x81, 0xdd, 0x1f, 0xf3, 0x0a, 0xf4, 0x3b,
35
+ 0x7f, 0x13, 0xf2, 0x2a, 0x13, 0x7f, 0xef, 0x48, 0x10, 0xf6, 0xfa, 0x49, 0x7f, 0x18, 0x40, 0x41, 0xfa, 0xfe, 0x07, 0x1b,
36
+ 0x81, 0xc4, 0xba, 0x2d, 0x0f, 0x2a, 0x17, 0x7f, 0x41, 0x4c, 0x00, 0x00, 0xf8, 0x06, 0x13, 0x7f, 0xf7, 0xf3, 0x12, 0xe4,
37
+ 0xe6, 0x7f, 0x37, 0x37, 0xcd, 0xed, 0x20, 0x18, 0x81, 0xca, 0xca, 0x34, 0xf3, 0x0e, 0xeb, 0x36, 0x7f, 0x0e, 0xee, 0x0e,
38
+ 0x3a, 0x7f, 0x01, 0x1e, 0x1a, 0xfe, 0x03, 0x06, 0x04, 0x7f, 0x36, 0x46, 0xd6, 0x24, 0x4f, 0x7f, 0x28, 0x02, 0xff, 0x19,
39
+ 0xea, 0xf0, 0xd8, 0x81, 0xf4, 0xde, 0xfc, 0x0d, 0xd9, 0x19, 0x7f, 0x2a, 0x0a, 0xfc, 0xfe, 0x7f, 0x3a, 0x04, 0x4f, 0x15,
40
+ 0xeb, 0xfd, 0xd9, 0x81, 0x08, 0xd6, 0xdf, 0xf8, 0xfe, 0xf0, 0x10, 0x4a, 0x7f, 0x0f, 0xf6, 0x0c, 0x81, 0xa9, 0x16, 0xa6,
41
+ 0x00, 0xee, 0xf9, 0x14, 0x0f, 0xcc, 0x81, 0xe7, 0x26, 0xfb, 0xce, 0x81, 0x1d, 0xb2, 0xf4, 0x0c, 0x02, 0x02, 0x01, 0xec,
42
+ 0x81, 0xde, 0x26, 0x08, 0x61, 0x7f, 0x33, 0x0a, 0x16, 0x0d, 0x1b, 0x74, 0x71, 0xe1, 0x7f, 0x02, 0xf6, 0xee, 0xed, 0xe5,
43
+ 0x81, 0xef, 0xe6, 0xf0, 0xf2, 0xf4, 0xfa, 0x81, 0xa0, 0xe8, 0x0a, 0xf2, 0x7f, 0x71, 0xf2, 0x52, 0xff, 0x0f, 0x3a, 0x2d,
44
+ 0x7f, 0x2b, 0x3a, 0x06, 0xfd, 0x3f, 0x88, 0x7f, 0x18, 0xc4, 0x06, 0x0b, 0x26, 0xfc, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00,
45
+ 0xc0, 0x00, 0x00, 0x00, 0xe8, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0xf1, 0xfe, 0xff, 0xff, 0xb3, 0xfe, 0xff, 0xff,
46
+ 0x1c, 0x00, 0x00, 0x00, 0x70, 0xff, 0xff, 0xff, 0x2e, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xe7, 0xff, 0xff, 0xff,
47
+ 0x18, 0x01, 0x00, 0x00, 0xd9, 0xff, 0xff, 0xff, 0x97, 0xfd, 0xff, 0xff, 0x68, 0xff, 0xff, 0xff, 0xe5, 0xff, 0xff, 0xff,
48
+ 0xae, 0x00, 0x00, 0x00, 0x8b, 0xfc, 0xff, 0xff, 0xc2, 0xff, 0xff, 0xff, 0xc4, 0xff, 0xff, 0xff, 0x47, 0xff, 0xff, 0xff,
49
+ 0x6f, 0x00, 0x00, 0x00, 0xe5, 0xfe, 0xff, 0xff, 0x05, 0x00, 0x00, 0x00, 0xce, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
50
+ 0xb4, 0xfc, 0xff, 0xff, 0x77, 0xfd, 0xff, 0xff, 0x7e, 0x00, 0x00, 0x00, 0x7a, 0xff, 0xff, 0xff, 0x45, 0xff, 0xff, 0xff,
51
+ 0x27, 0x00, 0x00, 0x00, 0xcb, 0xff, 0xff, 0xff, 0x5c, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xa8, 0xff, 0xff, 0xff,
52
+ 0xf0, 0xff, 0xff, 0xff, 0x2d, 0xff, 0xff, 0xff, 0xa7, 0x03, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xff,
53
+ 0x3e, 0x00, 0x00, 0x00, 0xb7, 0x02, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0xbd, 0x00, 0x00, 0x00,
54
+ 0x0b, 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0xfe, 0xff, 0xff, 0xf2, 0xfc, 0xff, 0xff,
55
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xb4, 0xf0, 0x6d, 0x65, 0xe0, 0x07, 0x43, 0x69, 0x7f, 0x10, 0x04, 0xff,
56
+ 0x61, 0xa0, 0x92, 0x1d, 0xd2, 0xf3, 0xda, 0x66, 0xdf, 0x3a, 0xd4, 0xbf, 0x32, 0x2e, 0xb0, 0xd8, 0xba, 0x20, 0xdc, 0xe3,
57
+ 0xd2, 0x4f, 0xd7, 0x00, 0x00, 0x15, 0x0b, 0xc6, 0x14, 0x7a, 0xc5, 0xc0, 0x5b, 0xaa, 0x08, 0x3f, 0xd8, 0x51, 0xda, 0x06,
58
+ 0x3d, 0x51, 0x8f, 0x25, 0xfc, 0xe0, 0x46, 0x36, 0xd2, 0xd4, 0xf1, 0x05, 0xca, 0x32, 0x5a, 0x44, 0x53, 0xad, 0xe6, 0x75,
59
+ 0xe8, 0x05, 0xbe, 0x7f, 0xb4, 0x4f, 0xb8, 0xc3, 0x4c, 0x4f, 0xca, 0xd3, 0xd6, 0x18, 0x47, 0xf9, 0xc4, 0x11, 0x34, 0xe4,
60
+ 0xd9, 0xe3, 0x2d, 0x1e, 0xef, 0x65, 0x08, 0xbd, 0xfd, 0xc9, 0x09, 0xb2, 0x46, 0xed, 0x37, 0x6c, 0x8b, 0xa1, 0x10, 0xd9,
61
+ 0x03, 0x49, 0xf3, 0x5d, 0x62, 0x0b, 0xb7, 0xb8, 0x16, 0xa1, 0x48, 0xc8, 0xb0, 0x5b, 0x48, 0x15, 0x15, 0x69, 0x28, 0x5d,
62
+ 0x1e, 0x00, 0xe8, 0x22, 0xc4, 0xc2, 0xc1, 0xae, 0x9d, 0xc3, 0x7f, 0x0e, 0x47, 0x0f, 0x08, 0xbf, 0x6e, 0x59, 0x54, 0xb5,
63
+ 0xf8, 0x34, 0xee, 0xbe, 0x15, 0xfa, 0xaf, 0xd6, 0xae, 0xdc, 0x25, 0x5b, 0xdc, 0xe4, 0xbe, 0x4e, 0x52, 0xbb, 0x28, 0xc2,
64
+ 0xce, 0xbd, 0xf8, 0xd6, 0x2a, 0x1b, 0x07, 0x9c, 0xba, 0x37, 0xd8, 0x3a, 0x36, 0x11, 0xcd, 0x81, 0x2f, 0x3a, 0x30, 0x35,
65
+ 0x01, 0x4b, 0x81, 0xf0, 0x5b, 0x28, 0x9c, 0x42, 0xb6, 0xab, 0x50, 0xe9, 0x4e, 0x14, 0xe4, 0x40, 0x09, 0xd2, 0xb4, 0x5b,
66
+ 0x2d, 0xa3, 0xfa, 0x2a, 0x0c, 0x42, 0xa3, 0x1c, 0x97, 0xa9, 0x2e, 0xc0, 0x6b, 0xbf, 0x16, 0x0b, 0xf4, 0xf2, 0x68, 0xda,
67
+ 0xda, 0x55, 0xf6, 0xff, 0x33, 0xbe, 0x24, 0x07, 0x9f, 0x16, 0x73, 0xd3, 0xa7, 0x13, 0xa7, 0xa7, 0xfe, 0xda, 0xdf, 0x66,
68
+ 0xc9, 0x7f, 0x43, 0xc8, 0xf8, 0x1e, 0x53, 0x26, 0x33, 0xda, 0xe0, 0xfa, 0xfc, 0x33, 0xbd, 0x69, 0xf1, 0x1f, 0x58, 0x45,
69
+ 0xd8, 0xfe, 0x5d, 0x2b, 0xae, 0xa5, 0x11, 0x14, 0xe0, 0x45, 0xdf, 0xf6, 0xbc, 0x0d, 0x31, 0xc1, 0x42, 0xcb, 0xdd, 0x33,
70
+ 0x63, 0xb6, 0xf6, 0xae, 0xdd, 0xbd, 0x37, 0x7f, 0xe3, 0x33, 0xc5, 0x5a, 0xa9, 0xc7, 0xff, 0xf3, 0xb4, 0x31, 0xc5, 0xc6,
71
+ 0xa7, 0xc2, 0x1c, 0xe4, 0x25, 0xd0, 0xd2, 0xc5, 0xf2, 0xda, 0xe0, 0x0b, 0x2f, 0x47, 0xe4, 0x67, 0xcf, 0x32, 0x58, 0x41,
72
+ 0xac, 0x10, 0x38, 0xee, 0x42, 0x10, 0x3b, 0xe5, 0xc4, 0xa6, 0xac, 0xbe, 0xc2, 0xe7, 0x2b, 0x4d, 0xac, 0xba, 0x21, 0xdf,
73
+ 0xba, 0x3e, 0x22, 0x0e, 0x37, 0xfc, 0xd1, 0xfd, 0x0f, 0xf3, 0x0c, 0xf1, 0xb2, 0x66, 0x50, 0x25, 0xb0, 0x0d, 0xb1, 0x3f,
74
+ 0xf4, 0xc0, 0x4a, 0x7b, 0x7f, 0x5b, 0x1c, 0x22, 0xb4, 0xcf, 0x1f, 0xe4, 0x4c, 0xc8, 0x4a, 0x0a, 0xd8, 0x0f, 0x3d, 0x2a,
75
+ 0x18, 0xb4, 0x58, 0xcb, 0x02, 0xf2, 0x2f, 0x99, 0x8d, 0x44, 0x18, 0xa5, 0xa8, 0x0b, 0xa2, 0x2a, 0x5c, 0xe9, 0x81, 0x5e,
76
+ 0x9c, 0x62, 0x33, 0xe4, 0xcd, 0x55, 0x3b, 0xd3, 0xe1, 0x57, 0x5c, 0xc4, 0x0c, 0xbf, 0x12, 0x0f, 0xf7, 0x40, 0xb4, 0x12,
77
+ 0x9e, 0xb9, 0x50, 0xe5, 0x10, 0x30, 0xda, 0xc6, 0x43, 0xc9, 0x54, 0x31, 0x0a, 0x0d, 0xd7, 0x37, 0x54, 0xb7, 0xc5, 0x40,
78
+ 0x2b, 0x27, 0x03, 0x24, 0xb9, 0x7f, 0xbe, 0x79, 0x4b, 0xf1, 0xd2, 0xf2, 0x20, 0xf6, 0xdd, 0xdb, 0xae, 0x37, 0xf7, 0xc4,
79
+ 0xe7, 0x53, 0x2d, 0xea, 0x5d, 0xe8, 0xcc, 0x10, 0x8c, 0xf1, 0x44, 0xb6, 0xfc, 0xb9, 0x7f, 0x30, 0x08, 0x2b, 0xf6, 0xdd,
80
+ 0xe0, 0xb3, 0x7d, 0xcc, 0xf3, 0xa1, 0xd5, 0x8c, 0xf2, 0x7d, 0xe1, 0x21, 0x05, 0x9a, 0x6e, 0x93, 0x3e, 0x83, 0x4a, 0xf5,
81
+ 0xc9, 0x0e, 0xed, 0x0a, 0xe1, 0xd4, 0xe8, 0x16, 0x30, 0x12, 0x0a, 0x75, 0xc4, 0x46, 0x5c, 0x23, 0x5c, 0xab, 0x36, 0x0c,
82
+ 0x02, 0xfc, 0x61, 0x0a, 0x64, 0x07, 0x85, 0x58, 0x02, 0xf6, 0xba, 0xf4, 0xad, 0xb4, 0x20, 0x3a, 0x12, 0xf4, 0xed, 0xfa,
83
+ 0xef, 0x5c, 0x67, 0x85, 0xab, 0x0b, 0x25, 0xb4, 0x24, 0x48, 0xb3, 0xcf, 0x50, 0x7f, 0x27, 0x42, 0xf3, 0xf7, 0x07, 0xe6,
84
+ 0xbe, 0xde, 0x64, 0x25, 0x4b, 0xfc, 0xca, 0xa1, 0xff, 0xed, 0xeb, 0xb6, 0xb7, 0x81, 0x2a, 0x40, 0x18, 0xf0, 0xca, 0x13,
85
+ 0xa6, 0x2d, 0x0a, 0x32, 0xdc, 0xd9, 0x34, 0xb7, 0xa6, 0xa4, 0xca, 0xf8, 0xf0, 0xe3, 0x57, 0x2f, 0x32, 0xc0, 0xeb, 0xab,
86
+ 0xfe, 0x4a, 0xad, 0x09, 0x3b, 0x4e, 0x16, 0x07, 0x52, 0xb6, 0x43, 0x0f, 0x3f, 0xaf, 0x10, 0xb9, 0xbc, 0xb8, 0xfa, 0xaa,
87
+ 0xc6, 0x18, 0x6a, 0xb8, 0x81, 0xca, 0xe7, 0x74, 0x49, 0xfd, 0xad, 0x9e, 0xf4, 0x1d, 0x1f, 0x24, 0xee, 0xd7, 0x8c, 0x06,
88
+ 0xf0, 0x21, 0x17, 0xbb, 0xca, 0xa2, 0xd5, 0x09, 0x28, 0xf7, 0xbb, 0x61, 0x31, 0xdd, 0x30, 0x17, 0x43, 0x37, 0x3b, 0x05,
89
+ 0x63, 0x29, 0xdc, 0xfe, 0x0c, 0x32, 0xe3, 0xce, 0x17, 0x1d, 0x42, 0xbe, 0xf2, 0xd2, 0xc9, 0x75, 0x64, 0x73, 0x13, 0xdd,
90
+ 0x42, 0xce, 0xa5, 0xcc, 0x5e, 0xfc, 0x1e, 0x0a, 0x7f, 0xe2, 0x59, 0xa7, 0xbb, 0x0d, 0xe6, 0x08, 0xd8, 0x5b, 0x51, 0xe5,
91
+ 0x54, 0x62, 0xff, 0xea, 0x83, 0xa5, 0xcf, 0x1a, 0x6b, 0x2e, 0x08, 0xef, 0x36, 0x3e, 0x66, 0x93, 0x29, 0x22, 0x29, 0xc6,
92
+ 0x30, 0x89, 0x77, 0xfb, 0x78, 0xf8, 0x8b, 0x0b, 0xdd, 0x45, 0x0d, 0x32, 0x15, 0x7d, 0xc3, 0xe1, 0x81, 0x63, 0xb6, 0xd7,
93
+ 0x2a, 0x27, 0xcc, 0xcc, 0xb7, 0xf8, 0xda, 0x8f, 0x76, 0x91, 0xf2, 0x1a, 0x09, 0xc2, 0xae, 0xe3, 0x00, 0x00, 0x06, 0x00,
94
+ 0x08, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x82, 0xf8, 0xff, 0xff,
95
+ 0x58, 0xfb, 0xff, 0xff, 0x55, 0xfb, 0xff, 0xff, 0x80, 0x01, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x87, 0xf7, 0xff, 0xff,
96
+ 0xbf, 0xfd, 0xff, 0xff, 0x59, 0x00, 0x00, 0x00, 0xb5, 0x04, 0x00, 0x00, 0x3a, 0xf8, 0xff, 0xff, 0xa8, 0x01, 0x00, 0x00,
97
+ 0x8b, 0x01, 0x00, 0x00, 0xac, 0x03, 0x00, 0x00, 0xaa, 0x05, 0x00, 0x00, 0x55, 0xf7, 0xff, 0xff, 0x42, 0x04, 0x00, 0x00,
98
+ 0xfc, 0xff, 0xff, 0xff, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x4d, 0x4c, 0x49, 0x52,
99
+ 0x20, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
100
+ 0x00, 0x00, 0x0e, 0x00, 0x18, 0x00, 0x14, 0x00, 0x10, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00,
101
+ 0x14, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00,
102
+ 0x04, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00,
103
+ 0x04, 0x00, 0x00, 0x00, 0xba, 0xff, 0xff, 0xff, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00,
104
+ 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00,
105
+ 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
106
+ 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x14, 0x00, 0x00, 0x00,
107
+ 0x10, 0x00, 0x0c, 0x00, 0x0b, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
108
+ 0x24, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x07, 0x00,
109
+ 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
110
+ 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
111
+ 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
112
+ 0x78, 0x09, 0x00, 0x00, 0x48, 0x08, 0x00, 0x00, 0x0c, 0x07, 0x00, 0x00, 0x78, 0x04, 0x00, 0x00, 0xd4, 0x01, 0x00, 0x00,
113
+ 0x90, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xba, 0xf6, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x18, 0x00, 0x00, 0x00,
114
+ 0x28, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x58, 0x00, 0x00, 0x00,
115
+ 0x04, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
116
+ 0xa4, 0xf6, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff,
117
+ 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x0a, 0xa1, 0x9c, 0x3d, 0x1b, 0x00, 0x00, 0x00, 0x53, 0x74, 0x61, 0x74,
118
+ 0x65, 0x66, 0x75, 0x6c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x5f,
119
+ 0x31, 0x3a, 0x30, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
120
+ 0x10, 0x00, 0x00, 0x00, 0x42, 0xf7, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x18, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
121
+ 0x48, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
122
+ 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2c, 0xf7, 0xff, 0xff,
123
+ 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
124
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xb2, 0xf6, 0x33, 0x3d, 0xcf, 0x00, 0x00, 0x00, 0x45, 0x6e, 0x63, 0x6f,
125
+ 0x64, 0x65, 0x72, 0x32, 0x44, 0x5f, 0x64, 0x73, 0x32, 0x5f, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x5f, 0x73, 0x31, 0x5f, 0x61,
126
+ 0x63, 0x74, 0x5f, 0x31, 0x2f, 0x52, 0x65, 0x6c, 0x75, 0x3b, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x32, 0x44, 0x5f,
127
+ 0x64, 0x73, 0x32, 0x5f, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x5f, 0x73, 0x31, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x5f, 0x31, 0x2f,
128
+ 0x62, 0x61, 0x74, 0x63, 0x68, 0x6e, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x64, 0x64, 0x5f, 0x31, 0x3b, 0x45, 0x6e, 0x63, 0x6f,
129
+ 0x64, 0x65, 0x72, 0x32, 0x44, 0x5f, 0x64, 0x73, 0x32, 0x5f, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x5f, 0x73, 0x31, 0x5f, 0x6e,
130
+ 0x6f, 0x72, 0x6d, 0x5f, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x6e, 0x6f, 0x72, 0x6d, 0x2f, 0x6d, 0x75, 0x6c, 0x5f,
131
+ 0x31, 0x3b, 0x3b, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x32, 0x44, 0x5f, 0x64, 0x73, 0x32, 0x5f, 0x31, 0x2f, 0x65,
132
+ 0x6e, 0x63, 0x5f, 0x73, 0x31, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x5f, 0x31, 0x2f, 0x42, 0x69, 0x61, 0x73, 0x41, 0x64, 0x64,
133
+ 0x3b, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x32, 0x44, 0x5f, 0x64, 0x73, 0x32, 0x5f, 0x31, 0x2f, 0x65, 0x6e, 0x63,
134
+ 0x5f, 0x73, 0x31, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x5f, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69,
135
+ 0x6f, 0x6e, 0x31, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
136
+ 0x30, 0x00, 0x00, 0x00, 0xae, 0xf9, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x68, 0x02, 0x00, 0x00,
137
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x74, 0x02, 0x00, 0x00, 0x54, 0xf8, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00,
138
+ 0x8c, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
139
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
140
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
141
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
142
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
143
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
144
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
145
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
146
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
147
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
148
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
149
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
150
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
151
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
152
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
153
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
154
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
155
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
156
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
157
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
158
+ 0x45, 0x22, 0x71, 0x3b, 0x81, 0x14, 0x84, 0x3b, 0x11, 0x5a, 0x3a, 0x3b, 0xab, 0x51, 0xb6, 0x3b, 0x52, 0x21, 0x71, 0x3b,
159
+ 0x46, 0xbe, 0x4f, 0x3b, 0x0d, 0xcc, 0xc8, 0x3b, 0xf8, 0x1a, 0x91, 0x3b, 0x7e, 0x9d, 0xc3, 0x3b, 0xbe, 0x20, 0x3d, 0x3b,
160
+ 0x51, 0x35, 0xc2, 0x3b, 0x06, 0x16, 0x86, 0x3b, 0x44, 0x4b, 0x41, 0x3b, 0x10, 0x4b, 0x7d, 0x3b, 0x25, 0x2a, 0xef, 0x3b,
161
+ 0xa7, 0xa8, 0x87, 0x3b, 0x09, 0x35, 0x38, 0x3b, 0x5e, 0xc6, 0x67, 0x3b, 0xe3, 0x8b, 0x16, 0x3c, 0xb4, 0xe5, 0xe7, 0x3b,
162
+ 0x37, 0xe1, 0xb6, 0x3b, 0xba, 0x25, 0x87, 0x3b, 0xc8, 0xac, 0x47, 0x3b, 0x99, 0xcd, 0xb4, 0x3b, 0x37, 0xc4, 0x2d, 0x3b,
163
+ 0x64, 0x15, 0xd9, 0x3b, 0x9a, 0xc0, 0xd6, 0x3b, 0xfc, 0x43, 0xe4, 0x3b, 0x22, 0x51, 0xcb, 0x3b, 0x6b, 0xc2, 0x6e, 0x3b,
164
+ 0x20, 0x49, 0x85, 0x3b, 0xcb, 0xb8, 0x37, 0x3b, 0x5a, 0x71, 0x3e, 0x3b, 0x52, 0x63, 0xbc, 0x3b, 0x84, 0x80, 0x52, 0x3b,
165
+ 0x55, 0xb0, 0x6a, 0x3b, 0x11, 0x8b, 0x81, 0x3b, 0x4d, 0x7f, 0x66, 0x3b, 0x05, 0x0d, 0xce, 0x3b, 0x1f, 0xbb, 0x83, 0x3b,
166
+ 0xe5, 0x1d, 0xa4, 0x3b, 0x65, 0xbe, 0x5a, 0x3b, 0xf5, 0x41, 0x20, 0x3b, 0x60, 0x91, 0x7e, 0x3b, 0xf4, 0xb0, 0x67, 0x3b,
167
+ 0x00, 0x03, 0x5e, 0x3b, 0xf6, 0x93, 0x29, 0x3b, 0xd3, 0x81, 0x9c, 0x3b, 0x12, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e,
168
+ 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x33, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
169
+ 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4e, 0xfc, 0xff, 0xff,
170
+ 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x64, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
171
+ 0x70, 0x02, 0x00, 0x00, 0xf4, 0xfa, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x88, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
172
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
173
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
174
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
175
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
176
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
177
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
178
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
179
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
180
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
181
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
182
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
183
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
184
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
185
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
186
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
187
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
188
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
189
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
190
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
191
+ 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xc0, 0x4c, 0x8d, 0x39, 0xf4, 0xca, 0x9a, 0x39, 0xad, 0x65, 0x5a, 0x39,
192
+ 0xbe, 0xab, 0xd5, 0x39, 0x32, 0x4c, 0x8d, 0x39, 0x94, 0x77, 0x73, 0x39, 0x92, 0x53, 0xeb, 0x39, 0xd2, 0x0e, 0xaa, 0x39,
193
+ 0xe5, 0x40, 0xe5, 0x39, 0x8f, 0xa6, 0x5d, 0x39, 0xc8, 0x9a, 0xe3, 0x39, 0xc8, 0x24, 0x9d, 0x39, 0x7c, 0x88, 0x62, 0x39,
194
+ 0xca, 0x6c, 0x94, 0x39, 0x58, 0x25, 0x0c, 0x3a, 0xa5, 0xfc, 0x9e, 0x39, 0x3b, 0xe2, 0x57, 0x39, 0xcc, 0xd0, 0x87, 0x39,
195
+ 0x44, 0x6f, 0x30, 0x3a, 0x29, 0xe3, 0x07, 0x3a, 0xfa, 0x53, 0xd6, 0x39, 0x35, 0x63, 0x9e, 0x39, 0xe7, 0x02, 0x6a, 0x39,
196
+ 0xf1, 0xe4, 0xd3, 0x39, 0xca, 0xa5, 0x4b, 0x39, 0xe0, 0x69, 0xfe, 0x39, 0x77, 0xae, 0xfb, 0x39, 0x5d, 0xc2, 0x05, 0x3a,
197
+ 0x95, 0x47, 0xee, 0x39, 0x90, 0xe8, 0x8b, 0x39, 0xa5, 0x34, 0x9c, 0x39, 0xa0, 0x50, 0x57, 0x39, 0x0e, 0x31, 0x5f, 0x39,
198
+ 0x91, 0xc8, 0xdc, 0x39, 0x45, 0xb3, 0x76, 0x39, 0xeb, 0x85, 0x89, 0x39, 0xd7, 0xd1, 0x97, 0x39, 0x25, 0x11, 0x87, 0x39,
199
+ 0xd3, 0x7b, 0xf1, 0x39, 0x33, 0x62, 0x9a, 0x39, 0xab, 0x56, 0xc0, 0x39, 0xfc, 0x2d, 0x80, 0x39, 0xd8, 0xd0, 0x3b, 0x39,
200
+ 0x00, 0x2c, 0x95, 0x39, 0x40, 0xc4, 0x87, 0x39, 0x38, 0x18, 0x82, 0x39, 0x26, 0xbd, 0x46, 0x39, 0x9b, 0x6b, 0xb7, 0x39,
201
+ 0x12, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, 0x63, 0x6f, 0x6e, 0x73,
202
+ 0x74, 0x32, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xde, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01,
203
+ 0x14, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xf4, 0x00, 0x00, 0x00,
204
+ 0x84, 0xfd, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
205
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
206
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
207
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
208
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
209
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
210
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
211
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xa2, 0x64, 0x30, 0x3b, 0xbd, 0x04, 0x3c, 0x3b,
212
+ 0x05, 0xa9, 0x35, 0x3b, 0x9e, 0x8b, 0x36, 0x3b, 0xf5, 0x50, 0x24, 0x3b, 0x4f, 0x9d, 0x3d, 0x3b, 0x8a, 0x0f, 0x35, 0x3b,
213
+ 0xe7, 0x8a, 0x22, 0x3b, 0x14, 0xcd, 0x18, 0x3b, 0x0d, 0x71, 0x4a, 0x3b, 0x08, 0x1a, 0x14, 0x3b, 0x2d, 0xe3, 0x33, 0x3b,
214
+ 0x22, 0xb0, 0x39, 0x3b, 0xa7, 0x46, 0x1e, 0x3b, 0x94, 0xc1, 0x3b, 0x3b, 0x2d, 0x94, 0x05, 0x3b, 0x12, 0x00, 0x00, 0x00,
215
+ 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x5f, 0x71, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x31, 0x00, 0x00,
216
+ 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
217
+ 0x00, 0x00, 0x16, 0x00, 0x1c, 0x00, 0x18, 0x00, 0x17, 0x00, 0x10, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
218
+ 0x00, 0x00, 0x07, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00,
219
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xf4, 0x00, 0x00, 0x00, 0xbc, 0xfe, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00,
220
+ 0x8c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
221
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
222
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
223
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
224
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
225
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
226
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
227
+ 0x10, 0x00, 0x00, 0x00, 0xb1, 0x00, 0xf8, 0x38, 0x7f, 0x2c, 0x04, 0x39, 0x7a, 0x68, 0xff, 0x38, 0x89, 0x53, 0x00, 0x39,
228
+ 0xe7, 0x05, 0xe7, 0x38, 0xb7, 0x4b, 0x05, 0x39, 0xb1, 0x90, 0xfe, 0x38, 0x84, 0x87, 0xe4, 0x38, 0x49, 0xd5, 0xd6, 0x38,
229
+ 0x21, 0x50, 0x0e, 0x39, 0xd7, 0x39, 0xd0, 0x38, 0x64, 0xea, 0xfc, 0x38, 0x18, 0x89, 0x02, 0x39, 0xd9, 0x87, 0xde, 0x38,
230
+ 0x49, 0xfd, 0x03, 0x39, 0xa9, 0xce, 0xbb, 0x38, 0x11, 0x00, 0x00, 0x00, 0x74, 0x66, 0x6c, 0x2e, 0x70, 0x73, 0x65, 0x75,
231
+ 0x64, 0x6f, 0x5f, 0x71, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
232
+ 0x00, 0x00, 0x16, 0x00, 0x20, 0x00, 0x1c, 0x00, 0x1b, 0x00, 0x14, 0x00, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
233
+ 0x08, 0x00, 0x07, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x18, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
234
+ 0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
235
+ 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x00,
236
+ 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
237
+ 0x01, 0x00, 0x00, 0x00, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xd6, 0x02, 0x96, 0x3d,
238
+ 0x18, 0x00, 0x00, 0x00, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
239
+ 0x65, 0x6e, 0x63, 0x5f, 0x69, 0x6e, 0x3a, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
240
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
241
+ 0x0c, 0x00, 0x10, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
242
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
243
+ };
244
+ const unsigned int encoder_len = 4768;
245
+ #endif // __ENCODER_H
encoder_int8.tflite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a5eca6a702e6c66b07ed4bfd71b70866d264b1bc543de503e32b108bbe72037e
3
+ size 4768
quality_scorecard.json ADDED
@@ -0,0 +1,579 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "run_dir": "results/ecg_rvq_256hz_02x_golden",
3
+ "modality": "ecg",
4
+ "sample_rate": 256,
5
+ "num_samples_loaded": 1000,
6
+ "num_samples": 1000,
7
+ "num_samples_rejected": 0,
8
+ "min_signal_std": 0.0001,
9
+ "noise_estimator": "bp",
10
+ "bitrate": {
11
+ "best_prior_tag": "winsweep_f4",
12
+ "val_bits_per_token": 2.8134012445008594,
13
+ "val_bits_per_frame": null,
14
+ "cr_codec_uniform": 2.0,
15
+ "cr_codec_learned": 5.687066511139845,
16
+ "codec_compression_ratio": 2.0,
17
+ "effective_downsample_factor": 2,
18
+ "encoder_total_params": null
19
+ },
20
+ "time_domain": {
21
+ "prd_percent": {
22
+ "n": 1000,
23
+ "mean": 2.5388656071636095,
24
+ "std": 1.0011964679499528,
25
+ "median": 2.3177653616230924,
26
+ "p10": 1.7102550625736712,
27
+ "p90": 3.471205233671067,
28
+ "max": 12.137521517007082,
29
+ "min": 1.2054849072245992
30
+ },
31
+ "prdn_noise_percent": {
32
+ "n": 1000,
33
+ "mean": 0.0,
34
+ "std": 0.0,
35
+ "median": 0.0,
36
+ "p10": 0.0,
37
+ "p90": 0.0,
38
+ "max": 0.0,
39
+ "min": 0.0
40
+ },
41
+ "rmse": {
42
+ "n": 1000,
43
+ "mean": 0.024454407162188975,
44
+ "std": 0.00977029002902497,
45
+ "median": 0.022334795620141158,
46
+ "p10": 0.01669921986618634,
47
+ "p90": 0.03338962930092457,
48
+ "max": 0.12084790623553272,
49
+ "min": 0.011957937548420443
50
+ },
51
+ "cosine_similarity": {
52
+ "n": 1000,
53
+ "mean": 0.9996464192867279,
54
+ "std": 0.0004581712977357043,
55
+ "median": 0.9997453093528748,
56
+ "p10": 0.9994097769260406,
57
+ "p90": 0.9998718142509461,
58
+ "max": 0.9999309182167053,
59
+ "min": 0.9931392669677734
60
+ }
61
+ },
62
+ "spectral": {
63
+ "band_total_rel_error": {
64
+ "n": 1000,
65
+ "mean": 0.04154551705101776,
66
+ "std": 0.02980614200094395,
67
+ "median": 0.03526442836568261,
68
+ "p10": 0.015885667039687114,
69
+ "p90": 0.07193276858923583,
70
+ "max": 0.45975706559314444,
71
+ "min": 0.005863981925321309
72
+ },
73
+ "per_band_rel_error": {
74
+ "band_0.5_5_rel_error": {
75
+ "n": 1000,
76
+ "mean": 0.01569829298063637,
77
+ "std": 0.007925244860100803,
78
+ "median": 0.015177248218852787,
79
+ "p10": 0.009342451556550788,
80
+ "p90": 0.02099321182683916,
81
+ "max": 0.16925356675652703,
82
+ "min": 0.0005936556009217118
83
+ },
84
+ "band_5_15_rel_error": {
85
+ "n": 1000,
86
+ "mean": 0.013352334248172365,
87
+ "std": 0.009181175293025893,
88
+ "median": 0.01246180290204148,
89
+ "p10": 0.0050943336611927745,
90
+ "p90": 0.020844372765920292,
91
+ "max": 0.12961072308646387,
92
+ "min": 0.0001195148929993619
93
+ },
94
+ "band_15_40_rel_error": {
95
+ "n": 1000,
96
+ "mean": 0.012434573759326358,
97
+ "std": 0.020084832319395854,
98
+ "median": 0.007229136307827993,
99
+ "p10": 0.0013560479602371654,
100
+ "p90": 0.024270781268326717,
101
+ "max": 0.2750030926250662,
102
+ "min": 1.787442604333985e-05
103
+ },
104
+ "band_40_80_rel_error": {
105
+ "n": 1000,
106
+ "mean": 0.12469686721593595,
107
+ "std": 0.1043379150320901,
108
+ "median": 0.10056878810795883,
109
+ "p10": 0.025605833435670206,
110
+ "p90": 0.24284015129228984,
111
+ "max": 1.4222585454395356,
112
+ "min": 0.0005003011191510563
113
+ },
114
+ "band_total_rel_error": {
115
+ "n": 1000,
116
+ "mean": 0.04154551705101776,
117
+ "std": 0.02980614200094395,
118
+ "median": 0.03526442836568261,
119
+ "p10": 0.015885667039687114,
120
+ "p90": 0.07193276858923583,
121
+ "max": 0.45975706559314444,
122
+ "min": 0.005863981925321309
123
+ }
124
+ },
125
+ "weighted_freq_prd_percent": {
126
+ "n": 1000,
127
+ "mean": 1.439653560236078,
128
+ "std": 0.5602422896545659,
129
+ "median": 1.3645661163373894,
130
+ "p10": 1.0134443979871834,
131
+ "p90": 1.8138909759378536,
132
+ "max": 8.881547476706116,
133
+ "min": 0.7580006863939245
134
+ },
135
+ "coherence": {
136
+ "n": 1000,
137
+ "mean": 1.0,
138
+ "std": 0.0,
139
+ "median": 1.0,
140
+ "p10": 1.0,
141
+ "p90": 1.0,
142
+ "max": 1.0,
143
+ "min": 1.0
144
+ }
145
+ },
146
+ "physiology": {
147
+ "vs_raw_original": {
148
+ "num_total_pairs": 1000.0,
149
+ "num_valid_pairs": 975.0,
150
+ "hr_mae_bpm": 0.8669765237969512,
151
+ "hr_median_ae_bpm": 0.0,
152
+ "hr_std_ae_bpm": 3.67993007508803,
153
+ "hr_p90_ae_bpm": 0.42038224154210585,
154
+ "hr_max_ae_bpm": 36.46511627906977,
155
+ "hr_bias_bpm": 0.054737622028234116,
156
+ "hr_bias_std_bpm": 3.780282719994251,
157
+ "peak_count_exact_match_pct": 94.76923076923077,
158
+ "total_missed_peaks": 24.0,
159
+ "total_extra_peaks": 27.0,
160
+ "peak_timing_mae_ms": 7.859753024193548,
161
+ "peak_timing_median_ms": 0.0,
162
+ "peak_timing_std_ms": 68.51794491614032,
163
+ "peak_timing_p90_ms": 0.0,
164
+ "peak_timing_max_ms": 984.375,
165
+ "peak_timing_within_10ms_pct": 97.58064516129032,
166
+ "sdnn_mae_ms": 2.844423150553181,
167
+ "sdnn_std_ae_ms": 15.687006728566063,
168
+ "sdnn_p90_ae_ms": 2.2552744890219856,
169
+ "rmssd_mae_ms": 3.3543981953152535,
170
+ "rmssd_std_ae_ms": 18.741413579227924,
171
+ "rmssd_p90_ae_ms": 2.762135864009963
172
+ },
173
+ "vs_filtered_original": {
174
+ "num_total_pairs": 1000.0,
175
+ "num_valid_pairs": 970.0,
176
+ "hr_mae_bpm": 1.2013974485295342,
177
+ "hr_median_ae_bpm": 0.11760652224607071,
178
+ "hr_std_ae_bpm": 4.976347234822551,
179
+ "hr_p90_ae_bpm": 0.6443616740295515,
180
+ "hr_max_ae_bpm": 73.56092232062737,
181
+ "hr_bias_bpm": 0.20077202323682697,
182
+ "hr_bias_std_bpm": 5.115376645521297,
183
+ "peak_count_exact_match_pct": 94.74226804123711,
184
+ "total_missed_peaks": 18.0,
185
+ "total_extra_peaks": 33.0,
186
+ "peak_timing_mae_ms": 8.003281440781441,
187
+ "peak_timing_median_ms": 0.0,
188
+ "peak_timing_std_ms": 61.89883706610075,
189
+ "peak_timing_p90_ms": 3.90625,
190
+ "peak_timing_max_ms": 1050.78125,
191
+ "peak_timing_within_10ms_pct": 97.31379731379731,
192
+ "sdnn_mae_ms": 4.962175615059625,
193
+ "sdnn_std_ae_ms": 21.894805503288016,
194
+ "sdnn_p90_ae_ms": 4.510548978043964,
195
+ "rmssd_mae_ms": 5.72859836092287,
196
+ "rmssd_std_ae_ms": 25.31812949273914,
197
+ "rmssd_p90_ae_ms": 5.524271728019926
198
+ },
199
+ "by_noise_tertile": {
200
+ "thresholds_bp_noise_rms": {
201
+ "clean_max": 0.23421623459772975,
202
+ "median_max": 0.39620782940427585
203
+ },
204
+ "buckets": {
205
+ "clean": {
206
+ "n": 325,
207
+ "hr_mae_bpm": {
208
+ "n": 325,
209
+ "mean": 0.6288052198812718,
210
+ "std": 2.947862123455857,
211
+ "median": 0.0,
212
+ "p10": 0.0,
213
+ "p90": 0.3290134321077062,
214
+ "max": 28.334730840181123,
215
+ "min": 0.0
216
+ },
217
+ "sdnn_mae_ms": {
218
+ "n": 134,
219
+ "mean": 1.844534218598153,
220
+ "std": 11.423172343517486,
221
+ "median": 0.0,
222
+ "p10": 0.0,
223
+ "p90": 2.2552744890219856,
224
+ "max": 130.8059203632746,
225
+ "min": 0.0
226
+ },
227
+ "rmssd_mae_ms": {
228
+ "n": 134,
229
+ "mean": 2.2868392791278724,
230
+ "std": 13.99066809477781,
231
+ "median": 0.0,
232
+ "p10": 0.0,
233
+ "p90": 2.762135864009963,
234
+ "max": 160.20388011257717,
235
+ "min": 0.0
236
+ }
237
+ },
238
+ "median": {
239
+ "n": 325,
240
+ "hr_mae_bpm": {
241
+ "n": 325,
242
+ "mean": 0.8176008724047967,
243
+ "std": 3.859030190658347,
244
+ "median": 0.0,
245
+ "p10": 0.0,
246
+ "p90": 0.296067471334158,
247
+ "max": 36.46511627906977,
248
+ "min": 0.0
249
+ },
250
+ "sdnn_mae_ms": {
251
+ "n": 151,
252
+ "mean": 2.319749843543933,
253
+ "std": 16.923368234556786,
254
+ "median": 0.0,
255
+ "p10": 0.0,
256
+ "p90": 2.621075414011216,
257
+ "max": 207.48525299002176,
258
+ "min": 0.0
259
+ },
260
+ "rmssd_mae_ms": {
261
+ "n": 151,
262
+ "mean": 2.878554830598051,
263
+ "std": 20.7275617730744,
264
+ "median": 0.0,
265
+ "p10": 0.0,
266
+ "p90": 4.7919008301208805,
267
+ "max": 254.1164994889155,
268
+ "min": 0.0
269
+ }
270
+ },
271
+ "noisy": {
272
+ "n": 325,
273
+ "hr_mae_bpm": {
274
+ "n": 325,
275
+ "mean": 1.1545234791047854,
276
+ "std": 4.111180388261722,
277
+ "median": 0.0,
278
+ "p10": 0.0,
279
+ "p90": 1.2078032592662693,
280
+ "max": 33.9985321357425,
281
+ "min": 0.0
282
+ },
283
+ "sdnn_mae_ms": {
284
+ "n": 146,
285
+ "mean": 4.30477100151462,
286
+ "std": 17.52543211359567,
287
+ "median": 0.0,
288
+ "p10": 0.0,
289
+ "p90": 2.2552744890219856,
290
+ "max": 115.17345749137701,
291
+ "min": 0.0
292
+ },
293
+ "rmssd_mae_ms": {
294
+ "n": 146,
295
+ "mean": 4.8263519134070805,
296
+ "std": 20.234591649492263,
297
+ "median": 0.0,
298
+ "p10": 0.0,
299
+ "p90": 2.762135864009963,
300
+ "max": 135.34465733648761,
301
+ "min": 0.0
302
+ }
303
+ }
304
+ }
305
+ }
306
+ },
307
+ "stability": {},
308
+ "by_noise_tertile": {
309
+ "thresholds_bp_noise_rms": {
310
+ "clean_max": 0.23690001429605997,
311
+ "median_max": 0.40077194110556136
312
+ },
313
+ "buckets": {
314
+ "clean": {
315
+ "n": 333,
316
+ "time_domain": {
317
+ "prd_percent": {
318
+ "n": 333,
319
+ "mean": 2.313967235266995,
320
+ "std": 0.7331299573742671,
321
+ "median": 2.210937060225734,
322
+ "p10": 1.6117560572787668,
323
+ "p90": 3.1382730565910695,
324
+ "max": 10.39626672882875,
325
+ "min": 1.2054849072245992
326
+ },
327
+ "prdn_noise_percent": {
328
+ "n": 333,
329
+ "mean": 0.0,
330
+ "std": 0.0,
331
+ "median": 0.0,
332
+ "p10": 0.0,
333
+ "p90": 0.0,
334
+ "max": 0.0,
335
+ "min": 0.0
336
+ },
337
+ "rmse": {
338
+ "n": 333,
339
+ "mean": 0.022341405482970898,
340
+ "std": 0.00701390305862617,
341
+ "median": 0.02123268722315386,
342
+ "p10": 0.01592255176054937,
343
+ "p90": 0.030147265647780364,
344
+ "max": 0.10052873318106462,
345
+ "min": 0.011957937548420443
346
+ },
347
+ "cosine_similarity": {
348
+ "n": 333,
349
+ "mean": 0.9997275758076001,
350
+ "std": 0.000234013931579992,
351
+ "median": 0.9997747540473938,
352
+ "p10": 0.9995248794555665,
353
+ "p90": 0.9998881578445434,
354
+ "max": 0.9999309182167053,
355
+ "min": 0.9963755011558533
356
+ }
357
+ },
358
+ "spectral": {
359
+ "band_total_rel_error": {
360
+ "n": 333,
361
+ "mean": 0.04325589575735329,
362
+ "std": 0.03450187078211612,
363
+ "median": 0.036268762956926895,
364
+ "p10": 0.016390903480153155,
365
+ "p90": 0.0776907263777401,
366
+ "max": 0.45975706559314444,
367
+ "min": 0.0068411704888633185
368
+ },
369
+ "weighted_freq_prd_percent": {
370
+ "n": 333,
371
+ "mean": 1.3448065565431382,
372
+ "std": 0.507481600957364,
373
+ "median": 1.323521744557355,
374
+ "p10": 0.9795195978052528,
375
+ "p90": 1.675179052829949,
376
+ "max": 8.881547476706116,
377
+ "min": 0.7580006863939245
378
+ },
379
+ "coherence": {
380
+ "n": 333,
381
+ "mean": 1.0,
382
+ "std": 0.0,
383
+ "median": 1.0,
384
+ "p10": 1.0,
385
+ "p90": 1.0,
386
+ "max": 1.0,
387
+ "min": 1.0
388
+ }
389
+ }
390
+ },
391
+ "median": {
392
+ "n": 334,
393
+ "time_domain": {
394
+ "prd_percent": {
395
+ "n": 334,
396
+ "mean": 2.498688166620982,
397
+ "std": 0.7235792086593655,
398
+ "median": 2.305366093363788,
399
+ "p10": 1.7517749221488585,
400
+ "p90": 3.5918640485955304,
401
+ "max": 5.851817311800348,
402
+ "min": 1.396423573448775
403
+ },
404
+ "prdn_noise_percent": {
405
+ "n": 334,
406
+ "mean": 0.0,
407
+ "std": 0.0,
408
+ "median": 0.0,
409
+ "p10": 0.0,
410
+ "p90": 0.0,
411
+ "max": 0.0,
412
+ "min": 0.0
413
+ },
414
+ "rmse": {
415
+ "n": 334,
416
+ "mean": 0.024012217498583382,
417
+ "std": 0.006941719739694149,
418
+ "median": 0.022097070100891902,
419
+ "p10": 0.01703803830570466,
420
+ "p90": 0.03459437449718301,
421
+ "max": 0.05771591327534725,
422
+ "min": 0.013864327105495233
423
+ },
424
+ "cosine_similarity": {
425
+ "n": 334,
426
+ "mean": 0.999676824508313,
427
+ "std": 0.00021398168878785308,
428
+ "median": 0.9997450709342957,
429
+ "p10": 0.9993778169155121,
430
+ "p90": 0.9998663127422333,
431
+ "max": 0.9999274611473083,
432
+ "min": 0.9983343482017517
433
+ }
434
+ },
435
+ "spectral": {
436
+ "band_total_rel_error": {
437
+ "n": 334,
438
+ "mean": 0.03950979269976974,
439
+ "std": 0.023918144417395624,
440
+ "median": 0.03520503289452995,
441
+ "p10": 0.014953319604635994,
442
+ "p90": 0.0655533675686225,
443
+ "max": 0.19155004791711677,
444
+ "min": 0.006441409387711022
445
+ },
446
+ "weighted_freq_prd_percent": {
447
+ "n": 334,
448
+ "mean": 1.3795227586584784,
449
+ "std": 0.3095866043689631,
450
+ "median": 1.3481077251067075,
451
+ "p10": 1.0119445265198932,
452
+ "p90": 1.753554535128776,
453
+ "max": 3.116552776205541,
454
+ "min": 0.7952759321155051
455
+ },
456
+ "coherence": {
457
+ "n": 334,
458
+ "mean": 1.0,
459
+ "std": 0.0,
460
+ "median": 1.0,
461
+ "p10": 1.0,
462
+ "p90": 1.0,
463
+ "max": 1.0,
464
+ "min": 1.0
465
+ }
466
+ }
467
+ },
468
+ "noisy": {
469
+ "n": 333,
470
+ "time_domain": {
471
+ "prd_percent": {
472
+ "n": 333,
473
+ "mean": 2.8040620725774548,
474
+ "std": 1.3509430409553775,
475
+ "median": 2.461731399042884,
476
+ "p10": 1.829819403061356,
477
+ "p90": 3.803853549199361,
478
+ "max": 12.137521517007082,
479
+ "min": 1.307531241364194
480
+ },
481
+ "prdn_noise_percent": {
482
+ "n": 333,
483
+ "mean": 0.0,
484
+ "std": 0.0,
485
+ "median": 0.0,
486
+ "p10": 0.0,
487
+ "p90": 0.0,
488
+ "max": 0.0,
489
+ "min": 0.0
490
+ },
491
+ "rmse": {
492
+ "n": 333,
493
+ "mean": 0.02701092640190035,
494
+ "std": 0.013339365139743996,
495
+ "median": 0.02337598675669733,
496
+ "p10": 0.017831497052932133,
497
+ "p90": 0.03665388463275225,
498
+ "max": 0.12084790623553272,
499
+ "min": 0.012964486477314817
500
+ },
501
+ "cosine_similarity": {
502
+ "n": 333,
503
+ "mean": 0.999534766237299,
504
+ "std": 0.0007139502672296291,
505
+ "median": 0.9997183084487915,
506
+ "p10": 0.9992904663085938,
507
+ "p90": 0.9998472690582275,
508
+ "max": 0.9999239444732666,
509
+ "min": 0.9931392669677734
510
+ }
511
+ },
512
+ "spectral": {
513
+ "band_total_rel_error": {
514
+ "n": 333,
515
+ "mean": 0.04187697598227034,
516
+ "std": 0.02994193780473996,
517
+ "median": 0.034874199841574804,
518
+ "p10": 0.01595305147824778,
519
+ "p90": 0.07246676542893118,
520
+ "max": 0.2637093474008155,
521
+ "min": 0.005863981925321309
522
+ },
523
+ "weighted_freq_prd_percent": {
524
+ "n": 333,
525
+ "mean": 1.5948119384843278,
526
+ "std": 0.7430954972954366,
527
+ "median": 1.4360888372230962,
528
+ "p10": 1.107834478375154,
529
+ "p90": 2.0359265633538834,
530
+ "max": 7.334448156454615,
531
+ "min": 0.8426306282162719
532
+ },
533
+ "coherence": {
534
+ "n": 333,
535
+ "mean": 1.0,
536
+ "std": 0.0,
537
+ "median": 1.0,
538
+ "p10": 1.0,
539
+ "p90": 1.0,
540
+ "max": 1.0,
541
+ "min": 1.0
542
+ }
543
+ }
544
+ }
545
+ }
546
+ },
547
+ "context": {
548
+ "noise_power": {
549
+ "n": 1000,
550
+ "mean": 0.2292554702483937,
551
+ "std": 0.44075369101773976,
552
+ "median": 0.08981167012796268,
553
+ "p10": 0.020349667425025475,
554
+ "p90": 0.5010796065070958,
555
+ "max": 4.247943965436807,
556
+ "min": 0.0020749175385345363
557
+ },
558
+ "noise_rms": {
559
+ "n": 1000,
560
+ "mean": 0.3840741510057308,
561
+ "std": 0.285906482573622,
562
+ "median": 0.29968463986554983,
563
+ "p10": 0.14265225240529536,
564
+ "p90": 0.7078695602998853,
565
+ "max": 2.0610540908566195,
566
+ "min": 0.045551262754555295
567
+ },
568
+ "qrs_snr_db": {
569
+ "n": 49,
570
+ "mean": 12.747962926385695,
571
+ "std": 5.666404867582915,
572
+ "median": 13.520409898438427,
573
+ "p10": 5.767745214073856,
574
+ "p90": 19.85769692557156,
575
+ "max": 24.488448753749207,
576
+ "min": -1.2419224266634956
577
+ }
578
+ }
579
+ }
sample_stimulus.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e6d285c9d4faee09e17e16923d6b2f29bc77718ed5505e44eec851af9451398f
3
+ size 3072774