diff --git a/Dockerfile b/Dockerfile
index 2ed7f6f..afe1736 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -28,5 +28,9 @@ RUN mkdir -p /app/data
ENV ENV_FILE=/app/.env
ENV DATA_DIR=/app/data
-# Set the entrypoint to run the CLI
-ENTRYPOINT ["python", "-m", "garminsync.cli"]
\ No newline at end of file
+# Expose web UI port
+EXPOSE 8080
+
+# Update entrypoint to support daemon mode
+ENTRYPOINT ["python", "-m", "garminsync.cli"]
+CMD ["--help"]
diff --git a/data/activity_182325896_2012-05-26_23-37-18.fit b/data/activity_182325896_2012-05-26_23-37-18.fit
new file mode 100644
index 0000000..ce7e53f
--- /dev/null
+++ b/data/activity_182325896_2012-05-26_23-37-18.fit
@@ -0,0 +1,26114 @@
+
+
+
+
+ 2012-05-26T23:37:18.000Z
+
+ 302.933
+ 0.0
+ 318
+
+ 164
+
+
+ 179
+
+ Active
+ Manual
+
+
+
+
+
+
+ 0.471
+ 0.0
+ 0
+
+ 130
+
+
+ 130
+
+ Active
+ Manual
+
+
+
+
+
+
+ 5.123
+ 0.0
+ 0
+
+ 128
+
+
+ 129
+
+ Active
+ Manual
+
+
+
+
+
+
+ 49.1
+ 0.0
+ 34
+
+ 139
+
+
+ 162
+
+ Active
+ Manual
+
+
+
+
+
+
+ 12.77
+ 0.0
+ 8
+
+ 145
+
+
+ 152
+
+ Active
+ Manual
+
+
+
+
+
+
+ 43.03
+ 0.0
+ 34
+
+ 144
+
+
+ 161
+
+ Active
+ Manual
+
+
+
+
+
+
+ 16.971
+ 0.0
+ 13
+
+ 148
+
+
+ 157
+
+ Active
+ Manual
+
+
+
+
+
+
+ 39.929
+ 0.0
+ 34
+
+ 148
+
+
+ 165
+
+ Active
+ Manual
+
+
+
+
+
+
+ 19.071
+ 0.0
+ 17
+
+ 150
+
+
+ 165
+
+ Active
+ Manual
+
+
+
+
+
+
+ 46.012
+ 0.0
+ 38
+
+ 148
+
+
+ 167
+
+ Active
+ Manual
+
+
+
+
+
+
+ 28.99
+ 0.0
+ 25
+
+ 149
+
+
+ 167
+
+ Active
+ Manual
+
+
+
+
+
+
+ 43.009
+ 0.0
+ 34
+
+ 145
+
+
+ 165
+
+ Active
+ Manual
+
+
+
+
+
+
+ 21.989
+ 0.0
+ 21
+
+ 151
+
+
+ 165
+
+ Active
+ Manual
+
+
+
+
+
+
+ 52.354
+ 0.0
+ 46
+
+ 152
+
+
+ 172
+
+ Active
+ Manual
+
+
+
+
+
+
+ 39.646
+ 0.0
+ 38
+
+ 147
+
+
+ 169
+
+ Active
+ Manual
+
+
+
+
+
+
+ 43.029
+ 0.0
+ 38
+
+ 150
+
+
+ 170
+
+ Active
+ Manual
+
+
+
+
+
+
+ 58.971
+ 0.0
+ 50
+
+ 147
+
+
+ 170
+
+ Active
+ Manual
+
+
+
+
+
+
+ 63.204
+ 0.0
+ 46
+
+ 144
+
+
+ 166
+
+ Active
+ Manual
+
+
+
+
+
+
+ 23.801
+ 0.0
+ 21
+
+ 152
+
+
+ 166
+
+ Active
+ Manual
+
+
+
+
+
+
+ 49.799
+ 0.0
+ 38
+
+ 149
+
+
+ 173
+
+ Active
+ Manual
+
+
+
+
+
+
+ 36.196
+ 0.0
+ 34
+
+ 154
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+
+
+
+ 54.554
+ 0.0
+ 46
+
+ 153
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+
+
+
+ 50.446
+ 0.0
+ 46
+
+ 151
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+
+
+
+ 60.605
+ 0.0
+ 29
+
+ 131
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 17.349
+ 0.0
+ 8
+
+ 130
+
+
+ 135
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.046
+ 0.0
+ 0
+
+ 128
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 14.204
+ 0.0
+ 4
+
+ 131
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+
+
+
+ 8.796
+ 0.0
+ 4
+
+ 141
+
+
+ 143
+
+ Active
+ Manual
+
+
+
+
+
+
+ 15.011
+ 0.0
+ 8
+
+ 136
+
+
+ 142
+
+ Active
+ Manual
+
+
+
+
+
+
+ 10.989
+ 0.0
+ 8
+
+ 143
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 16.404
+ 0.0
+ 8
+
+ 135
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 13.596
+ 0.0
+ 8
+
+ 143
+
+
+ 145
+
+ Active
+ Manual
+
+
+
+
+
+
+ 20.304
+ 0.0
+ 13
+
+ 136
+
+
+ 141
+
+ Active
+ Manual
+
+
+
+
+
+
+ 7.7
+ 0.0
+ 4
+
+ 143
+
+
+ 144
+
+ Active
+ Manual
+
+
+
+
+
+
+ 18.575
+ 0.0
+ 8
+
+ 134
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+
+
+
+ 15.421
+ 0.0
+ 8
+
+ 142
+
+
+ 145
+
+ Active
+ Manual
+
+
+
+
+
+
+ 15.229
+ 0.0
+ 8
+
+ 136
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 32.776
+ 0.0
+ 25
+
+ 144
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 23.024
+ 0.0
+ 13
+
+ 133
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.971
+ 0.0
+ 0
+
+ 137
+
+
+ 137
+
+ Active
+ Manual
+
+
+
+
+
+
+ 17.229
+ 0.0
+ 8
+
+ 139
+
+
+ 142
+
+ Active
+ Manual
+
+
+
+
+
+
+ 41.771
+ 0.0
+ 34
+
+ 144
+
+
+ 147
+
+ Active
+ Manual
+
+
+
+
+
+
+ 15.329
+ 0.0
+ 8
+
+ 134
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.671
+ 0.0
+ 0
+
+ 133
+
+
+ 133
+
+ Active
+ Manual
+
+
+
+
+
+
+ 110.079
+ 0.0
+ 63
+
+ 133
+
+
+ 136
+
+ Active
+ Manual
+
+
+
+
+
+
+ 13.613
+ 0.0
+ 4
+
+ 131
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 7.308
+ 0.0
+ 4
+
+ 143
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 13.929
+ 0.0
+ 8
+
+ 138
+
+
+ 145
+
+ Active
+ Manual
+
+
+
+
+
+
+ 7.071
+ 0.0
+ 4
+
+ 145
+
+
+ 149
+
+ Active
+ Manual
+
+
+
+
+
+
+ 15.379
+ 0.0
+ 8
+
+ 137
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 7.621
+ 0.0
+ 4
+
+ 144
+
+
+ 148
+
+ Active
+ Manual
+
+
+
+
+
+
+ 15.354
+ 0.0
+ 8
+
+ 134
+
+
+ 142
+
+ Active
+ Manual
+
+
+
+
+
+
+ 8.646
+ 0.0
+ 4
+
+ 146
+
+
+ 150
+
+ Active
+ Manual
+
+
+
+
+
+
+ 15.254
+ 0.0
+ 8
+
+ 138
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 9.746
+ 0.0
+ 8
+
+ 148
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ 17.104
+ 0.0
+ 8
+
+ 138
+
+
+ 149
+
+ Active
+ Manual
+
+
+
+
+
+
+ 12.896
+ 0.0
+ 8
+
+ 148
+
+
+ 155
+
+ Active
+ Manual
+
+
+
+
+
+
+ 16.717
+ 0.0
+ 8
+
+ 138
+
+
+ 149
+
+ Active
+ Manual
+
+
+
+
+
+
+ 9.283
+ 0.0
+ 8
+
+ 150
+
+
+ 156
+
+ Active
+ Manual
+
+
+
+
+
+
+ 16.279
+ 0.0
+ 8
+
+ 138
+
+
+ 149
+
+ Active
+ Manual
+
+
+
+
+
+
+ 12.725
+ 0.0
+ 8
+
+ 147
+
+
+ 154
+
+ Active
+ Manual
+
+
+
+
+
+
+ 15.3
+ 0.0
+ 8
+
+ 137
+
+
+ 147
+
+ Active
+ Manual
+
+
+
+
+
+
+ 8.696
+ 0.0
+ 4
+
+ 149
+
+
+ 154
+
+ Active
+ Manual
+
+
+
+
+
+
+ 17.354
+ 0.0
+ 8
+
+ 141
+
+
+ 154
+
+ Active
+ Manual
+
+
+
+
+
+
+ 10.646
+ 0.0
+ 8
+
+ 146
+
+
+ 154
+
+ Active
+ Manual
+
+
+
+
+
+
+ 74.204
+ 0.0
+ 38
+
+ 131
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+
+
+
+ 30.825
+ 0.0
+ 21
+
+ 140
+
+
+ 149
+
+ Active
+ Manual
+
+
+
+
+
+
+ 41.971
+ 0.0
+ 38
+
+ 149
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ 37.283
+ 0.0
+ 21
+
+ 137
+
+
+ 143
+
+ Active
+ Manual
+
+
+
+
+
+
+ 42.721
+ 0.0
+ 34
+
+ 146
+
+
+ 149
+
+ Active
+ Manual
+
+
+
+
+
+
+ 31.2
+ 0.0
+ 17
+
+ 137
+
+
+ 144
+
+ Active
+ Manual
+
+
+
+
+
+
+ 25.796
+ 0.0
+ 21
+
+ 147
+
+
+ 149
+
+ Active
+ Manual
+
+
+
+
+
+
+ 37.029
+ 0.0
+ 25
+
+ 139
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 9.971
+ 0.0
+ 4
+
+ 147
+
+
+ 150
+
+ Active
+ Manual
+
+
+
+
+
+
+ 36.717
+ 0.0
+ 25
+
+ 145
+
+
+ 158
+
+ Active
+ Manual
+
+
+
+
+
+
+ 48.283
+ 0.0
+ 46
+
+ 153
+
+
+ 161
+
+ Active
+ Manual
+
+
+
+
+
+
+ 31.692
+ 0.0
+ 17
+
+ 136
+
+
+ 144
+
+ Active
+ Manual
+
+
+
+
+
+
+ 42.31
+ 0.0
+ 34
+
+ 145
+
+
+ 151
+
+ Active
+ Manual
+
+
+
+
+
+
+ 29.752
+ 0.0
+ 17
+
+ 137
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 45.246
+ 0.0
+ 38
+
+ 146
+
+
+ 151
+
+ Active
+ Manual
+
+
+
+
+
+
+ 32.579
+ 0.0
+ 17
+
+ 138
+
+
+ 147
+
+ Active
+ Manual
+
+
+
+
+
+
+ 39.425
+ 0.0
+ 34
+
+ 146
+
+
+ 151
+
+ Active
+ Manual
+
+
+
+
+
+
+ 32.775
+ 0.0
+ 17
+
+ 136
+
+
+ 144
+
+ Active
+ Manual
+
+
+
+
+
+
+ 47.221
+ 0.0
+ 38
+
+ 147
+
+
+ 152
+
+ Active
+ Manual
+
+
+
+
+
+
+ 28.454
+ 0.0
+ 13
+
+ 138
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 58.551
+ 0.0
+ 50
+
+ 148
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ 0.908
+ 0.0
+ 0
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_183140834_2012-05-28_14-56-43.fit b/data/activity_183140834_2012-05-28_14-56-43.fit
new file mode 100644
index 0000000..78036b2
--- /dev/null
+++ b/data/activity_183140834_2012-05-28_14-56-43.fit
@@ -0,0 +1,25112 @@
+
+
+
+
+ 2012-05-28T18:56:43.000Z
+
+ 336.93
+ 1000.0
+ 3.2420001
+ 365
+
+ 164
+
+
+ 173
+
+ Active
+ Manual
+
+
+
+ 2.9680001999999996
+
+
+
+
+ 355.188
+ 1000.0
+ 3.0270002
+ 398
+
+ 170
+
+
+ 176
+
+ Active
+ Manual
+
+
+
+ 2.8150000999999993
+
+
+
+
+ 390.978
+ 1000.0
+ 3.0080001
+ 432
+
+ 169
+
+
+ 179
+
+ Active
+ Manual
+
+
+
+ 2.5580001
+
+
+
+
+ 374.033
+ 1000.0
+ 3.0210001
+ 453
+
+ 179
+
+
+ 185
+
+ Active
+ Manual
+
+
+
+ 2.674
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_183328670_2012-05-29_10-42-46.fit b/data/activity_183328670_2012-05-29_10-42-46.fit
new file mode 100644
index 0000000..8761136
--- /dev/null
+++ b/data/activity_183328670_2012-05-29_10-42-46.fit
@@ -0,0 +1,15185 @@
+
+
+
+
+ 2012-05-29T10:42:46.000Z
+
+ 334.858
+ 0.0
+ 297
+
+ 155
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+
+
+
+ 36.921
+ 0.0
+ 34
+
+ 154
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+
+
+
+ 320.179
+ 0.0
+ 155
+
+ 121
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 38.725
+ 0.0
+ 8
+
+ 106
+
+
+ 111
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.096
+ 0.0
+ 0
+
+ 111
+
+
+ 111
+
+ Active
+ Manual
+
+
+
+
+
+
+ 34.254
+ 0.0
+ 8
+
+ 110
+
+
+ 116
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.746
+ 0.0
+ 0
+
+ 116
+
+
+ 116
+
+ Active
+ Manual
+
+
+
+
+
+
+ 53.904
+ 0.0
+ 13
+
+ 106
+
+
+ 115
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.096
+ 0.0
+ 0
+
+ 112
+
+
+ 112
+
+ Active
+ Manual
+
+
+
+
+
+
+ 84.704
+ 0.0
+ 29
+
+ 114
+
+
+ 119
+
+ Active
+ Manual
+
+
+
+
+
+
+ 32.25
+ 0.0
+ 13
+
+ 122
+
+
+ 137
+
+ Active
+ Manual
+
+
+
+
+
+
+ 31.046
+ 0.0
+ 25
+
+ 144
+
+
+ 149
+
+ Active
+ Manual
+
+
+
+
+
+
+ 37.429
+ 0.0
+ 21
+
+ 132
+
+
+ 142
+
+ Active
+ Manual
+
+
+
+
+
+
+ 34.571
+ 0.0
+ 29
+
+ 148
+
+
+ 156
+
+ Active
+ Manual
+
+
+
+
+
+
+ 50.58
+ 0.0
+ 25
+
+ 129
+
+
+ 142
+
+ Active
+ Manual
+
+
+
+
+
+
+ 36.42
+ 0.0
+ 29
+
+ 146
+
+
+ 152
+
+ Active
+ Manual
+
+
+
+
+
+
+ 92.054
+ 0.0
+ 38
+
+ 118
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 24.35
+ 0.0
+ 4
+
+ 119
+
+
+ 134
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.601
+ 0.0
+ 0
+
+ 134
+
+
+ 134
+
+ Active
+ Manual
+
+
+
+
+
+
+ 38.524
+ 0.0
+ 17
+
+ 126
+
+
+ 142
+
+ Active
+ Manual
+
+
+
+
+
+
+ 2.471
+ 0.0
+ 0
+
+ 140
+
+
+ 142
+
+ Active
+ Manual
+
+
+
+
+
+
+ 47.854
+ 0.0
+ 21
+
+ 123
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.146
+ 0.0
+ 0
+
+ 138
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+
+
+
+ 70.01
+ 0.0
+ 25
+
+ 117
+
+
+ 135
+
+ Active
+ Manual
+
+
+
+
+
+
+ 37.632
+ 0.0
+ 13
+
+ 121
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.358
+ 0.0
+ 0
+
+ 119
+
+
+ 119
+
+ Active
+ Manual
+
+
+
+
+
+
+ 74.804
+ 0.0
+ 34
+
+ 125
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.196
+ 0.0
+ 0
+
+ 138
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+
+
+
+ 64.954
+ 0.0
+ 42
+
+ 138
+
+
+ 147
+
+ Active
+ Manual
+
+
+
+
+
+
+ 6.052
+ 0.0
+ 4
+
+ 143
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_183675234_2012-05-30_10-42-25.fit b/data/activity_183675234_2012-05-30_10-42-25.fit
new file mode 100644
index 0000000..aa6c005
--- /dev/null
+++ b/data/activity_183675234_2012-05-30_10-42-25.fit
@@ -0,0 +1,16625 @@
+
+
+
+
+ 2012-05-30T10:42:25.000Z
+
+ 335.534
+ 0.0
+ 302
+
+ 156
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+
+
+
+ 35.042
+ 0.0
+ 34
+
+ 156
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+
+
+
+ 237.283
+ 0.0
+ 126
+
+ 124
+
+
+ 140
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1191.276
+ 0.0
+ 1064
+
+ 155
+
+
+ 176
+
+ Active
+ Manual
+
+
+
+
+
+
+ 24.449
+ 0.0
+ 17
+
+ 145
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ 0.933
+ 0.0
+ 0
+
+ 144
+
+
+ 144
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_183973896_2012-05-31_10-43-02.fit b/data/activity_183973896_2012-05-31_10-43-02.fit
new file mode 100644
index 0000000..189ca0a
--- /dev/null
+++ b/data/activity_183973896_2012-05-31_10-43-02.fit
@@ -0,0 +1,19577 @@
+
+
+
+
+ 2012-05-31T10:43:02.000Z
+
+ 325.671
+ 0.0
+ 310
+
+ 163
+
+
+ 177
+
+ Active
+ Manual
+
+
+
+
+
+
+ 50.396
+ 0.0
+ 42
+
+ 151
+
+
+ 177
+
+ Active
+ Manual
+
+
+
+
+
+
+ 349.291
+ 0.0
+ 184
+
+ 125
+
+
+ 142
+
+ Active
+ Manual
+
+
+
+
+
+
+ 65.55
+ 0.0
+ 46
+
+ 148
+
+
+ 172
+
+ Active
+ Manual
+
+
+
+
+
+
+ 72.166
+ 0.0
+ 59
+
+ 147
+
+
+ 167
+
+ Active
+ Manual
+
+
+
+
+
+
+ 53.734
+ 0.0
+ 38
+
+ 145
+
+
+ 169
+
+ Active
+ Manual
+
+
+
+
+
+
+ 54.261
+ 0.0
+ 46
+
+ 147
+
+
+ 167
+
+ Active
+ Manual
+
+
+
+
+
+
+ 55.389
+ 0.0
+ 38
+
+ 148
+
+
+ 176
+
+ Active
+ Manual
+
+
+
+
+
+
+ 148.613
+ 0.0
+ 105
+
+ 140
+
+
+ 175
+
+ Active
+ Manual
+
+
+
+
+
+
+ 51.412
+ 0.0
+ 21
+
+ 127
+
+
+ 134
+
+ Active
+ Manual
+
+
+
+
+
+
+ 25.213
+ 0.0
+ 8
+
+ 123
+
+
+ 141
+
+ Active
+ Manual
+
+
+
+
+
+
+ 55.371
+ 0.0
+ 38
+
+ 139
+
+
+ 144
+
+ Active
+ Manual
+
+
+
+
+
+
+ 27.491
+ 0.0
+ 8
+
+ 122
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+
+
+
+ 40.509
+ 0.0
+ 25
+
+ 135
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 34.579
+ 0.0
+ 8
+
+ 120
+
+
+ 136
+
+ Active
+ Manual
+
+
+
+
+
+
+ 22.421
+ 0.0
+ 13
+
+ 135
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 57.416
+ 0.0
+ 25
+
+ 128
+
+
+ 133
+
+ Active
+ Manual
+
+
+
+
+
+
+ 23.165
+ 0.0
+ 8
+
+ 133
+
+
+ 152
+
+ Active
+ Manual
+
+
+
+
+
+
+ 25.419
+ 0.0
+ 17
+
+ 142
+
+
+ 154
+
+ Active
+ Manual
+
+
+
+
+
+
+ 25.441
+ 0.0
+ 13
+
+ 136
+
+
+ 160
+
+ Active
+ Manual
+
+
+
+
+
+
+ 28.559
+ 0.0
+ 21
+
+ 145
+
+
+ 163
+
+ Active
+ Manual
+
+
+
+
+
+
+ 26.891
+ 0.0
+ 13
+
+ 141
+
+
+ 161
+
+ Active
+ Manual
+
+
+
+
+
+
+ 30.109
+ 0.0
+ 21
+
+ 145
+
+
+ 164
+
+ Active
+ Manual
+
+
+
+
+
+
+ 81.391
+ 0.0
+ 42
+
+ 133
+
+
+ 145
+
+ Active
+ Manual
+
+
+
+
+
+
+ 38.9
+ 0.0
+ 29
+
+ 145
+
+
+ 151
+
+ Active
+ Manual
+
+
+
+
+
+
+ 139.709
+ 0.0
+ 96
+
+ 141
+
+
+ 157
+
+ Active
+ Manual
+
+
+
+
+
+
+ 52.019
+ 0.0
+ 25
+
+ 133
+
+
+ 157
+
+ Active
+ Manual
+
+
+
+
+
+
+ 20.981
+ 0.0
+ 17
+
+ 144
+
+
+ 158
+
+ Active
+ Manual
+
+
+
+
+
+
+ 70.941
+ 0.0
+ 54
+
+ 150
+
+
+ 172
+
+ Active
+ Manual
+
+
+
+
+
+
+ 28.064
+ 0.0
+ 25
+
+ 150
+
+
+ 172
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_185490105_2012-06-02_15-18-44.fit b/data/activity_185490105_2012-06-02_15-18-44.fit
new file mode 100644
index 0000000..c7269f2
--- /dev/null
+++ b/data/activity_185490105_2012-06-02_15-18-44.fit
@@ -0,0 +1,7555 @@
+
+
+
+
+ 2012-06-02T19:18:44.000Z
+
+ 71.522
+ 200.0
+ 3.000999927520752
+ 54
+
+ 138
+
+
+ 152
+
+ Active
+ Manual
+
+
+
+ 2.7960000038146973
+
+
+
+
+ 116.311
+ 200.0
+ 2.687999963760376
+ 80
+
+ 130
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+ 1.7200000286102295
+
+
+
+
+ 74.393
+ 200.0
+ 2.9609999656677246
+ 54
+
+ 137
+
+
+ 152
+
+ Active
+ Manual
+
+
+
+ 2.687999963760376
+
+
+
+
+ 118.573
+ 200.0
+ 2.619999885559082
+ 80
+
+ 129
+
+
+ 152
+
+ Active
+ Manual
+
+
+
+ 1.6870000362396242
+
+
+
+
+ 50.159
+ 122.37
+ 2.884000062942505
+ 34
+
+ 131
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+ 2.440000057220459
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_185490109_2012-06-04_10-50-24.fit b/data/activity_185490109_2012-06-04_10-50-24.fit
new file mode 100644
index 0000000..52906cf
--- /dev/null
+++ b/data/activity_185490109_2012-06-04_10-50-24.fit
@@ -0,0 +1,20540 @@
+
+
+
+
+ 2012-06-04T10:50:24.000Z
+
+ 338.533
+ 0.0
+ 281
+
+ 146
+
+
+ 165
+
+ Active
+ Manual
+
+
+
+
+
+
+ 20.578
+ 0.0
+ 17
+
+ 152
+
+
+ 164
+
+ Active
+ Manual
+
+
+
+
+
+
+ 311.243
+ 0.0
+ 147
+
+ 115
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 71.179
+ 0.0
+ 17
+
+ 103
+
+
+ 114
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.578
+ 0.0
+ 0
+
+ 109
+
+
+ 109
+
+ Active
+ Manual
+
+
+
+
+
+
+ 82.497
+ 0.0
+ 21
+
+ 102
+
+
+ 117
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.506
+ 0.0
+ 0
+
+ 116
+
+
+ 116
+
+ Active
+ Manual
+
+
+
+
+
+
+ 94.519
+ 0.0
+ 25
+
+ 106
+
+
+ 119
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.478
+ 0.0
+ 0
+
+ 114
+
+
+ 114
+
+ Active
+ Manual
+
+
+
+
+
+
+ 77.397
+ 0.0
+ 25
+
+ 110
+
+
+ 116
+
+ Active
+ Manual
+
+
+
+
+
+
+ 66.1
+ 0.0
+ 42
+
+ 136
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ 54.503
+ 0.0
+ 42
+
+ 144
+
+
+ 157
+
+ Active
+ Manual
+
+
+
+
+
+
+ 74.072
+ 0.0
+ 50
+
+ 137
+
+
+ 167
+
+ Active
+ Manual
+
+
+
+
+
+
+ 50.928
+ 0.0
+ 42
+
+ 145
+
+
+ 167
+
+ Active
+ Manual
+
+
+
+
+
+
+ 79.397
+ 0.0
+ 54
+
+ 138
+
+
+ 166
+
+ Active
+ Manual
+
+
+
+
+
+
+ 23.603
+ 0.0
+ 21
+
+ 155
+
+
+ 168
+
+ Active
+ Manual
+
+
+
+
+
+
+ 101.497
+ 0.0
+ 54
+
+ 125
+
+
+ 130
+
+ Active
+ Manual
+
+
+
+
+
+
+ 29.1
+ 0.0
+ 13
+
+ 133
+
+
+ 159
+
+ Active
+ Manual
+
+
+
+
+
+
+ 14.403
+ 0.0
+ 13
+
+ 144
+
+
+ 161
+
+ Active
+ Manual
+
+
+
+
+
+
+ 40.172
+ 0.0
+ 25
+
+ 140
+
+
+ 166
+
+ Active
+ Manual
+
+
+
+
+
+
+ 22.828
+ 0.0
+ 17
+
+ 144
+
+
+ 166
+
+ Active
+ Manual
+
+
+
+
+
+
+ 48.297
+ 0.0
+ 25
+
+ 136
+
+
+ 167
+
+ Active
+ Manual
+
+
+
+
+
+
+ 29.703
+ 0.0
+ 21
+
+ 143
+
+
+ 167
+
+ Active
+ Manual
+
+
+
+
+
+
+ 117.622
+ 0.0
+ 63
+
+ 128
+
+
+ 134
+
+ Active
+ Manual
+
+
+
+
+
+
+ 73.85
+ 0.0
+ 46
+
+ 141
+
+
+ 164
+
+ Active
+ Manual
+
+
+
+
+
+
+ 71.528
+ 0.0
+ 54
+
+ 144
+
+
+ 164
+
+ Active
+ Manual
+
+
+
+
+
+
+ 78.845
+ 0.0
+ 54
+
+ 145
+
+
+ 169
+
+ Active
+ Manual
+
+
+
+
+
+
+ 79.155
+ 0.0
+ 63
+
+ 146
+
+
+ 169
+
+ Active
+ Manual
+
+
+
+
+
+
+ 87.397
+ 0.0
+ 63
+
+ 148
+
+
+ 171
+
+ Active
+ Manual
+
+
+
+
+
+
+ 44.614
+ 0.0
+ 38
+
+ 150
+
+
+ 171
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_185822229_2012-06-05_10-47-19.fit b/data/activity_185822229_2012-06-05_10-47-19.fit
new file mode 100644
index 0000000..033c0b7
--- /dev/null
+++ b/data/activity_185822229_2012-06-05_10-47-19.fit
@@ -0,0 +1,20657 @@
+
+
+
+
+ 2012-06-05T10:47:19.000Z
+
+ 328.433
+ 0.0
+ 289
+
+ 153
+
+
+ 171
+
+ Active
+ Manual
+
+
+
+
+
+
+ 28.534
+ 0.0
+ 25
+
+ 154
+
+
+ 171
+
+ Active
+ Manual
+
+
+
+
+
+
+ 307.641
+ 0.0
+ 147
+
+ 119
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1573.175
+ 0.0
+ 1404
+
+ 154
+
+
+ 179
+
+ Active
+ Manual
+
+
+
+
+
+
+ 39.69
+ 0.0
+ 34
+
+ 152
+
+
+ 160
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_187772778_2012-06-07_11-01-07.fit b/data/activity_187772778_2012-06-07_11-01-07.fit
new file mode 100644
index 0000000..d5e4916
--- /dev/null
+++ b/data/activity_187772778_2012-06-07_11-01-07.fit
@@ -0,0 +1,23312 @@
+
+
+
+
+ 2012-06-07T11:01:07.000Z
+
+ 314.63
+ 0.0
+ 277
+
+ 153
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+
+
+
+ 40.667
+ 0.0
+ 38
+
+ 156
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+
+
+
+ 323.283
+ 0.0
+ 151
+
+ 119
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1788.313
+ 0.0
+ 1693
+
+ 161
+
+
+ 189
+
+ Active
+ Manual
+
+
+
+
+
+
+ 104.409
+ 0.0
+ 88
+
+ 155
+
+
+ 183
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_187772785_2012-06-08_10-48-08.fit b/data/activity_187772785_2012-06-08_10-48-08.fit
new file mode 100644
index 0000000..f350757
--- /dev/null
+++ b/data/activity_187772785_2012-06-08_10-48-08.fit
@@ -0,0 +1,22934 @@
+
+
+
+
+ 2012-06-08T10:48:08.000Z
+
+ 336.233
+ 0.0
+ 297
+
+ 156
+
+
+ 176
+
+ Active
+ Manual
+
+
+
+
+
+
+ 41.576
+ 0.0
+ 38
+
+ 156
+
+
+ 176
+
+ Active
+ Manual
+
+
+
+
+
+
+ 316.124
+ 0.0
+ 172
+
+ 126
+
+
+ 150
+
+ Active
+ Manual
+
+
+
+
+
+
+ 61.85
+ 0.0
+ 46
+
+ 153
+
+
+ 171
+
+ Active
+ Manual
+
+
+
+
+
+
+ 87.026
+ 0.0
+ 63
+
+ 137
+
+
+ 163
+
+ Active
+ Manual
+
+
+
+
+
+
+ 70.149
+ 0.0
+ 46
+
+ 142
+
+
+ 169
+
+ Active
+ Manual
+
+
+
+
+
+
+ 139.851
+ 0.0
+ 105
+
+ 141
+
+
+ 166
+
+ Active
+ Manual
+
+
+
+
+
+
+ 81.562
+ 0.0
+ 59
+
+ 149
+
+
+ 177
+
+ Active
+ Manual
+
+
+
+
+
+
+ 45.438
+ 0.0
+ 42
+
+ 153
+
+
+ 176
+
+ Active
+ Manual
+
+
+
+
+
+
+ 85.587
+ 0.0
+ 46
+
+ 131
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 30.162
+ 0.0
+ 13
+
+ 128
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ 22.251
+ 0.0
+ 17
+
+ 143
+
+
+ 155
+
+ Active
+ Manual
+
+
+
+
+
+
+ 43.274
+ 0.0
+ 29
+
+ 147
+
+
+ 169
+
+ Active
+ Manual
+
+
+
+
+
+
+ 94.726
+ 0.0
+ 75
+
+ 145
+
+
+ 168
+
+ Active
+ Manual
+
+
+
+
+
+
+ 62.374
+ 0.0
+ 25
+
+ 128
+
+
+ 154
+
+ Active
+ Manual
+
+
+
+
+
+
+ 65.626
+ 0.0
+ 50
+
+ 145
+
+
+ 156
+
+ Active
+ Manual
+
+
+
+
+
+
+ 20.974
+ 0.0
+ 4
+
+ 121
+
+
+ 129
+
+ Active
+ Manual
+
+
+
+
+
+
+ 26.475
+ 0.0
+ 17
+
+ 144
+
+
+ 163
+
+ Active
+ Manual
+
+
+
+
+
+
+ 92.551
+ 0.0
+ 80
+
+ 152
+
+
+ 172
+
+ Active
+ Manual
+
+
+
+
+
+
+ 29.299
+ 0.0
+ 13
+
+ 137
+
+
+ 163
+
+ Active
+ Manual
+
+
+
+
+
+
+ 49.701
+ 0.0
+ 42
+
+ 150
+
+
+ 169
+
+ Active
+ Manual
+
+
+
+
+
+
+ 35.124
+ 0.0
+ 17
+
+ 143
+
+
+ 167
+
+ Active
+ Manual
+
+
+
+
+
+
+ 20.876
+ 0.0
+ 17
+
+ 150
+
+
+ 167
+
+ Active
+ Manual
+
+
+
+
+
+
+ 50.674
+ 0.0
+ 25
+
+ 134
+
+
+ 143
+
+ Active
+ Manual
+
+
+
+
+
+
+ 81.025
+ 0.0
+ 67
+
+ 156
+
+
+ 176
+
+ Active
+ Manual
+
+
+
+
+
+
+ 152.551
+ 0.0
+ 126
+
+ 153
+
+
+ 176
+
+ Active
+ Manual
+
+
+
+
+
+
+ 81.674
+ 0.0
+ 50
+
+ 146
+
+
+ 170
+
+ Active
+ Manual
+
+
+
+
+
+
+ 140.326
+ 0.0
+ 122
+
+ 153
+
+
+ 170
+
+ Active
+ Manual
+
+
+
+
+
+
+ 59.224
+ 0.0
+ 34
+
+ 142
+
+
+ 162
+
+ Active
+ Manual
+
+
+
+
+
+
+ 30.781
+ 0.0
+ 21
+
+ 146
+
+
+ 163
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_187772794_2012-06-10_16-19-12.fit b/data/activity_187772794_2012-06-10_16-19-12.fit
new file mode 100644
index 0000000..1835753
--- /dev/null
+++ b/data/activity_187772794_2012-06-10_16-19-12.fit
@@ -0,0 +1,32508 @@
+
+
+
+
+ 2012-06-10T20:19:12.000Z
+
+ 65.484
+ 200.0
+ 3.259999990463257
+ 54
+
+ 147
+
+
+ 164
+
+ Active
+ Manual
+
+
+
+ 3.053999900817871
+
+
+
+
+ 116.188
+ 200.0
+ 3.2699999809265137
+ 92
+
+ 137
+
+
+ 164
+
+ Active
+ Manual
+
+
+
+ 1.7209999561309814
+
+
+
+
+ 61.367
+ 200.0
+ 3.552000045776367
+ 50
+
+ 151
+
+
+ 167
+
+ Active
+ Manual
+
+
+
+ 3.2590000629425053
+
+
+
+
+ 117.87
+ 200.0
+ 3.5329999923706055
+ 96
+
+ 140
+
+
+ 167
+
+ Active
+ Manual
+
+
+
+ 1.6970000267028809
+
+
+
+
+ 61.587
+ 200.0
+ 3.496999979019165
+ 50
+
+ 153
+
+
+ 169
+
+ Active
+ Manual
+
+
+
+ 3.246999979019165
+
+
+
+
+ 114.706
+ 200.0
+ 3.1300001144409184
+ 92
+
+ 142
+
+
+ 169
+
+ Active
+ Manual
+
+
+
+ 1.7439999580383303
+
+
+
+
+ 64.423
+ 200.0
+ 3.369999885559082
+ 54
+
+ 157
+
+
+ 171
+
+ Active
+ Manual
+
+
+
+ 3.1040000915527344
+
+
+
+
+ 117.111
+ 200.0
+ 2.8980000019073486
+ 92
+
+ 143
+
+
+ 171
+
+ Active
+ Manual
+
+
+
+ 1.7079999446868899
+
+
+
+
+ 66.188
+ 200.0
+ 3.247999906539917
+ 59
+
+ 156
+
+
+ 172
+
+ Active
+ Manual
+
+
+
+ 3.022000074386597
+
+
+
+
+ 118.835
+ 200.0
+ 3.190999984741211
+ 96
+
+ 144
+
+
+ 172
+
+ Active
+ Manual
+
+
+
+ 1.6829999685287478
+
+
+
+
+ 63.575
+ 200.0
+ 3.306999921798706
+ 54
+
+ 158
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+ 3.1459999084472656
+
+
+
+
+ 119.187
+ 200.0
+ 3.1419999599456787
+ 101
+
+ 148
+
+
+ 175
+
+ Active
+ Manual
+
+
+
+ 1.6779999732971191
+
+
+
+
+ 74.006
+ 200.0
+ 3.993000030517578
+ 71
+
+ 170
+
+
+ 181
+
+ Active
+ Manual
+
+
+
+ 2.7019999027252197
+
+
+
+
+ 123.924
+ 200.0
+ 3.046999931335449
+ 105
+
+ 150
+
+
+ 182
+
+ Active
+ Manual
+
+
+
+ 1.6139999628067017
+
+
+
+
+ 65.163
+ 200.0
+ 3.4690001010894775
+ 59
+
+ 162
+
+
+ 175
+
+ Active
+ Manual
+
+
+
+ 3.069000005722046
+
+
+
+
+ 123.038
+ 200.0
+ 3.50600004196167
+ 101
+
+ 149
+
+
+ 175
+
+ Active
+ Manual
+
+
+
+ 1.6260000467300417
+
+
+
+
+ 67.881
+ 200.0
+ 3.4839999675750732
+ 59
+
+ 161
+
+
+ 177
+
+ Active
+ Manual
+
+
+
+ 2.946000099182129
+
+
+
+
+ 136.249
+ 200.0
+ 2.9830000400543213
+ 113
+
+ 150
+
+
+ 177
+
+ Active
+ Manual
+
+
+
+ 1.4680000543594358
+
+
+
+
+ 66.842
+ 200.0
+ 3.3269999027252197
+ 63
+
+ 165
+
+
+ 178
+
+ Active
+ Manual
+
+
+
+ 2.992000102996826
+
+
+
+
+ 126.289
+ 200.0
+ 3.1410000324249268
+ 105
+
+ 150
+
+
+ 178
+
+ Active
+ Manual
+
+
+
+ 1.5839999914169312
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_187772799_2012-06-10_17-30-23.fit b/data/activity_187772799_2012-06-10_17-30-23.fit
new file mode 100644
index 0000000..37bc8ec
--- /dev/null
+++ b/data/activity_187772799_2012-06-10_17-30-23.fit
@@ -0,0 +1,25866 @@
+
+
+
+
+ 2012-06-10T21:30:23.000Z
+
+ 67.181
+ 200.0
+ 3.3429999351501465
+ 59
+
+ 159
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+ 2.9769999980926514
+
+
+
+
+ 123.353
+ 200.0
+ 2.812000036239624
+ 109
+
+ 152
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+ 1.621000051498413
+
+
+
+
+ 62.11
+ 200.0
+ 4.304999828338623
+ 54
+
+ 161
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+ 3.2200000286102295
+
+
+
+
+ 113.121
+ 200.0
+ 3.0980000495910645
+ 101
+
+ 152
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+ 1.7680000066757202
+
+
+
+
+ 60.514
+ 200.0
+ 3.516999959945679
+ 54
+
+ 164
+
+
+ 179
+
+ Active
+ Manual
+
+
+
+ 3.305000066757202
+
+
+
+
+ 115.564
+ 200.0
+ 3.3340001106262207
+ 101
+
+ 151
+
+
+ 180
+
+ Active
+ Manual
+
+
+
+ 1.7309999465942383
+
+
+
+
+ 64.16
+ 200.0
+ 3.440000057220459
+ 59
+
+ 162
+
+
+ 177
+
+ Active
+ Manual
+
+
+
+ 3.117000102996826
+
+
+
+
+ 114.724
+ 200.0
+ 3.059000015258789
+ 96
+
+ 150
+
+
+ 177
+
+ Active
+ Manual
+
+
+
+ 1.7430000305175781
+
+
+
+
+ 61.398
+ 200.0
+ 3.4830000400543213
+ 54
+
+ 163
+
+
+ 178
+
+ Active
+ Manual
+
+
+
+ 3.256999969482422
+
+
+
+
+ 113.635
+ 200.0
+ 3.2130000591278076
+ 96
+
+ 150
+
+
+ 178
+
+ Active
+ Manual
+
+
+
+ 1.7599999904632568
+
+
+
+
+ 65.068
+ 200.0
+ 3.338000059127808
+ 54
+
+ 161
+
+
+ 177
+
+ Active
+ Manual
+
+
+
+ 3.0739998817443848
+
+
+
+
+ 116.775
+ 200.0
+ 3.009999990463257
+ 96
+
+ 150
+
+
+ 178
+
+ Active
+ Manual
+
+
+
+ 1.7130000591278076
+
+
+
+
+ 67.857
+ 200.0
+ 3.1150000095367436
+ 59
+
+ 161
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+ 2.947000026702881
+
+
+
+
+ 121.511
+ 200.0
+ 2.938999891281128
+ 96
+
+ 147
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+ 1.6460000276565552
+
+
+
+
+ 64.083
+ 200.0
+ 3.5
+ 54
+
+ 163
+
+
+ 177
+
+ Active
+ Manual
+
+
+
+ 3.121000051498413
+
+
+
+
+ 152.832
+ 200.0
+ 3.624000072479248
+ 138
+
+ 155
+
+
+ 177
+
+ Active
+ Manual
+
+
+
+ 1.309000015258789
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_187939343_2012-06-11_10-47-55.fit b/data/activity_187939343_2012-06-11_10-47-55.fit
new file mode 100644
index 0000000..1042fd5
--- /dev/null
+++ b/data/activity_187939343_2012-06-11_10-47-55.fit
@@ -0,0 +1,24536 @@
+
+
+
+
+ 2012-06-11T10:47:55.000Z
+
+ 333.709
+ 0.0
+ 272
+
+ 148
+
+
+ 165
+
+ Active
+ Manual
+
+
+
+
+
+
+ 27.651
+ 0.0
+ 21
+
+ 152
+
+
+ 165
+
+ Active
+ Manual
+
+
+
+
+
+
+ 314.799
+ 0.0
+ 113
+
+ 111
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+
+
+
+ 42.4
+ 0.0
+ 8
+
+ 97
+
+
+ 105
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.801
+ 0.0
+ 0
+
+ 103
+
+
+ 103
+
+ Active
+ Manual
+
+
+
+
+
+
+ 36.475
+ 0.0
+ 4
+
+ 99
+
+
+ 105
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.525
+ 0.0
+ 0
+
+ 103
+
+
+ 103
+
+ Active
+ Manual
+
+
+
+
+
+
+ 48.699
+ 0.0
+ 8
+
+ 100
+
+
+ 127
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.301
+ 0.0
+ 0
+
+ 125
+
+
+ 127
+
+ Active
+ Manual
+
+
+
+
+
+
+ 59.149
+ 0.0
+ 13
+
+ 98
+
+
+ 119
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.851
+ 0.0
+ 0
+
+ 100
+
+
+ 100
+
+ Active
+ Manual
+
+
+
+
+
+
+ 55.124
+ 0.0
+ 8
+
+ 97
+
+
+ 103
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.876
+ 0.0
+ 0
+
+ 104
+
+
+ 104
+
+ Active
+ Manual
+
+
+
+
+
+
+ 60.224
+ 0.0
+ 13
+
+ 98
+
+
+ 107
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.776
+ 0.0
+ 0
+
+ 106
+
+
+ 106
+
+ Active
+ Manual
+
+
+
+
+
+
+ 51.324
+ 0.0
+ 13
+
+ 101
+
+
+ 110
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.676
+ 0.0
+ 0
+
+ 111
+
+
+ 111
+
+ Active
+ Manual
+
+
+
+
+
+
+ 56.849
+ 0.0
+ 13
+
+ 100
+
+
+ 111
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.151
+ 0.0
+ 0
+
+ 102
+
+
+ 102
+
+ Active
+ Manual
+
+
+
+
+
+
+ 56.074
+ 0.0
+ 8
+
+ 96
+
+
+ 104
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.926
+ 0.0
+ 0
+
+ 103
+
+
+ 103
+
+ Active
+ Manual
+
+
+
+
+
+
+ 82.949
+ 0.0
+ 17
+
+ 97
+
+
+ 109
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.051
+ 0.0
+ 0
+
+ 110
+
+
+ 111
+
+ Active
+ Manual
+
+
+
+
+
+
+ 63.924
+ 0.0
+ 21
+
+ 111
+
+
+ 118
+
+ Active
+ Manual
+
+
+
+
+
+
+ 12.275
+ 0.0
+ 4
+
+ 114
+
+
+ 114
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.801
+ 0.0
+ 0
+
+ 115
+
+
+ 115
+
+ Active
+ Manual
+
+
+
+
+
+
+ 17.399
+ 0.0
+ 8
+
+ 128
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.851
+ 0.0
+ 0
+
+ 128
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 22.524
+ 0.0
+ 13
+
+ 134
+
+
+ 142
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.476
+ 0.0
+ 0
+
+ 139
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 24.199
+ 0.0
+ 17
+
+ 143
+
+
+ 148
+
+ Active
+ Manual
+
+
+
+
+
+
+ 29.056
+ 0.0
+ 21
+
+ 144
+
+
+ 147
+
+ Active
+ Manual
+
+
+
+
+
+
+ 18.294
+ 0.0
+ 13
+
+ 133
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.701
+ 0.0
+ 0
+
+ 132
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+
+
+
+ 24.749
+ 0.0
+ 17
+
+ 136
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.251
+ 0.0
+ 0
+
+ 135
+
+
+ 135
+
+ Active
+ Manual
+
+
+
+
+
+
+ 38.024
+ 0.0
+ 25
+
+ 139
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.976
+ 0.0
+ 0
+
+ 133
+
+
+ 133
+
+ Active
+ Manual
+
+
+
+
+
+
+ 40.824
+ 0.0
+ 25
+
+ 138
+
+
+ 144
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.176
+ 0.0
+ 0
+
+ 132
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+
+
+
+ 26.011
+ 0.0
+ 17
+
+ 136
+
+
+ 140
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.989
+ 0.0
+ 0
+
+ 136
+
+
+ 136
+
+ Active
+ Manual
+
+
+
+
+
+
+ 29.649
+ 0.0
+ 21
+
+ 143
+
+
+ 148
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.351
+ 0.0
+ 0
+
+ 139
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 63.049
+ 0.0
+ 34
+
+ 125
+
+
+ 141
+
+ Active
+ Manual
+
+
+
+
+
+
+ 18.675
+ 0.0
+ 4
+
+ 108
+
+
+ 113
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.276
+ 0.0
+ 0
+
+ 111
+
+
+ 112
+
+ Active
+ Manual
+
+
+
+
+
+
+ 60.299
+ 0.0
+ 17
+
+ 113
+
+
+ 123
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.951
+ 0.0
+ 0
+
+ 117
+
+
+ 117
+
+ Active
+ Manual
+
+
+
+
+
+
+ 37.524
+ 0.0
+ 13
+
+ 115
+
+
+ 122
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.476
+ 0.0
+ 0
+
+ 124
+
+
+ 125
+
+ Active
+ Manual
+
+
+
+
+
+
+ 45.512
+ 0.0
+ 17
+
+ 116
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.496
+ 0.0
+ 0
+
+ 120
+
+
+ 120
+
+ Active
+ Manual
+
+
+
+
+
+
+ 54.716
+ 0.0
+ 13
+
+ 107
+
+
+ 123
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.276
+ 0.0
+ 0
+
+ 117
+
+
+ 117
+
+ Active
+ Manual
+
+
+
+
+
+
+ 47.899
+ 0.0
+ 8
+
+ 106
+
+
+ 119
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.101
+ 0.0
+ 0
+
+ 121
+
+
+ 122
+
+ Active
+ Manual
+
+
+
+
+
+
+ 38.524
+ 0.0
+ 13
+
+ 118
+
+
+ 125
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.476
+ 0.0
+ 0
+
+ 119
+
+
+ 119
+
+ Active
+ Manual
+
+
+
+
+
+
+ 38.011
+ 0.0
+ 13
+
+ 117
+
+
+ 124
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.989
+ 0.0
+ 0
+
+ 119
+
+
+ 120
+
+ Active
+ Manual
+
+
+
+
+
+
+ 32.549
+ 0.0
+ 8
+
+ 114
+
+
+ 122
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.451
+ 0.0
+ 0
+
+ 118
+
+
+ 119
+
+ Active
+ Manual
+
+
+
+
+
+
+ 51.624
+ 0.0
+ 13
+
+ 113
+
+
+ 122
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.376
+ 0.0
+ 0
+
+ 120
+
+
+ 120
+
+ Active
+ Manual
+
+
+
+
+
+
+ 71.074
+ 0.0
+ 25
+
+ 117
+
+
+ 125
+
+ Active
+ Manual
+
+
+
+
+
+
+ 62.951
+ 0.0
+ 17
+
+ 111
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.975
+ 0.0
+ 0
+
+ 127
+
+
+ 127
+
+ Active
+ Manual
+
+
+
+
+
+
+ 25.874
+ 0.0
+ 8
+
+ 124
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.131
+ 0.0
+ 0
+
+ 130
+
+
+ 131
+
+ Active
+ Manual
+
+
+
+
+
+
+ 21.669
+ 0.0
+ 8
+
+ 119
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.326
+ 0.0
+ 0
+
+ 125
+
+
+ 125
+
+ Active
+ Manual
+
+
+
+
+
+
+ 26.437
+ 0.0
+ 4
+
+ 112
+
+
+ 124
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.563
+ 0.0
+ 0
+
+ 123
+
+
+ 125
+
+ Active
+ Manual
+
+
+
+
+
+
+ 32.349
+ 0.0
+ 8
+
+ 115
+
+
+ 131
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.659
+ 0.0
+ 0
+
+ 124
+
+
+ 126
+
+ Active
+ Manual
+
+
+
+
+
+
+ 20.541
+ 0.0
+ 4
+
+ 118
+
+
+ 130
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.451
+ 0.0
+ 0
+
+ 122
+
+
+ 123
+
+ Active
+ Manual
+
+
+
+
+
+
+ 15.649
+ 0.0
+ 4
+
+ 117
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.351
+ 0.0
+ 0
+
+ 109
+
+
+ 109
+
+ Active
+ Manual
+
+
+
+
+
+
+ 11.374
+ 0.0
+ 0
+
+ 115
+
+
+ 122
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.626
+ 0.0
+ 0
+
+ 126
+
+
+ 127
+
+ Active
+ Manual
+
+
+
+
+
+
+ 29.624
+ 0.0
+ 8
+
+ 116
+
+
+ 130
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.376
+ 0.0
+ 0
+
+ 130
+
+
+ 130
+
+ Active
+ Manual
+
+
+
+
+
+
+ 26.4
+ 0.0
+ 8
+
+ 114
+
+
+ 129
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.611
+ 0.0
+ 0
+
+ 125
+
+
+ 125
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_189044557_2012-06-14_19-15-39.fit b/data/activity_189044557_2012-06-14_19-15-39.fit
new file mode 100644
index 0000000..d8c3075
--- /dev/null
+++ b/data/activity_189044557_2012-06-14_19-15-39.fit
@@ -0,0 +1,33212 @@
+
+
+
+
+ 2012-06-14T23:15:39.000Z
+
+ 362.778
+ 1000.0
+ 4.0970001220703125
+ 352
+
+ 170
+
+
+ 183
+
+ Active
+ Manual
+
+
+
+ 2.756999969482422
+
+
+
+
+ 331.711
+ 1000.0
+ 3.628999948501587
+ 348
+
+ 180
+
+
+ 186
+
+ Active
+ Manual
+
+
+
+ 3.0150001049041752
+
+
+
+
+ 319.302
+ 1000.0
+ 3.433000087738037
+ 348
+
+ 184
+
+
+ 189
+
+ Active
+ Manual
+
+
+
+ 3.131999969482422
+
+
+
+
+ 341.681
+ 1000.0
+ 3.368000030517578
+ 377
+
+ 188
+
+
+ 190
+
+ Active
+ Manual
+
+
+
+ 2.927000045776367
+
+
+
+
+ 339.608
+ 1000.0
+ 3.2939999103546147
+ 373
+
+ 188
+
+
+ 193
+
+ Active
+ Manual
+
+
+
+ 2.944999933242798
+
+
+
+
+ 242.428
+ 782.0
+ 4.360000133514404
+ 277
+
+ 191
+
+
+ 200
+
+ Active
+ Manual
+
+
+
+ 3.2260000705718994
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_195410989_2012-06-18_10-44-42.fit b/data/activity_195410989_2012-06-18_10-44-42.fit
new file mode 100644
index 0000000..11dfddd
--- /dev/null
+++ b/data/activity_195410989_2012-06-18_10-44-42.fit
@@ -0,0 +1,17084 @@
+
+
+
+
+ 2012-06-18T10:44:42.000Z
+
+ 319.558
+ 0.0
+ 272
+
+ 154
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+
+
+
+ 0.979
+ 0.0
+ 0
+
+ 113
+
+
+ 113
+
+ Active
+ Manual
+
+
+
+
+
+
+ 281.699
+ 0.0
+ 122
+
+ 118
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 52.275
+ 0.0
+ 13
+
+ 106
+
+
+ 114
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.026
+ 0.0
+ 0
+
+ 114
+
+
+ 114
+
+ Active
+ Manual
+
+
+
+
+
+
+ 61.724
+ 0.0
+ 17
+
+ 110
+
+
+ 120
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.276
+ 0.0
+ 0
+
+ 118
+
+
+ 118
+
+ Active
+ Manual
+
+
+
+
+
+
+ 69.349
+ 0.0
+ 17
+
+ 109
+
+
+ 119
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.651
+ 0.0
+ 0
+
+ 117
+
+
+ 117
+
+ Active
+ Manual
+
+
+
+
+
+
+ 56.274
+ 0.0
+ 17
+
+ 116
+
+
+ 122
+
+ Active
+ Manual
+
+
+
+
+
+
+ 45.375
+ 0.0
+ 29
+
+ 139
+
+
+ 156
+
+ Active
+ Manual
+
+
+
+
+
+
+ 52.351
+ 0.0
+ 42
+
+ 147
+
+
+ 160
+
+ Active
+ Manual
+
+
+
+
+
+
+ 60.674
+ 0.0
+ 29
+
+ 128
+
+
+ 142
+
+ Active
+ Manual
+
+
+
+
+
+
+ 56.826
+ 0.0
+ 38
+
+ 139
+
+
+ 147
+
+ Active
+ Manual
+
+
+
+
+
+
+ 48.949
+ 0.0
+ 21
+
+ 127
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+
+
+
+ 61.051
+ 0.0
+ 46
+
+ 144
+
+
+ 150
+
+ Active
+ Manual
+
+
+
+
+
+
+ 90.575
+ 0.0
+ 25
+
+ 114
+
+
+ 126
+
+ Active
+ Manual
+
+
+
+
+
+
+ 23.774
+ 0.0
+ 8
+
+ 122
+
+
+ 147
+
+ Active
+ Manual
+
+
+
+
+
+
+ 5.651
+ 0.0
+ 4
+
+ 138
+
+
+ 147
+
+ Active
+ Manual
+
+
+
+
+
+
+ 37.124
+ 0.0
+ 17
+
+ 129
+
+
+ 149
+
+ Active
+ Manual
+
+
+
+
+
+
+ 6.876
+ 0.0
+ 4
+
+ 135
+
+
+ 143
+
+ Active
+ Manual
+
+
+
+
+
+
+ 42.224
+ 0.0
+ 17
+
+ 124
+
+
+ 151
+
+ Active
+ Manual
+
+
+
+
+
+
+ 12.776
+ 0.0
+ 8
+
+ 140
+
+
+ 151
+
+ Active
+ Manual
+
+
+
+
+
+
+ 63.424
+ 0.0
+ 25
+
+ 122
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 55.333
+ 0.0
+ 25
+
+ 129
+
+
+ 145
+
+ Active
+ Manual
+
+
+
+
+
+
+ 60.176
+ 0.0
+ 42
+
+ 142
+
+
+ 148
+
+ Active
+ Manual
+
+
+
+
+
+
+ 57.224
+ 0.0
+ 25
+
+ 129
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ 53.776
+ 0.0
+ 38
+
+ 142
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ 53.649
+ 0.0
+ 25
+
+ 132
+
+
+ 151
+
+ Active
+ Manual
+
+
+
+
+
+
+ 70.356
+ 0.0
+ 54
+
+ 146
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_195410994_2012-06-20_10-56-01.fit b/data/activity_195410994_2012-06-20_10-56-01.fit
new file mode 100644
index 0000000..a74eccb
--- /dev/null
+++ b/data/activity_195410994_2012-06-20_10-56-01.fit
@@ -0,0 +1,22880 @@
+
+
+
+
+ 2012-06-20T10:56:01.000Z
+
+ 310.161
+ 0.0
+ 256
+
+ 151
+
+
+ 173
+
+ Active
+ Manual
+
+
+
+
+
+
+ 27.737
+ 0.0
+ 21
+
+ 153
+
+
+ 169
+
+ Active
+ Manual
+
+
+
+
+
+
+ 292.111
+ 0.0
+ 184
+
+ 131
+
+
+ 151
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1845.496
+ 0.0
+ 1622
+
+ 157
+
+
+ 183
+
+ Active
+ Manual
+
+
+
+
+
+
+ 44.968
+ 0.0
+ 29
+
+ 147
+
+
+ 155
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_195410999_2012-06-23_20-44-53.fit b/data/activity_195410999_2012-06-23_20-44-53.fit
new file mode 100644
index 0000000..d5304fa
--- /dev/null
+++ b/data/activity_195410999_2012-06-23_20-44-53.fit
@@ -0,0 +1,31277 @@
+
+
+
+
+ 2012-06-23T20:44:53.000Z
+
+ 290.058
+ 0.0
+ 247
+
+ 155
+
+
+ 180
+
+ Active
+ Manual
+
+
+
+
+
+
+ 57.863
+ 0.0
+ 50
+
+ 157
+
+
+ 180
+
+ Active
+ Manual
+
+
+
+
+
+
+ 359.412
+ 0.0
+ 193
+
+ 125
+
+
+ 141
+
+ Active
+ Manual
+
+
+
+
+
+
+ 2748.175
+ 0.0
+ 1965
+
+ 144
+
+
+ 168
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.418
+ 0.0
+ 0
+
+ 115
+
+
+ 115
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_195411004_2012-06-27_10-40-01.fit b/data/activity_195411004_2012-06-27_10-40-01.fit
new file mode 100644
index 0000000..c3b82ef
--- /dev/null
+++ b/data/activity_195411004_2012-06-27_10-40-01.fit
@@ -0,0 +1,16940 @@
+
+
+
+
+ 2012-06-27T10:40:01.000Z
+
+ 321.283
+ 0.0
+ 268
+
+ 152
+
+
+ 175
+
+ Active
+ Manual
+
+
+
+
+
+
+ 58.144
+ 0.0
+ 46
+
+ 148
+
+
+ 175
+
+ Active
+ Manual
+
+
+
+
+
+
+ 301.381
+ 0.0
+ 126
+
+ 115
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+
+
+
+ 51.25
+ 0.0
+ 8
+
+ 103
+
+
+ 112
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.12
+ 0.0
+ 0
+
+ 107
+
+
+ 107
+
+ Active
+ Manual
+
+
+
+
+
+
+ 66.768
+ 0.0
+ 13
+
+ 98
+
+
+ 107
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.233
+ 0.0
+ 0
+
+ 107
+
+
+ 107
+
+ Active
+ Manual
+
+
+
+
+
+
+ 76.854
+ 0.0
+ 17
+
+ 100
+
+
+ 113
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.181
+ 0.0
+ 0
+
+ 106
+
+
+ 106
+
+ Active
+ Manual
+
+
+
+
+
+
+ 83.344
+ 0.0
+ 29
+
+ 112
+
+
+ 118
+
+ Active
+ Manual
+
+
+
+
+
+
+ 45.15
+ 0.0
+ 21
+
+ 124
+
+
+ 136
+
+ Active
+ Manual
+
+
+
+
+
+
+ 22.471
+ 0.0
+ 13
+
+ 135
+
+
+ 136
+
+ Active
+ Manual
+
+
+
+
+
+
+ 67.529
+ 0.0
+ 34
+
+ 124
+
+
+ 141
+
+ Active
+ Manual
+
+
+
+
+
+
+ 24.469
+ 0.0
+ 17
+
+ 137
+
+
+ 143
+
+ Active
+ Manual
+
+
+
+
+
+
+ 55.106
+ 0.0
+ 29
+
+ 128
+
+
+ 135
+
+ Active
+ Manual
+
+
+
+
+
+
+ 37.894
+ 0.0
+ 25
+
+ 135
+
+
+ 140
+
+ Active
+ Manual
+
+
+
+
+
+
+ 108.796
+ 0.0
+ 34
+
+ 111
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 22.335
+ 0.0
+ 4
+
+ 106
+
+
+ 115
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.869
+ 0.0
+ 0
+
+ 115
+
+
+ 115
+
+ Active
+ Manual
+
+
+
+
+
+
+ 70.719
+ 0.0
+ 17
+
+ 109
+
+
+ 116
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.283
+ 0.0
+ 0
+
+ 117
+
+
+ 117
+
+ Active
+ Manual
+
+
+
+
+
+
+ 59.529
+ 0.0
+ 13
+
+ 106
+
+
+ 124
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.469
+ 0.0
+ 0
+
+ 124
+
+
+ 124
+
+ Active
+ Manual
+
+
+
+
+
+
+ 41.806
+ 0.0
+ 17
+
+ 124
+
+
+ 129
+
+ Active
+ Manual
+
+
+
+
+
+
+ 48.913
+ 0.0
+ 29
+
+ 137
+
+
+ 158
+
+ Active
+ Manual
+
+
+
+
+
+
+ 33.283
+ 0.0
+ 25
+
+ 145
+
+
+ 159
+
+ Active
+ Manual
+
+
+
+
+
+
+ 56.054
+ 0.0
+ 29
+
+ 131
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ 26.946
+ 0.0
+ 21
+
+ 143
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ 69.68
+ 0.0
+ 34
+
+ 126
+
+
+ 148
+
+ Active
+ Manual
+
+
+
+
+
+
+ 32.324
+ 0.0
+ 25
+
+ 141
+
+
+ 150
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_195411015_2012-07-03_14-19-47.fit b/data/activity_195411015_2012-07-03_14-19-47.fit
new file mode 100644
index 0000000..f2d0e8f
--- /dev/null
+++ b/data/activity_195411015_2012-07-03_14-19-47.fit
@@ -0,0 +1,11735 @@
+
+
+
+
+ 2012-07-03T18:19:47.000Z
+
+ 312.578
+ 1000.0
+ 4.171999931335449
+ 281
+
+ 158
+
+
+ 168
+
+ Active
+ Manual
+
+
+
+ 3.1989998817443848
+ 81
+ 82
+
+
+
+
+ 327.439
+ 1000.0
+ 3.8559999465942383
+ 335
+
+ 176
+
+
+ 185
+
+ Active
+ Manual
+
+
+
+ 3.053999900817871
+ 82
+ 87
+
+
+
+
+ 3.109
+ 9.86
+ 3.2899999618530273
+ 0
+
+ 184
+
+
+ 184
+
+ Active
+ Manual
+
+
+
+ 3.1710000038146973
+ 81
+ 81
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_196389836_2012-07-03_22-31-14.fit b/data/activity_196389836_2012-07-03_22-31-14.fit
new file mode 100644
index 0000000..cfd646b
--- /dev/null
+++ b/data/activity_196389836_2012-07-03_22-31-14.fit
@@ -0,0 +1,3026 @@
+
+
+
+
+ 2012-07-03T22:31:14.000Z
+
+ 294.658
+ 0.0
+ 260
+
+ 158
+
+
+ 179
+
+ Active
+ Manual
+
+
+
+
+
+
+ 31.575
+ 0.0
+ 29
+
+ 164
+
+
+ 179
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_196389840_2012-07-03_22-37-09.fit b/data/activity_196389840_2012-07-03_22-37-09.fit
new file mode 100644
index 0000000..160b4ad
--- /dev/null
+++ b/data/activity_196389840_2012-07-03_22-37-09.fit
@@ -0,0 +1,39215 @@
+
+
+
+
+ 2012-07-03T22:37:09.000Z
+
+ 1.776
+ 0.0
+ 0
+
+ 133
+
+
+ 134
+
+ Active
+ Manual
+
+
+
+
+
+
+ 3.931
+ 0.0
+ 0
+
+ 130
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+
+
+
+ 235.144
+ 0.0
+ 151
+
+ 125
+
+
+ 140
+
+ Active
+ Manual
+
+
+
+
+
+
+ 34.05
+ 0.0
+ 21
+
+ 132
+
+
+ 162
+
+ Active
+ Manual
+
+
+
+
+
+
+ 61.806
+ 0.0
+ 50
+
+ 149
+
+
+ 166
+
+ Active
+ Manual
+
+
+
+
+
+
+ 40.582
+ 0.0
+ 25
+
+ 138
+
+
+ 169
+
+ Active
+ Manual
+
+
+
+
+
+
+ 84.418
+ 0.0
+ 71
+
+ 148
+
+
+ 170
+
+ Active
+ Manual
+
+
+
+
+
+
+ 33.582
+ 0.0
+ 21
+
+ 140
+
+
+ 171
+
+ Active
+ Manual
+
+
+
+
+
+
+ 48.418
+ 0.0
+ 46
+
+ 162
+
+
+ 176
+
+ Active
+ Manual
+
+
+
+
+
+
+ 57.776
+ 0.0
+ 38
+
+ 130
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 34.775
+ 0.0
+ 17
+
+ 131
+
+
+ 158
+
+ Active
+ Manual
+
+
+
+
+
+
+ 23.131
+ 0.0
+ 17
+
+ 143
+
+
+ 159
+
+ Active
+ Manual
+
+
+
+
+
+
+ 37.469
+ 0.0
+ 21
+
+ 131
+
+
+ 157
+
+ Active
+ Manual
+
+
+
+
+
+
+ 25.531
+ 0.0
+ 21
+
+ 142
+
+
+ 157
+
+ Active
+ Manual
+
+
+
+
+
+
+ 33.819
+ 0.0
+ 21
+
+ 137
+
+
+ 157
+
+ Active
+ Manual
+
+
+
+
+
+
+ 25.181
+ 0.0
+ 17
+
+ 142
+
+
+ 157
+
+ Active
+ Manual
+
+
+
+
+
+
+ 47.494
+ 0.0
+ 29
+
+ 134
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 35.4
+ 0.0
+ 25
+
+ 142
+
+
+ 148
+
+ Active
+ Manual
+
+
+
+
+
+
+ 36.106
+ 0.0
+ 29
+
+ 149
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ 40.494
+ 0.0
+ 21
+
+ 134
+
+
+ 154
+
+ Active
+ Manual
+
+
+
+
+
+
+ 59.506
+ 0.0
+ 50
+
+ 147
+
+
+ 156
+
+ Active
+ Manual
+
+
+
+
+
+
+ 28.682
+ 0.0
+ 13
+
+ 133
+
+
+ 145
+
+ Active
+ Manual
+
+
+
+
+
+
+ 23.318
+ 0.0
+ 17
+
+ 144
+
+
+ 149
+
+ Active
+ Manual
+
+
+
+
+
+
+ 69.444
+ 0.0
+ 42
+
+ 136
+
+
+ 148
+
+ Active
+ Manual
+
+
+
+
+
+
+ 20.25
+ 0.0
+ 13
+
+ 138
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ 33.306
+ 0.0
+ 25
+
+ 141
+
+
+ 156
+
+ Active
+ Manual
+
+
+
+
+
+
+ 20.269
+ 0.0
+ 8
+
+ 138
+
+
+ 157
+
+ Active
+ Manual
+
+
+
+
+
+
+ 25.731
+ 0.0
+ 17
+
+ 140
+
+
+ 159
+
+ Active
+ Manual
+
+
+
+
+
+
+ 3042.639
+ 0.0
+ 2363
+
+ 149
+
+
+ 168
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_196389845_2012-07-06_14-52-10.fit b/data/activity_196389845_2012-07-06_14-52-10.fit
new file mode 100644
index 0000000..67bc0d4
--- /dev/null
+++ b/data/activity_196389845_2012-07-06_14-52-10.fit
@@ -0,0 +1,2255 @@
+
+
+
+
+ 2012-07-06T18:52:10.000Z
+
+ 123.934
+ 352.39
+ 5.5370001792907715
+ 96
+
+ 142
+
+
+ 152
+
+ Active
+ Manual
+
+
+
+ 2.8429999351501465
+ 79
+ 84
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_196389854_2012-07-06_14-55-35.fit b/data/activity_196389854_2012-07-06_14-55-35.fit
new file mode 100644
index 0000000..b5075db
--- /dev/null
+++ b/data/activity_196389854_2012-07-06_14-55-35.fit
@@ -0,0 +1,16460 @@
+
+
+
+
+ 2012-07-06T18:55:35.000Z
+
+ 338.454
+ 1000.0
+ 3.2939999103546147
+ 314
+
+ 162
+
+
+ 175
+
+ Active
+ Manual
+
+
+
+ 2.9549999237060547
+ 84
+ 86
+
+
+
+
+ 339.617
+ 1000.0
+ 3.000999927520752
+ 356
+
+ 176
+
+
+ 179
+
+ Active
+ Manual
+
+
+
+ 2.944000005722046
+ 86
+ 87
+
+
+
+
+ 231.62
+ 615.7
+ 2.996999979019165
+ 247
+
+ 179
+
+
+ 188
+
+ Active
+ Manual
+
+
+
+ 2.6579999923706055
+ 83
+ 86
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_196389863_2012-07-06_16-18-29.fit b/data/activity_196389863_2012-07-06_16-18-29.fit
new file mode 100644
index 0000000..09faef9
--- /dev/null
+++ b/data/activity_196389863_2012-07-06_16-18-29.fit
@@ -0,0 +1,17341 @@
+
+
+
+
+ 2012-07-06T20:18:29.000Z
+
+ 345.37
+ 1000.0
+ 3.2330000400543213
+ 339
+
+ 169
+
+
+ 178
+
+ Active
+ Manual
+
+
+
+ 2.8949999809265137
+ 85
+ 87
+
+
+
+
+ 365.641
+ 1000.0
+ 2.8259999752044678
+ 398
+
+ 179
+
+
+ 182
+
+ Active
+ Manual
+
+
+
+ 2.734999895095825
+ 86
+ 87
+
+
+
+
+ 244.866
+ 652.37
+ 2.582999944686889
+ 268
+
+ 180
+
+
+ 182
+
+ Active
+ Manual
+
+
+
+ 2.6640000343322754
+ 85
+ 86
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_196638122_2012-07-07_15-48-48.fit b/data/activity_196638122_2012-07-07_15-48-48.fit
new file mode 100644
index 0000000..07fbf20
--- /dev/null
+++ b/data/activity_196638122_2012-07-07_15-48-48.fit
@@ -0,0 +1,21722 @@
+
+
+
+
+ 2012-07-07T15:48:48.000Z
+
+ 288.915
+ 162.11
+ 2.63700008392334
+ 260
+
+ 161
+
+
+ 182
+
+ Active
+ Manual
+
+
+
+ 0.5609999895095825
+
+
+
+
+ 1.011
+ 0.0
+ 0.0
+ 0
+
+ 126
+
+
+ 126
+
+ Active
+ Manual
+
+
+
+
+
+
+ 293.241
+ 110.03
+ 3.0810000896453857
+ 147
+
+ 123
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+ 0.37500000000000006
+
+
+
+
+ 33.254
+ 0.0
+ 0.0
+ 13
+
+ 125
+
+
+ 159
+
+ Active
+ Manual
+
+
+
+
+
+
+ 49.391
+ 5.42
+ 1.531000018119812
+ 38
+
+ 143
+
+
+ 159
+
+ Active
+ Manual
+
+
+
+ 0.10999999940395355
+
+
+
+
+ 34.734
+ 0.0
+ 0.0
+ 17
+
+ 134
+
+
+ 164
+
+ Active
+ Manual
+
+
+
+
+
+
+ 92.267
+ 3.06
+ 1.531000018119812
+ 71
+
+ 144
+
+
+ 168
+
+ Active
+ Manual
+
+
+
+ 0.032999999821186066
+
+
+
+
+ 27.858
+ 0.0
+ 0.0
+ 13
+
+ 128
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 49.141
+ 7.14
+ 1.5750000476837158
+ 38
+
+ 146
+
+
+ 157
+
+ Active
+ Manual
+
+
+
+ 0.14499999582767487
+
+
+
+
+ 36.81
+ 0.0
+ 0.0
+ 13
+
+ 117
+
+
+ 129
+
+ Active
+ Manual
+
+
+
+
+
+
+ 28.149
+ 0.0
+ 0.0
+ 8
+
+ 116
+
+
+ 137
+
+ Active
+ Manual
+
+
+
+
+
+
+ 7.042
+ 0.0
+ 0.0
+ 4
+
+ 134
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+
+
+
+ 38.672
+ 0.0
+ 0.0
+ 17
+
+ 128
+
+
+ 148
+
+ Active
+ Manual
+
+
+
+
+
+
+ 40.325
+ 0.0
+ 0.0
+ 25
+
+ 139
+
+
+ 150
+
+ Active
+ Manual
+
+
+
+
+
+
+ 41.436
+ 0.0
+ 0.0
+ 17
+
+ 126
+
+
+ 143
+
+ Active
+ Manual
+
+
+
+
+
+
+ 68.564
+ 5.08
+ 1.531000018119812
+ 46
+
+ 136
+
+
+ 144
+
+ Active
+ Manual
+
+
+
+ 0.07400000095367432
+
+
+
+
+ 33.837
+ 0.0
+ 0.0
+ 13
+
+ 124
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 50.703
+ 0.0
+ 0.0
+ 25
+
+ 130
+
+
+ 149
+
+ Active
+ Manual
+
+
+
+
+
+
+ 57.462
+ 0.0
+ 0.0
+ 42
+
+ 143
+
+
+ 154
+
+ Active
+ Manual
+
+
+
+
+
+
+ 71.659
+ 0.0
+ 0.0
+ 38
+
+ 134
+
+
+ 156
+
+ Active
+ Manual
+
+
+
+
+
+
+ 50.839
+ 6.12
+ 1.531000018119812
+ 38
+
+ 144
+
+
+ 156
+
+ Active
+ Manual
+
+
+
+ 0.119999997317791
+
+
+
+
+ 59.161
+ 2.54
+ 1.2719999551773071
+ 38
+
+ 140
+
+
+ 160
+
+ Active
+ Manual
+
+
+
+ 0.0430000014603138
+
+
+
+
+ 31.841
+ 0.0
+ 0.0
+ 25
+
+ 151
+
+
+ 162
+
+ Active
+ Manual
+
+
+
+
+
+
+ 101.459
+ 31.09
+ 1.9980000257492065
+ 38
+
+ 123
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+ 0.3059999942779541
+
+
+
+
+ 23.25
+ 0.0
+ 0.0
+ 4
+
+ 124
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 23.789
+ 0.0
+ 0.0
+ 13
+
+ 136
+
+
+ 148
+
+ Active
+ Manual
+
+
+
+
+
+
+ 29.811
+ 0.0
+ 0.0
+ 8
+
+ 129
+
+
+ 152
+
+ Active
+ Manual
+
+
+
+
+
+
+ 16.19
+ 0.0
+ 0.0
+ 13
+
+ 143
+
+
+ 155
+
+ Active
+ Manual
+
+
+
+
+
+
+ 26.879
+ 0.0
+ 0.0
+ 8
+
+ 132
+
+
+ 154
+
+ Active
+ Manual
+
+
+
+
+
+
+ 21.382
+ 0.0
+ 0.0
+ 17
+
+ 143
+
+
+ 158
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_197233433_2012-07-08_22-09-24.fit b/data/activity_197233433_2012-07-08_22-09-24.fit
new file mode 100644
index 0000000..3db4664
--- /dev/null
+++ b/data/activity_197233433_2012-07-08_22-09-24.fit
@@ -0,0 +1,19726 @@
+
+
+
+
+ 2012-07-08T22:09:24.000Z
+
+ 296.265
+ 78.39
+ 2.6089999675750732
+ 243
+
+ 151
+
+
+ 175
+
+ Active
+ Manual
+
+
+
+ 0.26499998569488525
+
+
+
+
+ 59.158
+ 0.0
+ 0.0
+ 46
+
+ 146
+
+
+ 175
+
+ Active
+ Manual
+
+
+
+
+
+
+ 235.867
+ 95.04
+ 2.3380000591278076
+ 96
+
+ 117
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+ 0.40299999713897705
+
+
+
+
+ 40.225
+ 0.0
+ 0.0
+ 13
+
+ 119
+
+
+ 151
+
+ Active
+ Manual
+
+
+
+
+
+
+ 35.919
+ 0.0
+ 0.0
+ 25
+
+ 144
+
+
+ 154
+
+ Active
+ Manual
+
+
+
+
+
+
+ 41.831
+ 0.0
+ 0.0
+ 21
+
+ 133
+
+
+ 159
+
+ Active
+ Manual
+
+
+
+
+
+
+ 42.408
+ 0.0
+ 0.0
+ 34
+
+ 146
+
+
+ 161
+
+ Active
+ Manual
+
+
+
+
+
+
+ 37.011
+ 0.0
+ 0.0
+ 21
+
+ 135
+
+
+ 164
+
+ Active
+ Manual
+
+
+
+
+
+
+ 42.995
+ 0.0
+ 0.0
+ 34
+
+ 151
+
+
+ 166
+
+ Active
+ Manual
+
+
+
+
+
+
+ 100.036
+ 29.09
+ 1.531000018119812
+ 34
+
+ 112
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+ 0.29100000858306885
+
+
+
+
+ 32.15
+ 0.0
+ 0.0
+ 4
+
+ 102
+
+
+ 123
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.808
+ 0.0
+ 0.0
+ 0
+
+ 124
+
+
+ 124
+
+ Active
+ Manual
+
+
+
+
+
+
+ 45.905
+ 0.0
+ 0.0
+ 13
+
+ 111
+
+
+ 125
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.102
+ 0.0
+ 0.0
+ 0
+
+ 128
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 73.933
+ 0.0
+ 0.0
+ 21
+
+ 110
+
+
+ 130
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.06
+ 0.0
+ 0.0
+ 0
+
+ 123
+
+
+ 123
+
+ Active
+ Manual
+
+
+
+
+
+
+ 56.317
+ 18.92
+ 2.187000036239624
+ 21
+
+ 120
+
+
+ 124
+
+ Active
+ Manual
+
+
+
+ 0.335999995470047
+
+
+
+
+ 53.3
+ 0.0
+ 0.0
+ 25
+
+ 125
+
+
+ 140
+
+ Active
+ Manual
+
+
+
+
+
+
+ 28.384
+ 0.0
+ 0.0
+ 17
+
+ 138
+
+
+ 141
+
+ Active
+ Manual
+
+
+
+
+
+
+ 61.116
+ 3.06
+ 1.531000018119812
+ 29
+
+ 125
+
+
+ 134
+
+ Active
+ Manual
+
+
+
+ 0.05000000074505806
+
+
+
+
+ 30.883
+ 6.12
+ 1.531000018119812
+ 21
+
+ 137
+
+
+ 142
+
+ Active
+ Manual
+
+
+
+ 0.1979999989271164
+
+
+
+
+ 59.897
+ 0.0
+ 0.0
+ 29
+
+ 128
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 29.103
+ 0.0
+ 0.0
+ 21
+
+ 138
+
+
+ 143
+
+ Active
+ Manual
+
+
+
+
+
+
+ 71.542
+ 3.6
+ 1.2170000076293945
+ 21
+
+ 116
+
+
+ 137
+
+ Active
+ Manual
+
+
+
+ 0.05000000074505806
+
+
+
+
+ 2.55
+ 0.0
+ 0.0
+ 0
+
+ 141
+
+
+ 141
+
+ Active
+ Manual
+
+
+
+
+
+
+ 8.16
+ 0.0
+ 0.0
+ 4
+
+ 136
+
+
+ 141
+
+ Active
+ Manual
+
+
+
+
+
+
+ 22.153
+ 0.0
+ 0.0
+ 8
+
+ 127
+
+
+ 145
+
+ Active
+ Manual
+
+
+
+
+
+
+ 11.847
+ 0.0
+ 0.0
+ 8
+
+ 142
+
+
+ 147
+
+ Active
+ Manual
+
+
+
+
+
+
+ 27.065
+ 0.0
+ 0.0
+ 8
+
+ 123
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 11.942
+ 0.0
+ 0.0
+ 8
+
+ 141
+
+
+ 149
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_197385667_2012-07-09_10-35-48.fit b/data/activity_197385667_2012-07-09_10-35-48.fit
new file mode 100644
index 0000000..e383074
--- /dev/null
+++ b/data/activity_197385667_2012-07-09_10-35-48.fit
@@ -0,0 +1,28145 @@
+
+
+
+
+ 2012-07-09T10:35:48.000Z
+
+ 325.713
+ 0.0
+ 260
+
+ 146
+
+
+ 164
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.028
+ 0.0
+ 0
+
+ 121
+
+
+ 121
+
+ Active
+ Manual
+
+
+
+
+
+
+ 398.43
+ 0.0
+ 180
+
+ 116
+
+
+ 143
+
+ Active
+ Manual
+
+
+
+
+
+
+ 2369.888
+ 0.0
+ 1735
+
+ 143
+
+
+ 169
+
+ Active
+ Manual
+
+
+
+
+
+
+ 12.371
+ 0.0
+ 4
+
+ 140
+
+
+ 141
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_197944505_2012-07-10_18-23-08.fit b/data/activity_197944505_2012-07-10_18-23-08.fit
new file mode 100644
index 0000000..2b1640f
--- /dev/null
+++ b/data/activity_197944505_2012-07-10_18-23-08.fit
@@ -0,0 +1,16289 @@
+
+
+
+
+ 2012-07-10T22:23:08.000Z
+
+ 297.372
+ 1000.0
+ 3.806999921798706
+ 268
+
+ 160
+
+
+ 171
+
+ Active
+ Manual
+
+
+
+ 3.36299991607666
+
+
+
+
+ 319.9
+ 1000.0
+ 3.789999961853028
+ 323
+
+ 172
+
+
+ 177
+
+ Active
+ Manual
+
+
+
+ 3.125999927520752
+
+
+
+
+ 326.774
+ 1000.0
+ 3.7260000705719
+ 331
+
+ 174
+
+
+ 181
+
+ Active
+ Manual
+
+
+
+ 3.059999942779541
+
+
+
+
+ 3.511
+ 12.08
+ 2.9670000076293945
+ 4
+
+ 179
+
+
+ 179
+
+ Active
+ Manual
+
+
+
+ 3.438999891281128
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_198074708_2012-07-11_10-51-46.fit b/data/activity_198074708_2012-07-11_10-51-46.fit
new file mode 100644
index 0000000..244226c
--- /dev/null
+++ b/data/activity_198074708_2012-07-11_10-51-46.fit
@@ -0,0 +1,31340 @@
+
+
+
+
+ 2012-07-11T10:51:46.000Z
+
+ 326.806
+ 45.33
+ 2.5620000362396236
+ 272
+
+ 147
+
+
+ 168
+
+ Active
+ Manual
+
+
+
+ 0.13899999856948853
+
+
+
+
+ 40.101
+ 0.0
+ 0.0
+ 34
+
+ 148
+
+
+ 168
+
+ Active
+ Manual
+
+
+
+
+
+
+ 331.949
+ 100.89
+ 2.444999933242798
+ 142
+
+ 113
+
+
+ 134
+
+ Active
+ Manual
+
+
+
+ 0.30399999022483826
+
+
+
+
+ 28.275
+ 0.0
+ 0.0
+ 8
+
+ 120
+
+
+ 151
+
+ Active
+ Manual
+
+
+
+
+
+
+ 36.776
+ 0.0
+ 0.0
+ 29
+
+ 145
+
+
+ 156
+
+ Active
+ Manual
+
+
+
+
+
+
+ 36.977
+ 6.36
+ 1.531000018119812
+ 21
+
+ 131
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+ 0.1720000058412552
+
+
+
+
+ 43.023
+ 0.0
+ 0.0
+ 38
+
+ 148
+
+
+ 158
+
+ Active
+ Manual
+
+
+
+
+
+
+ 39.199
+ 3.06
+ 1.531000018119812
+ 21
+
+ 133
+
+
+ 159
+
+ Active
+ Manual
+
+
+
+ 0.07800000160932541
+
+
+
+
+ 48.051
+ 8.53
+ 1.531000018119812
+ 38
+
+ 148
+
+
+ 161
+
+ Active
+ Manual
+
+
+
+ 0.17800000309944153
+
+
+
+
+ 35.011
+ 0.0
+ 0.0
+ 21
+
+ 137
+
+
+ 161
+
+ Active
+ Manual
+
+
+
+
+
+
+ 58.989
+ 11.59
+ 1.531000018119812
+ 46
+
+ 146
+
+
+ 165
+
+ Active
+ Manual
+
+
+
+ 0.19599999487400058
+
+
+
+
+ 34.249
+ 0.0
+ 0.0
+ 21
+
+ 136
+
+
+ 160
+
+ Active
+ Manual
+
+
+
+
+
+
+ 50.751
+ 0.0
+ 0.0
+ 42
+
+ 149
+
+
+ 165
+
+ Active
+ Manual
+
+
+
+
+
+
+ 96.574
+ 14.01
+ 1.24399995803833
+ 42
+
+ 121
+
+
+ 129
+
+ Active
+ Manual
+
+
+
+ 0.14499999582767487
+
+
+
+
+ 36.075
+ 0.0
+ 0.0
+ 13
+
+ 118
+
+
+ 123
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.351
+ 0.0
+ 0.0
+ 0
+
+ 122
+
+
+ 122
+
+ Active
+ Manual
+
+
+
+
+
+
+ 61.924
+ 0.0
+ 0.0
+ 17
+
+ 111
+
+
+ 119
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.076
+ 0.0
+ 0.0
+ 0
+
+ 120
+
+
+ 120
+
+ Active
+ Manual
+
+
+
+
+
+
+ 70.627
+ 0.0
+ 0.0
+ 17
+
+ 112
+
+
+ 121
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.373
+ 0.0
+ 0.0
+ 0
+
+ 119
+
+
+ 119
+
+ Active
+ Manual
+
+
+
+
+
+
+ 156.949
+ 0.0
+ 0.0
+ 38
+
+ 108
+
+
+ 123
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.051
+ 0.0
+ 0.0
+ 0
+
+ 121
+
+
+ 121
+
+ Active
+ Manual
+
+
+
+
+
+
+ 41.124
+ 0.0
+ 0.0
+ 13
+
+ 119
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.876
+ 0.0
+ 0.0
+ 0
+
+ 121
+
+
+ 122
+
+ Active
+ Manual
+
+
+
+
+
+
+ 111.224
+ 22.63
+ 1.531000018119812
+ 42
+
+ 116
+
+
+ 125
+
+ Active
+ Manual
+
+
+
+ 0.2029999941587448
+
+
+
+
+ 30.95
+ 0.0
+ 0.0
+ 8
+
+ 113
+
+
+ 133
+
+ Active
+ Manual
+
+
+
+
+
+
+ 3.826
+ 0.0
+ 0.0
+ 0
+
+ 131
+
+
+ 133
+
+ Active
+ Manual
+
+
+
+
+
+
+ 45.324
+ 0.0
+ 0.0
+ 17
+
+ 125
+
+
+ 148
+
+ Active
+ Manual
+
+
+
+
+
+
+ 16.676
+ 3.06
+ 1.531000018119812
+ 13
+
+ 138
+
+
+ 148
+
+ Active
+ Manual
+
+
+
+ 0.18400000035762787
+
+
+
+
+ 52.649
+ 0.0
+ 0.0
+ 25
+
+ 130
+
+
+ 151
+
+ Active
+ Manual
+
+
+
+
+
+
+ 25.351
+ 0.0
+ 0.0
+ 21
+
+ 141
+
+
+ 152
+
+ Active
+ Manual
+
+
+
+
+
+
+ 64.011
+ 0.0
+ 0.0
+ 29
+
+ 127
+
+
+ 151
+
+ Active
+ Manual
+
+
+
+
+
+
+ 22.989
+ 0.0
+ 0.0
+ 17
+
+ 138
+
+
+ 150
+
+ Active
+ Manual
+
+
+
+
+
+
+ 50.499
+ 0.0
+ 0.0
+ 29
+
+ 134
+
+
+ 152
+
+ Active
+ Manual
+
+
+
+
+
+
+ 15.501
+ 0.0
+ 0.0
+ 13
+
+ 143
+
+
+ 153
+
+ Active
+ Manual
+
+
+
+
+
+
+ 74.874
+ 20.61
+ 2.0290000438690186
+ 42
+
+ 132
+
+
+ 141
+
+ Active
+ Manual
+
+
+
+ 0.2750000059604645
+
+
+
+
+ 30.575
+ 0.0
+ 0.0
+ 13
+
+ 126
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+
+
+
+ 49.551
+ 0.0
+ 0.0
+ 34
+
+ 139
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ 37.499
+ 0.0
+ 0.0
+ 17
+
+ 128
+
+
+ 140
+
+ Active
+ Manual
+
+
+
+
+
+
+ 42.006
+ 0.0
+ 0.0
+ 29
+
+ 138
+
+
+ 143
+
+ Active
+ Manual
+
+
+
+
+
+
+ 35.719
+ 0.0
+ 0.0
+ 13
+
+ 127
+
+
+ 135
+
+ Active
+ Manual
+
+
+
+
+
+
+ 52.276
+ 0.0
+ 0.0
+ 38
+
+ 139
+
+
+ 145
+
+ Active
+ Manual
+
+
+
+
+
+
+ 35.174
+ 0.0
+ 0.0
+ 13
+
+ 127
+
+
+ 140
+
+ Active
+ Manual
+
+
+
+
+
+
+ 33.826
+ 0.0
+ 0.0
+ 21
+
+ 138
+
+
+ 142
+
+ Active
+ Manual
+
+
+
+
+
+
+ 37.774
+ 0.0
+ 0.0
+ 17
+
+ 127
+
+
+ 137
+
+ Active
+ Manual
+
+
+
+
+
+
+ 41.232
+ 0.0
+ 0.0
+ 29
+
+ 142
+
+
+ 146
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_198834700_2012-07-12_10-38-03.fit b/data/activity_198834700_2012-07-12_10-38-03.fit
new file mode 100644
index 0000000..d524464
--- /dev/null
+++ b/data/activity_198834700_2012-07-12_10-38-03.fit
@@ -0,0 +1,35755 @@
+
+
+
+
+ 2012-07-12T10:38:03.000Z
+
+ 316.859
+ 47.84
+ 1.7790000438690186
+ 264
+
+ 147
+
+
+ 162
+
+ Active
+ Manual
+
+
+
+ 0.1509999930858612
+
+
+
+
+ 23.047
+ 0.0
+ 0.0
+ 21
+
+ 150
+
+
+ 163
+
+ Active
+ Manual
+
+
+
+
+
+
+ 233.075
+ 38.91
+ 1.2920000553131101
+ 92
+
+ 110
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+ 0.16699999570846558
+
+
+
+
+ 2358.9
+ 352.33
+ 3.5190000534057617
+ 1781
+
+ 140
+
+
+ 174
+
+ Active
+ Manual
+
+
+
+ 0.14900000393390656
+
+
+
+
+ 31.781
+ 0.0
+ 0.0
+ 25
+
+ 152
+
+
+ 165
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_198834791_2012-07-13_14-28-26.fit b/data/activity_198834791_2012-07-13_14-28-26.fit
new file mode 100644
index 0000000..99ca85c
--- /dev/null
+++ b/data/activity_198834791_2012-07-13_14-28-26.fit
@@ -0,0 +1,19134 @@
+
+
+
+
+ 2012-07-13T18:28:26.000Z
+
+ 342.693
+ 1000.0
+ 3.4159998893737797
+ 314
+
+ 155
+
+
+ 165
+
+ Active
+ Manual
+
+
+
+ 2.9179999828338623
+ 83
+ 85
+
+
+
+
+ 348.549
+ 1000.0
+ 3.0429999828338627
+ 348
+
+ 165
+
+
+ 170
+
+ Active
+ Manual
+
+
+
+ 2.86899995803833
+ 85
+ 85
+
+
+
+
+ 351.769
+ 1000.0
+ 4.918000221252441
+ 360
+
+ 169
+
+
+ 178
+
+ Active
+ Manual
+
+
+
+ 2.8429999351501465
+ 84
+ 85
+
+
+
+
+ 9.122
+ 25.33
+ 2.8519999980926514
+ 8
+
+ 167
+
+
+ 168
+
+ Active
+ Manual
+
+
+
+ 2.776999950408935
+ 83
+ 83
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_198834915_2012-07-13_16-02-28.fit b/data/activity_198834915_2012-07-13_16-02-28.fit
new file mode 100644
index 0000000..5b8772d
--- /dev/null
+++ b/data/activity_198834915_2012-07-13_16-02-28.fit
@@ -0,0 +1,19984 @@
+
+
+
+
+ 2012-07-13T20:02:28.000Z
+
+ 337.454
+ 1000.0
+ 4.401000022888184
+ 331
+
+ 160
+
+
+ 168
+
+ Active
+ Manual
+
+
+
+ 2.9630000591278076
+ 82
+ 85
+
+
+
+
+ 376.211
+ 1000.0
+ 2.8010001182556152
+ 398
+
+ 169
+
+
+ 173
+
+ Active
+ Manual
+
+
+
+ 2.6579999923706055
+ 83
+ 85
+
+
+
+
+ 382.233
+ 1000.0
+ 2.865999937057495
+ 406
+
+ 172
+
+
+ 175
+
+ Active
+ Manual
+
+
+
+ 2.615999937057495
+ 82
+ 83
+
+
+
+
+ 3.16
+ 8.98
+ 2.556999921798706
+ 0
+
+ 171
+
+
+ 171
+
+ Active
+ Manual
+
+
+
+ 2.842000007629394
+ 81
+ 81
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/activity_199840112_2012-07-16_10-42-29.fit b/data/activity_199840112_2012-07-16_10-42-29.fit
new file mode 100644
index 0000000..1b3e5c6
--- /dev/null
+++ b/data/activity_199840112_2012-07-16_10-42-29.fit
@@ -0,0 +1,35086 @@
+
+
+
+
+ 2012-07-16T10:42:29.000Z
+
+ 328.317
+ 27.66
+ 2.7929999828338623
+ 264
+
+ 141
+
+
+ 165
+
+ Active
+ Manual
+
+
+
+ 0.08399999886751175
+ 35
+ 80
+
+
+
+
+ 29.266
+ 0.0
+ 0.0
+ 25
+
+ 152
+
+
+ 165
+
+ Active
+ Manual
+
+
+
+
+
+
+ 275.284
+ 112.81
+ 2.6610000133514404
+ 117
+
+ 112
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+ 0.40999999642372137
+ 48
+ 69
+
+
+
+
+ 18.375
+ 0.0
+ 0.0
+ 0
+
+ 96
+
+
+ 101
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.341
+ 0.0
+ 0.0
+ 0
+
+ 102
+
+
+ 103
+
+ Active
+ Manual
+
+
+
+
+
+
+ 54.559
+ 0.0
+ 0.0
+ 13
+
+ 103
+
+
+ 109
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.445
+ 0.0
+ 0.0
+ 0
+
+ 107
+
+
+ 108
+
+ Active
+ Manual
+
+
+
+
+
+
+ 48.48
+ 0.0
+ 0.0
+ 13
+
+ 101
+
+
+ 111
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.516
+ 0.0
+ 0.0
+ 0
+
+ 112
+
+
+ 113
+
+ Active
+ Manual
+
+
+
+
+
+
+ 48.985
+ 0.0
+ 0.0
+ 13
+
+ 107
+
+
+ 118
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.015
+ 0.0
+ 0.0
+ 0
+
+ 118
+
+
+ 119
+
+ Active
+ Manual
+
+
+
+
+
+
+ 37.534
+ 0.0
+ 0.0
+ 13
+
+ 115
+
+
+ 123
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.466
+ 0.0
+ 0.0
+ 0
+
+ 120
+
+
+ 121
+
+ Active
+ Manual
+
+
+
+
+
+
+ 40.584
+ 0.0
+ 0.0
+ 17
+
+ 117
+
+
+ 123
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.416
+ 0.0
+ 0.0
+ 0
+
+ 124
+
+
+ 124
+
+ Active
+ Manual
+
+
+
+
+
+
+ 55.309
+ 0.0
+ 0.0
+ 17
+
+ 109
+
+
+ 126
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.691
+ 0.0
+ 0.0
+ 0
+
+ 113
+
+
+ 114
+
+ Active
+ Manual
+
+
+
+
+
+
+ 46.534
+ 0.0
+ 0.0
+ 13
+
+ 108
+
+
+ 117
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.466
+ 0.0
+ 0.0
+ 0
+
+ 111
+
+
+ 111
+
+ Active
+ Manual
+
+
+
+
+
+
+ 67.059
+ 0.0
+ 0.0
+ 21
+
+ 107
+
+
+ 117
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.941
+ 0.0
+ 0.0
+ 0
+
+ 107
+
+
+ 108
+
+ Active
+ Manual
+
+
+
+
+
+
+ 49.784
+ 0.0
+ 0.0
+ 13
+
+ 105
+
+
+ 113
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.216
+ 0.0
+ 0.0
+ 0
+
+ 101
+
+
+ 102
+
+ Active
+ Manual
+
+
+
+
+
+
+ 93.035
+ 32.55
+ 1.5870000123977661
+ 29
+
+ 109
+
+
+ 121
+
+ Active
+ Manual
+
+
+
+ 0.3499999940395355
+ 40
+ 51
+
+
+
+
+ 29.899
+ 0.0
+ 0.0
+ 13
+
+ 118
+
+
+ 122
+
+ Active
+ Manual
+
+
+
+ 31
+ 31
+
+
+
+
+ 1.066
+ 0.0
+ 0.0
+ 0
+
+ 120
+
+
+ 121
+
+ Active
+ Manual
+
+
+
+
+
+
+ 64.36
+ 0.0
+ 0.0
+ 29
+
+ 120
+
+
+ 126
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.64
+ 0.0
+ 0.0
+ 0
+
+ 120
+
+
+ 120
+
+ Active
+ Manual
+
+
+
+
+
+
+ 53.534
+ 0.0
+ 0.0
+ 25
+
+ 123
+
+
+ 127
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.466
+ 0.0
+ 0.0
+ 0
+
+ 125
+
+
+ 125
+
+ Active
+ Manual
+
+
+
+
+
+
+ 35.184
+ 0.0
+ 0.0
+ 17
+
+ 126
+
+
+ 133
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.816
+ 0.0
+ 0.0
+ 0
+
+ 129
+
+
+ 130
+
+ Active
+ Manual
+
+
+
+
+
+
+ 44.859
+ 0.0
+ 0.0
+ 29
+
+ 132
+
+
+ 137
+
+ Active
+ Manual
+
+
+
+
+
+
+ 14.141
+ 0.0
+ 0.0
+ 8
+
+ 132
+
+
+ 135
+
+ Active
+ Manual
+
+
+
+
+
+
+ 38.584
+ 0.0
+ 0.0
+ 21
+
+ 128
+
+
+ 136
+
+ Active
+ Manual
+
+
+
+
+
+
+ 15.416
+ 0.0
+ 0.0
+ 8
+
+ 133
+
+
+ 136
+
+ Active
+ Manual
+
+
+
+
+
+
+ 37.184
+ 6.69
+ 1.531000018119812
+ 17
+
+ 125
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+ 0.18000000715255737
+ 43
+ 45
+
+
+
+
+ 20.816
+ 0.0
+ 0.0
+ 13
+
+ 135
+
+
+ 137
+
+ Active
+ Manual
+
+
+
+
+
+
+ 36.859
+ 0.0
+ 0.0
+ 17
+
+ 126
+
+
+ 133
+
+ Active
+ Manual
+
+
+
+
+
+
+ 20.146
+ 0.0
+ 0.0
+ 13
+
+ 134
+
+
+ 136
+
+ Active
+ Manual
+
+
+
+
+
+
+ 48.929
+ 0.0
+ 0.0
+ 25
+
+ 125
+
+
+ 130
+
+ Active
+ Manual
+
+
+
+
+
+
+ 24.066
+ 0.0
+ 0.0
+ 17
+
+ 134
+
+
+ 136
+
+ Active
+ Manual
+
+
+
+
+
+
+ 39.834
+ 0.0
+ 0.0
+ 21
+
+ 127
+
+
+ 137
+
+ Active
+ Manual
+
+
+
+
+
+
+ 25.171
+ 0.0
+ 0.0
+ 17
+
+ 138
+
+
+ 140
+
+ Active
+ Manual
+
+
+
+
+
+
+ 91.129
+ 28.38
+ 1.531000018119812
+ 34
+
+ 114
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+ 0.3109999895095825
+ 49
+ 55
+
+
+
+
+ 19.95
+ 0.0
+ 0.0
+ 4
+
+ 114
+
+
+ 126
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.916
+ 0.0
+ 0.0
+ 0
+
+ 123
+
+
+ 123
+
+ Active
+ Manual
+
+
+
+
+
+
+ 29.184
+ 0.0
+ 0.0
+ 8
+
+ 116
+
+
+ 123
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.816
+ 0.0
+ 0.0
+ 0
+
+ 126
+
+
+ 127
+
+ Active
+ Manual
+
+
+
+
+
+
+ 25.759
+ 0.0
+ 0.0
+ 4
+
+ 113
+
+
+ 127
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.241
+ 0.0
+ 0.0
+ 0
+
+ 124
+
+
+ 125
+
+ Active
+ Manual
+
+
+
+
+
+
+ 28.572
+ 0.0
+ 0.0
+ 8
+
+ 118
+
+
+ 127
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.428
+ 0.0
+ 0.0
+ 0
+
+ 127
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 30.959
+ 0.0
+ 0.0
+ 13
+
+ 122
+
+
+ 130
+
+ Active
+ Manual
+
+
+
+
+
+
+ 8.041
+ 0.0
+ 0.0
+ 4
+
+ 132
+
+
+ 134
+
+ Active
+ Manual
+
+
+
+
+
+
+ 25.868
+ 0.0
+ 0.0
+ 8
+
+ 123
+
+
+ 133
+
+ Active
+ Manual
+
+
+
+
+
+
+ 6.132
+ 0.0
+ 0.0
+ 4
+
+ 131
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+
+
+
+ 28.259
+ 0.0
+ 0.0
+ 8
+
+ 116
+
+
+ 127
+
+ Active
+ Manual
+
+
+
+
+
+
+ 3.741
+ 0.0
+ 0.0
+ 0
+
+ 129
+
+
+ 131
+
+ Active
+ Manual
+
+
+
+
+
+
+ 24.572
+ 0.0
+ 0.0
+ 8
+
+ 116
+
+
+ 126
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.428
+ 0.0
+ 0.0
+ 0
+
+ 126
+
+
+ 126
+
+ Active
+ Manual
+
+
+
+
+
+
+ 27.884
+ 0.0
+ 0.0
+ 8
+
+ 115
+
+
+ 124
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.116
+ 0.0
+ 0.0
+ 0
+
+ 125
+
+
+ 127
+
+ Active
+ Manual
+
+
+
+
+
+
+ 34.859
+ 0.0
+ 0.0
+ 8
+
+ 117
+
+
+ 131
+
+ Active
+ Manual
+
+
+
+
+
+
+ 5.141
+ 0.0
+ 0.0
+ 0
+
+ 131
+
+
+ 134
+
+ Active
+ Manual
+
+
+
+
+
+
+ 72.284
+ 17.7
+ 1.531000018119812
+ 25
+
+ 113
+
+
+ 127
+
+ Active
+ Manual
+
+
+
+ 0.2450000047683716
+ 37
+ 48
+
+
+
+
+ 23.35
+ 0.0
+ 0.0
+ 8
+
+ 118
+
+
+ 133
+
+ Active
+ Manual
+
+
+
+
+
+
+ 12.366
+ 0.0
+ 0.0
+ 8
+
+ 133
+
+
+ 135
+
+ Active
+ Manual
+
+
+
+
+
+
+ 20.684
+ 0.0
+ 0.0
+ 8
+
+ 126
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+
+
+
+ 17.316
+ 0.0
+ 0.0
+ 8
+
+ 134
+
+
+ 136
+
+ Active
+ Manual
+
+
+
+
+
+
+ 36.536
+ 0.0
+ 0.0
+ 17
+
+ 121
+
+
+ 128
+
+ Active
+ Manual
+
+
+
+
+
+
+ 1.714
+ 0.0
+ 0.0
+ 0
+
+ 129
+
+
+ 129
+
+ Active
+ Manual
+
+
+
+
+
+
+ 41.622
+ 6.12
+ 1.531000018119812
+ 17
+
+ 123
+
+
+ 131
+
+ Active
+ Manual
+
+
+
+ 0.1469999998807907
+ 13
+ 34
+
+
+
+
+ 19.378
+ 0.0
+ 0.0
+ 8
+
+ 133
+
+
+ 136
+
+ Active
+ Manual
+
+
+
+
+
+
+ 21.109
+ 0.0
+ 0.0
+ 8
+
+ 127
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+
+
+
+ 26.891
+ 3.03
+ 1.531000018119812
+ 17
+
+ 134
+
+
+ 139
+
+ Active
+ Manual
+
+
+
+ 0.11299999803304672
+ 9
+ 32
+
+
+
+
+ 20.684
+ 0.0
+ 0.0
+ 8
+
+ 126
+
+
+ 129
+
+ Active
+ Manual
+
+
+
+
+
+
+ 14.316
+ 0.0
+ 0.0
+ 8
+
+ 131
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+
+
+
+ 25.909
+ 0.0
+ 0.0
+ 8
+
+ 124
+
+
+ 132
+
+ Active
+ Manual
+
+
+
+
+
+
+ 23.091
+ 3.06
+ 1.531000018119812
+ 13
+
+ 134
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+ 0.13300000131130219
+ 31
+ 31
+
+
+
+
+ 22.134
+ 0.0
+ 0.0
+ 8
+
+ 127
+
+
+ 130
+
+ Active
+ Manual
+
+
+
+
+
+
+ 15.871
+ 6.12
+ 1.531000018119812
+ 8
+
+ 133
+
+
+ 135
+
+ Active
+ Manual
+
+
+
+ 0.38600000739097595
+ 34
+ 34
+
+
+
+
+ 20.279
+ 0.0
+ 0.0
+ 8
+
+ 124
+
+
+ 130
+
+ Active
+ Manual
+
+
+
+ 34
+ 34
+
+
+
+
+ 25.716
+ 0.0
+ 0.0
+ 13
+
+ 134
+
+
+ 138
+
+ Active
+ Manual
+
+
+
+
+
+
+ 27.634
+ 0.0
+ 0.0
+ 13
+
+ 127
+
+
+ 133
+
+ Active
+ Manual
+
+
+
+
+
+
+ 18.121
+ 0.0
+ 0.0
+ 8
+
+ 132
+
+
+ 134
+
+ Active
+ Manual
+
+
+
+
+
+
+ Garmin Forerunner 610
+ 3840532598
+ 1345
+
+ 2
+ 70
+ 0
+ 0
+
+
+
+
+
+ Connect Api
+
+
+ 25
+ 15
+ 0
+ 0
+
+
+ en
+ 006-D2449-00
+
+
diff --git a/data/garmin.db b/data/garmin.db
new file mode 100644
index 0000000..4a84dbb
Binary files /dev/null and b/data/garmin.db differ
diff --git a/garminsync/cli.py b/garminsync/cli.py
index a518bdf..2ba0dbc 100644
--- a/garminsync/cli.py
+++ b/garminsync/cli.py
@@ -12,11 +12,12 @@ app = typer.Typer(help="GarminSync - Download Garmin Connect activities", rich_m
def list_activities(
all_activities: Annotated[bool, typer.Option("--all", help="List all activities")] = False,
missing: Annotated[bool, typer.Option("--missing", help="List missing activities")] = False,
- downloaded: Annotated[bool, typer.Option("--downloaded", help="List downloaded activities")] = False
+ downloaded: Annotated[bool, typer.Option("--downloaded", help="List downloaded activities")] = False,
+ offline: Annotated[bool, typer.Option("--offline", help="Work offline without syncing")] = False
):
"""List activities based on specified filters"""
from tqdm import tqdm
- from .database import get_session, Activity
+ from .database import get_session, Activity, get_offline_stats, sync_database
from .garmin import GarminClient
# Validate input
@@ -28,10 +29,14 @@ def list_activities(
client = GarminClient()
session = get_session()
- # Sync database with latest activities
- typer.echo("Syncing activities from Garmin Connect...")
- from .database import sync_database
- sync_database(client)
+ if not offline:
+ # Sync database with latest activities
+ typer.echo("Syncing activities from Garmin Connect...")
+ sync_database(client)
+ else:
+ # Show offline status with last sync info
+ stats = get_offline_stats()
+ typer.echo(f"Working in offline mode - using cached data (last sync: {stats['last_sync']})")
# Build query based on filters
query = session.query(Activity)
@@ -130,8 +135,32 @@ def download(
if 'session' in locals():
session.close()
+@app.command("daemon")
+def daemon_mode(
+ start: Annotated[bool, typer.Option("--start", help="Start daemon")] = False,
+ stop: Annotated[bool, typer.Option("--stop", help="Stop daemon")] = False,
+ status: Annotated[bool, typer.Option("--status", help="Show daemon status")] = False,
+ port: Annotated[int, typer.Option("--port", help="Web UI port")] = 8080
+):
+ """Daemon mode operations"""
+ from .daemon import GarminSyncDaemon
+
+ if start:
+ daemon = GarminSyncDaemon()
+ daemon.start(web_port=port)
+ elif stop:
+ # Implementation for stopping daemon (PID file or signal)
+ typer.echo("Stopping daemon...")
+ # TODO: Implement stop (we can use a PID file to stop the daemon)
+ typer.echo("Daemon stop not implemented yet")
+ elif status:
+ # Show current daemon status
+ typer.echo("Daemon status not implemented yet")
+ else:
+ typer.echo("Please specify one of: --start, --stop, --status")
+
def main():
app()
if __name__ == "__main__":
- main()
\ No newline at end of file
+ main()
diff --git a/garminsync/daemon.py b/garminsync/daemon.py
new file mode 100644
index 0000000..e33a403
--- /dev/null
+++ b/garminsync/daemon.py
@@ -0,0 +1,145 @@
+import signal
+import sys
+import time
+import threading
+from datetime import datetime
+from apscheduler.schedulers.background import BackgroundScheduler
+from apscheduler.triggers.cron import CronTrigger
+from .database import get_session, Activity, DaemonConfig, SyncLog
+from .garmin import GarminClient
+from .utils import logger
+
+class GarminSyncDaemon:
+ def __init__(self):
+ self.scheduler = BackgroundScheduler()
+ self.running = False
+ self.web_server = None
+
+ def start(self, web_port=8080):
+ """Start daemon with scheduler and web UI"""
+ try:
+ # Load configuration from database
+ config = self.load_config()
+
+ # Setup scheduled job
+ if config.enabled:
+ self.scheduler.add_job(
+ func=self.sync_and_download,
+ trigger=CronTrigger.from_crontab(config.schedule_cron),
+ id='sync_job',
+ replace_existing=True
+ )
+
+ # Start scheduler
+ self.scheduler.start()
+ self.running = True
+
+ # Start web UI in separate thread
+ self.start_web_ui(web_port)
+
+ # Setup signal handlers for graceful shutdown
+ signal.signal(signal.SIGINT, self.signal_handler)
+ signal.signal(signal.SIGTERM, self.signal_handler)
+
+ logger.info(f"Daemon started. Web UI available at http://localhost:{web_port}")
+
+ # Keep daemon running
+ while self.running:
+ time.sleep(1)
+
+ except Exception as e:
+ logger.error(f"Failed to start daemon: {str(e)}")
+ self.stop()
+
+ def sync_and_download(self):
+ """Scheduled job function"""
+ try:
+ self.log_operation("sync", "started")
+
+ # Perform sync and download
+ client = GarminClient()
+ activities_before = self.count_missing()
+
+ # Sync database
+ session = get_session()
+ activities = client.get_activities(0, 1000)
+ for activity in activities:
+ activity_id = activity["activityId"]
+ existing = session.query(Activity).filter_by(activity_id=activity_id).first()
+ if not existing:
+ new_activity = Activity(
+ activity_id=activity_id,
+ start_time=activity["startTimeLocal"],
+ downloaded=False,
+ created_at=datetime.now().isoformat()
+ )
+ session.add(new_activity)
+ session.commit()
+
+ # Download missing activities
+ downloaded_count = 0
+ missing_activities = session.query(Activity).filter_by(downloaded=False).all()
+ for activity in missing_activities:
+ if client.download_activity(activity.activity_id, activity.start_time):
+ activity.downloaded = True
+ activity.last_sync = datetime.now().isoformat()
+ downloaded_count += 1
+ session.commit()
+
+ self.log_operation("sync", "success",
+ f"Downloaded {downloaded_count} new activities")
+
+ except Exception as e:
+ self.log_operation("sync", "error", str(e))
+
+ def load_config(self):
+ """Load daemon configuration from database"""
+ session = get_session()
+ config = session.query(DaemonConfig).first()
+ if not config:
+ # Create default configuration
+ config = DaemonConfig()
+ session.add(config)
+ session.commit()
+ return config
+
+ def start_web_ui(self, port):
+ """Start FastAPI web server in a separate thread"""
+ from .web.app import app
+ import uvicorn
+
+ def run_server():
+ uvicorn.run(app, host="0.0.0.0", port=port)
+
+ web_thread = threading.Thread(target=run_server, daemon=True)
+ web_thread.start()
+ self.web_server = web_thread
+
+ def signal_handler(self, signum, frame):
+ """Handle shutdown signals"""
+ logger.info("Received shutdown signal, stopping daemon...")
+ self.stop()
+
+ def stop(self):
+ """Stop daemon and clean up resources"""
+ if self.scheduler.running:
+ self.scheduler.shutdown()
+ self.running = False
+ logger.info("Daemon stopped")
+
+ def log_operation(self, operation, status, message=None):
+ """Log sync operation to database"""
+ session = get_session()
+ log = SyncLog(
+ timestamp=datetime.now().isoformat(),
+ operation=operation,
+ status=status,
+ message=message
+ )
+ session.add(log)
+ session.commit()
+
+ def count_missing(self):
+ """Count missing activities"""
+ session = get_session()
+ return session.query(Activity).filter_by(downloaded=False).count()
diff --git a/garminsync/database.py b/garminsync/database.py
index f270678..d740504 100644
--- a/garminsync/database.py
+++ b/garminsync/database.py
@@ -12,6 +12,28 @@ class Activity(Base):
start_time = Column(String, nullable=False)
filename = Column(String, unique=True, nullable=True)
downloaded = Column(Boolean, default=False, nullable=False)
+ last_sync = Column(String, nullable=True) # ISO timestamp of last sync
+
+class DaemonConfig(Base):
+ __tablename__ = 'daemon_config'
+
+ id = Column(Integer, primary_key=True, default=1)
+ enabled = Column(Boolean, default=True, nullable=False)
+ schedule_cron = Column(String, default="0 */6 * * *", nullable=False) # Every 6 hours
+ last_run = Column(String, nullable=True)
+ next_run = Column(String, nullable=True)
+ status = Column(String, default="stopped", nullable=False) # stopped, running, error
+
+class SyncLog(Base):
+ __tablename__ = 'sync_logs'
+
+ id = Column(Integer, primary_key=True, autoincrement=True)
+ timestamp = Column(String, nullable=False)
+ operation = Column(String, nullable=False) # sync, download, daemon_start, daemon_stop
+ status = Column(String, nullable=False) # success, error, partial
+ message = Column(String, nullable=True)
+ activities_processed = Column(Integer, default=0, nullable=False)
+ activities_downloaded = Column(Integer, default=0, nullable=False)
def init_db():
"""Initialize database connection and create tables"""
@@ -28,6 +50,7 @@ def get_session():
def sync_database(garmin_client):
"""Sync local database with Garmin Connect activities"""
+ from datetime import datetime
session = get_session()
try:
# Fetch activities from Garmin Connect
@@ -44,7 +67,8 @@ def sync_database(garmin_client):
new_activity = Activity(
activity_id=activity_id,
start_time=start_time,
- downloaded=False
+ downloaded=False,
+ last_sync=datetime.now().isoformat()
)
session.add(new_activity)
@@ -54,6 +78,24 @@ def sync_database(garmin_client):
raise e
finally:
session.close()
+
+def get_offline_stats():
+ """Return statistics about cached data without API calls"""
+ session = get_session()
+ try:
+ total = session.query(Activity).count()
+ downloaded = session.query(Activity).filter_by(downloaded=True).count()
+ missing = total - downloaded
+ # Get most recent sync timestamp
+ last_sync = session.query(Activity).order_by(Activity.last_sync.desc()).first()
+ return {
+ 'total': total,
+ 'downloaded': downloaded,
+ 'missing': missing,
+ 'last_sync': last_sync.last_sync if last_sync else 'Never synced'
+ }
+ finally:
+ session.close()
# Example usage:
# from .garmin import GarminClient
diff --git a/garminsync/web/__init__.py b/garminsync/web/__init__.py
new file mode 100644
index 0000000..43c3f42
--- /dev/null
+++ b/garminsync/web/__init__.py
@@ -0,0 +1 @@
+# Empty file to mark this directory as a Python package
diff --git a/garminsync/web/app.py b/garminsync/web/app.py
new file mode 100644
index 0000000..d4d3527
--- /dev/null
+++ b/garminsync/web/app.py
@@ -0,0 +1,24 @@
+from fastapi import FastAPI, Request
+from fastapi.staticfiles import StaticFiles
+from fastapi.templating import Jinja2Templates
+from .routes import router
+
+app = FastAPI(title="GarminSync Dashboard")
+
+# Mount static files and templates
+app.mount("/static", StaticFiles(directory="garminsync/web/static"), name="static")
+templates = Jinja2Templates(directory="garminsync/web/templates")
+
+# Include API routes
+app.include_router(router)
+
+@app.get("/")
+async def dashboard(request: Request):
+ # Get current statistics
+ from garminsync.database import get_offline_stats
+ stats = get_offline_stats()
+
+ return templates.TemplateResponse("dashboard.html", {
+ "request": request,
+ "stats": stats
+ })
diff --git a/garminsync/web/routes.py b/garminsync/web/routes.py
new file mode 100644
index 0000000..81ba988
--- /dev/null
+++ b/garminsync/web/routes.py
@@ -0,0 +1,56 @@
+from fastapi import APIRouter, HTTPException
+from pydantic import BaseModel
+from garminsync.database import get_session, DaemonConfig, SyncLog
+
+router = APIRouter(prefix="/api")
+
+class ScheduleConfig(BaseModel):
+ enabled: bool
+ cron_schedule: str
+
+@router.get("/status")
+async def get_status():
+ """Get current daemon status"""
+ session = get_session()
+ config = session.query(DaemonConfig).first()
+
+ # Get recent logs
+ logs = session.query(SyncLog).order_by(SyncLog.timestamp.desc()).limit(10).all()
+
+ return {
+ "daemon": {
+ "running": config.status == "running" if config else False,
+ "next_run": config.next_run if config else None,
+ "schedule": config.schedule_cron if config else None
+ },
+ "recent_logs": [
+ {
+ "timestamp": log.timestamp,
+ "operation": log.operation,
+ "status": log.status,
+ "message": log.message
+ } for log in logs
+ ]
+ }
+
+@router.post("/schedule")
+async def update_schedule(config: ScheduleConfig):
+ """Update daemon schedule configuration"""
+ session = get_session()
+ daemon_config = session.query(DaemonConfig).first()
+
+ if not daemon_config:
+ daemon_config = DaemonConfig()
+ session.add(daemon_config)
+
+ daemon_config.enabled = config.enabled
+ daemon_config.schedule_cron = config.cron_schedule
+ session.commit()
+
+ return {"message": "Configuration updated successfully"}
+
+@router.post("/sync/trigger")
+async def trigger_sync():
+ """Manually trigger a sync operation"""
+ # TODO: Implement sync triggering
+ return {"message": "Sync triggered successfully"}
diff --git a/garminsync/web/static/app.js b/garminsync/web/static/app.js
new file mode 100644
index 0000000..bb329de
--- /dev/null
+++ b/garminsync/web/static/app.js
@@ -0,0 +1,47 @@
+// Auto-refresh dashboard data
+setInterval(updateStatus, 30000); // Every 30 seconds
+
+async function updateStatus() {
+ try {
+ const response = await fetch('/api/status');
+ const data = await response.json();
+
+ // Update daemon status
+ document.getElementById('daemon-status').innerHTML = `
+
Status:
+ ${data.daemon.running ? 'Running' : 'Stopped'}
+
+ Next Run: ${data.daemon.next_run || 'Not scheduled'}
+ Schedule: ${data.daemon.schedule || 'Not configured'}
+ `;
+
+ // Update recent logs
+ const logsHtml = data.recent_logs.map(log => `
+
+ ${log.timestamp}
+
+ ${log.status}
+
+ ${log.operation}: ${log.message || ''}
+
+ `).join('');
+
+ document.getElementById('recent-logs').innerHTML = logsHtml;
+
+ } catch (error) {
+ console.error('Failed to update status:', error);
+ }
+}
+
+async function triggerSync() {
+ try {
+ await fetch('/api/sync/trigger', { method: 'POST' });
+ alert('Sync triggered successfully');
+ updateStatus();
+ } catch (error) {
+ alert('Failed to trigger sync');
+ }
+}
+
+// Initialize on page load
+document.addEventListener('DOMContentLoaded', updateStatus);
diff --git a/garminsync/web/static/style.css b/garminsync/web/static/style.css
new file mode 100644
index 0000000..ce8dfe5
--- /dev/null
+++ b/garminsync/web/static/style.css
@@ -0,0 +1,32 @@
+body {
+ font-family: Arial, sans-serif;
+ background-color: #f8f9fa;
+}
+
+.card {
+ margin-bottom: 20px;
+ box-shadow: 0 2px 10px rgba(0,0,0,0.1);
+}
+
+.card-header {
+ font-weight: bold;
+ background-color: #f1f1f1;
+}
+
+.btn {
+ margin-right: 5px;
+}
+
+.log-entry {
+ margin-bottom: 10px;
+ padding: 5px;
+ border-left: 3px solid #ddd;
+}
+
+.log-entry .badge-success {
+ background-color: #28a745;
+}
+
+.log-entry .badge-error {
+ background-color: #dc3545;
+}
diff --git a/garminsync/web/templates/base.html b/garminsync/web/templates/base.html
new file mode 100644
index 0000000..e91a55c
--- /dev/null
+++ b/garminsync/web/templates/base.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+ GarminSync Dashboard
+
+
+
+
+
+
+
+ {% block content %}{% endblock %}
+
+
+
+
+
+
diff --git a/garminsync/web/templates/dashboard.html b/garminsync/web/templates/dashboard.html
new file mode 100644
index 0000000..b74ef32
--- /dev/null
+++ b/garminsync/web/templates/dashboard.html
@@ -0,0 +1,79 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+
GarminSync Dashboard
+
+
+
+
+
+
+
Total Activities: {{ stats.total }}
+
Downloaded: {{ stats.downloaded }}
+
Missing: {{ stats.missing }}
+
Last Sync: {{ stats.last_sync }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/requirements.txt b/requirements.txt
index dbae3f1..4e34d1a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,6 +1,13 @@
typer==0.9.0
click==8.1.7
python-dotenv==1.0.0
-garminconnect==0.2.28
+garminconnect==0.2.29
sqlalchemy==2.0.23
-tqdm==4.66.1
\ No newline at end of file
+tqdm==4.66.1
+fastapi==0.104.1
+uvicorn[standard]==0.24.0
+apscheduler==3.10.4
+pydantic==2.5.0
+jinja2==3.1.2
+python-multipart==0.0.6
+aiofiles==23.2.1