source: trip-planner-front/node_modules/ua-parser-js/test/device-test.json@ b738035

Last change on this file since b738035 was e29cc2e, checked in by Ema <ema_spirova@…>, 3 years ago

primeNG components

  • Property mode set to 100644
File size: 102.4 KB
Line 
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",
102 "ua": "Mozilla/5.0 (Linux; Android 9; ZB602KL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
103 "expect": {
104 "vendor": "ASUS",
105 "model": "ZB602KL",
106 "type": "mobile"
107 }
108 },
109 {
110 "desc": "ASUS Zenfone Max Pro (M1)",
111 "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",
112 "expect": {
113 "vendor": "ASUS",
114 "model": "X00TD",
115 "type": "mobile"
116 }
117 },
118 {
119 "desc": "ASUS Zenfone Max M2",
120 "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",
121 "expect": {
122 "vendor": "ASUS",
123 "model": "X01AD",
124 "type": "mobile"
125 }
126 },
127 {
128 "desc": "ASUS Zenfone Max Pro M2",
129 "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",
130 "expect": {
131 "vendor": "ASUS",
132 "model": "X01BDA",
133 "type": "mobile"
134 }
135 },
136 {
137 "desc": "ASUS Zenfone Go",
138 "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",
139 "expect": {
140 "vendor": "ASUS",
141 "model": "X009DA",
142 "type": "mobile"
143 }
144 },
145 {
146 "desc": "Acer Iconia A1-810",
147 "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",
148 "expect": {
149 "vendor": "Acer",
150 "model": "A1-810",
151 "type": "tablet"
152 }
153 },
154 {
155 "desc": "BlackBerry Priv",
156 "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",
157 "expect": {
158 "vendor": "BlackBerry",
159 "model": "STV100-1",
160 "type": "mobile"
161 }
162 },
163 {
164 "desc": "BlackBerry Keyone",
165 "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",
166 "expect": {
167 "vendor": "BlackBerry",
168 "model": "BBB100-1",
169 "type": "mobile"
170 }
171 },
172 {
173 "desc": "BlackBerry Key2",
174 "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",
175 "expect": {
176 "vendor": "BlackBerry",
177 "model": "BBF100-1",
178 "type": "mobile"
179 }
180 },
181 {
182 "desc": "BlackBerry Key2 LE",
183 "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",
184 "expect": {
185 "vendor": "BlackBerry",
186 "model": "BBE100-1",
187 "type": "mobile"
188 }
189 },
190 {
191 "desc": "Desktop (IE11 with Tablet string)",
192 "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",
193 "expect": {
194 "vendor": "undefined",
195 "model": "undefined",
196 "type": "undefined"
197 }
198 },
199 {
200 "desc": "Essential PH-1",
201 "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",
202 "expect": {
203 "vendor": "Essential",
204 "model": "PH-1",
205 "type": "mobile"
206 }
207 },
208 {
209 "desc": "Fairphone 1U",
210 "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",
211 "expect": {
212 "vendor": "Fairphone",
213 "model": "FP1U",
214 "type": "mobile"
215 }
216 },
217 {
218 "desc": "Fairphone 2",
219 "ua": "Mozilla/5.0 (Linux; Android 7.1.2; FP2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
220 "expect": {
221 "vendor": "Fairphone",
222 "model": "FP2",
223 "type": "mobile"
224 }
225 },
226 {
227 "desc": "Fairphone 3",
228 "ua": "Mozilla/5.0 (Linux; Android 9; FP3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36",
229 "expect": {
230 "vendor": "Fairphone",
231 "model": "FP3",
232 "type": "mobile"
233 }
234 },
235 {
236 "desc": "HTC Desire 820",
237 "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",
238 "expect": {
239 "vendor": "HTC",
240 "model": "Desire 820",
241 "type": "mobile"
242 }
243 },
244 {
245 "desc": "HTC Evo Shift 4G",
246 "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",
247 "expect": {
248 "vendor": "Sprint",
249 "model": "APA7373KT",
250 "type": "mobile"
251 }
252 },
253 {
254 "desc": "HTC Nexus 9",
255 "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",
256 "expect": {
257 "vendor": "HTC",
258 "model": "Nexus 9",
259 "type": "tablet"
260 }
261 },
262 {
263 "desc": "Huawei Honor",
264 "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",
265 "expect": {
266 "vendor": "Huawei",
267 "model": "U8860",
268 "type": "mobile"
269 }
270 },
271 {
272 "desc": "Huawei Nexus 6P",
273 "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",
274 "expect": {
275 "vendor": "Huawei",
276 "model": "Nexus 6P",
277 "type": "mobile"
278 }
279 },
280 {
281 "desc": "Huawei P10",
282 "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",
283 "expect": {
284 "vendor": "Huawei",
285 "model": "VTR-L09",
286 "type": "mobile"
287 }
288 },
289 {
290 "desc": "Huawei Y3II",
291 "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",
292 "expect": {
293 "vendor": "Huawei",
294 "model": "LUA-L03",
295 "type": "mobile"
296 }
297 },
298 {
299 "desc": "HUAWEI MediaPad M3 Lite 10",
300 "ua": "Mozilla/5.0 (Linux; Android 7.0; BAH-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Safari/537.36",
301 "expect": {
302 "vendor": "Huawei",
303 "model": "BAH-L09",
304 "type": "tablet"
305 }
306 },
307 {
308 "desc": "HUAWEI MediaPad M5 Lite",
309 "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",
310 "expect": {
311 "vendor": "Huawei",
312 "model": "BAH2-W19",
313 "type": "tablet"
314 }
315 },
316 {
317 "desc": "HUAWEI MediaPad M5",
318 "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",
319 "expect": {
320 "vendor": "Huawei",
321 "model": "SHT-AL09",
322 "type": "tablet"
323 }
324 },
325 {
326 "desc": "HUAWEI MediaPad T5",
327 "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",
328 "expect": {
329 "vendor": "Huawei",
330 "model": "AGS2-L09",
331 "type": "tablet"
332 }
333 },
334 {
335 "desc": "HUAWEI MediaPad T10",
336 "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",
337 "expect": {
338 "vendor": "Huawei",
339 "model": "AGR-W09",
340 "type": "tablet"
341 }
342 },
343 {
344 "desc": "HUAWEI MediaPad T10s",
345 "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",
346 "expect": {
347 "vendor": "Huawei",
348 "model": "AGS3-W09",
349 "type": "tablet"
350 }
351 },
352 {
353 "desc": "Huawei MatePad T 10",
354 "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",
355 "expect": {
356 "vendor": "Huawei",
357 "model": "AGR-L09",
358 "type": "tablet"
359 }
360 },
361 {
362 "desc": "Huawei M3",
363 "ua": "Mozilla/5.0 (Linux; Android 7.0; BTV-W09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
364 "expect": {
365 "vendor": "Huawei",
366 "model": "BTV-W09",
367 "type": "tablet"
368 }
369 },
370 {
371 "desc": "Huawei Mate 10 Pro",
372 "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",
373 "expect": {
374 "vendor": "Huawei",
375 "model": "BLA-L29",
376 "type": "mobile"
377 }
378 },
379 {
380 "desc": "Huawei Mate X",
381 "ua": "Mozilla/5.0 (Linux; Android 9; TAH-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.111 Safari/537.36",
382 "expect": {
383 "vendor": "Huawei",
384 "model": "TAH-AN00",
385 "type": "mobile"
386 }
387 },
388 {
389 "desc": "Huawei Mate X2",
390 "ua": "Mozilla/5.0 (Linux; Android 10; TET-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
391 "expect": {
392 "vendor": "Huawei",
393 "model": "TET-AN00",
394 "type": "mobile"
395 }
396 },
397 {
398 "desc": "Huawei Mate 20 X",
399 "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",
400 "expect": {
401 "vendor": "Huawei",
402 "model": "EVR-L29",
403 "type": "mobile"
404 }
405 },
406 {
407 "desc": "Huawei Mate 20 Pro",
408 "ua": "Mozilla/5.0 (Linux; Android 9; LYA-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
409 "expect": {
410 "vendor": "Huawei",
411 "model": "LYA-L09",
412 "type": "mobile"
413 }
414 },
415 {
416 "desc": "Huawei Mate 20 Pro",
417 "ua": "Mozilla/5.0 (Linux; Android 9; LYA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
418 "expect": {
419 "vendor": "Huawei",
420 "model": "LYA-AL00",
421 "type": "mobile"
422 }
423 },
424 {
425 "desc": "Huawei P20 Lite",
426 "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",
427 "expect": {
428 "vendor": "Huawei",
429 "model": "ANE-LX1",
430 "type": "mobile"
431 }
432 },
433 {
434 "desc": "Huawei P20",
435 "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",
436 "expect": {
437 "vendor": "Huawei",
438 "model": "EML-L29",
439 "type": "mobile"
440 }
441 },
442 {
443 "desc": "Huawei P20 Pro",
444 "ua": "Mozilla/5.0 (Linux; Android 9; CLT-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
445 "expect": {
446 "vendor": "Huawei",
447 "model": "CLT-L29",
448 "type": "mobile"
449 }
450 },
451 {
452 "desc": "Huawei P30",
453 "ua": "Mozilla/5.0 (Linux; Android 9; ELE-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36",
454 "expect": {
455 "vendor": "Huawei",
456 "model": "ELE-L29",
457 "type": "mobile"
458 }
459 },
460 {
461 "desc": "Huawei P30 Pro",
462 "ua": "Mozilla/5.0 (Linux; Android 9; VOG-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
463 "expect": {
464 "vendor": "Huawei",
465 "model": "VOG-L29",
466 "type": "mobile"
467 }
468 },
469 {
470 "desc": "Huawei P40",
471 "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",
472 "expect": {
473 "vendor": "Huawei",
474 "model": "ANA-AN00",
475 "type": "mobile"
476 }
477 },
478 {
479 "desc": "Huawei P40 Pro",
480 "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",
481 "expect": {
482 "vendor": "Huawei",
483 "model": "ELS-AN00",
484 "type": "mobile"
485 }
486 },
487 {
488 "desc": "Huawei 30 Pro+",
489 "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",
490 "expect": {
491 "vendor": "Huawei",
492 "model": "EBG-AN10",
493 "type": "mobile"
494 }
495 },
496 {
497 "desc": "Huawei 30S",
498 "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",
499 "expect": {
500 "vendor": "Huawei",
501 "model": "CDY-AN90",
502 "type": "mobile"
503 }
504 },
505 {
506 "desc": "Huawei Enjoy10e",
507 "ua": "Dalvik/2.1.0 (Linux; U; Android 10; MED-AL00 Build/HUAWEIMED-AL00)",
508 "expect": {
509 "vendor": "Huawei",
510 "model": "MED-AL00",
511 "type": "mobile"
512 }
513 },
514 {
515 "desc": "Huawei Honor 6A",
516 "ua": "Mozilla/5.0 (Linux; Android 7.0; DLI-L22 Build/HONORDLI-L22; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.116 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/252.0.0.22.355;]",
517 "expect": {
518 "vendor": "Huawei",
519 "model": "DLI-L22",
520 "type": "mobile"
521 }
522 },
523 {
524 "desc": "Huawei Honor 7",
525 "ua": "Mozilla/5.0 (Linux; Android 6.0; PLK-L01 Build/HONORPLK-L01; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.116 Mobile Safari/537.36",
526 "expect": {
527 "vendor": "Huawei",
528 "model": "PLK-L01",
529 "type": "mobile"
530 }
531 },
532 {
533 "desc": "Huawei 10 Lite",
534 "ua": "Mozilla/5.0 (Linux; Android 9; HRY-LX1 Build/HONORHRY-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.91 Mobile Safari/537.36",
535 "expect": {
536 "vendor": "Huawei",
537 "model": "HRY-LX1",
538 "type": "mobile"
539 }
540 },
541 {
542 "desc": "Huawei Y7 2018",
543 "ua": "Mozilla/5.0 (Linux; Android 8.0.0; LDN-L01) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.62 Mobile Safari/537.36",
544 "expect": {
545 "vendor": "Huawei",
546 "model": "LDN-L01",
547 "type": "mobile"
548 }
549 },
550 {
551 "desc": "Huawei Honor 8X",
552 "ua": "Mozilla/5.0 (Linux; Android 9; JSN-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Mobile Safari/537.36",
553 "expect": {
554 "vendor": "Huawei",
555 "model": "JSN-L21",
556 "type": "mobile"
557 }
558 },
559 {
560 "desc": "Huawei Y6 2019",
561 "ua": "Mozilla/5.0 (Linux; Android 9; MRD-LX1N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
562 "expect": {
563 "vendor": "Huawei",
564 "model": "MRD-LX1N",
565 "type": "mobile"
566 }
567 },
568 {
569 "desc": "Huawei Y9 2019",
570 "ua": "Mozilla/5.0 (Linux; Android 9; JKM-LX2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36",
571 "expect": {
572 "vendor": "Huawei",
573 "model": "JKM-LX2",
574 "type": "mobile"
575 }
576 },
577 {
578 "desc": "Huawei Y5",
579 "ua": "Mozilla/5.0 (Linux; Android 9; AMN-LX3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
580 "expect": {
581 "vendor": "Huawei",
582 "model": "AMN-LX3",
583 "type": "mobile"
584 }
585 },
586 {
587 "desc": "Huawei Y7p",
588 "ua": "Mozilla/5.0 (Linux; Android 9; ART-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36",
589 "expect": {
590 "vendor": "Huawei",
591 "model": "ART-L29",
592 "type": "mobile"
593 }
594 },
595 {
596 "desc": "Huawei Mate 20 Lite",
597 "ua": "Mozilla/5.0 (Linux; Android 8.1.0; SNE-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.116 Mobile Safari/537.36",
598 "expect": {
599 "vendor": "Huawei",
600 "model": "SNE-LX1",
601 "type": "mobile"
602 }
603 },
604 {
605 "desc": "Huawei P10 Lite",
606 "ua": "Mozilla/5.0 (Linux; Android 8.0.0; WAS-LX1A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36",
607 "expect": {
608 "vendor": "Huawei",
609 "model": "WAS-LX1A",
610 "type": "mobile"
611 }
612 },
613 {
614 "desc": "Huawei Y5 Lite 2018",
615 "ua": "Mozilla/5.0 (Linux; Android 8.1.0; DRA-LX5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
616 "expect": {
617 "vendor": "Huawei",
618 "model": "DRA-LX5",
619 "type": "mobile"
620 }
621 },
622 {
623 "desc": "Huawei Honor 8C",
624 "ua": "Mozilla/5.0 (Linux; Android 8.1.0; BKK-LX2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
625 "expect": {
626 "vendor": "Huawei",
627 "model": "BKK-LX2",
628 "type": "mobile"
629 }
630 },
631 {
632 "desc": "iPad using UCBrowser",
633 "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",
634 "expect": {
635 "vendor": "Apple",
636 "model": "iPad",
637 "type": "tablet"
638 }
639 },
640 {
641 "desc": "iPad Air",
642 "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/]",
643 "expect": {
644 "vendor": "Apple",
645 "model": "iPad",
646 "type": "tablet"
647 }
648 },
649 {
650 "desc": "iPad using Facebook Browser",
651 "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]",
652 "expect": {
653 "vendor": "Apple",
654 "model": "iPad",
655 "type": "tablet"
656 }
657 },
658 {
659 "desc": "iPod",
660 "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",
661 "expect": {
662 "vendor": "Apple",
663 "model": "iPod touch",
664 "type": "mobile"
665 }
666 },
667 {
668 "desc": "Lenovo Tab 2",
669 "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",
670 "expect": {
671 "vendor": "Lenovo",
672 "model": "TAB 2 A7",
673 "type": "tablet"
674 }
675 },
676 {
677 "desc": "Lenovo Phone",
678 "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;]",
679 "expect": {
680 "vendor": "Lenovo",
681 "model": "PB2-650M",
682 "type": "mobile"
683 }
684 },
685 {
686 "desc": "Lenovo Tab 3 Pro",
687 "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",
688 "expect": {
689 "vendor": "Lenovo",
690 "model": "YT3-X90F",
691 "type": "tablet"
692 }
693 },
694 {
695 "desc": "Lenovo Tab 4",
696 "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",
697 "expect": {
698 "vendor": "Lenovo",
699 "model": "TB-X304F",
700 "type": "tablet"
701 }
702 },
703 {
704 "desc": "Lenovo Tab 4",
705 "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",
706 "expect": {
707 "vendor": "Lenovo",
708 "model": "TAB 2 A7",
709 "type": "tablet"
710 }
711 },
712 {
713 "desc": "Lenovo Tab 7 Essential",
714 "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",
715 "expect": {
716 "vendor": "Lenovo",
717 "model": "TB-7304X",
718 "type": "tablet"
719 }
720 },
721 {
722 "desc": "Lenovo Tab M10",
723 "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",
724 "expect": {
725 "vendor": "Lenovo",
726 "model": "TB-X606F",
727 "type": "tablet"
728 }
729 },
730 {
731 "desc": "LG V40 ThinQ",
732 "ua": "Mozilla/5.0 (Linux; Android 9; LM-V405) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36",
733 "expect": {
734 "vendor": "LG",
735 "model": "LM-V405",
736 "type": "mobile"
737 }
738 },
739 {
740 "desc": "LG K30",
741 "ua": "Mozilla/5.0 (Linux; Android 8.1.0; LM-X410.F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
742 "expect": {
743 "vendor": "LG",
744 "model": "LM-X410.F",
745 "type": "mobile"
746 }
747 },
748 {
749 "desc": "LG K30",
750 "ua": "Mozilla/5.0 (Linux; Android 9; LM-X410.FGN) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36",
751 "expect": {
752 "vendor": "LG",
753 "model": "LM-X410.FGN",
754 "type": "mobile"
755 }
756 },
757 {
758 "desc": "LG Stylo 5",
759 "ua": "Mozilla/5.0 (Linux; Android 9; LM-Q720) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
760 "expect": {
761 "vendor": "LG",
762 "model": "LM-Q720",
763 "type": "mobile"
764 }
765 },
766 {
767 "desc": "LG G7 ThinQ",
768 "ua": "Mozilla/5.0 (Linux; Android 9; LM-G710VM Build/PKQ1.181105.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.136 Mobile Safari/537.36",
769 "expect": {
770 "vendor": "LG",
771 "model": "LM-G710VM",
772 "type": "mobile"
773 }
774 },
775 {
776 "desc": "LG K500",
777 "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",
778 "expect": {
779 "vendor": "LG",
780 "model": "K500",
781 "type": "mobile"
782 }
783 },
784 {
785 "desc": "LG Nexus 4",
786 "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",
787 "expect": {
788 "vendor": "LG",
789 "model": "Nexus 4",
790 "type": "mobile"
791 }
792 },
793 {
794 "desc": "LG Nexus 4",
795 "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",
796 "expect": {
797 "vendor": "LG",
798 "model": "Nexus 4",
799 "type": "mobile"
800 }
801 },
802 {
803 "desc": "LG Nexus 5",
804 "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",
805 "expect": {
806 "vendor": "LG",
807 "model": "Nexus 5",
808 "type": "mobile"
809 }
810 },
811 {
812 "desc": "LG Wing",
813 "ua": "Mozilla/5.0 (Linux; Android 10; LM-F100N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.101 Mobile Safari/537.36",
814 "expect": {
815 "vendor": "LG",
816 "model": "LM-F100N",
817 "type": "mobile"
818 }
819 },
820 {
821 "desc": "LG Smart TV",
822 "ua": "Mozilla/5.0 (DirectFB; U; Linux mips; en) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) LG Browser (; LG NetCast.TV-2011)",
823 "expect": {
824 "vendor": "LG",
825 "model": "undefined",
826 "type": "smarttv"
827 }
828 },
829 {
830 "desc": "LG Smart TV",
831 "ua": "Mozilla/5.0 (Linux; NetCast; U) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/53.0.2785 34 Safari/537.31 SmartTV/8.5",
832 "expect": {
833 "vendor": "LG",
834 "model": "undefined",
835 "type": "smarttv"
836 }
837 },
838 {
839 "desc": "LG Android TV",
840 "ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; LG Android TV Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30",
841 "expect": {
842 "vendor": "LG",
843 "model": "undefined",
844 "type": "smarttv"
845 }
846 },
847 {
848 "desc": "Meizu M5 Note",
849 "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",
850 "expect": {
851 "vendor": "Meizu",
852 "model": "M5 Note",
853 "type": "mobile"
854 }
855 },
856 {
857 "desc": "Microsoft Lumia 950",
858 "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",
859 "expect": {
860 "vendor": "Microsoft",
861 "model": "Lumia 950",
862 "type": "mobile"
863 }
864 },
865 {
866 "desc": "Microsoft Surface Duo",
867 "ua": "Dalvik/2.1.0 (Linux; U; Android 10; Surface Duo Build/2020.1014.61)",
868 "expect": {
869 "vendor": "Microsoft",
870 "model": "Surface Duo",
871 "type": "tablet"
872 }
873 },
874 {
875 "desc": "Motorola Moto X",
876 "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",
877 "expect": {
878 "vendor": "Motorola",
879 "model": "XT1097",
880 "type": "mobile"
881 }
882 },
883 {
884 "desc" : "Meizu M3S",
885 "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",
886 "expect" :
887 {
888 "vendor" : "Meizu",
889 "model" : "M3s",
890 "type" : "mobile"
891 }
892 },
893 {
894 "desc" : "Microsoft Lumia 950",
895 "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",
896 "expect" :
897 {
898 "vendor" : "Microsoft",
899 "model" : "Lumia 950",
900 "type" : "mobile"
901 }
902 },
903 {
904 "desc": "Motorola Nexus 6",
905 "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",
906 "expect": {
907 "vendor": "Motorola",
908 "model": "Nexus 6",
909 "type": "mobile"
910 }
911 },
912 {
913 "desc": "Motorola Droid RAZR 4G",
914 "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",
915 "expect": {
916 "vendor": "Motorola",
917 "model": "DROID RAZR 4G",
918 "type": "mobile"
919 }
920 },
921 {
922 "desc": "Motorola RAZR 2019",
923 "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",
924 "expect": {
925 "vendor": "Motorola",
926 "model": "razr",
927 "type": "mobile"
928 }
929 },
930 {
931 "desc": "iPhone",
932 "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",
933 "expect": {
934 "vendor": "Apple",
935 "model": "iPhone",
936 "type": "mobile"
937 }
938 },
939 {
940 "desc": "iPhone SE",
941 "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/]",
942 "expect": {
943 "vendor": "Apple",
944 "model": "iPhone",
945 "type": "mobile"
946 }
947 },
948 {
949 "desc": "iPhone SE using Facebook App",
950 "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/]",
951 "expect": {
952 "vendor": "Apple",
953 "model": "iPhone",
954 "type": "mobile"
955 }
956 },
957 {
958 "desc": "iPhone 11 Pro Max",
959 "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/]",
960 "expect": {
961 "vendor": "Apple",
962 "model": "iPhone",
963 "type": "mobile"
964 }
965 },
966 {
967 "desc": "iPhone XS",
968 "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/]",
969 "expect": {
970 "vendor": "Apple",
971 "model": "iPhone",
972 "type": "mobile"
973 }
974 },
975 {
976 "desc": "iPod touch",
977 "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",
978 "expect": {
979 "vendor": "Apple",
980 "model": "iPod touch",
981 "type": "mobile"
982 }
983 },
984 {
985 "desc": "Moto X",
986 "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",
987 "expect": {
988 "vendor": "Motorola",
989 "model": "XT1058",
990 "type": "mobile"
991 }
992 },
993 {
994 "desc": "Motorola Moto g(6) Play",
995 "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",
996 "expect": {
997 "vendor": "Motorola",
998 "model": "moto g(6) play",
999 "type": "mobile"
1000 }
1001 },
1002 {
1003 "desc": "Motorola Moto g(7) Supra",
1004 "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",
1005 "expect": {
1006 "vendor": "Motorola",
1007 "model": "moto g(7) supra",
1008 "type": "mobile"
1009 }
1010 },
1011 {
1012 "desc": "Motorola Moto E",
1013 "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",
1014 "expect": {
1015 "vendor": "Motorola",
1016 "model": "Moto E (4)",
1017 "type": "mobile"
1018 }
1019 },
1020 {
1021 "desc": "Nokia3xx",
1022 "ua": "Nokia303/14.87 CLDC-1.1",
1023 "expect": {
1024 "vendor": "Nokia",
1025 "model": "303",
1026 "type": "mobile"
1027 }
1028 },
1029 {
1030 "desc": "Nokia 3.2",
1031 "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",
1032 "expect": {
1033 "vendor": "Nokia",
1034 "model": "3.2",
1035 "type": "mobile"
1036 }
1037 },
1038 {
1039 "desc": "Nokia N9",
1040 "ua": "Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13",
1041 "expect": {
1042 "vendor": "Nokia",
1043 "model": "N9",
1044 "type": "mobile"
1045 }
1046 },
1047 {
1048 "desc": "Nokia 2720 Flip",
1049 "ua": "Mozilla/5.0 (Mobile; Nokia_2720_Flip; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5.2",
1050 "expect": {
1051 "vendor": "Nokia",
1052 "model": "2720 Flip",
1053 "type": "mobile"
1054 }
1055 },
1056 {
1057 "desc": "Oculus Quest",
1058 "ua": "Mozilla/5.0 (Linux; Android 10; Quest) AppleWebKit/537.36 (KHTML, like Gecko) OculusBrowser/15.0.0.0.22.280317669 SamsungBrowser/4.0 Chrome/89.0.4389.90 VR Safari/537.36",
1059 "expect": {
1060 "vendor": "Facebook",
1061 "model": "Quest",
1062 "type": "wearable"
1063 }
1064 },
1065 {
1066 "desc": "Oculus Quest 2",
1067 "ua": "Mozilla/5.0 (Linux; Android 10; Quest 2) AppleWebKit/537.36 (KHTML, like Gecko) OculusBrowser/15.0.0.0.22.280317669 SamsungBrowser/4.0 Chrome/89.0.4389.90 VR Safari/537.36",
1068 "expect": {
1069 "vendor": "Facebook",
1070 "model": "Quest 2",
1071 "type": "wearable"
1072 }
1073 },
1074 {
1075 "desc": "OnePlus One",
1076 "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",
1077 "expect": {
1078 "vendor": "OnePlus",
1079 "model": "A0001",
1080 "type": "mobile"
1081 }
1082 },
1083 {
1084 "desc": "OnePlus One",
1085 "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",
1086 "expect": {
1087 "vendor": "OnePlus",
1088 "model": "A0001",
1089 "type": "mobile"
1090 }
1091 },
1092 {
1093 "desc": "OnePlus 2",
1094 "ua": "Mozilla/5.0 (Linux; Android 6.0.1; ONE A2003) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36",
1095 "expect": {
1096 "vendor": "OnePlus",
1097 "model": "A2003",
1098 "type": "mobile"
1099 }
1100 },
1101 {
1102 "desc": "OnePlus 3",
1103 "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",
1104 "expect": {
1105 "vendor": "OnePlus",
1106 "model": "A3000",
1107 "type": "mobile"
1108 }
1109 },
1110 {
1111 "desc": "OnePlus 6",
1112 "ua": "Mozilla/5.0 (Linux; Android 9; ONEPLUS A6003) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.89 Mobile Safari/537.36",
1113 "expect": {
1114 "vendor": "OnePlus",
1115 "model": "A6003",
1116 "type": "mobile"
1117 }
1118 },
1119 {
1120 "desc": "OnePlus 6T",
1121 "ua": "Mozilla/5.0 (Linux; Android 9; ONEPLUS A6010) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
1122 "expect": {
1123 "vendor": "OnePlus",
1124 "model": "A6010",
1125 "type": "mobile"
1126 }
1127 },
1128 {
1129 "desc": "OnePlus 8T",
1130 "ua": "Mozilla/5.0 (Linux; Android 11; KB2005) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36",
1131 "expect": {
1132 "vendor": "OnePlus",
1133 "model": "KB2005",
1134 "type": "mobile"
1135 }
1136 },
1137 {
1138 "desc": "OnePlus 8 Pro",
1139 "ua": "Mozilla/5.0 (Linux; Android 10; IN2025) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.119 Mobile Safari/537.36",
1140 "expect": {
1141 "vendor": "OnePlus",
1142 "model": "IN2025",
1143 "type": "mobile"
1144 }
1145 },
1146 {
1147 "desc": "OnePlus Nord N100",
1148 "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",
1149 "expect": {
1150 "vendor": "OnePlus",
1151 "model": "BE2015",
1152 "type": "mobile"
1153 }
1154 },
1155 {
1156 "desc": "OnePlus Nord N10 5G",
1157 "ua": "Mozilla/5.0 (Linux; Android 10; BE2029) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.185 Mobile Safari/537.36",
1158 "expect": {
1159 "vendor": "OnePlus",
1160 "model": "BE2029",
1161 "type": "mobile"
1162 }
1163 },
1164 {
1165 "desc": "OPPO Neo",
1166 "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",
1167 "expect": {
1168 "vendor": "OPPO",
1169 "model": "R831T",
1170 "type": "mobile"
1171 }
1172 },
1173 {
1174 "desc": "OPPO R7s",
1175 "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",
1176 "expect": {
1177 "vendor": "OPPO",
1178 "model": "R7s",
1179 "type": "mobile"
1180 }
1181 },
1182 {
1183 "desc": "OPPO A3s",
1184 "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",
1185 "expect": {
1186 "vendor": "OPPO",
1187 "model": "CPH1803",
1188 "type": "mobile"
1189 }
1190 },
1191 {
1192 "desc": "OPPO A12",
1193 "ua": "Mozilla/5.0 (Linux; Android 9; CPH2083) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
1194 "expect": {
1195 "vendor": "OPPO",
1196 "model": "CPH2083",
1197 "type": "mobile"
1198 }
1199 },
1200 {
1201 "desc": "OPPO Reno",
1202 "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",
1203 "expect": {
1204 "vendor": "OPPO",
1205 "model": "PCAT00",
1206 "type": "mobile"
1207 }
1208 },
1209 {
1210 "desc": "OPPO Reno3 Pro 5G",
1211 "ua": "Mozilla/5.0 (Linux; Android 10; PCLM50) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.117 Mobile Safari/537.36",
1212 "expect": {
1213 "vendor": "OPPO",
1214 "model": "PCLM50",
1215 "type": "mobile"
1216 }
1217 },
1218 {
1219 "desc": "OPPO Reno4 SE",
1220 "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",
1221 "expect": {
1222 "vendor": "OPPO",
1223 "model": "PEAM00",
1224 "type": "mobile"
1225 }
1226 },
1227 {
1228 "desc": "OPPO Reno4 5G",
1229 "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",
1230 "expect": {
1231 "vendor": "OPPO",
1232 "model": "PDPM00",
1233 "type": "mobile"
1234 }
1235 },
1236 {
1237 "desc": "OPPO Reno4 Pro 5G",
1238 "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",
1239 "expect": {
1240 "vendor": "OPPO",
1241 "model": "PDNT00",
1242 "type": "mobile"
1243 }
1244 },
1245 {
1246 "desc": "OPPO Reno5 A",
1247 "ua": "Mozilla/5.0 (Linux; Android 11; A101OP) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Mobile Safari/537.36",
1248 "expect": {
1249 "vendor": "OPPO",
1250 "model": "A101OP",
1251 "type": "mobile"
1252 }
1253 },
1254 {
1255 "desc": "OPPO Find X",
1256 "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",
1257 "expect": {
1258 "vendor": "OPPO",
1259 "model": "PAFM00",
1260 "type": "mobile"
1261 }
1262 },
1263 {
1264 "desc": "OPPO Find 7a",
1265 "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",
1266 "expect": {
1267 "vendor": "OPPO",
1268 "model": "X9007",
1269 "type": "mobile"
1270 }
1271 },
1272 {
1273 "desc": "Realme C1",
1274 "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",
1275 "expect": {
1276 "vendor": "Realme",
1277 "model": "RMX1811",
1278 "type": "mobile"
1279 }
1280 },
1281 {
1282 "desc": "Realme C2",
1283 "ua": "Mozilla/5.0 (Linux; Android 9; RMX1941) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
1284 "expect": {
1285 "vendor": "Realme",
1286 "model": "RMX1941",
1287 "type": "mobile"
1288 }
1289 },
1290 {
1291 "desc": "Realme Narzo 20",
1292 "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",
1293 "expect": {
1294 "vendor": "Realme",
1295 "model": "RMX2193",
1296 "type": "mobile"
1297 }
1298 },
1299 {
1300 "desc": "Realme 2 Pro",
1301 "ua": "Mozilla/5.0 (Linux; Android 9; RMX1801) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36",
1302 "expect": {
1303 "vendor": "Realme",
1304 "model": "RMX1801",
1305 "type": "mobile"
1306 }
1307 },
1308 {
1309 "desc": "Philips SmartTV",
1310 "ua": "Opera/9.80 HbbTV/1.1.1 (; Philips; ; ; ; ) NETTV/4.0.2; en) Version/11.60",
1311 "expect": {
1312 "vendor": "Philips",
1313 "model": "",
1314 "type": "smarttv"
1315 }
1316 },
1317 {
1318 "desc": "Roku",
1319 "ua": "Mozilla/5.0 (Roku) AppleWebKit/537.36 (KHTML, like Gecko) Web/1.1 Safari/537.36",
1320 "expect": {
1321 "vendor": "Roku",
1322 "model": "",
1323 "type": "smarttv"
1324 }
1325 },
1326 {
1327 "desc": "Roku",
1328 "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 Roku/DVP-8.10 (468.10E04145A)",
1329 "expect": {
1330 "vendor": "Roku",
1331 "model": "DVP-8.10",
1332 "type": "smarttv"
1333 }
1334 },
1335 {
1336 "desc": "Roku",
1337 "ua": "Roku4640X/DVP-7.70 (297.70E04154A)",
1338 "expect": {
1339 "vendor": "Roku",
1340 "model": "DVP-7.70",
1341 "type": "smarttv"
1342 }
1343 },
1344 {
1345 "desc": "Kindle Fire HD",
1346 "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",
1347 "expect": {
1348 "vendor": "Amazon",
1349 "model": "KFTT",
1350 "type": "tablet"
1351 }
1352 },
1353 {
1354 "desc": "Kindle Fire HD",
1355 "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",
1356 "expect": {
1357 "vendor": "Amazon",
1358 "model": "KFTT",
1359 "type": "tablet"
1360 }
1361 },
1362 {
1363 "desc": "Samsung Galaxy A21s",
1364 "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",
1365 "expect": {
1366 "vendor": "Samsung",
1367 "model": "SM-A217F",
1368 "type": "mobile"
1369 }
1370 },
1371 {
1372 "desc": "Samsung Galaxy A31",
1373 "ua": "Mozilla/5.0 (Linux; Android 10; SM-A315G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
1374 "expect": {
1375 "vendor": "Samsung",
1376 "model": "SM-A315G",
1377 "type": "mobile"
1378 }
1379 },
1380 {
1381 "desc": "Samsung Galaxy A50",
1382 "ua": "Mozilla/5.0 (Linux; Android 9; SM-A505F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.105 Mobile Safari/537.36",
1383 "expect": {
1384 "vendor": "Samsung",
1385 "model": "SM-A505F",
1386 "type": "mobile"
1387 }
1388 },
1389 {
1390 "desc": "Samsung Galaxy A80",
1391 "ua": "Mozilla/5.0 (Linux; Android 9; SM-A805F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.112 Mobile Safari/537.36",
1392 "expect": {
1393 "vendor": "Samsung",
1394 "model": "SM-A805F",
1395 "type": "mobile"
1396 }
1397 },
1398 {
1399 "desc": "Samsung Galaxy Fold",
1400 "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",
1401 "expect": {
1402 "vendor": "Samsung",
1403 "model": "SM-F900U",
1404 "type": "mobile"
1405 }
1406 },
1407 {
1408 "desc": "Samsung Galaxy Z Flip",
1409 "ua": "Mozilla/5.0 (Linux; Android 10; SM-F700N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
1410 "expect": {
1411 "vendor": "Samsung",
1412 "model": "SM-F700N",
1413 "type": "mobile"
1414 }
1415 },
1416 {
1417 "desc": "Samsung Galaxy Z Fold2",
1418 "ua": "Mozilla/5.0 (Linux; Android 10; SM-F916B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
1419 "expect": {
1420 "vendor": "Samsung",
1421 "model": "SM-F916B",
1422 "type": "mobile"
1423 }
1424 },
1425 {
1426 "desc": "Samsung Galaxy S10E",
1427 "ua": "Mozilla/5.0 (Linux; Android 9; SM-G970F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
1428 "expect": {
1429 "vendor": "Samsung",
1430 "model": "SM-G970F",
1431 "type": "mobile"
1432 }
1433 },
1434 {
1435 "desc": "Samsung Galaxy Note 10+",
1436 "ua": "Mozilla/5.0 (Linux; Android 9; SM-N976V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.89 Mobile Safari/537.36",
1437 "expect": {
1438 "vendor": "Samsung",
1439 "model": "SM-N976V",
1440 "type": "mobile"
1441 }
1442 },
1443 {
1444 "desc": "Samsung SM-C5000",
1445 "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",
1446 "expect": {
1447 "vendor": "Samsung",
1448 "model": "SM-C5000",
1449 "type": "mobile"
1450 }
1451 },
1452 {
1453 "desc": "Samsung Galaxy Note 8",
1454 "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",
1455 "expect": {
1456 "vendor": "Samsung",
1457 "model": "GT-N5100",
1458 "type": "tablet"
1459 }
1460 },
1461 {
1462 "desc": "Samsung SM-T231",
1463 "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",
1464 "expect": {
1465 "vendor": "Samsung",
1466 "model": "SM-T231",
1467 "type": "tablet"
1468 }
1469 },
1470 {
1471 "desc": "Samsung Galaxy Tab 6 Lite",
1472 "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",
1473 "expect": {
1474 "vendor": "Samsung",
1475 "model": "SM-P610",
1476 "type": "tablet"
1477 }
1478 },
1479 {
1480 "desc": "Samsung Galaxy Tab A 9.7",
1481 "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",
1482 "expect": {
1483 "vendor": "Samsung",
1484 "model": "SM-P550",
1485 "type": "tablet"
1486 }
1487 },
1488 {
1489 "desc": "Samsung Galaxy Tab A 10.1",
1490 "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",
1491 "expect": {
1492 "vendor": "Samsung",
1493 "model": "SM-T515",
1494 "type": "tablet"
1495 }
1496 },
1497 {
1498 "desc": "Samsung Galaxy Tab S7",
1499 "ua": "Mozilla/5.0 (Linux; Android 10; SM-T870) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36",
1500 "expect": {
1501 "vendor": "Samsung",
1502 "model": "SM-T870",
1503 "type": "tablet"
1504 }
1505 },
1506 {
1507 "desc": "Samsung Galaxy Tab S",
1508 "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",
1509 "expect": {
1510 "vendor": "Samsung",
1511 "model": "SM-T700",
1512 "type": "tablet"
1513 }
1514 },
1515 {
1516 "desc": "Samsung Galaxy Tab Pro 10.1",
1517 "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",
1518 "expect": {
1519 "vendor": "Samsung",
1520 "model": "SM-T520",
1521 "type": "tablet"
1522 }
1523 },
1524 {
1525 "desc": "Samsung Note 10.1",
1526 "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",
1527 "expect": {
1528 "vendor": "Samsung",
1529 "model": "SM-P605",
1530 "type": "tablet"
1531 }
1532 },
1533 {
1534 "desc": "Samsung SmartTV2011",
1535 "ua": "HbbTV/1.1.1 (;;;;;) Maple;2011",
1536 "expect": {
1537 "vendor": "Samsung",
1538 "model": "SmartTV2011",
1539 "type": "smarttv"
1540 }
1541 },
1542 {
1543 "desc": "Samsung SmartTV2012",
1544 "ua": "HbbTV/1.1.1 (;Samsung;SmartTV2012;;;) WebKit",
1545 "expect": {
1546 "vendor": "Samsung",
1547 "model": "SmartTV2012",
1548 "type": "smarttv"
1549 }
1550 },
1551 {
1552 "desc": "Samsung SmartTV2014",
1553 "ua": "HbbTV/1.1.1 (;Samsung;SmartTV2014;T-NT14UDEUC-1060.4;;) WebKit",
1554 "expect": {
1555 "vendor": "Samsung",
1556 "model": "SmartTV2014",
1557 "type": "smarttv"
1558 }
1559 },
1560 {
1561 "desc": "Samsung SmartTV",
1562 "ua": "Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/537.42 (KHTML, like Gecko) Safari/537.42",
1563 "expect": {
1564 "vendor": "undefined",
1565 "model": "undefined",
1566 "type": "smarttv"
1567 }
1568 },
1569 {
1570 "desc": "Samsung SmartTV",
1571 "ua": "Mozilla/5.0 (SMART-TV; Linux; Tizen 2.3) AppleWebkit/538.1 (KHTML, like Gecko) SamsungBrowser/1.0 TV Safari/538.1",
1572 "expect": {
1573 "vendor": "Samsung",
1574 "model": "undefined",
1575 "type": "smarttv"
1576 }
1577 },
1578 {
1579 "desc": "Sharp Aquos B10",
1580 "ua": "Mozilla/5.0 (Linux; Android 7.0; SH-A01) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Mobile Safari/537.36",
1581 "expect": {
1582 "vendor": "Sharp",
1583 "model": "SH-A01",
1584 "type": "mobile"
1585 }
1586 },
1587 {
1588 "desc": "Sharp Aquos L2",
1589 "ua": "Mozilla/5.0 (Linux; Android 7.0; SH-L02 Build/S4045) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Mobile Safari/537.36",
1590 "expect": {
1591 "vendor": "Sharp",
1592 "model": "SH-L02",
1593 "type": "mobile"
1594 }
1595 },
1596 {
1597 "desc": "Sharp Aquos R2",
1598 "ua": "Mozilla/5.0 (Linux; Android 8.0; SHV42) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36",
1599 "expect": {
1600 "vendor": "Sharp",
1601 "model": "SHV42",
1602 "type": "mobile"
1603 }
1604 },
1605 {
1606 "desc": "Sony G8141 (Xperia XZ Premium)",
1607 "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",
1608 "expect": {
1609 "vendor": "Sony",
1610 "model": "G8141",
1611 "type": "mobile"
1612 }
1613 },
1614 {
1615 "desc": "Sony C5303 (Xperia SP)",
1616 "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",
1617 "expect": {
1618 "vendor": "Sony",
1619 "model": "C5303",
1620 "type": "mobile"
1621 }
1622 },
1623 {
1624 "desc": "Sony SO-02F (Xperia Z1 F)",
1625 "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",
1626 "expect": {
1627 "vendor": "Sony",
1628 "model": "SO-02F",
1629 "type": "mobile"
1630 }
1631 },
1632 {
1633 "desc": "Sony D6653 (Xperia Z3)",
1634 "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",
1635 "expect": {
1636 "vendor": "Sony",
1637 "model": "D6653",
1638 "type": "mobile"
1639 }
1640 },
1641 {
1642 "desc": "Sony Xperia SOL25 (ZL2)",
1643 "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",
1644 "expect": {
1645 "vendor": "Sony",
1646 "model": "SOL25",
1647 "type": "mobile"
1648 }
1649 },
1650 {
1651 "desc": "Sony Xperia SP",
1652 "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",
1653 "expect": {
1654 "vendor": "Sony",
1655 "model": "C5302",
1656 "type": "mobile"
1657 }
1658 },
1659 {
1660 "desc": "Sony Xperia L4",
1661 "ua": "Mozilla/5.0 (Linux; Android 9; XQ-AD51) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36",
1662 "expect": {
1663 "vendor": "Sony",
1664 "model": "XQ-AD51",
1665 "type": "mobile"
1666 }
1667 },
1668 {
1669 "desc": "Sony Xperia 1ii",
1670 "ua": "Mozilla/5.0 (Linux; Android 10; XQ-AT51) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36",
1671 "expect": {
1672 "vendor": "Sony",
1673 "model": "XQ-AT51",
1674 "type": "mobile"
1675 }
1676 },
1677 {
1678 "desc": "Sony Xperia 1ii",
1679 "ua": "Mozilla/5.0 (Linux; Android 10; SOG01) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36",
1680 "expect": {
1681 "vendor": "Sony",
1682 "model": "SOG01",
1683 "type": "mobile"
1684 }
1685 },
1686 {
1687 "desc": "Sony Xperia 10ii",
1688 "ua": "Mozilla/5.0 (Linux; Android 10; XQ-AU52) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
1689 "expect": {
1690 "vendor": "Sony",
1691 "model": "XQ-AU52",
1692 "type": "mobile"
1693 }
1694 },
1695 {
1696 "desc": "Sony Xperia Pro",
1697 "ua": "Mozilla/5.0 (Linux; Android 10; XQ-AQ52) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.185 Mobile Safari/537.36",
1698 "expect": {
1699 "vendor": "Sony",
1700 "model": "XQ-AQ52",
1701 "type": "mobile"
1702 }
1703 },
1704 {
1705 "desc": "Sony SGP521 (Xperia Z2 Tablet)",
1706 "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",
1707 "expect": {
1708 "vendor": "Sony",
1709 "model": "Xperia Tablet",
1710 "type": "tablet"
1711 }
1712 },
1713 {
1714 "desc": "Sony Xperia Z2 Tablet",
1715 "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SGP561) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.99 Safari/537.36",
1716 "expect": {
1717 "vendor": "Sony",
1718 "model": "Xperia Tablet",
1719 "type": "tablet"
1720 }
1721 },
1722 {
1723 "desc": "Sony Tablet S",
1724 "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",
1725 "expect": {
1726 "vendor": "Sony",
1727 "model": "Xperia Tablet",
1728 "type": "tablet"
1729 }
1730 },
1731 {
1732 "desc": "Sony Tablet Z LTE",
1733 "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",
1734 "expect": {
1735 "vendor": "Sony",
1736 "model": "Xperia Tablet",
1737 "type": "tablet"
1738 }
1739 },
1740 {
1741 "desc" : "Tesla",
1742 "ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/601.1 (KHTML, like Gecko) Tesla QtCarBrowser Safari/601.1",
1743 "expect" :
1744 {
1745 "vendor": "Tesla",
1746 "model": "undefined",
1747 "type": "embedded"
1748 }
1749 },
1750 {
1751 "desc" : "Tesla",
1752 "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",
1753 "expect" :
1754 {
1755 "vendor": "Tesla",
1756 "model": "undefined",
1757 "type": "embedded"
1758 }
1759 },
1760 {
1761 "desc": "Xiaomi 2013023",
1762 "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",
1763 "expect": {
1764 "vendor": "Xiaomi",
1765 "model": "2013023",
1766 "type": "mobile"
1767 }
1768 },
1769 {
1770 "desc": "Xiaomi Hongmi Note 1W",
1771 "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",
1772 "expect": {
1773 "vendor": "Xiaomi",
1774 "model": "HM NOTE 1W",
1775 "type": "mobile"
1776 }
1777 },
1778 {
1779 "desc": "Xiaomi Mi 3C",
1780 "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",
1781 "expect": {
1782 "vendor": "Xiaomi",
1783 "model": "MI 3C",
1784 "type": "mobile"
1785 }
1786 },
1787 {
1788 "desc": "Xiaomi Mi 5",
1789 "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",
1790 "expect": {
1791 "vendor": "Xiaomi",
1792 "model": "MI 5",
1793 "type": "mobile"
1794 }
1795 },
1796 {
1797 "desc": "Xiaomi Mi 6",
1798 "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",
1799 "expect": {
1800 "vendor": "Xiaomi",
1801 "model": "MI 6",
1802 "type": "mobile"
1803 }
1804 },
1805 {
1806 "desc": "Xiaomi Mi 5s Plus",
1807 "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",
1808 "expect": {
1809 "vendor": "Xiaomi",
1810 "model": "MI 5s Plus",
1811 "type": "mobile"
1812 }
1813 },
1814 {
1815 "desc": "Xiaomi Mi A1",
1816 "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",
1817 "expect": {
1818 "vendor": "Xiaomi",
1819 "model": "Mi A1",
1820 "type": "mobile"
1821 }
1822 },
1823 {
1824 "desc": "Xiaomi Mi Note",
1825 "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",
1826 "expect": {
1827 "vendor": "Xiaomi",
1828 "model": "MI NOTE LTE",
1829 "type": "mobile"
1830 }
1831 },
1832 {
1833 "desc": "Xiaomi Mi One Plus",
1834 "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",
1835 "expect": {
1836 "vendor": "Xiaomi",
1837 "model": "MI-ONE Plus",
1838 "type": "mobile"
1839 }
1840 },
1841 {
1842 "desc": "Xiaomi Mi Max 3",
1843 "ua": "Mozilla/5.0 (Linux; Android 9; MI MAX 3 Build/PKQ1.181007.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.116 Mobile Safari/537.36",
1844 "expect": {
1845 "vendor": "Xiaomi",
1846 "model": "MI MAX 3",
1847 "type": "mobile"
1848 }
1849 },
1850 {
1851 "desc": "Xiaomi Mi A1",
1852 "ua": "Mozilla/5.0 (Linux; Android 9; Mi A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.101 Mobile Safari/537.36",
1853 "expect": {
1854 "vendor": "Xiaomi",
1855 "model": "Mi A1",
1856 "type": "mobile"
1857 }
1858 },
1859 {
1860 "desc": "Xiaomi Mi A2 Lite",
1861 "ua": "Mozilla/5.0 (Linux; Android 9; Mi A2 Lite) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.62 Mobile Safari/537.36",
1862 "expect": {
1863 "vendor": "Xiaomi",
1864 "model": "Mi A2 Lite",
1865 "type": "mobile"
1866 }
1867 },
1868 {
1869 "desc": "Xiaomi Mi 9 SE",
1870 "ua": "Mozilla/5.0 (Linux; Android 9; Mi 9 SE) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36",
1871 "expect": {
1872 "vendor": "Xiaomi",
1873 "model": "Mi 9 SE",
1874 "type": "mobile"
1875 }
1876 },
1877 {
1878 "desc": "Xiaomi Mi A2",
1879 "ua": "Mozilla/5.0 (Linux; Android 9; Mi A2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Mobile Safari/537.36",
1880 "expect": {
1881 "vendor": "Xiaomi",
1882 "model": "Mi A2",
1883 "type": "mobile"
1884 }
1885 },
1886 {
1887 "desc": "Xiaomi MI PAD 2",
1888 "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;]",
1889 "expect": {
1890 "vendor": "Xiaomi",
1891 "model": "MI PAD 2",
1892 "type": "tablet"
1893 }
1894 },
1895 {
1896 "desc": "Xiaomi MI PAD 4 PLUS",
1897 "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",
1898 "expect": {
1899 "vendor": "Xiaomi",
1900 "model": "MI PAD 4 PLUS",
1901 "type": "tablet"
1902 }
1903 },
1904 {
1905 "desc": "Xiaomi POCO X2",
1906 "ua": "Mozilla/5.0 (Linux; Android 10; POCO X2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
1907 "expect": {
1908 "vendor": "Xiaomi",
1909 "model": "POCO X2",
1910 "type": "mobile"
1911 }
1912 },
1913 {
1914 "desc": "Xiaomi Redmi 4A",
1915 "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",
1916 "expect": {
1917 "vendor": "Xiaomi",
1918 "model": "Redmi 4A",
1919 "type": "mobile"
1920 }
1921 },
1922 {
1923 "desc": "Xiaomi Redmi K30 5G",
1924 "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",
1925 "expect": {
1926 "vendor": "Xiaomi",
1927 "model": "Redmi K30 5G",
1928 "type": "mobile"
1929 }
1930 },
1931 {
1932 "desc": "Xiaomi Redmi K30 Pro",
1933 "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",
1934 "expect": {
1935 "vendor": "Xiaomi",
1936 "model": "Redmi K30 Pro",
1937 "type": "mobile"
1938 }
1939 },
1940 {
1941 "desc": "Xiaomi Redmi Note 3",
1942 "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",
1943 "expect": {
1944 "vendor": "Xiaomi",
1945 "model": "Redmi Note 3",
1946 "type": "mobile"
1947 }
1948 },
1949 {
1950 "desc": "Xiaomi Redmi Note 9 Pro Max",
1951 "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",
1952 "expect": {
1953 "vendor": "Xiaomi",
1954 "model": "Redmi Note 9 Pro Max",
1955 "type": "mobile"
1956 }
1957 },
1958 {
1959 "desc": "PlayStation 4",
1960 "ua": "Mozilla/5.0 (PlayStation 4 3.00) AppleWebKit/537.73 (KHTML, like Gecko)",
1961 "expect": {
1962 "vendor": "Sony",
1963 "model": "PlayStation 4",
1964 "type": "console"
1965 }
1966 },
1967 {
1968 "desc": "PlayStation 5",
1969 "ua": "Mozilla/5.0 (Playstation; Playstation 5/1.05) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15",
1970 "expect": {
1971 "vendor": "Sony",
1972 "model": "Playstation 5",
1973 "type": "console"
1974 }
1975 },
1976 {
1977 "desc": "PlayStation Vita",
1978 "ua": "Mozilla/5.0 (PlayStation Vita 3.52) AppleWebKit/537.73 (KHTML, like Gecko) Silk/3.2",
1979 "expect": {
1980 "vendor": "Sony",
1981 "model": "PlayStation Vita",
1982 "type": "console"
1983 }
1984 },
1985 {
1986 "desc": "Nintendo Switch",
1987 "ua": "Mozilla/5.0 (Nintendo Switch; WifiWebAuthApplet) AppleWebKit/606.4 (KHTML, like Gecko) NF/6.0.1.15.4 NintendoBrowser/5.1.0.20393",
1988 "expect": {
1989 "vendor": "Nintendo",
1990 "model": "Switch",
1991 "type": "console"
1992 }
1993 },
1994 {
1995 "desc": "Nintendo WiiU",
1996 "ua": "Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.9 NintendoBrowser/4.2.0.11146.EU",
1997 "expect": {
1998 "vendor": "Nintendo",
1999 "model": "WiiU",
2000 "type": "console"
2001 }
2002 },
2003 {
2004 "desc": "Nintendo Wii",
2005 "ua": "Opera/9.10 (Nintendo Wii; U; ; 1621; en)",
2006 "expect": {
2007 "vendor": "Nintendo",
2008 "model": "Wii",
2009 "type": "console"
2010 }
2011 },
2012 {
2013 "desc": "Nintendo 3DS",
2014 "ua": "Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7610.EU",
2015 "expect": {
2016 "vendor": "Nintendo",
2017 "model": "3DS",
2018 "type": "console"
2019 }
2020 },
2021 {
2022 "desc": "Nintendo 3DS",
2023 "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",
2024 "expect": {
2025 "vendor": "Nintendo",
2026 "model": "3DS",
2027 "type": "console"
2028 }
2029 },
2030 {
2031 "desc": "Galaxy Nexus",
2032 "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",
2033 "expect": {
2034 "vendor": "Samsung",
2035 "model": "Galaxy Nexus",
2036 "type": "mobile"
2037 }
2038 },
2039 {
2040 "desc": "Samsung Galaxy C9 Pro",
2041 "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",
2042 "expect": {
2043 "vendor": "Samsung",
2044 "model": "SM-C900F",
2045 "type": "mobile"
2046 }
2047 },
2048 {
2049 "desc": "Samsung Galaxy S5",
2050 "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",
2051 "expect": {
2052 "vendor": "Samsung",
2053 "model": "SM-G900F",
2054 "type": "mobile"
2055 }
2056 },
2057 {
2058 "desc": "Samsung Galaxy S6",
2059 "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",
2060 "expect": {
2061 "vendor": "Samsung",
2062 "model": "SM-G920I",
2063 "type": "mobile"
2064 }
2065 },
2066 {
2067 "desc": "Samsung Galaxy S6 Edge",
2068 "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",
2069 "expect": {
2070 "vendor": "Samsung",
2071 "model": "SM-G925I",
2072 "type": "mobile"
2073 }
2074 },
2075 {
2076 "desc": "Samsung Galaxy Note 5 Chrome",
2077 "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",
2078 "expect": {
2079 "vendor": "Samsung",
2080 "model": "SM-N920C",
2081 "type": "mobile"
2082 }
2083 },
2084 {
2085 "desc": "Samsung Galaxy Note 5 Samsung Browser",
2086 "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",
2087 "expect": {
2088 "vendor": "Samsung",
2089 "model": "SM-N920C",
2090 "type": "mobile"
2091 }
2092 },
2093 {
2094 "desc": "Google Chromecast",
2095 "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",
2096 "expect": {
2097 "vendor": "Google",
2098 "model": "Chromecast",
2099 "type": "smarttv"
2100 }
2101 },
2102 {
2103 "desc": "Google Pixel C",
2104 "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",
2105 "expect": {
2106 "vendor": "Google",
2107 "model": "Pixel C",
2108 "type": "tablet"
2109 }
2110 },
2111 {
2112 "desc": "Google Pixel C",
2113 "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",
2114 "expect": {
2115 "vendor": "Google",
2116 "model": "Pixel C",
2117 "type": "tablet"
2118 }
2119 },
2120 {
2121 "desc": "Google Pixel",
2122 "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",
2123 "expect": {
2124 "vendor": "Google",
2125 "model": "Pixel",
2126 "type": "mobile"
2127 }
2128 },
2129 {
2130 "desc": "Google Pixel XL",
2131 "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",
2132 "expect": {
2133 "vendor": "Google",
2134 "model": "Pixel XL",
2135 "type": "mobile"
2136 }
2137 },
2138 {
2139 "desc": "Google Pixel XL",
2140 "ua": "Mozilla/5.0 (Linux; Android 9; Pixel XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
2141 "expect": {
2142 "vendor": "Google",
2143 "model": "Pixel XL",
2144 "type": "mobile"
2145 }
2146 },
2147 {
2148 "desc": "Google Pixel 2",
2149 "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",
2150 "expect": {
2151 "vendor": "Google",
2152 "model": "Pixel 2",
2153 "type": "mobile"
2154 }
2155 },
2156 {
2157 "desc": "Google Pixel 2 XL",
2158 "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",
2159 "expect": {
2160 "vendor": "Google",
2161 "model": "Pixel 2 XL",
2162 "type": "mobile"
2163 }
2164 },
2165 {
2166 "desc": "Google Pixel 2 XL",
2167 "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",
2168 "expect": {
2169 "vendor": "Google",
2170 "model": "Pixel 2 XL",
2171 "type": "mobile"
2172 }
2173 },
2174 {
2175 "desc": "Google Pixel 3",
2176 "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",
2177 "expect": {
2178 "vendor": "Google",
2179 "model": "Pixel 3",
2180 "type": "mobile"
2181 }
2182 },
2183 {
2184 "desc": "Google Pixel 3 XL",
2185 "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",
2186 "expect": {
2187 "vendor": "Google",
2188 "model": "Pixel 3 XL",
2189 "type": "mobile"
2190 }
2191 },
2192 {
2193 "desc": "Google Pixel 3 XL",
2194 "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",
2195 "expect": {
2196 "vendor": "Google",
2197 "model": "Pixel 3 XL",
2198 "type": "mobile"
2199 }
2200 },
2201 {
2202 "desc": "Google Pixel 3a",
2203 "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 3a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
2204 "expect": {
2205 "vendor": "Google",
2206 "model": "Pixel 3a",
2207 "type": "mobile"
2208 }
2209 },
2210 {
2211 "desc": "Google Pixel 3a XL",
2212 "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",
2213 "expect": {
2214 "vendor": "Google",
2215 "model": "Pixel 3a XL",
2216 "type": "mobile"
2217 }
2218 },
2219 {
2220 "desc": "Google Pixel 4",
2221 "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
2222 "expect": {
2223 "vendor": "Google",
2224 "model": "Pixel 4",
2225 "type": "mobile"
2226 }
2227 },
2228 {
2229 "desc": "Google Pixel 4a",
2230 "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 4a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36",
2231 "expect": {
2232 "vendor": "Google",
2233 "model": "Pixel 4a",
2234 "type": "mobile"
2235 }
2236 },
2237 {
2238 "desc": "Google Pixel 4 XL",
2239 "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",
2240 "expect": {
2241 "vendor": "Google",
2242 "model": "Pixel 4 XL",
2243 "type": "mobile"
2244 }
2245 },
2246 {
2247 "desc": "Google Pixel 5",
2248 "ua": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.120 Mobile Safari/537.36",
2249 "expect": {
2250 "vendor": "Google",
2251 "model": "Pixel 5",
2252 "type": "mobile"
2253 }
2254 },
2255 {
2256 "desc": "Generic Android Device",
2257 "ua": "Mozilla/5.0 (Linux; U; Android 6.0.1; i980 Build/MRA58K)",
2258 "expect": {
2259 "vendor": "Generic",
2260 "model": "Android 6.0.1"
2261 }
2262 },
2263 {
2264 "desc": "Android Phone Unidentified Vendor (docomo F-04K)",
2265 "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",
2266 "expect": {
2267 "model": "F-04K",
2268 "type": "mobile"
2269 }
2270 },
2271 {
2272 "desc": "docomo SH-02M",
2273 "ua": "Mozilla/5.0 (Linux; Android 9; SH-02M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36",
2274 "expect": {
2275 "vendor": "Sharp",
2276 "model": "SH-02M",
2277 "type": "mobile"
2278 }
2279 },
2280 {
2281 "desc": "Android Tablet Unidentified Vendor (docomo F-02K)",
2282 "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",
2283 "expect": {
2284 "model": "F-02K",
2285 "type": "tablet"
2286 }
2287 },
2288 {
2289 "desc": "Android Tablet Unidentified Vendor (docomo d-02K)",
2290 "ua": "Mozilla/5.0 (Linux; Android 9; d-02K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Safari/537.36",
2291 "expect": {
2292 "model": "d-02K",
2293 "type": "tablet"
2294 }
2295 },
2296 {
2297 "desc": "LG VK Series Tablet",
2298 "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",
2299 "expect": {
2300 "vendor": "LG",
2301 "model": "VK700",
2302 "type": "tablet"
2303 }
2304 },
2305 {
2306 "desc": "LG LK Series Tablet",
2307 "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",
2308 "expect": {
2309 "vendor": "LG",
2310 "model": "LK430",
2311 "type": "tablet"
2312 }
2313 },
2314 {
2315 "desc": "RCA Voyager III Tablet",
2316 "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",
2317 "expect": {
2318 "vendor": "RCA",
2319 "model": "RCT6973W43",
2320 "type": "tablet"
2321 }
2322 },
2323 {
2324 "desc": "RCA Voyager II Tablet",
2325 "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",
2326 "expect": {
2327 "vendor": "RCA",
2328 "model": "RCT6773W22B",
2329 "type": "tablet"
2330 }
2331 },
2332 {
2333 "desc": "Verizon Quanta Tablet",
2334 "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",
2335 "expect": {
2336 "vendor": "Verizon",
2337 "model": "QMV7B",
2338 "type": "tablet"
2339 }
2340 },
2341 {
2342 "desc": "Verizon Ellipsis 8 Tablet",
2343 "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",
2344 "expect": {
2345 "vendor": "Verizon",
2346 "model": "QTAQZ3",
2347 "type": "tablet"
2348 }
2349 },
2350 {
2351 "desc": "Verizon Ellipsis 8HD Tablet",
2352 "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",
2353 "expect": {
2354 "vendor": "Verizon",
2355 "model": "QTASUN1",
2356 "type": "tablet"
2357 }
2358 },
2359 {
2360 "desc": "Dell Venue 8 Tablet",
2361 "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",
2362 "expect": {
2363 "vendor": "Dell",
2364 "model": "Venue 8 3830",
2365 "type": "tablet"
2366 }
2367 },
2368 {
2369 "desc": "Dell Venue 7 Tablet",
2370 "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",
2371 "expect": {
2372 "vendor": "Dell",
2373 "model": "Venue 7 3730",
2374 "type": "tablet"
2375 }
2376 },
2377 {
2378 "desc": "Barnes & Noble Nook HD+ Tablet",
2379 "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",
2380 "expect": {
2381 "vendor": "Barnes & Noble",
2382 "model": "Nook HD+",
2383 "type": "tablet"
2384 }
2385 },
2386 {
2387 "desc": "Barnes & Noble V400 Tablet",
2388 "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",
2389 "expect": {
2390 "vendor": "Barnes & Noble",
2391 "model": "V400",
2392 "type": "tablet"
2393 }
2394 },
2395 {
2396 "desc": "NuVision TM101A540N Tablet",
2397 "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",
2398 "expect": {
2399 "vendor": "NuVision",
2400 "model": "TM101A540N",
2401 "type": "tablet"
2402 }
2403 },
2404 {
2405 "desc": "ZTE-Z431",
2406 "ua": "ZTE-Z431/1.4.0 NetFront/4.2 QTV5.1 Profile/MIDP-2.1 Configuration/CLDC-1.1",
2407 "expect": {
2408 "vendor": "ZTE",
2409 "model": "Z431",
2410 "type": "mobile"
2411 }
2412 },
2413 {
2414 "desc": "ZTE",
2415 "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",
2416 "expect": {
2417 "vendor": "ZTE",
2418 "model": "Z740G",
2419 "type": "mobile"
2420 }
2421 },
2422 {
2423 "desc": "ZTE K Series Tablet",
2424 "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",
2425 "expect": {
2426 "vendor": "ZTE",
2427 "model": "K88",
2428 "type": "tablet"
2429 }
2430 },
2431 {
2432 "desc": "ZTE Nubia Red Magic 3",
2433 "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",
2434 "expect": {
2435 "vendor": "ZTE",
2436 "model": "NX629J",
2437 "type": "mobile"
2438 }
2439 },
2440 {
2441 "desc": "ZTE Blade A5",
2442 "ua": "Mozilla/5.0 (Linux; Android 9; ZTE Blade A5 2019) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
2443 "expect": {
2444 "vendor": "ZTE",
2445 "model": "Blade A5 2019",
2446 "type": "mobile"
2447 }
2448 },
2449 {
2450 "desc": "ZTE BLADE V0730",
2451 "ua": "Mozilla/5.0 (Linux; Android 6.0; ZTE BLADE V0730) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
2452 "expect": {
2453 "vendor": "ZTE",
2454 "model": "BLADE V0730",
2455 "type": "mobile"
2456 }
2457 },
2458 {
2459 "desc": "ZTE B2017G",
2460 "ua": "Mozilla/5.0 (Linux; Android 7.1.1; ZTE B2017G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36",
2461 "expect": {
2462 "vendor": "ZTE",
2463 "model": "B2017G",
2464 "type": "mobile"
2465 }
2466 },
2467 {
2468 "desc": "Swizz GEN610",
2469 "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",
2470 "expect": {
2471 "vendor": "Swiss",
2472 "model": "GEN610",
2473 "type": "mobile"
2474 }
2475 },
2476 {
2477 "desc": "Swizz ZUR700",
2478 "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",
2479 "expect": {
2480 "vendor": "Swiss",
2481 "model": "ZUR700",
2482 "type": "tablet"
2483 }
2484 },
2485 {
2486 "desc": "Zeki TB782b Tablet",
2487 "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",
2488 "expect": {
2489 "vendor": "Zeki",
2490 "model": "TB782B",
2491 "type": "tablet"
2492 }
2493 },
2494 {
2495 "desc": "Dragon Touch Tablet",
2496 "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",
2497 "expect": {
2498 "vendor": "Dragon Touch",
2499 "model": "9138B",
2500 "type": "tablet"
2501 }
2502 },
2503 {
2504 "desc": "Insignia Tablet",
2505 "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",
2506 "expect": {
2507 "vendor": "Insignia",
2508 "model": "NS-P08A7100",
2509 "type": "tablet"
2510 }
2511 },
2512 {
2513 "desc": "Voice Xtreme V75",
2514 "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",
2515 "expect": {
2516 "vendor": "Voice",
2517 "model": "V75",
2518 "type": "mobile"
2519 }
2520 },
2521 {
2522 "desc": "LvTel V11",
2523 "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",
2524 "expect": {
2525 "vendor": "LvTel",
2526 "model": "V11",
2527 "type": "mobile"
2528 }
2529 },
2530 {
2531 "desc": "Envizen Tablet V100MD",
2532 "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",
2533 "expect": {
2534 "vendor": "Envizen",
2535 "model": "V100MD",
2536 "type": "tablet"
2537 }
2538 },
2539 {
2540 "desc": "Rotor Tablet",
2541 "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",
2542 "expect": {
2543 "vendor": "Rotor",
2544 "model": "1491",
2545 "type": "tablet"
2546 }
2547 },
2548 {
2549 "desc": "MachSpeed Tablets",
2550 "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",
2551 "expect": {
2552 "vendor": "MachSpeed",
2553 "model": "Trio 7.85 vQ",
2554 "type": "tablet"
2555 }
2556 },
2557 {
2558 "desc": "Trinity Tablets",
2559 "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",
2560 "expect": {
2561 "vendor": "Trinity",
2562 "model": "T101",
2563 "type": "tablet"
2564 }
2565 },
2566 {
2567 "desc": "NextBook Next7",
2568 "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",
2569 "expect": {
2570 "vendor": "NextBook",
2571 "model": "Next7P12",
2572 "type": "tablet"
2573 }
2574 },
2575 {
2576 "desc": "NextBook Tablets",
2577 "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",
2578 "expect": {
2579 "vendor": "NextBook",
2580 "model": "NXA8QC116",
2581 "type": "tablet"
2582 }
2583 },
2584 {
2585 "desc": "Le Pan Tablets",
2586 "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",
2587 "expect": {
2588 "vendor": "Le Pan",
2589 "model": "TC802A",
2590 "type": "tablet"
2591 }
2592 },
2593 {
2594 "desc": "Le Pan Tablets",
2595 "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",
2596 "expect": {
2597 "vendor": "Le Pan",
2598 "model": "TC802A",
2599 "type": "tablet"
2600 }
2601 },
2602 {
2603 "desc": "Amazon Alexa Echo Show",
2604 "ua": "AlexaWebMediaPlayer/1.0.200641.0 (Linux;Android 5.1.1)",
2605 "expect": {
2606 "vendor": "Amazon",
2607 "model": "Alexa",
2608 "type": "tablet"
2609 }
2610 },
2611 {
2612 "desc": "Amazon Kindle Fire Tablet",
2613 "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",
2614 "expect": {
2615 "vendor": "Amazon",
2616 "model": "KFSAWI",
2617 "type": "tablet"
2618 }
2619 },
2620 {
2621 "desc": "Amazon Kindle Fire Tablet",
2622 "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",
2623 "expect": {
2624 "vendor": "Amazon",
2625 "model": "KFSAWI",
2626 "type": "tablet"
2627 }
2628 },
2629 {
2630 "desc": "Amazon Kindle Fire Tablet",
2631 "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",
2632 "expect": {
2633 "vendor": "Amazon",
2634 "model": "KFMAWI",
2635 "type": "tablet"
2636 }
2637 },
2638 {
2639 "desc": "Amazon Fire TV",
2640 "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",
2641 "expect": {
2642 "vendor": "Amazon",
2643 "model": "B",
2644 "type": "smarttv"
2645 }
2646 },
2647 {
2648 "desc": "Amazon Fire TV",
2649 "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",
2650 "expect": {
2651 "vendor": "Amazon",
2652 "model": "T",
2653 "type": "smarttv"
2654 }
2655 },
2656 {
2657 "desc": "Android TV",
2658 "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",
2659 "expect": {
2660 "vendor": "undefined",
2661 "model": "undefined",
2662 "type": "smarttv"
2663 }
2664 },
2665 {
2666 "desc": "Gigaset Tablet",
2667 "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",
2668 "expect": {
2669 "vendor": "Gigaset",
2670 "model": "QV830",
2671 "type": "tablet"
2672 }
2673 },
2674 {
2675 "desc": "Amazon Fire 7",
2676 "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",
2677 "expect": {
2678 "vendor": "Amazon",
2679 "model": "KFAUWI",
2680 "type": "tablet"
2681 }
2682 },
2683 {
2684 "desc": "AT&T Radiant Core U304AA",
2685 "ua": "Dalvik/2.1.0 (Linux; U; Android 9; U304AA Build/P00610)",
2686 "expect": {
2687 "vendor": "AT&T",
2688 "model": "U304AA",
2689 "type": "mobile"
2690 }
2691 },
2692 {
2693 "desc": "Vodafone Smart Tab 4G",
2694 "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",
2695 "expect": {
2696 "vendor": "Vodafone",
2697 "model": "Smart Tab 4G",
2698 "type": "tablet"
2699 }
2700 },
2701 {
2702 "desc": "Vodafone Smart ultra 6",
2703 "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",
2704 "expect": {
2705 "vendor": "Vodafone",
2706 "model": "Smart ultra 6",
2707 "type": "tablet"
2708 }
2709 },
2710 {
2711 "desc": "4ife 4K Smart TV Box",
2712 "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",
2713 "expect": {
2714 "vendor": "undefined",
2715 "model": "undefined",
2716 "type": "smarttv"
2717 }
2718 },
2719 {
2720 "desc": "FaceBook Mobile App",
2721 "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]",
2722 "expect": {
2723 "type": "mobile"
2724 }
2725 },
2726 {
2727 "desc": "Issue #454",
2728 "ua": "Mosamzilla/5.0 (Windows; U; Win98; en-US; rv:1.7.5) Gecko/20050603 Netscape/8.0.2",
2729 "expect": {
2730 "vendor": "undefined",
2731 "model": "undefined",
2732 "type": "undefined"
2733 }
2734 },
2735 {
2736 "desc": "Alcatel",
2737 "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",
2738 "expect": {
2739 "vendor": "ALCATEL",
2740 "model": "A564C",
2741 "type": "mobile"
2742 }
2743 },
2744 {
2745 "desc": "Alcatel Go Flip",
2746 "ua": "Mozilla/5.0 (Mobile; ALCATEL4044T; rv:37.0) Gecko/37.0 Firefox/37.0 KaiOS/1.0",
2747 "expect": {
2748 "vendor": "ALCATEL",
2749 "model": "4044T",
2750 "type": "mobile"
2751 }
2752 },
2753 {
2754 "desc": "Jolla",
2755 "ua": "Mozilla/5.0 (Maemo; Linux; U; Jolla; Sailfish; Mobile; rv:31.0) Gecko/31.0 Firefox/31.0 SailfishBrowser/1.0",
2756 "expect": {
2757 "vendor": "Jolla",
2758 "model": "undefined",
2759 "type": "mobile"
2760 }
2761 },
2762 {
2763 "desc": "Xbox One",
2764 "ua": "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; Xbox; Xbox One)",
2765 "expect": {
2766 "vendor": "Microsoft",
2767 "model": "Xbox One",
2768 "type": "console"
2769 }
2770 },
2771 {
2772 "desc": "Xbox",
2773 "ua": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Xbox)",
2774 "expect": {
2775 "vendor": "Microsoft",
2776 "model": "Xbox",
2777 "type": "console"
2778 }
2779 },
2780 {
2781 "desc": "Nvidia Shield Tablet",
2782 "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",
2783 "expect": {
2784 "vendor": "Nvidia",
2785 "model": "SHIELD Tablet",
2786 "type": "tablet"
2787 }
2788 },
2789 {
2790 "desc": "Ouya",
2791 "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",
2792 "expect": {
2793 "vendor": "OUYA",
2794 "model": "undefined",
2795 "type": "console"
2796 }
2797 },
2798 {
2799 "desc": "Vivo Y52s",
2800 "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",
2801 "expect": {
2802 "vendor": "Vivo",
2803 "model": "V2057A",
2804 "type": "mobile"
2805 }
2806 },
2807 {
2808 "desc": "Vivo X60",
2809 "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",
2810 "expect": {
2811 "vendor": "Vivo",
2812 "model": "V2046A",
2813 "type": "mobile"
2814 }
2815 },
2816 {
2817 "desc": "Vivo Y79A",
2818 "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",
2819 "expect": {
2820 "vendor": "Vivo",
2821 "model": "Y79A",
2822 "type": "mobile"
2823 }
2824 },
2825 {
2826 "desc": "Vivo Y97",
2827 "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",
2828 "expect": {
2829 "vendor": "Vivo",
2830 "model": "V1813T",
2831 "type": "mobile"
2832 }
2833 },
2834 {
2835 "desc": "Vivo iQOO Pro",
2836 "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",
2837 "expect": {
2838 "vendor": "Vivo",
2839 "model": "V1916A",
2840 "type": "mobile"
2841 }
2842 },
2843 {
2844 "desc": "Unknown Mobile using Firefox",
2845 "ua": "Mozilla/5.0 (Android 4.4; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0",
2846 "expect": {
2847 "vendor": "undefined",
2848 "model": "undefined",
2849 "type": "mobile"
2850 }
2851 },
2852 {
2853 "desc": "Unknown Tablet using Firefox",
2854 "ua": "Mozilla/5.0 (Android 4.4; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0",
2855 "expect": {
2856 "vendor": "undefined",
2857 "model": "undefined",
2858 "type": "tablet"
2859 }
2860 },
2861 {
2862 "desc": "Unknown Mobile using Focus for Android",
2863 "ua": "Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/1.0 Chrome/59.0.3029.83 Mobile Safari/537.36",
2864 "expect": {
2865 "vendor": "undefined",
2866 "model": "undefined",
2867 "type": "mobile"
2868 }
2869 },
2870 {
2871 "desc": "Unknown Tablet using Focus for Android",
2872 "ua": "Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/1.0 Chrome/59.0.3029.83 Safari/537.36",
2873 "expect": {
2874 "vendor": "undefined",
2875 "model": "undefined",
2876 "type": "tablet"
2877 }
2878 },
2879 {
2880 "desc": "Unknown Device using Focus for Android with GeckoView",
2881 "ua": "Mozilla/5.0 (Android 7.0; Mobile; rv:62.0) Gecko/62.0 Firefox/62.0",
2882 "expect": {
2883 "vendor": "undefined",
2884 "model": "undefined",
2885 "type": "mobile"
2886 }
2887 },
2888 {
2889 "desc": "Unknown Mobile using Firefox OS",
2890 "ua": "Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0",
2891 "expect": {
2892 "vendor": "undefined",
2893 "model": "undefined",
2894 "type": "mobile"
2895 }
2896 },
2897 {
2898 "desc": "Unknown Tablet using Firefox OS",
2899 "ua": "Mozilla/5.0 (Tablet; rv:26.0) Gecko/26.0 Firefox/26.0",
2900 "expect": {
2901 "vendor": "undefined",
2902 "model": "undefined",
2903 "type": "tablet"
2904 }
2905 },
2906 {
2907 "desc": "Unknown TV using Firefox OS",
2908 "ua": "Mozilla/5.0 (TV; rv:44.0) Gecko/44.0 Firefox/44.0",
2909 "expect": {
2910 "vendor": "undefined",
2911 "model": "undefined",
2912 "type": "smarttv"
2913 }
2914 },
2915 {
2916 "desc": "PDA with Windows CE",
2917 "ua": "Mozilla/4.0 (PDA; Windows CE/1.0.1) NetFront/3.0",
2918 "expect": {
2919 "vendor": "undefined",
2920 "model": "undefined",
2921 "type": "mobile"
2922 }
2923 }
2924]
Note: See TracBrowser for help on using the repository browser.