fit-file-parser 6.1.1 → 6.1.2

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.
@@ -0,0 +1,987 @@
1
+ /**
2
+ * Lookup-oriented slices of the maintained FIT profile.
3
+ *
4
+ * The full decoder composes these exact objects into PROFILE_TYPES, keeping
5
+ * this module authoritative without loading message definitions in lookup-only consumers.
6
+ */
7
+ export const FIT_PROFILE_COURSE_POINTS = {
8
+ 0: 'generic',
9
+ 1: 'summit',
10
+ 2: 'valley',
11
+ 3: 'water',
12
+ 4: 'food',
13
+ 5: 'danger',
14
+ 6: 'left',
15
+ 7: 'right',
16
+ 8: 'straight',
17
+ 9: 'first_aid',
18
+ 10: 'fourth_category',
19
+ 11: 'third_category',
20
+ 12: 'second_category',
21
+ 13: 'first_category',
22
+ 14: 'hors_category',
23
+ 15: 'sprint',
24
+ 16: 'left_fork',
25
+ 17: 'right_fork',
26
+ 18: 'middle_fork',
27
+ 19: 'slight_left',
28
+ 20: 'sharp_left',
29
+ 21: 'slight_right',
30
+ 22: 'sharp_right',
31
+ 23: 'u_turn',
32
+ 24: 'segment_start',
33
+ 25: 'segment_end',
34
+ 27: 'campsite',
35
+ 28: 'aid_station',
36
+ 29: 'rest_area',
37
+ 30: 'general_distance',
38
+ 31: 'service',
39
+ 32: 'energy_gel',
40
+ 33: 'sports_drink',
41
+ 34: 'mile_marker',
42
+ 35: 'checkpoint',
43
+ 36: 'shelter',
44
+ 37: 'meeting_spot',
45
+ 38: 'overlook',
46
+ 39: 'toilet',
47
+ 40: 'shower',
48
+ 41: 'gear',
49
+ 42: 'sharp_curve',
50
+ 43: 'steep_incline',
51
+ 44: 'tunnel',
52
+ 45: 'bridge',
53
+ 46: 'obstacle',
54
+ 47: 'crossing',
55
+ 48: 'store',
56
+ 49: 'transition',
57
+ 50: 'navaid',
58
+ 51: 'transport',
59
+ 52: 'alert',
60
+ 53: 'info',
61
+ };
62
+ export const FIT_PROFILE_GARMIN_PRODUCTS = {
63
+ 1: 'hrm1',
64
+ 2: 'axh01',
65
+ 3: 'axb01',
66
+ 4: 'axb02',
67
+ 5: 'hrm2ss',
68
+ 6: 'dsi_alf02',
69
+ 7: 'hrm3ss',
70
+ 8: 'hrm_run_single_byte_product_id',
71
+ 9: 'bsm',
72
+ 10: 'bcm',
73
+ 11: 'axs01',
74
+ 12: 'hrm_tri_single_byte_product_id',
75
+ 13: 'hrm4_run_single_byte_product_id',
76
+ 14: 'fr225_single_byte_product_id',
77
+ 15: 'gen3_bsm_single_byte_product_id',
78
+ 16: 'gen3_bcm_single_byte_product_id',
79
+ 22: 'hrm_fit_single_byte_product_id',
80
+ 255: 'o_hr',
81
+ 473: 'fr301_china',
82
+ 474: 'fr301_japan',
83
+ 475: 'fr301_korea',
84
+ 494: 'fr301_taiwan',
85
+ 717: 'fr405',
86
+ 782: 'fr50',
87
+ 987: 'fr405_japan',
88
+ 988: 'fr60',
89
+ 1011: 'dsi_alf01',
90
+ 1018: 'fr310xt',
91
+ 1036: 'edge500',
92
+ 1124: 'fr110',
93
+ 1169: 'edge800',
94
+ 1199: 'edge500_taiwan',
95
+ 1213: 'edge500_japan',
96
+ 1253: 'chirp',
97
+ 1274: 'fr110_japan',
98
+ 1325: 'edge200',
99
+ 1328: 'fr910xt',
100
+ 1333: 'edge800_taiwan',
101
+ 1334: 'edge800_japan',
102
+ 1341: 'alf04',
103
+ 1345: 'fr610',
104
+ 1360: 'fr210_japan',
105
+ 1380: 'vector_ss',
106
+ 1381: 'vector_cp',
107
+ 1386: 'edge800_china',
108
+ 1387: 'edge500_china',
109
+ 1405: 'approach_g10',
110
+ 1410: 'fr610_japan',
111
+ 1422: 'edge500_korea',
112
+ 1436: 'fr70',
113
+ 1446: 'fr310xt4t',
114
+ 1461: 'amx',
115
+ 1482: 'fr10',
116
+ 1497: 'edge800_korea',
117
+ 1499: 'swim',
118
+ 1537: 'fr910xt_china',
119
+ 1551: 'fenix',
120
+ 1555: 'edge200_taiwan',
121
+ 1561: 'edge510',
122
+ 1567: 'edge810',
123
+ 1570: 'tempe',
124
+ 1600: 'fr910xt_japan',
125
+ 1623: 'fr620',
126
+ 1632: 'fr220',
127
+ 1664: 'fr910xt_korea',
128
+ 1688: 'fr10_japan',
129
+ 1721: 'edge810_japan',
130
+ 1735: 'virb_elite',
131
+ 1736: 'edge_touring',
132
+ 1742: 'edge510_japan',
133
+ 1743: 'hrm_tri',
134
+ 1752: 'hrm_run',
135
+ 1765: 'fr920xt',
136
+ 1821: 'edge510_asia',
137
+ 1822: 'edge810_china',
138
+ 1823: 'edge810_taiwan',
139
+ 1836: 'edge1000',
140
+ 1837: 'vivo_fit',
141
+ 1853: 'virb_remote',
142
+ 1885: 'vivo_ki',
143
+ 1903: 'fr15',
144
+ 1907: 'vivo_active',
145
+ 1918: 'edge510_korea',
146
+ 1928: 'fr620_japan',
147
+ 1929: 'fr620_china',
148
+ 1930: 'fr220_japan',
149
+ 1931: 'fr220_china',
150
+ 1936: 'approach_s6',
151
+ 1956: 'vivo_smart',
152
+ 1967: 'fenix2',
153
+ 1988: 'epix',
154
+ 2050: 'fenix3',
155
+ 2052: 'edge1000_taiwan',
156
+ 2053: 'edge1000_japan',
157
+ 2061: 'fr15_japan',
158
+ 2067: 'edge520',
159
+ 2070: 'edge1000_china',
160
+ 2072: 'fr620_russia',
161
+ 2073: 'fr220_russia',
162
+ 2079: 'vector_s',
163
+ 2100: 'edge1000_korea',
164
+ 2130: 'fr920xt_taiwan',
165
+ 2131: 'fr920xt_china',
166
+ 2132: 'fr920xt_japan',
167
+ 2134: 'virbx',
168
+ 2135: 'vivo_smart_apac',
169
+ 2140: 'etrex_touch',
170
+ 2147: 'edge25',
171
+ 2148: 'fr25',
172
+ 2150: 'vivo_fit2',
173
+ 2153: 'fr225',
174
+ 2156: 'fr630',
175
+ 2157: 'fr230',
176
+ 2158: 'fr735xt',
177
+ 2160: 'vivo_active_apac',
178
+ 2161: 'vector2',
179
+ 2162: 'vector2s',
180
+ 2172: 'virbxe',
181
+ 2173: 'fr620_taiwan',
182
+ 2174: 'fr220_taiwan',
183
+ 2175: 'truswing',
184
+ 2187: 'd2airvenu',
185
+ 2188: 'fenix3_china',
186
+ 2189: 'fenix3_twn',
187
+ 2192: 'varia_headlight',
188
+ 2193: 'varia_taillight_old',
189
+ 2204: 'edge_explore1000',
190
+ 2219: 'fr225_asia',
191
+ 2225: 'varia_radar_taillight',
192
+ 2226: 'varia_radar_display',
193
+ 2238: 'edge20',
194
+ 2260: 'edge520_asia',
195
+ 2261: 'edge520_japan',
196
+ 2262: 'd2_bravo',
197
+ 2266: 'approach_s20',
198
+ 2271: 'vivo_smart2',
199
+ 2274: 'edge1000_thai',
200
+ 2276: 'varia_remote',
201
+ 2288: 'edge25_asia',
202
+ 2289: 'edge25_jpn',
203
+ 2290: 'edge20_asia',
204
+ 2292: 'approach_x40',
205
+ 2293: 'fenix3_japan',
206
+ 2294: 'vivo_smart_emea',
207
+ 2310: 'fr630_asia',
208
+ 2311: 'fr630_jpn',
209
+ 2313: 'fr230_jpn',
210
+ 2327: 'hrm4_run',
211
+ 2332: 'epix_japan',
212
+ 2337: 'vivo_active_hr',
213
+ 2347: 'vivo_smart_gps_hr',
214
+ 2348: 'vivo_smart_hr',
215
+ 2361: 'vivo_smart_hr_asia',
216
+ 2362: 'vivo_smart_gps_hr_asia',
217
+ 2368: 'vivo_move',
218
+ 2379: 'varia_taillight',
219
+ 2396: 'fr235_asia',
220
+ 2397: 'fr235_japan',
221
+ 2398: 'varia_vision',
222
+ 2406: 'vivo_fit3',
223
+ 2407: 'fenix3_korea',
224
+ 2408: 'fenix3_sea',
225
+ 2413: 'fenix3_hr',
226
+ 2417: 'virb_ultra30',
227
+ 2429: 'index_smart_scale',
228
+ 2431: 'fr235',
229
+ 2432: 'fenix3_chronos',
230
+ 2441: 'oregon7xx',
231
+ 2444: 'rino7xx',
232
+ 2457: 'epix_korea',
233
+ 2473: 'fenix3_hr_chn',
234
+ 2474: 'fenix3_hr_twn',
235
+ 2475: 'fenix3_hr_jpn',
236
+ 2476: 'fenix3_hr_sea',
237
+ 2477: 'fenix3_hr_kor',
238
+ 2496: 'nautix',
239
+ 2497: 'vivo_active_hr_apac',
240
+ 2503: 'fr35',
241
+ 2512: 'oregon7xx_ww',
242
+ 2530: 'edge820',
243
+ 2531: 'edge_explore820',
244
+ 2533: 'fr735xt_apac',
245
+ 2534: 'fr735xt_japan',
246
+ 2544: 'fenix5s',
247
+ 2547: 'd2_bravo_titanium',
248
+ 2567: 'varia_ut800',
249
+ 2593: 'running_dynamics_pod',
250
+ 2599: 'edge820_china',
251
+ 2600: 'edge820_japan',
252
+ 2604: 'fenix5x',
253
+ 2606: 'vivo_fit_jr',
254
+ 2622: 'vivo_smart3',
255
+ 2623: 'vivo_sport',
256
+ 2628: 'edge820_taiwan',
257
+ 2629: 'edge820_korea',
258
+ 2630: 'edge820_sea',
259
+ 2650: 'fr35_hebrew',
260
+ 2656: 'approach_s60',
261
+ 2667: 'fr35_apac',
262
+ 2668: 'fr35_japan',
263
+ 2675: 'fenix3_chronos_asia',
264
+ 2687: 'virb360',
265
+ 2691: 'fr935',
266
+ 2697: 'fenix5',
267
+ 2700: 'vivoactive3',
268
+ 2713: 'edge1030',
269
+ 2727: 'fr35_sea',
270
+ 2733: 'fr235_china_nfc',
271
+ 2769: 'foretrex601_701',
272
+ 2772: 'vivo_move_hr',
273
+ 2787: 'vector3',
274
+ 2796: 'fenix5_asia',
275
+ 2797: 'fenix5s_asia',
276
+ 2798: 'fenix5x_asia',
277
+ 2806: 'approach_z80',
278
+ 2814: 'fr35_korea',
279
+ 2819: 'd2charlie',
280
+ 2831: 'vivo_smart3_apac',
281
+ 2832: 'vivo_sport_apac',
282
+ 2833: 'fr935_asia',
283
+ 2859: 'descent',
284
+ 2878: 'vivo_fit4',
285
+ 2886: 'fr645',
286
+ 2888: 'fr645m',
287
+ 2891: 'fr30',
288
+ 2900: 'fenix5s_plus',
289
+ 2909: 'edge130',
290
+ 2924: 'edge1030_asia',
291
+ 2927: 'vivosmart4',
292
+ 2945: 'vivo_move_hr_asia',
293
+ 2962: 'approach_x10',
294
+ 2977: 'fr30_asia',
295
+ 2988: 'vivoactive3m_w',
296
+ 3003: 'fr645_asia',
297
+ 3004: 'fr645m_asia',
298
+ 3011: 'edge_explore',
299
+ 3028: 'gpsmap66',
300
+ 3049: 'approach_s10',
301
+ 3066: 'vivoactive3m_l',
302
+ 3076: 'fr245',
303
+ 3077: 'fr245_music',
304
+ 3085: 'approach_g80',
305
+ 3092: 'edge130_asia',
306
+ 3095: 'edge1030_bontrager',
307
+ 3110: 'fenix5_plus',
308
+ 3111: 'fenix5x_plus',
309
+ 3112: 'edge520_plus',
310
+ 3113: 'fr945',
311
+ 3121: 'edge530',
312
+ 3122: 'edge830',
313
+ 3126: 'instinct_esports',
314
+ 3134: 'fenix5s_plus_apac',
315
+ 3135: 'fenix5x_plus_apac',
316
+ 3142: 'edge520_plus_apac',
317
+ 3143: 'descent_t1',
318
+ 3144: 'fr235l_asia',
319
+ 3145: 'fr245_asia',
320
+ 3163: 'vivo_active3m_apac',
321
+ 3192: 'gen3_bsm',
322
+ 3193: 'gen3_bcm',
323
+ 3218: 'vivo_smart4_asia',
324
+ 3224: 'vivoactive4_small',
325
+ 3225: 'vivoactive4_large',
326
+ 3226: 'venu',
327
+ 3246: 'marq_driver',
328
+ 3247: 'marq_aviator',
329
+ 3248: 'marq_captain',
330
+ 3249: 'marq_commander',
331
+ 3250: 'marq_expedition',
332
+ 3251: 'marq_athlete',
333
+ 3258: 'descent_mk2',
334
+ 3282: 'fr45',
335
+ 3284: 'gpsmap66i',
336
+ 3287: 'fenix6_s_sport',
337
+ 3288: 'fenix6_s',
338
+ 3289: 'fenix6_sport',
339
+ 3290: 'fenix6',
340
+ 3291: 'fenix6x',
341
+ 3299: 'hrm_dual',
342
+ 3300: 'hrm_pro',
343
+ 3308: 'vivo_move3_premium',
344
+ 3314: 'approach_s40',
345
+ 3321: 'fr245m_asia',
346
+ 3349: 'edge530_apac',
347
+ 3350: 'edge830_apac',
348
+ 3378: 'vivo_move3',
349
+ 3387: 'vivo_active4_small_asia',
350
+ 3388: 'vivo_active4_large_asia',
351
+ 3389: 'vivo_active4_oled_asia',
352
+ 3405: 'swim2',
353
+ 3420: 'marq_driver_asia',
354
+ 3421: 'marq_aviator_asia',
355
+ 3422: 'vivo_move3_asia',
356
+ 3441: 'fr945_asia',
357
+ 3446: 'vivo_active3t_chn',
358
+ 3448: 'marq_captain_asia',
359
+ 3449: 'marq_commander_asia',
360
+ 3450: 'marq_expedition_asia',
361
+ 3451: 'marq_athlete_asia',
362
+ 3461: 'index_smart_scale2',
363
+ 3466: 'instinct_solar',
364
+ 3469: 'fr45_asia',
365
+ 3473: 'vivoactive3_daimler',
366
+ 3498: 'legacy_rey',
367
+ 3499: 'legacy_darth_vader',
368
+ 3500: 'legacy_captain_marvel',
369
+ 3501: 'legacy_first_avenger',
370
+ 3512: 'fenix6s_sport_asia',
371
+ 3513: 'fenix6s_asia',
372
+ 3514: 'fenix6_sport_asia',
373
+ 3515: 'fenix6_asia',
374
+ 3516: 'fenix6x_asia',
375
+ 3535: 'legacy_captain_marvel_asia',
376
+ 3536: 'legacy_first_avenger_asia',
377
+ 3537: 'legacy_rey_asia',
378
+ 3538: 'legacy_darth_vader_asia',
379
+ 3542: 'descent_mk2s',
380
+ 3558: 'edge130_plus',
381
+ 3570: 'edge1030_plus',
382
+ 3578: 'rally200',
383
+ 3589: 'fr745',
384
+ 3596: 'venusq_music',
385
+ 3599: 'venusq_music_v2',
386
+ 3600: 'venusq',
387
+ 3615: 'lily',
388
+ 3624: 'marq_adventurer',
389
+ 3638: 'enduro',
390
+ 3639: 'swim2_apac',
391
+ 3648: 'marq_adventurer_asia',
392
+ 3652: 'fr945_lte',
393
+ 3702: 'descent_mk2_asia',
394
+ 3703: 'venu2',
395
+ 3704: 'venu2s',
396
+ 3737: 'venu_daimler_asia',
397
+ 3739: 'marq_golfer',
398
+ 3740: 'venu_daimler',
399
+ 3794: 'fr745_asia',
400
+ 3808: 'varia_rct715',
401
+ 3809: 'lily_asia',
402
+ 3812: 'edge1030_plus_asia',
403
+ 3813: 'edge130_plus_asia',
404
+ 3823: 'approach_s12',
405
+ 3837: 'venusq_asia',
406
+ 3843: 'edge1040',
407
+ 3850: 'marq_golfer_asia',
408
+ 3851: 'venu2_plus',
409
+ 3865: 'gnss',
410
+ 3869: 'fr55',
411
+ 3872: 'enduro_asia',
412
+ 3888: 'instinct2',
413
+ 3889: 'instinct2s',
414
+ 3905: 'fenix7s',
415
+ 3906: 'fenix7',
416
+ 3907: 'fenix7x',
417
+ 3908: 'fenix7s_apac',
418
+ 3909: 'fenix7_apac',
419
+ 3910: 'fenix7x_apac',
420
+ 3927: 'approach_g12',
421
+ 3930: 'descent_mk2s_asia',
422
+ 3934: 'approach_s42',
423
+ 3943: 'epix_gen2',
424
+ 3944: 'epix_gen2_apac',
425
+ 3949: 'venu2s_asia',
426
+ 3950: 'venu2_asia',
427
+ 3978: 'fr945_lte_asia',
428
+ 3982: 'vivo_move_sport',
429
+ 3983: 'vivomove_trend',
430
+ 3986: 'approach_s12_asia',
431
+ 3990: 'fr255_music',
432
+ 3991: 'fr255_small_music',
433
+ 3992: 'fr255',
434
+ 3993: 'fr255_small',
435
+ 4001: 'approach_g12_asia',
436
+ 4002: 'approach_s42_asia',
437
+ 4005: 'descent_g1',
438
+ 4017: 'venu2_plus_asia',
439
+ 4024: 'fr955',
440
+ 4033: 'fr55_asia',
441
+ 4061: 'edge540',
442
+ 4062: 'edge840',
443
+ 4063: 'vivosmart5',
444
+ 4071: 'instinct2_asia',
445
+ 4105: 'marq_gen2',
446
+ 4115: 'venusq2',
447
+ 4116: 'venusq2music',
448
+ 4124: 'marq_gen2_aviator',
449
+ 4125: 'd2_air_x10',
450
+ 4130: 'hrm_pro_plus',
451
+ 4132: 'descent_g1_asia',
452
+ 4135: 'tactix7',
453
+ 4155: 'instinct_crossover',
454
+ 4169: 'edge_explore2',
455
+ 4222: 'descent_mk3',
456
+ 4223: 'descent_mk3i',
457
+ 4233: 'approach_s70',
458
+ 4257: 'fr265_large',
459
+ 4258: 'fr265_small',
460
+ 4260: 'venu3',
461
+ 4261: 'venu3s',
462
+ 4265: 'tacx_neo_smart',
463
+ 4266: 'tacx_neo2_smart',
464
+ 4267: 'tacx_neo2_t_smart',
465
+ 4268: 'tacx_neo_smart_bike',
466
+ 4269: 'tacx_satori_smart',
467
+ 4270: 'tacx_flow_smart',
468
+ 4271: 'tacx_vortex_smart',
469
+ 4272: 'tacx_bushido_smart',
470
+ 4273: 'tacx_genius_smart',
471
+ 4274: 'tacx_flux_flux_s_smart',
472
+ 4275: 'tacx_flux2_smart',
473
+ 4276: 'tacx_magnum',
474
+ 4305: 'edge1040_asia',
475
+ 4312: 'epix_gen2_pro42',
476
+ 4313: 'epix_gen2_pro47',
477
+ 4314: 'epix_gen2_pro51',
478
+ 4315: 'fr965',
479
+ 4341: 'enduro2',
480
+ 4374: 'fenix7s_pro_solar',
481
+ 4375: 'fenix7_pro_solar',
482
+ 4376: 'fenix7x_pro_solar',
483
+ 4380: 'lily2',
484
+ 4394: 'instinct2x',
485
+ 4426: 'vivoactive5',
486
+ 4432: 'fr165',
487
+ 4433: 'fr165_music',
488
+ 4440: 'edge1050',
489
+ 4442: 'descent_t2',
490
+ 4446: 'hrm_fit',
491
+ 4472: 'marq_gen2_commander',
492
+ 4477: 'lily_athlete',
493
+ 4525: 'rally_x10',
494
+ 4532: 'fenix8_solar',
495
+ 4533: 'fenix8_solar_large',
496
+ 4534: 'fenix8_small',
497
+ 4536: 'fenix8',
498
+ 4556: 'd2_mach1_pro',
499
+ 4575: 'enduro3',
500
+ 4583: 'instinct_e40mm',
501
+ 4584: 'instinct_e45mm',
502
+ 4585: 'instinct3_solar45mm',
503
+ 4586: 'instinct3_amoled45mm',
504
+ 4587: 'instinct3_amoled50mm',
505
+ 4588: 'descent_g2',
506
+ 4603: 'venu_x1',
507
+ 4606: 'hrm200',
508
+ 4625: 'vivoactive6',
509
+ 4631: 'fenix8_pro',
510
+ 4633: 'edge550',
511
+ 4634: 'edge850',
512
+ 4643: 'venu4',
513
+ 4644: 'venu4s',
514
+ 4647: 'approach_s44',
515
+ 4655: 'edge_mtb',
516
+ 4656: 'approach_s50',
517
+ 4666: 'fenix_e',
518
+ 4678: 'instinct_crossover_amoled',
519
+ 4745: 'bounce2',
520
+ 4759: 'instinct3_solar50mm',
521
+ 4775: 'tactix8_amoled',
522
+ 4776: 'tactix8_solar',
523
+ 4814: 'fr170_music',
524
+ 4815: 'fr170',
525
+ 4825: 'approach_j1',
526
+ 4879: 'd2_mach2',
527
+ 4916: 'fr702026',
528
+ 4944: 'd2_air_x15',
529
+ 5056: 'd2_mach2_pro',
530
+ 10007: 'sdm4',
531
+ 10014: 'edge_remote',
532
+ 20119: 'training_center',
533
+ 20533: 'tacx_training_app_win',
534
+ 20534: 'tacx_training_app_mac',
535
+ 20565: 'tacx_training_app_mac_catalyst',
536
+ 30045: 'tacx_training_app_android',
537
+ 30046: 'tacx_training_app_ios',
538
+ 30047: 'tacx_training_app_legacy',
539
+ 65531: 'connectiq_simulator',
540
+ 65532: 'android_antplus_plugin',
541
+ 65534: 'connect',
542
+ };
543
+ export const FIT_PROFILE_MANUFACTURERS = {
544
+ 1: 'garmin',
545
+ 2: 'garmin_fr405_antfs',
546
+ 3: 'zephyr',
547
+ 4: 'dayton',
548
+ 5: 'idt',
549
+ 6: 'srm',
550
+ 7: 'quarq',
551
+ 8: 'ibike',
552
+ 9: 'saris',
553
+ 10: 'spark_hk',
554
+ 11: 'tanita',
555
+ 12: 'echowell',
556
+ 13: 'dynastream_oem',
557
+ 14: 'nautilus',
558
+ 15: 'dynastream',
559
+ 16: 'timex',
560
+ 17: 'metrigear',
561
+ 18: 'xelic',
562
+ 19: 'beurer',
563
+ 20: 'cardiosport',
564
+ 21: 'a_and_d',
565
+ 22: 'hmm',
566
+ 23: 'suunto',
567
+ 24: 'thita_elektronik',
568
+ 25: 'gpulse',
569
+ 26: 'clean_mobile',
570
+ 27: 'pedal_brain',
571
+ 28: 'peaksware',
572
+ 29: 'saxonar',
573
+ 30: 'lemond_fitness',
574
+ 31: 'dexcom',
575
+ 32: 'wahoo_fitness',
576
+ 33: 'octane_fitness',
577
+ 34: 'archinoetics',
578
+ 35: 'the_hurt_box',
579
+ 36: 'citizen_systems',
580
+ 37: 'magellan',
581
+ 38: 'osynce',
582
+ 39: 'holux',
583
+ 40: 'concept2',
584
+ 41: 'shimano',
585
+ 42: 'one_giant_leap',
586
+ 43: 'ace_sensor',
587
+ 44: 'brim_brothers',
588
+ 45: 'xplova',
589
+ 46: 'perception_digital',
590
+ 47: 'bf1systems',
591
+ 48: 'pioneer',
592
+ 49: 'spantec',
593
+ 50: 'metalogics',
594
+ 51: '4iiiis',
595
+ 52: 'seiko_epson',
596
+ 53: 'seiko_epson_oem',
597
+ 54: 'ifor_powell',
598
+ 55: 'maxwell_guider',
599
+ 56: 'star_trac',
600
+ 57: 'breakaway',
601
+ 58: 'alatech_technology_ltd',
602
+ 59: 'mio_technology_europe',
603
+ 60: 'rotor',
604
+ 61: 'geonaute',
605
+ 62: 'id_bike',
606
+ 63: 'specialized',
607
+ 64: 'wtek',
608
+ 65: 'physical_enterprises',
609
+ 66: 'north_pole_engineering',
610
+ 67: 'bkool',
611
+ 68: 'cateye',
612
+ 69: 'stages_cycling',
613
+ 70: 'sigmasport',
614
+ 71: 'tomtom',
615
+ 72: 'peripedal',
616
+ 73: 'wattbike',
617
+ 76: 'moxy',
618
+ 77: 'ciclosport',
619
+ 78: 'powerbahn',
620
+ 79: 'acorn_projects_aps',
621
+ 80: 'lifebeam',
622
+ 81: 'bontrager',
623
+ 82: 'wellgo',
624
+ 83: 'scosche',
625
+ 84: 'magura',
626
+ 85: 'woodway',
627
+ 86: 'elite',
628
+ 87: 'nielsen_kellerman',
629
+ 88: 'dk_city',
630
+ 89: 'tacx',
631
+ 90: 'direction_technology',
632
+ 91: 'magtonic',
633
+ 92: '1partcarbon',
634
+ 93: 'inside_ride_technologies',
635
+ 94: 'sound_of_motion',
636
+ 95: 'stryd',
637
+ 96: 'icg',
638
+ 97: 'mi_pulse',
639
+ 98: 'bsx_athletics',
640
+ 99: 'look',
641
+ 100: 'campagnolo_srl',
642
+ 101: 'body_bike_smart',
643
+ 102: 'praxisworks',
644
+ 103: 'limits_technology',
645
+ 104: 'topaction_technology',
646
+ 105: 'cosinuss',
647
+ 106: 'fitcare',
648
+ 107: 'magene',
649
+ 108: 'giant_manufacturing_co',
650
+ 109: 'tigrasport',
651
+ 110: 'salutron',
652
+ 111: 'technogym',
653
+ 112: 'bryton_sensors',
654
+ 113: 'latitude_limited',
655
+ 114: 'soaring_technology',
656
+ 115: 'igpsport',
657
+ 116: 'thinkrider',
658
+ 117: 'gopher_sport',
659
+ 118: 'waterrower',
660
+ 119: 'orangetheory',
661
+ 120: 'inpeak',
662
+ 121: 'kinetic',
663
+ 122: 'johnson_health_tech',
664
+ 123: 'polar_electro',
665
+ 124: 'seesense',
666
+ 125: 'nci_technology',
667
+ 126: 'iqsquare',
668
+ 127: 'leomo',
669
+ 128: 'ifit_com',
670
+ 129: 'coros_byte',
671
+ 130: 'versa_design',
672
+ 131: 'chileaf',
673
+ 132: 'cycplus',
674
+ 133: 'gravaa_byte',
675
+ 134: 'sigeyi',
676
+ 135: 'coospo',
677
+ 136: 'geoid',
678
+ 137: 'bosch',
679
+ 138: 'kyto',
680
+ 139: 'kinetic_sports',
681
+ 140: 'decathlon_byte',
682
+ 141: 'tq_systems',
683
+ 142: 'tag_heuer',
684
+ 143: 'keiser_fitness',
685
+ 144: 'zwift_byte',
686
+ 145: 'porsche_ep',
687
+ 146: 'blackbird',
688
+ 147: 'meilan_byte',
689
+ 148: 'ezon',
690
+ 149: 'laisi',
691
+ 150: 'myzone',
692
+ 151: 'abawo',
693
+ 152: 'bafang',
694
+ 153: 'luhong_technology',
695
+ 255: 'development',
696
+ 257: 'healthandlife',
697
+ 258: 'lezyne',
698
+ 259: 'scribe_labs',
699
+ 260: 'zwift',
700
+ 261: 'watteam',
701
+ 262: 'recon',
702
+ 263: 'favero_electronics',
703
+ 264: 'dynovelo',
704
+ 265: 'strava',
705
+ 266: 'precor',
706
+ 267: 'bryton',
707
+ 268: 'sram',
708
+ 269: 'navman',
709
+ 270: 'cobi',
710
+ 271: 'spivi',
711
+ 272: 'mio_magellan',
712
+ 273: 'evesports',
713
+ 274: 'sensitivus_gauge',
714
+ 275: 'podoon',
715
+ 276: 'life_time_fitness',
716
+ 277: 'falco_e_motors',
717
+ 278: 'minoura',
718
+ 279: 'cycliq',
719
+ 280: 'luxottica',
720
+ 281: 'trainer_road',
721
+ 282: 'the_sufferfest',
722
+ 283: 'fullspeedahead',
723
+ 284: 'virtualtraining',
724
+ 285: 'feedbacksports',
725
+ 286: 'omata',
726
+ 287: 'vdo',
727
+ 288: 'magneticdays',
728
+ 289: 'hammerhead',
729
+ 290: 'kinetic_by_kurt',
730
+ 291: 'shapelog',
731
+ 292: 'dabuziduo',
732
+ 293: 'jetblack',
733
+ 294: 'coros',
734
+ 295: 'virtugo',
735
+ 296: 'velosense',
736
+ 297: 'cycligentinc',
737
+ 298: 'trailforks',
738
+ 299: 'mahle_ebikemotion',
739
+ 300: 'nurvv',
740
+ 301: 'microprogram',
741
+ 302: 'zone5cloud',
742
+ 303: 'greenteg',
743
+ 304: 'yamaha_motors',
744
+ 305: 'whoop',
745
+ 306: 'gravaa',
746
+ 307: 'onelap',
747
+ 308: 'monark_exercise',
748
+ 309: 'form',
749
+ 310: 'decathlon',
750
+ 311: 'syncros',
751
+ 312: 'heatup',
752
+ 313: 'cannondale',
753
+ 314: 'true_fitness',
754
+ 315: 'r_gt_cycling',
755
+ 316: 'vasa',
756
+ 317: 'race_republic',
757
+ 318: 'fazua',
758
+ 319: 'oreka_training',
759
+ 320: 'lsec',
760
+ 321: 'lululemon_studio',
761
+ 322: 'shanyue',
762
+ 323: 'spinning_mda',
763
+ 324: 'hilldating',
764
+ 325: 'aero_sensor',
765
+ 326: 'nike',
766
+ 327: 'magicshine',
767
+ 328: 'ictrainer',
768
+ 329: 'absolute_cycling',
769
+ 330: 'eo_swimbetter',
770
+ 331: 'mywhoosh',
771
+ 332: 'ravemen',
772
+ 333: 'tektro_racing_products',
773
+ 334: 'darad_innovation_corporation',
774
+ 335: 'cycloptim',
775
+ 337: 'runna',
776
+ 339: 'zepp',
777
+ 340: 'peloton',
778
+ 341: 'carv',
779
+ 342: 'tissot',
780
+ 345: 'real_velo',
781
+ 346: 'wetech',
782
+ 347: 'jespr',
783
+ 348: 'huawei',
784
+ 349: 'gotoes',
785
+ 350: 'cadence_app',
786
+ 5759: 'actigraphcorp',
787
+ };
788
+ export const FIT_PROFILE_SPORTS = {
789
+ 0: 'generic',
790
+ 1: 'running',
791
+ 2: 'cycling',
792
+ 3: 'transition',
793
+ 4: 'fitness_equipment',
794
+ 5: 'swimming',
795
+ 6: 'basketball',
796
+ 7: 'soccer',
797
+ 8: 'tennis',
798
+ 9: 'american_football',
799
+ 10: 'training',
800
+ 11: 'walking',
801
+ 12: 'cross_country_skiing',
802
+ 13: 'alpine_skiing',
803
+ 14: 'snowboarding',
804
+ 15: 'rowing',
805
+ 16: 'mountaineering',
806
+ 17: 'hiking',
807
+ 18: 'multisport',
808
+ 19: 'paddling',
809
+ 20: 'flying',
810
+ 21: 'e_biking',
811
+ 22: 'motorcycling',
812
+ 23: 'boating',
813
+ 24: 'driving',
814
+ 25: 'golf',
815
+ 26: 'hang_gliding',
816
+ 27: 'horseback_riding',
817
+ 28: 'hunting',
818
+ 29: 'fishing',
819
+ 30: 'inline_skating',
820
+ 31: 'rock_climbing',
821
+ 32: 'sailing',
822
+ 33: 'ice_skating',
823
+ 34: 'sky_diving',
824
+ 35: 'snowshoeing',
825
+ 36: 'snowmobiling',
826
+ 37: 'stand_up_paddleboarding',
827
+ 38: 'surfing',
828
+ 39: 'wakeboarding',
829
+ 40: 'water_skiing',
830
+ 41: 'kayaking',
831
+ 42: 'rafting',
832
+ 43: 'windsurfing',
833
+ 44: 'kitesurfing',
834
+ 45: 'tactical',
835
+ 46: 'jumpmaster',
836
+ 47: 'boxing',
837
+ 48: 'floor_climbing',
838
+ 49: 'baseball',
839
+ 53: 'diving',
840
+ 56: 'shooting',
841
+ 58: 'winter_sport',
842
+ 59: 'grinding',
843
+ 62: 'hiit',
844
+ 63: 'video_gaming',
845
+ 64: 'racket',
846
+ 65: 'wheelchair_push_walk',
847
+ 66: 'wheelchair_push_run',
848
+ 67: 'meditation',
849
+ 68: 'para_sport',
850
+ 69: 'disc_golf',
851
+ 70: 'team_sport',
852
+ 71: 'cricket',
853
+ 72: 'rugby',
854
+ 73: 'hockey',
855
+ 74: 'lacrosse',
856
+ 75: 'volleyball',
857
+ 76: 'water_tubing',
858
+ 77: 'wakesurfing',
859
+ 78: 'water_sport',
860
+ 79: 'archery',
861
+ 80: 'mixed_martial_arts',
862
+ 81: 'motor_sports',
863
+ 82: 'snorkeling',
864
+ 83: 'dance',
865
+ 84: 'jump_rope',
866
+ 85: 'pool_apnea',
867
+ 86: 'mobility',
868
+ 87: 'geocaching',
869
+ 88: 'canoeing',
870
+ 254: 'all',
871
+ };
872
+ export const FIT_PROFILE_SUB_SPORTS = {
873
+ 0: 'generic',
874
+ 1: 'treadmill',
875
+ 2: 'street',
876
+ 3: 'trail',
877
+ 4: 'track',
878
+ 5: 'spin',
879
+ 6: 'indoor_cycling',
880
+ 7: 'road',
881
+ 8: 'mountain',
882
+ 9: 'downhill',
883
+ 10: 'recumbent',
884
+ 11: 'cyclocross',
885
+ 12: 'hand_cycling',
886
+ 13: 'track_cycling',
887
+ 14: 'indoor_rowing',
888
+ 15: 'elliptical',
889
+ 16: 'stair_climbing',
890
+ 17: 'lap_swimming',
891
+ 18: 'open_water',
892
+ 19: 'flexibility_training',
893
+ 20: 'strength_training',
894
+ 21: 'warm_up',
895
+ 22: 'match',
896
+ 23: 'exercise',
897
+ 24: 'challenge',
898
+ 25: 'indoor_skiing',
899
+ 26: 'cardio_training',
900
+ 27: 'indoor_walking',
901
+ 28: 'e_bike_fitness',
902
+ 29: 'bmx',
903
+ 30: 'casual_walking',
904
+ 31: 'speed_walking',
905
+ 32: 'bike_to_run_transition',
906
+ 33: 'run_to_bike_transition',
907
+ 34: 'swim_to_bike_transition',
908
+ 35: 'atv',
909
+ 36: 'motocross',
910
+ 37: 'backcountry',
911
+ 38: 'resort',
912
+ 39: 'rc_drone',
913
+ 40: 'wingsuit',
914
+ 41: 'whitewater',
915
+ 42: 'skate_skiing',
916
+ 43: 'yoga',
917
+ 44: 'pilates',
918
+ 45: 'indoor_running',
919
+ 46: 'gravel_cycling',
920
+ 47: 'e_bike_mountain',
921
+ 48: 'commuting',
922
+ 49: 'mixed_surface',
923
+ 50: 'navigate',
924
+ 51: 'track_me',
925
+ 52: 'map',
926
+ 53: 'single_gas_diving',
927
+ 54: 'multi_gas_diving',
928
+ 55: 'gauge_diving',
929
+ 56: 'apnea_diving',
930
+ 57: 'apnea_hunting',
931
+ 58: 'virtual_activity',
932
+ 59: 'obstacle',
933
+ 62: 'breathing',
934
+ 63: 'ccr_diving',
935
+ 65: 'sail_race',
936
+ 66: 'expedition',
937
+ 67: 'ultra',
938
+ 68: 'indoor_climbing',
939
+ 69: 'bouldering',
940
+ 70: 'hiit',
941
+ 71: 'indoor_grinding',
942
+ 72: 'hunting_with_dogs',
943
+ 73: 'amrap',
944
+ 74: 'emom',
945
+ 75: 'tabata',
946
+ 77: 'esport',
947
+ 78: 'triathlon',
948
+ 79: 'duathlon',
949
+ 80: 'brick',
950
+ 81: 'swim_run',
951
+ 82: 'adventure_race',
952
+ 83: 'trucker_workout',
953
+ 84: 'pickleball',
954
+ 85: 'padel',
955
+ 86: 'indoor_wheelchair_walk',
956
+ 87: 'indoor_wheelchair_run',
957
+ 88: 'indoor_hand_cycling',
958
+ 90: 'field',
959
+ 91: 'ice',
960
+ 92: 'ultimate',
961
+ 93: 'platform',
962
+ 94: 'squash',
963
+ 95: 'badminton',
964
+ 96: 'racquetball',
965
+ 97: 'table_tennis',
966
+ 98: 'overland',
967
+ 99: 'trolling_motor',
968
+ 110: 'fly_canopy',
969
+ 111: 'fly_paraglide',
970
+ 112: 'fly_paramotor',
971
+ 113: 'fly_pressurized',
972
+ 114: 'fly_navigate',
973
+ 115: 'fly_timer',
974
+ 116: 'fly_altimeter',
975
+ 117: 'fly_wx',
976
+ 118: 'fly_vfr',
977
+ 119: 'fly_ifr',
978
+ 121: 'dynamic_apnea',
979
+ 123: 'enduro',
980
+ 124: 'rucking',
981
+ 125: 'rally',
982
+ 126: 'pool_triathlon',
983
+ 127: 'e_bike_enduro',
984
+ 153: 'mountain_enduro',
985
+ 154: 'mountain_downhill',
986
+ 254: 'all',
987
+ };