fit-file-parser 4.0.0 → 4.0.1
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.
- package/dist/binary.js +15 -0
- package/dist/cjs/binary.js +15 -0
- package/dist/cjs/fit.js +420 -100
- package/dist/cjs/fit_types.d.ts +1 -1
- package/dist/fit.js +420 -100
- package/dist/fit_types.d.ts +1 -1
- package/package.json +4 -1
package/dist/binary.js
CHANGED
|
@@ -319,6 +319,20 @@ function applyOptions(data, field, options, fields) {
|
|
|
319
319
|
return data;
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
|
+
function applyGarminProductName(fields) {
|
|
323
|
+
if (fields.product_name !== undefined || fields.manufacturer !== 'garmin') {
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
const product = fields.product;
|
|
327
|
+
if (typeof product !== 'number') {
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
const productName = FIT.types.garmin_product[product];
|
|
331
|
+
if (typeof productName === 'string') {
|
|
332
|
+
// Keep the raw protocol ID and expose the SDK product name separately.
|
|
333
|
+
fields.product_name = productName;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
322
336
|
export function readRecord(blob, messageTypes, developerFields, startIndex, options, startDate, pausedTime, dataView = new DataView(blob.buffer, blob.byteOffset, blob.byteLength)) {
|
|
323
337
|
var _a, _b, _c, _d, _e;
|
|
324
338
|
const recordHeader = blob[startIndex];
|
|
@@ -464,6 +478,7 @@ export function readRecord(blob, messageTypes, developerFields, startIndex, opti
|
|
|
464
478
|
}
|
|
465
479
|
}
|
|
466
480
|
}
|
|
481
|
+
applyGarminProductName(fields);
|
|
467
482
|
if (validFieldCount > 0 && message.name === 'record' && options.elapsedRecordField) {
|
|
468
483
|
fields.elapsed_time = (fields.timestamp - (startDate || 0)) / 1000;
|
|
469
484
|
fields.timer_time = fields.elapsed_time - pausedTime;
|
package/dist/cjs/binary.js
CHANGED
|
@@ -325,6 +325,20 @@ function applyOptions(data, field, options, fields) {
|
|
|
325
325
|
return data;
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
|
+
function applyGarminProductName(fields) {
|
|
329
|
+
if (fields.product_name !== undefined || fields.manufacturer !== 'garmin') {
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
const product = fields.product;
|
|
333
|
+
if (typeof product !== 'number') {
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
const productName = fit_js_1.FIT.types.garmin_product[product];
|
|
337
|
+
if (typeof productName === 'string') {
|
|
338
|
+
// Keep the raw protocol ID and expose the SDK product name separately.
|
|
339
|
+
fields.product_name = productName;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
328
342
|
function readRecord(blob, messageTypes, developerFields, startIndex, options, startDate, pausedTime, dataView = new DataView(blob.buffer, blob.byteOffset, blob.byteLength)) {
|
|
329
343
|
var _a, _b, _c, _d, _e;
|
|
330
344
|
const recordHeader = blob[startIndex];
|
|
@@ -470,6 +484,7 @@ function readRecord(blob, messageTypes, developerFields, startIndex, options, st
|
|
|
470
484
|
}
|
|
471
485
|
}
|
|
472
486
|
}
|
|
487
|
+
applyGarminProductName(fields);
|
|
473
488
|
if (validFieldCount > 0 && message.name === 'record' && options.elapsedRecordField) {
|
|
474
489
|
fields.elapsed_time = (fields.timestamp - (startDate || 0)) / 1000;
|
|
475
490
|
fields.timer_time = fields.elapsed_time - pausedTime;
|
package/dist/cjs/fit.js
CHANGED
|
@@ -6353,164 +6353,484 @@ exports.FIT = {
|
|
|
6353
6353
|
5759: 'actigraphcorp',
|
|
6354
6354
|
},
|
|
6355
6355
|
garmin_product: {
|
|
6356
|
-
0: 'hrm_bike',
|
|
6357
6356
|
1: 'hrm1',
|
|
6358
6357
|
2: 'axh01',
|
|
6359
6358
|
3: 'axb01',
|
|
6360
6359
|
4: 'axb02',
|
|
6361
6360
|
5: 'hrm2ss',
|
|
6362
|
-
6: '
|
|
6361
|
+
6: 'dsiAlf02',
|
|
6363
6362
|
7: 'hrm3ss',
|
|
6364
|
-
8: '
|
|
6363
|
+
8: 'hrmRunSingleByteProductId',
|
|
6365
6364
|
9: 'bsm',
|
|
6366
6365
|
10: 'bcm',
|
|
6367
6366
|
11: 'axs01',
|
|
6368
|
-
12: '
|
|
6369
|
-
|
|
6370
|
-
|
|
6371
|
-
|
|
6372
|
-
|
|
6373
|
-
|
|
6367
|
+
12: 'hrmTriSingleByteProductId',
|
|
6368
|
+
13: 'hrm4RunSingleByteProductId',
|
|
6369
|
+
14: 'fr225SingleByteProductId',
|
|
6370
|
+
15: 'gen3BsmSingleByteProductId',
|
|
6371
|
+
16: 'gen3BcmSingleByteProductId',
|
|
6372
|
+
22: 'hrmFitSingleByteProductId',
|
|
6373
|
+
255: 'oHR',
|
|
6374
|
+
473: 'fr301China',
|
|
6375
|
+
474: 'fr301Japan',
|
|
6376
|
+
475: 'fr301Korea',
|
|
6377
|
+
494: 'fr301Taiwan',
|
|
6374
6378
|
717: 'fr405',
|
|
6375
6379
|
782: 'fr50',
|
|
6376
|
-
987: '
|
|
6380
|
+
987: 'fr405Japan',
|
|
6377
6381
|
988: 'fr60',
|
|
6378
|
-
1011: '
|
|
6382
|
+
1011: 'dsiAlf01',
|
|
6379
6383
|
1018: 'fr310xt',
|
|
6380
6384
|
1036: 'edge500',
|
|
6381
6385
|
1124: 'fr110',
|
|
6382
6386
|
1169: 'edge800',
|
|
6383
|
-
1199: '
|
|
6384
|
-
1213: '
|
|
6387
|
+
1199: 'edge500Taiwan',
|
|
6388
|
+
1213: 'edge500Japan',
|
|
6385
6389
|
1253: 'chirp',
|
|
6386
|
-
1274: '
|
|
6390
|
+
1274: 'fr110Japan',
|
|
6387
6391
|
1325: 'edge200',
|
|
6388
6392
|
1328: 'fr910xt',
|
|
6389
|
-
1333: '
|
|
6390
|
-
1334: '
|
|
6393
|
+
1333: 'edge800Taiwan',
|
|
6394
|
+
1334: 'edge800Japan',
|
|
6391
6395
|
1341: 'alf04',
|
|
6392
6396
|
1345: 'fr610',
|
|
6393
|
-
1360: '
|
|
6394
|
-
1380: '
|
|
6395
|
-
1381: '
|
|
6396
|
-
1386: '
|
|
6397
|
-
1387: '
|
|
6398
|
-
|
|
6399
|
-
|
|
6397
|
+
1360: 'fr210Japan',
|
|
6398
|
+
1380: 'vectorSs',
|
|
6399
|
+
1381: 'vectorCp',
|
|
6400
|
+
1386: 'edge800China',
|
|
6401
|
+
1387: 'edge500China',
|
|
6402
|
+
1405: 'approachG10',
|
|
6403
|
+
1410: 'fr610Japan',
|
|
6404
|
+
1422: 'edge500Korea',
|
|
6400
6405
|
1436: 'fr70',
|
|
6401
|
-
1446: '
|
|
6406
|
+
1446: 'fr310xt4t',
|
|
6402
6407
|
1461: 'amx',
|
|
6403
6408
|
1482: 'fr10',
|
|
6404
|
-
1497: '
|
|
6409
|
+
1497: 'edge800Korea',
|
|
6405
6410
|
1499: 'swim',
|
|
6406
|
-
1537: '
|
|
6411
|
+
1537: 'fr910xtChina',
|
|
6407
6412
|
1551: 'fenix',
|
|
6408
|
-
1555: '
|
|
6413
|
+
1555: 'edge200Taiwan',
|
|
6409
6414
|
1561: 'edge510',
|
|
6410
6415
|
1567: 'edge810',
|
|
6411
6416
|
1570: 'tempe',
|
|
6412
|
-
1600: '
|
|
6417
|
+
1600: 'fr910xtJapan',
|
|
6413
6418
|
1623: 'fr620',
|
|
6414
6419
|
1632: 'fr220',
|
|
6415
|
-
1664: '
|
|
6416
|
-
1688: '
|
|
6417
|
-
1721: '
|
|
6418
|
-
1735: '
|
|
6419
|
-
1736: '
|
|
6420
|
-
1742: '
|
|
6421
|
-
1743: '
|
|
6422
|
-
1752: '
|
|
6420
|
+
1664: 'fr910xtKorea',
|
|
6421
|
+
1688: 'fr10Japan',
|
|
6422
|
+
1721: 'edge810Japan',
|
|
6423
|
+
1735: 'virbElite',
|
|
6424
|
+
1736: 'edgeTouring',
|
|
6425
|
+
1742: 'edge510Japan',
|
|
6426
|
+
1743: 'hrmTri',
|
|
6427
|
+
1752: 'hrmRun',
|
|
6423
6428
|
1765: 'fr920xt',
|
|
6424
|
-
1821: '
|
|
6425
|
-
1822: '
|
|
6426
|
-
1823: '
|
|
6429
|
+
1821: 'edge510Asia',
|
|
6430
|
+
1822: 'edge810China',
|
|
6431
|
+
1823: 'edge810Taiwan',
|
|
6427
6432
|
1836: 'edge1000',
|
|
6428
|
-
1837: '
|
|
6429
|
-
1853: '
|
|
6430
|
-
1885: '
|
|
6433
|
+
1837: 'vivoFit',
|
|
6434
|
+
1853: 'virbRemote',
|
|
6435
|
+
1885: 'vivoKi',
|
|
6431
6436
|
1903: 'fr15',
|
|
6432
|
-
1907: '
|
|
6433
|
-
1918: '
|
|
6434
|
-
1928: '
|
|
6435
|
-
1929: '
|
|
6436
|
-
1930: '
|
|
6437
|
-
1931: '
|
|
6438
|
-
1936: '
|
|
6439
|
-
1956: '
|
|
6437
|
+
1907: 'vivoActive',
|
|
6438
|
+
1918: 'edge510Korea',
|
|
6439
|
+
1928: 'fr620Japan',
|
|
6440
|
+
1929: 'fr620China',
|
|
6441
|
+
1930: 'fr220Japan',
|
|
6442
|
+
1931: 'fr220China',
|
|
6443
|
+
1936: 'approachS6',
|
|
6444
|
+
1956: 'vivoSmart',
|
|
6440
6445
|
1967: 'fenix2',
|
|
6441
6446
|
1988: 'epix',
|
|
6442
6447
|
2050: 'fenix3',
|
|
6443
|
-
2052: '
|
|
6444
|
-
2053: '
|
|
6445
|
-
2061: '
|
|
6448
|
+
2052: 'edge1000Taiwan',
|
|
6449
|
+
2053: 'edge1000Japan',
|
|
6450
|
+
2061: 'fr15Japan',
|
|
6446
6451
|
2067: 'edge520',
|
|
6447
|
-
2070: '
|
|
6448
|
-
2072: '
|
|
6449
|
-
2073: '
|
|
6450
|
-
2079: '
|
|
6451
|
-
2100: '
|
|
6452
|
-
2130: '
|
|
6453
|
-
2131: '
|
|
6454
|
-
2132: '
|
|
6452
|
+
2070: 'edge1000China',
|
|
6453
|
+
2072: 'fr620Russia',
|
|
6454
|
+
2073: 'fr220Russia',
|
|
6455
|
+
2079: 'vectorS',
|
|
6456
|
+
2100: 'edge1000Korea',
|
|
6457
|
+
2130: 'fr920xtTaiwan',
|
|
6458
|
+
2131: 'fr920xtChina',
|
|
6459
|
+
2132: 'fr920xtJapan',
|
|
6455
6460
|
2134: 'virbx',
|
|
6456
|
-
2135: '
|
|
6457
|
-
2140: '
|
|
6461
|
+
2135: 'vivoSmartApac',
|
|
6462
|
+
2140: 'etrexTouch',
|
|
6458
6463
|
2147: 'edge25',
|
|
6459
6464
|
2148: 'fr25',
|
|
6460
|
-
2150: '
|
|
6465
|
+
2150: 'vivoFit2',
|
|
6461
6466
|
2153: 'fr225',
|
|
6462
6467
|
2156: 'fr630',
|
|
6463
6468
|
2157: 'fr230',
|
|
6464
6469
|
2158: 'fr735xt',
|
|
6465
|
-
2160: '
|
|
6466
|
-
2161: '
|
|
6467
|
-
2162: '
|
|
6470
|
+
2160: 'vivoActiveApac',
|
|
6471
|
+
2161: 'vector2',
|
|
6472
|
+
2162: 'vector2s',
|
|
6468
6473
|
2172: 'virbxe',
|
|
6469
|
-
2173: '
|
|
6470
|
-
2174: '
|
|
6474
|
+
2173: 'fr620Taiwan',
|
|
6475
|
+
2174: 'fr220Taiwan',
|
|
6471
6476
|
2175: 'truswing',
|
|
6472
|
-
|
|
6473
|
-
|
|
6474
|
-
|
|
6475
|
-
|
|
6476
|
-
|
|
6477
|
-
|
|
6478
|
-
|
|
6479
|
-
|
|
6477
|
+
2187: 'd2airvenu',
|
|
6478
|
+
2188: 'fenix3China',
|
|
6479
|
+
2189: 'fenix3Twn',
|
|
6480
|
+
2192: 'variaHeadlight',
|
|
6481
|
+
2193: 'variaTaillightOld',
|
|
6482
|
+
2204: 'edgeExplore1000',
|
|
6483
|
+
2219: 'fr225Asia',
|
|
6484
|
+
2225: 'variaRadarTaillight',
|
|
6485
|
+
2226: 'variaRadarDisplay',
|
|
6480
6486
|
2238: 'edge20',
|
|
6481
|
-
|
|
6482
|
-
|
|
6483
|
-
|
|
6484
|
-
|
|
6485
|
-
|
|
6486
|
-
|
|
6487
|
-
|
|
6488
|
-
|
|
6489
|
-
|
|
6490
|
-
|
|
6491
|
-
|
|
6492
|
-
|
|
6487
|
+
2260: 'edge520Asia',
|
|
6488
|
+
2261: 'edge520Japan',
|
|
6489
|
+
2262: 'd2Bravo',
|
|
6490
|
+
2266: 'approachS20',
|
|
6491
|
+
2271: 'vivoSmart2',
|
|
6492
|
+
2274: 'edge1000Thai',
|
|
6493
|
+
2276: 'variaRemote',
|
|
6494
|
+
2288: 'edge25Asia',
|
|
6495
|
+
2289: 'edge25Jpn',
|
|
6496
|
+
2290: 'edge20Asia',
|
|
6497
|
+
2292: 'approachX40',
|
|
6498
|
+
2293: 'fenix3Japan',
|
|
6499
|
+
2294: 'vivoSmartEmea',
|
|
6500
|
+
2310: 'fr630Asia',
|
|
6501
|
+
2311: 'fr630Jpn',
|
|
6502
|
+
2313: 'fr230Jpn',
|
|
6503
|
+
2327: 'hrm4Run',
|
|
6504
|
+
2332: 'epixJapan',
|
|
6505
|
+
2337: 'vivoActiveHr',
|
|
6506
|
+
2347: 'vivoSmartGpsHr',
|
|
6507
|
+
2348: 'vivoSmartHr',
|
|
6508
|
+
2361: 'vivoSmartHrAsia',
|
|
6509
|
+
2362: 'vivoSmartGpsHrAsia',
|
|
6510
|
+
2368: 'vivoMove',
|
|
6511
|
+
2379: 'variaTaillight',
|
|
6512
|
+
2396: 'fr235Asia',
|
|
6513
|
+
2397: 'fr235Japan',
|
|
6514
|
+
2398: 'variaVision',
|
|
6515
|
+
2406: 'vivoFit3',
|
|
6516
|
+
2407: 'fenix3Korea',
|
|
6517
|
+
2408: 'fenix3Sea',
|
|
6518
|
+
2413: 'fenix3Hr',
|
|
6519
|
+
2417: 'virbUltra30',
|
|
6520
|
+
2429: 'indexSmartScale',
|
|
6493
6521
|
2431: 'fr235',
|
|
6494
|
-
2432: '
|
|
6522
|
+
2432: 'fenix3Chronos',
|
|
6495
6523
|
2441: 'oregon7xx',
|
|
6496
6524
|
2444: 'rino7xx',
|
|
6525
|
+
2457: 'epixKorea',
|
|
6526
|
+
2473: 'fenix3HrChn',
|
|
6527
|
+
2474: 'fenix3HrTwn',
|
|
6528
|
+
2475: 'fenix3HrJpn',
|
|
6529
|
+
2476: 'fenix3HrSea',
|
|
6530
|
+
2477: 'fenix3HrKor',
|
|
6497
6531
|
2496: 'nautix',
|
|
6498
|
-
|
|
6499
|
-
|
|
6532
|
+
2497: 'vivoActiveHrApac',
|
|
6533
|
+
2503: 'fr35',
|
|
6534
|
+
2512: 'oregon7xxWw',
|
|
6535
|
+
2530: 'edge820',
|
|
6536
|
+
2531: 'edgeExplore820',
|
|
6537
|
+
2533: 'fr735xtApac',
|
|
6538
|
+
2534: 'fr735xtJapan',
|
|
6500
6539
|
2544: 'fenix5s',
|
|
6501
|
-
2547: '
|
|
6502
|
-
2567: '
|
|
6503
|
-
2593: '
|
|
6540
|
+
2547: 'd2BravoTitanium',
|
|
6541
|
+
2567: 'variaUt800',
|
|
6542
|
+
2593: 'runningDynamicsPod',
|
|
6543
|
+
2599: 'edge820China',
|
|
6544
|
+
2600: 'edge820Japan',
|
|
6504
6545
|
2604: 'fenix5x',
|
|
6505
|
-
2606: '
|
|
6546
|
+
2606: 'vivoFitJr',
|
|
6547
|
+
2622: 'vivoSmart3',
|
|
6548
|
+
2623: 'vivoSport',
|
|
6549
|
+
2628: 'edge820Taiwan',
|
|
6550
|
+
2629: 'edge820Korea',
|
|
6551
|
+
2630: 'edge820Sea',
|
|
6552
|
+
2650: 'fr35Hebrew',
|
|
6553
|
+
2656: 'approachS60',
|
|
6554
|
+
2667: 'fr35Apac',
|
|
6555
|
+
2668: 'fr35Japan',
|
|
6556
|
+
2675: 'fenix3ChronosAsia',
|
|
6557
|
+
2687: 'virb360',
|
|
6506
6558
|
2691: 'fr935',
|
|
6507
6559
|
2697: 'fenix5',
|
|
6560
|
+
2700: 'vivoactive3',
|
|
6561
|
+
2713: 'edge1030',
|
|
6562
|
+
2727: 'fr35Sea',
|
|
6563
|
+
2733: 'fr235ChinaNfc',
|
|
6564
|
+
2769: 'foretrex601_701',
|
|
6565
|
+
2772: 'vivoMoveHr',
|
|
6566
|
+
2787: 'vector3',
|
|
6567
|
+
2796: 'fenix5Asia',
|
|
6568
|
+
2797: 'fenix5sAsia',
|
|
6569
|
+
2798: 'fenix5xAsia',
|
|
6570
|
+
2806: 'approachZ80',
|
|
6571
|
+
2814: 'fr35Korea',
|
|
6572
|
+
2819: 'd2charlie',
|
|
6573
|
+
2831: 'vivoSmart3Apac',
|
|
6574
|
+
2832: 'vivoSportApac',
|
|
6575
|
+
2833: 'fr935Asia',
|
|
6508
6576
|
2859: 'descent',
|
|
6577
|
+
2878: 'vivoFit4',
|
|
6578
|
+
2886: 'fr645',
|
|
6579
|
+
2888: 'fr645m',
|
|
6580
|
+
2891: 'fr30',
|
|
6581
|
+
2900: 'fenix5sPlus',
|
|
6582
|
+
2909: 'edge130',
|
|
6583
|
+
2924: 'edge1030Asia',
|
|
6584
|
+
2927: 'vivosmart4',
|
|
6585
|
+
2945: 'vivoMoveHrAsia',
|
|
6586
|
+
2962: 'approachX10',
|
|
6587
|
+
2977: 'fr30Asia',
|
|
6588
|
+
2988: 'vivoactive3mW',
|
|
6589
|
+
3003: 'fr645Asia',
|
|
6590
|
+
3004: 'fr645mAsia',
|
|
6591
|
+
3011: 'edgeExplore',
|
|
6592
|
+
3028: 'gpsmap66',
|
|
6593
|
+
3049: 'approachS10',
|
|
6594
|
+
3066: 'vivoactive3mL',
|
|
6595
|
+
3076: 'fr245',
|
|
6596
|
+
3077: 'fr245Music',
|
|
6597
|
+
3085: 'approachG80',
|
|
6598
|
+
3092: 'edge130Asia',
|
|
6599
|
+
3095: 'edge1030Bontrager',
|
|
6600
|
+
3110: 'fenix5Plus',
|
|
6601
|
+
3111: 'fenix5xPlus',
|
|
6602
|
+
3112: 'edge520Plus',
|
|
6603
|
+
3113: 'fr945',
|
|
6604
|
+
3121: 'edge530',
|
|
6605
|
+
3122: 'edge830',
|
|
6606
|
+
3126: 'instinctEsports',
|
|
6607
|
+
3134: 'fenix5sPlusApac',
|
|
6608
|
+
3135: 'fenix5xPlusApac',
|
|
6609
|
+
3142: 'edge520PlusApac',
|
|
6610
|
+
3143: 'descentT1',
|
|
6611
|
+
3144: 'fr235lAsia',
|
|
6612
|
+
3145: 'fr245Asia',
|
|
6613
|
+
3163: 'vivoActive3mApac',
|
|
6614
|
+
3192: 'gen3Bsm',
|
|
6615
|
+
3193: 'gen3Bcm',
|
|
6616
|
+
3218: 'vivoSmart4Asia',
|
|
6617
|
+
3224: 'vivoactive4Small',
|
|
6618
|
+
3225: 'vivoactive4Large',
|
|
6619
|
+
3226: 'venu',
|
|
6620
|
+
3246: 'marqDriver',
|
|
6621
|
+
3247: 'marqAviator',
|
|
6622
|
+
3248: 'marqCaptain',
|
|
6623
|
+
3249: 'marqCommander',
|
|
6624
|
+
3250: 'marqExpedition',
|
|
6625
|
+
3251: 'marqAthlete',
|
|
6626
|
+
3258: 'descentMk2',
|
|
6627
|
+
3282: 'fr45',
|
|
6628
|
+
3284: 'gpsmap66i',
|
|
6629
|
+
3287: 'fenix6SSport',
|
|
6630
|
+
3288: 'fenix6S',
|
|
6631
|
+
3289: 'fenix6Sport',
|
|
6632
|
+
3290: 'fenix6',
|
|
6633
|
+
3291: 'fenix6x',
|
|
6634
|
+
3299: 'hrmDual',
|
|
6635
|
+
3300: 'hrmPro',
|
|
6636
|
+
3308: 'vivoMove3Premium',
|
|
6637
|
+
3314: 'approachS40',
|
|
6638
|
+
3321: 'fr245mAsia',
|
|
6639
|
+
3349: 'edge530Apac',
|
|
6640
|
+
3350: 'edge830Apac',
|
|
6641
|
+
3378: 'vivoMove3',
|
|
6642
|
+
3387: 'vivoActive4SmallAsia',
|
|
6643
|
+
3388: 'vivoActive4LargeAsia',
|
|
6644
|
+
3389: 'vivoActive4OledAsia',
|
|
6645
|
+
3405: 'swim2',
|
|
6646
|
+
3420: 'marqDriverAsia',
|
|
6647
|
+
3421: 'marqAviatorAsia',
|
|
6648
|
+
3422: 'vivoMove3Asia',
|
|
6649
|
+
3441: 'fr945Asia',
|
|
6650
|
+
3446: 'vivoActive3tChn',
|
|
6651
|
+
3448: 'marqCaptainAsia',
|
|
6652
|
+
3449: 'marqCommanderAsia',
|
|
6653
|
+
3450: 'marqExpeditionAsia',
|
|
6654
|
+
3451: 'marqAthleteAsia',
|
|
6655
|
+
3461: 'indexSmartScale2',
|
|
6656
|
+
3466: 'instinctSolar',
|
|
6657
|
+
3469: 'fr45Asia',
|
|
6658
|
+
3473: 'vivoactive3Daimler',
|
|
6659
|
+
3498: 'legacyRey',
|
|
6660
|
+
3499: 'legacyDarthVader',
|
|
6661
|
+
3500: 'legacyCaptainMarvel',
|
|
6662
|
+
3501: 'legacyFirstAvenger',
|
|
6663
|
+
3512: 'fenix6sSportAsia',
|
|
6664
|
+
3513: 'fenix6sAsia',
|
|
6665
|
+
3514: 'fenix6SportAsia',
|
|
6666
|
+
3515: 'fenix6Asia',
|
|
6667
|
+
3516: 'fenix6xAsia',
|
|
6668
|
+
3535: 'legacyCaptainMarvelAsia',
|
|
6669
|
+
3536: 'legacyFirstAvengerAsia',
|
|
6670
|
+
3537: 'legacyReyAsia',
|
|
6671
|
+
3538: 'legacyDarthVaderAsia',
|
|
6672
|
+
3542: 'descentMk2s',
|
|
6673
|
+
3558: 'edge130Plus',
|
|
6674
|
+
3570: 'edge1030Plus',
|
|
6675
|
+
3578: 'rally200',
|
|
6676
|
+
3589: 'fr745',
|
|
6677
|
+
3596: 'venusqMusic',
|
|
6678
|
+
3599: 'venusqMusicV2',
|
|
6679
|
+
3600: 'venusq',
|
|
6680
|
+
3615: 'lily',
|
|
6681
|
+
3624: 'marqAdventurer',
|
|
6682
|
+
3638: 'enduro',
|
|
6683
|
+
3639: 'swim2Apac',
|
|
6684
|
+
3648: 'marqAdventurerAsia',
|
|
6685
|
+
3652: 'fr945Lte',
|
|
6686
|
+
3702: 'descentMk2Asia',
|
|
6687
|
+
3703: 'venu2',
|
|
6688
|
+
3704: 'venu2s',
|
|
6689
|
+
3737: 'venuDaimlerAsia',
|
|
6690
|
+
3739: 'marqGolfer',
|
|
6691
|
+
3740: 'venuDaimler',
|
|
6692
|
+
3794: 'fr745Asia',
|
|
6693
|
+
3808: 'variaRct715',
|
|
6694
|
+
3809: 'lilyAsia',
|
|
6695
|
+
3812: 'edge1030PlusAsia',
|
|
6696
|
+
3813: 'edge130PlusAsia',
|
|
6697
|
+
3823: 'approachS12',
|
|
6698
|
+
3837: 'venusqAsia',
|
|
6699
|
+
3843: 'edge1040',
|
|
6700
|
+
3850: 'marqGolferAsia',
|
|
6701
|
+
3851: 'venu2Plus',
|
|
6702
|
+
3865: 'gnss',
|
|
6703
|
+
3869: 'fr55',
|
|
6704
|
+
3872: 'enduroAsia',
|
|
6705
|
+
3888: 'instinct2',
|
|
6706
|
+
3889: 'instinct2s',
|
|
6707
|
+
3905: 'fenix7s',
|
|
6708
|
+
3906: 'fenix7',
|
|
6709
|
+
3907: 'fenix7x',
|
|
6710
|
+
3908: 'fenix7sApac',
|
|
6711
|
+
3909: 'fenix7Apac',
|
|
6712
|
+
3910: 'fenix7xApac',
|
|
6713
|
+
3927: 'approachG12',
|
|
6714
|
+
3930: 'descentMk2sAsia',
|
|
6715
|
+
3934: 'approachS42',
|
|
6716
|
+
3943: 'epixGen2',
|
|
6717
|
+
3944: 'epixGen2Apac',
|
|
6718
|
+
3949: 'venu2sAsia',
|
|
6719
|
+
3950: 'venu2Asia',
|
|
6720
|
+
3978: 'fr945LteAsia',
|
|
6721
|
+
3982: 'vivoMoveSport',
|
|
6722
|
+
3983: 'vivomoveTrend',
|
|
6723
|
+
3986: 'approachS12Asia',
|
|
6724
|
+
3990: 'fr255Music',
|
|
6725
|
+
3991: 'fr255SmallMusic',
|
|
6726
|
+
3992: 'fr255',
|
|
6727
|
+
3993: 'fr255Small',
|
|
6728
|
+
4001: 'approachG12Asia',
|
|
6729
|
+
4002: 'approachS42Asia',
|
|
6730
|
+
4005: 'descentG1',
|
|
6731
|
+
4017: 'venu2PlusAsia',
|
|
6732
|
+
4024: 'fr955',
|
|
6733
|
+
4033: 'fr55Asia',
|
|
6734
|
+
4061: 'edge540',
|
|
6735
|
+
4062: 'edge840',
|
|
6736
|
+
4063: 'vivosmart5',
|
|
6737
|
+
4071: 'instinct2Asia',
|
|
6738
|
+
4105: 'marqGen2',
|
|
6739
|
+
4115: 'venusq2',
|
|
6740
|
+
4116: 'venusq2music',
|
|
6741
|
+
4124: 'marqGen2Aviator',
|
|
6742
|
+
4125: 'd2AirX10',
|
|
6743
|
+
4130: 'hrmProPlus',
|
|
6744
|
+
4132: 'descentG1Asia',
|
|
6745
|
+
4135: 'tactix7',
|
|
6746
|
+
4155: 'instinctCrossover',
|
|
6747
|
+
4169: 'edgeExplore2',
|
|
6748
|
+
4222: 'descentMk3',
|
|
6749
|
+
4223: 'descentMk3i',
|
|
6750
|
+
4233: 'approachS70',
|
|
6751
|
+
4257: 'fr265Large',
|
|
6752
|
+
4258: 'fr265Small',
|
|
6753
|
+
4260: 'venu3',
|
|
6754
|
+
4261: 'venu3s',
|
|
6755
|
+
4265: 'tacxNeoSmart',
|
|
6756
|
+
4266: 'tacxNeo2Smart',
|
|
6757
|
+
4267: 'tacxNeo2TSmart',
|
|
6758
|
+
4268: 'tacxNeoSmartBike',
|
|
6759
|
+
4269: 'tacxSatoriSmart',
|
|
6760
|
+
4270: 'tacxFlowSmart',
|
|
6761
|
+
4271: 'tacxVortexSmart',
|
|
6762
|
+
4272: 'tacxBushidoSmart',
|
|
6763
|
+
4273: 'tacxGeniusSmart',
|
|
6764
|
+
4274: 'tacxFluxFluxSSmart',
|
|
6765
|
+
4275: 'tacxFlux2Smart',
|
|
6766
|
+
4276: 'tacxMagnum',
|
|
6767
|
+
4305: 'edge1040Asia',
|
|
6768
|
+
4312: 'epixGen2Pro42',
|
|
6769
|
+
4313: 'epixGen2Pro47',
|
|
6770
|
+
4314: 'epixGen2Pro51',
|
|
6771
|
+
4315: 'fr965',
|
|
6772
|
+
4341: 'enduro2',
|
|
6773
|
+
4374: 'fenix7sProSolar',
|
|
6774
|
+
4375: 'fenix7ProSolar',
|
|
6775
|
+
4376: 'fenix7xProSolar',
|
|
6776
|
+
4380: 'lily2',
|
|
6777
|
+
4394: 'instinct2x',
|
|
6778
|
+
4426: 'vivoactive5',
|
|
6779
|
+
4432: 'fr165',
|
|
6780
|
+
4433: 'fr165Music',
|
|
6781
|
+
4440: 'edge1050',
|
|
6782
|
+
4442: 'descentT2',
|
|
6783
|
+
4446: 'hrmFit',
|
|
6784
|
+
4472: 'marqGen2Commander',
|
|
6785
|
+
4477: 'lilyAthlete',
|
|
6786
|
+
4525: 'rallyX10',
|
|
6787
|
+
4532: 'fenix8Solar',
|
|
6788
|
+
4533: 'fenix8SolarLarge',
|
|
6789
|
+
4534: 'fenix8Small',
|
|
6790
|
+
4536: 'fenix8',
|
|
6791
|
+
4556: 'd2Mach1Pro',
|
|
6792
|
+
4575: 'enduro3',
|
|
6793
|
+
4583: 'instinctE40mm',
|
|
6794
|
+
4584: 'instinctE45mm',
|
|
6795
|
+
4585: 'instinct3Solar45mm',
|
|
6796
|
+
4586: 'instinct3Amoled45mm',
|
|
6797
|
+
4587: 'instinct3Amoled50mm',
|
|
6798
|
+
4588: 'descentG2',
|
|
6799
|
+
4603: 'venuX1',
|
|
6800
|
+
4606: 'hrm200',
|
|
6801
|
+
4625: 'vivoactive6',
|
|
6802
|
+
4631: 'fenix8Pro',
|
|
6803
|
+
4633: 'edge550',
|
|
6804
|
+
4634: 'edge850',
|
|
6805
|
+
4643: 'venu4',
|
|
6806
|
+
4644: 'venu4s',
|
|
6807
|
+
4647: 'approachS44',
|
|
6808
|
+
4655: 'edgeMtb',
|
|
6809
|
+
4656: 'approachS50',
|
|
6810
|
+
4666: 'fenixE',
|
|
6811
|
+
4678: 'instinctCrossoverAmoled',
|
|
6812
|
+
4745: 'bounce2',
|
|
6813
|
+
4759: 'instinct3Solar50mm',
|
|
6814
|
+
4775: 'tactix8Amoled',
|
|
6815
|
+
4776: 'tactix8Solar',
|
|
6816
|
+
4814: 'fr170Music',
|
|
6817
|
+
4815: 'fr170',
|
|
6818
|
+
4825: 'approachJ1',
|
|
6819
|
+
4879: 'd2Mach2',
|
|
6820
|
+
4916: 'fr702026',
|
|
6821
|
+
4944: 'd2AirX15',
|
|
6822
|
+
5056: 'd2Mach2Pro',
|
|
6509
6823
|
10007: 'sdm4',
|
|
6510
|
-
10014: '
|
|
6511
|
-
20119: '
|
|
6512
|
-
|
|
6513
|
-
|
|
6824
|
+
10014: 'edgeRemote',
|
|
6825
|
+
20119: 'trainingCenter',
|
|
6826
|
+
20533: 'tacxTrainingAppWin',
|
|
6827
|
+
20534: 'tacxTrainingAppMac',
|
|
6828
|
+
20565: 'tacxTrainingAppMacCatalyst',
|
|
6829
|
+
30045: 'tacxTrainingAppAndroid',
|
|
6830
|
+
30046: 'tacxTrainingAppIos',
|
|
6831
|
+
30047: 'tacxTrainingAppLegacy',
|
|
6832
|
+
65531: 'connectiqSimulator',
|
|
6833
|
+
65532: 'androidAntplusPlugin',
|
|
6514
6834
|
65534: 'connect',
|
|
6515
6835
|
},
|
|
6516
6836
|
antplus_device_type: {
|