exiftool_vendored 13.57.1 → 13.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/Changes +15 -1
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +4 -3
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +6 -4
- data/bin/lib/Image/ExifTool/Canon.pm +36 -36
- data/bin/lib/Image/ExifTool/FujiFilm.pm +4 -4
- data/bin/lib/Image/ExifTool/Garmin.pm +185 -3221
- data/bin/lib/Image/ExifTool/M2TS.pm +24 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +4 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +4 -1
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +1 -1
- data/bin/lib/Image/ExifTool/TagLookup.pm +36 -37
- data/bin/lib/Image/ExifTool/TagNames.pod +48 -48
- data/bin/lib/Image/ExifTool/XMP.pm +24 -6
- data/bin/lib/Image/ExifTool.pm +1 -3
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
|
@@ -19,7 +19,7 @@ use vars qw($VERSION);
|
|
|
19
19
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
20
20
|
use Image::ExifTool::GPS;
|
|
21
21
|
|
|
22
|
-
$VERSION = '1.
|
|
22
|
+
$VERSION = '1.02';
|
|
23
23
|
|
|
24
24
|
# ExifTool and FIT format names and invalid values for each FIT base type
|
|
25
25
|
my %baseType = (
|
|
@@ -31,8 +31,8 @@ my %baseType = (
|
|
|
31
31
|
0x85 => [ qw(int32s sint32), 0x7fffffff ],
|
|
32
32
|
0x86 => [ qw(int32u unit32), 0xffffffff ],
|
|
33
33
|
0x07 => [ qw(string string), '' ],
|
|
34
|
-
0x88 => [ qw(float float32), '
|
|
35
|
-
0x89 => [ qw(double float64),'
|
|
34
|
+
0x88 => [ qw(float float32), 'nan' ],
|
|
35
|
+
0x89 => [ qw(double float64),'nan' ],
|
|
36
36
|
0x0a => [ qw(int8u uint8z), 0 ],
|
|
37
37
|
0x8b => [ qw(int16u uint16z), 0 ],
|
|
38
38
|
0x8c => [ qw(int32u uint32z), 0 ],
|
|
@@ -76,6 +76,9 @@ my %speedInfo = (
|
|
|
76
76
|
PrintConv => '"$val km/h"',
|
|
77
77
|
);
|
|
78
78
|
|
|
79
|
+
#
|
|
80
|
+
# All variables and tables below generated by "update_garmin" script
|
|
81
|
+
#
|
|
79
82
|
#----------------------------------------------------------------------
|
|
80
83
|
# FIT enumerated types. First we start with the documented types (ref 2)
|
|
81
84
|
#
|
|
@@ -116,182 +119,177 @@ my %file = (
|
|
|
116
119
|
);
|
|
117
120
|
|
|
118
121
|
my %mesgNum = (
|
|
119
|
-
0 => '
|
|
122
|
+
0 => 'FileID',
|
|
120
123
|
1 => 'Capabilities',
|
|
121
|
-
2 => '
|
|
122
|
-
3 => '
|
|
123
|
-
4 => '
|
|
124
|
-
5 => '
|
|
125
|
-
6 => '
|
|
126
|
-
7 => '
|
|
127
|
-
8 => '
|
|
128
|
-
9 => '
|
|
129
|
-
10 => '
|
|
124
|
+
2 => 'DeviceSettings',
|
|
125
|
+
3 => 'UserProfile',
|
|
126
|
+
4 => 'HRMProfile',
|
|
127
|
+
5 => 'SDMProfile',
|
|
128
|
+
6 => 'BikeProfile',
|
|
129
|
+
7 => 'ZonesTarget',
|
|
130
|
+
8 => 'HRZone',
|
|
131
|
+
9 => 'PowerZone',
|
|
132
|
+
10 => 'MetZone',
|
|
130
133
|
12 => 'Sport',
|
|
131
|
-
13 => '
|
|
132
|
-
14 => '
|
|
134
|
+
13 => 'TrainingSettings',
|
|
135
|
+
14 => 'DataScreen', #4
|
|
133
136
|
15 => 'Goal',
|
|
134
137
|
16 => 'Alert', #4
|
|
135
|
-
17 => '
|
|
138
|
+
17 => 'RangeAlert', #4
|
|
136
139
|
18 => 'Session',
|
|
137
140
|
19 => 'Lap',
|
|
138
141
|
20 => 'Record',
|
|
139
142
|
21 => 'Event',
|
|
140
|
-
22 => '
|
|
141
|
-
23 => '
|
|
143
|
+
22 => 'DeviceUsed', #4
|
|
144
|
+
23 => 'DeviceInfo',
|
|
142
145
|
26 => 'Workout',
|
|
143
|
-
27 => '
|
|
146
|
+
27 => 'WorkoutStep',
|
|
144
147
|
28 => 'Schedule',
|
|
145
148
|
29 => 'Location', #4
|
|
146
|
-
30 => '
|
|
149
|
+
30 => 'WeightScale',
|
|
147
150
|
31 => 'Course',
|
|
148
|
-
32 => '
|
|
151
|
+
32 => 'CoursePoint',
|
|
149
152
|
33 => 'Totals',
|
|
150
153
|
34 => 'Activity',
|
|
151
154
|
35 => 'Software',
|
|
152
|
-
37 => '
|
|
153
|
-
38 => '
|
|
154
|
-
39 => '
|
|
155
|
-
49 => '
|
|
156
|
-
51 => '
|
|
157
|
-
53 => '
|
|
155
|
+
37 => 'FileCapabilities',
|
|
156
|
+
38 => 'MesgCapabilities',
|
|
157
|
+
39 => 'FieldCapabilities',
|
|
158
|
+
49 => 'FileCreator',
|
|
159
|
+
51 => 'BloodPressure',
|
|
160
|
+
53 => 'SpeedZone',
|
|
158
161
|
55 => 'Monitoring',
|
|
159
|
-
70 => '
|
|
162
|
+
70 => 'MapLayer', #4
|
|
160
163
|
71 => 'Routing', #4
|
|
161
|
-
72 => '
|
|
164
|
+
72 => 'TrainingFile',
|
|
162
165
|
78 => 'HRV',
|
|
163
|
-
79 => '
|
|
164
|
-
80 => '
|
|
165
|
-
81 => '
|
|
166
|
-
82 => '
|
|
167
|
-
89 => '
|
|
166
|
+
79 => 'UserMetrics', #4
|
|
167
|
+
80 => 'AntRx',
|
|
168
|
+
81 => 'AntTx',
|
|
169
|
+
82 => 'AntChannelID',
|
|
170
|
+
89 => 'OpenWaterEvent', #4
|
|
168
171
|
101 => 'Length',
|
|
169
|
-
103 => '
|
|
170
|
-
104 => '
|
|
172
|
+
103 => 'MonitoringInfo',
|
|
173
|
+
104 => 'DeviceStatus', #4
|
|
171
174
|
105 => 'Pad',
|
|
172
|
-
106 => '
|
|
173
|
-
113 => '
|
|
174
|
-
114 => '
|
|
175
|
+
106 => 'SlaveDevice',
|
|
176
|
+
113 => 'BestEffort', #4
|
|
177
|
+
114 => 'PersonalRecord', #4
|
|
175
178
|
127 => 'Connectivity',
|
|
176
|
-
128 => '
|
|
177
|
-
129 => '
|
|
178
|
-
131 => '
|
|
179
|
+
128 => 'WeatherConditions',
|
|
180
|
+
129 => 'WeatherAlert',
|
|
181
|
+
131 => 'CadenceZone',
|
|
179
182
|
132 => 'HR',
|
|
180
|
-
140 => '
|
|
181
|
-
141 => '
|
|
182
|
-
142 => '
|
|
183
|
-
143 => '
|
|
184
|
-
144 => '
|
|
185
|
-
145 => '
|
|
186
|
-
147 => '
|
|
187
|
-
148 => '
|
|
188
|
-
149 => '
|
|
189
|
-
150 => '
|
|
190
|
-
151 => '
|
|
183
|
+
140 => 'ActivityMetrics', #4
|
|
184
|
+
141 => 'EPOStatus', #4
|
|
185
|
+
142 => 'SegmentLap',
|
|
186
|
+
143 => 'MultisportSettings', #4
|
|
187
|
+
144 => 'MultisportActivity', #4
|
|
188
|
+
145 => 'MemoGlob',
|
|
189
|
+
147 => 'SensorSettings', #4
|
|
190
|
+
148 => 'SegmentID',
|
|
191
|
+
149 => 'SegmentLeaderboardEntry',
|
|
192
|
+
150 => 'SegmentPoint',
|
|
193
|
+
151 => 'SegmentFile',
|
|
191
194
|
152 => 'Metronome', #4
|
|
192
|
-
158 => '
|
|
193
|
-
159 => '
|
|
194
|
-
160 => '
|
|
195
|
-
161 => '
|
|
196
|
-
162 => '
|
|
197
|
-
164 => '
|
|
198
|
-
165 => '
|
|
199
|
-
167 => '
|
|
200
|
-
169 => '
|
|
201
|
-
170 => '
|
|
195
|
+
158 => 'WorkoutSession',
|
|
196
|
+
159 => 'WatchfaceSettings',
|
|
197
|
+
160 => 'GPSMetadata',
|
|
198
|
+
161 => 'CameraEvent',
|
|
199
|
+
162 => 'TimeStampCorrelation',
|
|
200
|
+
164 => 'GyroscopeData',
|
|
201
|
+
165 => 'AccelerometerData',
|
|
202
|
+
167 => 'ThreeDSensorCalibration',
|
|
203
|
+
169 => 'VideoFrame',
|
|
204
|
+
170 => 'ConnectIQField', #4
|
|
202
205
|
173 => 'Clubs', #4
|
|
203
|
-
174 => '
|
|
204
|
-
177 => '
|
|
205
|
-
178 => '
|
|
206
|
+
174 => 'OBDIIData',
|
|
207
|
+
177 => 'NMEASentence',
|
|
208
|
+
178 => 'AviationAttitude',
|
|
206
209
|
184 => 'Video',
|
|
207
|
-
185 => '
|
|
208
|
-
186 => '
|
|
209
|
-
187 => '
|
|
210
|
-
188 => '
|
|
211
|
-
189 => '
|
|
212
|
-
190 => '
|
|
213
|
-
191 => '
|
|
210
|
+
185 => 'VideoTitle',
|
|
211
|
+
186 => 'VideoDescription',
|
|
212
|
+
187 => 'VideoClip',
|
|
213
|
+
188 => 'OHRSettings',
|
|
214
|
+
189 => 'WaypointHandling', #4
|
|
215
|
+
190 => 'GolfCourse', #4
|
|
216
|
+
191 => 'GolfStats', #4
|
|
214
217
|
192 => 'Score', #4
|
|
215
218
|
193 => 'Hole', #4
|
|
216
219
|
194 => 'Shot', #4
|
|
217
|
-
200 => '
|
|
218
|
-
201 => '
|
|
219
|
-
202 => '
|
|
220
|
-
206 => '
|
|
221
|
-
207 => '
|
|
222
|
-
208 => '
|
|
223
|
-
209 => '
|
|
224
|
-
210 => '
|
|
225
|
-
211 => '
|
|
226
|
-
216 => '
|
|
227
|
-
222 => '
|
|
220
|
+
200 => 'ExdScreenConfiguration',
|
|
221
|
+
201 => 'ExdDataFieldConfiguration',
|
|
222
|
+
202 => 'ExdDataConceptConfiguration',
|
|
223
|
+
206 => 'FieldDescription',
|
|
224
|
+
207 => 'DeveloperDataID',
|
|
225
|
+
208 => 'MagnetometerData',
|
|
226
|
+
209 => 'BarometerData',
|
|
227
|
+
210 => 'OneDSensorCalibration',
|
|
228
|
+
211 => 'MonitoringHRData',
|
|
229
|
+
216 => 'TimeInZone',
|
|
230
|
+
222 => 'AlarmSettings', #4
|
|
228
231
|
225 => 'Set',
|
|
229
|
-
227 => '
|
|
230
|
-
229 => '
|
|
231
|
-
243 => '
|
|
232
|
-
258 => '
|
|
233
|
-
259 => '
|
|
234
|
-
262 => '
|
|
235
|
-
264 => '
|
|
236
|
-
268 => '
|
|
237
|
-
269 => '
|
|
238
|
-
273 => '
|
|
239
|
-
275 => '
|
|
232
|
+
227 => 'StressLevel',
|
|
233
|
+
229 => 'MaxMetData',
|
|
234
|
+
243 => 'MusicInfo', #4
|
|
235
|
+
258 => 'DiveSettings',
|
|
236
|
+
259 => 'DiveGas',
|
|
237
|
+
262 => 'DiveAlarm',
|
|
238
|
+
264 => 'ExerciseTitle',
|
|
239
|
+
268 => 'DiveSummary',
|
|
240
|
+
269 => 'SPO2Data',
|
|
241
|
+
273 => 'SleepDataInfo', #4
|
|
242
|
+
275 => 'SleepLevel',
|
|
240
243
|
285 => 'Jump',
|
|
241
|
-
289 => '
|
|
242
|
-
290 => '
|
|
243
|
-
297 => '
|
|
244
|
-
302 => '
|
|
245
|
-
304 => '
|
|
246
|
-
305 => '
|
|
247
|
-
306 => '
|
|
248
|
-
307 => '
|
|
249
|
-
308 => '
|
|
250
|
-
309 => '
|
|
244
|
+
289 => 'AADAccelFeatures',
|
|
245
|
+
290 => 'BeatIntervals',
|
|
246
|
+
297 => 'RespirationRate',
|
|
247
|
+
302 => 'HSAAccelerometerData',
|
|
248
|
+
304 => 'HSAStepData',
|
|
249
|
+
305 => 'HSA_SPO2Data',
|
|
250
|
+
306 => 'HSAStressData',
|
|
251
|
+
307 => 'HSARespirationData',
|
|
252
|
+
308 => 'HSAHeartRateData',
|
|
253
|
+
309 => 'MtbCx', #4
|
|
251
254
|
310 => 'Race', #4
|
|
252
|
-
311 => '
|
|
255
|
+
311 => 'SplitTime', #4
|
|
253
256
|
312 => 'Split',
|
|
254
|
-
313 => '
|
|
255
|
-
314 => '
|
|
256
|
-
315 => '
|
|
257
|
-
317 => '
|
|
258
|
-
319 => '
|
|
259
|
-
321 => '
|
|
260
|
-
323 => '
|
|
261
|
-
326 => '
|
|
262
|
-
336 => '
|
|
263
|
-
337 => '
|
|
264
|
-
338 => '
|
|
265
|
-
346 => '
|
|
266
|
-
356 => '
|
|
267
|
-
358 => '
|
|
268
|
-
369 => '
|
|
269
|
-
370 => '
|
|
270
|
-
371 => '
|
|
271
|
-
372 => '
|
|
272
|
-
375 => '
|
|
273
|
-
376 => '
|
|
274
|
-
378 => '
|
|
275
|
-
379 => '
|
|
276
|
-
382 => '
|
|
277
|
-
387 => '
|
|
278
|
-
388 => '
|
|
279
|
-
389 => '
|
|
280
|
-
393 => '
|
|
281
|
-
394 => '
|
|
282
|
-
398 => '
|
|
283
|
-
402 => '
|
|
284
|
-
403 => '
|
|
285
|
-
409 => '
|
|
286
|
-
412 => '
|
|
287
|
-
428 => '
|
|
288
|
-
470 => '
|
|
289
|
-
471 => '
|
|
290
|
-
);
|
|
291
|
-
|
|
292
|
-
my %checksum = (
|
|
293
|
-
0 => 'Clear',
|
|
294
|
-
1 => 'Ok',
|
|
257
|
+
313 => 'SplitSummary',
|
|
258
|
+
314 => 'HSABodyBatteryData',
|
|
259
|
+
315 => 'HSAEvent',
|
|
260
|
+
317 => 'ClimbPro',
|
|
261
|
+
319 => 'TankUpdate',
|
|
262
|
+
321 => 'PowerMode', #4
|
|
263
|
+
323 => 'TankSummary',
|
|
264
|
+
326 => 'GPSEvent', #4
|
|
265
|
+
336 => 'ECGSummary', #4
|
|
266
|
+
337 => 'ECGRawSample', #4
|
|
267
|
+
338 => 'ECGSmoothSample', #4
|
|
268
|
+
346 => 'SleepAssessment',
|
|
269
|
+
356 => 'FunctionalMetrics', #4
|
|
270
|
+
358 => 'RaceEvent', #4
|
|
271
|
+
369 => 'TrainingReadiness', #4
|
|
272
|
+
370 => 'HRVStatusSummary',
|
|
273
|
+
371 => 'HRVValue',
|
|
274
|
+
372 => 'RawBBI',
|
|
275
|
+
375 => 'DeviceAuxBatteryInfo',
|
|
276
|
+
376 => 'HSAGyroscopeData',
|
|
277
|
+
378 => 'TrainingLoad', #4
|
|
278
|
+
379 => 'SleepSchedule', #4
|
|
279
|
+
382 => 'SleepRestlessMoments', #4
|
|
280
|
+
387 => 'ChronoShotSession',
|
|
281
|
+
388 => 'ChronoShotData',
|
|
282
|
+
389 => 'HSAConfigurationData',
|
|
283
|
+
393 => 'DiveApneaAlarm',
|
|
284
|
+
394 => 'CPEStatus', #4
|
|
285
|
+
398 => 'SkinTempOvernight',
|
|
286
|
+
402 => 'HillScore', #4
|
|
287
|
+
403 => 'EnduranceScore', #4
|
|
288
|
+
409 => 'HSAWristTemperatureData',
|
|
289
|
+
412 => 'NapEvent',
|
|
290
|
+
428 => 'WorkoutSchedule', #4
|
|
291
|
+
470 => 'SleepDisruptionSeverityPeriod',
|
|
292
|
+
471 => 'SleepDisruptionOvernightSeverity',
|
|
295
293
|
);
|
|
296
294
|
|
|
297
295
|
my %fileFlags = (
|
|
@@ -308,22 +306,6 @@ my %mesgCount = (
|
|
|
308
306
|
2 => 'Max Per File Type',
|
|
309
307
|
);
|
|
310
308
|
|
|
311
|
-
my %dateTime = (
|
|
312
|
-
BITMASK => {
|
|
313
|
-
28 => 'Min',
|
|
314
|
-
}
|
|
315
|
-
);
|
|
316
|
-
|
|
317
|
-
my %localDateTime = (
|
|
318
|
-
BITMASK => {
|
|
319
|
-
28 => 'Min',
|
|
320
|
-
}
|
|
321
|
-
);
|
|
322
|
-
|
|
323
|
-
my %deviceIndex = (
|
|
324
|
-
0 => 'Creator',
|
|
325
|
-
);
|
|
326
|
-
|
|
327
309
|
my %gender = (
|
|
328
310
|
0 => 'Female',
|
|
329
311
|
1 => 'Male',
|
|
@@ -371,178 +353,6 @@ my %language = (
|
|
|
371
353
|
254 => 'Custom',
|
|
372
354
|
);
|
|
373
355
|
|
|
374
|
-
my %languageBits_0 = (
|
|
375
|
-
BITMASK => {
|
|
376
|
-
0 => 'English',
|
|
377
|
-
1 => 'French',
|
|
378
|
-
2 => 'Italian',
|
|
379
|
-
3 => 'German',
|
|
380
|
-
4 => 'Spanish',
|
|
381
|
-
5 => 'Croatian',
|
|
382
|
-
6 => 'Czech',
|
|
383
|
-
7 => 'Danish',
|
|
384
|
-
}
|
|
385
|
-
);
|
|
386
|
-
|
|
387
|
-
my %languageBits_1 = (
|
|
388
|
-
BITMASK => {
|
|
389
|
-
0 => 'Dutch',
|
|
390
|
-
1 => 'Finnish',
|
|
391
|
-
2 => 'Greek',
|
|
392
|
-
3 => 'Hungarian',
|
|
393
|
-
4 => 'Norwegian',
|
|
394
|
-
5 => 'Polish',
|
|
395
|
-
6 => 'Portuguese',
|
|
396
|
-
7 => 'Slovakian',
|
|
397
|
-
}
|
|
398
|
-
);
|
|
399
|
-
|
|
400
|
-
my %languageBits_2 = (
|
|
401
|
-
BITMASK => {
|
|
402
|
-
0 => 'Slovenian',
|
|
403
|
-
1 => 'Swedish',
|
|
404
|
-
2 => 'Russian',
|
|
405
|
-
3 => 'Turkish',
|
|
406
|
-
4 => 'Latvian',
|
|
407
|
-
5 => 'Ukrainian',
|
|
408
|
-
6 => 'Arabic',
|
|
409
|
-
7 => 'Farsi',
|
|
410
|
-
}
|
|
411
|
-
);
|
|
412
|
-
|
|
413
|
-
my %languageBits_3 = (
|
|
414
|
-
BITMASK => {
|
|
415
|
-
0 => 'Bulgarian',
|
|
416
|
-
1 => 'Romanian',
|
|
417
|
-
2 => 'Chinese',
|
|
418
|
-
3 => 'Japanese',
|
|
419
|
-
4 => 'Korean',
|
|
420
|
-
5 => 'Taiwanese',
|
|
421
|
-
6 => 'Thai',
|
|
422
|
-
7 => 'Hebrew',
|
|
423
|
-
}
|
|
424
|
-
);
|
|
425
|
-
|
|
426
|
-
my %languageBits_4 = (
|
|
427
|
-
BITMASK => {
|
|
428
|
-
0 => 'Brazilian Portuguese',
|
|
429
|
-
1 => 'Indonesian',
|
|
430
|
-
2 => 'Malaysian',
|
|
431
|
-
3 => 'Vietnamese',
|
|
432
|
-
4 => 'Burmese',
|
|
433
|
-
5 => 'Mongolian',
|
|
434
|
-
}
|
|
435
|
-
);
|
|
436
|
-
|
|
437
|
-
my %timeZone = (
|
|
438
|
-
0 => 'Almaty',
|
|
439
|
-
1 => 'Bangkok',
|
|
440
|
-
2 => 'Bombay',
|
|
441
|
-
3 => 'Brasilia',
|
|
442
|
-
4 => 'Cairo',
|
|
443
|
-
5 => 'Cape Verde Is',
|
|
444
|
-
6 => 'Darwin',
|
|
445
|
-
7 => 'Eniwetok',
|
|
446
|
-
8 => 'Fiji',
|
|
447
|
-
9 => 'Hong Kong',
|
|
448
|
-
10 => 'Islamabad',
|
|
449
|
-
11 => 'Kabul',
|
|
450
|
-
12 => 'Magadan',
|
|
451
|
-
13 => 'Mid Atlantic',
|
|
452
|
-
14 => 'Moscow',
|
|
453
|
-
15 => 'Muscat',
|
|
454
|
-
16 => 'Newfoundland',
|
|
455
|
-
17 => 'Samoa',
|
|
456
|
-
18 => 'Sydney',
|
|
457
|
-
19 => 'Tehran',
|
|
458
|
-
20 => 'Tokyo',
|
|
459
|
-
21 => 'Us Alaska',
|
|
460
|
-
22 => 'Us Atlantic',
|
|
461
|
-
23 => 'Us Central',
|
|
462
|
-
24 => 'Us Eastern',
|
|
463
|
-
25 => 'Us Hawaii',
|
|
464
|
-
26 => 'Us Mountain',
|
|
465
|
-
27 => 'Us Pacific',
|
|
466
|
-
28 => 'Other',
|
|
467
|
-
29 => 'Auckland',
|
|
468
|
-
30 => 'Kathmandu',
|
|
469
|
-
31 => 'Europe Western Wet',
|
|
470
|
-
32 => 'Europe Central Cet',
|
|
471
|
-
33 => 'Europe Eastern Eet',
|
|
472
|
-
34 => 'Jakarta',
|
|
473
|
-
35 => 'Perth',
|
|
474
|
-
36 => 'Adelaide',
|
|
475
|
-
37 => 'Brisbane',
|
|
476
|
-
38 => 'Tasmania',
|
|
477
|
-
39 => 'Iceland',
|
|
478
|
-
40 => 'Amsterdam',
|
|
479
|
-
41 => 'Athens',
|
|
480
|
-
42 => 'Barcelona',
|
|
481
|
-
43 => 'Berlin',
|
|
482
|
-
44 => 'Brussels',
|
|
483
|
-
45 => 'Budapest',
|
|
484
|
-
46 => 'Copenhagen',
|
|
485
|
-
47 => 'Dublin',
|
|
486
|
-
48 => 'Helsinki',
|
|
487
|
-
49 => 'Lisbon',
|
|
488
|
-
50 => 'London',
|
|
489
|
-
51 => 'Madrid',
|
|
490
|
-
52 => 'Munich',
|
|
491
|
-
53 => 'Oslo',
|
|
492
|
-
54 => 'Paris',
|
|
493
|
-
55 => 'Prague',
|
|
494
|
-
56 => 'Reykjavik',
|
|
495
|
-
57 => 'Rome',
|
|
496
|
-
58 => 'Stockholm',
|
|
497
|
-
59 => 'Vienna',
|
|
498
|
-
60 => 'Warsaw',
|
|
499
|
-
61 => 'Zurich',
|
|
500
|
-
62 => 'Quebec',
|
|
501
|
-
63 => 'Ontario',
|
|
502
|
-
64 => 'Manitoba',
|
|
503
|
-
65 => 'Saskatchewan',
|
|
504
|
-
66 => 'Alberta',
|
|
505
|
-
67 => 'British Columbia',
|
|
506
|
-
68 => 'Boise',
|
|
507
|
-
69 => 'Boston',
|
|
508
|
-
70 => 'Chicago',
|
|
509
|
-
71 => 'Dallas',
|
|
510
|
-
72 => 'Denver',
|
|
511
|
-
73 => 'Kansas City',
|
|
512
|
-
74 => 'Las Vegas',
|
|
513
|
-
75 => 'Los Angeles',
|
|
514
|
-
76 => 'Miami',
|
|
515
|
-
77 => 'Minneapolis',
|
|
516
|
-
78 => 'New York',
|
|
517
|
-
79 => 'New Orleans',
|
|
518
|
-
80 => 'Phoenix',
|
|
519
|
-
81 => 'Santa Fe',
|
|
520
|
-
82 => 'Seattle',
|
|
521
|
-
83 => 'Washington Dc',
|
|
522
|
-
84 => 'Us Arizona',
|
|
523
|
-
85 => 'Chita',
|
|
524
|
-
86 => 'Ekaterinburg',
|
|
525
|
-
87 => 'Irkutsk',
|
|
526
|
-
88 => 'Kaliningrad',
|
|
527
|
-
89 => 'Krasnoyarsk',
|
|
528
|
-
90 => 'Novosibirsk',
|
|
529
|
-
91 => 'Petropavlovsk Kamchatskiy',
|
|
530
|
-
92 => 'Samara',
|
|
531
|
-
93 => 'Vladivostok',
|
|
532
|
-
94 => 'Mexico Central',
|
|
533
|
-
95 => 'Mexico Mountain',
|
|
534
|
-
96 => 'Mexico Pacific',
|
|
535
|
-
97 => 'Cape Town',
|
|
536
|
-
98 => 'Winkhoek',
|
|
537
|
-
99 => 'Lagos',
|
|
538
|
-
100 => 'Riyahd',
|
|
539
|
-
101 => 'Venezuela',
|
|
540
|
-
102 => 'Australia Lh',
|
|
541
|
-
103 => 'Santiago',
|
|
542
|
-
253 => 'Manual',
|
|
543
|
-
254 => 'Automatic',
|
|
544
|
-
);
|
|
545
|
-
|
|
546
356
|
my %displayMeasure = (
|
|
547
357
|
0 => 'Metric',
|
|
548
358
|
1 => 'Statute',
|
|
@@ -696,90 +506,6 @@ my %sportEnum = (
|
|
|
696
506
|
254 => 'All',
|
|
697
507
|
);
|
|
698
508
|
|
|
699
|
-
my %sportBits_0 = (
|
|
700
|
-
BITMASK => {
|
|
701
|
-
0 => 'Generic',
|
|
702
|
-
1 => 'Running',
|
|
703
|
-
2 => 'Cycling',
|
|
704
|
-
3 => 'Transition',
|
|
705
|
-
4 => 'Fitness Equipment',
|
|
706
|
-
5 => 'Swimming',
|
|
707
|
-
6 => 'Basketball',
|
|
708
|
-
7 => 'Soccer',
|
|
709
|
-
}
|
|
710
|
-
);
|
|
711
|
-
|
|
712
|
-
my %sportBits_1 = (
|
|
713
|
-
BITMASK => {
|
|
714
|
-
0 => 'Tennis',
|
|
715
|
-
1 => 'American Football',
|
|
716
|
-
2 => 'Training',
|
|
717
|
-
3 => 'Walking',
|
|
718
|
-
4 => 'Cross Country Skiing',
|
|
719
|
-
5 => 'Alpine Skiing',
|
|
720
|
-
6 => 'Snowboarding',
|
|
721
|
-
7 => 'Rowing',
|
|
722
|
-
}
|
|
723
|
-
);
|
|
724
|
-
|
|
725
|
-
my %sportBits_2 = (
|
|
726
|
-
BITMASK => {
|
|
727
|
-
0 => 'Mountaineering',
|
|
728
|
-
1 => 'Hiking',
|
|
729
|
-
2 => 'Multisport',
|
|
730
|
-
3 => 'Paddling',
|
|
731
|
-
4 => 'Flying',
|
|
732
|
-
5 => 'E Biking',
|
|
733
|
-
6 => 'Motorcycling',
|
|
734
|
-
7 => 'Boating',
|
|
735
|
-
}
|
|
736
|
-
);
|
|
737
|
-
|
|
738
|
-
my %sportBits_3 = (
|
|
739
|
-
BITMASK => {
|
|
740
|
-
0 => 'Driving',
|
|
741
|
-
1 => 'Golf',
|
|
742
|
-
2 => 'Hang Gliding',
|
|
743
|
-
3 => 'Horseback Riding',
|
|
744
|
-
4 => 'Hunting',
|
|
745
|
-
5 => 'Fishing',
|
|
746
|
-
6 => 'Inline Skating',
|
|
747
|
-
7 => 'Rock Climbing',
|
|
748
|
-
}
|
|
749
|
-
);
|
|
750
|
-
|
|
751
|
-
my %sportBits_4 = (
|
|
752
|
-
BITMASK => {
|
|
753
|
-
0 => 'Sailing',
|
|
754
|
-
1 => 'Ice Skating',
|
|
755
|
-
2 => 'Sky Diving',
|
|
756
|
-
3 => 'Snowshoeing',
|
|
757
|
-
4 => 'Snowmobiling',
|
|
758
|
-
5 => 'Stand Up Paddleboarding',
|
|
759
|
-
6 => 'Surfing',
|
|
760
|
-
7 => 'Wakeboarding',
|
|
761
|
-
}
|
|
762
|
-
);
|
|
763
|
-
|
|
764
|
-
my %sportBits_5 = (
|
|
765
|
-
BITMASK => {
|
|
766
|
-
0 => 'Water Skiing',
|
|
767
|
-
1 => 'Kayaking',
|
|
768
|
-
2 => 'Rafting',
|
|
769
|
-
3 => 'Windsurfing',
|
|
770
|
-
4 => 'Kitesurfing',
|
|
771
|
-
5 => 'Tactical',
|
|
772
|
-
6 => 'Jumpmaster',
|
|
773
|
-
7 => 'Boxing',
|
|
774
|
-
}
|
|
775
|
-
);
|
|
776
|
-
|
|
777
|
-
my %sportBits_6 = (
|
|
778
|
-
BITMASK => {
|
|
779
|
-
0 => 'Floor Climbing',
|
|
780
|
-
}
|
|
781
|
-
);
|
|
782
|
-
|
|
783
509
|
my %subSport = (
|
|
784
510
|
0 => 'Generic',
|
|
785
511
|
1 => 'Treadmill',
|
|
@@ -929,17 +655,6 @@ my %sessionTrigger = (
|
|
|
929
655
|
3 => 'Fitness Equipment',
|
|
930
656
|
);
|
|
931
657
|
|
|
932
|
-
my %autolapTrigger = (
|
|
933
|
-
0 => 'time',
|
|
934
|
-
1 => 'Distance',
|
|
935
|
-
2 => 'Position Start',
|
|
936
|
-
3 => 'Position Lap',
|
|
937
|
-
4 => 'Position Waypoint',
|
|
938
|
-
5 => 'Position Marked',
|
|
939
|
-
6 => 'Off',
|
|
940
|
-
13 => 'Auto Select',
|
|
941
|
-
);
|
|
942
|
-
|
|
943
658
|
my %lapTrigger = (
|
|
944
659
|
0 => 'Manual',
|
|
945
660
|
1 => 'time',
|
|
@@ -952,15 +667,6 @@ my %lapTrigger = (
|
|
|
952
667
|
8 => 'Fitness Equipment',
|
|
953
668
|
);
|
|
954
669
|
|
|
955
|
-
my %timeMode = (
|
|
956
|
-
0 => 'Hour12',
|
|
957
|
-
1 => 'Hour24',
|
|
958
|
-
2 => 'Military',
|
|
959
|
-
3 => 'Hour 12 With Seconds',
|
|
960
|
-
4 => 'Hour 24 With Seconds',
|
|
961
|
-
5 => 'Utc',
|
|
962
|
-
);
|
|
963
|
-
|
|
964
670
|
my %backlightMode = (
|
|
965
671
|
0 => 'Off',
|
|
966
672
|
1 => 'Manual',
|
|
@@ -1044,19 +750,6 @@ my %eventType = (
|
|
|
1044
750
|
9 => 'Stop Disable All',
|
|
1045
751
|
);
|
|
1046
752
|
|
|
1047
|
-
my %timerTrigger = (
|
|
1048
|
-
0 => 'Manual',
|
|
1049
|
-
1 => 'Auto',
|
|
1050
|
-
2 => 'Fitness Equipment',
|
|
1051
|
-
);
|
|
1052
|
-
|
|
1053
|
-
my %fitnessEquipmentState = (
|
|
1054
|
-
0 => 'Ready',
|
|
1055
|
-
1 => 'In Use',
|
|
1056
|
-
2 => 'Paused',
|
|
1057
|
-
3 => 'Unknown',
|
|
1058
|
-
);
|
|
1059
|
-
|
|
1060
753
|
my %tone = (
|
|
1061
754
|
0 => 'Off',
|
|
1062
755
|
1 => 'Tone',
|
|
@@ -1064,13 +757,6 @@ my %tone = (
|
|
|
1064
757
|
3 => 'Tone And Vibrate',
|
|
1065
758
|
);
|
|
1066
759
|
|
|
1067
|
-
my %autoscroll = (
|
|
1068
|
-
0 => 'None',
|
|
1069
|
-
1 => 'Slow',
|
|
1070
|
-
2 => 'Medium',
|
|
1071
|
-
3 => 'Fast',
|
|
1072
|
-
);
|
|
1073
|
-
|
|
1074
760
|
my %activityClass = (
|
|
1075
761
|
100 => 'Level Max',
|
|
1076
762
|
);
|
|
@@ -1226,11 +912,11 @@ my %coursePointEnum = (
|
|
|
1226
912
|
|
|
1227
913
|
my %manufacturer = (
|
|
1228
914
|
1 => 'Garmin',
|
|
1229
|
-
2 => 'Garmin
|
|
915
|
+
2 => 'Garmin FR405 ANTFS',
|
|
1230
916
|
3 => 'Zephyr',
|
|
1231
917
|
4 => 'Dayton',
|
|
1232
|
-
5 => '
|
|
1233
|
-
6 => '
|
|
918
|
+
5 => 'IDT',
|
|
919
|
+
6 => 'SRM',
|
|
1234
920
|
7 => 'Quarq',
|
|
1235
921
|
8 => 'Ibike',
|
|
1236
922
|
9 => 'Saris',
|
|
@@ -1286,7 +972,7 @@ my %manufacturer = (
|
|
|
1286
972
|
59 => 'Mio Technology Europe',
|
|
1287
973
|
60 => 'Rotor',
|
|
1288
974
|
61 => 'Geonaute',
|
|
1289
|
-
62 => '
|
|
975
|
+
62 => 'ID Bike',
|
|
1290
976
|
63 => 'Specialized',
|
|
1291
977
|
64 => 'Wtek',
|
|
1292
978
|
65 => 'Physical Enterprises',
|
|
@@ -1318,9 +1004,9 @@ my %manufacturer = (
|
|
|
1318
1004
|
93 => 'Inside Ride Technologies',
|
|
1319
1005
|
94 => 'Sound Of Motion',
|
|
1320
1006
|
95 => 'Stryd',
|
|
1321
|
-
96 => '
|
|
1007
|
+
96 => 'ICG',
|
|
1322
1008
|
97 => 'MiPulse',
|
|
1323
|
-
98 => '
|
|
1009
|
+
98 => 'BSX Athletics',
|
|
1324
1010
|
99 => 'Look',
|
|
1325
1011
|
100 => 'Campagnolo Srl',
|
|
1326
1012
|
101 => 'Body Bike Smart',
|
|
@@ -1337,7 +1023,7 @@ my %manufacturer = (
|
|
|
1337
1023
|
112 => 'Bryton Sensors',
|
|
1338
1024
|
113 => 'Latitude Limited',
|
|
1339
1025
|
114 => 'Soaring Technology',
|
|
1340
|
-
115 => '
|
|
1026
|
+
115 => 'iGPSPORT',
|
|
1341
1027
|
116 => 'Thinkrider',
|
|
1342
1028
|
117 => 'Gopher Sport',
|
|
1343
1029
|
118 => 'Waterrower',
|
|
@@ -1367,7 +1053,7 @@ my %manufacturer = (
|
|
|
1367
1053
|
142 => 'Tag Heuer',
|
|
1368
1054
|
143 => 'Keiser Fitness',
|
|
1369
1055
|
144 => 'Zwift Byte',
|
|
1370
|
-
145 => 'Porsche
|
|
1056
|
+
145 => 'Porsche EP',
|
|
1371
1057
|
146 => 'Blackbird',
|
|
1372
1058
|
147 => 'Meilan Byte',
|
|
1373
1059
|
148 => 'Ezon',
|
|
@@ -1407,7 +1093,7 @@ my %manufacturer = (
|
|
|
1407
1093
|
284 => 'Virtualtraining',
|
|
1408
1094
|
285 => 'Feedbacksports',
|
|
1409
1095
|
286 => 'Omata',
|
|
1410
|
-
287 => '
|
|
1096
|
+
287 => 'VDO',
|
|
1411
1097
|
288 => 'Magneticdays',
|
|
1412
1098
|
289 => 'Hammerhead',
|
|
1413
1099
|
290 => 'Kinetic By Kurt',
|
|
@@ -1440,10 +1126,10 @@ my %manufacturer = (
|
|
|
1440
1126
|
317 => 'Race Republic',
|
|
1441
1127
|
318 => 'Fazua',
|
|
1442
1128
|
319 => 'Oreka Training',
|
|
1443
|
-
320 => '
|
|
1129
|
+
320 => 'LSEC',
|
|
1444
1130
|
321 => 'Lululemon Studio',
|
|
1445
1131
|
322 => 'Shanyue',
|
|
1446
|
-
323 => 'Spinning
|
|
1132
|
+
323 => 'Spinning MDA',
|
|
1447
1133
|
324 => 'Hilldating',
|
|
1448
1134
|
325 => 'Aero Sensor',
|
|
1449
1135
|
326 => 'Nike',
|
|
@@ -1466,527 +1152,7 @@ my %manufacturer = (
|
|
|
1466
1152
|
347 => 'Jespr',
|
|
1467
1153
|
348 => 'Huawei',
|
|
1468
1154
|
349 => 'Gotoes',
|
|
1469
|
-
5759 => '
|
|
1470
|
-
);
|
|
1471
|
-
|
|
1472
|
-
my %garminProduct = (
|
|
1473
|
-
1 => 'HRM1',
|
|
1474
|
-
2 => 'Axh01',
|
|
1475
|
-
3 => 'Axb01',
|
|
1476
|
-
4 => 'Axb02',
|
|
1477
|
-
5 => 'HRM2ss',
|
|
1478
|
-
6 => 'Dsi Alf02',
|
|
1479
|
-
7 => 'HRM3ss',
|
|
1480
|
-
8 => 'HRM Run Single Byte Product ID',
|
|
1481
|
-
9 => 'Bsm',
|
|
1482
|
-
10 => 'Bcm',
|
|
1483
|
-
11 => 'Axs01',
|
|
1484
|
-
12 => 'HRM Tri Single Byte Product ID',
|
|
1485
|
-
13 => 'HRM4 Run Single Byte Product ID',
|
|
1486
|
-
14 => 'Fr225 Single Byte Product ID',
|
|
1487
|
-
15 => 'Gen3 Bsm Single Byte Product ID',
|
|
1488
|
-
16 => 'Gen3 Bcm Single Byte Product ID',
|
|
1489
|
-
22 => 'HRM Fit Single Byte Product ID',
|
|
1490
|
-
255 => 'OHR',
|
|
1491
|
-
473 => 'Fr301 China',
|
|
1492
|
-
474 => 'Fr301 Japan',
|
|
1493
|
-
475 => 'Fr301 Korea',
|
|
1494
|
-
494 => 'Fr301 Taiwan',
|
|
1495
|
-
717 => 'Fr405',
|
|
1496
|
-
782 => 'Fr50',
|
|
1497
|
-
987 => 'Fr405 Japan',
|
|
1498
|
-
988 => 'Fr60',
|
|
1499
|
-
1011 => 'Dsi Alf01',
|
|
1500
|
-
1018 => 'Fr310xt',
|
|
1501
|
-
1036 => 'Edge500',
|
|
1502
|
-
1124 => 'Fr110',
|
|
1503
|
-
1169 => 'Edge800',
|
|
1504
|
-
1199 => 'Edge500 Taiwan',
|
|
1505
|
-
1213 => 'Edge500 Japan',
|
|
1506
|
-
1253 => 'Chirp',
|
|
1507
|
-
1274 => 'Fr110 Japan',
|
|
1508
|
-
1325 => 'Edge200',
|
|
1509
|
-
1328 => 'Fr910xt',
|
|
1510
|
-
1333 => 'Edge800 Taiwan',
|
|
1511
|
-
1334 => 'Edge800 Japan',
|
|
1512
|
-
1341 => 'Alf04',
|
|
1513
|
-
1345 => 'Fr610',
|
|
1514
|
-
1360 => 'Fr210 Japan',
|
|
1515
|
-
1380 => 'Vector Ss',
|
|
1516
|
-
1381 => 'Vector Cp',
|
|
1517
|
-
1386 => 'Edge800 China',
|
|
1518
|
-
1387 => 'Edge500 China',
|
|
1519
|
-
1405 => 'Approach G10',
|
|
1520
|
-
1410 => 'Fr610 Japan',
|
|
1521
|
-
1422 => 'Edge500 Korea',
|
|
1522
|
-
1436 => 'Fr70',
|
|
1523
|
-
1446 => 'Fr310xt 4t',
|
|
1524
|
-
1461 => 'Amx',
|
|
1525
|
-
1482 => 'Fr10',
|
|
1526
|
-
1497 => 'Edge800 Korea',
|
|
1527
|
-
1499 => 'Swim',
|
|
1528
|
-
1537 => 'Fr910xt China',
|
|
1529
|
-
1551 => 'Fenix',
|
|
1530
|
-
1555 => 'Edge200 Taiwan',
|
|
1531
|
-
1561 => 'Edge510',
|
|
1532
|
-
1567 => 'Edge810',
|
|
1533
|
-
1570 => 'Tempe',
|
|
1534
|
-
1600 => 'Fr910xt Japan',
|
|
1535
|
-
1619 => 'Mt3333 1', #4
|
|
1536
|
-
1620 => 'Mt3333 2', #4
|
|
1537
|
-
1621 => 'Mt3333 3', #4
|
|
1538
|
-
1623 => 'Fr620',
|
|
1539
|
-
1632 => 'Fr220',
|
|
1540
|
-
1664 => 'Fr910xt Korea',
|
|
1541
|
-
1688 => 'Fr10 Japan',
|
|
1542
|
-
1721 => 'Edge810 Japan',
|
|
1543
|
-
1735 => 'Virb Elite',
|
|
1544
|
-
1736 => 'Edge Touring',
|
|
1545
|
-
1742 => 'Edge510 Japan',
|
|
1546
|
-
1743 => 'HRM Tri',
|
|
1547
|
-
1752 => 'HRM Run',
|
|
1548
|
-
1765 => 'Fr920xt',
|
|
1549
|
-
1821 => 'Edge510 Asia',
|
|
1550
|
-
1822 => 'Edge810 China',
|
|
1551
|
-
1823 => 'Edge810 Taiwan',
|
|
1552
|
-
1836 => 'Edge1000',
|
|
1553
|
-
1837 => 'Vivo Fit',
|
|
1554
|
-
1853 => 'Virb Remote',
|
|
1555
|
-
1885 => 'Vivo Ki',
|
|
1556
|
-
1903 => 'Fr15',
|
|
1557
|
-
1907 => 'Vivo Active',
|
|
1558
|
-
1918 => 'Edge510 Korea',
|
|
1559
|
-
1928 => 'Fr620 Japan',
|
|
1560
|
-
1929 => 'Fr620 China',
|
|
1561
|
-
1930 => 'Fr220 Japan',
|
|
1562
|
-
1931 => 'Fr220 China',
|
|
1563
|
-
1936 => 'Approach S6',
|
|
1564
|
-
1956 => 'Vivo Smart',
|
|
1565
|
-
1967 => 'Fenix2',
|
|
1566
|
-
1988 => 'Epix',
|
|
1567
|
-
2050 => 'Fenix3',
|
|
1568
|
-
2052 => 'Edge1000 Taiwan',
|
|
1569
|
-
2053 => 'Edge1000 Japan',
|
|
1570
|
-
2061 => 'Fr15 Japan',
|
|
1571
|
-
2067 => 'Edge520',
|
|
1572
|
-
2070 => 'Edge1000 China',
|
|
1573
|
-
2072 => 'Fr620 Russia',
|
|
1574
|
-
2073 => 'Fr220 Russia',
|
|
1575
|
-
2079 => 'Vector S',
|
|
1576
|
-
2100 => 'Edge1000 Korea',
|
|
1577
|
-
2130 => 'Fr920xt Taiwan',
|
|
1578
|
-
2131 => 'Fr920xt China',
|
|
1579
|
-
2132 => 'Fr920xt Japan',
|
|
1580
|
-
2134 => 'Virbx',
|
|
1581
|
-
2135 => 'Vivo Smart Apac',
|
|
1582
|
-
2140 => 'Etrex Touch',
|
|
1583
|
-
2147 => 'Edge25',
|
|
1584
|
-
2148 => 'Fr25',
|
|
1585
|
-
2150 => 'Vivo Fit2',
|
|
1586
|
-
2153 => 'Fr225',
|
|
1587
|
-
2156 => 'Fr630',
|
|
1588
|
-
2157 => 'Fr230',
|
|
1589
|
-
2158 => 'Fr735xt',
|
|
1590
|
-
2160 => 'Vivo Active Apac',
|
|
1591
|
-
2161 => 'Vector 2',
|
|
1592
|
-
2162 => 'Vector 2s',
|
|
1593
|
-
2172 => 'Virbxe',
|
|
1594
|
-
2173 => 'Fr620 Taiwan',
|
|
1595
|
-
2174 => 'Fr220 Taiwan',
|
|
1596
|
-
2175 => 'Truswing',
|
|
1597
|
-
2187 => 'D2airvenu',
|
|
1598
|
-
2188 => 'Fenix3 China',
|
|
1599
|
-
2189 => 'Fenix3 Twn',
|
|
1600
|
-
2192 => 'Varia Headlight',
|
|
1601
|
-
2193 => 'Varia Taillight Old',
|
|
1602
|
-
2204 => 'Edge Explore 1000',
|
|
1603
|
-
2219 => 'Fr225 Asia',
|
|
1604
|
-
2225 => 'Varia Radar Taillight',
|
|
1605
|
-
2226 => 'Varia Radar Display',
|
|
1606
|
-
2238 => 'Edge20',
|
|
1607
|
-
2260 => 'Edge520 Asia',
|
|
1608
|
-
2261 => 'Edge520 Japan',
|
|
1609
|
-
2262 => 'D2 Bravo',
|
|
1610
|
-
2266 => 'Approach S20',
|
|
1611
|
-
2271 => 'Vivo Smart2',
|
|
1612
|
-
2274 => 'Edge1000 Thai',
|
|
1613
|
-
2276 => 'Varia Remote',
|
|
1614
|
-
2288 => 'Edge25 Asia',
|
|
1615
|
-
2289 => 'Edge25 Jpn',
|
|
1616
|
-
2290 => 'Edge20 Asia',
|
|
1617
|
-
2292 => 'Approach X40',
|
|
1618
|
-
2293 => 'Fenix3 Japan',
|
|
1619
|
-
2294 => 'Vivo Smart Emea',
|
|
1620
|
-
2310 => 'Fr630 Asia',
|
|
1621
|
-
2311 => 'Fr630 Jpn',
|
|
1622
|
-
2313 => 'Fr230 Jpn',
|
|
1623
|
-
2327 => 'HRM4 Run',
|
|
1624
|
-
2332 => 'Epix Japan',
|
|
1625
|
-
2337 => 'Vivo Active HR',
|
|
1626
|
-
2347 => 'Vivo Smart GPS HR',
|
|
1627
|
-
2348 => 'Vivo Smart HR',
|
|
1628
|
-
2361 => 'Vivo Smart HR Asia',
|
|
1629
|
-
2362 => 'Vivo Smart GPS HR Asia',
|
|
1630
|
-
2368 => 'Vivo Move',
|
|
1631
|
-
2379 => 'Varia Taillight',
|
|
1632
|
-
2396 => 'Fr235 Asia',
|
|
1633
|
-
2397 => 'Fr235 Japan',
|
|
1634
|
-
2398 => 'Varia Vision',
|
|
1635
|
-
2406 => 'Vivo Fit3',
|
|
1636
|
-
2407 => 'Fenix3 Korea',
|
|
1637
|
-
2408 => 'Fenix3 Sea',
|
|
1638
|
-
2413 => 'Fenix3 HR',
|
|
1639
|
-
2417 => 'Virb Ultra 30',
|
|
1640
|
-
2429 => 'Index Smart Scale',
|
|
1641
|
-
2431 => 'Fr235',
|
|
1642
|
-
2432 => 'Fenix3 Chronos',
|
|
1643
|
-
2441 => 'Oregon7xx',
|
|
1644
|
-
2444 => 'Rino7xx',
|
|
1645
|
-
2457 => 'Epix Korea',
|
|
1646
|
-
2473 => 'Fenix3 HR Chn',
|
|
1647
|
-
2474 => 'Fenix3 HR Twn',
|
|
1648
|
-
2475 => 'Fenix3 HR Jpn',
|
|
1649
|
-
2476 => 'Fenix3 HR Sea',
|
|
1650
|
-
2477 => 'Fenix3 HR Kor',
|
|
1651
|
-
2496 => 'Nautix',
|
|
1652
|
-
2497 => 'Vivo Active HR Apac',
|
|
1653
|
-
2503 => 'Fr35',
|
|
1654
|
-
2512 => 'Oregon7xx Ww',
|
|
1655
|
-
2530 => 'Edge 820',
|
|
1656
|
-
2531 => 'Edge Explore 820',
|
|
1657
|
-
2533 => 'Fr735xt Apac',
|
|
1658
|
-
2534 => 'Fr735xt Japan',
|
|
1659
|
-
2544 => 'Fenix5s',
|
|
1660
|
-
2547 => 'D2 Bravo Titanium',
|
|
1661
|
-
2567 => 'Varia Ut800',
|
|
1662
|
-
2593 => 'Running Dynamics Pod',
|
|
1663
|
-
2599 => 'Edge 820 China',
|
|
1664
|
-
2600 => 'Edge 820 Japan',
|
|
1665
|
-
2604 => 'Fenix5x',
|
|
1666
|
-
2606 => 'Vivo Fit Jr',
|
|
1667
|
-
2622 => 'Vivo Smart3',
|
|
1668
|
-
2623 => 'Vivo Sport',
|
|
1669
|
-
2628 => 'Edge 820 Taiwan',
|
|
1670
|
-
2629 => 'Edge 820 Korea',
|
|
1671
|
-
2630 => 'Edge 820 Sea',
|
|
1672
|
-
2650 => 'Fr35 Hebrew',
|
|
1673
|
-
2656 => 'Approach S60',
|
|
1674
|
-
2667 => 'Fr35 Apac',
|
|
1675
|
-
2668 => 'Fr35 Japan',
|
|
1676
|
-
2675 => 'Fenix3 Chronos Asia',
|
|
1677
|
-
2687 => 'Virb 360',
|
|
1678
|
-
2691 => 'Fr935',
|
|
1679
|
-
2697 => 'Fenix5',
|
|
1680
|
-
2700 => 'Vivoactive3',
|
|
1681
|
-
2713 => 'Edge 1030',
|
|
1682
|
-
2727 => 'Fr35 Sea',
|
|
1683
|
-
2733 => 'Fr235 China Nfc',
|
|
1684
|
-
2769 => 'Foretrex 601 701',
|
|
1685
|
-
2772 => 'Vivo Move HR',
|
|
1686
|
-
2787 => 'Vector 3',
|
|
1687
|
-
2796 => 'Fenix5 Asia',
|
|
1688
|
-
2797 => 'Fenix5s Asia',
|
|
1689
|
-
2798 => 'Fenix5x Asia',
|
|
1690
|
-
2806 => 'Approach Z80',
|
|
1691
|
-
2814 => 'Fr35 Korea',
|
|
1692
|
-
2819 => 'D2charlie',
|
|
1693
|
-
2831 => 'Vivo Smart3 Apac',
|
|
1694
|
-
2832 => 'Vivo Sport Apac',
|
|
1695
|
-
2833 => 'Fr935 Asia',
|
|
1696
|
-
2859 => 'Descent',
|
|
1697
|
-
2878 => 'Vivo Fit4',
|
|
1698
|
-
2886 => 'Fr645',
|
|
1699
|
-
2888 => 'Fr645m',
|
|
1700
|
-
2891 => 'Fr30',
|
|
1701
|
-
2900 => 'Fenix5s Plus',
|
|
1702
|
-
2909 => 'Edge 130',
|
|
1703
|
-
2924 => 'Edge 1030 Asia',
|
|
1704
|
-
2927 => 'Vivosmart 4',
|
|
1705
|
-
2945 => 'Vivo Move HR Asia',
|
|
1706
|
-
2957 => 'Mt3333 4', #4
|
|
1707
|
-
2962 => 'Approach X10',
|
|
1708
|
-
2977 => 'Fr30 Asia',
|
|
1709
|
-
2988 => 'Vivoactive3m W',
|
|
1710
|
-
3003 => 'Fr645 Asia',
|
|
1711
|
-
3004 => 'Fr645m Asia',
|
|
1712
|
-
3011 => 'Edge Explore',
|
|
1713
|
-
3028 => 'GPSmap66',
|
|
1714
|
-
3049 => 'Approach S10',
|
|
1715
|
-
3066 => 'Vivoactive3m L',
|
|
1716
|
-
3076 => 'Fr245',
|
|
1717
|
-
3077 => 'Fr245 Music',
|
|
1718
|
-
3085 => 'Approach G80',
|
|
1719
|
-
3092 => 'Edge 130 Asia',
|
|
1720
|
-
3095 => 'Edge 1030 Bontrager',
|
|
1721
|
-
3107 => 'Cxd5603gf', #4
|
|
1722
|
-
3110 => 'Fenix5 Plus',
|
|
1723
|
-
3111 => 'Fenix5x Plus',
|
|
1724
|
-
3112 => 'Edge 520 Plus',
|
|
1725
|
-
3113 => 'Fr945',
|
|
1726
|
-
3121 => 'Edge 530',
|
|
1727
|
-
3122 => 'Edge 830',
|
|
1728
|
-
3126 => 'Instinct Esports',
|
|
1729
|
-
3134 => 'Fenix5s Plus Apac',
|
|
1730
|
-
3135 => 'Fenix5x Plus Apac',
|
|
1731
|
-
3142 => 'Edge 520 Plus Apac',
|
|
1732
|
-
3143 => 'Descent T1',
|
|
1733
|
-
3144 => 'Fr235l Asia',
|
|
1734
|
-
3145 => 'Fr245 Asia',
|
|
1735
|
-
3163 => 'Vivo Active3m Apac',
|
|
1736
|
-
3192 => 'Gen3 Bsm',
|
|
1737
|
-
3193 => 'Gen3 Bcm',
|
|
1738
|
-
3218 => 'Vivo Smart4 Asia',
|
|
1739
|
-
3224 => 'Vivoactive4 Small',
|
|
1740
|
-
3225 => 'Vivoactive4 Large',
|
|
1741
|
-
3226 => 'Venu',
|
|
1742
|
-
3246 => 'Marq Driver',
|
|
1743
|
-
3247 => 'Marq Aviator',
|
|
1744
|
-
3248 => 'Marq Captain',
|
|
1745
|
-
3249 => 'Marq Commander',
|
|
1746
|
-
3250 => 'Marq Expedition',
|
|
1747
|
-
3251 => 'Marq Athlete',
|
|
1748
|
-
3258 => 'Descent Mk2',
|
|
1749
|
-
3282 => 'Fr45',
|
|
1750
|
-
3284 => 'GPSmap66i',
|
|
1751
|
-
3287 => 'Fenix6S Sport',
|
|
1752
|
-
3288 => 'Fenix6S',
|
|
1753
|
-
3289 => 'Fenix6 Sport',
|
|
1754
|
-
3290 => 'Fenix6',
|
|
1755
|
-
3291 => 'Fenix6x',
|
|
1756
|
-
3299 => 'HRM Dual',
|
|
1757
|
-
3300 => 'HRM Pro',
|
|
1758
|
-
3308 => 'Vivo Move3 Premium',
|
|
1759
|
-
3314 => 'Approach S40',
|
|
1760
|
-
3321 => 'Fr245m Asia',
|
|
1761
|
-
3349 => 'Edge 530 Apac',
|
|
1762
|
-
3350 => 'Edge 830 Apac',
|
|
1763
|
-
3378 => 'Vivo Move3',
|
|
1764
|
-
3387 => 'Vivo Active4 Small Asia',
|
|
1765
|
-
3388 => 'Vivo Active4 Large Asia',
|
|
1766
|
-
3389 => 'Vivo Active4 Oled Asia',
|
|
1767
|
-
3405 => 'Swim2',
|
|
1768
|
-
3411 => 'Mt3333 5', #4
|
|
1769
|
-
3420 => 'Marq Driver Asia',
|
|
1770
|
-
3421 => 'Marq Aviator Asia',
|
|
1771
|
-
3422 => 'Vivo Move3 Asia',
|
|
1772
|
-
3441 => 'Fr945 Asia',
|
|
1773
|
-
3446 => 'Vivo Active3t Chn',
|
|
1774
|
-
3448 => 'Marq Captain Asia',
|
|
1775
|
-
3449 => 'Marq Commander Asia',
|
|
1776
|
-
3450 => 'Marq Expedition Asia',
|
|
1777
|
-
3451 => 'Marq Athlete Asia',
|
|
1778
|
-
3461 => 'Index Smart Scale 2',
|
|
1779
|
-
3466 => 'Instinct Solar',
|
|
1780
|
-
3469 => 'Fr45 Asia',
|
|
1781
|
-
3473 => 'Vivoactive3 Daimler',
|
|
1782
|
-
3498 => 'Legacy Rey',
|
|
1783
|
-
3499 => 'Legacy Darth Vader',
|
|
1784
|
-
3500 => 'Legacy Captain Marvel',
|
|
1785
|
-
3501 => 'Legacy First Avenger',
|
|
1786
|
-
3512 => 'Fenix6s Sport Asia',
|
|
1787
|
-
3513 => 'Fenix6s Asia',
|
|
1788
|
-
3514 => 'Fenix6 Sport Asia',
|
|
1789
|
-
3515 => 'Fenix6 Asia',
|
|
1790
|
-
3516 => 'Fenix6x Asia',
|
|
1791
|
-
3535 => 'Legacy Captain Marvel Asia',
|
|
1792
|
-
3536 => 'Legacy First Avenger Asia',
|
|
1793
|
-
3537 => 'Legacy Rey Asia',
|
|
1794
|
-
3538 => 'Legacy Darth Vader Asia',
|
|
1795
|
-
3542 => 'Descent Mk2s',
|
|
1796
|
-
3558 => 'Edge 130 Plus',
|
|
1797
|
-
3570 => 'Edge 1030 Plus',
|
|
1798
|
-
3578 => 'Rally 200',
|
|
1799
|
-
3589 => 'Fr745',
|
|
1800
|
-
3596 => 'Venusq Music',
|
|
1801
|
-
3599 => 'Venusq Music V2',
|
|
1802
|
-
3600 => 'Venusq',
|
|
1803
|
-
3615 => 'Lily',
|
|
1804
|
-
3624 => 'Marq Adventurer',
|
|
1805
|
-
3638 => 'Enduro',
|
|
1806
|
-
3639 => 'Swim2 Apac',
|
|
1807
|
-
3648 => 'Marq Adventurer Asia',
|
|
1808
|
-
3652 => 'Fr945 Lte',
|
|
1809
|
-
3702 => 'Descent Mk2 Asia',
|
|
1810
|
-
3703 => 'Venu2',
|
|
1811
|
-
3704 => 'Venu2s',
|
|
1812
|
-
3737 => 'Venu Daimler Asia',
|
|
1813
|
-
3739 => 'Marq Golfer',
|
|
1814
|
-
3740 => 'Venu Daimler',
|
|
1815
|
-
3750 => 'Mt3333 6', #4
|
|
1816
|
-
3794 => 'Fr745 Asia',
|
|
1817
|
-
3799 => 'Cxd56xxxx 1', #4
|
|
1818
|
-
3808 => 'Varia Rct715',
|
|
1819
|
-
3809 => 'Lily Asia',
|
|
1820
|
-
3812 => 'Edge 1030 Plus Asia',
|
|
1821
|
-
3813 => 'Edge 130 Plus Asia',
|
|
1822
|
-
3823 => 'Approach S12',
|
|
1823
|
-
3837 => 'Venusq Asia',
|
|
1824
|
-
3843 => 'Edge 1040',
|
|
1825
|
-
3850 => 'Marq Golfer Asia',
|
|
1826
|
-
3851 => 'Venu2 Plus',
|
|
1827
|
-
3865 => 'Gnss',
|
|
1828
|
-
3866 => 'Ag3335mn', #4
|
|
1829
|
-
3869 => 'Fr55',
|
|
1830
|
-
3872 => 'Enduro Asia',
|
|
1831
|
-
3888 => 'Instinct 2',
|
|
1832
|
-
3889 => 'Instinct 2s',
|
|
1833
|
-
3905 => 'Fenix7s',
|
|
1834
|
-
3906 => 'Fenix7',
|
|
1835
|
-
3907 => 'Fenix7x',
|
|
1836
|
-
3908 => 'Fenix7s Apac',
|
|
1837
|
-
3909 => 'Fenix7 Apac',
|
|
1838
|
-
3910 => 'Fenix7x Apac',
|
|
1839
|
-
3927 => 'Approach G12',
|
|
1840
|
-
3930 => 'Descent Mk2s Asia',
|
|
1841
|
-
3934 => 'Approach S42',
|
|
1842
|
-
3943 => 'Epix Gen2',
|
|
1843
|
-
3944 => 'Epix Gen2 Apac',
|
|
1844
|
-
3949 => 'Venu2s Asia',
|
|
1845
|
-
3950 => 'Venu2 Asia',
|
|
1846
|
-
3978 => 'Fr945 Lte Asia',
|
|
1847
|
-
3982 => 'Vivo Move Sport',
|
|
1848
|
-
3983 => 'Vivomove Trend',
|
|
1849
|
-
3986 => 'Approach S12 Asia',
|
|
1850
|
-
3990 => 'Fr255 Music',
|
|
1851
|
-
3991 => 'Fr255 Small Music',
|
|
1852
|
-
3992 => 'Fr255',
|
|
1853
|
-
3993 => 'Fr255 Small',
|
|
1854
|
-
4001 => 'Approach G12 Asia',
|
|
1855
|
-
4002 => 'Approach S42 Asia',
|
|
1856
|
-
4005 => 'Descent G1',
|
|
1857
|
-
4017 => 'Venu2 Plus Asia',
|
|
1858
|
-
4024 => 'Fr955',
|
|
1859
|
-
4033 => 'Fr55 Asia',
|
|
1860
|
-
4058 => 'Cxd56xxxx 2', #4
|
|
1861
|
-
4061 => 'Edge 540',
|
|
1862
|
-
4062 => 'Edge 840',
|
|
1863
|
-
4063 => 'Vivosmart 5',
|
|
1864
|
-
4071 => 'Instinct 2 Asia',
|
|
1865
|
-
4105 => 'Marq Gen2',
|
|
1866
|
-
4115 => 'Venusq2',
|
|
1867
|
-
4116 => 'Venusq2music',
|
|
1868
|
-
4124 => 'Marq Gen2 Aviator',
|
|
1869
|
-
4125 => 'D2 Air X10',
|
|
1870
|
-
4130 => 'HRM Pro Plus',
|
|
1871
|
-
4132 => 'Descent G1 Asia',
|
|
1872
|
-
4135 => 'Tactix7',
|
|
1873
|
-
4155 => 'Instinct Crossover',
|
|
1874
|
-
4169 => 'Edge Explore2',
|
|
1875
|
-
4197 => 'Cxd56xxxx 3', #4
|
|
1876
|
-
4222 => 'Descent Mk3',
|
|
1877
|
-
4223 => 'Descent Mk3i',
|
|
1878
|
-
4233 => 'Approach S70',
|
|
1879
|
-
4257 => 'Fr265 Large',
|
|
1880
|
-
4258 => 'Fr265 Small',
|
|
1881
|
-
4260 => 'Venu3',
|
|
1882
|
-
4261 => 'Venu3s',
|
|
1883
|
-
4265 => 'Tacx Neo Smart',
|
|
1884
|
-
4266 => 'Tacx Neo2 Smart',
|
|
1885
|
-
4267 => 'Tacx Neo2 T Smart',
|
|
1886
|
-
4268 => 'Tacx Neo Smart Bike',
|
|
1887
|
-
4269 => 'Tacx Satori Smart',
|
|
1888
|
-
4270 => 'Tacx Flow Smart',
|
|
1889
|
-
4271 => 'Tacx Vortex Smart',
|
|
1890
|
-
4272 => 'Tacx Bushido Smart',
|
|
1891
|
-
4273 => 'Tacx Genius Smart',
|
|
1892
|
-
4274 => 'Tacx Flux Flux S Smart',
|
|
1893
|
-
4275 => 'Tacx Flux2 Smart',
|
|
1894
|
-
4276 => 'Tacx Magnum',
|
|
1895
|
-
4305 => 'Edge 1040 Asia',
|
|
1896
|
-
4312 => 'Epix Gen2 Pro 42',
|
|
1897
|
-
4313 => 'Epix Gen2 Pro 47',
|
|
1898
|
-
4314 => 'Epix Gen2 Pro 51',
|
|
1899
|
-
4315 => 'Fr965',
|
|
1900
|
-
4341 => 'Enduro2',
|
|
1901
|
-
4374 => 'Fenix7s Pro Solar',
|
|
1902
|
-
4375 => 'Fenix7 Pro Solar',
|
|
1903
|
-
4376 => 'Fenix7x Pro Solar',
|
|
1904
|
-
4380 => 'Lily2',
|
|
1905
|
-
4394 => 'Instinct 2x',
|
|
1906
|
-
4426 => 'Vivoactive5',
|
|
1907
|
-
4432 => 'Fr165',
|
|
1908
|
-
4433 => 'Fr165 Music',
|
|
1909
|
-
4440 => 'Edge 1050',
|
|
1910
|
-
4442 => 'Descent T2',
|
|
1911
|
-
4446 => 'HRM Fit',
|
|
1912
|
-
4472 => 'Marq Gen2 Commander',
|
|
1913
|
-
4477 => 'Lily Athlete',
|
|
1914
|
-
4525 => 'Rally X10',
|
|
1915
|
-
4532 => 'Fenix8 Solar',
|
|
1916
|
-
4533 => 'Fenix8 Solar Large',
|
|
1917
|
-
4534 => 'Fenix8 Small',
|
|
1918
|
-
4536 => 'Fenix8',
|
|
1919
|
-
4556 => 'D2 Mach1 Pro',
|
|
1920
|
-
4565 => 'Fr970', #4
|
|
1921
|
-
4575 => 'Enduro3',
|
|
1922
|
-
4583 => 'InstinctE 40mm',
|
|
1923
|
-
4584 => 'InstinctE 45mm',
|
|
1924
|
-
4585 => 'Instinct3 Solar 45mm',
|
|
1925
|
-
4586 => 'Instinct3 Amoled 45mm',
|
|
1926
|
-
4587 => 'Instinct3 Amoled 50mm',
|
|
1927
|
-
4588 => 'Descent G2',
|
|
1928
|
-
4603 => 'Venu X1',
|
|
1929
|
-
4606 => 'HRM 200',
|
|
1930
|
-
4607 => 'HRM 600', #4
|
|
1931
|
-
4625 => 'Vivoactive6',
|
|
1932
|
-
4631 => 'Fenix8 Pro',
|
|
1933
|
-
4633 => 'Edge 550',
|
|
1934
|
-
4634 => 'Edge 850',
|
|
1935
|
-
4643 => 'Venu4',
|
|
1936
|
-
4644 => 'Venu4s',
|
|
1937
|
-
4647 => 'ApproachS44',
|
|
1938
|
-
4655 => 'Edge Mtb',
|
|
1939
|
-
4656 => 'ApproachS50',
|
|
1940
|
-
4666 => 'Fenix E',
|
|
1941
|
-
4678 => 'Instinct Crossover Amoled',
|
|
1942
|
-
4745 => 'Bounce2',
|
|
1943
|
-
4759 => 'Instinct3 Solar 50mm',
|
|
1944
|
-
4775 => 'Tactix8 Amoled',
|
|
1945
|
-
4776 => 'Tactix8 Solar',
|
|
1946
|
-
4825 => 'Approach J1',
|
|
1947
|
-
4879 => 'D2 Mach2',
|
|
1948
|
-
4944 => 'D2 Air X15',
|
|
1949
|
-
10007 => 'SDM4',
|
|
1950
|
-
10014 => 'Edge Remote',
|
|
1951
|
-
20119 => 'Training Center',
|
|
1952
|
-
20533 => 'Tacx Training App Win',
|
|
1953
|
-
20534 => 'Tacx Training App Mac',
|
|
1954
|
-
20565 => 'Tacx Training App Mac Catalyst',
|
|
1955
|
-
30045 => 'Tacx Training App Android',
|
|
1956
|
-
30046 => 'Tacx Training App Ios',
|
|
1957
|
-
30047 => 'Tacx Training App Legacy',
|
|
1958
|
-
65531 => 'Connectiq Simulator',
|
|
1959
|
-
65532 => 'Android Antplus Plugin',
|
|
1960
|
-
65534 => 'Connect',
|
|
1961
|
-
);
|
|
1962
|
-
|
|
1963
|
-
my %antplusDeviceType = (
|
|
1964
|
-
1 => 'Antfs',
|
|
1965
|
-
11 => 'Bike Power',
|
|
1966
|
-
12 => 'Environment Sensor Legacy',
|
|
1967
|
-
15 => 'Multi Sport Speed Distance',
|
|
1968
|
-
16 => 'Control',
|
|
1969
|
-
17 => 'Fitness Equipment',
|
|
1970
|
-
18 => 'Blood Pressure',
|
|
1971
|
-
19 => 'Geocache Node',
|
|
1972
|
-
20 => 'Light Electric Vehicle',
|
|
1973
|
-
25 => 'Env Sensor',
|
|
1974
|
-
26 => 'Racquet',
|
|
1975
|
-
27 => 'Control Hub',
|
|
1976
|
-
30 => 'Running Dynamics', #4
|
|
1977
|
-
31 => 'Muscle Oxygen',
|
|
1978
|
-
34 => 'Shifting',
|
|
1979
|
-
35 => 'Bike Light Main',
|
|
1980
|
-
36 => 'Bike Light Shared',
|
|
1981
|
-
38 => 'Exd',
|
|
1982
|
-
40 => 'Bike Radar',
|
|
1983
|
-
46 => 'Bike Aero',
|
|
1984
|
-
119 => 'Weight Scale',
|
|
1985
|
-
120 => 'Heart Rate',
|
|
1986
|
-
121 => 'Bike Speed Cadence',
|
|
1987
|
-
122 => 'Bike Cadence',
|
|
1988
|
-
123 => 'Bike Speed',
|
|
1989
|
-
124 => 'Stride Speed Distance',
|
|
1155
|
+
5759 => 'ActiGraph Corp',
|
|
1990
1156
|
);
|
|
1991
1157
|
|
|
1992
1158
|
my %antNetwork = (
|
|
@@ -2047,14 +1213,6 @@ my %courseCapabilities = (
|
|
|
2047
1213
|
}
|
|
2048
1214
|
);
|
|
2049
1215
|
|
|
2050
|
-
my %workoutHR = (
|
|
2051
|
-
100 => 'Bpm Offset',
|
|
2052
|
-
);
|
|
2053
|
-
|
|
2054
|
-
my %workoutPower = (
|
|
2055
|
-
1000 => 'Watts Offset',
|
|
2056
|
-
);
|
|
2057
|
-
|
|
2058
1216
|
my %bpStatus = (
|
|
2059
1217
|
0 => 'No Error',
|
|
2060
1218
|
1 => 'Error Incomplete Data',
|
|
@@ -2394,28 +1552,6 @@ my %sourceType = (
|
|
|
2394
1552
|
5 => 'Local',
|
|
2395
1553
|
);
|
|
2396
1554
|
|
|
2397
|
-
my %localDeviceType = (
|
|
2398
|
-
0 => 'GPS',
|
|
2399
|
-
1 => 'Glonass',
|
|
2400
|
-
2 => 'GPS Glonass',
|
|
2401
|
-
3 => 'Accelerometer',
|
|
2402
|
-
4 => 'Barometer',
|
|
2403
|
-
5 => 'Temperature',
|
|
2404
|
-
10 => 'Whr',
|
|
2405
|
-
12 => 'Sensor Hub',
|
|
2406
|
-
);
|
|
2407
|
-
|
|
2408
|
-
my %bleDeviceType = (
|
|
2409
|
-
0 => 'Connected GPS',
|
|
2410
|
-
1 => 'Heart Rate',
|
|
2411
|
-
2 => 'Bike Power',
|
|
2412
|
-
3 => 'Bike Speed Cadence',
|
|
2413
|
-
4 => 'Bike Speed',
|
|
2414
|
-
5 => 'Bike Cadence',
|
|
2415
|
-
6 => 'Footpod',
|
|
2416
|
-
7 => 'Bike Trainer',
|
|
2417
|
-
);
|
|
2418
|
-
|
|
2419
1555
|
my %displayOrientation = (
|
|
2420
1556
|
0 => 'Auto',
|
|
2421
1557
|
1 => 'Portrait',
|
|
@@ -2440,32 +1576,6 @@ my %watchfaceMode = (
|
|
|
2440
1576
|
3 => 'Disabled',
|
|
2441
1577
|
);
|
|
2442
1578
|
|
|
2443
|
-
my %digitalWatchfaceLayout = (
|
|
2444
|
-
0 => 'Traditional',
|
|
2445
|
-
1 => 'Modern',
|
|
2446
|
-
2 => 'Bold',
|
|
2447
|
-
);
|
|
2448
|
-
|
|
2449
|
-
my %analogWatchfaceLayout = (
|
|
2450
|
-
0 => 'Minimal',
|
|
2451
|
-
1 => 'Traditional',
|
|
2452
|
-
2 => 'Modern',
|
|
2453
|
-
);
|
|
2454
|
-
|
|
2455
|
-
my %riderPositionType = (
|
|
2456
|
-
0 => 'Seated',
|
|
2457
|
-
1 => 'Standing',
|
|
2458
|
-
2 => 'Transition To Seated',
|
|
2459
|
-
3 => 'Transition To Standing',
|
|
2460
|
-
);
|
|
2461
|
-
|
|
2462
|
-
my %powerPhaseType = (
|
|
2463
|
-
0 => 'Power Phase Start Angle',
|
|
2464
|
-
1 => 'Power Phase End Angle',
|
|
2465
|
-
2 => 'Power Phase Arc Length',
|
|
2466
|
-
3 => 'Power Phase Center',
|
|
2467
|
-
);
|
|
2468
|
-
|
|
2469
1579
|
my %cameraEventType = (
|
|
2470
1580
|
0 => 'Video Start',
|
|
2471
1581
|
1 => 'Video Split',
|
|
@@ -2503,20 +1613,6 @@ my %sensorType = (
|
|
|
2503
1613
|
28 => 'Tank Pressure', #4
|
|
2504
1614
|
);
|
|
2505
1615
|
|
|
2506
|
-
my %bikeLightNetworkConfigType = (
|
|
2507
|
-
0 => 'Auto',
|
|
2508
|
-
4 => 'Individual',
|
|
2509
|
-
5 => 'High Visibility',
|
|
2510
|
-
6 => 'Trail',
|
|
2511
|
-
);
|
|
2512
|
-
|
|
2513
|
-
my %commTimeoutType = (
|
|
2514
|
-
0 => 'Wildcard Pairing Timeout',
|
|
2515
|
-
1 => 'Pairing Timeout',
|
|
2516
|
-
2 => 'Connection Lost',
|
|
2517
|
-
3 => 'Connection Timeout',
|
|
2518
|
-
);
|
|
2519
|
-
|
|
2520
1616
|
my %cameraOrientationType = (
|
|
2521
1617
|
0 => 'Camera Orientation 0',
|
|
2522
1618
|
1 => 'Camera Orientation 90',
|
|
@@ -2524,31 +1620,6 @@ my %cameraOrientationType = (
|
|
|
2524
1620
|
3 => 'Camera Orientation 270',
|
|
2525
1621
|
);
|
|
2526
1622
|
|
|
2527
|
-
my %attitudeStage = (
|
|
2528
|
-
0 => 'Failed',
|
|
2529
|
-
1 => 'Aligning',
|
|
2530
|
-
2 => 'Degraded',
|
|
2531
|
-
3 => 'Valid',
|
|
2532
|
-
);
|
|
2533
|
-
|
|
2534
|
-
my %attitudeValidity = (
|
|
2535
|
-
BITMASK => {
|
|
2536
|
-
0 => 'Track Angle Heading Valid',
|
|
2537
|
-
1 => 'Pitch Valid',
|
|
2538
|
-
2 => 'Roll Valid',
|
|
2539
|
-
3 => 'Lateral Body Accel Valid',
|
|
2540
|
-
4 => 'Normal Body Accel Valid',
|
|
2541
|
-
5 => 'Turn Rate Valid',
|
|
2542
|
-
6 => 'Hw Fail',
|
|
2543
|
-
7 => 'Mag Invalid',
|
|
2544
|
-
8 => 'No GPS',
|
|
2545
|
-
9 => 'GPS Invalid',
|
|
2546
|
-
10 => 'Solution Coasting',
|
|
2547
|
-
11 => 'True Track Angle',
|
|
2548
|
-
12 => 'Magnetic Heading',
|
|
2549
|
-
}
|
|
2550
|
-
);
|
|
2551
|
-
|
|
2552
1623
|
my %autoSyncFrequency = (
|
|
2553
1624
|
0 => 'Never',
|
|
2554
1625
|
1 => 'Occasionally',
|
|
@@ -2783,19 +1854,6 @@ my %exdDescriptors = (
|
|
|
2783
1854
|
96 => 'Vam',
|
|
2784
1855
|
);
|
|
2785
1856
|
|
|
2786
|
-
my %supportedExdScreenLayouts = (
|
|
2787
|
-
BITMASK => {
|
|
2788
|
-
0 => 'Full Screen',
|
|
2789
|
-
1 => 'Half Vertical',
|
|
2790
|
-
2 => 'Half Horizontal',
|
|
2791
|
-
3 => 'Half Vertical Right Split',
|
|
2792
|
-
4 => 'Half Horizontal Bottom Split',
|
|
2793
|
-
5 => 'Full Quarter Split',
|
|
2794
|
-
6 => 'Half Vertical Left Split',
|
|
2795
|
-
7 => 'Half Horizontal Top Split',
|
|
2796
|
-
}
|
|
2797
|
-
);
|
|
2798
|
-
|
|
2799
1857
|
my %fitBaseType = (
|
|
2800
1858
|
0 => 'enum',
|
|
2801
1859
|
1 => 'sint8',
|
|
@@ -2816,52 +1874,6 @@ my %fitBaseType = (
|
|
|
2816
1874
|
144 => 'uint64z',
|
|
2817
1875
|
);
|
|
2818
1876
|
|
|
2819
|
-
my %turnType = (
|
|
2820
|
-
0 => 'Arriving Idx',
|
|
2821
|
-
1 => 'Arriving Left Idx',
|
|
2822
|
-
2 => 'Arriving Right Idx',
|
|
2823
|
-
3 => 'Arriving Via Idx',
|
|
2824
|
-
4 => 'Arriving Via Left Idx',
|
|
2825
|
-
5 => 'Arriving Via Right Idx',
|
|
2826
|
-
6 => 'Bear Keep Left Idx',
|
|
2827
|
-
7 => 'Bear Keep Right Idx',
|
|
2828
|
-
8 => 'Continue Idx',
|
|
2829
|
-
9 => 'Exit Left Idx',
|
|
2830
|
-
10 => 'Exit Right Idx',
|
|
2831
|
-
11 => 'Ferry Idx',
|
|
2832
|
-
12 => 'Roundabout 45 Idx',
|
|
2833
|
-
13 => 'Roundabout 90 Idx',
|
|
2834
|
-
14 => 'Roundabout 135 Idx',
|
|
2835
|
-
15 => 'Roundabout 180 Idx',
|
|
2836
|
-
16 => 'Roundabout 225 Idx',
|
|
2837
|
-
17 => 'Roundabout 270 Idx',
|
|
2838
|
-
18 => 'Roundabout 315 Idx',
|
|
2839
|
-
19 => 'Roundabout 360 Idx',
|
|
2840
|
-
20 => 'Roundabout Neg 45 Idx',
|
|
2841
|
-
21 => 'Roundabout Neg 90 Idx',
|
|
2842
|
-
22 => 'Roundabout Neg 135 Idx',
|
|
2843
|
-
23 => 'Roundabout Neg 180 Idx',
|
|
2844
|
-
24 => 'Roundabout Neg 225 Idx',
|
|
2845
|
-
25 => 'Roundabout Neg 270 Idx',
|
|
2846
|
-
26 => 'Roundabout Neg 315 Idx',
|
|
2847
|
-
27 => 'Roundabout Neg 360 Idx',
|
|
2848
|
-
28 => 'Roundabout Generic Idx',
|
|
2849
|
-
29 => 'Roundabout Neg Generic Idx',
|
|
2850
|
-
30 => 'Sharp Turn Left Idx',
|
|
2851
|
-
31 => 'Sharp Turn Right Idx',
|
|
2852
|
-
32 => 'Turn Left Idx',
|
|
2853
|
-
33 => 'Turn Right Idx',
|
|
2854
|
-
34 => 'Uturn Left Idx',
|
|
2855
|
-
35 => 'Uturn Right Idx',
|
|
2856
|
-
36 => 'Icon Inv Idx',
|
|
2857
|
-
37 => 'Icon Idx Cnt',
|
|
2858
|
-
);
|
|
2859
|
-
|
|
2860
|
-
my %bikeLightBeamAngleMode = (
|
|
2861
|
-
0 => 'Manual',
|
|
2862
|
-
1 => 'Auto',
|
|
2863
|
-
);
|
|
2864
|
-
|
|
2865
1877
|
my %fitBaseUnit = (
|
|
2866
1878
|
0 => 'Other',
|
|
2867
1879
|
1 => 'Kilogram',
|
|
@@ -2934,2005 +1946,6 @@ my %exerciseCategory = (
|
|
|
2934
1946
|
65534 => 'Unknown',
|
|
2935
1947
|
);
|
|
2936
1948
|
|
|
2937
|
-
my %benchPressExerciseName = (
|
|
2938
|
-
0 => 'Alternating Dumbbell Chest Press On Swiss Ball',
|
|
2939
|
-
1 => 'Barbell Bench Press',
|
|
2940
|
-
2 => 'Barbell Board Bench Press',
|
|
2941
|
-
3 => 'Barbell Floor Press',
|
|
2942
|
-
4 => 'Close Grip Barbell Bench Press',
|
|
2943
|
-
5 => 'Decline Dumbbell Bench Press',
|
|
2944
|
-
6 => 'Dumbbell Bench Press',
|
|
2945
|
-
7 => 'Dumbbell Floor Press',
|
|
2946
|
-
8 => 'Incline Barbell Bench Press',
|
|
2947
|
-
9 => 'Incline Dumbbell Bench Press',
|
|
2948
|
-
10 => 'Incline Smith Machine Bench Press',
|
|
2949
|
-
11 => 'Isometric Barbell Bench Press',
|
|
2950
|
-
12 => 'Kettlebell Chest Press',
|
|
2951
|
-
13 => 'Neutral Grip Dumbbell Bench Press',
|
|
2952
|
-
14 => 'Neutral Grip Dumbbell Incline Bench Press',
|
|
2953
|
-
15 => 'One Arm Floor Press',
|
|
2954
|
-
16 => 'Weighted One Arm Floor Press',
|
|
2955
|
-
17 => 'Partial Lockout',
|
|
2956
|
-
18 => 'Reverse Grip Barbell Bench Press',
|
|
2957
|
-
19 => 'Reverse Grip Incline Bench Press',
|
|
2958
|
-
20 => 'Single Arm Cable Chest Press',
|
|
2959
|
-
21 => 'Single Arm Dumbbell Bench Press',
|
|
2960
|
-
22 => 'Smith Machine Bench Press',
|
|
2961
|
-
23 => 'Swiss Ball Dumbbell Chest Press',
|
|
2962
|
-
24 => 'Triple Stop Barbell Bench Press',
|
|
2963
|
-
25 => 'Wide Grip Barbell Bench Press',
|
|
2964
|
-
26 => 'Alternating Dumbbell Chest Press',
|
|
2965
|
-
);
|
|
2966
|
-
|
|
2967
|
-
my %calfRaiseExerciseName = (
|
|
2968
|
-
0 => '3 Way Calf Raise',
|
|
2969
|
-
1 => '3 Way Weighted Calf Raise',
|
|
2970
|
-
2 => '3 Way Single Leg Calf Raise',
|
|
2971
|
-
3 => '3 Way Weighted Single Leg Calf Raise',
|
|
2972
|
-
4 => 'Donkey Calf Raise',
|
|
2973
|
-
5 => 'Weighted Donkey Calf Raise',
|
|
2974
|
-
6 => 'Seated Calf Raise',
|
|
2975
|
-
7 => 'Weighted Seated Calf Raise',
|
|
2976
|
-
8 => 'Seated Dumbbell Toe Raise',
|
|
2977
|
-
9 => 'Single Leg Bent Knee Calf Raise',
|
|
2978
|
-
10 => 'Weighted Single Leg Bent Knee Calf Raise',
|
|
2979
|
-
11 => 'Single Leg Decline Push Up',
|
|
2980
|
-
12 => 'Single Leg Donkey Calf Raise',
|
|
2981
|
-
13 => 'Weighted Single Leg Donkey Calf Raise',
|
|
2982
|
-
14 => 'Single Leg Hip Raise With Knee Hold',
|
|
2983
|
-
15 => 'Single Leg Standing Calf Raise',
|
|
2984
|
-
16 => 'Single Leg Standing Dumbbell Calf Raise',
|
|
2985
|
-
17 => 'Standing Barbell Calf Raise',
|
|
2986
|
-
18 => 'Standing Calf Raise',
|
|
2987
|
-
19 => 'Weighted Standing Calf Raise',
|
|
2988
|
-
20 => 'Standing Dumbbell Calf Raise',
|
|
2989
|
-
);
|
|
2990
|
-
|
|
2991
|
-
my %cardioExerciseName = (
|
|
2992
|
-
0 => 'Bob And Weave Circle',
|
|
2993
|
-
1 => 'Weighted Bob And Weave Circle',
|
|
2994
|
-
2 => 'Cardio Core Crawl',
|
|
2995
|
-
3 => 'Weighted Cardio Core Crawl',
|
|
2996
|
-
4 => 'Double Under',
|
|
2997
|
-
5 => 'Weighted Double Under',
|
|
2998
|
-
6 => 'Jump Rope',
|
|
2999
|
-
7 => 'Weighted Jump Rope',
|
|
3000
|
-
8 => 'Jump Rope Crossover',
|
|
3001
|
-
9 => 'Weighted Jump Rope Crossover',
|
|
3002
|
-
10 => 'Jump Rope Jog',
|
|
3003
|
-
11 => 'Weighted Jump Rope Jog',
|
|
3004
|
-
12 => 'Jumping Jacks',
|
|
3005
|
-
13 => 'Weighted Jumping Jacks',
|
|
3006
|
-
14 => 'Ski Moguls',
|
|
3007
|
-
15 => 'Weighted Ski Moguls',
|
|
3008
|
-
16 => 'Split Jacks',
|
|
3009
|
-
17 => 'Weighted Split Jacks',
|
|
3010
|
-
18 => 'Squat Jacks',
|
|
3011
|
-
19 => 'Weighted Squat Jacks',
|
|
3012
|
-
20 => 'Triple Under',
|
|
3013
|
-
21 => 'Weighted Triple Under',
|
|
3014
|
-
22 => 'Elliptical',
|
|
3015
|
-
23 => 'Spinning',
|
|
3016
|
-
24 => 'Pole Paddle Forward Wheelchair',
|
|
3017
|
-
25 => 'Pole Paddle Backward Wheelchair',
|
|
3018
|
-
26 => 'Pole Handcycle Forward Wheelchair',
|
|
3019
|
-
27 => 'Pole Handcycle Backward Wheelchair',
|
|
3020
|
-
28 => 'Pole Rainbow Wheelchair',
|
|
3021
|
-
29 => 'Double Punch Forward Wheelchair',
|
|
3022
|
-
30 => 'Double Punch Down Wheelchair',
|
|
3023
|
-
31 => 'Double Punch Sideways Wheelchair',
|
|
3024
|
-
32 => 'Double Punch Up Wheelchair',
|
|
3025
|
-
33 => 'Sit Ski Wheelchair',
|
|
3026
|
-
34 => 'Sitting Jacks Wheelchair',
|
|
3027
|
-
35 => 'Punch Forward Wheelchair',
|
|
3028
|
-
36 => 'Punch Down Wheelchair',
|
|
3029
|
-
37 => 'Punch Sideways Wheelchair',
|
|
3030
|
-
38 => 'Punch Up Wheelchair',
|
|
3031
|
-
39 => 'Punch Bag Wheelchair',
|
|
3032
|
-
40 => 'Pole Dd Ff Uu Wheelchair',
|
|
3033
|
-
41 => 'Butterfly Arms Wheelchair',
|
|
3034
|
-
42 => 'Punch',
|
|
3035
|
-
);
|
|
3036
|
-
|
|
3037
|
-
my %carryExerciseName = (
|
|
3038
|
-
0 => 'Bar Holds',
|
|
3039
|
-
1 => 'Farmers Walk',
|
|
3040
|
-
2 => 'Farmers Walk On Toes',
|
|
3041
|
-
3 => 'Hex Dumbbell Hold',
|
|
3042
|
-
4 => 'Overhead Carry',
|
|
3043
|
-
5 => 'Dumbbell Waiter Carry',
|
|
3044
|
-
6 => 'Farmers Carry Walk Lunge',
|
|
3045
|
-
7 => 'Farmers Carry',
|
|
3046
|
-
8 => 'Farmers Carry On Toes',
|
|
3047
|
-
);
|
|
3048
|
-
|
|
3049
|
-
my %chopExerciseName = (
|
|
3050
|
-
0 => 'Cable Pull Through',
|
|
3051
|
-
1 => 'Cable Rotational Lift',
|
|
3052
|
-
2 => 'Cable Woodchop',
|
|
3053
|
-
3 => 'Cross Chop To Knee',
|
|
3054
|
-
4 => 'Weighted Cross Chop To Knee',
|
|
3055
|
-
5 => 'Dumbbell Chop',
|
|
3056
|
-
6 => 'Half Kneeling Rotation',
|
|
3057
|
-
7 => 'Weighted Half Kneeling Rotation',
|
|
3058
|
-
8 => 'Half Kneeling Rotational Chop',
|
|
3059
|
-
9 => 'Half Kneeling Rotational Reverse Chop',
|
|
3060
|
-
10 => 'Half Kneeling Stability Chop',
|
|
3061
|
-
11 => 'Half Kneeling Stability Reverse Chop',
|
|
3062
|
-
12 => 'Kneeling Rotational Chop',
|
|
3063
|
-
13 => 'Kneeling Rotational Reverse Chop',
|
|
3064
|
-
14 => 'Kneeling Stability Chop',
|
|
3065
|
-
15 => 'Kneeling Woodchopper',
|
|
3066
|
-
16 => 'Medicine Ball Wood Chops',
|
|
3067
|
-
17 => 'Power Squat Chops',
|
|
3068
|
-
18 => 'Weighted Power Squat Chops',
|
|
3069
|
-
19 => 'Standing Rotational Chop',
|
|
3070
|
-
20 => 'Standing Split Rotational Chop',
|
|
3071
|
-
21 => 'Standing Split Rotational Reverse Chop',
|
|
3072
|
-
22 => 'Standing Stability Reverse Chop',
|
|
3073
|
-
);
|
|
3074
|
-
|
|
3075
|
-
my %coreExerciseName = (
|
|
3076
|
-
0 => 'Abs Jabs',
|
|
3077
|
-
1 => 'Weighted Abs Jabs',
|
|
3078
|
-
2 => 'Alternating Plate Reach',
|
|
3079
|
-
3 => 'Barbell Rollout',
|
|
3080
|
-
4 => 'Weighted Barbell Rollout',
|
|
3081
|
-
5 => 'Body Bar Oblique Twist',
|
|
3082
|
-
6 => 'Cable Core Press',
|
|
3083
|
-
7 => 'Cable Side Bend',
|
|
3084
|
-
8 => 'Side Bend',
|
|
3085
|
-
9 => 'Weighted Side Bend',
|
|
3086
|
-
10 => 'Crescent Circle',
|
|
3087
|
-
11 => 'Weighted Crescent Circle',
|
|
3088
|
-
12 => 'Cycling Russian Twist',
|
|
3089
|
-
13 => 'Weighted Cycling Russian Twist',
|
|
3090
|
-
14 => 'Elevated Feet Russian Twist',
|
|
3091
|
-
15 => 'Weighted Elevated Feet Russian Twist',
|
|
3092
|
-
16 => 'Half Turkish Get Up',
|
|
3093
|
-
17 => 'Kettlebell Windmill',
|
|
3094
|
-
18 => 'Kneeling Ab Wheel',
|
|
3095
|
-
19 => 'Weighted Kneeling Ab Wheel',
|
|
3096
|
-
20 => 'Modified Front Lever',
|
|
3097
|
-
21 => 'Open Knee Tucks',
|
|
3098
|
-
22 => 'Weighted Open Knee Tucks',
|
|
3099
|
-
23 => 'Side Abs Leg Lift',
|
|
3100
|
-
24 => 'Weighted Side Abs Leg Lift',
|
|
3101
|
-
25 => 'Swiss Ball Jackknife',
|
|
3102
|
-
26 => 'Weighted Swiss Ball Jackknife',
|
|
3103
|
-
27 => 'Swiss Ball Pike',
|
|
3104
|
-
28 => 'Weighted Swiss Ball Pike',
|
|
3105
|
-
29 => 'Swiss Ball Rollout',
|
|
3106
|
-
30 => 'Weighted Swiss Ball Rollout',
|
|
3107
|
-
31 => 'Triangle Hip Press',
|
|
3108
|
-
32 => 'Weighted Triangle Hip Press',
|
|
3109
|
-
33 => 'Trx Suspended Jackknife',
|
|
3110
|
-
34 => 'Weighted Trx Suspended Jackknife',
|
|
3111
|
-
35 => 'U Boat',
|
|
3112
|
-
36 => 'Weighted U Boat',
|
|
3113
|
-
37 => 'Windmill Switches',
|
|
3114
|
-
38 => 'Weighted Windmill Switches',
|
|
3115
|
-
39 => 'Alternating Slide Out',
|
|
3116
|
-
40 => 'Weighted Alternating Slide Out',
|
|
3117
|
-
41 => 'Ghd Back Extensions',
|
|
3118
|
-
42 => 'Weighted Ghd Back Extensions',
|
|
3119
|
-
43 => 'Overhead Walk',
|
|
3120
|
-
44 => 'Inchworm',
|
|
3121
|
-
45 => 'Weighted Modified Front Lever',
|
|
3122
|
-
46 => 'Russian Twist',
|
|
3123
|
-
47 => 'Abdominal Leg Rotations',
|
|
3124
|
-
48 => 'Arm And Leg Extension On Knees',
|
|
3125
|
-
49 => 'Bicycle',
|
|
3126
|
-
50 => 'Bicep Curl With Leg Extension',
|
|
3127
|
-
51 => 'Cat Cow',
|
|
3128
|
-
52 => 'Corkscrew',
|
|
3129
|
-
53 => 'Criss Cross',
|
|
3130
|
-
54 => 'Criss Cross With Ball',
|
|
3131
|
-
55 => 'Double Leg Stretch',
|
|
3132
|
-
56 => 'Knee Folds',
|
|
3133
|
-
57 => 'Lower Lift',
|
|
3134
|
-
58 => 'Neck Pull',
|
|
3135
|
-
59 => 'Pelvic Clocks',
|
|
3136
|
-
60 => 'Roll Over',
|
|
3137
|
-
61 => 'Roll Up',
|
|
3138
|
-
62 => 'Rolling',
|
|
3139
|
-
63 => 'Rowing 1',
|
|
3140
|
-
64 => 'Rowing 2',
|
|
3141
|
-
65 => 'Scissors',
|
|
3142
|
-
66 => 'Single Leg Circles',
|
|
3143
|
-
67 => 'Single Leg Stretch',
|
|
3144
|
-
68 => 'Snake Twist 1 And 2',
|
|
3145
|
-
69 => 'Swan',
|
|
3146
|
-
70 => 'Swimming',
|
|
3147
|
-
71 => 'Teaser',
|
|
3148
|
-
72 => 'The Hundred',
|
|
3149
|
-
73 => 'Bicep Curl With Leg Extension With Weights',
|
|
3150
|
-
75 => 'Hanging L Sit',
|
|
3151
|
-
77 => 'Lower Lift With Weights',
|
|
3152
|
-
79 => 'Ring L Sit',
|
|
3153
|
-
80 => 'Rowing 1 With Weights',
|
|
3154
|
-
81 => 'Rowing 2 With Weights',
|
|
3155
|
-
82 => 'Scissors With Weights',
|
|
3156
|
-
83 => 'Single Leg Stretch With Weights',
|
|
3157
|
-
84 => 'Toes To Elbows',
|
|
3158
|
-
85 => 'Weighted Criss Cross',
|
|
3159
|
-
86 => 'Weighted Double Leg Stretch',
|
|
3160
|
-
87 => 'Weighted The Hundred',
|
|
3161
|
-
88 => 'L Sit',
|
|
3162
|
-
89 => 'Turkish Get Up',
|
|
3163
|
-
90 => 'Weighted Ring L Sit',
|
|
3164
|
-
91 => 'Weighted Hanging L Sit',
|
|
3165
|
-
92 => 'Weighted L Sit',
|
|
3166
|
-
93 => 'Side Bend Low Wheelchair',
|
|
3167
|
-
94 => 'Side Bend Mid Wheelchair',
|
|
3168
|
-
95 => 'Side Bend High Wheelchair',
|
|
3169
|
-
96 => 'Seated Side Bend',
|
|
3170
|
-
);
|
|
3171
|
-
|
|
3172
|
-
my %crunchExerciseName = (
|
|
3173
|
-
0 => 'Bicycle Crunch',
|
|
3174
|
-
1 => 'Cable Crunch',
|
|
3175
|
-
2 => 'Circular Arm Crunch',
|
|
3176
|
-
3 => 'Crossed Arms Crunch',
|
|
3177
|
-
4 => 'Weighted Crossed Arms Crunch',
|
|
3178
|
-
5 => 'Cross Leg Reverse Crunch',
|
|
3179
|
-
6 => 'Weighted Cross Leg Reverse Crunch',
|
|
3180
|
-
7 => 'Crunch Chop',
|
|
3181
|
-
8 => 'Weighted Crunch Chop',
|
|
3182
|
-
9 => 'Double Crunch',
|
|
3183
|
-
10 => 'Weighted Double Crunch',
|
|
3184
|
-
11 => 'Elbow To Knee Crunch',
|
|
3185
|
-
12 => 'Weighted Elbow To Knee Crunch',
|
|
3186
|
-
13 => 'Flutter Kicks',
|
|
3187
|
-
14 => 'Weighted Flutter Kicks',
|
|
3188
|
-
15 => 'Foam Roller Reverse Crunch On Bench',
|
|
3189
|
-
16 => 'Weighted Foam Roller Reverse Crunch On Bench',
|
|
3190
|
-
17 => 'Foam Roller Reverse Crunch With Dumbbell',
|
|
3191
|
-
18 => 'Foam Roller Reverse Crunch With Medicine Ball',
|
|
3192
|
-
19 => 'Frog Press',
|
|
3193
|
-
20 => 'Hanging Knee Raise Oblique Crunch',
|
|
3194
|
-
21 => 'Weighted Hanging Knee Raise Oblique Crunch',
|
|
3195
|
-
22 => 'Hip Crossover',
|
|
3196
|
-
23 => 'Weighted Hip Crossover',
|
|
3197
|
-
24 => 'Hollow Rock',
|
|
3198
|
-
25 => 'Weighted Hollow Rock',
|
|
3199
|
-
26 => 'Incline Reverse Crunch',
|
|
3200
|
-
27 => 'Weighted Incline Reverse Crunch',
|
|
3201
|
-
28 => 'Kneeling Cable Crunch',
|
|
3202
|
-
29 => 'Kneeling Cross Crunch',
|
|
3203
|
-
30 => 'Weighted Kneeling Cross Crunch',
|
|
3204
|
-
31 => 'Kneeling Oblique Cable Crunch',
|
|
3205
|
-
32 => 'Knees To Elbow',
|
|
3206
|
-
33 => 'Leg Extensions',
|
|
3207
|
-
34 => 'Weighted Leg Extensions',
|
|
3208
|
-
35 => 'Leg Levers',
|
|
3209
|
-
36 => 'Mcgill Curl Up',
|
|
3210
|
-
37 => 'Weighted Mcgill Curl Up',
|
|
3211
|
-
38 => 'Modified Pilates Roll Up With Ball',
|
|
3212
|
-
39 => 'Weighted Modified Pilates Roll Up With Ball',
|
|
3213
|
-
40 => 'Pilates Crunch',
|
|
3214
|
-
41 => 'Weighted Pilates Crunch',
|
|
3215
|
-
42 => 'Pilates Roll Up With Ball',
|
|
3216
|
-
43 => 'Weighted Pilates Roll Up With Ball',
|
|
3217
|
-
44 => 'Raised Legs Crunch',
|
|
3218
|
-
45 => 'Weighted Raised Legs Crunch',
|
|
3219
|
-
46 => 'Reverse Crunch',
|
|
3220
|
-
47 => 'Weighted Reverse Crunch',
|
|
3221
|
-
48 => 'Reverse Crunch On A Bench',
|
|
3222
|
-
49 => 'Weighted Reverse Crunch On A Bench',
|
|
3223
|
-
50 => 'Reverse Curl And Lift',
|
|
3224
|
-
51 => 'Weighted Reverse Curl And Lift',
|
|
3225
|
-
52 => 'Rotational Lift',
|
|
3226
|
-
53 => 'Weighted Rotational Lift',
|
|
3227
|
-
54 => 'Seated Alternating Reverse Crunch',
|
|
3228
|
-
55 => 'Weighted Seated Alternating Reverse Crunch',
|
|
3229
|
-
56 => 'Seated Leg U',
|
|
3230
|
-
57 => 'Weighted Seated Leg U',
|
|
3231
|
-
58 => 'Side To Side Crunch And Weave',
|
|
3232
|
-
59 => 'Weighted Side To Side Crunch And Weave',
|
|
3233
|
-
60 => 'Single Leg Reverse Crunch',
|
|
3234
|
-
61 => 'Weighted Single Leg Reverse Crunch',
|
|
3235
|
-
62 => 'Skater Crunch Cross',
|
|
3236
|
-
63 => 'Weighted Skater Crunch Cross',
|
|
3237
|
-
64 => 'Standing Cable Crunch',
|
|
3238
|
-
65 => 'Standing Side Crunch',
|
|
3239
|
-
66 => 'Step Climb',
|
|
3240
|
-
67 => 'Weighted Step Climb',
|
|
3241
|
-
68 => 'Swiss Ball Crunch',
|
|
3242
|
-
69 => 'Swiss Ball Reverse Crunch',
|
|
3243
|
-
70 => 'Weighted Swiss Ball Reverse Crunch',
|
|
3244
|
-
71 => 'Swiss Ball Russian Twist',
|
|
3245
|
-
72 => 'Weighted Swiss Ball Russian Twist',
|
|
3246
|
-
73 => 'Swiss Ball Side Crunch',
|
|
3247
|
-
74 => 'Weighted Swiss Ball Side Crunch',
|
|
3248
|
-
75 => 'Thoracic Crunches On Foam Roller',
|
|
3249
|
-
76 => 'Weighted Thoracic Crunches On Foam Roller',
|
|
3250
|
-
77 => 'Triceps Crunch',
|
|
3251
|
-
78 => 'Weighted Bicycle Crunch',
|
|
3252
|
-
79 => 'Weighted Crunch',
|
|
3253
|
-
80 => 'Weighted Swiss Ball Crunch',
|
|
3254
|
-
81 => 'Toes To Bar',
|
|
3255
|
-
82 => 'Weighted Toes To Bar',
|
|
3256
|
-
83 => 'Crunch',
|
|
3257
|
-
84 => 'Straight Leg Crunch With Ball',
|
|
3258
|
-
86 => 'Leg Climb Crunch',
|
|
3259
|
-
);
|
|
3260
|
-
|
|
3261
|
-
my %curlExerciseName = (
|
|
3262
|
-
0 => 'Alternating Dumbbell Biceps Curl',
|
|
3263
|
-
1 => 'Alternating Dumbbell Biceps Curl On Swiss Ball',
|
|
3264
|
-
2 => 'Alternating Incline Dumbbell Biceps Curl',
|
|
3265
|
-
3 => 'Barbell Biceps Curl',
|
|
3266
|
-
4 => 'Barbell Reverse Wrist Curl',
|
|
3267
|
-
5 => 'Barbell Wrist Curl',
|
|
3268
|
-
6 => 'Behind The Back Barbell Reverse Wrist Curl',
|
|
3269
|
-
7 => 'Behind The Back One Arm Cable Curl',
|
|
3270
|
-
8 => 'Cable Biceps Curl',
|
|
3271
|
-
9 => 'Cable Hammer Curl',
|
|
3272
|
-
10 => 'Cheating Barbell Biceps Curl',
|
|
3273
|
-
11 => 'Close Grip Ez Bar Biceps Curl',
|
|
3274
|
-
12 => 'Cross Body Dumbbell Hammer Curl',
|
|
3275
|
-
13 => 'Dead Hang Biceps Curl',
|
|
3276
|
-
14 => 'Decline Hammer Curl',
|
|
3277
|
-
15 => 'Dumbbell Biceps Curl With Static Hold',
|
|
3278
|
-
16 => 'Dumbbell Hammer Curl',
|
|
3279
|
-
17 => 'Dumbbell Reverse Wrist Curl',
|
|
3280
|
-
18 => 'Dumbbell Wrist Curl',
|
|
3281
|
-
19 => 'Ez Bar Preacher Curl',
|
|
3282
|
-
20 => 'Forward Bend Biceps Curl',
|
|
3283
|
-
21 => 'Hammer Curl To Press',
|
|
3284
|
-
22 => 'Incline Dumbbell Biceps Curl',
|
|
3285
|
-
23 => 'Incline Offset Thumb Dumbbell Curl',
|
|
3286
|
-
24 => 'Kettlebell Biceps Curl',
|
|
3287
|
-
25 => 'Lying Concentration Cable Curl',
|
|
3288
|
-
26 => 'One Arm Preacher Curl',
|
|
3289
|
-
27 => 'Plate Pinch Curl',
|
|
3290
|
-
28 => 'Preacher Curl With Cable',
|
|
3291
|
-
29 => 'Reverse Ez Bar Curl',
|
|
3292
|
-
30 => 'Reverse Grip Wrist Curl',
|
|
3293
|
-
31 => 'Reverse Grip Barbell Biceps Curl',
|
|
3294
|
-
32 => 'Seated Alternating Dumbbell Biceps Curl',
|
|
3295
|
-
33 => 'Seated Dumbbell Biceps Curl',
|
|
3296
|
-
34 => 'Seated Reverse Dumbbell Curl',
|
|
3297
|
-
35 => 'Split Stance Offset Pinky Dumbbell Curl',
|
|
3298
|
-
36 => 'Standing Alternating Dumbbell Curls',
|
|
3299
|
-
37 => 'Standing Dumbbell Biceps Curl',
|
|
3300
|
-
38 => 'Standing Ez Bar Biceps Curl',
|
|
3301
|
-
39 => 'Static Curl',
|
|
3302
|
-
40 => 'Swiss Ball Dumbbell Overhead Triceps Extension',
|
|
3303
|
-
41 => 'Swiss Ball Ez Bar Preacher Curl',
|
|
3304
|
-
42 => 'Twisting Standing Dumbbell Biceps Curl',
|
|
3305
|
-
43 => 'Wide Grip Ez Bar Biceps Curl',
|
|
3306
|
-
44 => 'One Arm Concentration Curl',
|
|
3307
|
-
45 => 'Standing Zottman Biceps Curl',
|
|
3308
|
-
46 => 'Dumbbell Biceps Curl',
|
|
3309
|
-
47 => 'Drag Curl Wheelchair',
|
|
3310
|
-
48 => 'Dumbbell Biceps Curl Wheelchair',
|
|
3311
|
-
49 => 'Bottle Curl',
|
|
3312
|
-
50 => 'Seated Bottle Curl',
|
|
3313
|
-
);
|
|
3314
|
-
|
|
3315
|
-
my %deadliftExerciseName = (
|
|
3316
|
-
0 => 'Barbell Deadlift',
|
|
3317
|
-
1 => 'Barbell Straight Leg Deadlift',
|
|
3318
|
-
2 => 'Dumbbell Deadlift',
|
|
3319
|
-
3 => 'Dumbbell Single Leg Deadlift To Row',
|
|
3320
|
-
4 => 'Dumbbell Straight Leg Deadlift',
|
|
3321
|
-
5 => 'Kettlebell Floor To Shelf',
|
|
3322
|
-
6 => 'One Arm One Leg Deadlift',
|
|
3323
|
-
7 => 'Rack Pull',
|
|
3324
|
-
8 => 'Rotational Dumbbell Straight Leg Deadlift',
|
|
3325
|
-
9 => 'Single Arm Deadlift',
|
|
3326
|
-
10 => 'Single Leg Barbell Deadlift',
|
|
3327
|
-
11 => 'Single Leg Barbell Straight Leg Deadlift',
|
|
3328
|
-
12 => 'Single Leg Deadlift With Barbell',
|
|
3329
|
-
13 => 'Single Leg Rdl Circuit',
|
|
3330
|
-
14 => 'Single Leg Romanian Deadlift With Dumbbell',
|
|
3331
|
-
15 => 'Sumo Deadlift',
|
|
3332
|
-
16 => 'Sumo Deadlift High Pull',
|
|
3333
|
-
17 => 'Trap Bar Deadlift',
|
|
3334
|
-
18 => 'Wide Grip Barbell Deadlift',
|
|
3335
|
-
20 => 'Kettlebell Deadlift',
|
|
3336
|
-
21 => 'Kettlebell Sumo Deadlift',
|
|
3337
|
-
23 => 'Romanian Deadlift',
|
|
3338
|
-
24 => 'Single Leg Romanian Deadlift Circuit',
|
|
3339
|
-
25 => 'Straight Leg Deadlift',
|
|
3340
|
-
);
|
|
3341
|
-
|
|
3342
|
-
my %flyeExerciseName = (
|
|
3343
|
-
0 => 'Cable Crossover',
|
|
3344
|
-
1 => 'Decline Dumbbell Flye',
|
|
3345
|
-
2 => 'Dumbbell Flye',
|
|
3346
|
-
3 => 'Incline Dumbbell Flye',
|
|
3347
|
-
4 => 'Kettlebell Flye',
|
|
3348
|
-
5 => 'Kneeling Rear Flye',
|
|
3349
|
-
6 => 'Single Arm Standing Cable Reverse Flye',
|
|
3350
|
-
7 => 'Swiss Ball Dumbbell Flye',
|
|
3351
|
-
8 => 'Arm Rotations',
|
|
3352
|
-
9 => 'Hug A Tree',
|
|
3353
|
-
10 => 'Face Down Incline Reverse Flye',
|
|
3354
|
-
11 => 'Incline Reverse Flye',
|
|
3355
|
-
12 => 'Rear Delt Fly Wheelchair',
|
|
3356
|
-
);
|
|
3357
|
-
|
|
3358
|
-
my %hipRaiseExerciseName = (
|
|
3359
|
-
0 => 'Barbell Hip Thrust On Floor',
|
|
3360
|
-
1 => 'Barbell Hip Thrust With Bench',
|
|
3361
|
-
2 => 'Bent Knee Swiss Ball Reverse Hip Raise',
|
|
3362
|
-
3 => 'Weighted Bent Knee Swiss Ball Reverse Hip Raise',
|
|
3363
|
-
4 => 'Bridge With Leg Extension',
|
|
3364
|
-
5 => 'Weighted Bridge With Leg Extension',
|
|
3365
|
-
6 => 'Clam Bridge',
|
|
3366
|
-
7 => 'Front Kick Tabletop',
|
|
3367
|
-
8 => 'Weighted Front Kick Tabletop',
|
|
3368
|
-
9 => 'Hip Extension And Cross',
|
|
3369
|
-
10 => 'Weighted Hip Extension And Cross',
|
|
3370
|
-
11 => 'Hip Raise',
|
|
3371
|
-
12 => 'Weighted Hip Raise',
|
|
3372
|
-
13 => 'Hip Raise With Feet On Swiss Ball',
|
|
3373
|
-
14 => 'Weighted Hip Raise With Feet On Swiss Ball',
|
|
3374
|
-
15 => 'Hip Raise With Head On Bosu Ball',
|
|
3375
|
-
16 => 'Weighted Hip Raise With Head On Bosu Ball',
|
|
3376
|
-
17 => 'Hip Raise With Head On Swiss Ball',
|
|
3377
|
-
18 => 'Weighted Hip Raise With Head On Swiss Ball',
|
|
3378
|
-
19 => 'Hip Raise With Knee Squeeze',
|
|
3379
|
-
20 => 'Weighted Hip Raise With Knee Squeeze',
|
|
3380
|
-
21 => 'Incline Rear Leg Extension',
|
|
3381
|
-
22 => 'Weighted Incline Rear Leg Extension',
|
|
3382
|
-
23 => 'Kettlebell Swing',
|
|
3383
|
-
24 => 'Marching Hip Raise',
|
|
3384
|
-
25 => 'Weighted Marching Hip Raise',
|
|
3385
|
-
26 => 'Marching Hip Raise With Feet On A Swiss Ball',
|
|
3386
|
-
27 => 'Weighted Marching Hip Raise With Feet On A Swiss Ball',
|
|
3387
|
-
28 => 'Reverse Hip Raise',
|
|
3388
|
-
29 => 'Weighted Reverse Hip Raise',
|
|
3389
|
-
30 => 'Single Leg Hip Raise',
|
|
3390
|
-
31 => 'Weighted Single Leg Hip Raise',
|
|
3391
|
-
32 => 'Single Leg Hip Raise With Foot On Bench',
|
|
3392
|
-
33 => 'Weighted Single Leg Hip Raise With Foot On Bench',
|
|
3393
|
-
34 => 'Single Leg Hip Raise With Foot On Bosu Ball',
|
|
3394
|
-
35 => 'Weighted Single Leg Hip Raise With Foot On Bosu Ball',
|
|
3395
|
-
36 => 'Single Leg Hip Raise With Foot On Foam Roller',
|
|
3396
|
-
37 => 'Weighted Single Leg Hip Raise With Foot On Foam Roller',
|
|
3397
|
-
38 => 'Single Leg Hip Raise With Foot On Medicine Ball',
|
|
3398
|
-
39 => 'Weighted Single Leg Hip Raise With Foot On Medicine Ball',
|
|
3399
|
-
40 => 'Single Leg Hip Raise With Head On Bosu Ball',
|
|
3400
|
-
41 => 'Weighted Single Leg Hip Raise With Head On Bosu Ball',
|
|
3401
|
-
42 => 'Weighted Clam Bridge',
|
|
3402
|
-
43 => 'Single Leg Swiss Ball Hip Raise And Leg Curl',
|
|
3403
|
-
44 => 'Clams',
|
|
3404
|
-
45 => 'Inner Thigh Circles',
|
|
3405
|
-
46 => 'Inner Thigh Side Lift',
|
|
3406
|
-
47 => 'Leg Circles',
|
|
3407
|
-
48 => 'Leg Lift',
|
|
3408
|
-
49 => 'Leg Lift In External Rotation',
|
|
3409
|
-
);
|
|
3410
|
-
|
|
3411
|
-
my %hipStabilityExerciseName = (
|
|
3412
|
-
0 => 'Band Side Lying Leg Raise',
|
|
3413
|
-
1 => 'Dead Bug',
|
|
3414
|
-
2 => 'Weighted Dead Bug',
|
|
3415
|
-
3 => 'External Hip Raise',
|
|
3416
|
-
4 => 'Weighted External Hip Raise',
|
|
3417
|
-
5 => 'Fire Hydrant Kicks',
|
|
3418
|
-
6 => 'Weighted Fire Hydrant Kicks',
|
|
3419
|
-
7 => 'Hip Circles',
|
|
3420
|
-
8 => 'Weighted Hip Circles',
|
|
3421
|
-
9 => 'Inner Thigh Lift',
|
|
3422
|
-
10 => 'Weighted Inner Thigh Lift',
|
|
3423
|
-
11 => 'Lateral Walks With Band At Ankles',
|
|
3424
|
-
12 => 'Pretzel Side Kick',
|
|
3425
|
-
13 => 'Weighted Pretzel Side Kick',
|
|
3426
|
-
14 => 'Prone Hip Internal Rotation',
|
|
3427
|
-
15 => 'Weighted Prone Hip Internal Rotation',
|
|
3428
|
-
16 => 'Quadruped',
|
|
3429
|
-
17 => 'Quadruped Hip Extension',
|
|
3430
|
-
18 => 'Weighted Quadruped Hip Extension',
|
|
3431
|
-
19 => 'Quadruped With Leg Lift',
|
|
3432
|
-
20 => 'Weighted Quadruped With Leg Lift',
|
|
3433
|
-
21 => 'Side Lying Leg Raise',
|
|
3434
|
-
22 => 'Weighted Side Lying Leg Raise',
|
|
3435
|
-
23 => 'Sliding Hip Adduction',
|
|
3436
|
-
24 => 'Weighted Sliding Hip Adduction',
|
|
3437
|
-
25 => 'Standing Adduction',
|
|
3438
|
-
26 => 'Weighted Standing Adduction',
|
|
3439
|
-
27 => 'Standing Cable Hip Abduction',
|
|
3440
|
-
28 => 'Standing Hip Abduction',
|
|
3441
|
-
29 => 'Weighted Standing Hip Abduction',
|
|
3442
|
-
30 => 'Standing Rear Leg Raise',
|
|
3443
|
-
31 => 'Weighted Standing Rear Leg Raise',
|
|
3444
|
-
32 => 'Supine Hip Internal Rotation',
|
|
3445
|
-
33 => 'Weighted Supine Hip Internal Rotation',
|
|
3446
|
-
34 => 'Lying Abduction Stretch',
|
|
3447
|
-
);
|
|
3448
|
-
|
|
3449
|
-
my %hipSwingExerciseName = (
|
|
3450
|
-
0 => 'Single Arm Kettlebell Swing',
|
|
3451
|
-
1 => 'Single Arm Dumbbell Swing',
|
|
3452
|
-
2 => 'Step Out Swing',
|
|
3453
|
-
3 => 'One Arm Swing',
|
|
3454
|
-
);
|
|
3455
|
-
|
|
3456
|
-
my %hyperextensionExerciseName = (
|
|
3457
|
-
0 => 'Back Extension With Opposite Arm And Leg Reach',
|
|
3458
|
-
1 => 'Weighted Back Extension With Opposite Arm And Leg Reach',
|
|
3459
|
-
2 => 'Base Rotations',
|
|
3460
|
-
3 => 'Weighted Base Rotations',
|
|
3461
|
-
4 => 'Bent Knee Reverse Hyperextension',
|
|
3462
|
-
5 => 'Weighted Bent Knee Reverse Hyperextension',
|
|
3463
|
-
6 => 'Hollow Hold And Roll',
|
|
3464
|
-
7 => 'Weighted Hollow Hold And Roll',
|
|
3465
|
-
8 => 'Kicks',
|
|
3466
|
-
9 => 'Weighted Kicks',
|
|
3467
|
-
10 => 'Knee Raises',
|
|
3468
|
-
11 => 'Weighted Knee Raises',
|
|
3469
|
-
12 => 'Kneeling Superman',
|
|
3470
|
-
13 => 'Weighted Kneeling Superman',
|
|
3471
|
-
14 => 'Lat Pull Down With Row',
|
|
3472
|
-
15 => 'Medicine Ball Deadlift To Reach',
|
|
3473
|
-
16 => 'One Arm One Leg Row',
|
|
3474
|
-
17 => 'One Arm Row With Band',
|
|
3475
|
-
18 => 'Overhead Lunge With Medicine Ball',
|
|
3476
|
-
19 => 'Plank Knee Tucks',
|
|
3477
|
-
20 => 'Weighted Plank Knee Tucks',
|
|
3478
|
-
21 => 'Side Step',
|
|
3479
|
-
22 => 'Weighted Side Step',
|
|
3480
|
-
23 => 'Single Leg Back Extension',
|
|
3481
|
-
24 => 'Weighted Single Leg Back Extension',
|
|
3482
|
-
25 => 'Spine Extension',
|
|
3483
|
-
26 => 'Weighted Spine Extension',
|
|
3484
|
-
27 => 'Static Back Extension',
|
|
3485
|
-
28 => 'Weighted Static Back Extension',
|
|
3486
|
-
29 => 'Superman From Floor',
|
|
3487
|
-
30 => 'Weighted Superman From Floor',
|
|
3488
|
-
31 => 'Swiss Ball Back Extension',
|
|
3489
|
-
32 => 'Weighted Swiss Ball Back Extension',
|
|
3490
|
-
33 => 'Swiss Ball Hyperextension',
|
|
3491
|
-
34 => 'Weighted Swiss Ball Hyperextension',
|
|
3492
|
-
35 => 'Swiss Ball Opposite Arm And Leg Lift',
|
|
3493
|
-
36 => 'Weighted Swiss Ball Opposite Arm And Leg Lift',
|
|
3494
|
-
37 => 'Superman On Swiss Ball',
|
|
3495
|
-
38 => 'Cobra',
|
|
3496
|
-
39 => 'Supine Floor Barre',
|
|
3497
|
-
);
|
|
3498
|
-
|
|
3499
|
-
my %lateralRaiseExerciseName = (
|
|
3500
|
-
0 => '45 Degree Cable External Rotation',
|
|
3501
|
-
1 => 'Alternating Lateral Raise With Static Hold',
|
|
3502
|
-
2 => 'Bar Muscle Up',
|
|
3503
|
-
3 => 'Bent Over Lateral Raise',
|
|
3504
|
-
4 => 'Cable Diagonal Raise',
|
|
3505
|
-
5 => 'Cable Front Raise',
|
|
3506
|
-
6 => 'Calorie Row',
|
|
3507
|
-
7 => 'Combo Shoulder Raise',
|
|
3508
|
-
8 => 'Dumbbell Diagonal Raise',
|
|
3509
|
-
9 => 'Dumbbell V Raise',
|
|
3510
|
-
10 => 'Front Raise',
|
|
3511
|
-
11 => 'Leaning Dumbbell Lateral Raise',
|
|
3512
|
-
12 => 'Lying Dumbbell Raise',
|
|
3513
|
-
13 => 'Muscle Up',
|
|
3514
|
-
14 => 'One Arm Cable Lateral Raise',
|
|
3515
|
-
15 => 'Overhand Grip Rear Lateral Raise',
|
|
3516
|
-
16 => 'Plate Raises',
|
|
3517
|
-
17 => 'Ring Dip',
|
|
3518
|
-
18 => 'Weighted Ring Dip',
|
|
3519
|
-
19 => 'Ring Muscle Up',
|
|
3520
|
-
20 => 'Weighted Ring Muscle Up',
|
|
3521
|
-
21 => 'Rope Climb',
|
|
3522
|
-
22 => 'Weighted Rope Climb',
|
|
3523
|
-
23 => 'Scaption',
|
|
3524
|
-
24 => 'Seated Lateral Raise',
|
|
3525
|
-
25 => 'Seated Rear Lateral Raise',
|
|
3526
|
-
26 => 'Side Lying Lateral Raise',
|
|
3527
|
-
27 => 'Standing Lift',
|
|
3528
|
-
28 => 'Suspended Row',
|
|
3529
|
-
29 => 'Underhand Grip Rear Lateral Raise',
|
|
3530
|
-
30 => 'Wall Slide',
|
|
3531
|
-
31 => 'Weighted Wall Slide',
|
|
3532
|
-
32 => 'Arm Circles',
|
|
3533
|
-
33 => 'Shaving The Head',
|
|
3534
|
-
34 => 'Dumbbell Lateral Raise',
|
|
3535
|
-
36 => 'Ring Dip Kipping',
|
|
3536
|
-
37 => 'Wall Walk',
|
|
3537
|
-
38 => 'Dumbbell Front Raise Wheelchair',
|
|
3538
|
-
39 => 'Dumbbell Lateral Raise Wheelchair',
|
|
3539
|
-
40 => 'Pole Double Arm Overhead And Forward Wheelchair',
|
|
3540
|
-
41 => 'Pole Straight Arm Overhead Wheelchair',
|
|
3541
|
-
);
|
|
3542
|
-
|
|
3543
|
-
my %legCurlExerciseName = (
|
|
3544
|
-
0 => 'Leg Curl',
|
|
3545
|
-
1 => 'Weighted Leg Curl',
|
|
3546
|
-
2 => 'Good Morning',
|
|
3547
|
-
3 => 'Seated Barbell Good Morning',
|
|
3548
|
-
4 => 'Single Leg Barbell Good Morning',
|
|
3549
|
-
5 => 'Single Leg Sliding Leg Curl',
|
|
3550
|
-
6 => 'Sliding Leg Curl',
|
|
3551
|
-
7 => 'Split Barbell Good Morning',
|
|
3552
|
-
8 => 'Split Stance Extension',
|
|
3553
|
-
9 => 'Staggered Stance Good Morning',
|
|
3554
|
-
10 => 'Swiss Ball Hip Raise And Leg Curl',
|
|
3555
|
-
11 => 'Zercher Good Morning',
|
|
3556
|
-
12 => 'Band Good Morning',
|
|
3557
|
-
13 => 'Bar Good Morning',
|
|
3558
|
-
);
|
|
3559
|
-
|
|
3560
|
-
my %legRaiseExerciseName = (
|
|
3561
|
-
0 => 'Hanging Knee Raise',
|
|
3562
|
-
1 => 'Hanging Leg Raise',
|
|
3563
|
-
2 => 'Weighted Hanging Leg Raise',
|
|
3564
|
-
3 => 'Hanging Single Leg Raise',
|
|
3565
|
-
4 => 'Weighted Hanging Single Leg Raise',
|
|
3566
|
-
5 => 'Kettlebell Leg Raises',
|
|
3567
|
-
6 => 'Leg Lowering Drill',
|
|
3568
|
-
7 => 'Weighted Leg Lowering Drill',
|
|
3569
|
-
8 => 'Lying Straight Leg Raise',
|
|
3570
|
-
9 => 'Weighted Lying Straight Leg Raise',
|
|
3571
|
-
10 => 'Medicine Ball Leg Drops',
|
|
3572
|
-
11 => 'Quadruped Leg Raise',
|
|
3573
|
-
12 => 'Weighted Quadruped Leg Raise',
|
|
3574
|
-
13 => 'Reverse Leg Raise',
|
|
3575
|
-
14 => 'Weighted Reverse Leg Raise',
|
|
3576
|
-
15 => 'Reverse Leg Raise On Swiss Ball',
|
|
3577
|
-
16 => 'Weighted Reverse Leg Raise On Swiss Ball',
|
|
3578
|
-
17 => 'Single Leg Lowering Drill',
|
|
3579
|
-
18 => 'Weighted Single Leg Lowering Drill',
|
|
3580
|
-
19 => 'Weighted Hanging Knee Raise',
|
|
3581
|
-
20 => 'Lateral Stepover',
|
|
3582
|
-
21 => 'Weighted Lateral Stepover',
|
|
3583
|
-
);
|
|
3584
|
-
|
|
3585
|
-
my %lungeExerciseName = (
|
|
3586
|
-
0 => 'Overhead Lunge',
|
|
3587
|
-
1 => 'Lunge Matrix',
|
|
3588
|
-
2 => 'Weighted Lunge Matrix',
|
|
3589
|
-
3 => 'Alternating Barbell Forward Lunge',
|
|
3590
|
-
4 => 'Alternating Dumbbell Lunge With Reach',
|
|
3591
|
-
5 => 'Back Foot Elevated Dumbbell Split Squat',
|
|
3592
|
-
6 => 'Barbell Box Lunge',
|
|
3593
|
-
7 => 'Barbell Bulgarian Split Squat',
|
|
3594
|
-
8 => 'Barbell Crossover Lunge',
|
|
3595
|
-
9 => 'Barbell Front Split Squat',
|
|
3596
|
-
10 => 'Barbell Lunge',
|
|
3597
|
-
11 => 'Barbell Reverse Lunge',
|
|
3598
|
-
12 => 'Barbell Side Lunge',
|
|
3599
|
-
13 => 'Barbell Split Squat',
|
|
3600
|
-
14 => 'Core Control Rear Lunge',
|
|
3601
|
-
15 => 'Diagonal Lunge',
|
|
3602
|
-
16 => 'Drop Lunge',
|
|
3603
|
-
17 => 'Dumbbell Box Lunge',
|
|
3604
|
-
18 => 'Dumbbell Bulgarian Split Squat',
|
|
3605
|
-
19 => 'Dumbbell Crossover Lunge',
|
|
3606
|
-
20 => 'Dumbbell Diagonal Lunge',
|
|
3607
|
-
21 => 'Dumbbell Lunge',
|
|
3608
|
-
22 => 'Dumbbell Lunge And Rotation',
|
|
3609
|
-
23 => 'Dumbbell Overhead Bulgarian Split Squat',
|
|
3610
|
-
24 => 'Dumbbell Reverse Lunge To High Knee And Press',
|
|
3611
|
-
25 => 'Dumbbell Side Lunge',
|
|
3612
|
-
26 => 'Elevated Front Foot Barbell Split Squat',
|
|
3613
|
-
27 => 'Front Foot Elevated Dumbbell Split Squat',
|
|
3614
|
-
28 => 'Gunslinger Lunge',
|
|
3615
|
-
29 => 'Lawnmower Lunge',
|
|
3616
|
-
30 => 'Low Lunge With Isometric Adduction',
|
|
3617
|
-
31 => 'Low Side To Side Lunge',
|
|
3618
|
-
32 => 'Lunge',
|
|
3619
|
-
33 => 'Weighted Lunge',
|
|
3620
|
-
34 => 'Lunge With Arm Reach',
|
|
3621
|
-
35 => 'Lunge With Diagonal Reach',
|
|
3622
|
-
36 => 'Lunge With Side Bend',
|
|
3623
|
-
37 => 'Offset Dumbbell Lunge',
|
|
3624
|
-
38 => 'Offset Dumbbell Reverse Lunge',
|
|
3625
|
-
39 => 'Overhead Bulgarian Split Squat',
|
|
3626
|
-
40 => 'Overhead Dumbbell Reverse Lunge',
|
|
3627
|
-
41 => 'Overhead Dumbbell Split Squat',
|
|
3628
|
-
42 => 'Overhead Lunge With Rotation',
|
|
3629
|
-
43 => 'Reverse Barbell Box Lunge',
|
|
3630
|
-
44 => 'Reverse Box Lunge',
|
|
3631
|
-
45 => 'Reverse Dumbbell Box Lunge',
|
|
3632
|
-
46 => 'Reverse Dumbbell Crossover Lunge',
|
|
3633
|
-
47 => 'Reverse Dumbbell Diagonal Lunge',
|
|
3634
|
-
48 => 'Reverse Lunge With Reach Back',
|
|
3635
|
-
49 => 'Weighted Reverse Lunge With Reach Back',
|
|
3636
|
-
50 => 'Reverse Lunge With Twist And Overhead Reach',
|
|
3637
|
-
51 => 'Weighted Reverse Lunge With Twist And Overhead Reach',
|
|
3638
|
-
52 => 'Reverse Sliding Box Lunge',
|
|
3639
|
-
53 => 'Weighted Reverse Sliding Box Lunge',
|
|
3640
|
-
54 => 'Reverse Sliding Lunge',
|
|
3641
|
-
55 => 'Weighted Reverse Sliding Lunge',
|
|
3642
|
-
56 => 'Runners Lunge To Balance',
|
|
3643
|
-
57 => 'Weighted Runners Lunge To Balance',
|
|
3644
|
-
58 => 'Shifting Side Lunge',
|
|
3645
|
-
59 => 'Side And Crossover Lunge',
|
|
3646
|
-
60 => 'Weighted Side And Crossover Lunge',
|
|
3647
|
-
61 => 'Side Lunge',
|
|
3648
|
-
62 => 'Weighted Side Lunge',
|
|
3649
|
-
63 => 'Side Lunge And Press',
|
|
3650
|
-
64 => 'Side Lunge Jump Off',
|
|
3651
|
-
65 => 'Side Lunge Sweep',
|
|
3652
|
-
66 => 'Weighted Side Lunge Sweep',
|
|
3653
|
-
67 => 'Side Lunge To Crossover Tap',
|
|
3654
|
-
68 => 'Weighted Side Lunge To Crossover Tap',
|
|
3655
|
-
69 => 'Side To Side Lunge Chops',
|
|
3656
|
-
70 => 'Weighted Side To Side Lunge Chops',
|
|
3657
|
-
71 => 'Siff Jump Lunge',
|
|
3658
|
-
72 => 'Weighted Siff Jump Lunge',
|
|
3659
|
-
73 => 'Single Arm Reverse Lunge And Press',
|
|
3660
|
-
74 => 'Sliding Lateral Lunge',
|
|
3661
|
-
75 => 'Weighted Sliding Lateral Lunge',
|
|
3662
|
-
76 => 'Walking Barbell Lunge',
|
|
3663
|
-
77 => 'Walking Dumbbell Lunge',
|
|
3664
|
-
78 => 'Walking Lunge',
|
|
3665
|
-
79 => 'Weighted Walking Lunge',
|
|
3666
|
-
80 => 'Wide Grip Overhead Barbell Split Squat',
|
|
3667
|
-
81 => 'Alternating Dumbbell Lunge',
|
|
3668
|
-
82 => 'Dumbbell Reverse Lunge',
|
|
3669
|
-
83 => 'Overhead Dumbbell Lunge',
|
|
3670
|
-
84 => 'Scissor Power Switch',
|
|
3671
|
-
85 => 'Dumbbell Overhead Walking Lunge',
|
|
3672
|
-
86 => 'Curtsy Lunge',
|
|
3673
|
-
87 => 'Weighted Curtsy Lunge',
|
|
3674
|
-
88 => 'Weighted Shifting Side Lunge',
|
|
3675
|
-
89 => 'Weighted Side Lunge And Press',
|
|
3676
|
-
90 => 'Weighted Side Lunge Jump Off',
|
|
3677
|
-
);
|
|
3678
|
-
|
|
3679
|
-
my %olympicLiftExerciseName = (
|
|
3680
|
-
0 => 'Barbell Hang Power Clean',
|
|
3681
|
-
1 => 'Barbell Hang Squat Clean',
|
|
3682
|
-
2 => 'Barbell Power Clean',
|
|
3683
|
-
3 => 'Barbell Power Snatch',
|
|
3684
|
-
4 => 'Barbell Squat Clean',
|
|
3685
|
-
5 => 'Clean And Jerk',
|
|
3686
|
-
6 => 'Barbell Hang Power Snatch',
|
|
3687
|
-
7 => 'Barbell Hang Pull',
|
|
3688
|
-
8 => 'Barbell High Pull',
|
|
3689
|
-
9 => 'Barbell Snatch',
|
|
3690
|
-
10 => 'Barbell Split Jerk',
|
|
3691
|
-
11 => 'Clean',
|
|
3692
|
-
12 => 'Dumbbell Clean',
|
|
3693
|
-
13 => 'Dumbbell Hang Pull',
|
|
3694
|
-
14 => 'One Hand Dumbbell Split Snatch',
|
|
3695
|
-
15 => 'Push Jerk',
|
|
3696
|
-
16 => 'Single Arm Dumbbell Snatch',
|
|
3697
|
-
17 => 'Single Arm Hang Snatch',
|
|
3698
|
-
18 => 'Single Arm Kettlebell Snatch',
|
|
3699
|
-
19 => 'Split Jerk',
|
|
3700
|
-
20 => 'Squat Clean And Jerk',
|
|
3701
|
-
21 => 'Dumbbell Hang Snatch',
|
|
3702
|
-
22 => 'Dumbbell Power Clean And Jerk',
|
|
3703
|
-
23 => 'Dumbbell Power Clean And Push Press',
|
|
3704
|
-
24 => 'Dumbbell Power Clean And Strict Press',
|
|
3705
|
-
25 => 'Dumbbell Snatch',
|
|
3706
|
-
26 => 'Medicine Ball Clean',
|
|
3707
|
-
27 => 'Clean And Press',
|
|
3708
|
-
28 => 'Snatch',
|
|
3709
|
-
);
|
|
3710
|
-
|
|
3711
|
-
my %plankExerciseName = (
|
|
3712
|
-
0 => '45 Degree Plank',
|
|
3713
|
-
1 => 'Weighted 45 Degree Plank',
|
|
3714
|
-
2 => '90 Degree Static Hold',
|
|
3715
|
-
3 => 'Weighted 90 Degree Static Hold',
|
|
3716
|
-
4 => 'Bear Crawl',
|
|
3717
|
-
5 => 'Weighted Bear Crawl',
|
|
3718
|
-
6 => 'Cross Body Mountain Climber',
|
|
3719
|
-
7 => 'Weighted Cross Body Mountain Climber',
|
|
3720
|
-
8 => 'Elbow Plank Pike Jacks',
|
|
3721
|
-
9 => 'Weighted Elbow Plank Pike Jacks',
|
|
3722
|
-
10 => 'Elevated Feet Plank',
|
|
3723
|
-
11 => 'Weighted Elevated Feet Plank',
|
|
3724
|
-
12 => 'Elevator Abs',
|
|
3725
|
-
13 => 'Weighted Elevator Abs',
|
|
3726
|
-
14 => 'Extended Plank',
|
|
3727
|
-
15 => 'Weighted Extended Plank',
|
|
3728
|
-
16 => 'Full Plank Passe Twist',
|
|
3729
|
-
17 => 'Weighted Full Plank Passe Twist',
|
|
3730
|
-
18 => 'Inching Elbow Plank',
|
|
3731
|
-
19 => 'Weighted Inching Elbow Plank',
|
|
3732
|
-
20 => 'Inchworm To Side Plank',
|
|
3733
|
-
21 => 'Weighted Inchworm To Side Plank',
|
|
3734
|
-
22 => 'Kneeling Plank',
|
|
3735
|
-
23 => 'Weighted Kneeling Plank',
|
|
3736
|
-
24 => 'Kneeling Side Plank With Leg Lift',
|
|
3737
|
-
25 => 'Weighted Kneeling Side Plank With Leg Lift',
|
|
3738
|
-
26 => 'Lateral Roll',
|
|
3739
|
-
27 => 'Weighted Lateral Roll',
|
|
3740
|
-
28 => 'Lying Reverse Plank',
|
|
3741
|
-
29 => 'Weighted Lying Reverse Plank',
|
|
3742
|
-
30 => 'Medicine Ball Mountain Climber',
|
|
3743
|
-
31 => 'Weighted Medicine Ball Mountain Climber',
|
|
3744
|
-
32 => 'Modified Mountain Climber And Extension',
|
|
3745
|
-
33 => 'Weighted Modified Mountain Climber And Extension',
|
|
3746
|
-
34 => 'Mountain Climber',
|
|
3747
|
-
35 => 'Weighted Mountain Climber',
|
|
3748
|
-
36 => 'Mountain Climber On Sliding Discs',
|
|
3749
|
-
37 => 'Weighted Mountain Climber On Sliding Discs',
|
|
3750
|
-
38 => 'Mountain Climber With Feet On Bosu Ball',
|
|
3751
|
-
39 => 'Weighted Mountain Climber With Feet On Bosu Ball',
|
|
3752
|
-
40 => 'Mountain Climber With Hands On Bench',
|
|
3753
|
-
41 => 'Mountain Climber With Hands On Swiss Ball',
|
|
3754
|
-
42 => 'Weighted Mountain Climber With Hands On Swiss Ball',
|
|
3755
|
-
43 => 'Plank',
|
|
3756
|
-
44 => 'Plank Jacks With Feet On Sliding Discs',
|
|
3757
|
-
45 => 'Weighted Plank Jacks With Feet On Sliding Discs',
|
|
3758
|
-
46 => 'Plank Knee Twist',
|
|
3759
|
-
47 => 'Weighted Plank Knee Twist',
|
|
3760
|
-
48 => 'Plank Pike Jumps',
|
|
3761
|
-
49 => 'Weighted Plank Pike Jumps',
|
|
3762
|
-
50 => 'Plank Pikes',
|
|
3763
|
-
51 => 'Weighted Plank Pikes',
|
|
3764
|
-
52 => 'Plank To Stand Up',
|
|
3765
|
-
53 => 'Weighted Plank To Stand Up',
|
|
3766
|
-
54 => 'Plank With Arm Raise',
|
|
3767
|
-
55 => 'Weighted Plank With Arm Raise',
|
|
3768
|
-
56 => 'Plank With Knee To Elbow',
|
|
3769
|
-
57 => 'Weighted Plank With Knee To Elbow',
|
|
3770
|
-
58 => 'Plank With Oblique Crunch',
|
|
3771
|
-
59 => 'Weighted Plank With Oblique Crunch',
|
|
3772
|
-
60 => 'Plyometric Side Plank',
|
|
3773
|
-
61 => 'Weighted Plyometric Side Plank',
|
|
3774
|
-
62 => 'Rolling Side Plank',
|
|
3775
|
-
63 => 'Weighted Rolling Side Plank',
|
|
3776
|
-
64 => 'Side Kick Plank',
|
|
3777
|
-
65 => 'Weighted Side Kick Plank',
|
|
3778
|
-
66 => 'Side Plank',
|
|
3779
|
-
67 => 'Weighted Side Plank',
|
|
3780
|
-
68 => 'Side Plank And Row',
|
|
3781
|
-
69 => 'Weighted Side Plank And Row',
|
|
3782
|
-
70 => 'Side Plank Lift',
|
|
3783
|
-
71 => 'Weighted Side Plank Lift',
|
|
3784
|
-
72 => 'Side Plank With Elbow On Bosu Ball',
|
|
3785
|
-
73 => 'Weighted Side Plank With Elbow On Bosu Ball',
|
|
3786
|
-
74 => 'Side Plank With Feet On Bench',
|
|
3787
|
-
75 => 'Weighted Side Plank With Feet On Bench',
|
|
3788
|
-
76 => 'Side Plank With Knee Circle',
|
|
3789
|
-
77 => 'Weighted Side Plank With Knee Circle',
|
|
3790
|
-
78 => 'Side Plank With Knee Tuck',
|
|
3791
|
-
79 => 'Weighted Side Plank With Knee Tuck',
|
|
3792
|
-
80 => 'Side Plank With Leg Lift',
|
|
3793
|
-
81 => 'Weighted Side Plank With Leg Lift',
|
|
3794
|
-
82 => 'Side Plank With Reach Under',
|
|
3795
|
-
83 => 'Weighted Side Plank With Reach Under',
|
|
3796
|
-
84 => 'Single Leg Elevated Feet Plank',
|
|
3797
|
-
85 => 'Weighted Single Leg Elevated Feet Plank',
|
|
3798
|
-
86 => 'Single Leg Flex And Extend',
|
|
3799
|
-
87 => 'Weighted Single Leg Flex And Extend',
|
|
3800
|
-
88 => 'Single Leg Side Plank',
|
|
3801
|
-
89 => 'Weighted Single Leg Side Plank',
|
|
3802
|
-
90 => 'Spiderman Plank',
|
|
3803
|
-
91 => 'Weighted Spiderman Plank',
|
|
3804
|
-
92 => 'Straight Arm Plank',
|
|
3805
|
-
93 => 'Weighted Straight Arm Plank',
|
|
3806
|
-
94 => 'Straight Arm Plank With Shoulder Touch',
|
|
3807
|
-
95 => 'Weighted Straight Arm Plank With Shoulder Touch',
|
|
3808
|
-
96 => 'Swiss Ball Plank',
|
|
3809
|
-
97 => 'Weighted Swiss Ball Plank',
|
|
3810
|
-
98 => 'Swiss Ball Plank Leg Lift',
|
|
3811
|
-
99 => 'Weighted Swiss Ball Plank Leg Lift',
|
|
3812
|
-
100 => 'Swiss Ball Plank Leg Lift And Hold',
|
|
3813
|
-
101 => 'Swiss Ball Plank With Feet On Bench',
|
|
3814
|
-
102 => 'Weighted Swiss Ball Plank With Feet On Bench',
|
|
3815
|
-
103 => 'Swiss Ball Prone Jackknife',
|
|
3816
|
-
104 => 'Weighted Swiss Ball Prone Jackknife',
|
|
3817
|
-
105 => 'Swiss Ball Side Plank',
|
|
3818
|
-
106 => 'Weighted Swiss Ball Side Plank',
|
|
3819
|
-
107 => 'Three Way Plank',
|
|
3820
|
-
108 => 'Weighted Three Way Plank',
|
|
3821
|
-
109 => 'Towel Plank And Knee In',
|
|
3822
|
-
110 => 'Weighted Towel Plank And Knee In',
|
|
3823
|
-
111 => 'T Stabilization',
|
|
3824
|
-
112 => 'Weighted T Stabilization',
|
|
3825
|
-
113 => 'Turkish Get Up To Side Plank',
|
|
3826
|
-
114 => 'Weighted Turkish Get Up To Side Plank',
|
|
3827
|
-
115 => 'Two Point Plank',
|
|
3828
|
-
116 => 'Weighted Two Point Plank',
|
|
3829
|
-
117 => 'Weighted Plank',
|
|
3830
|
-
118 => 'Wide Stance Plank With Diagonal Arm Lift',
|
|
3831
|
-
119 => 'Weighted Wide Stance Plank With Diagonal Arm Lift',
|
|
3832
|
-
120 => 'Wide Stance Plank With Diagonal Leg Lift',
|
|
3833
|
-
121 => 'Weighted Wide Stance Plank With Diagonal Leg Lift',
|
|
3834
|
-
122 => 'Wide Stance Plank With Leg Lift',
|
|
3835
|
-
123 => 'Weighted Wide Stance Plank With Leg Lift',
|
|
3836
|
-
124 => 'Wide Stance Plank With Opposite Arm And Leg Lift',
|
|
3837
|
-
125 => 'Weighted Mountain Climber With Hands On Bench',
|
|
3838
|
-
126 => 'Weighted Swiss Ball Plank Leg Lift And Hold',
|
|
3839
|
-
127 => 'Weighted Wide Stance Plank With Opposite Arm And Leg Lift',
|
|
3840
|
-
128 => 'Plank With Feet On Swiss Ball',
|
|
3841
|
-
129 => 'Side Plank To Plank With Reach Under',
|
|
3842
|
-
130 => 'Bridge With Glute Lower Lift',
|
|
3843
|
-
131 => 'Bridge One Leg Bridge',
|
|
3844
|
-
132 => 'Plank With Arm Variations',
|
|
3845
|
-
133 => 'Plank With Leg Lift',
|
|
3846
|
-
134 => 'Reverse Plank With Leg Pull',
|
|
3847
|
-
135 => 'Ring Plank Sprawls',
|
|
3848
|
-
);
|
|
3849
|
-
|
|
3850
|
-
my %plyoExerciseName = (
|
|
3851
|
-
0 => 'Alternating Jump Lunge',
|
|
3852
|
-
1 => 'Weighted Alternating Jump Lunge',
|
|
3853
|
-
2 => 'Barbell Jump Squat',
|
|
3854
|
-
3 => 'Body Weight Jump Squat',
|
|
3855
|
-
4 => 'Weighted Jump Squat',
|
|
3856
|
-
5 => 'Cross Knee Strike',
|
|
3857
|
-
6 => 'Weighted Cross Knee Strike',
|
|
3858
|
-
7 => 'Depth Jump',
|
|
3859
|
-
8 => 'Weighted Depth Jump',
|
|
3860
|
-
9 => 'Dumbbell Jump Squat',
|
|
3861
|
-
10 => 'Dumbbell Split Jump',
|
|
3862
|
-
11 => 'Front Knee Strike',
|
|
3863
|
-
12 => 'Weighted Front Knee Strike',
|
|
3864
|
-
13 => 'High Box Jump',
|
|
3865
|
-
14 => 'Weighted High Box Jump',
|
|
3866
|
-
15 => 'Isometric Explosive Body Weight Jump Squat',
|
|
3867
|
-
16 => 'Weighted Isometric Explosive Jump Squat',
|
|
3868
|
-
17 => 'Lateral Leap And Hop',
|
|
3869
|
-
18 => 'Weighted Lateral Leap And Hop',
|
|
3870
|
-
19 => 'Lateral Plyo Squats',
|
|
3871
|
-
20 => 'Weighted Lateral Plyo Squats',
|
|
3872
|
-
21 => 'Lateral Slide',
|
|
3873
|
-
22 => 'Weighted Lateral Slide',
|
|
3874
|
-
23 => 'Medicine Ball Overhead Throws',
|
|
3875
|
-
24 => 'Medicine Ball Side Throw',
|
|
3876
|
-
25 => 'Medicine Ball Slam',
|
|
3877
|
-
26 => 'Side To Side Medicine Ball Throws',
|
|
3878
|
-
27 => 'Side To Side Shuffle Jump',
|
|
3879
|
-
28 => 'Weighted Side To Side Shuffle Jump',
|
|
3880
|
-
29 => 'Squat Jump Onto Box',
|
|
3881
|
-
30 => 'Weighted Squat Jump Onto Box',
|
|
3882
|
-
31 => 'Squat Jumps In And Out',
|
|
3883
|
-
32 => 'Weighted Squat Jumps In And Out',
|
|
3884
|
-
33 => 'Box Jump',
|
|
3885
|
-
34 => 'Box Jump Overs',
|
|
3886
|
-
35 => 'Box Jump Overs Over The Box',
|
|
3887
|
-
36 => 'Star Jump Squats',
|
|
3888
|
-
37 => 'Jump Squat',
|
|
3889
|
-
);
|
|
3890
|
-
|
|
3891
|
-
my %pullUpExerciseName = (
|
|
3892
|
-
0 => 'Banded Pull Ups',
|
|
3893
|
-
1 => '30 Degree Lat Pulldown',
|
|
3894
|
-
2 => 'Band Assisted Chin Up',
|
|
3895
|
-
3 => 'Close Grip Chin Up',
|
|
3896
|
-
4 => 'Weighted Close Grip Chin Up',
|
|
3897
|
-
5 => 'Close Grip Lat Pulldown',
|
|
3898
|
-
6 => 'Crossover Chin Up',
|
|
3899
|
-
7 => 'Weighted Crossover Chin Up',
|
|
3900
|
-
8 => 'Ez Bar Pullover',
|
|
3901
|
-
9 => 'Hanging Hurdle',
|
|
3902
|
-
10 => 'Weighted Hanging Hurdle',
|
|
3903
|
-
11 => 'Kneeling Lat Pulldown',
|
|
3904
|
-
12 => 'Kneeling Underhand Grip Lat Pulldown',
|
|
3905
|
-
13 => 'Lat Pulldown',
|
|
3906
|
-
14 => 'Mixed Grip Chin Up',
|
|
3907
|
-
15 => 'Weighted Mixed Grip Chin Up',
|
|
3908
|
-
16 => 'Mixed Grip Pull Up',
|
|
3909
|
-
17 => 'Weighted Mixed Grip Pull Up',
|
|
3910
|
-
18 => 'Reverse Grip Pulldown',
|
|
3911
|
-
19 => 'Standing Cable Pullover',
|
|
3912
|
-
20 => 'Straight Arm Pulldown',
|
|
3913
|
-
21 => 'Swiss Ball Ez Bar Pullover',
|
|
3914
|
-
22 => 'Towel Pull Up',
|
|
3915
|
-
23 => 'Weighted Towel Pull Up',
|
|
3916
|
-
24 => 'Weighted Pull Up',
|
|
3917
|
-
25 => 'Wide Grip Lat Pulldown',
|
|
3918
|
-
26 => 'Wide Grip Pull Up',
|
|
3919
|
-
27 => 'Weighted Wide Grip Pull Up',
|
|
3920
|
-
28 => 'Burpee Pull Up',
|
|
3921
|
-
29 => 'Weighted Burpee Pull Up',
|
|
3922
|
-
30 => 'Jumping Pull Ups',
|
|
3923
|
-
31 => 'Weighted Jumping Pull Ups',
|
|
3924
|
-
32 => 'Kipping Pull Up',
|
|
3925
|
-
33 => 'Weighted Kipping Pull Up',
|
|
3926
|
-
34 => 'L Pull Up',
|
|
3927
|
-
35 => 'Weighted L Pull Up',
|
|
3928
|
-
36 => 'Suspended Chin Up',
|
|
3929
|
-
37 => 'Weighted Suspended Chin Up',
|
|
3930
|
-
38 => 'Pull Up',
|
|
3931
|
-
39 => 'Chin Up',
|
|
3932
|
-
40 => 'Neutral Grip Chin Up',
|
|
3933
|
-
41 => 'Weighted Chin Up',
|
|
3934
|
-
42 => 'Band Assisted Pull Up',
|
|
3935
|
-
43 => 'Neutral Grip Pull Up',
|
|
3936
|
-
44 => 'Weighted Neutral Grip Chin Up',
|
|
3937
|
-
45 => 'Weighted Neutral Grip Pull Up',
|
|
3938
|
-
);
|
|
3939
|
-
|
|
3940
|
-
my %pushUpExerciseName = (
|
|
3941
|
-
0 => 'Chest Press With Band',
|
|
3942
|
-
1 => 'Alternating Staggered Push Up',
|
|
3943
|
-
2 => 'Weighted Alternating Staggered Push Up',
|
|
3944
|
-
3 => 'Alternating Hands Medicine Ball Push Up',
|
|
3945
|
-
4 => 'Weighted Alternating Hands Medicine Ball Push Up',
|
|
3946
|
-
5 => 'Bosu Ball Push Up',
|
|
3947
|
-
6 => 'Weighted Bosu Ball Push Up',
|
|
3948
|
-
7 => 'Clapping Push Up',
|
|
3949
|
-
8 => 'Weighted Clapping Push Up',
|
|
3950
|
-
9 => 'Close Grip Medicine Ball Push Up',
|
|
3951
|
-
10 => 'Weighted Close Grip Medicine Ball Push Up',
|
|
3952
|
-
11 => 'Close Hands Push Up',
|
|
3953
|
-
12 => 'Weighted Close Hands Push Up',
|
|
3954
|
-
13 => 'Decline Push Up',
|
|
3955
|
-
14 => 'Weighted Decline Push Up',
|
|
3956
|
-
15 => 'Diamond Push Up',
|
|
3957
|
-
16 => 'Weighted Diamond Push Up',
|
|
3958
|
-
17 => 'Explosive Crossover Push Up',
|
|
3959
|
-
18 => 'Weighted Explosive Crossover Push Up',
|
|
3960
|
-
19 => 'Explosive Push Up',
|
|
3961
|
-
20 => 'Weighted Explosive Push Up',
|
|
3962
|
-
21 => 'Feet Elevated Side To Side Push Up',
|
|
3963
|
-
22 => 'Weighted Feet Elevated Side To Side Push Up',
|
|
3964
|
-
23 => 'Hand Release Push Up',
|
|
3965
|
-
24 => 'Weighted Hand Release Push Up',
|
|
3966
|
-
25 => 'Handstand Push Up',
|
|
3967
|
-
26 => 'Weighted Handstand Push Up',
|
|
3968
|
-
27 => 'Incline Push Up',
|
|
3969
|
-
28 => 'Weighted Incline Push Up',
|
|
3970
|
-
29 => 'Isometric Explosive Push Up',
|
|
3971
|
-
30 => 'Weighted Isometric Explosive Push Up',
|
|
3972
|
-
31 => 'Judo Push Up',
|
|
3973
|
-
32 => 'Weighted Judo Push Up',
|
|
3974
|
-
33 => 'Kneeling Push Up',
|
|
3975
|
-
34 => 'Weighted Kneeling Push Up',
|
|
3976
|
-
35 => 'Medicine Ball Chest Pass',
|
|
3977
|
-
36 => 'Medicine Ball Push Up',
|
|
3978
|
-
37 => 'Weighted Medicine Ball Push Up',
|
|
3979
|
-
38 => 'One Arm Push Up',
|
|
3980
|
-
39 => 'Weighted One Arm Push Up',
|
|
3981
|
-
40 => 'Weighted Push Up',
|
|
3982
|
-
41 => 'Push Up And Row',
|
|
3983
|
-
42 => 'Weighted Push Up And Row',
|
|
3984
|
-
43 => 'Push Up Plus',
|
|
3985
|
-
44 => 'Weighted Push Up Plus',
|
|
3986
|
-
45 => 'Push Up With Feet On Swiss Ball',
|
|
3987
|
-
46 => 'Weighted Push Up With Feet On Swiss Ball',
|
|
3988
|
-
47 => 'Push Up With One Hand On Medicine Ball',
|
|
3989
|
-
48 => 'Weighted Push Up With One Hand On Medicine Ball',
|
|
3990
|
-
49 => 'Shoulder Push Up',
|
|
3991
|
-
50 => 'Weighted Shoulder Push Up',
|
|
3992
|
-
51 => 'Single Arm Medicine Ball Push Up',
|
|
3993
|
-
52 => 'Weighted Single Arm Medicine Ball Push Up',
|
|
3994
|
-
53 => 'Spiderman Push Up',
|
|
3995
|
-
54 => 'Weighted Spiderman Push Up',
|
|
3996
|
-
55 => 'Stacked Feet Push Up',
|
|
3997
|
-
56 => 'Weighted Stacked Feet Push Up',
|
|
3998
|
-
57 => 'Staggered Hands Push Up',
|
|
3999
|
-
58 => 'Weighted Staggered Hands Push Up',
|
|
4000
|
-
59 => 'Suspended Push Up',
|
|
4001
|
-
60 => 'Weighted Suspended Push Up',
|
|
4002
|
-
61 => 'Swiss Ball Push Up',
|
|
4003
|
-
62 => 'Weighted Swiss Ball Push Up',
|
|
4004
|
-
63 => 'Swiss Ball Push Up Plus',
|
|
4005
|
-
64 => 'Weighted Swiss Ball Push Up Plus',
|
|
4006
|
-
65 => 'T Push Up',
|
|
4007
|
-
66 => 'Weighted T Push Up',
|
|
4008
|
-
67 => 'Triple Stop Push Up',
|
|
4009
|
-
68 => 'Weighted Triple Stop Push Up',
|
|
4010
|
-
69 => 'Wide Hands Push Up',
|
|
4011
|
-
70 => 'Weighted Wide Hands Push Up',
|
|
4012
|
-
71 => 'Parallette Handstand Push Up',
|
|
4013
|
-
72 => 'Weighted Parallette Handstand Push Up',
|
|
4014
|
-
73 => 'Ring Handstand Push Up',
|
|
4015
|
-
74 => 'Weighted Ring Handstand Push Up',
|
|
4016
|
-
75 => 'Ring Push Up',
|
|
4017
|
-
76 => 'Weighted Ring Push Up',
|
|
4018
|
-
77 => 'Push Up',
|
|
4019
|
-
78 => 'Pilates Pushup',
|
|
4020
|
-
79 => 'Dynamic Push Up',
|
|
4021
|
-
80 => 'Kipping Handstand Push Up',
|
|
4022
|
-
81 => 'Shoulder Tapping Push Up',
|
|
4023
|
-
82 => 'Biceps Push Up',
|
|
4024
|
-
83 => 'Hindu Push Up',
|
|
4025
|
-
84 => 'Pike Push Up',
|
|
4026
|
-
85 => 'Wide Grip Push Up',
|
|
4027
|
-
86 => 'Weighted Biceps Push Up',
|
|
4028
|
-
87 => 'Weighted Hindu Push Up',
|
|
4029
|
-
88 => 'Weighted Pike Push Up',
|
|
4030
|
-
89 => 'Kipping Parallette Handstand Push Up',
|
|
4031
|
-
90 => 'Wall Push Up',
|
|
4032
|
-
);
|
|
4033
|
-
|
|
4034
|
-
my %rowExerciseName = (
|
|
4035
|
-
0 => 'Barbell Straight Leg Deadlift To Row',
|
|
4036
|
-
1 => 'Cable Row Standing',
|
|
4037
|
-
2 => 'Dumbbell Row',
|
|
4038
|
-
3 => 'Elevated Feet Inverted Row',
|
|
4039
|
-
4 => 'Weighted Elevated Feet Inverted Row',
|
|
4040
|
-
5 => 'Face Pull',
|
|
4041
|
-
6 => 'Face Pull With External Rotation',
|
|
4042
|
-
7 => 'Inverted Row With Feet On Swiss Ball',
|
|
4043
|
-
8 => 'Weighted Inverted Row With Feet On Swiss Ball',
|
|
4044
|
-
9 => 'Kettlebell Row',
|
|
4045
|
-
10 => 'Modified Inverted Row',
|
|
4046
|
-
11 => 'Weighted Modified Inverted Row',
|
|
4047
|
-
12 => 'Neutral Grip Alternating Dumbbell Row',
|
|
4048
|
-
13 => 'One Arm Bent Over Row',
|
|
4049
|
-
14 => 'One Legged Dumbbell Row',
|
|
4050
|
-
15 => 'Renegade Row',
|
|
4051
|
-
16 => 'Reverse Grip Barbell Row',
|
|
4052
|
-
17 => 'Rope Handle Cable Row',
|
|
4053
|
-
18 => 'Seated Cable Row',
|
|
4054
|
-
19 => 'Seated Dumbbell Row',
|
|
4055
|
-
20 => 'Single Arm Cable Row',
|
|
4056
|
-
21 => 'Single Arm Cable Row And Rotation',
|
|
4057
|
-
22 => 'Single Arm Inverted Row',
|
|
4058
|
-
23 => 'Weighted Single Arm Inverted Row',
|
|
4059
|
-
24 => 'Single Arm Neutral Grip Dumbbell Row',
|
|
4060
|
-
25 => 'Single Arm Neutral Grip Dumbbell Row And Rotation',
|
|
4061
|
-
26 => 'Suspended Inverted Row',
|
|
4062
|
-
27 => 'Weighted Suspended Inverted Row',
|
|
4063
|
-
28 => 'T Bar Row',
|
|
4064
|
-
29 => 'Towel Grip Inverted Row',
|
|
4065
|
-
30 => 'Weighted Towel Grip Inverted Row',
|
|
4066
|
-
31 => 'Underhand Grip Cable Row',
|
|
4067
|
-
32 => 'V Grip Cable Row',
|
|
4068
|
-
33 => 'Wide Grip Seated Cable Row',
|
|
4069
|
-
34 => 'Alternating Dumbbell Row',
|
|
4070
|
-
35 => 'Inverted Row',
|
|
4071
|
-
36 => 'Row',
|
|
4072
|
-
37 => 'Weighted Row',
|
|
4073
|
-
38 => 'Indoor Row',
|
|
4074
|
-
39 => 'Banded Face Pulls',
|
|
4075
|
-
40 => 'Chest Supported Dumbbell Row',
|
|
4076
|
-
41 => 'Decline Ring Row',
|
|
4077
|
-
42 => 'Elevated Ring Row',
|
|
4078
|
-
43 => 'Rdl Bent Over Row With Barbell Dumbbell',
|
|
4079
|
-
44 => 'Ring Row',
|
|
4080
|
-
45 => 'Barbell Row',
|
|
4081
|
-
46 => 'Bent Over Row With Barbell',
|
|
4082
|
-
47 => 'Bent Over Row With Dumbell',
|
|
4083
|
-
48 => 'Seated Underhand Grip Cable Row',
|
|
4084
|
-
49 => 'Trx Inverted Row',
|
|
4085
|
-
50 => 'Weighted Inverted Row',
|
|
4086
|
-
51 => 'Weighted Trx Inverted Row',
|
|
4087
|
-
52 => 'Dumbbell Row Wheelchair',
|
|
4088
|
-
);
|
|
4089
|
-
|
|
4090
|
-
my %shoulderPressExerciseName = (
|
|
4091
|
-
0 => 'Alternating Dumbbell Shoulder Press',
|
|
4092
|
-
1 => 'Arnold Press',
|
|
4093
|
-
2 => 'Barbell Front Squat To Push Press',
|
|
4094
|
-
3 => 'Barbell Push Press',
|
|
4095
|
-
4 => 'Barbell Shoulder Press',
|
|
4096
|
-
5 => 'Dead Curl Press',
|
|
4097
|
-
6 => 'Dumbbell Alternating Shoulder Press And Twist',
|
|
4098
|
-
7 => 'Dumbbell Hammer Curl To Lunge To Press',
|
|
4099
|
-
8 => 'Dumbbell Push Press',
|
|
4100
|
-
9 => 'Floor Inverted Shoulder Press',
|
|
4101
|
-
10 => 'Weighted Floor Inverted Shoulder Press',
|
|
4102
|
-
11 => 'Inverted Shoulder Press',
|
|
4103
|
-
12 => 'Weighted Inverted Shoulder Press',
|
|
4104
|
-
13 => 'One Arm Push Press',
|
|
4105
|
-
14 => 'Overhead Barbell Press',
|
|
4106
|
-
15 => 'Overhead Dumbbell Press',
|
|
4107
|
-
16 => 'Seated Barbell Shoulder Press',
|
|
4108
|
-
17 => 'Seated Dumbbell Shoulder Press',
|
|
4109
|
-
18 => 'Single Arm Dumbbell Shoulder Press',
|
|
4110
|
-
19 => 'Single Arm Step Up And Press',
|
|
4111
|
-
20 => 'Smith Machine Overhead Press',
|
|
4112
|
-
21 => 'Split Stance Hammer Curl To Press',
|
|
4113
|
-
22 => 'Swiss Ball Dumbbell Shoulder Press',
|
|
4114
|
-
23 => 'Weight Plate Front Raise',
|
|
4115
|
-
24 => 'Dumbbell Shoulder Press',
|
|
4116
|
-
25 => 'Military Press',
|
|
4117
|
-
27 => 'Strict Press',
|
|
4118
|
-
28 => 'Dumbbell Front Raise',
|
|
4119
|
-
29 => 'Dumbbell Curl To Overhead Press Wheelchair',
|
|
4120
|
-
30 => 'Arnold Press Wheelchair',
|
|
4121
|
-
31 => 'Overhead Dumbbell Press Wheelchair',
|
|
4122
|
-
);
|
|
4123
|
-
|
|
4124
|
-
my %shoulderStabilityExerciseName = (
|
|
4125
|
-
0 => '90 Degree Cable External Rotation',
|
|
4126
|
-
1 => 'Band External Rotation',
|
|
4127
|
-
2 => 'Band Internal Rotation',
|
|
4128
|
-
3 => 'Bent Arm Lateral Raise And External Rotation',
|
|
4129
|
-
4 => 'Cable External Rotation',
|
|
4130
|
-
5 => 'Dumbbell Face Pull With External Rotation',
|
|
4131
|
-
6 => 'Floor I Raise',
|
|
4132
|
-
7 => 'Weighted Floor I Raise',
|
|
4133
|
-
8 => 'Floor T Raise',
|
|
4134
|
-
9 => 'Weighted Floor T Raise',
|
|
4135
|
-
10 => 'Floor Y Raise',
|
|
4136
|
-
11 => 'Weighted Floor Y Raise',
|
|
4137
|
-
12 => 'Incline I Raise',
|
|
4138
|
-
13 => 'Weighted Incline I Raise',
|
|
4139
|
-
14 => 'Incline L Raise',
|
|
4140
|
-
15 => 'Weighted Incline L Raise',
|
|
4141
|
-
16 => 'Incline T Raise',
|
|
4142
|
-
17 => 'Weighted Incline T Raise',
|
|
4143
|
-
18 => 'Incline W Raise',
|
|
4144
|
-
19 => 'Weighted Incline W Raise',
|
|
4145
|
-
20 => 'Incline Y Raise',
|
|
4146
|
-
21 => 'Weighted Incline Y Raise',
|
|
4147
|
-
22 => 'Lying External Rotation',
|
|
4148
|
-
23 => 'Seated Dumbbell External Rotation',
|
|
4149
|
-
24 => 'Standing L Raise',
|
|
4150
|
-
25 => 'Swiss Ball I Raise',
|
|
4151
|
-
26 => 'Weighted Swiss Ball I Raise',
|
|
4152
|
-
27 => 'Swiss Ball T Raise',
|
|
4153
|
-
28 => 'Weighted Swiss Ball T Raise',
|
|
4154
|
-
29 => 'Swiss Ball W Raise',
|
|
4155
|
-
30 => 'Weighted Swiss Ball W Raise',
|
|
4156
|
-
31 => 'Swiss Ball Y Raise',
|
|
4157
|
-
32 => 'Weighted Swiss Ball Y Raise',
|
|
4158
|
-
33 => 'Cable Internal Rotation',
|
|
4159
|
-
34 => 'Lying Internal Rotation',
|
|
4160
|
-
35 => 'Seated Dumbbell Internal Rotation',
|
|
4161
|
-
);
|
|
4162
|
-
|
|
4163
|
-
my %shrugExerciseName = (
|
|
4164
|
-
0 => 'Barbell Jump Shrug',
|
|
4165
|
-
1 => 'Barbell Shrug',
|
|
4166
|
-
2 => 'Barbell Upright Row',
|
|
4167
|
-
3 => 'Behind The Back Smith Machine Shrug',
|
|
4168
|
-
4 => 'Dumbbell Jump Shrug',
|
|
4169
|
-
5 => 'Dumbbell Shrug',
|
|
4170
|
-
6 => 'Dumbbell Upright Row',
|
|
4171
|
-
7 => 'Incline Dumbbell Shrug',
|
|
4172
|
-
8 => 'Overhead Barbell Shrug',
|
|
4173
|
-
9 => 'Overhead Dumbbell Shrug',
|
|
4174
|
-
10 => 'Scaption And Shrug',
|
|
4175
|
-
11 => 'Scapular Retraction',
|
|
4176
|
-
12 => 'Serratus Chair Shrug',
|
|
4177
|
-
13 => 'Weighted Serratus Chair Shrug',
|
|
4178
|
-
14 => 'Serratus Shrug',
|
|
4179
|
-
15 => 'Weighted Serratus Shrug',
|
|
4180
|
-
16 => 'Wide Grip Jump Shrug',
|
|
4181
|
-
17 => 'Wide Grip Barbell Shrug',
|
|
4182
|
-
18 => 'Behind The Back Shrug',
|
|
4183
|
-
19 => 'Dumbbell Shrug Wheelchair',
|
|
4184
|
-
20 => 'Shrug Wheelchair',
|
|
4185
|
-
21 => 'Shrug Arm Down Wheelchair',
|
|
4186
|
-
22 => 'Shrug Arm Mid Wheelchair',
|
|
4187
|
-
23 => 'Shrug Arm Up Wheelchair',
|
|
4188
|
-
24 => 'Upright Row',
|
|
4189
|
-
);
|
|
4190
|
-
|
|
4191
|
-
my %sitUpExerciseName = (
|
|
4192
|
-
0 => 'Alternating Sit Up',
|
|
4193
|
-
1 => 'Weighted Alternating Sit Up',
|
|
4194
|
-
2 => 'Bent Knee V Up',
|
|
4195
|
-
3 => 'Weighted Bent Knee V Up',
|
|
4196
|
-
4 => 'Butterfly Sit Up',
|
|
4197
|
-
5 => 'Weighted Butterfly Situp',
|
|
4198
|
-
6 => 'Cross Punch Roll Up',
|
|
4199
|
-
7 => 'Weighted Cross Punch Roll Up',
|
|
4200
|
-
8 => 'Crossed Arms Sit Up',
|
|
4201
|
-
9 => 'Weighted Crossed Arms Sit Up',
|
|
4202
|
-
10 => 'Get Up Sit Up',
|
|
4203
|
-
11 => 'Weighted Get Up Sit Up',
|
|
4204
|
-
12 => 'Hovering Sit Up',
|
|
4205
|
-
13 => 'Weighted Hovering Sit Up',
|
|
4206
|
-
14 => 'Kettlebell Sit Up',
|
|
4207
|
-
15 => 'Medicine Ball Alternating V Up',
|
|
4208
|
-
16 => 'Medicine Ball Sit Up',
|
|
4209
|
-
17 => 'Medicine Ball V Up',
|
|
4210
|
-
18 => 'Modified Sit Up',
|
|
4211
|
-
19 => 'Negative Sit Up',
|
|
4212
|
-
20 => 'One Arm Full Sit Up',
|
|
4213
|
-
21 => 'Reclining Circle',
|
|
4214
|
-
22 => 'Weighted Reclining Circle',
|
|
4215
|
-
23 => 'Reverse Curl Up',
|
|
4216
|
-
24 => 'Weighted Reverse Curl Up',
|
|
4217
|
-
25 => 'Single Leg Swiss Ball Jackknife',
|
|
4218
|
-
26 => 'Weighted Single Leg Swiss Ball Jackknife',
|
|
4219
|
-
27 => 'The Teaser',
|
|
4220
|
-
28 => 'The Teaser Weighted',
|
|
4221
|
-
29 => 'Three Part Roll Down',
|
|
4222
|
-
30 => 'Weighted Three Part Roll Down',
|
|
4223
|
-
31 => 'V Up',
|
|
4224
|
-
32 => 'Weighted V Up',
|
|
4225
|
-
33 => 'Weighted Russian Twist On Swiss Ball',
|
|
4226
|
-
34 => 'Weighted Sit Up',
|
|
4227
|
-
35 => 'X Abs',
|
|
4228
|
-
36 => 'Weighted X Abs',
|
|
4229
|
-
37 => 'Sit Up',
|
|
4230
|
-
38 => 'Ghd Sit Ups',
|
|
4231
|
-
39 => 'Sit Up Turkish Get Up',
|
|
4232
|
-
40 => 'Russian Twist On Swiss Ball',
|
|
4233
|
-
);
|
|
4234
|
-
|
|
4235
|
-
my %squatExerciseName = (
|
|
4236
|
-
0 => 'Leg Press',
|
|
4237
|
-
1 => 'Back Squat With Body Bar',
|
|
4238
|
-
2 => 'Back Squats',
|
|
4239
|
-
3 => 'Weighted Back Squats',
|
|
4240
|
-
4 => 'Balancing Squat',
|
|
4241
|
-
5 => 'Weighted Balancing Squat',
|
|
4242
|
-
6 => 'Barbell Back Squat',
|
|
4243
|
-
7 => 'Barbell Box Squat',
|
|
4244
|
-
8 => 'Barbell Front Squat',
|
|
4245
|
-
9 => 'Barbell Hack Squat',
|
|
4246
|
-
10 => 'Barbell Hang Squat Snatch',
|
|
4247
|
-
11 => 'Barbell Lateral Step Up',
|
|
4248
|
-
12 => 'Barbell Quarter Squat',
|
|
4249
|
-
13 => 'Barbell Siff Squat',
|
|
4250
|
-
14 => 'Barbell Squat Snatch',
|
|
4251
|
-
15 => 'Barbell Squat With Heels Raised',
|
|
4252
|
-
16 => 'Barbell Stepover',
|
|
4253
|
-
17 => 'Barbell Step Up',
|
|
4254
|
-
18 => 'Bench Squat With Rotational Chop',
|
|
4255
|
-
19 => 'Weighted Bench Squat With Rotational Chop',
|
|
4256
|
-
20 => 'Body Weight Wall Squat',
|
|
4257
|
-
21 => 'Weighted Wall Squat',
|
|
4258
|
-
22 => 'Box Step Squat',
|
|
4259
|
-
23 => 'Weighted Box Step Squat',
|
|
4260
|
-
24 => 'Braced Squat',
|
|
4261
|
-
25 => 'Crossed Arm Barbell Front Squat',
|
|
4262
|
-
26 => 'Crossover Dumbbell Step Up',
|
|
4263
|
-
27 => 'Dumbbell Front Squat',
|
|
4264
|
-
28 => 'Dumbbell Split Squat',
|
|
4265
|
-
29 => 'Dumbbell Squat',
|
|
4266
|
-
30 => 'Dumbbell Squat Clean',
|
|
4267
|
-
31 => 'Dumbbell Stepover',
|
|
4268
|
-
32 => 'Dumbbell Step Up',
|
|
4269
|
-
33 => 'Elevated Single Leg Squat',
|
|
4270
|
-
34 => 'Weighted Elevated Single Leg Squat',
|
|
4271
|
-
35 => 'Figure Four Squats',
|
|
4272
|
-
36 => 'Weighted Figure Four Squats',
|
|
4273
|
-
37 => 'Goblet Squat',
|
|
4274
|
-
38 => 'Kettlebell Squat',
|
|
4275
|
-
39 => 'Kettlebell Swing Overhead',
|
|
4276
|
-
40 => 'Kettlebell Swing With Flip To Squat',
|
|
4277
|
-
41 => 'Lateral Dumbbell Step Up',
|
|
4278
|
-
42 => 'One Legged Squat',
|
|
4279
|
-
43 => 'Overhead Dumbbell Squat',
|
|
4280
|
-
44 => 'Overhead Squat',
|
|
4281
|
-
45 => 'Partial Single Leg Squat',
|
|
4282
|
-
46 => 'Weighted Partial Single Leg Squat',
|
|
4283
|
-
47 => 'Pistol Squat',
|
|
4284
|
-
48 => 'Weighted Pistol Squat',
|
|
4285
|
-
49 => 'Plie Slides',
|
|
4286
|
-
50 => 'Weighted Plie Slides',
|
|
4287
|
-
51 => 'Plie Squat',
|
|
4288
|
-
52 => 'Weighted Plie Squat',
|
|
4289
|
-
53 => 'Prisoner Squat',
|
|
4290
|
-
54 => 'Weighted Prisoner Squat',
|
|
4291
|
-
55 => 'Single Leg Bench Get Up',
|
|
4292
|
-
56 => 'Weighted Single Leg Bench Get Up',
|
|
4293
|
-
57 => 'Single Leg Bench Squat',
|
|
4294
|
-
58 => 'Weighted Single Leg Bench Squat',
|
|
4295
|
-
59 => 'Single Leg Squat On Swiss Ball',
|
|
4296
|
-
60 => 'Weighted Single Leg Squat On Swiss Ball',
|
|
4297
|
-
61 => 'Squat',
|
|
4298
|
-
62 => 'Weighted Squat',
|
|
4299
|
-
63 => 'Squats With Band',
|
|
4300
|
-
64 => 'Staggered Squat',
|
|
4301
|
-
65 => 'Weighted Staggered Squat',
|
|
4302
|
-
66 => 'Step Up',
|
|
4303
|
-
67 => 'Weighted Step Up',
|
|
4304
|
-
68 => 'Suitcase Squats',
|
|
4305
|
-
69 => 'Sumo Squat',
|
|
4306
|
-
70 => 'Sumo Squat Slide In',
|
|
4307
|
-
71 => 'Weighted Sumo Squat Slide In',
|
|
4308
|
-
72 => 'Sumo Squat To High Pull',
|
|
4309
|
-
73 => 'Sumo Squat To Stand',
|
|
4310
|
-
74 => 'Weighted Sumo Squat To Stand',
|
|
4311
|
-
75 => 'Sumo Squat With Rotation',
|
|
4312
|
-
76 => 'Weighted Sumo Squat With Rotation',
|
|
4313
|
-
77 => 'Swiss Ball Body Weight Wall Squat',
|
|
4314
|
-
78 => 'Weighted Swiss Ball Wall Squat',
|
|
4315
|
-
79 => 'Thrusters',
|
|
4316
|
-
80 => 'Uneven Squat',
|
|
4317
|
-
81 => 'Weighted Uneven Squat',
|
|
4318
|
-
82 => 'Waist Slimming Squat',
|
|
4319
|
-
83 => 'Wall Ball',
|
|
4320
|
-
84 => 'Wide Stance Barbell Squat',
|
|
4321
|
-
85 => 'Wide Stance Goblet Squat',
|
|
4322
|
-
86 => 'Zercher Squat',
|
|
4323
|
-
87 => 'Kbs Overhead',
|
|
4324
|
-
88 => 'Squat And Side Kick',
|
|
4325
|
-
89 => 'Squat Jumps In N Out',
|
|
4326
|
-
90 => 'Pilates Plie Squats Parallel Turned Out Flat And Heels',
|
|
4327
|
-
91 => 'Releve Straight Leg And Knee Bent With One Leg Variation',
|
|
4328
|
-
92 => 'Alternating Box Dumbbell Step Ups',
|
|
4329
|
-
93 => 'Dumbbell Overhead Squat Single Arm',
|
|
4330
|
-
94 => 'Dumbbell Squat Snatch',
|
|
4331
|
-
95 => 'Medicine Ball Squat',
|
|
4332
|
-
97 => 'Wall Ball Squat And Press',
|
|
4333
|
-
98 => 'Squat American Swing',
|
|
4334
|
-
100 => 'Air Squat',
|
|
4335
|
-
101 => 'Dumbbell Thrusters',
|
|
4336
|
-
102 => 'Overhead Barbell Squat',
|
|
4337
|
-
);
|
|
4338
|
-
|
|
4339
|
-
my %totalBodyExerciseName = (
|
|
4340
|
-
0 => 'Burpee',
|
|
4341
|
-
1 => 'Weighted Burpee',
|
|
4342
|
-
2 => 'Burpee Box Jump',
|
|
4343
|
-
3 => 'Weighted Burpee Box Jump',
|
|
4344
|
-
4 => 'High Pull Burpee',
|
|
4345
|
-
5 => 'Man Makers',
|
|
4346
|
-
6 => 'One Arm Burpee',
|
|
4347
|
-
7 => 'Squat Thrusts',
|
|
4348
|
-
8 => 'Weighted Squat Thrusts',
|
|
4349
|
-
9 => 'Squat Plank Push Up',
|
|
4350
|
-
10 => 'Weighted Squat Plank Push Up',
|
|
4351
|
-
11 => 'Standing T Rotation Balance',
|
|
4352
|
-
12 => 'Weighted Standing T Rotation Balance',
|
|
4353
|
-
13 => 'Barbell Burpee',
|
|
4354
|
-
15 => 'Burpee Box Jump Over Yes Literally Jumping Over The Box',
|
|
4355
|
-
16 => 'Burpee Box Jump Step Up Over',
|
|
4356
|
-
17 => 'Lateral Barbell Burpee',
|
|
4357
|
-
18 => 'Total Body Burpee Over Bar',
|
|
4358
|
-
19 => 'Burpee Box Jump Over',
|
|
4359
|
-
20 => 'Burpee Wheelchair',
|
|
4360
|
-
);
|
|
4361
|
-
|
|
4362
|
-
my %moveExerciseName = (
|
|
4363
|
-
0 => 'Arch And Curl',
|
|
4364
|
-
1 => 'Arm Circles With Ball Band And Weight',
|
|
4365
|
-
2 => 'Arm Stretch',
|
|
4366
|
-
3 => 'Back Massage',
|
|
4367
|
-
4 => 'Belly Breathing',
|
|
4368
|
-
5 => 'Bridge With Ball',
|
|
4369
|
-
6 => 'Diamond Leg Crunch',
|
|
4370
|
-
7 => 'Diamond Leg Lift',
|
|
4371
|
-
8 => 'Eight Point Shoulder Opener',
|
|
4372
|
-
9 => 'Foot Rolling',
|
|
4373
|
-
10 => 'Footwork',
|
|
4374
|
-
11 => 'Footwork On Disc',
|
|
4375
|
-
12 => 'Forward Fold',
|
|
4376
|
-
13 => 'Frog With Band',
|
|
4377
|
-
14 => 'Half Roll Up',
|
|
4378
|
-
15 => 'Hamstring Curl',
|
|
4379
|
-
16 => 'Hamstring Stretch',
|
|
4380
|
-
17 => 'Hip Stretch',
|
|
4381
|
-
18 => 'Hug A Tree With Ball Band And Weight',
|
|
4382
|
-
19 => 'Knee Circles',
|
|
4383
|
-
20 => 'Knee Folds On Disc',
|
|
4384
|
-
21 => 'Lateral Flexion',
|
|
4385
|
-
22 => 'Leg Stretch With Band',
|
|
4386
|
-
23 => 'Leg Stretch With Leg Circles',
|
|
4387
|
-
24 => 'Lower Lift On Disc',
|
|
4388
|
-
25 => 'Lunge Squat',
|
|
4389
|
-
26 => 'Lunges With Knee Lift',
|
|
4390
|
-
27 => 'Mermaid Stretch',
|
|
4391
|
-
28 => 'Neutral Pelvic Position',
|
|
4392
|
-
29 => 'Pelvic Clocks On Disc',
|
|
4393
|
-
30 => 'Pilates Plie Squats Parallel Turned Out Flat And Heels With Chair',
|
|
4394
|
-
31 => 'Piriformis Stretch',
|
|
4395
|
-
32 => 'Plank Knee Crosses',
|
|
4396
|
-
33 => 'Plank Knee Pulls',
|
|
4397
|
-
34 => 'Plank Up Downs',
|
|
4398
|
-
35 => 'Prayer Mudra',
|
|
4399
|
-
36 => 'Psoas Lunge Stretch',
|
|
4400
|
-
37 => 'Ribcage Breathing',
|
|
4401
|
-
38 => 'Roll Down',
|
|
4402
|
-
39 => 'Roll Up With Weight And Band',
|
|
4403
|
-
40 => 'Saw',
|
|
4404
|
-
41 => 'Scapular Stabilization',
|
|
4405
|
-
42 => 'Scissors On Disc',
|
|
4406
|
-
43 => 'Seated Hip Stretchup',
|
|
4407
|
-
44 => 'Seated Twist',
|
|
4408
|
-
45 => 'Shaving The Head With Ball Band And Weight',
|
|
4409
|
-
46 => 'Spinal Twist',
|
|
4410
|
-
47 => 'Spinal Twist Stretch',
|
|
4411
|
-
48 => 'Spine Stretch Forward',
|
|
4412
|
-
49 => 'Squat Open Arm Twist Pose',
|
|
4413
|
-
50 => 'Squats With Ball',
|
|
4414
|
-
51 => 'Stand And Hang',
|
|
4415
|
-
52 => 'Standing Side Stretch',
|
|
4416
|
-
53 => 'Standing Single Leg Forward Bend With It Band Opener',
|
|
4417
|
-
54 => 'Straight Leg Crunch With Leg Lift',
|
|
4418
|
-
55 => 'Straight Leg Crunch With Leg Lift With Ball',
|
|
4419
|
-
56 => 'Straight Leg Crunch With Legs Crossed',
|
|
4420
|
-
57 => 'Straight Leg Crunch With Legs Crossed With Ball',
|
|
4421
|
-
58 => 'Straight Leg Diagonal Crunch',
|
|
4422
|
-
59 => 'Straight Leg Diagonal Crunch With Ball',
|
|
4423
|
-
60 => 'Tailbone Curl',
|
|
4424
|
-
61 => 'Throat Lock',
|
|
4425
|
-
62 => 'Tick Tock Side Roll',
|
|
4426
|
-
63 => 'Twist',
|
|
4427
|
-
64 => 'V Leg Crunches',
|
|
4428
|
-
65 => 'V Sit',
|
|
4429
|
-
66 => 'Forward Fold Wheelchair',
|
|
4430
|
-
67 => 'Forward Fold Plus Wheelchair',
|
|
4431
|
-
68 => 'Arm Circles Low Forward Wheelchair',
|
|
4432
|
-
69 => 'Arm Circles Mid Forward Wheelchair',
|
|
4433
|
-
70 => 'Arm Circles High Forward Wheelchair',
|
|
4434
|
-
71 => 'Arm Circles Low Backward Wheelchair',
|
|
4435
|
-
72 => 'Arm Circles Mid Backward Wheelchair',
|
|
4436
|
-
73 => 'Arm Circles High Backward Wheelchair',
|
|
4437
|
-
74 => 'Core Twists Wheelchair',
|
|
4438
|
-
75 => 'Arm Raise Wheelchair',
|
|
4439
|
-
76 => 'Chest Expand Wheelchair',
|
|
4440
|
-
77 => 'Arm Extend Wheelchair',
|
|
4441
|
-
78 => 'Forward Bend Wheelchair',
|
|
4442
|
-
79 => 'Toe Touch Wheelchair',
|
|
4443
|
-
80 => 'Extended Toe Touch Wheelchair',
|
|
4444
|
-
81 => 'Seated Arm Circles',
|
|
4445
|
-
82 => 'Trunk Rotations',
|
|
4446
|
-
83 => 'Seated Trunk Rotations',
|
|
4447
|
-
84 => 'Toe Touch',
|
|
4448
|
-
);
|
|
4449
|
-
|
|
4450
|
-
my %poseExerciseName = (
|
|
4451
|
-
0 => 'All Fours',
|
|
4452
|
-
1 => 'Ankle To Knee',
|
|
4453
|
-
2 => 'Baby Cobra',
|
|
4454
|
-
3 => 'Boat',
|
|
4455
|
-
4 => 'Bound Angle',
|
|
4456
|
-
5 => 'Bound Seated Single Leg Forward Bend',
|
|
4457
|
-
6 => 'Bow',
|
|
4458
|
-
7 => 'Bowed Half Moon',
|
|
4459
|
-
8 => 'Bridge',
|
|
4460
|
-
9 => 'Cat',
|
|
4461
|
-
10 => 'Chair',
|
|
4462
|
-
11 => 'Childs',
|
|
4463
|
-
12 => 'Corpse',
|
|
4464
|
-
13 => 'Cow Face',
|
|
4465
|
-
14 => 'Cow',
|
|
4466
|
-
15 => 'Devotional Warrior',
|
|
4467
|
-
16 => 'Dolphin Plank',
|
|
4468
|
-
17 => 'Dolphin',
|
|
4469
|
-
18 => 'Down Dog Knee To Nose',
|
|
4470
|
-
19 => 'Down Dog Split',
|
|
4471
|
-
20 => 'Down Dog Split Open Hip Bent Knee',
|
|
4472
|
-
21 => 'Downward Facing Dog',
|
|
4473
|
-
22 => 'Eagle',
|
|
4474
|
-
23 => 'Easy Seated',
|
|
4475
|
-
24 => 'Extended Puppy',
|
|
4476
|
-
25 => 'Extended Side Angle',
|
|
4477
|
-
26 => 'Fish',
|
|
4478
|
-
27 => 'Four Limbed Staff',
|
|
4479
|
-
28 => 'Full Split',
|
|
4480
|
-
29 => 'Gate',
|
|
4481
|
-
30 => 'Half Chair Half Ankle To Knee',
|
|
4482
|
-
31 => 'Half Moon',
|
|
4483
|
-
32 => 'Head To Knee',
|
|
4484
|
-
33 => 'Heron',
|
|
4485
|
-
34 => 'Heros',
|
|
4486
|
-
35 => 'High Lunge',
|
|
4487
|
-
36 => 'Knees Chest Chin',
|
|
4488
|
-
37 => 'Lizard',
|
|
4489
|
-
38 => 'Locust',
|
|
4490
|
-
39 => 'Low Lunge',
|
|
4491
|
-
40 => 'Low Lunge Twist',
|
|
4492
|
-
41 => 'Low Lunge With Knee Down',
|
|
4493
|
-
42 => 'Mermaid',
|
|
4494
|
-
43 => 'Mountain',
|
|
4495
|
-
44 => 'One Legged Downward Facing Pose Open Hip Bent Knee',
|
|
4496
|
-
45 => 'One Legged Pigeon',
|
|
4497
|
-
46 => 'Peaceful Warrior',
|
|
4498
|
-
47 => 'Plank',
|
|
4499
|
-
48 => 'Plow',
|
|
4500
|
-
49 => 'Reclined Hand To Foot',
|
|
4501
|
-
50 => 'Revolved Half Moon',
|
|
4502
|
-
51 => 'Revolved Head To Knee',
|
|
4503
|
-
52 => 'Revolved Triangle',
|
|
4504
|
-
53 => 'Runners Lunge',
|
|
4505
|
-
54 => 'Seated Easy Side Bend',
|
|
4506
|
-
55 => 'Seated Easy Twist',
|
|
4507
|
-
56 => 'Seated Long Leg Forward Bend',
|
|
4508
|
-
57 => 'Seated Wide Leg Forward Bend',
|
|
4509
|
-
58 => 'Shoulder Stand',
|
|
4510
|
-
59 => 'Side Boat',
|
|
4511
|
-
60 => 'Side Plank',
|
|
4512
|
-
61 => 'Sphinx',
|
|
4513
|
-
62 => 'Squat Open Arm Twist',
|
|
4514
|
-
63 => 'Squat Palm Press',
|
|
4515
|
-
64 => 'Staff',
|
|
4516
|
-
65 => 'Standing Arms Up',
|
|
4517
|
-
66 => 'Standing Forward Bend Halfway Up',
|
|
4518
|
-
67 => 'Standing Forward Bend',
|
|
4519
|
-
68 => 'Standing Side Opener',
|
|
4520
|
-
69 => 'Standing Single Leg Forward Bend',
|
|
4521
|
-
70 => 'Standing Split',
|
|
4522
|
-
71 => 'Standing Wide Leg Forward Bend',
|
|
4523
|
-
72 => 'Standing Wide Leg Forward Bend With Twist',
|
|
4524
|
-
73 => 'Supine Spinal Twist',
|
|
4525
|
-
74 => 'Table Top',
|
|
4526
|
-
75 => 'Thread The Needle',
|
|
4527
|
-
76 => 'Thunderbolt',
|
|
4528
|
-
77 => 'Thunderbolt Pose Both Sides Arm Stretch',
|
|
4529
|
-
78 => 'Tree',
|
|
4530
|
-
79 => 'Triangle',
|
|
4531
|
-
80 => 'Up Dog',
|
|
4532
|
-
81 => 'Upward Facing Plank',
|
|
4533
|
-
82 => 'Warrior One',
|
|
4534
|
-
83 => 'Warrior Three',
|
|
4535
|
-
84 => 'Warrior Two',
|
|
4536
|
-
85 => 'Wheel',
|
|
4537
|
-
86 => 'Wide Side Lunge',
|
|
4538
|
-
87 => 'Deep Breathing Wheelchair',
|
|
4539
|
-
88 => 'Deep Breathing Low Wheelchair',
|
|
4540
|
-
89 => 'Deep Breathing Mid Wheelchair',
|
|
4541
|
-
90 => 'Deep Breathing High Wheelchair',
|
|
4542
|
-
91 => 'Prayer Wheelchair',
|
|
4543
|
-
92 => 'Overhead Prayer Wheelchair',
|
|
4544
|
-
93 => 'Cactus Wheelchair',
|
|
4545
|
-
94 => 'Breathing Punches Wheelchair',
|
|
4546
|
-
95 => 'Breathing Punches Extended Wheelchair',
|
|
4547
|
-
96 => 'Breathing Punches Overhead Wheelchair',
|
|
4548
|
-
97 => 'Breathing Punches Overhead And Down Wheelchair',
|
|
4549
|
-
98 => 'Breathing Punches Side Wheelchair',
|
|
4550
|
-
99 => 'Breathing Punches Extended Side Wheelchair',
|
|
4551
|
-
100 => 'Breathing Punches Overhead Side Wheelchair',
|
|
4552
|
-
101 => 'Breathing Punches Overhead And Down Side Wheelchair',
|
|
4553
|
-
102 => 'Left Hand Back Wheelchair',
|
|
4554
|
-
103 => 'Triangle Wheelchair',
|
|
4555
|
-
104 => 'Thread The Needle Wheelchair',
|
|
4556
|
-
105 => 'Neck Flexion And Extension Wheelchair',
|
|
4557
|
-
106 => 'Neck Lateral Flexion Wheelchair',
|
|
4558
|
-
107 => 'Spine Flexion And Extension Wheelchair',
|
|
4559
|
-
108 => 'Spine Rotation Wheelchair',
|
|
4560
|
-
109 => 'Spine Lateral Flexion Wheelchair',
|
|
4561
|
-
110 => 'Alternative Skiing Wheelchair',
|
|
4562
|
-
111 => 'Reach Forward Wheelchair',
|
|
4563
|
-
112 => 'Warrior Wheelchair',
|
|
4564
|
-
113 => 'Reverse Warrior Wheelchair',
|
|
4565
|
-
114 => 'Downward Facing Dog To Cobra',
|
|
4566
|
-
115 => 'Seated Cat Cow',
|
|
4567
|
-
);
|
|
4568
|
-
|
|
4569
|
-
my %tricepsExtensionExerciseName = (
|
|
4570
|
-
0 => 'Bench Dip',
|
|
4571
|
-
1 => 'Weighted Bench Dip',
|
|
4572
|
-
2 => 'Body Weight Dip',
|
|
4573
|
-
3 => 'Cable Kickback',
|
|
4574
|
-
4 => 'Cable Lying Triceps Extension',
|
|
4575
|
-
5 => 'Cable Overhead Triceps Extension',
|
|
4576
|
-
6 => 'Dumbbell Kickback',
|
|
4577
|
-
7 => 'Dumbbell Lying Triceps Extension',
|
|
4578
|
-
8 => 'Ez Bar Overhead Triceps Extension',
|
|
4579
|
-
9 => 'Incline Dip',
|
|
4580
|
-
10 => 'Weighted Incline Dip',
|
|
4581
|
-
11 => 'Incline Ez Bar Lying Triceps Extension',
|
|
4582
|
-
12 => 'Lying Dumbbell Pullover To Extension',
|
|
4583
|
-
13 => 'Lying Ez Bar Triceps Extension',
|
|
4584
|
-
14 => 'Lying Triceps Extension To Close Grip Bench Press',
|
|
4585
|
-
15 => 'Overhead Dumbbell Triceps Extension',
|
|
4586
|
-
16 => 'Reclining Triceps Press',
|
|
4587
|
-
17 => 'Reverse Grip Pressdown',
|
|
4588
|
-
18 => 'Reverse Grip Triceps Pressdown',
|
|
4589
|
-
19 => 'Rope Pressdown',
|
|
4590
|
-
20 => 'Seated Barbell Overhead Triceps Extension',
|
|
4591
|
-
21 => 'Seated Dumbbell Overhead Triceps Extension',
|
|
4592
|
-
22 => 'Seated Ez Bar Overhead Triceps Extension',
|
|
4593
|
-
23 => 'Seated Single Arm Overhead Dumbbell Extension',
|
|
4594
|
-
24 => 'Single Arm Dumbbell Overhead Triceps Extension',
|
|
4595
|
-
25 => 'Single Dumbbell Seated Overhead Triceps Extension',
|
|
4596
|
-
26 => 'Single Leg Bench Dip And Kick',
|
|
4597
|
-
27 => 'Weighted Single Leg Bench Dip And Kick',
|
|
4598
|
-
28 => 'Single Leg Dip',
|
|
4599
|
-
29 => 'Weighted Single Leg Dip',
|
|
4600
|
-
30 => 'Static Lying Triceps Extension',
|
|
4601
|
-
31 => 'Suspended Dip',
|
|
4602
|
-
32 => 'Weighted Suspended Dip',
|
|
4603
|
-
33 => 'Swiss Ball Dumbbell Lying Triceps Extension',
|
|
4604
|
-
34 => 'Swiss Ball Ez Bar Lying Triceps Extension',
|
|
4605
|
-
35 => 'Swiss Ball Ez Bar Overhead Triceps Extension',
|
|
4606
|
-
36 => 'Tabletop Dip',
|
|
4607
|
-
37 => 'Weighted Tabletop Dip',
|
|
4608
|
-
38 => 'Triceps Extension On Floor',
|
|
4609
|
-
39 => 'Triceps Pressdown',
|
|
4610
|
-
40 => 'Weighted Dip',
|
|
4611
|
-
41 => 'Alternating Dumbbell Lying Triceps Extension',
|
|
4612
|
-
42 => 'Triceps Press',
|
|
4613
|
-
43 => 'Dumbbell Kickback Wheelchair',
|
|
4614
|
-
44 => 'Overhead Dumbbell Triceps Extension Wheelchair',
|
|
4615
|
-
);
|
|
4616
|
-
|
|
4617
|
-
my %warmUpExerciseName = (
|
|
4618
|
-
0 => 'Quadruped Rocking',
|
|
4619
|
-
1 => 'Neck Tilts',
|
|
4620
|
-
2 => 'Ankle Circles',
|
|
4621
|
-
3 => 'Ankle Dorsiflexion With Band',
|
|
4622
|
-
4 => 'Ankle Internal Rotation',
|
|
4623
|
-
5 => 'Arm Circles',
|
|
4624
|
-
6 => 'Bent Over Reach To Sky',
|
|
4625
|
-
7 => 'Cat Camel',
|
|
4626
|
-
8 => 'Elbow To Foot Lunge',
|
|
4627
|
-
9 => 'Forward And Backward Leg Swings',
|
|
4628
|
-
10 => 'Groiners',
|
|
4629
|
-
11 => 'Inverted Hamstring Stretch',
|
|
4630
|
-
12 => 'Lateral Duck Under',
|
|
4631
|
-
13 => 'Neck Rotations',
|
|
4632
|
-
14 => 'Opposite Arm And Leg Balance',
|
|
4633
|
-
15 => 'Reach Roll And Lift',
|
|
4634
|
-
16 => 'Scorpion',
|
|
4635
|
-
17 => 'Shoulder Circles',
|
|
4636
|
-
18 => 'Side To Side Leg Swings',
|
|
4637
|
-
19 => 'Sleeper Stretch',
|
|
4638
|
-
20 => 'Slide Out',
|
|
4639
|
-
21 => 'Swiss Ball Hip Crossover',
|
|
4640
|
-
22 => 'Swiss Ball Reach Roll And Lift',
|
|
4641
|
-
23 => 'Swiss Ball Windshield Wipers',
|
|
4642
|
-
24 => 'Thoracic Rotation',
|
|
4643
|
-
25 => 'Walking High Kicks',
|
|
4644
|
-
26 => 'Walking High Knees',
|
|
4645
|
-
27 => 'Walking Knee Hugs',
|
|
4646
|
-
28 => 'Walking Leg Cradles',
|
|
4647
|
-
29 => 'Walkout',
|
|
4648
|
-
30 => 'Walkout From Push Up Position',
|
|
4649
|
-
31 => 'Biceps Stretch',
|
|
4650
|
-
32 => 'Glutes Stretch',
|
|
4651
|
-
33 => 'Standing Hamstring Stretch',
|
|
4652
|
-
34 => 'Stretch 90 90',
|
|
4653
|
-
35 => 'Stretch Abs',
|
|
4654
|
-
36 => 'Stretch Butterfly',
|
|
4655
|
-
37 => 'Stretch Calf',
|
|
4656
|
-
38 => 'Stretch Cat Cow',
|
|
4657
|
-
39 => 'Stretch Childs Pose',
|
|
4658
|
-
40 => 'Stretch Cobra',
|
|
4659
|
-
41 => 'Stretch Forearms',
|
|
4660
|
-
42 => 'Stretch Forward Glutes',
|
|
4661
|
-
43 => 'Stretch Front Split',
|
|
4662
|
-
44 => 'Stretch Hamstring',
|
|
4663
|
-
45 => 'Stretch Hip Flexor And Quad',
|
|
4664
|
-
46 => 'Stretch Lat',
|
|
4665
|
-
47 => 'Stretch Levator Scapulae',
|
|
4666
|
-
48 => 'Stretch Lunge With Spinal Twist',
|
|
4667
|
-
49 => 'Stretch Lunging Hip Flexor',
|
|
4668
|
-
50 => 'Stretch Lying Abduction',
|
|
4669
|
-
51 => 'Stretch Lying It Band',
|
|
4670
|
-
52 => 'Stretch Lying Knee To Chest',
|
|
4671
|
-
53 => 'Stretch Lying Piriformis',
|
|
4672
|
-
54 => 'Stretch Lying Spinal Twist',
|
|
4673
|
-
55 => 'Stretch Neck',
|
|
4674
|
-
56 => 'Stretch Obliques',
|
|
4675
|
-
57 => 'Stretch Over Under Shoulder',
|
|
4676
|
-
58 => 'Stretch Pectoral',
|
|
4677
|
-
59 => 'Stretch Pigeon Pose',
|
|
4678
|
-
60 => 'Stretch Piriformis',
|
|
4679
|
-
61 => 'Stretch Quad',
|
|
4680
|
-
62 => 'Stretch Scorpion',
|
|
4681
|
-
63 => 'Stretch Shoulder',
|
|
4682
|
-
64 => 'Stretch Side',
|
|
4683
|
-
65 => 'Stretch Side Lunge',
|
|
4684
|
-
66 => 'Stretch Side Split',
|
|
4685
|
-
67 => 'Stretch Standing It Band',
|
|
4686
|
-
68 => 'Stretch Straddle',
|
|
4687
|
-
69 => 'Stretch Triceps',
|
|
4688
|
-
70 => 'Stretch Wall Chest And Shoulder',
|
|
4689
|
-
71 => 'Neck Rotations Wheelchair',
|
|
4690
|
-
72 => 'Half Kneeling Arm Rotation',
|
|
4691
|
-
73 => 'Three Way Ankle Mobilization',
|
|
4692
|
-
74 => 'Ninety Ninety Hip Switch',
|
|
4693
|
-
75 => 'Active Frog',
|
|
4694
|
-
76 => 'Shoulder Sweeps',
|
|
4695
|
-
77 => 'Ankle Lunges',
|
|
4696
|
-
78 => 'Back Roll Foam Roller',
|
|
4697
|
-
79 => 'Bear Crawl',
|
|
4698
|
-
80 => 'Latissimus Dorsi Foam Roll',
|
|
4699
|
-
81 => 'Reverse T Hip Opener',
|
|
4700
|
-
82 => 'Shoulder Rolls',
|
|
4701
|
-
83 => 'Chest Openers',
|
|
4702
|
-
84 => 'Triceps Stretch',
|
|
4703
|
-
85 => 'Upper Back Stretch',
|
|
4704
|
-
86 => 'Hip Circles',
|
|
4705
|
-
87 => 'Ankle Stretch',
|
|
4706
|
-
88 => 'Marching In Place',
|
|
4707
|
-
89 => 'Triceps Stretch Wheelchair',
|
|
4708
|
-
90 => 'Upper Back Stretch Wheelchair',
|
|
4709
|
-
);
|
|
4710
|
-
|
|
4711
|
-
my %runExerciseName = (
|
|
4712
|
-
0 => 'Run',
|
|
4713
|
-
1 => 'Walk',
|
|
4714
|
-
2 => 'Jog',
|
|
4715
|
-
3 => 'Sprint',
|
|
4716
|
-
4 => 'Run Or Walk',
|
|
4717
|
-
5 => 'Speed Walk',
|
|
4718
|
-
6 => 'Warm Up',
|
|
4719
|
-
);
|
|
4720
|
-
|
|
4721
|
-
my %bikeExerciseName = (
|
|
4722
|
-
0 => 'Bike',
|
|
4723
|
-
1 => 'Ride',
|
|
4724
|
-
2 => 'Sprint',
|
|
4725
|
-
);
|
|
4726
|
-
|
|
4727
|
-
my %bandedExercisesExerciseName = (
|
|
4728
|
-
1 => 'Ab Twist',
|
|
4729
|
-
2 => 'Back Extension',
|
|
4730
|
-
3 => 'Bicycle Crunch',
|
|
4731
|
-
4 => 'Calf Raises',
|
|
4732
|
-
5 => 'Chest Press',
|
|
4733
|
-
6 => 'Clam Shells',
|
|
4734
|
-
7 => 'Curl',
|
|
4735
|
-
8 => 'Deadbug',
|
|
4736
|
-
9 => 'Deadlift',
|
|
4737
|
-
10 => 'Donkey Kick',
|
|
4738
|
-
11 => 'External Rotation',
|
|
4739
|
-
12 => 'External Rotation At 90 Degree Abduction',
|
|
4740
|
-
13 => 'Face Pull',
|
|
4741
|
-
14 => 'Fire Hydrant',
|
|
4742
|
-
15 => 'Fly',
|
|
4743
|
-
16 => 'Front Raise',
|
|
4744
|
-
17 => 'Glute Bridge',
|
|
4745
|
-
18 => 'Hamstring Curls',
|
|
4746
|
-
19 => 'High Plank Leg Lifts',
|
|
4747
|
-
20 => 'Hip Extension',
|
|
4748
|
-
21 => 'Internal Rotation',
|
|
4749
|
-
22 => 'Jumping Jack',
|
|
4750
|
-
23 => 'Kneeling Crunch',
|
|
4751
|
-
24 => 'Lateral Band Walks',
|
|
4752
|
-
25 => 'Lateral Raise',
|
|
4753
|
-
26 => 'Latpull',
|
|
4754
|
-
27 => 'Leg Abduction',
|
|
4755
|
-
28 => 'Leg Adduction',
|
|
4756
|
-
29 => 'Leg Extension',
|
|
4757
|
-
30 => 'Lunge',
|
|
4758
|
-
31 => 'Plank',
|
|
4759
|
-
32 => 'Pull Apart',
|
|
4760
|
-
33 => 'Push Ups',
|
|
4761
|
-
34 => 'Reverse Crunch',
|
|
4762
|
-
35 => 'Row',
|
|
4763
|
-
36 => 'Shoulder Abduction',
|
|
4764
|
-
37 => 'Shoulder Extension',
|
|
4765
|
-
38 => 'Shoulder External Rotation',
|
|
4766
|
-
39 => 'Shoulder Flexion To 90 Degrees',
|
|
4767
|
-
40 => 'Side Plank Leg Lifts',
|
|
4768
|
-
41 => 'Side Raise',
|
|
4769
|
-
42 => 'Squat',
|
|
4770
|
-
43 => 'Squat To Press',
|
|
4771
|
-
44 => 'Tricep Extension',
|
|
4772
|
-
45 => 'Tricep Kickback',
|
|
4773
|
-
46 => 'Upright Row',
|
|
4774
|
-
47 => 'Wall Crawl With External Rotation',
|
|
4775
|
-
49 => 'Lateral Raise Wheelchair',
|
|
4776
|
-
50 => 'Triceps Extension Wheelchair',
|
|
4777
|
-
51 => 'Chest Fly Incline Wheelchair',
|
|
4778
|
-
52 => 'Chest Fly Decline Wheelchair',
|
|
4779
|
-
53 => 'Pull Down Wheelchair',
|
|
4780
|
-
54 => 'Straight Arm Pull Down Wheelchair',
|
|
4781
|
-
55 => 'Curl Wheelchair',
|
|
4782
|
-
56 => 'Overhead Curl Wheelchair',
|
|
4783
|
-
57 => 'Face Pull Wheelchair',
|
|
4784
|
-
58 => 'Around The World Wheelchair',
|
|
4785
|
-
59 => 'Pull Apart Wheelchair',
|
|
4786
|
-
60 => 'Side Curl Wheelchair',
|
|
4787
|
-
61 => 'Overhead Press Wheelchair',
|
|
4788
|
-
);
|
|
4789
|
-
|
|
4790
|
-
my %battleRopeExerciseName = (
|
|
4791
|
-
0 => 'Alternating Figure Eight',
|
|
4792
|
-
1 => 'Alternating Jump Wave',
|
|
4793
|
-
2 => 'Alternating Kneeling To Standing Wave',
|
|
4794
|
-
3 => 'Alternating Lunge Wave',
|
|
4795
|
-
4 => 'Alternating Squat Wave',
|
|
4796
|
-
5 => 'Alternating Wave',
|
|
4797
|
-
6 => 'Alternating Wave With Lateral Shuffle',
|
|
4798
|
-
7 => 'Clap Wave',
|
|
4799
|
-
8 => 'Double Arm Figure Eight',
|
|
4800
|
-
9 => 'Double Arm Side To Side Snake',
|
|
4801
|
-
10 => 'Double Arm Side Wave',
|
|
4802
|
-
11 => 'Double Arm Slam',
|
|
4803
|
-
12 => 'Double Arm Wave',
|
|
4804
|
-
13 => 'Grappler Toss',
|
|
4805
|
-
14 => 'Hip Toss',
|
|
4806
|
-
15 => 'In And Out Wave',
|
|
4807
|
-
16 => 'Inside Circle',
|
|
4808
|
-
17 => 'Jumping Jacks',
|
|
4809
|
-
18 => 'Outside Circle',
|
|
4810
|
-
19 => 'Rainbow',
|
|
4811
|
-
20 => 'Side Plank Wave',
|
|
4812
|
-
21 => 'Sidewinder',
|
|
4813
|
-
22 => 'Sitting Russian Twist',
|
|
4814
|
-
23 => 'Snake Wave',
|
|
4815
|
-
24 => 'Split Jack',
|
|
4816
|
-
25 => 'Stage Coach',
|
|
4817
|
-
26 => 'Ultimate Warrior',
|
|
4818
|
-
27 => 'Upper Cuts',
|
|
4819
|
-
);
|
|
4820
|
-
|
|
4821
|
-
my %ellipticalExerciseName = (
|
|
4822
|
-
0 => 'Elliptical',
|
|
4823
|
-
);
|
|
4824
|
-
|
|
4825
|
-
my %floorClimbExerciseName = (
|
|
4826
|
-
0 => 'Floor Climb',
|
|
4827
|
-
);
|
|
4828
|
-
|
|
4829
|
-
my %indoorBikeExerciseName = (
|
|
4830
|
-
0 => 'Air Bike',
|
|
4831
|
-
1 => 'Assault Bike',
|
|
4832
|
-
3 => 'Stationary Bike',
|
|
4833
|
-
);
|
|
4834
|
-
|
|
4835
|
-
my %indoorRowExerciseName = (
|
|
4836
|
-
0 => 'Rowing Machine',
|
|
4837
|
-
);
|
|
4838
|
-
|
|
4839
|
-
my %ladderExerciseName = (
|
|
4840
|
-
0 => 'Agility',
|
|
4841
|
-
1 => 'Speed',
|
|
4842
|
-
);
|
|
4843
|
-
|
|
4844
|
-
my %sandbagExerciseName = (
|
|
4845
|
-
0 => 'Around The World',
|
|
4846
|
-
1 => 'Back Squat',
|
|
4847
|
-
2 => 'Bear Crawl Pull Through',
|
|
4848
|
-
3 => 'Bear Hug Squat',
|
|
4849
|
-
4 => 'Clean',
|
|
4850
|
-
5 => 'Clean And Press',
|
|
4851
|
-
6 => 'Curl',
|
|
4852
|
-
7 => 'Front Carry',
|
|
4853
|
-
8 => 'Front Squat',
|
|
4854
|
-
9 => 'Lunge',
|
|
4855
|
-
10 => 'Overhead Press',
|
|
4856
|
-
11 => 'Plank Pull Through',
|
|
4857
|
-
12 => 'Rotational Lunge',
|
|
4858
|
-
13 => 'Row',
|
|
4859
|
-
14 => 'Russian Twist',
|
|
4860
|
-
15 => 'Shouldering',
|
|
4861
|
-
16 => 'Shoveling',
|
|
4862
|
-
17 => 'Side Lunge',
|
|
4863
|
-
18 => 'Sprint',
|
|
4864
|
-
19 => 'Zercher Squat',
|
|
4865
|
-
);
|
|
4866
|
-
|
|
4867
|
-
my %sledExerciseName = (
|
|
4868
|
-
0 => 'Backward Drag',
|
|
4869
|
-
1 => 'Chest Press',
|
|
4870
|
-
2 => 'Forward Drag',
|
|
4871
|
-
3 => 'Low Push',
|
|
4872
|
-
4 => 'Push',
|
|
4873
|
-
5 => 'Row',
|
|
4874
|
-
);
|
|
4875
|
-
|
|
4876
|
-
my %sledgeHammerExerciseName = (
|
|
4877
|
-
0 => 'Lateral Swing',
|
|
4878
|
-
1 => 'Hammer Slam',
|
|
4879
|
-
);
|
|
4880
|
-
|
|
4881
|
-
my %stairStepperExerciseName = (
|
|
4882
|
-
0 => 'Stair Stepper',
|
|
4883
|
-
);
|
|
4884
|
-
|
|
4885
|
-
my %suspensionExerciseName = (
|
|
4886
|
-
0 => 'Chest Fly',
|
|
4887
|
-
1 => 'Chest Press',
|
|
4888
|
-
2 => 'Crunch',
|
|
4889
|
-
3 => 'Curl',
|
|
4890
|
-
4 => 'Dip',
|
|
4891
|
-
5 => 'Face Pull',
|
|
4892
|
-
6 => 'Glute Bridge',
|
|
4893
|
-
7 => 'Hamstring Curl',
|
|
4894
|
-
8 => 'Hip Drop',
|
|
4895
|
-
9 => 'Inverted Row',
|
|
4896
|
-
10 => 'Knee Drive Jump',
|
|
4897
|
-
11 => 'Knee To Chest',
|
|
4898
|
-
12 => 'Lat Pullover',
|
|
4899
|
-
13 => 'Lunge',
|
|
4900
|
-
14 => 'Mountain Climber',
|
|
4901
|
-
15 => 'Pendulum',
|
|
4902
|
-
16 => 'Pike',
|
|
4903
|
-
17 => 'Plank',
|
|
4904
|
-
18 => 'Power Pull',
|
|
4905
|
-
19 => 'Pull Up',
|
|
4906
|
-
20 => 'Push Up',
|
|
4907
|
-
21 => 'Reverse Mountain Climber',
|
|
4908
|
-
22 => 'Reverse Plank',
|
|
4909
|
-
23 => 'Rollout',
|
|
4910
|
-
24 => 'Row',
|
|
4911
|
-
25 => 'Side Lunge',
|
|
4912
|
-
26 => 'Side Plank',
|
|
4913
|
-
27 => 'Single Leg Deadlift',
|
|
4914
|
-
28 => 'Single Leg Squat',
|
|
4915
|
-
29 => 'Sit Up',
|
|
4916
|
-
30 => 'Split',
|
|
4917
|
-
31 => 'Squat',
|
|
4918
|
-
32 => 'Squat Jump',
|
|
4919
|
-
33 => 'Tricep Press',
|
|
4920
|
-
34 => 'Y Fly',
|
|
4921
|
-
);
|
|
4922
|
-
|
|
4923
|
-
my %tireExerciseName = (
|
|
4924
|
-
0 => 'Flip',
|
|
4925
|
-
);
|
|
4926
|
-
|
|
4927
|
-
my %bikeOutdoorExerciseName = (
|
|
4928
|
-
0 => 'Bike',
|
|
4929
|
-
);
|
|
4930
|
-
|
|
4931
|
-
my %runIndoorExerciseName = (
|
|
4932
|
-
0 => 'Indoor Track Run',
|
|
4933
|
-
1 => 'Treadmill',
|
|
4934
|
-
);
|
|
4935
|
-
|
|
4936
1949
|
my %waterType = (
|
|
4937
1950
|
0 => 'Fresh',
|
|
4938
1951
|
1 => 'Salt',
|
|
@@ -4950,48 +1963,6 @@ my %diveGasStatus = (
|
|
|
4950
1963
|
2 => 'Backup Only',
|
|
4951
1964
|
);
|
|
4952
1965
|
|
|
4953
|
-
my %diveAlert = (
|
|
4954
|
-
0 => 'Ndl Reached',
|
|
4955
|
-
1 => 'Gas Switch Prompted',
|
|
4956
|
-
2 => 'Near Surface',
|
|
4957
|
-
3 => 'Approaching Ndl',
|
|
4958
|
-
4 => 'PO2 Warn',
|
|
4959
|
-
5 => 'PO2 Crit High',
|
|
4960
|
-
6 => 'PO2 Crit Low',
|
|
4961
|
-
7 => 'Time Alert',
|
|
4962
|
-
8 => 'Depth Alert',
|
|
4963
|
-
9 => 'Deco Ceiling Broken',
|
|
4964
|
-
10 => 'Deco Complete',
|
|
4965
|
-
11 => 'Safety Stop Broken',
|
|
4966
|
-
12 => 'Safety Stop Complete',
|
|
4967
|
-
13 => 'Cns Warning',
|
|
4968
|
-
14 => 'Cns Critical',
|
|
4969
|
-
15 => 'Otu Warning',
|
|
4970
|
-
16 => 'Otu Critical',
|
|
4971
|
-
17 => 'Ascent Critical',
|
|
4972
|
-
18 => 'Alert Dismissed By Key',
|
|
4973
|
-
19 => 'Alert Dismissed By Timeout',
|
|
4974
|
-
20 => 'Battery Low',
|
|
4975
|
-
21 => 'Battery Critical',
|
|
4976
|
-
22 => 'Safety Stop Started',
|
|
4977
|
-
23 => 'Approaching First Deco Stop',
|
|
4978
|
-
24 => 'Setpoint Switch Auto Low',
|
|
4979
|
-
25 => 'Setpoint Switch Auto High',
|
|
4980
|
-
26 => 'Setpoint Switch Manual Low',
|
|
4981
|
-
27 => 'Setpoint Switch Manual High',
|
|
4982
|
-
28 => 'Auto Setpoint Switch Ignored',
|
|
4983
|
-
29 => 'Switched To Open Circuit',
|
|
4984
|
-
30 => 'Switched To Closed Circuit',
|
|
4985
|
-
32 => 'Tank Battery Low',
|
|
4986
|
-
33 => 'PO2 CCR Dil Low',
|
|
4987
|
-
34 => 'Deco Stop Cleared',
|
|
4988
|
-
35 => 'Apnea Neutral Buoyancy',
|
|
4989
|
-
36 => 'Apnea Target Depth',
|
|
4990
|
-
37 => 'Apnea Surface',
|
|
4991
|
-
38 => 'Apnea High Speed',
|
|
4992
|
-
39 => 'Apnea Low Speed',
|
|
4993
|
-
);
|
|
4994
|
-
|
|
4995
1966
|
my %diveAlarmType = (
|
|
4996
1967
|
0 => 'Depth',
|
|
4997
1968
|
1 => 'time',
|
|
@@ -5037,11 +2008,6 @@ my %projectileType = (
|
|
|
5037
2008
|
5 => 'Other',
|
|
5038
2009
|
);
|
|
5039
2010
|
|
|
5040
|
-
my %faveroProduct = (
|
|
5041
|
-
10 => 'Assioma Uno',
|
|
5042
|
-
12 => 'Assioma Duo',
|
|
5043
|
-
);
|
|
5044
|
-
|
|
5045
2011
|
my %splitType = (
|
|
5046
2012
|
1 => 'Ascent Split',
|
|
5047
2013
|
2 => 'Descent Split',
|
|
@@ -5417,7 +2383,7 @@ my %dataFields = (
|
|
|
5417
2383
|
315 => 'Lap Stride Len',
|
|
5418
2384
|
320 => 'Perform Cond',
|
|
5419
2385
|
395 => 'Battery Hours',
|
|
5420
|
-
423 => 'Muscle
|
|
2386
|
+
423 => 'Muscle O2 Sat',
|
|
5421
2387
|
424 => 'Total Hemaglobin',
|
|
5422
2388
|
433 => 'Anaerobic Te',
|
|
5423
2389
|
452 => 'Resp Rate',
|
|
@@ -5455,11 +2421,6 @@ my %dataFields = (
|
|
|
5455
2421
|
656 => 'Grade Adjusted Pace',
|
|
5456
2422
|
);
|
|
5457
2423
|
|
|
5458
|
-
my %durationType = (
|
|
5459
|
-
0 => 'time',
|
|
5460
|
-
1 => 'Distance',
|
|
5461
|
-
);
|
|
5462
|
-
|
|
5463
2424
|
my %enduranceScoreLevel = (
|
|
5464
2425
|
1 => 'Recreational',
|
|
5465
2426
|
2 => 'Intermediate',
|
|
@@ -5824,15 +2785,17 @@ my %zoneMetric = (
|
|
|
5824
2785
|
VARS => { ID_FMT => 'dec', NO_LOOKUP => 1, ALPHA_FIRST => 1 },
|
|
5825
2786
|
NOTES => q{
|
|
5826
2787
|
Information extracted from Garmin FIT (Flexible and Interoperable data
|
|
5827
|
-
Transfer) files.
|
|
5828
|
-
|
|
5829
|
-
|
|
5830
|
-
|
|
5831
|
-
|
|
5832
|
-
|
|
5833
|
-
|
|
5834
|
-
|
|
5835
|
-
|
|
2788
|
+
Transfer) files. The main reason for adding FIT support was to allow
|
|
2789
|
+
geotagging directly from FIT files using the -geotag option. For this
|
|
2790
|
+
reason, only timestamps and GPS-related FIT messages are decoded by default,
|
|
2791
|
+
and the rest are marked as Unknown to be extracted only if the L<Unknown|../ExifTool.html#Unknown>
|
|
2792
|
+
(-u) option is used. And unless the L<ExtractEmbedded|../ExifTool.html#ExtractEmbedded> (-ee) option is used,
|
|
2793
|
+
only the first FIT message of each type is extracted. When both of these
|
|
2794
|
+
options are used, a significant amount of information may be extracted, and
|
|
2795
|
+
processing times may be lengthy. The family 1 group names of the extracted
|
|
2796
|
+
tags correspond to the FIT message names. The first table below lists the
|
|
2797
|
+
FIT messages, and subsequent tables list the extracted tags. See
|
|
2798
|
+
L<https://developer.garmin.com/fit/> for the specification.
|
|
5836
2799
|
},
|
|
5837
2800
|
vers => { Name => 'ProtocolVersion', Notes => 'from the FIT file header' },
|
|
5838
2801
|
Common => {
|
|
@@ -7583,7 +4546,7 @@ my %zoneMetric = (
|
|
|
7583
4546
|
57 => { Name => 'SaturatedHemoglobinPercent', ValueConv => '$val / 10', PrintConv => '"$val %"' },
|
|
7584
4547
|
58 => { Name => 'SaturatedHemoglobinPercentMin', ValueConv => '$val / 10', PrintConv => '"$val %"' },
|
|
7585
4548
|
59 => { Name => 'SaturatedHemoglobinPercentMax', ValueConv => '$val / 10', PrintConv => '"$val %"' },
|
|
7586
|
-
62 =>
|
|
4549
|
+
62 => 'DeviceIndex',
|
|
7587
4550
|
67 => { Name => 'LeftPco', PrintConv => '"$val mm"' },
|
|
7588
4551
|
68 => { Name => 'RightPco', PrintConv => '"$val mm"' },
|
|
7589
4552
|
69 => 'LeftPowerPhase', # [N] / 0.7111111 degrees
|
|
@@ -7649,7 +4612,7 @@ my %zoneMetric = (
|
|
|
7649
4612
|
10 => 'FrontGear',
|
|
7650
4613
|
11 => 'RearGearNum',
|
|
7651
4614
|
12 => 'RearGear',
|
|
7652
|
-
13 =>
|
|
4615
|
+
13 => 'DeviceIndex',
|
|
7653
4616
|
14 => { Name => 'ActivityType', PrintConv => \%activityType, SeparateTable => 'ActivityType' },
|
|
7654
4617
|
15 => { Name => 'StartTimeStamp', %timeInfo, Groups => { 2 => 'Time' } },
|
|
7655
4618
|
21 => { Name => 'RadarThreatLevelMax', PrintConv => \%radarThreatLevelType },
|
|
@@ -7661,7 +4624,7 @@ my %zoneMetric = (
|
|
|
7661
4624
|
%Image::ExifTool::Garmin::DeviceInfo = (
|
|
7662
4625
|
GROUPS => { 0 => 'Garmin', 1 => 'DeviceInfo', 2 => 'Device' },
|
|
7663
4626
|
VARS => { ID_FMT => 'dec', NO_LOOKUP => 1 },
|
|
7664
|
-
0 =>
|
|
4627
|
+
0 => 'DeviceIndex',
|
|
7665
4628
|
1 => 'DeviceType',
|
|
7666
4629
|
2 => { Name => 'Manufacturer', PrintConv => \%manufacturer, SeparateTable => 'Manufacturer' },
|
|
7667
4630
|
3 => 'SerialNumber',
|
|
@@ -7685,7 +4648,7 @@ my %zoneMetric = (
|
|
|
7685
4648
|
%Image::ExifTool::Garmin::DeviceAuxBatteryInfo = (
|
|
7686
4649
|
GROUPS => { 0 => 'Garmin', 1 => 'AuxBattery', 2 => 'Device' },
|
|
7687
4650
|
VARS => { ID_FMT => 'dec', NO_LOOKUP => 1 },
|
|
7688
|
-
0 =>
|
|
4651
|
+
0 => 'DeviceIndex',
|
|
7689
4652
|
1 => { Name => 'BatteryVoltage', ValueConv => '$val / 256', PrintConv => '"$val V"' },
|
|
7690
4653
|
2 => { Name => 'BatteryStatus', PrintConv => \%batteryStatus, SeparateTable => 'BatteryStatus' },
|
|
7691
4654
|
3 => 'BatteryIdentifier',
|
|
@@ -8355,7 +5318,7 @@ my %zoneMetric = (
|
|
|
8355
5318
|
%Image::ExifTool::Garmin::Monitoring = (
|
|
8356
5319
|
GROUPS => { 0 => 'Garmin', 1 => 'Monitoring', 2 => 'Other' },
|
|
8357
5320
|
VARS => { ID_FMT => 'dec', NO_LOOKUP => 1 },
|
|
8358
|
-
0 =>
|
|
5321
|
+
0 => 'DeviceIndex',
|
|
8359
5322
|
1 => { Name => 'Calories', PrintConv => '"$val kcal"' },
|
|
8360
5323
|
2 => { Name => 'Distance', ValueConv => '$val / 100', PrintConv => '"$val m"' },
|
|
8361
5324
|
3 => { Name => 'Cycles', ValueConv => '$val / 2', PrintConv => '"$val cycles"' },
|
|
@@ -8542,7 +5505,7 @@ my %zoneMetric = (
|
|
|
8542
5505
|
1 => 'DeviceType',
|
|
8543
5506
|
2 => 'DeviceNumber',
|
|
8544
5507
|
3 => 'TransmissionType',
|
|
8545
|
-
4 =>
|
|
5508
|
+
4 => 'DeviceIndex',
|
|
8546
5509
|
);
|
|
8547
5510
|
|
|
8548
5511
|
%Image::ExifTool::Garmin::AntRx = (
|
|
@@ -8810,12 +5773,12 @@ my %zoneMetric = (
|
|
|
8810
5773
|
%Image::ExifTool::Garmin::DeviceUsed = (
|
|
8811
5774
|
GROUPS => { 0 => 'Garmin', 1 => 'DeviceUsed', 2 => 'Device' },
|
|
8812
5775
|
VARS => { ID_FMT => 'dec', NO_LOOKUP => 1 },
|
|
8813
|
-
0 =>
|
|
8814
|
-
1 =>
|
|
8815
|
-
2 =>
|
|
8816
|
-
3 =>
|
|
8817
|
-
4 =>
|
|
8818
|
-
6 =>
|
|
5776
|
+
0 => 'DevSpeed',
|
|
5777
|
+
1 => 'DevDistance',
|
|
5778
|
+
2 => 'DevCadence',
|
|
5779
|
+
3 => 'DevElevation',
|
|
5780
|
+
4 => 'DevHeartRate',
|
|
5781
|
+
6 => 'DevPower',
|
|
8819
5782
|
);
|
|
8820
5783
|
|
|
8821
5784
|
%Image::ExifTool::Garmin::Location = (
|
|
@@ -9590,7 +6553,8 @@ sub ProcessFIT($$$)
|
|
|
9590
6553
|
if (int($count) == $count) {
|
|
9591
6554
|
my $val = ReadValue(\$buff, $pos, $fmt, $count, $size);
|
|
9592
6555
|
# ignore invalid values
|
|
9593
|
-
|
|
6556
|
+
# (NAN may be 'NaN' or 'nan' on different systems, so 'lc' is required)
|
|
6557
|
+
unless (lc $val eq $baseType{$type}[2]) {
|
|
9594
6558
|
$fieldValue{$num} = $val unless $$field[3];
|
|
9595
6559
|
my $str = qq($fmt "$baseType{$type}[1]");
|
|
9596
6560
|
$str .= ", devIdx=$$field[2]" if $$field[3];
|
|
@@ -9614,10 +6578,10 @@ sub ProcessFIT($$$)
|
|
|
9614
6578
|
}
|
|
9615
6579
|
$$et{INDENT} = $oldIndent;
|
|
9616
6580
|
# save messages required to decode developer fields
|
|
9617
|
-
if ($msgNum == 207) {
|
|
6581
|
+
if ($msgNum == 207) { # DeveloperDataID
|
|
9618
6582
|
my $idx = $fieldValue{3}; # DeveloperDataIndex
|
|
9619
6583
|
$devData{$idx}{ID} = { %fieldValue } if defined $idx;
|
|
9620
|
-
} elsif ($msgNum == 206) {
|
|
6584
|
+
} elsif ($msgNum == 206) { # FieldDescription
|
|
9621
6585
|
my $idx = $fieldValue{0}; # DeveloperDataIndex
|
|
9622
6586
|
my $num = $fieldValue{1};
|
|
9623
6587
|
if (defined $idx and defined $num) {
|