ua-parser-js 0.7.37 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of ua-parser-js might be problematic. Click here for more details.

@@ -0,0 +1,2446 @@
1
+ [{
2
+ "desc": "ASUS Nexus 7",
3
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 7 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.99 Safari/537.36",
4
+ "expect": {
5
+ "vendor": "ASUS",
6
+ "model": "Nexus 7",
7
+ "type": "tablet"
8
+ }
9
+ },
10
+ {
11
+ "desc": "ASUS Padfone",
12
+ "ua": "Mozilla/5.0 (Linux; Android 4.1.1; PadFone 2 Build/JRO03L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.117 Safari/537.36",
13
+ "expect": {
14
+ "vendor": "ASUS",
15
+ "model": "PadFone",
16
+ "type": "tablet"
17
+ }
18
+ },
19
+ {
20
+ "desc": "ASUS ZenPad 10",
21
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; P00C Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Safari/537.36",
22
+ "expect": {
23
+ "vendor": "ASUS",
24
+ "model": "P00C",
25
+ "type": "tablet"
26
+ }
27
+ },
28
+ {
29
+ "desc": "ASUS ZenPad Z8s",
30
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; ASUS_P00J) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.111 Safari/537.36\n",
31
+ "expect": {
32
+ "vendor": "ASUS",
33
+ "model": "P00J",
34
+ "type": "tablet"
35
+ }
36
+ },
37
+ {
38
+ "desc": "ASUS ROG",
39
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; ZS600KL Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.126 Mobile Safari/537.36",
40
+ "expect": {
41
+ "vendor": "ASUS",
42
+ "model": "ZS600KL",
43
+ "type": "mobile"
44
+ }
45
+ },
46
+ {
47
+ "desc": "ASUS ROG II",
48
+ "ua": "Mozilla/5.0 (Linux; Android 9; ASUS_I001DA Build/PKQ1.190414.001; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36",
49
+ "expect": {
50
+ "vendor": "ASUS",
51
+ "model": "I001DA",
52
+ "type": "mobile"
53
+ }
54
+ },
55
+ {
56
+ "desc": "ASUS Zenfone 2",
57
+ "ua": "Mozilla/5.0 (Linux; Android 5.0; ASUS ZenFone 2 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile Safari/537.36",
58
+ "expect": {
59
+ "vendor": "ASUS",
60
+ "model": "ZenFone 2",
61
+ "type": "mobile"
62
+ }
63
+ },
64
+ {
65
+ "desc": "ASUS Zenfone 3 Deluxe",
66
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; ASUS_Z016D Build/MXB48T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.132 Mobile Safari/537.36",
67
+ "expect": {
68
+ "vendor": "ASUS",
69
+ "model": "Z016D",
70
+ "type": "mobile"
71
+ }
72
+ },
73
+ {
74
+ "desc": "ASUS Zenfone 5",
75
+ "ua": "Mozilla/5.0 (Linux; Android 8.0; ZE620KL Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.158 Mobile Safari/537.36",
76
+ "expect": {
77
+ "vendor": "ASUS",
78
+ "model": "ZE620KL",
79
+ "type": "mobile"
80
+ }
81
+ },
82
+ {
83
+ "desc": "ASUS Zenfone 7",
84
+ "ua": "Mozilla/5.0 (Linux; Android 10; ASUS_I002D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.81 Mobile Safari/537.36",
85
+ "expect": {
86
+ "vendor": "ASUS",
87
+ "model": "I002D",
88
+ "type": "mobile"
89
+ }
90
+ },
91
+ {
92
+ "desc": "ASUS Zenfone 7 Pro",
93
+ "ua": "Mozilla/5.0 (Linux; Android 10; ZS671KS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.72 Mobile Safari/537.36",
94
+ "expect": {
95
+ "vendor": "ASUS",
96
+ "model": "ZS671KS",
97
+ "type": "mobile"
98
+ }
99
+ },
100
+ {
101
+ "desc": "ASUS Zenfone Max Pro (M1)",
102
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; ASUS_X00TD Build/OPM1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36",
103
+ "expect": {
104
+ "vendor": "ASUS",
105
+ "model": "X00TD",
106
+ "type": "mobile"
107
+ }
108
+ },
109
+ {
110
+ "desc": "ASUS Zenfone Max M2",
111
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; ASUS_X01AD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Mobile Safari/537.36",
112
+ "expect": {
113
+ "vendor": "ASUS",
114
+ "model": "X01AD",
115
+ "type": "mobile"
116
+ }
117
+ },
118
+ {
119
+ "desc": "ASUS Zenfone Max Pro M2",
120
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; ASUS_X01BDA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Mobile Safari/537.36",
121
+ "expect": {
122
+ "vendor": "ASUS",
123
+ "model": "X01BDA",
124
+ "type": "mobile"
125
+ }
126
+ },
127
+ {
128
+ "desc": "ASUS Zenfone Go",
129
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; ASUS_X009DA Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Mobile Safari/537.36",
130
+ "expect": {
131
+ "vendor": "ASUS",
132
+ "model": "X009DA",
133
+ "type": "mobile"
134
+ }
135
+ },
136
+ {
137
+ "desc": "Acer Iconia A1-810",
138
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; A1-810 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Safari/537.36",
139
+ "expect": {
140
+ "vendor": "Acer",
141
+ "model": "A1-810",
142
+ "type": "tablet"
143
+ }
144
+ },
145
+ {
146
+ "desc": "BlackBerry Priv",
147
+ "ua": "User-Agent: Mozilla/5.0 (Linux; Android 5.1.1; STV100-1 Build/LMY47V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/46.0.2490.76 Mobile Safari/537.36",
148
+ "expect": {
149
+ "vendor": "BlackBerry",
150
+ "model": "STV100-1",
151
+ "type": "mobile"
152
+ }
153
+ },
154
+ {
155
+ "desc": "BlackBerry Keyone",
156
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; BBB100-1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.111 Mobile Safari/537.36",
157
+ "expect": {
158
+ "vendor": "BlackBerry",
159
+ "model": "BBB100-1",
160
+ "type": "mobile"
161
+ }
162
+ },
163
+ {
164
+ "desc": "BlackBerry Key2",
165
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; BBF100-1 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.91 Mobile Safari/537.36",
166
+ "expect": {
167
+ "vendor": "BlackBerry",
168
+ "model": "BBF100-1",
169
+ "type": "mobile"
170
+ }
171
+ },
172
+ {
173
+ "desc": "BlackBerry Key2 LE",
174
+ "ua": "User-Agent: Mozilla/5.0 (Linux; Android 8.1.0; BBE100-1 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497 Mobile Safari/537.36",
175
+ "expect": {
176
+ "vendor": "BlackBerry",
177
+ "model": "BBE100-1",
178
+ "type": "mobile"
179
+ }
180
+ },
181
+ {
182
+ "desc": "Desktop (IE11 with Tablet string)",
183
+ "ua": "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; Tablet PC 2.0; GWX:MANAGED; rv:11.0) like Gecko",
184
+ "expect": {
185
+ "vendor": "undefined",
186
+ "model": "undefined",
187
+ "type": "undefined"
188
+ }
189
+ },
190
+ {
191
+ "desc": "Essential PH-1",
192
+ "ua": "Mozilla/5.0 (Linux; Android 9; PH-1 Build/PPR1.180905.036) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.86 Mobile Safari/537.36",
193
+ "expect": {
194
+ "vendor": "Essential",
195
+ "model": "PH-1",
196
+ "type": "mobile"
197
+ }
198
+ },
199
+ {
200
+ "desc": "Fairphone 1U",
201
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; FP1U Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
202
+ "expect": {
203
+ "vendor": "Fairphone",
204
+ "model": "FP1U",
205
+ "type": "mobile"
206
+ }
207
+ },
208
+ {
209
+ "desc": "HTC Desire 820",
210
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; HTC Desire 820 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36",
211
+ "expect": {
212
+ "vendor": "HTC",
213
+ "model": "Desire 820",
214
+ "type": "mobile"
215
+ }
216
+ },
217
+ {
218
+ "desc": "HTC Evo Shift 4G",
219
+ "ua": "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APA7373KT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0",
220
+ "expect": {
221
+ "vendor": "Sprint",
222
+ "model": "APA7373KT",
223
+ "type": "mobile"
224
+ }
225
+ },
226
+ {
227
+ "desc": "HTC Nexus 9",
228
+ "ua": "Mozilla/5.0 (Linux; Android 5.0; Nexus 9 Build/LRX21R) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Mobile Crosswalk/7.36.154.13 Safari/537.36",
229
+ "expect": {
230
+ "vendor": "HTC",
231
+ "model": "Nexus 9",
232
+ "type": "tablet"
233
+ }
234
+ },
235
+ {
236
+ "desc": "Huawei Honor",
237
+ "ua": "Mozilla/5.0 (Linux; U; Android 2.3; xx-xx; U8860 Build/HuaweiU8860) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
238
+ "expect": {
239
+ "vendor": "Huawei",
240
+ "model": "U8860",
241
+ "type": "mobile"
242
+ }
243
+ },
244
+ {
245
+ "desc": "Huawei Nexus 6P",
246
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 6P Build/MTC19V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537",
247
+ "expect": {
248
+ "vendor": "Huawei",
249
+ "model": "Nexus 6P",
250
+ "type": "mobile"
251
+ }
252
+ },
253
+ {
254
+ "desc": "Huawei P10",
255
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; VTR-L09 Build/HUAWEIVTR-L09; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/56.0.2924.87 Mobile Safari/537.36",
256
+ "expect": {
257
+ "vendor": "Huawei",
258
+ "model": "VTR-L09",
259
+ "type": "mobile"
260
+ }
261
+ },
262
+ {
263
+ "desc": "Huawei Y3II",
264
+ "ua": "Mozilla/5.0 (Linux; U; Android 5.1; xx-xx; HUAWEI LUA-L03 Build/HUAWEILUA-L03) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Mobile Safari/537.36",
265
+ "expect": {
266
+ "vendor": "Huawei",
267
+ "model": "LUA-L03",
268
+ "type": "mobile"
269
+ }
270
+ },
271
+ {
272
+ "desc": "iPad using UCBrowser",
273
+ "ua": "Mozilla/5.0 (iPad; U; CPU OS 11_2 like Mac OS X; zh-CN; iPad5,3) AppleWebKit/534.46 (KHTML, like Gecko) UCBrowser/3.0.1.776 U3/ Mobile/10A403 Safari/7543.48.3",
274
+ "expect": {
275
+ "vendor": "Apple",
276
+ "model": "iPad",
277
+ "type": "tablet"
278
+ }
279
+ },
280
+ {
281
+ "desc": "iPad Air",
282
+ "ua": "Mozilla/5.0 (iPad; CPU OS 12_4_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPad4,1;FBMD/iPad;FBSN/iOS;FBSV/12.4.5;FBSS/2;FBID/tablet;FBLC/en_US;FBOP/5;FBCR/]",
283
+ "expect": {
284
+ "vendor": "Apple",
285
+ "model": "iPad",
286
+ "type": "tablet"
287
+ }
288
+ },
289
+ {
290
+ "desc": "iPad using Facebook Browser",
291
+ "ua": "Mozilla/5.0 (iPad; CPU OS 14_4_2 like Mac OS X) WebKit/8610 (KHTML, like Gecko) Mobile/18D70 [FBAN/FBIOS;FBDV/iPad7,11;FBMD/iPad;FBSN/iOS;FBSV/14.4.2;FBSS/2;FBID/tablet;FBLC/en_US;FBOP/5]",
292
+ "expect": {
293
+ "vendor": "Apple",
294
+ "model": "iPad",
295
+ "type": "tablet"
296
+ }
297
+ },
298
+ {
299
+ "desc": "iPod",
300
+ "ua": "Mozilla/5.0 (iPod touch; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53",
301
+ "expect": {
302
+ "vendor": "Apple",
303
+ "model": "iPod touch",
304
+ "type": "mobile"
305
+ }
306
+ },
307
+ {
308
+ "desc": "Lenovo Tab 2",
309
+ "ua": "Mozilla/5.0 (Linux; Android 5.0.1; Lenovo TAB 2 A7-30HC Build/LRX21M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.157 Safari/537.36",
310
+ "expect": {
311
+ "vendor": "Lenovo",
312
+ "model": "TAB 2 A7",
313
+ "type": "tablet"
314
+ }
315
+ },
316
+ {
317
+ "desc": "Lenovo Phone",
318
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; Lenovo PB2-650M Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.105 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/311.0.0.44.117;]",
319
+ "expect": {
320
+ "vendor": "Lenovo",
321
+ "model": "PB2-650M",
322
+ "type": "mobile"
323
+ }
324
+ },
325
+ {
326
+ "desc": "Lenovo Tab 3 Pro",
327
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; Lenovo YT3-X90F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.99 Safari/537.36",
328
+ "expect": {
329
+ "vendor": "Lenovo",
330
+ "model": "YT3-X90F",
331
+ "type": "tablet"
332
+ }
333
+ },
334
+ {
335
+ "desc": "Lenovo Tab 4",
336
+ "ua": "Mozilla/5.0 (Linux; Android 7.1.1; Lenovo TB-X304F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.99 Safari/537.36",
337
+ "expect": {
338
+ "vendor": "Lenovo",
339
+ "model": "TB-X304F",
340
+ "type": "tablet"
341
+ }
342
+ },
343
+ {
344
+ "desc": "Lenovo Tab 4",
345
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; Lenovo TAB 2 A7-30HC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
346
+ "expect": {
347
+ "vendor": "Lenovo",
348
+ "model": "TAB 2 A7",
349
+ "type": "tablet"
350
+ }
351
+ },
352
+ {
353
+ "desc": "Lenovo Tab 7 Essential",
354
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; Lenovo TB-7304X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
355
+ "expect": {
356
+ "vendor": "Lenovo",
357
+ "model": "TB-7304X",
358
+ "type": "tablet"
359
+ }
360
+ },
361
+ {
362
+ "desc": "Lenovo Tab M10",
363
+ "ua": "Mozilla/5.0 (Linux; arm_64; Android 9; Lenovo TB-X606F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 YaBrowser/20.9.4.99.01 Safari/537.36",
364
+ "expect": {
365
+ "vendor": "Lenovo",
366
+ "model": "TB-X606F",
367
+ "type": "tablet"
368
+ }
369
+ },
370
+ {
371
+ "desc": "LG K500",
372
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; LG-K500 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36",
373
+ "expect": {
374
+ "vendor": "LG",
375
+ "model": "K500",
376
+ "type": "mobile"
377
+ }
378
+ },
379
+ {
380
+ "desc": "LG Nexus 4",
381
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.1; Nexus 4 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19",
382
+ "expect": {
383
+ "vendor": "LG",
384
+ "model": "Nexus 4",
385
+ "type": "mobile"
386
+ }
387
+ },
388
+ {
389
+ "desc": "LG Nexus 4",
390
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.3; en-us; Google Nexus 4 - 4.3 - API 18 - 768x1280 Build/JLS36G) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
391
+ "expect": {
392
+ "vendor": "LG",
393
+ "model": "Nexus 4",
394
+ "type": "mobile"
395
+ }
396
+ },
397
+ {
398
+ "desc": "LG Nexus 5",
399
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19",
400
+ "expect": {
401
+ "vendor": "LG",
402
+ "model": "Nexus 5",
403
+ "type": "mobile"
404
+ }
405
+ },
406
+ {
407
+ "desc": "LG Wing",
408
+ "ua": "Mozilla/5.0 (Linux; Android 10; LM-F100N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.101 Mobile Safari/537.36",
409
+ "expect": {
410
+ "vendor": "LG",
411
+ "model": "LM-F100N",
412
+ "type": "mobile"
413
+ }
414
+ },
415
+ {
416
+ "desc": "LG Smart TV",
417
+ "ua": "Mozilla/5.0 (DirectFB; U; Linux mips; en) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) LG Browser (; LG NetCast.TV-2011)",
418
+ "expect": {
419
+ "vendor": "LG",
420
+ "model": "undefined",
421
+ "type": "smarttv"
422
+ }
423
+ },
424
+ {
425
+ "desc": "LG Smart TV",
426
+ "ua": "Mozilla/5.0 (Linux; NetCast; U) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/53.0.2785 34 Safari/537.31 SmartTV/8.5",
427
+ "expect": {
428
+ "vendor": "LG",
429
+ "model": "undefined",
430
+ "type": "smarttv"
431
+ }
432
+ },
433
+ {
434
+ "desc": "Meizu M5 Note",
435
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; M5 Note Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043024 Safari/537.36 MicroMessenger/6.5.7.1040 NetType/WIFI Language/zh_CN",
436
+ "expect": {
437
+ "vendor": "Meizu",
438
+ "model": "M5 Note",
439
+ "type": "mobile"
440
+ }
441
+ },
442
+ {
443
+ "desc": "Microsoft Lumia 950",
444
+ "ua": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586",
445
+ "expect": {
446
+ "vendor": "Microsoft",
447
+ "model": "Lumia 950",
448
+ "type": "mobile"
449
+ }
450
+ },
451
+ {
452
+ "desc": "Microsoft Surface Duo",
453
+ "ua": "Dalvik/2.1.0 (Linux; U; Android 10; Surface Duo Build/2020.1014.61)",
454
+ "expect": {
455
+ "vendor": "Microsoft",
456
+ "model": "Surface Duo",
457
+ "type": "tablet"
458
+ }
459
+ },
460
+ {
461
+ "desc": "Motorola Moto X",
462
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.4; XT1097 Build/KXE21.187-38) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Mobile Safari/537.36",
463
+ "expect": {
464
+ "vendor": "Motorola",
465
+ "model": "XT1097",
466
+ "type": "mobile"
467
+ }
468
+ },
469
+ {
470
+ "desc" : "Meizu M3S",
471
+ "ua" : "Mozilla/5.0 (X11; Linux; Android 5.1; MZ-M3s Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrom/45.0.2454.94 Mobile Safari/537.36",
472
+ "expect" :
473
+ {
474
+ "vendor" : "Meizu",
475
+ "model" : "M3s",
476
+ "type" : "mobile"
477
+ }
478
+ },
479
+ {
480
+ "desc" : "Microsoft Lumia 950",
481
+ "ua" : "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586",
482
+ "expect" :
483
+ {
484
+ "vendor" : "Microsoft",
485
+ "model" : "Lumia 950",
486
+ "type" : "mobile"
487
+ }
488
+ },
489
+ {
490
+ "desc": "Motorola Nexus 6",
491
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.20 Mobile Safari/537.36",
492
+ "expect": {
493
+ "vendor": "Motorola",
494
+ "model": "Nexus 6",
495
+ "type": "mobile"
496
+ }
497
+ },
498
+ {
499
+ "desc": "Motorola Droid RAZR 4G",
500
+ "ua": "Mozilla/5.0 (Linux; U; Android 2.3; xx-xx; DROID RAZR 4G Build/6.5.1-73_DHD-11_M1-29) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
501
+ "expect": {
502
+ "vendor": "Motorola",
503
+ "model": "DROID RAZR 4G",
504
+ "type": "mobile"
505
+ }
506
+ },
507
+ {
508
+ "desc": "Motorola RAZR 2019",
509
+ "ua": "Mozilla/5.0 (Linux; Android 9; motorola razr) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/11.1 Chrome/75.0.3770.143 Mobile Safari/537.36",
510
+ "expect": {
511
+ "vendor": "Motorola",
512
+ "model": "razr",
513
+ "type": "mobile"
514
+ }
515
+ },
516
+ {
517
+ "desc": "iPhone",
518
+ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53",
519
+ "expect": {
520
+ "vendor": "Apple",
521
+ "model": "iPhone",
522
+ "type": "mobile"
523
+ }
524
+ },
525
+ {
526
+ "desc": "iPhone SE",
527
+ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone8,4;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]",
528
+ "expect": {
529
+ "vendor": "Apple",
530
+ "model": "iPhone",
531
+ "type": "mobile"
532
+ }
533
+ },
534
+ {
535
+ "desc": "iPhone SE using Facebook App",
536
+ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone8,4;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]",
537
+ "expect": {
538
+ "vendor": "Apple",
539
+ "model": "iPhone",
540
+ "type": "mobile"
541
+ }
542
+ },
543
+ {
544
+ "desc": "iPhone 11 Pro Max",
545
+ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone12,5;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/3;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]",
546
+ "expect": {
547
+ "vendor": "Apple",
548
+ "model": "iPhone",
549
+ "type": "mobile"
550
+ }
551
+ },
552
+ {
553
+ "desc": "iPhone XS",
554
+ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone11,2;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/3;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]",
555
+ "expect": {
556
+ "vendor": "Apple",
557
+ "model": "iPhone",
558
+ "type": "mobile"
559
+ }
560
+ },
561
+ {
562
+ "desc": "iPod touch",
563
+ "ua": "Mozilla/5.0 (iPod touch; CPU iPhone OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A501 Safari/9537.53",
564
+ "expect": {
565
+ "vendor": "Apple",
566
+ "model": "iPod touch",
567
+ "type": "mobile"
568
+ }
569
+ },
570
+ {
571
+ "desc": "Moto X",
572
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.2; xx-xx; XT1058 Build/13.9.0Q2.X-70-GHOST-ATT_LE-2) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
573
+ "expect": {
574
+ "vendor": "Motorola",
575
+ "model": "XT1058",
576
+ "type": "mobile"
577
+ }
578
+ },
579
+ {
580
+ "desc": "Motorola Moto g(6) Play",
581
+ "ua": "Mozilla/5.0 (Linux; Android 9; moto g(6) play) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
582
+ "expect": {
583
+ "vendor": "Motorola",
584
+ "model": "moto g(6) play",
585
+ "type": "mobile"
586
+ }
587
+ },
588
+ {
589
+ "desc": "Motorola Moto g(7) Supra",
590
+ "ua": "Mozilla/5.0 (Linux; Android 9; moto g(7) supra Build/PCOS29.114-134-2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/73.0.3683.90 Mobile Safari/537.36",
591
+ "expect": {
592
+ "vendor": "Motorola",
593
+ "model": "moto g(7) supra",
594
+ "type": "mobile"
595
+ }
596
+ },
597
+ {
598
+ "desc": "Motorola Moto E",
599
+ "ua": "Mozilla/5.0 (Linux; Android 7.1.1; Moto E (4) Build/NDQS26.69-64-11-7; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/56.0.2924.87 Mobile Safari/537.36",
600
+ "expect": {
601
+ "vendor": "Motorola",
602
+ "model": "Moto E (4)",
603
+ "type": "mobile"
604
+ }
605
+ },
606
+ {
607
+ "desc": "Nokia3xx",
608
+ "ua": "Nokia303/14.87 CLDC-1.1",
609
+ "expect": {
610
+ "vendor": "Nokia",
611
+ "model": "303",
612
+ "type": "mobile"
613
+ }
614
+ },
615
+ {
616
+ "desc": "Nokia 3.2",
617
+ "ua": "Mozilla/5.0 (Linux; Android 10; Nokia 3.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Mobile Safari/537.36",
618
+ "expect": {
619
+ "vendor": "Nokia",
620
+ "model": "3.2",
621
+ "type": "mobile"
622
+ }
623
+ },
624
+ {
625
+ "desc": "Nokia N9",
626
+ "ua": "Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13",
627
+ "expect": {
628
+ "vendor": "Nokia",
629
+ "model": "N9",
630
+ "type": "mobile"
631
+ }
632
+ },
633
+ {
634
+ "desc": "Nokia 2720 Flip",
635
+ "ua": "Mozilla/5.0 (Mobile; Nokia_2720_Flip; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5.2",
636
+ "expect": {
637
+ "vendor": "Nokia",
638
+ "model": "2720 Flip",
639
+ "type": "mobile"
640
+ }
641
+ },
642
+ {
643
+ "desc": "OnePlus One",
644
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.4; A0001 Build/KTU84Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.59 Mobile Safari/537.36",
645
+ "expect": {
646
+ "vendor": "OnePlus",
647
+ "model": "1",
648
+ "type": "mobile"
649
+ }
650
+ },
651
+ {
652
+ "desc": "OnePlus One",
653
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; OnePlus One A0001 Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.117 Mobile Safari/537.36",
654
+ "expect": {
655
+ "vendor": "OnePlus",
656
+ "model": "1",
657
+ "type": "mobile"
658
+ }
659
+ },
660
+ {
661
+ "desc": "OnePlus 3",
662
+ "ua": "Mozilla/5.0 (Linux; Android 7.1.1; ONEPLUS A3000 Build/NMF26F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.98 Mobile Safari/537.36",
663
+ "expect": {
664
+ "vendor": "OnePlus",
665
+ "model": "A3000",
666
+ "type": "mobile"
667
+ }
668
+ },
669
+ {
670
+ "desc": "OnePlus 6",
671
+ "ua": "Mozilla/5.0 (Linux; Android 9; ONEPLUS A6003) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.89 Mobile Safari/537.36",
672
+ "expect": {
673
+ "vendor": "OnePlus",
674
+ "model": "A6003",
675
+ "type": "mobile"
676
+ }
677
+ },
678
+ {
679
+ "desc": "OnePlus 6T",
680
+ "ua": "Mozilla/5.0 (Linux; Android 9; ONEPLUS A6010) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
681
+ "expect": {
682
+ "vendor": "OnePlus",
683
+ "model": "A6010",
684
+ "type": "mobile"
685
+ }
686
+ },
687
+ {
688
+ "desc": "OnePlus 8T",
689
+ "ua": "Mozilla/5.0 (Linux; Android 11; KB2005) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36",
690
+ "expect": {
691
+ "vendor": "OnePlus",
692
+ "model": "KB2005",
693
+ "type": "mobile"
694
+ }
695
+ },
696
+ {
697
+ "desc": "OnePlus 8 Pro",
698
+ "ua": "Mozilla/5.0 (Linux; Android 10; IN2025) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.119 Mobile Safari/537.36",
699
+ "expect": {
700
+ "vendor": "OnePlus",
701
+ "model": "IN2025",
702
+ "type": "mobile"
703
+ }
704
+ },
705
+ {
706
+ "desc": "OnePlus Nord N100",
707
+ "ua": "Mozilla/5.0 (Linux; Android 10; BE2015 Build/QKQ1.200719.002; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36",
708
+ "expect": {
709
+ "vendor": "OnePlus",
710
+ "model": "BE2015",
711
+ "type": "mobile"
712
+ }
713
+ },
714
+ {
715
+ "desc": "OnePlus Nord N10 5G",
716
+ "ua": "Mozilla/5.0 (Linux; Android 10; BE2029) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.185 Mobile Safari/537.36",
717
+ "expect": {
718
+ "vendor": "OnePlus",
719
+ "model": "BE2029",
720
+ "type": "mobile"
721
+ }
722
+ },
723
+ {
724
+ "desc": "OPPO Neo",
725
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; R831T Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 OppoBrowser/3.3.2 Mobile Safari/534.30",
726
+ "expect": {
727
+ "vendor": "OPPO",
728
+ "model": "R831T",
729
+ "type": "mobile"
730
+ }
731
+ },
732
+ {
733
+ "desc": "OPPO R7s",
734
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.4.4; zh-cn; OPPO R7s Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 Chrome/37.0.0.0 MQQBrowser/7.1 Mobile Safari/537.36",
735
+ "expect": {
736
+ "vendor": "OPPO",
737
+ "model": "R7s",
738
+ "type": "mobile"
739
+ }
740
+ },
741
+ {
742
+ "desc": "OPPO A3s",
743
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; CPH1803 Build/OPM1.171019.026; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 Mobile Safari/537.36",
744
+ "expect": {
745
+ "vendor": "OPPO",
746
+ "model": "CPH1803",
747
+ "type": "mobile"
748
+ }
749
+ },
750
+ {
751
+ "desc": "OPPO A12",
752
+ "ua": "Mozilla/5.0 (Linux; Android 9; CPH2083) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
753
+ "expect": {
754
+ "vendor": "OPPO",
755
+ "model": "CPH2083",
756
+ "type": "mobile"
757
+ }
758
+ },
759
+ {
760
+ "desc": "OPPO Reno",
761
+ "ua": "Mozilla/5.0 (Linux; Android 9; PCAT00 Build/PKQ1.190101.001; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Mobile Safari/537.36",
762
+ "expect": {
763
+ "vendor": "OPPO",
764
+ "model": "PCAT00",
765
+ "type": "mobile"
766
+ }
767
+ },
768
+ {
769
+ "desc": "OPPO Reno3 Pro 5G",
770
+ "ua": "Mozilla/5.0 (Linux; Android 10; PCLM50) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.117 Mobile Safari/537.36",
771
+ "expect": {
772
+ "vendor": "OPPO",
773
+ "model": "PCLM50",
774
+ "type": "mobile"
775
+ }
776
+ },
777
+ {
778
+ "desc": "OPPO Reno4 SE",
779
+ "ua": "Mozilla/5.0 (Linux; U; Android 10; xx-xx; PEAM00 Build/QP1A.190711.020) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.80 Mobile Safari/537.36",
780
+ "expect": {
781
+ "vendor": "OPPO",
782
+ "model": "PEAM00",
783
+ "type": "mobile"
784
+ }
785
+ },
786
+ {
787
+ "desc": "OPPO Reno4 5G",
788
+ "ua": "Mozilla/5.0 (Linux; Android 10; PDPM00 Build/QKQ1.200216.002; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36",
789
+ "expect": {
790
+ "vendor": "OPPO",
791
+ "model": "PDPM00",
792
+ "type": "mobile"
793
+ }
794
+ },
795
+ {
796
+ "desc": "OPPO Reno4 Pro 5G",
797
+ "ua": "Mozilla/5.0 (Linux; U; Android 10; xx-xx; PDNT00 Build/QKQ1.200216.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.80 Mobile Safari/537.36",
798
+ "expect": {
799
+ "vendor": "OPPO",
800
+ "model": "PDNT00",
801
+ "type": "mobile"
802
+ }
803
+ },
804
+ {
805
+ "desc": "OPPO Find X",
806
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; PAFM00 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36",
807
+ "expect": {
808
+ "vendor": "OPPO",
809
+ "model": "PAFM00",
810
+ "type": "mobile"
811
+ }
812
+ },
813
+ {
814
+ "desc": "OPPO Find 7a",
815
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.3; xx-xx; X9007 Build/JLS36C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
816
+ "expect": {
817
+ "vendor": "OPPO",
818
+ "model": "X9007",
819
+ "type": "mobile"
820
+ }
821
+ },
822
+ {
823
+ "desc": "Realme C1",
824
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; RMX1811 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.126 Mobile Safari/537.36",
825
+ "expect": {
826
+ "vendor": "Realme",
827
+ "model": "RMX1811",
828
+ "type": "mobile"
829
+ }
830
+ },
831
+ {
832
+ "desc": "Realme Narzo 20",
833
+ "ua": "Mozilla/5.0 (Linux; U; Android 10; xx-xx; RMX2193 Build/QP1A.190711.020) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.80 Mobile Safari/537.36",
834
+ "expect": {
835
+ "vendor": "Realme",
836
+ "model": "RMX2193",
837
+ "type": "mobile"
838
+ }
839
+ },
840
+ {
841
+ "desc": "Philips SmartTV",
842
+ "ua": "Opera/9.80 HbbTV/1.1.1 (; Philips; ; ; ; ) NETTV/4.0.2; en) Version/11.60",
843
+ "expect": {
844
+ "vendor": "Philips",
845
+ "model": "",
846
+ "type": "smarttv"
847
+ }
848
+ },
849
+ {
850
+ "desc": "Kindle Fire HD",
851
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.4 Mobile Safari/535.19 Silk-Accelerated=true",
852
+ "expect": {
853
+ "vendor": "Amazon",
854
+ "model": "KFTT",
855
+ "type": "tablet"
856
+ }
857
+ },
858
+ {
859
+ "desc": "Kindle Fire HD",
860
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.4 Mobile Safari/535.19 Silk-Accelerated=true",
861
+ "expect": {
862
+ "vendor": "Amazon",
863
+ "model": "KFTT",
864
+ "type": "tablet"
865
+ }
866
+ },
867
+ {
868
+ "desc": "Samsung Galaxy A21s",
869
+ "ua": "Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-A217F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/11.0 Chrome/75.0.3770.143 Mobile Safari/537.36",
870
+ "expect": {
871
+ "vendor": "Samsung",
872
+ "model": "SM-A217F",
873
+ "type": "mobile"
874
+ }
875
+ },
876
+ {
877
+ "desc": "Samsung Galaxy A31",
878
+ "ua": "Mozilla/5.0 (Linux; Android 10; SM-A315G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
879
+ "expect": {
880
+ "vendor": "Samsung",
881
+ "model": "SM-A315G",
882
+ "type": "mobile"
883
+ }
884
+ },
885
+ {
886
+ "desc": "Samsung Galaxy A50",
887
+ "ua": "Mozilla/5.0 (Linux; Android 9; SM-A505F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.105 Mobile Safari/537.36",
888
+ "expect": {
889
+ "vendor": "Samsung",
890
+ "model": "SM-A505F",
891
+ "type": "mobile"
892
+ }
893
+ },
894
+ {
895
+ "desc": "Samsung Galaxy A80",
896
+ "ua": "Mozilla/5.0 (Linux; Android 9; SM-A805F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.112 Mobile Safari/537.36",
897
+ "expect": {
898
+ "vendor": "Samsung",
899
+ "model": "SM-A805F",
900
+ "type": "mobile"
901
+ }
902
+ },
903
+ {
904
+ "desc": "Samsung Galaxy Fold",
905
+ "ua": "Mozilla/5.0 (Linux; Android 9; SAMSUNG SM-F900U Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/9.2 Chrome/67.0.3396.87 Mobile Safari/537.36",
906
+ "expect": {
907
+ "vendor": "Samsung",
908
+ "model": "SM-F900U",
909
+ "type": "mobile"
910
+ }
911
+ },
912
+ {
913
+ "desc": "Samsung Galaxy Z Flip",
914
+ "ua": "Mozilla/5.0 (Linux; Android 10; SM-F700N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
915
+ "expect": {
916
+ "vendor": "Samsung",
917
+ "model": "SM-F700N",
918
+ "type": "mobile"
919
+ }
920
+ },
921
+ {
922
+ "desc": "Samsung Galaxy Z Fold2",
923
+ "ua": "Mozilla/5.0 (Linux; Android 10; SM-F916B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
924
+ "expect": {
925
+ "vendor": "Samsung",
926
+ "model": "SM-F916B",
927
+ "type": "mobile"
928
+ }
929
+ },
930
+ {
931
+ "desc": "Samsung Galaxy S10E",
932
+ "ua": "Mozilla/5.0 (Linux; Android 9; SM-G970F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
933
+ "expect": {
934
+ "vendor": "Samsung",
935
+ "model": "SM-G970F",
936
+ "type": "mobile"
937
+ }
938
+ },
939
+ {
940
+ "desc": "Samsung Galaxy Note 10+",
941
+ "ua": "Mozilla/5.0 (Linux; Android 9; SM-N976V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.89 Mobile Safari/537.36",
942
+ "expect": {
943
+ "vendor": "Samsung",
944
+ "model": "SM-N976V",
945
+ "type": "mobile"
946
+ }
947
+ },
948
+ {
949
+ "desc": "Samsung SM-C5000",
950
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; SM-C5000 Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/51.0.2704.81 Mobile Safari/537.36 wkbrowser 4.1.35 3065",
951
+ "expect": {
952
+ "vendor": "Samsung",
953
+ "model": "SM-C5000",
954
+ "type": "mobile"
955
+ }
956
+ },
957
+ {
958
+ "desc": "Samsung Galaxy Note 8",
959
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; GT-N5100 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.141 Safari/537.36",
960
+ "expect": {
961
+ "vendor": "Samsung",
962
+ "model": "GT-N5100",
963
+ "type": "tablet"
964
+ }
965
+ },
966
+ {
967
+ "desc": "Samsung SM-T231",
968
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-T231 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
969
+ "expect": {
970
+ "vendor": "Samsung",
971
+ "model": "SM-T231",
972
+ "type": "tablet"
973
+ }
974
+ },
975
+ {
976
+ "desc": "Samsung Galaxy Tab 6 Lite",
977
+ "ua": "Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-P610) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/12.0 Chrome/79.0.3945.136 Safari/537.36",
978
+ "expect": {
979
+ "vendor": "Samsung",
980
+ "model": "SM-P610",
981
+ "type": "tablet"
982
+ }
983
+ },
984
+ {
985
+ "desc": "Samsung Galaxy Tab A 9.7",
986
+ "ua": "Mozilla/5.0 (Linux; Android 7.1.1; SM-P550 Build/NMF26X; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.90 Safari/537.36",
987
+ "expect": {
988
+ "vendor": "Samsung",
989
+ "model": "SM-P550",
990
+ "type": "tablet"
991
+ }
992
+ },
993
+ {
994
+ "desc": "Samsung Galaxy Tab A 10.1",
995
+ "ua": " Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-T515) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/13.0 Chrome/83.0.4103.106 Safari/537.36",
996
+ "expect": {
997
+ "vendor": "Samsung",
998
+ "model": "SM-T515",
999
+ "type": "tablet"
1000
+ }
1001
+ },
1002
+ {
1003
+ "desc": "Samsung Galaxy Tab S7",
1004
+ "ua": "Mozilla/5.0 (Linux; Android 10; SM-T870) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36",
1005
+ "expect": {
1006
+ "vendor": "Samsung",
1007
+ "model": "SM-T870",
1008
+ "type": "tablet"
1009
+ }
1010
+ },
1011
+ {
1012
+ "desc": "Samsung Galaxy Tab S",
1013
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-T700 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
1014
+ "expect": {
1015
+ "vendor": "Samsung",
1016
+ "model": "SM-T700",
1017
+ "type": "tablet"
1018
+ }
1019
+ },
1020
+ {
1021
+ "desc": "Samsung Galaxy Tab Pro 10.1",
1022
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-T520 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
1023
+ "expect": {
1024
+ "vendor": "Samsung",
1025
+ "model": "SM-T520",
1026
+ "type": "tablet"
1027
+ }
1028
+ },
1029
+ {
1030
+ "desc": "Samsung Note 10.1",
1031
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SM-P605) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36",
1032
+ "expect": {
1033
+ "vendor": "Samsung",
1034
+ "model": "SM-P605",
1035
+ "type": "tablet"
1036
+ }
1037
+ },
1038
+ {
1039
+ "desc": "Samsung SmartTV2011",
1040
+ "ua": "HbbTV/1.1.1 (;;;;;) Maple;2011",
1041
+ "expect": {
1042
+ "vendor": "Samsung",
1043
+ "model": "SmartTV2011",
1044
+ "type": "smarttv"
1045
+ }
1046
+ },
1047
+ {
1048
+ "desc": "Samsung SmartTV2012",
1049
+ "ua": "HbbTV/1.1.1 (;Samsung;SmartTV2012;;;) WebKit",
1050
+ "expect": {
1051
+ "vendor": "Samsung",
1052
+ "model": "SmartTV2012",
1053
+ "type": "smarttv"
1054
+ }
1055
+ },
1056
+ {
1057
+ "desc": "Samsung SmartTV2014",
1058
+ "ua": "HbbTV/1.1.1 (;Samsung;SmartTV2014;T-NT14UDEUC-1060.4;;) WebKit",
1059
+ "expect": {
1060
+ "vendor": "Samsung",
1061
+ "model": "SmartTV2014",
1062
+ "type": "smarttv"
1063
+ }
1064
+ },
1065
+ {
1066
+ "desc": "Samsung SmartTV",
1067
+ "ua": "Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/537.42 (KHTML, like Gecko) Safari/537.42",
1068
+ "expect": {
1069
+ "vendor": "undefined",
1070
+ "model": "undefined",
1071
+ "type": "smarttv"
1072
+ }
1073
+ },
1074
+ {
1075
+ "desc": "Samsung SmartTV",
1076
+ "ua": "Mozilla/5.0 (SMART-TV; Linux; Tizen 2.3) AppleWebkit/538.1 (KHTML, like Gecko) SamsungBrowser/1.0 TV Safari/538.1",
1077
+ "expect": {
1078
+ "vendor": "Samsung",
1079
+ "model": "undefined",
1080
+ "type": "smarttv"
1081
+ }
1082
+ },
1083
+ {
1084
+ "desc": "Sony G8141 (Xperia XZ Premium)",
1085
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; G8141) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36",
1086
+ "expect": {
1087
+ "vendor": "Sony",
1088
+ "model": "G8141",
1089
+ "type": "mobile"
1090
+ }
1091
+ },
1092
+ {
1093
+ "desc": "Sony C5303 (Xperia SP)",
1094
+ "ua": "Mozilla/5.0 (Linux; Android 4.3; C5303 Build/12.1.A.1.205) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.93 Mobile Safari/537.36",
1095
+ "expect": {
1096
+ "vendor": "Sony",
1097
+ "model": "C5303",
1098
+ "type": "mobile"
1099
+ }
1100
+ },
1101
+ {
1102
+ "desc": "Sony SO-02F (Xperia Z1 F)",
1103
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; SO-02F Build/14.1.H.2.119) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36",
1104
+ "expect": {
1105
+ "vendor": "Sony",
1106
+ "model": "SO-02F",
1107
+ "type": "mobile"
1108
+ }
1109
+ },
1110
+ {
1111
+ "desc": "Sony D6653 (Xperia Z3)",
1112
+ "ua": "Mozilla/5.0 (Linux; Android 4.4; D6653 Build/23.0.A.0.376) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.141 Mobile Safari/537.36",
1113
+ "expect": {
1114
+ "vendor": "Sony",
1115
+ "model": "D6653",
1116
+ "type": "mobile"
1117
+ }
1118
+ },
1119
+ {
1120
+ "desc": "Sony Xperia SOL25 (ZL2)",
1121
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.4; SOL25 Build/17.1.1.C.1.64) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
1122
+ "expect": {
1123
+ "vendor": "Sony",
1124
+ "model": "SOL25",
1125
+ "type": "mobile"
1126
+ }
1127
+ },
1128
+ {
1129
+ "desc": "Sony Xperia SP",
1130
+ "ua": "Mozilla/5.0 (Linux; Android 4.3; C5302 Build/12.1.A.1.201) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36",
1131
+ "expect": {
1132
+ "vendor": "Sony",
1133
+ "model": "C5302",
1134
+ "type": "mobile"
1135
+ }
1136
+ },
1137
+ {
1138
+ "desc": "Sony Xperia L4",
1139
+ "ua": "Mozilla/5.0 (Linux; Android 9; XQ-AD51) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36",
1140
+ "expect": {
1141
+ "vendor": "Sony",
1142
+ "model": "XQ-AD51",
1143
+ "type": "mobile"
1144
+ }
1145
+ },
1146
+ {
1147
+ "desc": "Sony Xperia 1ii",
1148
+ "ua": "Mozilla/5.0 (Linux; Android 10; XQ-AT51) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36",
1149
+ "expect": {
1150
+ "vendor": "Sony",
1151
+ "model": "XQ-AT51",
1152
+ "type": "mobile"
1153
+ }
1154
+ },
1155
+ {
1156
+ "desc": "Sony Xperia 10ii",
1157
+ "ua": "Mozilla/5.0 (Linux; Android 10; XQ-AU52) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
1158
+ "expect": {
1159
+ "vendor": "Sony",
1160
+ "model": "XQ-AU52",
1161
+ "type": "mobile"
1162
+ }
1163
+ },
1164
+ {
1165
+ "desc": "Sony Xperia Pro",
1166
+ "ua": "Mozilla/5.0 (Linux; Android 10; XQ-AQ52) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.185 Mobile Safari/537.36",
1167
+ "expect": {
1168
+ "vendor": "Sony",
1169
+ "model": "XQ-AQ52",
1170
+ "type": "mobile"
1171
+ }
1172
+ },
1173
+ {
1174
+ "desc": "Sony SGP521 (Xperia Z2 Tablet)",
1175
+ "ua": "Mozilla/5.0 (Linux; Android 4.4; SGP521 Build/17.1.A.0.432) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.99 Safari/537.36",
1176
+ "expect": {
1177
+ "vendor": "Sony",
1178
+ "model": "Xperia Tablet",
1179
+ "type": "tablet"
1180
+ }
1181
+ },
1182
+ {
1183
+ "desc": "Sony Xperia Z2 Tablet",
1184
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SGP561) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.99 Safari/537.36",
1185
+ "expect": {
1186
+ "vendor": "Sony",
1187
+ "model": "Xperia Tablet",
1188
+ "type": "tablet"
1189
+ }
1190
+ },
1191
+ {
1192
+ "desc": "Sony Tablet S",
1193
+ "ua": "Mozilla/5.0 (Linux; U; Android 3.1; Sony Tablet S Build/THMAS10000) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13",
1194
+ "expect": {
1195
+ "vendor": "Sony",
1196
+ "model": "Xperia Tablet",
1197
+ "type": "tablet"
1198
+ }
1199
+ },
1200
+ {
1201
+ "desc": "Sony Tablet Z LTE",
1202
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.1; SonySGP321 Build/10.2.C.0.143) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30",
1203
+ "expect": {
1204
+ "vendor": "Sony",
1205
+ "model": "Xperia Tablet",
1206
+ "type": "tablet"
1207
+ }
1208
+ },
1209
+ {
1210
+ "desc" : "Tesla",
1211
+ "ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/601.1 (KHTML, like Gecko) Tesla QtCarBrowser Safari/601.1",
1212
+ "expect" :
1213
+ {
1214
+ "vendor": "Tesla",
1215
+ "model": "undefined",
1216
+ "type": "embedded"
1217
+ }
1218
+ },
1219
+ {
1220
+ "desc" : "Tesla",
1221
+ "ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/537.36 (KHTML, like Gecko) Chromium/79.0.3945.130 Chrome/79.0.3945.130 Safari/537.36 Tesla/2020.16.2.1-e99c70fff409",
1222
+ "expect" :
1223
+ {
1224
+ "vendor": "Tesla",
1225
+ "model": "undefined",
1226
+ "type": "embedded"
1227
+ }
1228
+ },
1229
+ {
1230
+ "desc": "Xiaomi 2013023",
1231
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; en-US; 2013023 Build/HM2013023) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/10.0.1.512 U3/0.8.0 Mobile Safari/533.1",
1232
+ "expect": {
1233
+ "vendor": "Xiaomi",
1234
+ "model": "2013023",
1235
+ "type": "mobile"
1236
+ }
1237
+ },
1238
+ {
1239
+ "desc": "Xiaomi Hongmi Note 1W",
1240
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; zh-CN; HM NOTE 1W Build/JDQ39) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/9.7.9.439 U3/0.8.0 Mobile Safari/533.1",
1241
+ "expect": {
1242
+ "vendor": "Xiaomi",
1243
+ "model": "HM NOTE 1W",
1244
+ "type": "mobile"
1245
+ }
1246
+ },
1247
+ {
1248
+ "desc": "Xiaomi Mi 3C",
1249
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.3; zh-CN; MI 3C Build/JLS36C) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/9.7.9.439 U3/0.8.0 Mobile Safari/533.1",
1250
+ "expect": {
1251
+ "vendor": "Xiaomi",
1252
+ "model": "MI 3C",
1253
+ "type": "mobile"
1254
+ }
1255
+ },
1256
+ {
1257
+ "desc": "Xiaomi Mi 5",
1258
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; MI 5 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.83 Mobile Safari/537.36",
1259
+ "expect": {
1260
+ "vendor": "Xiaomi",
1261
+ "model": "MI 5",
1262
+ "type": "mobile"
1263
+ }
1264
+ },
1265
+ {
1266
+ "desc": "Xiaomi Mi 6",
1267
+ "ua": "Mozilla/5.0 (Linux; Android 7.1; MI 6 Build/NMF26X; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/59.0.3071.125 Mobile Safari/537.36",
1268
+ "expect": {
1269
+ "vendor": "Xiaomi",
1270
+ "model": "MI 6",
1271
+ "type": "mobile"
1272
+ }
1273
+ },
1274
+ {
1275
+ "desc": "Xiaomi Mi 5s Plus",
1276
+ "ua": "Mozilla/5.0 (Linux; U; Android 6.0.1; zh-cn; MI 5s Plus Build/MXB48T) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.146 Mobile Safari/537.36 XiaoMi/MiuiBrowser/8.7.1",
1277
+ "expect": {
1278
+ "vendor": "Xiaomi",
1279
+ "model": "MI 5s Plus",
1280
+ "type": "mobile"
1281
+ }
1282
+ },
1283
+ {
1284
+ "desc": "Xiaomi Mi A1",
1285
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; Mi A1 Build/OPR1.170623.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36",
1286
+ "expect": {
1287
+ "vendor": "Xiaomi",
1288
+ "model": "Mi A1",
1289
+ "type": "mobile"
1290
+ }
1291
+ },
1292
+ {
1293
+ "desc": "Xiaomi Mi Note",
1294
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.4; MI NOTE LTE Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36",
1295
+ "expect": {
1296
+ "vendor": "Xiaomi",
1297
+ "model": "MI NOTE LTE",
1298
+ "type": "mobile"
1299
+ }
1300
+ },
1301
+ {
1302
+ "desc": "Xiaomi Mi One Plus",
1303
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; MI-ONE Plus Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
1304
+ "expect": {
1305
+ "vendor": "Xiaomi",
1306
+ "model": "MI-ONE Plus",
1307
+ "type": "mobile"
1308
+ }
1309
+ },
1310
+ {
1311
+ "desc": "Xiaomi MI PAD 2",
1312
+ "ua": "Mozilla/5.0 (Linux; Android 5.1; MI PAD 2 Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Safari/537.36 [FB_IAB/FB4A;FBAV/137.0.0.24.91;]",
1313
+ "expect": {
1314
+ "vendor": "Xiaomi",
1315
+ "model": "MI PAD 2",
1316
+ "type": "tablet"
1317
+ }
1318
+ },
1319
+ {
1320
+ "desc": "Xiaomi MI PAD 4 PLUS",
1321
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; MI PAD 4 PLUS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36",
1322
+ "expect": {
1323
+ "vendor": "Xiaomi",
1324
+ "model": "MI PAD 4 PLUS",
1325
+ "type": "tablet"
1326
+ }
1327
+ },
1328
+ {
1329
+ "desc": "Xiaomi POCO X2",
1330
+ "ua": "Mozilla/5.0 (Linux; Android 10; POCO X2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
1331
+ "expect": {
1332
+ "vendor": "Xiaomi",
1333
+ "model": "POCO X2",
1334
+ "type": "mobile"
1335
+ }
1336
+ },
1337
+ {
1338
+ "desc": "Xiaomi Redmi 4A",
1339
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; Redmi 4A Build/MMB29M; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/56.0.2924.87 Mobile Safari/537.36",
1340
+ "expect": {
1341
+ "vendor": "Xiaomi",
1342
+ "model": "Redmi 4A",
1343
+ "type": "mobile"
1344
+ }
1345
+ },
1346
+ {
1347
+ "desc": "Xiaomi Redmi K30 5G",
1348
+ "ua": "Mozilla/5.0 (Linux; Android 10; Redmi K30 5G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
1349
+ "expect": {
1350
+ "vendor": "Xiaomi",
1351
+ "model": "Redmi K30 5G",
1352
+ "type": "mobile"
1353
+ }
1354
+ },
1355
+ {
1356
+ "desc": "Xiaomi Redmi K30 Pro",
1357
+ "ua": "Mozilla/5.0 (Linux; Android 10; Redmi K30 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
1358
+ "expect": {
1359
+ "vendor": "Xiaomi",
1360
+ "model": "Redmi K30 Pro",
1361
+ "type": "mobile"
1362
+ }
1363
+ },
1364
+ {
1365
+ "desc": "Xiaomi Redmi Note 3",
1366
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; Redmi Note 3 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.116 Mobile Safari/537.36",
1367
+ "expect": {
1368
+ "vendor": "Xiaomi",
1369
+ "model": "Redmi Note 3",
1370
+ "type": "mobile"
1371
+ }
1372
+ },
1373
+ {
1374
+ "desc": "Xiaomi Redmi Note 9 Pro Max",
1375
+ "ua": "Mozilla/5.0 (Linux; Android 10; Redmi Note 9 Pro Max) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.99 Mobile Safari/537.36",
1376
+ "expect": {
1377
+ "vendor": "Xiaomi",
1378
+ "model": "Redmi Note 9 Pro Max",
1379
+ "type": "mobile"
1380
+ }
1381
+ },
1382
+ {
1383
+ "desc": "PlayStation 4",
1384
+ "ua": "Mozilla/5.0 (PlayStation 4 3.00) AppleWebKit/537.73 (KHTML, like Gecko)",
1385
+ "expect": {
1386
+ "vendor": "Sony",
1387
+ "model": "PlayStation 4",
1388
+ "type": "console"
1389
+ }
1390
+ },
1391
+ {
1392
+ "desc": "PlayStation 5",
1393
+ "ua": "Mozilla/5.0 (Playstation; Playstation 5/1.05) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15",
1394
+ "expect": {
1395
+ "vendor": "Sony",
1396
+ "model": "Playstation 5",
1397
+ "type": "console"
1398
+ }
1399
+ },
1400
+ {
1401
+ "desc": "PlayStation Vita",
1402
+ "ua": "Mozilla/5.0 (PlayStation Vita 3.52) AppleWebKit/537.73 (KHTML, like Gecko) Silk/3.2",
1403
+ "expect": {
1404
+ "vendor": "Sony",
1405
+ "model": "PlayStation Vita",
1406
+ "type": "console"
1407
+ }
1408
+ },
1409
+ {
1410
+ "desc": "Nintendo Switch",
1411
+ "ua": "Mozilla/5.0 (Nintendo Switch; WifiWebAuthApplet) AppleWebKit/606.4 (KHTML, like Gecko) NF/6.0.1.15.4 NintendoBrowser/5.1.0.20393",
1412
+ "expect": {
1413
+ "vendor": "Nintendo",
1414
+ "model": "Switch",
1415
+ "type": "console"
1416
+ }
1417
+ },
1418
+ {
1419
+ "desc": "Nintendo WiiU",
1420
+ "ua": "Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.9 NintendoBrowser/4.2.0.11146.EU",
1421
+ "expect": {
1422
+ "vendor": "Nintendo",
1423
+ "model": "WiiU",
1424
+ "type": "console"
1425
+ }
1426
+ },
1427
+ {
1428
+ "desc": "Nintendo Wii",
1429
+ "ua": "Opera/9.10 (Nintendo Wii; U; ; 1621; en)",
1430
+ "expect": {
1431
+ "vendor": "Nintendo",
1432
+ "model": "Wii",
1433
+ "type": "console"
1434
+ }
1435
+ },
1436
+ {
1437
+ "desc": "Nintendo 3DS",
1438
+ "ua": "Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7610.EU",
1439
+ "expect": {
1440
+ "vendor": "Nintendo",
1441
+ "model": "3DS",
1442
+ "type": "console"
1443
+ }
1444
+ },
1445
+ {
1446
+ "desc": "Nintendo 3DS",
1447
+ "ua": "Mozilla/5.0 (New Nintendo 3DS like iPhone) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.0.5.15 Mobile NintendoBrowser/1.3.10126.EU",
1448
+ "expect": {
1449
+ "vendor": "Nintendo",
1450
+ "model": "3DS",
1451
+ "type": "console"
1452
+ }
1453
+ },
1454
+ {
1455
+ "desc": "Galaxy Nexus",
1456
+ "ua": "Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19",
1457
+ "expect": {
1458
+ "vendor": "Samsung",
1459
+ "model": "Galaxy Nexus",
1460
+ "type": "mobile"
1461
+ }
1462
+ },
1463
+ {
1464
+ "desc": "Samsung Galaxy C9 Pro",
1465
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; SAMSUNG SM-C900F Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.2 Chrome/44.0.2403.133 Mobile Safari/537.36",
1466
+ "expect": {
1467
+ "vendor": "Samsung",
1468
+ "model": "SM-C900F",
1469
+ "type": "mobile"
1470
+ }
1471
+ },
1472
+ {
1473
+ "desc": "Samsung Galaxy S5",
1474
+ "ua": "Mozilla/5.0 (Linux; Android 5.0; SM-G900F Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Mobile Safari/537.36",
1475
+ "expect": {
1476
+ "vendor": "Samsung",
1477
+ "model": "SM-G900F",
1478
+ "type": "mobile"
1479
+ }
1480
+ },
1481
+ {
1482
+ "desc": "Samsung Galaxy S6",
1483
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-G920I Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
1484
+ "expect": {
1485
+ "vendor": "Samsung",
1486
+ "model": "SM-G920I",
1487
+ "type": "mobile"
1488
+ }
1489
+ },
1490
+ {
1491
+ "desc": "Samsung Galaxy S6 Edge",
1492
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-G925I Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
1493
+ "expect": {
1494
+ "vendor": "Samsung",
1495
+ "model": "SM-G925I",
1496
+ "type": "mobile"
1497
+ }
1498
+ },
1499
+ {
1500
+ "desc": "Samsung Galaxy Note 5 Chrome",
1501
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SM-N920C Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.91 Mobile Safari/537.36",
1502
+ "expect": {
1503
+ "vendor": "Samsung",
1504
+ "model": "SM-N920C",
1505
+ "type": "mobile"
1506
+ }
1507
+ },
1508
+ {
1509
+ "desc": "Samsung Galaxy Note 5 Samsung Browser",
1510
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-N920C Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36",
1511
+ "expect": {
1512
+ "vendor": "Samsung",
1513
+ "model": "SM-N920C",
1514
+ "type": "mobile"
1515
+ }
1516
+ },
1517
+ {
1518
+ "desc": "Google Chromecast",
1519
+ "ua": "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.84 Safari/537.36 CrKey/1.22.79313",
1520
+ "expect": {
1521
+ "vendor": "Google",
1522
+ "model": "Chromecast",
1523
+ "type": "smarttv"
1524
+ }
1525
+ },
1526
+ {
1527
+ "desc": "Google Pixel C",
1528
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; Pixel C Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.98 Safari/537.36",
1529
+ "expect": {
1530
+ "vendor": "Google",
1531
+ "model": "Pixel C",
1532
+ "type": "tablet"
1533
+ }
1534
+ },
1535
+ {
1536
+ "desc": "Google Pixel C",
1537
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; Pixel C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.64 Safari/537.36",
1538
+ "expect": {
1539
+ "vendor": "Google",
1540
+ "model": "Pixel C",
1541
+ "type": "tablet"
1542
+ }
1543
+ },
1544
+ {
1545
+ "desc": "Google Pixel",
1546
+ "ua": "Mozilla/5.0 (Linux; Android 7.1; Pixel Build/NDE63V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36",
1547
+ "expect": {
1548
+ "vendor": "Google",
1549
+ "model": "Pixel",
1550
+ "type": "mobile"
1551
+ }
1552
+ },
1553
+ {
1554
+ "desc": "Google Pixel XL",
1555
+ "ua": "Mozilla/5.0 (Linux; Android 7.1; Pixel XL Build/NDE63X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36",
1556
+ "expect": {
1557
+ "vendor": "Google",
1558
+ "model": "Pixel XL",
1559
+ "type": "mobile"
1560
+ }
1561
+ },
1562
+ {
1563
+ "desc": "Google Pixel XL",
1564
+ "ua": "Mozilla/5.0 (Linux; Android 9; Pixel XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
1565
+ "expect": {
1566
+ "vendor": "Google",
1567
+ "model": "Pixel XL",
1568
+ "type": "mobile"
1569
+ }
1570
+ },
1571
+ {
1572
+ "desc": "Google Pixel 2",
1573
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; Pixel 2 Build/OPM1.171019.013) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Safari/537.36",
1574
+ "expect": {
1575
+ "vendor": "Google",
1576
+ "model": "Pixel 2",
1577
+ "type": "mobile"
1578
+ }
1579
+ },
1580
+ {
1581
+ "desc": "Google Pixel 2 XL",
1582
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; Pixel 2 XL Build/OPM1.171019.013) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Safari/537.36",
1583
+ "expect": {
1584
+ "vendor": "Google",
1585
+ "model": "Pixel 2 XL",
1586
+ "type": "mobile"
1587
+ }
1588
+ },
1589
+ {
1590
+ "desc": "Google Pixel 2 XL",
1591
+ "ua": "Mozilla/5.0 (Linux; Android 9; Pixel 2 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
1592
+ "expect": {
1593
+ "vendor": "Google",
1594
+ "model": "Pixel 2 XL",
1595
+ "type": "mobile"
1596
+ }
1597
+ },
1598
+ {
1599
+ "desc": "Google Pixel 3",
1600
+ "ua": "Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PD1A.180720.030) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36",
1601
+ "expect": {
1602
+ "vendor": "Google",
1603
+ "model": "Pixel 3",
1604
+ "type": "mobile"
1605
+ }
1606
+ },
1607
+ {
1608
+ "desc": "Google Pixel 3 XL",
1609
+ "ua": "Mozilla/5.0 (Linux; Android 9; Pixel 3 XL Build/PD1A.180720.030) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36",
1610
+ "expect": {
1611
+ "vendor": "Google",
1612
+ "model": "Pixel 3 XL",
1613
+ "type": "mobile"
1614
+ }
1615
+ },
1616
+ {
1617
+ "desc": "Google Pixel 3 XL",
1618
+ "ua": "Mozilla/5.0 (Linux; Android 9; Pixel 3 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
1619
+ "expect": {
1620
+ "vendor": "Google",
1621
+ "model": "Pixel 3 XL",
1622
+ "type": "mobile"
1623
+ }
1624
+ },
1625
+ {
1626
+ "desc": "Google Pixel 3a",
1627
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 3a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
1628
+ "expect": {
1629
+ "vendor": "Google",
1630
+ "model": "Pixel 3a",
1631
+ "type": "mobile"
1632
+ }
1633
+ },
1634
+ {
1635
+ "desc": "Google Pixel 3a XL",
1636
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 3a XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
1637
+ "expect": {
1638
+ "vendor": "Google",
1639
+ "model": "Pixel 3a XL",
1640
+ "type": "mobile"
1641
+ }
1642
+ },
1643
+ {
1644
+ "desc": "Google Pixel 4",
1645
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
1646
+ "expect": {
1647
+ "vendor": "Google",
1648
+ "model": "Pixel 4",
1649
+ "type": "mobile"
1650
+ }
1651
+ },
1652
+ {
1653
+ "desc": "Google Pixel 4a",
1654
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 4a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36",
1655
+ "expect": {
1656
+ "vendor": "Google",
1657
+ "model": "Pixel 4a",
1658
+ "type": "mobile"
1659
+ }
1660
+ },
1661
+ {
1662
+ "desc": "Google Pixel 4 XL",
1663
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 4 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
1664
+ "expect": {
1665
+ "vendor": "Google",
1666
+ "model": "Pixel 4 XL",
1667
+ "type": "mobile"
1668
+ }
1669
+ },
1670
+ {
1671
+ "desc": "Google Pixel 5",
1672
+ "ua": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.120 Mobile Safari/537.36",
1673
+ "expect": {
1674
+ "vendor": "Google",
1675
+ "model": "Pixel 5",
1676
+ "type": "mobile"
1677
+ }
1678
+ },
1679
+ {
1680
+ "desc": "Generic Android Device",
1681
+ "ua": "Mozilla/5.0 (Linux; U; Android 6.0.1; i980 Build/MRA58K)",
1682
+ "expect": {
1683
+ "vendor": "Generic",
1684
+ "model": "Android 6.0.1"
1685
+ }
1686
+ },
1687
+ {
1688
+ "desc": "Android Phone Unidentified Vendor (docomo F-04K)",
1689
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; F-04K Build/V15R060P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36",
1690
+ "expect": {
1691
+ "model": "F-04K",
1692
+ "type": "mobile"
1693
+ }
1694
+ },
1695
+ {
1696
+ "desc": "Android Phone Unidentified Vendor (docomo SH-02M)",
1697
+ "ua": "Mozilla/5.0 (Linux; Android 9; SH-02M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36",
1698
+ "expect": {
1699
+ "model": "SH-02M",
1700
+ "type": "mobile"
1701
+ }
1702
+ },
1703
+ {
1704
+ "desc": "Android Tablet Unidentified Vendor (docomo F-02K)",
1705
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; F-02K Build/V44R059G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Safari/537.36",
1706
+ "expect": {
1707
+ "model": "F-02K",
1708
+ "type": "tablet"
1709
+ }
1710
+ },
1711
+ {
1712
+ "desc": "Android Tablet Unidentified Vendor (docomo d-02K)",
1713
+ "ua": "Mozilla/5.0 (Linux; Android 9; d-02K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Safari/537.36",
1714
+ "expect": {
1715
+ "model": "d-02K",
1716
+ "type": "tablet"
1717
+ }
1718
+ },
1719
+ {
1720
+ "desc": "LG VK Series Tablet",
1721
+ "ua": "Mozilla/5.0 (Linux; Android 5.0.2; VK700 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.84 Safari/537.36",
1722
+ "expect": {
1723
+ "vendor": "LG",
1724
+ "model": "VK700",
1725
+ "type": "tablet"
1726
+ }
1727
+ },
1728
+ {
1729
+ "desc": "LG LK Series Tablet",
1730
+ "ua": "Mozilla/5.0 (Linux; Android 5.0.1; LGLK430 Build/LRX21Y) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/38.0.2125.102 Safari/537.36",
1731
+ "expect": {
1732
+ "vendor": "LG",
1733
+ "model": "LK430",
1734
+ "type": "tablet"
1735
+ }
1736
+ },
1737
+ {
1738
+ "desc": "RCA Voyager III Tablet",
1739
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; RCT6973W43 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1740
+ "expect": {
1741
+ "vendor": "RCA",
1742
+ "model": "RCT6973W43",
1743
+ "type": "tablet"
1744
+ }
1745
+ },
1746
+ {
1747
+ "desc": "RCA Voyager II Tablet",
1748
+ "ua": "Mozilla/5.0 (Linux; Android 5.0; RCT6773W22B Build/LRX21M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1749
+ "expect": {
1750
+ "vendor": "RCA",
1751
+ "model": "RCT6773W22B",
1752
+ "type": "tablet"
1753
+ }
1754
+ },
1755
+ {
1756
+ "desc": "Verizon Quanta Tablet",
1757
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; QMV7B Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1758
+ "expect": {
1759
+ "vendor": "Verizon",
1760
+ "model": "QMV7B",
1761
+ "type": "tablet"
1762
+ }
1763
+ },
1764
+ {
1765
+ "desc": "Verizon Ellipsis 8 Tablet",
1766
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; QTAQZ3 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1767
+ "expect": {
1768
+ "vendor": "Verizon",
1769
+ "model": "QTAQZ3",
1770
+ "type": "tablet"
1771
+ }
1772
+ },
1773
+ {
1774
+ "desc": "Verizon Ellipsis 8HD Tablet",
1775
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; QTASUN1 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Safari/537.36",
1776
+ "expect": {
1777
+ "vendor": "Verizon",
1778
+ "model": "QTASUN1",
1779
+ "type": "tablet"
1780
+ }
1781
+ },
1782
+ {
1783
+ "desc": "Dell Venue 8 Tablet",
1784
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; Venue 8 3830 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1785
+ "expect": {
1786
+ "vendor": "Dell",
1787
+ "model": "Venue 8 3830",
1788
+ "type": "tablet"
1789
+ }
1790
+ },
1791
+ {
1792
+ "desc": "Dell Venue 7 Tablet",
1793
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; Venue 7 3730 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1794
+ "expect": {
1795
+ "vendor": "Dell",
1796
+ "model": "Venue 7 3730",
1797
+ "type": "tablet"
1798
+ }
1799
+ },
1800
+ {
1801
+ "desc": "Barnes & Noble Nook HD+ Tablet",
1802
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; Barnes & Noble Nook HD+ Build/JZO54K; CyanogenMod-10) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
1803
+ "expect": {
1804
+ "vendor": "Barnes & Noble",
1805
+ "model": "Nook HD+",
1806
+ "type": "tablet"
1807
+ }
1808
+ },
1809
+ {
1810
+ "desc": "Barnes & Noble V400 Tablet",
1811
+ "ua": "Mozilla/5.0 (Linux; Android 4.0.4; BNTV400 Build/IMM76L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.111 Safari/537.36",
1812
+ "expect": {
1813
+ "vendor": "Barnes & Noble",
1814
+ "model": "V400",
1815
+ "type": "tablet"
1816
+ }
1817
+ },
1818
+ {
1819
+ "desc": "NuVision TM101A540N Tablet",
1820
+ "ua": "Mozilla/5.0 (Linux; Android 5.1; TM101A540N Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/50.0.2661.86 Safari/537.36",
1821
+ "expect": {
1822
+ "vendor": "NuVision",
1823
+ "model": "TM101A540N",
1824
+ "type": "tablet"
1825
+ }
1826
+ },
1827
+ {
1828
+ "desc": "ZTE-Z431",
1829
+ "ua": "ZTE-Z431/1.4.0 NetFront/4.2 QTV5.1 Profile/MIDP-2.1 Configuration/CLDC-1.1",
1830
+ "expect": {
1831
+ "vendor": "ZTE",
1832
+ "model": "Z431",
1833
+ "type": "mobile"
1834
+ }
1835
+ },
1836
+ {
1837
+ "desc": "ZTE",
1838
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; ZTE-Z740G Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
1839
+ "expect": {
1840
+ "vendor": "ZTE",
1841
+ "model": "Z740G",
1842
+ "type": "mobile"
1843
+ }
1844
+ },
1845
+ {
1846
+ "desc": "ZTE K Series Tablet",
1847
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; K88 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1848
+ "expect": {
1849
+ "vendor": "ZTE",
1850
+ "model": "K88",
1851
+ "type": "tablet"
1852
+ }
1853
+ },
1854
+ {
1855
+ "desc": "ZTE Nubia Red Magic 3",
1856
+ "ua": "Mozilla/5.0 (Linux; Android 9; NX629J Build/PKQ1.190321.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/45016 Mobile Safari/537.36 MMWEBID/4064 MicroMessenger/7.0.10.1580(0x27000A34) Process/tools NetType/WIFI Language/zh_CN ABI/arm64",
1857
+ "expect": {
1858
+ "vendor": "ZTE",
1859
+ "model": "NX629J",
1860
+ "type": "mobile"
1861
+ }
1862
+ },
1863
+ {
1864
+ "desc": "Swizz GEN610",
1865
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; GEN610 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36",
1866
+ "expect": {
1867
+ "vendor": "Swiss",
1868
+ "model": "GEN610",
1869
+ "type": "mobile"
1870
+ }
1871
+ },
1872
+ {
1873
+ "desc": "Swizz ZUR700",
1874
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; ZUR700 Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Safari/537.36",
1875
+ "expect": {
1876
+ "vendor": "Swiss",
1877
+ "model": "ZUR700",
1878
+ "type": "tablet"
1879
+ }
1880
+ },
1881
+ {
1882
+ "desc": "Zeki TB782b Tablet",
1883
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.0.4; en-US; TB782B Build/IMM76D) AppleWebKit/534.31 (KHTML, like Gecko) UCBrowser/9.0.2.299 U3/0.8.0 Mobile Safari/534.31",
1884
+ "expect": {
1885
+ "vendor": "Zeki",
1886
+ "model": "TB782B",
1887
+ "type": "tablet"
1888
+ }
1889
+ },
1890
+ {
1891
+ "desc": "Dragon Touch Tablet",
1892
+ "ua": "Mozilla/5.0 (Linux; Android 4.0.4; DT9138B Build/IMM76D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Mobile Safari/537.36",
1893
+ "expect": {
1894
+ "vendor": "Dragon Touch",
1895
+ "model": "9138B",
1896
+ "type": "tablet"
1897
+ }
1898
+ },
1899
+ {
1900
+ "desc": "Insignia Tablet",
1901
+ "ua": "Mozilla/5.0 (Linux; U; Android 6.0.1; NS-P08A7100 Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/56.0.2924.87 Safari/537.36",
1902
+ "expect": {
1903
+ "vendor": "Insignia",
1904
+ "model": "NS-P08A7100",
1905
+ "type": "tablet"
1906
+ }
1907
+ },
1908
+ {
1909
+ "desc": "Voice Xtreme V75",
1910
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.2.1; en-us; V75 Build/JOP40D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
1911
+ "expect": {
1912
+ "vendor": "Voice",
1913
+ "model": "V75",
1914
+ "type": "mobile"
1915
+ }
1916
+ },
1917
+ {
1918
+ "desc": "LvTel V11",
1919
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; V11 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Safari/537.36",
1920
+ "expect": {
1921
+ "vendor": "LvTel",
1922
+ "model": "V11",
1923
+ "type": "mobile"
1924
+ }
1925
+ },
1926
+ {
1927
+ "desc": "Envizen Tablet V100MD",
1928
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.1.1; en-us; V100MD Build/V100MD.20130816) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30",
1929
+ "expect": {
1930
+ "vendor": "Envizen",
1931
+ "model": "V100MD",
1932
+ "type": "tablet"
1933
+ }
1934
+ },
1935
+ {
1936
+ "desc": "Rotor Tablet",
1937
+ "ua": "mozilla/5.0 (linux; android 5.0.1; tu_1491 build/lrx22c) applewebkit/537.36 (khtml, like gecko) chrome/43.0.2357.93 safari/537.36",
1938
+ "expect": {
1939
+ "vendor": "Rotor",
1940
+ "model": "1491",
1941
+ "type": "tablet"
1942
+ }
1943
+ },
1944
+ {
1945
+ "desc": "MachSpeed Tablets",
1946
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; Trio 7.85 vQ Build/Trio_7.85_vQ) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36",
1947
+ "expect": {
1948
+ "vendor": "MachSpeed",
1949
+ "model": "Trio 7.85 vQ",
1950
+ "type": "tablet"
1951
+ }
1952
+ },
1953
+ {
1954
+ "desc": "Trinity Tablets",
1955
+ "ua": "Mozilla/5.0 (Linux; Android 5.0.1; Trinity T101 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Safari/537.36",
1956
+ "expect": {
1957
+ "vendor": "Trinity",
1958
+ "model": "T101",
1959
+ "type": "tablet"
1960
+ }
1961
+ },
1962
+ {
1963
+ "desc": "NextBook Next7",
1964
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; Next7P12 Build/IMM76I) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30",
1965
+ "expect": {
1966
+ "vendor": "NextBook",
1967
+ "model": "Next7P12",
1968
+ "type": "tablet"
1969
+ }
1970
+ },
1971
+ {
1972
+ "desc": "NextBook Tablets",
1973
+ "ua": "Mozilla/5.0 (Linux; Android 5.0; NXA8QC116 Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1974
+ "expect": {
1975
+ "vendor": "NextBook",
1976
+ "model": "NXA8QC116",
1977
+ "type": "tablet"
1978
+ }
1979
+ },
1980
+ {
1981
+ "desc": "Le Pan Tablets",
1982
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; Le Pan TC802A Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1983
+ "expect": {
1984
+ "vendor": "Le Pan",
1985
+ "model": "TC802A",
1986
+ "type": "tablet"
1987
+ }
1988
+ },
1989
+ {
1990
+ "desc": "Le Pan Tablets",
1991
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; Le Pan TC802A Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1992
+ "expect": {
1993
+ "vendor": "Le Pan",
1994
+ "model": "TC802A",
1995
+ "type": "tablet"
1996
+ }
1997
+ },
1998
+ {
1999
+ "desc": "Amazon Alexa Echo Show",
2000
+ "ua": "AlexaWebMediaPlayer/1.0.200641.0 (Linux;Android 5.1.1)",
2001
+ "expect": {
2002
+ "vendor": "Amazon",
2003
+ "model": "Alexa",
2004
+ "type": "tablet"
2005
+ }
2006
+ },
2007
+ {
2008
+ "desc": "Amazon Kindle Fire Tablet",
2009
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFSAWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.66 like Chrome/39.0.2171.93 Safari/537.36",
2010
+ "expect": {
2011
+ "vendor": "Amazon",
2012
+ "model": "KFSAWI",
2013
+ "type": "tablet"
2014
+ }
2015
+ },
2016
+ {
2017
+ "desc": "Amazon Kindle Fire Tablet",
2018
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFSAWI) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.66 like Chrome/39.0.2171.93 Safari/537.36",
2019
+ "expect": {
2020
+ "vendor": "Amazon",
2021
+ "model": "KFSAWI",
2022
+ "type": "tablet"
2023
+ }
2024
+ },
2025
+ {
2026
+ "desc": "Amazon Kindle Fire Tablet",
2027
+ "ua": "Mozilla/5.0 (Linux; Android 9; KFMAWI Build/PS7312; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Safari/537.36",
2028
+ "expect": {
2029
+ "vendor": "Amazon",
2030
+ "model": "KFMAWI",
2031
+ "type": "tablet"
2032
+ }
2033
+ },
2034
+ {
2035
+ "desc": "Amazon Fire TV",
2036
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; AFTB Build/JDQ39) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.173 Mobile Safari/537.22",
2037
+ "expect": {
2038
+ "vendor": "Amazon",
2039
+ "model": "B",
2040
+ "type": "smarttv"
2041
+ }
2042
+ },
2043
+ {
2044
+ "desc": "Amazon Fire TV",
2045
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; AFTT) AppleWebKit/537.36 (KHTML, like Gecko) Silk/86.3.20 like Chrome/86.0.4240.198 Safari/537.36",
2046
+ "expect": {
2047
+ "vendor": "Amazon",
2048
+ "model": "T",
2049
+ "type": "smarttv"
2050
+ }
2051
+ },
2052
+ {
2053
+ "desc": "Android TV",
2054
+ "ua": "Mozilla/5.0 (Linux; Android 10; 2020/2021 UHD Android TV Build/QTG3.201102.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) version/4.0 Chrome/83.0.4103.101 Mobile Safari/537.36",
2055
+ "expect": {
2056
+ "vendor": "undefined",
2057
+ "model": "undefined",
2058
+ "type": "smarttv"
2059
+ }
2060
+ },
2061
+ {
2062
+ "desc": "Gigaset Tablet",
2063
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; Gigaset QV830 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
2064
+ "expect": {
2065
+ "vendor": "Gigaset",
2066
+ "model": "QV830",
2067
+ "type": "tablet"
2068
+ }
2069
+ },
2070
+ {
2071
+ "desc": "HUAWEI MediaPad M3 Lite 10",
2072
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; BAH-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Safari/537.36",
2073
+ "expect": {
2074
+ "vendor": "Huawei",
2075
+ "model": "BAH-L09",
2076
+ "type": "tablet"
2077
+ }
2078
+ },
2079
+ {
2080
+ "desc": "HUAWEI MediaPad M5 Lite",
2081
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; BAH2-W19 Build/HUAWEIBAH2-W19; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Safari/537.36",
2082
+ "expect": {
2083
+ "vendor": "Huawei",
2084
+ "model": "BAH2-W19",
2085
+ "type": "tablet"
2086
+ }
2087
+ },
2088
+ {
2089
+ "desc": "HUAWEI MediaPad M5",
2090
+ "ua": "Mozilla/5.0 (Linux; Android 9; SHT-AL09 Build/HUAWEISHT-AL09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.90 Mobile Safari/537.36",
2091
+ "expect": {
2092
+ "vendor": "Huawei",
2093
+ "model": "SHT-AL09",
2094
+ "type": "tablet"
2095
+ }
2096
+ },
2097
+ {
2098
+ "desc": "HUAWEI MediaPad T5",
2099
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; AGS2-L09 Build/HUAWEIAGS2-L09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/84.0.4147.125 Safari/537.36",
2100
+ "expect": {
2101
+ "vendor": "Huawei",
2102
+ "model": "AGS2-L09",
2103
+ "type": "tablet"
2104
+ }
2105
+ },
2106
+ {
2107
+ "desc": "HUAWEI MediaPad T10",
2108
+ "ua": "Mozilla/5.0 (Linux; Android 10; AGR-W09 Build/HUAWEIAGR-W09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Safari/537.36",
2109
+ "expect": {
2110
+ "vendor": "Huawei",
2111
+ "model": "AGR-W09",
2112
+ "type": "tablet"
2113
+ }
2114
+ },
2115
+ {
2116
+ "desc": "HUAWEI MediaPad T10s",
2117
+ "ua": "Mozilla/5.0 (Linux; Android 10; AGS3-W09 Build/HUAWEIAGS3-W09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Safari/537.36",
2118
+ "expect": {
2119
+ "vendor": "Huawei",
2120
+ "model": "AGS3-W09",
2121
+ "type": "tablet"
2122
+ }
2123
+ },
2124
+ {
2125
+ "desc": "Huawei MatePad T 10",
2126
+ "ua": "Mozilla/5.0 (Linux; Android 10; AGR-L09; HMSCore 5.0.4.301) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 HuaweiBrowser/11.0.3.304 Safari/537.36",
2127
+ "expect": {
2128
+ "vendor": "Huawei",
2129
+ "model": "AGR-L09",
2130
+ "type": "tablet"
2131
+ }
2132
+ },
2133
+ {
2134
+ "desc": "Huawei Mate 10 Pro",
2135
+ "ua": "Mozilla/5.0 (Linux; Android 8.0; BLA-L29 Build/HUAWEIBLA-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3236.6 Mobile Safari/537.36",
2136
+ "expect": {
2137
+ "vendor": "Huawei",
2138
+ "model": "BLA-L29",
2139
+ "type": "mobile"
2140
+ }
2141
+ },
2142
+ {
2143
+ "desc": "Huawei Mate X",
2144
+ "ua": "Mozilla/5.0 (Linux; Android 9; TAH-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.111 Safari/537.36",
2145
+ "expect": {
2146
+ "vendor": "Huawei",
2147
+ "model": "TAH-AN00",
2148
+ "type": "mobile"
2149
+ }
2150
+ },
2151
+ {
2152
+ "desc": "Huawei Mate X2",
2153
+ "ua": "Mozilla/5.0 (Linux; Android 10; TET-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
2154
+ "expect": {
2155
+ "vendor": "Huawei",
2156
+ "model": "TET-AN00",
2157
+ "type": "mobile"
2158
+ }
2159
+ },
2160
+ {
2161
+ "desc": "Huawei Mate 20 X",
2162
+ "ua": "Mozilla/5.0 (Linux; Android 9; EVR-L29 Build/HUAWEIEVR-L29; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Mobile Safari/537.36",
2163
+ "expect": {
2164
+ "vendor": "Huawei",
2165
+ "model": "EVR-L29",
2166
+ "type": "mobile"
2167
+ }
2168
+ },
2169
+ {
2170
+ "desc": "Huawei Mate 20 Pro",
2171
+ "ua": "Mozilla/5.0 (Linux; Android 9; LYA-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
2172
+ "expect": {
2173
+ "vendor": "Huawei",
2174
+ "model": "LYA-L09",
2175
+ "type": "mobile"
2176
+ }
2177
+ },
2178
+ {
2179
+ "desc": "Huawei Mate 20 Pro",
2180
+ "ua": "Mozilla/5.0 (Linux; Android 9; LYA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
2181
+ "expect": {
2182
+ "vendor": "Huawei",
2183
+ "model": "LYA-AL00",
2184
+ "type": "mobile"
2185
+ }
2186
+ },
2187
+ {
2188
+ "desc": "Huawei P20 Lite",
2189
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; ANE-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
2190
+ "expect": {
2191
+ "vendor": "Huawei",
2192
+ "model": "ANE-LX1",
2193
+ "type": "mobile"
2194
+ }
2195
+ },
2196
+ {
2197
+ "desc": "Huawei P20",
2198
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; EML-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Mobile Safari/537.36",
2199
+ "expect": {
2200
+ "vendor": "Huawei",
2201
+ "model": "EML-L29",
2202
+ "type": "mobile"
2203
+ }
2204
+ },
2205
+ {
2206
+ "desc": "Huawei P20 Pro",
2207
+ "ua": "Mozilla/5.0 (Linux; Android 9; CLT-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
2208
+ "expect": {
2209
+ "vendor": "Huawei",
2210
+ "model": "CLT-L29",
2211
+ "type": "mobile"
2212
+ }
2213
+ },
2214
+ {
2215
+ "desc": "Huawei P30",
2216
+ "ua": "Mozilla/5.0 (Linux; Android 9; ELE-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36",
2217
+ "expect": {
2218
+ "vendor": "Huawei",
2219
+ "model": "ELE-L29",
2220
+ "type": "mobile"
2221
+ }
2222
+ },
2223
+ {
2224
+ "desc": "Huawei P30 Pro",
2225
+ "ua": "Mozilla/5.0 (Linux; Android 9; VOG-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
2226
+ "expect": {
2227
+ "vendor": "Huawei",
2228
+ "model": "VOG-L29",
2229
+ "type": "mobile"
2230
+ }
2231
+ },
2232
+ {
2233
+ "desc": "Huawei P40",
2234
+ "ua": "Mozilla/5.0 (Linux; Android 10; ANA-AN00 Build/HUAWEIANA-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/11.26 SP-engine/2.22.0 baiduboxapp/11.26.0.10 (Baidu; P1 10) NABar/1.0",
2235
+ "expect": {
2236
+ "vendor": "Huawei",
2237
+ "model": "ANA-AN00",
2238
+ "type": "mobile"
2239
+ }
2240
+ },
2241
+ {
2242
+ "desc": "Huawei P40 Pro",
2243
+ "ua": "Mozilla/5.0 (Linux; Android 10; ELS-AN00 Build/HUAWEIELS-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Mobile Safari/537.36 mailapp/6.0.0",
2244
+ "expect": {
2245
+ "vendor": "Huawei",
2246
+ "model": "ELS-AN00",
2247
+ "type": "mobile"
2248
+ }
2249
+ },
2250
+ {
2251
+ "desc": "Huawei 30 Pro+",
2252
+ "ua": "Mozilla/5.0 (Linux; Android 10; EBG-AN10 Build/HUAWEIEBG-AN10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.86 Mobile Safari/537.36 EdgA/42.0.0.2741",
2253
+ "expect": {
2254
+ "vendor": "Huawei",
2255
+ "model": "EBG-AN10",
2256
+ "type": "mobile"
2257
+ }
2258
+ },
2259
+ {
2260
+ "desc": "Huawei 30S",
2261
+ "ua": "Mozilla/5.0 (Linux; Android 10; CDY-AN90 Build/HUAWEICDY-AN90; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Mobile Safari/537.36 mailapp/5.8.0",
2262
+ "expect": {
2263
+ "vendor": "Huawei",
2264
+ "model": "CDY-AN90",
2265
+ "type": "mobile"
2266
+ }
2267
+ },
2268
+ {
2269
+ "desc": "Huawei Enjoy10e",
2270
+ "ua": "Dalvik/2.1.0 (Linux; U; Android 10; MED-AL00 Build/HUAWEIMED-AL00)",
2271
+ "expect": {
2272
+ "vendor": "Huawei",
2273
+ "model": "MED-AL00",
2274
+ "type": "mobile"
2275
+ }
2276
+ },
2277
+ {
2278
+ "desc": "Amazon Fire 7",
2279
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; KFAUWI) AppleWebKit/537.36 (KHTML, like Gecko) Silk/80.5.3 like Chrome/80.0.3987.162 Safari/537.36",
2280
+ "expect": {
2281
+ "vendor": "Amazon",
2282
+ "model": "KFAUWI",
2283
+ "type": "tablet"
2284
+ }
2285
+ },
2286
+ {
2287
+ "desc": "AT&T Radiant Core U304AA",
2288
+ "ua": "Dalvik/2.1.0 (Linux; U; Android 9; U304AA Build/P00610)",
2289
+ "expect": {
2290
+ "vendor": "AT&T",
2291
+ "model": "U304AA",
2292
+ "type": "mobile"
2293
+ }
2294
+ },
2295
+ {
2296
+ "desc": "Vodafone Smart Tab 4G",
2297
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.4; Vodafone Smart Tab 4G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
2298
+ "expect": {
2299
+ "vendor": "Vodafone",
2300
+ "model": "Smart Tab 4G",
2301
+ "type": "tablet"
2302
+ }
2303
+ },
2304
+ {
2305
+ "desc": "Vodafone Smart ultra 6",
2306
+ "ua": "Mozilla/5.0 (Linux; Android 5.0.2; Vodafone Smart ultra 6 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36",
2307
+ "expect": {
2308
+ "vendor": "Vodafone",
2309
+ "model": "Smart ultra 6",
2310
+ "type": "tablet"
2311
+ }
2312
+ },
2313
+ {
2314
+ "desc": "4ife 4K Smart TV Box",
2315
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; 4ife 4K Smart TV Box Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36 Vinebre",
2316
+ "expect": {
2317
+ "vendor": "undefined",
2318
+ "model": "undefined",
2319
+ "type": "smarttv"
2320
+ }
2321
+ },
2322
+ {
2323
+ "desc": "FaceBook Mobile App",
2324
+ "ua": "[FBAN/FBIOS;FBAV/283.0.0.44.117;FBBV/238386386;FBDV/iPhone12,1;FBMD/iPhone;FBSN/iOS;FBSV/13.6.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBRV/240127608]",
2325
+ "expect": {
2326
+ "type": "mobile"
2327
+ }
2328
+ },
2329
+ {
2330
+ "desc": "Issue #454",
2331
+ "ua": "Mosamzilla/5.0 (Windows; U; Win98; en-US; rv:1.7.5) Gecko/20050603 Netscape/8.0.2",
2332
+ "expect": {
2333
+ "vendor": "undefined",
2334
+ "model": "undefined",
2335
+ "type": "undefined"
2336
+ }
2337
+ },
2338
+ {
2339
+ "desc": "Alcatel",
2340
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; ALCATEL A564C Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36",
2341
+ "expect": {
2342
+ "vendor": "ALCATEL",
2343
+ "model": "A564C",
2344
+ "type": "mobile"
2345
+ }
2346
+ },
2347
+ {
2348
+ "desc": "Alcatel Go Flip",
2349
+ "ua": "Mozilla/5.0 (Mobile; ALCATEL4044T; rv:37.0) Gecko/37.0 Firefox/37.0 KaiOS/1.0",
2350
+ "expect": {
2351
+ "vendor": "ALCATEL",
2352
+ "model": "4044T",
2353
+ "type": "mobile"
2354
+ }
2355
+ },
2356
+ {
2357
+ "desc": "Jolla",
2358
+ "ua": "Mozilla/5.0 (Maemo; Linux; U; Jolla; Sailfish; Mobile; rv:31.0) Gecko/31.0 Firefox/31.0 SailfishBrowser/1.0",
2359
+ "expect": {
2360
+ "vendor": "Jolla",
2361
+ "model": "undefined",
2362
+ "type": "mobile"
2363
+ }
2364
+ },
2365
+ {
2366
+ "desc": "Xbox One",
2367
+ "ua": "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; Xbox; Xbox One)",
2368
+ "expect": {
2369
+ "vendor": "Microsoft",
2370
+ "model": "Xbox One",
2371
+ "type": "console"
2372
+ }
2373
+ },
2374
+ {
2375
+ "desc": "Xbox",
2376
+ "ua": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Xbox)",
2377
+ "expect": {
2378
+ "vendor": "Microsoft",
2379
+ "model": "Xbox",
2380
+ "type": "console"
2381
+ }
2382
+ },
2383
+ {
2384
+ "desc": "Nvidia Shield Tablet",
2385
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SHIELD Tablet Build/LVY48E; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/45.0.2454.19 Safari/537.36",
2386
+ "expect": {
2387
+ "vendor": "Nvidia",
2388
+ "model": "SHIELD Tablet",
2389
+ "type": "tablet"
2390
+ }
2391
+ },
2392
+ {
2393
+ "desc": "Ouya",
2394
+ "ua": "Mozilla/5.0 (Linux; Android 4.1.2; OUYA Console Build/JZO54L-OUYA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
2395
+ "expect": {
2396
+ "vendor": "OUYA",
2397
+ "model": "undefined",
2398
+ "type": "console"
2399
+ }
2400
+ },
2401
+ {
2402
+ "desc": "Vivo Y52s",
2403
+ "ua": "Mozilla/5.0 (Linux; Android 10; V2057A Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/12.10 SP-engine/2.28.0 baiduboxapp/12.10.0.10 (Baidu; P1 10) NABar/1.0",
2404
+ "expect": {
2405
+ "vendor": "Vivo",
2406
+ "model": "V2057A",
2407
+ "type": "mobile"
2408
+ }
2409
+ },
2410
+ {
2411
+ "desc": "Vivo X60",
2412
+ "ua": "Mozilla/5.0 (Linux; Android 11; V2046A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/8.8.71.0",
2413
+ "expect": {
2414
+ "vendor": "Vivo",
2415
+ "model": "V2046A",
2416
+ "type": "mobile"
2417
+ }
2418
+ },
2419
+ {
2420
+ "desc": "Vivo Y79A",
2421
+ "ua": "Mozilla/5.0 (Linux; Android 7.1.2; vivo Y79A Build/N2G47H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.0.14.0",
2422
+ "expect": {
2423
+ "vendor": "Vivo",
2424
+ "model": "Y79A",
2425
+ "type": "mobile"
2426
+ }
2427
+ },
2428
+ {
2429
+ "desc": "Vivo Y97",
2430
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; V1813T Build/O11019; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.0.14.0",
2431
+ "expect": {
2432
+ "vendor": "Vivo",
2433
+ "model": "V1813T",
2434
+ "type": "mobile"
2435
+ }
2436
+ },
2437
+ {
2438
+ "desc": "Vivo iQOO Pro",
2439
+ "ua": "Mozilla/5.0 (Linux; Android 11; V1916A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.1.10.6",
2440
+ "expect": {
2441
+ "vendor": "Vivo",
2442
+ "model": "V1916A",
2443
+ "type": "mobile"
2444
+ }
2445
+ }
2446
+ ]