umaki 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +8 -0
  2. package/dist/_virtual/dayjs.min.js +4 -0
  3. package/dist/_virtual/index.js +4 -0
  4. package/dist/_virtual/isBetween.js +4 -0
  5. package/dist/_virtual/purify.js +4 -0
  6. package/dist/_virtual/store2.js +4 -0
  7. package/dist/_virtual/ua-parser.js +4 -0
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.js +86 -2869
  10. package/dist/libs/control/bgScrollStop.js +7 -0
  11. package/dist/libs/control/pd.js +4 -0
  12. package/dist/libs/control/scrollToHash.js +21 -0
  13. package/dist/libs/control/videoPlayControl.js +19 -0
  14. package/dist/libs/convert/changeDateStringToSpecificFormat.js +5 -0
  15. package/dist/libs/convert/jsonStringToJsonObject.js +9 -0
  16. package/dist/libs/get/getAspectRatio.js +8 -0
  17. package/dist/libs/get/getClassNames.js +4 -0
  18. package/dist/libs/get/getDocumentHeight.js +4 -0
  19. package/dist/libs/get/getEventPaths.js +17 -0
  20. package/dist/libs/get/getGcd.js +8 -0
  21. package/dist/libs/get/getOrientation.js +4 -0
  22. package/dist/libs/get/getParentList.js +7 -0
  23. package/dist/libs/get/getQueryParams.js +16 -0
  24. package/dist/libs/get/getRem.js +4 -0
  25. package/dist/libs/get/getScrollbarWidth.js +4 -0
  26. package/dist/libs/get/getSessionStorage.js +8 -0
  27. package/dist/libs/get/getStringLength.js +5 -0
  28. package/dist/libs/get/getStylePropertyValue.js +4 -0
  29. package/dist/libs/get/getStylePropertyValueToNumber.js +5 -0
  30. package/dist/libs/get/getUaData.js +16 -0
  31. package/dist/libs/is/isBetweenDateTime.js +12 -0
  32. package/dist/libs/is/isExistAllElements.js +4 -0
  33. package/dist/libs/is/isIpad.js +9 -0
  34. package/dist/libs/is/isKeyExists.js +4 -0
  35. package/dist/libs/is/isSafari.js +8 -0
  36. package/dist/libs/is/isScrollable.js +7 -0
  37. package/dist/libs/is/isTouchSupport.js +5 -0
  38. package/dist/libs/remove/removeAllHtmlTags.js +9 -0
  39. package/dist/libs/remove/removeAttribute.js +6 -0
  40. package/dist/libs/remove/removeSessionStorage.js +7 -0
  41. package/dist/libs/remove/removeStylePropertyValue.js +6 -0
  42. package/dist/libs/set/set100vh.js +7 -0
  43. package/dist/libs/set/set100vw.js +7 -0
  44. package/dist/libs/set/setAttribute.js +6 -0
  45. package/dist/libs/set/setScrollPositionToCenter.js +7 -0
  46. package/dist/libs/set/setSessionStorage.js +7 -0
  47. package/dist/libs/set/setStylePropertyValue.js +6 -0
  48. package/dist/libs/to/toBoolean.js +4 -0
  49. package/dist/libs/to/toPositiveNumber.js +4 -0
  50. package/dist/libs/transform/wrapTextWithSpans.js +17 -0
  51. package/dist/libs/wait/sleep.js +4 -0
  52. package/dist/libs/wait/waitForAllMediaLoaded.js +28 -0
  53. package/dist/node_modules/dayjs/dayjs.min.js +282 -0
  54. package/dist/node_modules/dayjs/plugin/isBetween.js +19 -0
  55. package/dist/node_modules/decode-uri-component/index.js +55 -0
  56. package/dist/node_modules/dompurify/dist/purify.js +531 -0
  57. package/dist/node_modules/filter-obj/index.js +20 -0
  58. package/dist/node_modules/is-touch-device/build/index.js +16 -0
  59. package/dist/node_modules/isomorphic-dompurify/browser.js +7 -0
  60. package/dist/node_modules/query-string/base.js +257 -0
  61. package/dist/node_modules/query-string/index.js +4 -0
  62. package/dist/node_modules/runes2/dist/index.esm.js +76 -0
  63. package/dist/node_modules/split-on-first/index.js +14 -0
  64. package/dist/node_modules/store2/dist/store2.js +225 -0
  65. package/dist/node_modules/ua-parser-js/src/ua-parser.js +1218 -0
  66. package/package.json +4 -1
  67. package/dist/index.umd.cjs +0 -3
@@ -0,0 +1,1218 @@
1
+ import { commonjsGlobal as ki, getDefaultExportFromCjs as xi } from "../../../_virtual/_commonjsHelpers.js";
2
+ import { __module as J } from "../../../_virtual/ua-parser.js";
3
+ (function(Q, $) {
4
+ (function(x, u) {
5
+ var pi = "1.0.39", R = "", ii = "?", j = "function", M = "undefined", V = "object", P = "string", ei = "major", e = "model", a = "name", i = "type", o = "vendor", r = "version", p = "architecture", E = "console", b = "mobile", n = "tablet", m = "smarttv", k = "wearable", F = "embedded", G = 500, q = "Amazon", O = "Apple", oi = "ASUS", ai = "BlackBerry", S = "Browser", C = "Chrome", hi = "Edge", U = "Firefox", z = "Google", ri = "Huawei", H = "LG", W = "Microsoft", ti = "Motorola", T = "Opera", A = "Samsung", si = "Sharp", B = "Sony", Y = "Xiaomi", X = "Zebra", ni = "Facebook", bi = "Chromium OS", wi = "Mac OS", li = " Browser", vi = function(w, l) {
6
+ var s = {};
7
+ for (var d in w)
8
+ l[d] && l[d].length % 2 === 0 ? s[d] = l[d].concat(w[d]) : s[d] = w[d];
9
+ return s;
10
+ }, I = function(w) {
11
+ for (var l = {}, s = 0; s < w.length; s++)
12
+ l[w[s].toUpperCase()] = w[s];
13
+ return l;
14
+ }, ci = function(w, l) {
15
+ return typeof w === P ? _(l).indexOf(_(w)) !== -1 : !1;
16
+ }, _ = function(w) {
17
+ return w.toLowerCase();
18
+ }, fi = function(w) {
19
+ return typeof w === P ? w.replace(/[^\d\.]/g, R).split(".")[0] : u;
20
+ }, Z = function(w, l) {
21
+ if (typeof w === P)
22
+ return w = w.replace(/^\s\s*/, R), typeof l === M ? w : w.substring(0, G);
23
+ }, N = function(w, l) {
24
+ for (var s = 0, d, g, v, c, t, f; s < l.length && !t; ) {
25
+ var K = l[s], mi = l[s + 1];
26
+ for (d = g = 0; d < K.length && !t && K[d]; )
27
+ if (t = K[d++].exec(w), t)
28
+ for (v = 0; v < mi.length; v++)
29
+ f = t[++g], c = mi[v], typeof c === V && c.length > 0 ? c.length === 2 ? typeof c[1] == j ? this[c[0]] = c[1].call(this, f) : this[c[0]] = c[1] : c.length === 3 ? typeof c[1] === j && !(c[1].exec && c[1].test) ? this[c[0]] = f ? c[1].call(this, f, c[2]) : u : this[c[0]] = f ? f.replace(c[1], c[2]) : u : c.length === 4 && (this[c[0]] = f ? c[3].call(this, f.replace(c[1], c[2])) : u) : this[c] = f || u;
30
+ s += 2;
31
+ }
32
+ }, L = function(w, l) {
33
+ for (var s in l)
34
+ if (typeof l[s] === V && l[s].length > 0) {
35
+ for (var d = 0; d < l[s].length; d++)
36
+ if (ci(l[s][d], w))
37
+ return s === ii ? u : s;
38
+ } else if (ci(l[s], w))
39
+ return s === ii ? u : s;
40
+ return l.hasOwnProperty("*") ? l["*"] : w;
41
+ }, gi = {
42
+ "1.0": "/8",
43
+ "1.2": "/1",
44
+ "1.3": "/3",
45
+ "2.0": "/412",
46
+ "2.0.2": "/416",
47
+ "2.0.3": "/417",
48
+ "2.0.4": "/419",
49
+ "?": "/"
50
+ }, di = {
51
+ ME: "4.90",
52
+ "NT 3.11": "NT3.51",
53
+ "NT 4.0": "NT4.0",
54
+ 2e3: "NT 5.0",
55
+ XP: ["NT 5.1", "NT 5.2"],
56
+ Vista: "NT 6.0",
57
+ 7: "NT 6.1",
58
+ 8: "NT 6.2",
59
+ "8.1": "NT 6.3",
60
+ 10: ["NT 6.4", "NT 10.0"],
61
+ RT: "ARM"
62
+ }, ui = {
63
+ browser: [
64
+ [
65
+ /\b(?:crmo|crios)\/([\w\.]+)/i
66
+ // Chrome for Android/iOS
67
+ ],
68
+ [r, [a, "Chrome"]],
69
+ [
70
+ /edg(?:e|ios|a)?\/([\w\.]+)/i
71
+ // Microsoft Edge
72
+ ],
73
+ [r, [a, "Edge"]],
74
+ [
75
+ // Presto based
76
+ /(opera mini)\/([-\w\.]+)/i,
77
+ // Opera Mini
78
+ /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,
79
+ // Opera Mobi/Tablet
80
+ /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
81
+ // Opera
82
+ ],
83
+ [a, r],
84
+ [
85
+ /opios[\/ ]+([\w\.]+)/i
86
+ // Opera mini on iphone >= 8.0
87
+ ],
88
+ [r, [a, T + " Mini"]],
89
+ [
90
+ /\bop(?:rg)?x\/([\w\.]+)/i
91
+ // Opera GX
92
+ ],
93
+ [r, [a, T + " GX"]],
94
+ [
95
+ /\bopr\/([\w\.]+)/i
96
+ // Opera Webkit
97
+ ],
98
+ [r, [a, T]],
99
+ [
100
+ // Mixed
101
+ /\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i
102
+ // Baidu
103
+ ],
104
+ [r, [a, "Baidu"]],
105
+ [
106
+ /(kindle)\/([\w\.]+)/i,
107
+ // Kindle
108
+ /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,
109
+ // Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir
110
+ // Trident based
111
+ /(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,
112
+ // Avant/IEMobile/SlimBrowser
113
+ /(?:ms|\()(ie) ([\w\.]+)/i,
114
+ // Internet Explorer
115
+ // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
116
+ /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio)\/([-\w\.]+)/i,
117
+ // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio
118
+ /(heytap|ovi)browser\/([\d\.]+)/i,
119
+ // HeyTap/Ovi
120
+ /(weibo)__([\d\.]+)/i
121
+ // Weibo
122
+ ],
123
+ [a, r],
124
+ [
125
+ /quark(?:pc)?\/([-\w\.]+)/i
126
+ // Quark
127
+ ],
128
+ [r, [a, "Quark"]],
129
+ [
130
+ /\bddg\/([\w\.]+)/i
131
+ // DuckDuckGo
132
+ ],
133
+ [r, [a, "DuckDuckGo"]],
134
+ [
135
+ /(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
136
+ // UCBrowser
137
+ ],
138
+ [r, [a, "UC" + S]],
139
+ [
140
+ /microm.+\bqbcore\/([\w\.]+)/i,
141
+ // WeChat Desktop for Windows Built-in Browser
142
+ /\bqbcore\/([\w\.]+).+microm/i,
143
+ /micromessenger\/([\w\.]+)/i
144
+ // WeChat
145
+ ],
146
+ [r, [a, "WeChat"]],
147
+ [
148
+ /konqueror\/([\w\.]+)/i
149
+ // Konqueror
150
+ ],
151
+ [r, [a, "Konqueror"]],
152
+ [
153
+ /trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
154
+ // IE11
155
+ ],
156
+ [r, [a, "IE"]],
157
+ [
158
+ /ya(?:search)?browser\/([\w\.]+)/i
159
+ // Yandex
160
+ ],
161
+ [r, [a, "Yandex"]],
162
+ [
163
+ /slbrowser\/([\w\.]+)/i
164
+ // Smart Lenovo Browser
165
+ ],
166
+ [r, [a, "Smart Lenovo " + S]],
167
+ [
168
+ /(avast|avg)\/([\w\.]+)/i
169
+ // Avast/AVG Secure Browser
170
+ ],
171
+ [[a, /(.+)/, "$1 Secure " + S], r],
172
+ [
173
+ /\bfocus\/([\w\.]+)/i
174
+ // Firefox Focus
175
+ ],
176
+ [r, [a, U + " Focus"]],
177
+ [
178
+ /\bopt\/([\w\.]+)/i
179
+ // Opera Touch
180
+ ],
181
+ [r, [a, T + " Touch"]],
182
+ [
183
+ /coc_coc\w+\/([\w\.]+)/i
184
+ // Coc Coc Browser
185
+ ],
186
+ [r, [a, "Coc Coc"]],
187
+ [
188
+ /dolfin\/([\w\.]+)/i
189
+ // Dolphin
190
+ ],
191
+ [r, [a, "Dolphin"]],
192
+ [
193
+ /coast\/([\w\.]+)/i
194
+ // Opera Coast
195
+ ],
196
+ [r, [a, T + " Coast"]],
197
+ [
198
+ /miuibrowser\/([\w\.]+)/i
199
+ // MIUI Browser
200
+ ],
201
+ [r, [a, "MIUI " + S]],
202
+ [
203
+ /fxios\/([-\w\.]+)/i
204
+ // Firefox for iOS
205
+ ],
206
+ [r, [a, U]],
207
+ [
208
+ /\bqihu|(qi?ho?o?|360)browser/i
209
+ // 360
210
+ ],
211
+ [[a, "360" + li]],
212
+ [
213
+ /\b(qq)\/([\w\.]+)/i
214
+ // QQ
215
+ ],
216
+ [[a, /(.+)/, "$1Browser"], r],
217
+ [
218
+ /(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
219
+ ],
220
+ [[a, /(.+)/, "$1" + li], r],
221
+ [
222
+ // Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser
223
+ /samsungbrowser\/([\w\.]+)/i
224
+ // Samsung Internet
225
+ ],
226
+ [r, [a, A + " Internet"]],
227
+ [
228
+ /(comodo_dragon)\/([\w\.]+)/i
229
+ // Comodo Dragon
230
+ ],
231
+ [[a, /_/g, " "], r],
232
+ [
233
+ /metasr[\/ ]?([\d\.]+)/i
234
+ // Sogou Explorer
235
+ ],
236
+ [r, [a, "Sogou Explorer"]],
237
+ [
238
+ /(sogou)mo\w+\/([\d\.]+)/i
239
+ // Sogou Mobile
240
+ ],
241
+ [[a, "Sogou Mobile"], r],
242
+ [
243
+ /(electron)\/([\w\.]+) safari/i,
244
+ // Electron-based App
245
+ /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,
246
+ // Tesla
247
+ /m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i
248
+ // QQBrowser/2345 Browser
249
+ ],
250
+ [a, r],
251
+ [
252
+ /(lbbrowser|rekonq)/i,
253
+ // LieBao Browser/Rekonq
254
+ /\[(linkedin)app\]/i
255
+ // LinkedIn App for iOS & Android
256
+ ],
257
+ [a],
258
+ [
259
+ // WebView
260
+ /((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
261
+ // Facebook App for iOS & Android
262
+ ],
263
+ [[a, ni], r],
264
+ [
265
+ /(Klarna)\/([\w\.]+)/i,
266
+ // Klarna Shopping Browser for iOS & Android
267
+ /(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
268
+ // Kakao App
269
+ /(naver)\(.*?(\d+\.[\w\.]+).*\)/i,
270
+ // Naver InApp
271
+ /safari (line)\/([\w\.]+)/i,
272
+ // Line App for iOS
273
+ /\b(line)\/([\w\.]+)\/iab/i,
274
+ // Line App for Android
275
+ /(alipay)client\/([\w\.]+)/i,
276
+ // Alipay
277
+ /(twitter)(?:and| f.+e\/([\w\.]+))/i,
278
+ // Twitter
279
+ /(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i
280
+ // Chromium/Instagram/Snapchat
281
+ ],
282
+ [a, r],
283
+ [
284
+ /\bgsa\/([\w\.]+) .*safari\//i
285
+ // Google Search Appliance on iOS
286
+ ],
287
+ [r, [a, "GSA"]],
288
+ [
289
+ /musical_ly(?:.+app_?version\/|_)([\w\.]+)/i
290
+ // TikTok
291
+ ],
292
+ [r, [a, "TikTok"]],
293
+ [
294
+ /headlesschrome(?:\/([\w\.]+)| )/i
295
+ // Chrome Headless
296
+ ],
297
+ [r, [a, C + " Headless"]],
298
+ [
299
+ / wv\).+(chrome)\/([\w\.]+)/i
300
+ // Chrome WebView
301
+ ],
302
+ [[a, C + " WebView"], r],
303
+ [
304
+ /droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
305
+ // Android Browser
306
+ ],
307
+ [r, [a, "Android " + S]],
308
+ [
309
+ /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
310
+ // Chrome/OmniWeb/Arora/Tizen/Nokia
311
+ ],
312
+ [a, r],
313
+ [
314
+ /version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i
315
+ // Mobile Safari
316
+ ],
317
+ [r, [a, "Mobile Safari"]],
318
+ [
319
+ /version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i
320
+ // Safari & Safari Mobile
321
+ ],
322
+ [r, a],
323
+ [
324
+ /webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
325
+ // Safari < 3.0
326
+ ],
327
+ [a, [r, L, gi]],
328
+ [
329
+ /(webkit|khtml)\/([\w\.]+)/i
330
+ ],
331
+ [a, r],
332
+ [
333
+ // Gecko based
334
+ /(navigator|netscape\d?)\/([-\w\.]+)/i
335
+ // Netscape
336
+ ],
337
+ [[a, "Netscape"], r],
338
+ [
339
+ /(wolvic)\/([\w\.]+)/i
340
+ // Wolvic
341
+ ],
342
+ [a, r],
343
+ [
344
+ /mobile vr; rv:([\w\.]+)\).+firefox/i
345
+ // Firefox Reality
346
+ ],
347
+ [r, [a, U + " Reality"]],
348
+ [
349
+ /ekiohf.+(flow)\/([\w\.]+)/i,
350
+ // Flow
351
+ /(swiftfox)/i,
352
+ // Swiftfox
353
+ /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,
354
+ // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror
355
+ /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,
356
+ // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
357
+ /(firefox)\/([\w\.]+)/i,
358
+ // Other Firefox-based
359
+ /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,
360
+ // Mozilla
361
+ // Other
362
+ /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
363
+ // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser
364
+ /(links) \(([\w\.]+)/i
365
+ // Links
366
+ ],
367
+ [a, [r, /_/g, "."]],
368
+ [
369
+ /(cobalt)\/([\w\.]+)/i
370
+ // Cobalt
371
+ ],
372
+ [a, [r, /master.|lts./, ""]]
373
+ ],
374
+ cpu: [
375
+ [
376
+ /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i
377
+ // AMD64 (x64)
378
+ ],
379
+ [[p, "amd64"]],
380
+ [
381
+ /(ia32(?=;))/i
382
+ // IA32 (quicktime)
383
+ ],
384
+ [[p, _]],
385
+ [
386
+ /((?:i[346]|x)86)[;\)]/i
387
+ // IA32 (x86)
388
+ ],
389
+ [[p, "ia32"]],
390
+ [
391
+ /\b(aarch64|arm(v?8e?l?|_?64))\b/i
392
+ // ARM64
393
+ ],
394
+ [[p, "arm64"]],
395
+ [
396
+ /\b(arm(?:v[67])?ht?n?[fl]p?)\b/i
397
+ // ARMHF
398
+ ],
399
+ [[p, "armhf"]],
400
+ [
401
+ // PocketPC mistakenly identified as PowerPC
402
+ /windows (ce|mobile); ppc;/i
403
+ ],
404
+ [[p, "arm"]],
405
+ [
406
+ /((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i
407
+ // PowerPC
408
+ ],
409
+ [[p, /ower/, R, _]],
410
+ [
411
+ /(sun4\w)[;\)]/i
412
+ // SPARC
413
+ ],
414
+ [[p, "sparc"]],
415
+ [
416
+ /((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i
417
+ // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC
418
+ ],
419
+ [[p, _]]
420
+ ],
421
+ device: [
422
+ [
423
+ //////////////////////////
424
+ // MOBILES & TABLETS
425
+ /////////////////////////
426
+ // Samsung
427
+ /\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
428
+ ],
429
+ [e, [o, A], [i, n]],
430
+ [
431
+ /\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
432
+ /samsung[- ]((?!sm-[lr])[-\w]+)/i,
433
+ /sec-(sgh\w+)/i
434
+ ],
435
+ [e, [o, A], [i, b]],
436
+ [
437
+ // Apple
438
+ /(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i
439
+ // iPod/iPhone
440
+ ],
441
+ [e, [o, O], [i, b]],
442
+ [
443
+ /\((ipad);[-\w\),; ]+apple/i,
444
+ // iPad
445
+ /applecoremedia\/[\w\.]+ \((ipad)/i,
446
+ /\b(ipad)\d\d?,\d\d?[;\]].+ios/i
447
+ ],
448
+ [e, [o, O], [i, n]],
449
+ [
450
+ /(macintosh);/i
451
+ ],
452
+ [e, [o, O]],
453
+ [
454
+ // Sharp
455
+ /\b(sh-?[altvz]?\d\d[a-ekm]?)/i
456
+ ],
457
+ [e, [o, si], [i, b]],
458
+ [
459
+ // Huawei
460
+ /\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i
461
+ ],
462
+ [e, [o, ri], [i, n]],
463
+ [
464
+ /(?:huawei|honor)([-\w ]+)[;\)]/i,
465
+ /\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i
466
+ ],
467
+ [e, [o, ri], [i, b]],
468
+ [
469
+ // Xiaomi
470
+ /\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,
471
+ // Xiaomi POCO
472
+ /\b; (\w+) build\/hm\1/i,
473
+ // Xiaomi Hongmi 'numeric' models
474
+ /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,
475
+ // Xiaomi Hongmi
476
+ /\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,
477
+ // Xiaomi Redmi
478
+ /oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,
479
+ // Xiaomi Redmi 'numeric' models
480
+ /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i
481
+ // Xiaomi Mi
482
+ ],
483
+ [[e, /_/g, " "], [o, Y], [i, b]],
484
+ [
485
+ /oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,
486
+ // Redmi Pad
487
+ /\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i
488
+ // Mi Pad tablets
489
+ ],
490
+ [[e, /_/g, " "], [o, Y], [i, n]],
491
+ [
492
+ // OPPO
493
+ /; (\w+) bui.+ oppo/i,
494
+ /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
495
+ ],
496
+ [e, [o, "OPPO"], [i, b]],
497
+ [
498
+ /\b(opd2\d{3}a?) bui/i
499
+ ],
500
+ [e, [o, "OPPO"], [i, n]],
501
+ [
502
+ // Vivo
503
+ /vivo (\w+)(?: bui|\))/i,
504
+ /\b(v[12]\d{3}\w?[at])(?: bui|;)/i
505
+ ],
506
+ [e, [o, "Vivo"], [i, b]],
507
+ [
508
+ // Realme
509
+ /\b(rmx[1-3]\d{3})(?: bui|;|\))/i
510
+ ],
511
+ [e, [o, "Realme"], [i, b]],
512
+ [
513
+ // Motorola
514
+ /\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
515
+ /\bmot(?:orola)?[- ](\w*)/i,
516
+ /((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i
517
+ ],
518
+ [e, [o, ti], [i, b]],
519
+ [
520
+ /\b(mz60\d|xoom[2 ]{0,2}) build\//i
521
+ ],
522
+ [e, [o, ti], [i, n]],
523
+ [
524
+ // LG
525
+ /((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
526
+ ],
527
+ [e, [o, H], [i, n]],
528
+ [
529
+ /(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
530
+ /\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,
531
+ /\blg-?([\d\w]+) bui/i
532
+ ],
533
+ [e, [o, H], [i, b]],
534
+ [
535
+ // Lenovo
536
+ /(ideatab[-\w ]+)/i,
537
+ /lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i
538
+ ],
539
+ [e, [o, "Lenovo"], [i, n]],
540
+ [
541
+ // Nokia
542
+ /(?:maemo|nokia).*(n900|lumia \d+)/i,
543
+ /nokia[-_ ]?([-\w\.]*)/i
544
+ ],
545
+ [[e, /_/g, " "], [o, "Nokia"], [i, b]],
546
+ [
547
+ // Google
548
+ /(pixel c)\b/i
549
+ // Google Pixel C
550
+ ],
551
+ [e, [o, z], [i, n]],
552
+ [
553
+ /droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i
554
+ // Google Pixel
555
+ ],
556
+ [e, [o, z], [i, b]],
557
+ [
558
+ // Sony
559
+ /droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
560
+ ],
561
+ [e, [o, B], [i, b]],
562
+ [
563
+ /sony tablet [ps]/i,
564
+ /\b(?:sony)?sgp\w+(?: bui|\))/i
565
+ ],
566
+ [[e, "Xperia Tablet"], [o, B], [i, n]],
567
+ [
568
+ // OnePlus
569
+ / (kb2005|in20[12]5|be20[12][59])\b/i,
570
+ /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
571
+ ],
572
+ [e, [o, "OnePlus"], [i, b]],
573
+ [
574
+ // Amazon
575
+ /(alexa)webm/i,
576
+ /(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,
577
+ // Kindle Fire without Silk / Echo Show
578
+ /(kf[a-z]+)( bui|\)).+silk\//i
579
+ // Kindle Fire HD
580
+ ],
581
+ [e, [o, q], [i, n]],
582
+ [
583
+ /((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
584
+ // Fire Phone
585
+ ],
586
+ [[e, /(.+)/g, "Fire Phone $1"], [o, q], [i, b]],
587
+ [
588
+ // BlackBerry
589
+ /(playbook);[-\w\),; ]+(rim)/i
590
+ // BlackBerry PlayBook
591
+ ],
592
+ [e, o, [i, n]],
593
+ [
594
+ /\b((?:bb[a-f]|st[hv])100-\d)/i,
595
+ /\(bb10; (\w+)/i
596
+ // BlackBerry 10
597
+ ],
598
+ [e, [o, ai], [i, b]],
599
+ [
600
+ // Asus
601
+ /(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
602
+ ],
603
+ [e, [o, oi], [i, n]],
604
+ [
605
+ / (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
606
+ ],
607
+ [e, [o, oi], [i, b]],
608
+ [
609
+ // HTC
610
+ /(nexus 9)/i
611
+ // HTC Nexus 9
612
+ ],
613
+ [e, [o, "HTC"], [i, n]],
614
+ [
615
+ /(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
616
+ // HTC
617
+ // ZTE
618
+ /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,
619
+ /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
620
+ // Alcatel/GeeksPhone/Nexian/Panasonic/Sony
621
+ ],
622
+ [o, [e, /_/g, " "], [i, b]],
623
+ [
624
+ // TCL
625
+ /droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i
626
+ ],
627
+ [e, [o, "TCL"], [i, n]],
628
+ [
629
+ // itel
630
+ /(itel) ((\w+))/i
631
+ ],
632
+ [[o, _], e, [i, L, { tablet: ["p10001l", "w7001"], "*": "mobile" }]],
633
+ [
634
+ // Acer
635
+ /droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
636
+ ],
637
+ [e, [o, "Acer"], [i, n]],
638
+ [
639
+ // Meizu
640
+ /droid.+; (m[1-5] note) bui/i,
641
+ /\bmz-([-\w]{2,})/i
642
+ ],
643
+ [e, [o, "Meizu"], [i, b]],
644
+ [
645
+ // Ulefone
646
+ /; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
647
+ ],
648
+ [e, [o, "Ulefone"], [i, b]],
649
+ [
650
+ // Nothing
651
+ /droid.+; (a(?:015|06[35]|142p?))/i
652
+ ],
653
+ [e, [o, "Nothing"], [i, b]],
654
+ [
655
+ // MIXED
656
+ /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,
657
+ // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron
658
+ /(hp) ([\w ]+\w)/i,
659
+ // HP iPAQ
660
+ /(asus)-?(\w+)/i,
661
+ // Asus
662
+ /(microsoft); (lumia[\w ]+)/i,
663
+ // Microsoft Lumia
664
+ /(lenovo)[-_ ]?([-\w]+)/i,
665
+ // Lenovo
666
+ /(jolla)/i,
667
+ // Jolla
668
+ /(oppo) ?([\w ]+) bui/i
669
+ // OPPO
670
+ ],
671
+ [o, e, [i, b]],
672
+ [
673
+ /(kobo)\s(ereader|touch)/i,
674
+ // Kobo
675
+ /(archos) (gamepad2?)/i,
676
+ // Archos
677
+ /(hp).+(touchpad(?!.+tablet)|tablet)/i,
678
+ // HP TouchPad
679
+ /(kindle)\/([\w\.]+)/i,
680
+ // Kindle
681
+ /(nook)[\w ]+build\/(\w+)/i,
682
+ // Nook
683
+ /(dell) (strea[kpr\d ]*[\dko])/i,
684
+ // Dell Streak
685
+ /(le[- ]+pan)[- ]+(\w{1,9}) bui/i,
686
+ // Le Pan Tablets
687
+ /(trinity)[- ]*(t\d{3}) bui/i,
688
+ // Trinity Tablets
689
+ /(gigaset)[- ]+(q\w{1,9}) bui/i,
690
+ // Gigaset Tablets
691
+ /(vodafone) ([\w ]+)(?:\)| bui)/i
692
+ // Vodafone
693
+ ],
694
+ [o, e, [i, n]],
695
+ [
696
+ /(surface duo)/i
697
+ // Surface Duo
698
+ ],
699
+ [e, [o, W], [i, n]],
700
+ [
701
+ /droid [\d\.]+; (fp\du?)(?: b|\))/i
702
+ // Fairphone
703
+ ],
704
+ [e, [o, "Fairphone"], [i, b]],
705
+ [
706
+ /(u304aa)/i
707
+ // AT&T
708
+ ],
709
+ [e, [o, "AT&T"], [i, b]],
710
+ [
711
+ /\bsie-(\w*)/i
712
+ // Siemens
713
+ ],
714
+ [e, [o, "Siemens"], [i, b]],
715
+ [
716
+ /\b(rct\w+) b/i
717
+ // RCA Tablets
718
+ ],
719
+ [e, [o, "RCA"], [i, n]],
720
+ [
721
+ /\b(venue[\d ]{2,7}) b/i
722
+ // Dell Venue Tablets
723
+ ],
724
+ [e, [o, "Dell"], [i, n]],
725
+ [
726
+ /\b(q(?:mv|ta)\w+) b/i
727
+ // Verizon Tablet
728
+ ],
729
+ [e, [o, "Verizon"], [i, n]],
730
+ [
731
+ /\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i
732
+ // Barnes & Noble Tablet
733
+ ],
734
+ [e, [o, "Barnes & Noble"], [i, n]],
735
+ [
736
+ /\b(tm\d{3}\w+) b/i
737
+ ],
738
+ [e, [o, "NuVision"], [i, n]],
739
+ [
740
+ /\b(k88) b/i
741
+ // ZTE K Series Tablet
742
+ ],
743
+ [e, [o, "ZTE"], [i, n]],
744
+ [
745
+ /\b(nx\d{3}j) b/i
746
+ // ZTE Nubia
747
+ ],
748
+ [e, [o, "ZTE"], [i, b]],
749
+ [
750
+ /\b(gen\d{3}) b.+49h/i
751
+ // Swiss GEN Mobile
752
+ ],
753
+ [e, [o, "Swiss"], [i, b]],
754
+ [
755
+ /\b(zur\d{3}) b/i
756
+ // Swiss ZUR Tablet
757
+ ],
758
+ [e, [o, "Swiss"], [i, n]],
759
+ [
760
+ /\b((zeki)?tb.*\b) b/i
761
+ // Zeki Tablets
762
+ ],
763
+ [e, [o, "Zeki"], [i, n]],
764
+ [
765
+ /\b([yr]\d{2}) b/i,
766
+ /\b(dragon[- ]+touch |dt)(\w{5}) b/i
767
+ // Dragon Touch Tablet
768
+ ],
769
+ [[o, "Dragon Touch"], e, [i, n]],
770
+ [
771
+ /\b(ns-?\w{0,9}) b/i
772
+ // Insignia Tablets
773
+ ],
774
+ [e, [o, "Insignia"], [i, n]],
775
+ [
776
+ /\b((nxa|next)-?\w{0,9}) b/i
777
+ // NextBook Tablets
778
+ ],
779
+ [e, [o, "NextBook"], [i, n]],
780
+ [
781
+ /\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i
782
+ // Voice Xtreme Phones
783
+ ],
784
+ [[o, "Voice"], e, [i, b]],
785
+ [
786
+ /\b(lvtel\-)?(v1[12]) b/i
787
+ // LvTel Phones
788
+ ],
789
+ [[o, "LvTel"], e, [i, b]],
790
+ [
791
+ /\b(ph-1) /i
792
+ // Essential PH-1
793
+ ],
794
+ [e, [o, "Essential"], [i, b]],
795
+ [
796
+ /\b(v(100md|700na|7011|917g).*\b) b/i
797
+ // Envizen Tablets
798
+ ],
799
+ [e, [o, "Envizen"], [i, n]],
800
+ [
801
+ /\b(trio[-\w\. ]+) b/i
802
+ // MachSpeed Tablets
803
+ ],
804
+ [e, [o, "MachSpeed"], [i, n]],
805
+ [
806
+ /\btu_(1491) b/i
807
+ // Rotor Tablets
808
+ ],
809
+ [e, [o, "Rotor"], [i, n]],
810
+ [
811
+ /(shield[\w ]+) b/i
812
+ // Nvidia Shield Tablets
813
+ ],
814
+ [e, [o, "Nvidia"], [i, n]],
815
+ [
816
+ /(sprint) (\w+)/i
817
+ // Sprint Phones
818
+ ],
819
+ [o, e, [i, b]],
820
+ [
821
+ /(kin\.[onetw]{3})/i
822
+ // Microsoft Kin
823
+ ],
824
+ [[e, /\./g, " "], [o, W], [i, b]],
825
+ [
826
+ /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
827
+ // Zebra
828
+ ],
829
+ [e, [o, X], [i, n]],
830
+ [
831
+ /droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
832
+ ],
833
+ [e, [o, X], [i, b]],
834
+ [
835
+ ///////////////////
836
+ // SMARTTVS
837
+ ///////////////////
838
+ /smart-tv.+(samsung)/i
839
+ // Samsung
840
+ ],
841
+ [o, [i, m]],
842
+ [
843
+ /hbbtv.+maple;(\d+)/i
844
+ ],
845
+ [[e, /^/, "SmartTV"], [o, A], [i, m]],
846
+ [
847
+ /(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
848
+ // LG SmartTV
849
+ ],
850
+ [[o, H], [i, m]],
851
+ [
852
+ /(apple) ?tv/i
853
+ // Apple TV
854
+ ],
855
+ [o, [e, O + " TV"], [i, m]],
856
+ [
857
+ /crkey/i
858
+ // Google Chromecast
859
+ ],
860
+ [[e, C + "cast"], [o, z], [i, m]],
861
+ [
862
+ /droid.+aft(\w+)( bui|\))/i
863
+ // Fire TV
864
+ ],
865
+ [e, [o, q], [i, m]],
866
+ [
867
+ /\(dtv[\);].+(aquos)/i,
868
+ /(aquos-tv[\w ]+)\)/i
869
+ // Sharp
870
+ ],
871
+ [e, [o, si], [i, m]],
872
+ [
873
+ /(bravia[\w ]+)( bui|\))/i
874
+ // Sony
875
+ ],
876
+ [e, [o, B], [i, m]],
877
+ [
878
+ /(mitv-\w{5}) bui/i
879
+ // Xiaomi
880
+ ],
881
+ [e, [o, Y], [i, m]],
882
+ [
883
+ /Hbbtv.*(technisat) (.*);/i
884
+ // TechniSAT
885
+ ],
886
+ [o, e, [i, m]],
887
+ [
888
+ /\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,
889
+ // Roku
890
+ /hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
891
+ // HbbTV devices
892
+ ],
893
+ [[o, Z], [e, Z], [i, m]],
894
+ [
895
+ /\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i
896
+ // SmartTV from Unidentified Vendors
897
+ ],
898
+ [[i, m]],
899
+ [
900
+ ///////////////////
901
+ // CONSOLES
902
+ ///////////////////
903
+ /(ouya)/i,
904
+ // Ouya
905
+ /(nintendo) ([wids3utch]+)/i
906
+ // Nintendo
907
+ ],
908
+ [o, e, [i, E]],
909
+ [
910
+ /droid.+; (shield) bui/i
911
+ // Nvidia
912
+ ],
913
+ [e, [o, "Nvidia"], [i, E]],
914
+ [
915
+ /(playstation [345portablevi]+)/i
916
+ // Playstation
917
+ ],
918
+ [e, [o, B], [i, E]],
919
+ [
920
+ /\b(xbox(?: one)?(?!; xbox))[\); ]/i
921
+ // Microsoft Xbox
922
+ ],
923
+ [e, [o, W], [i, E]],
924
+ [
925
+ ///////////////////
926
+ // WEARABLES
927
+ ///////////////////
928
+ /\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i
929
+ // Samsung Galaxy Watch
930
+ ],
931
+ [e, [o, A], [i, k]],
932
+ [
933
+ /((pebble))app/i
934
+ // Pebble
935
+ ],
936
+ [o, e, [i, k]],
937
+ [
938
+ /(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
939
+ // Apple Watch
940
+ ],
941
+ [e, [o, O], [i, k]],
942
+ [
943
+ /droid.+; (glass) \d/i
944
+ // Google Glass
945
+ ],
946
+ [e, [o, z], [i, k]],
947
+ [
948
+ /droid.+; (wt63?0{2,3})\)/i
949
+ ],
950
+ [e, [o, X], [i, k]],
951
+ [
952
+ /(quest( \d| pro)?)/i
953
+ // Oculus Quest
954
+ ],
955
+ [e, [o, ni], [i, k]],
956
+ [
957
+ ///////////////////
958
+ // EMBEDDED
959
+ ///////////////////
960
+ /(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
961
+ // Tesla
962
+ ],
963
+ [o, [i, F]],
964
+ [
965
+ /(aeobc)\b/i
966
+ // Echo Dot
967
+ ],
968
+ [e, [o, q], [i, F]],
969
+ [
970
+ ////////////////////
971
+ // MIXED (GENERIC)
972
+ ///////////////////
973
+ /droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i
974
+ // Android Phones from Unidentified Vendors
975
+ ],
976
+ [e, [i, b]],
977
+ [
978
+ /droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i
979
+ // Android Tablets from Unidentified Vendors
980
+ ],
981
+ [e, [i, n]],
982
+ [
983
+ /\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
984
+ // Unidentifiable Tablet
985
+ ],
986
+ [[i, n]],
987
+ [
988
+ /(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i
989
+ // Unidentifiable Mobile
990
+ ],
991
+ [[i, b]],
992
+ [
993
+ /(android[-\w\. ]{0,9});.+buil/i
994
+ // Generic Android Device
995
+ ],
996
+ [e, [o, "Generic"]]
997
+ ],
998
+ engine: [
999
+ [
1000
+ /windows.+ edge\/([\w\.]+)/i
1001
+ // EdgeHTML
1002
+ ],
1003
+ [r, [a, hi + "HTML"]],
1004
+ [
1005
+ /webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
1006
+ // Blink
1007
+ ],
1008
+ [r, [a, "Blink"]],
1009
+ [
1010
+ /(presto)\/([\w\.]+)/i,
1011
+ // Presto
1012
+ /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,
1013
+ // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna
1014
+ /ekioh(flow)\/([\w\.]+)/i,
1015
+ // Flow
1016
+ /(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,
1017
+ // KHTML/Tasman/Links
1018
+ /(icab)[\/ ]([23]\.[\d\.]+)/i,
1019
+ // iCab
1020
+ /\b(libweb)/i
1021
+ ],
1022
+ [a, r],
1023
+ [
1024
+ /rv\:([\w\.]{1,9})\b.+(gecko)/i
1025
+ // Gecko
1026
+ ],
1027
+ [r, a]
1028
+ ],
1029
+ os: [
1030
+ [
1031
+ // Windows
1032
+ /microsoft (windows) (vista|xp)/i
1033
+ // Windows (iTunes)
1034
+ ],
1035
+ [a, r],
1036
+ [
1037
+ /(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i
1038
+ // Windows Phone
1039
+ ],
1040
+ [a, [r, L, di]],
1041
+ [
1042
+ /windows nt 6\.2; (arm)/i,
1043
+ // Windows RT
1044
+ /windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,
1045
+ /(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i
1046
+ ],
1047
+ [[r, L, di], [a, "Windows"]],
1048
+ [
1049
+ // iOS/macOS
1050
+ /ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,
1051
+ // iOS
1052
+ /(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,
1053
+ /cfnetwork\/.+darwin/i
1054
+ ],
1055
+ [[r, /_/g, "."], [a, "iOS"]],
1056
+ [
1057
+ /(mac os x) ?([\w\. ]*)/i,
1058
+ /(macintosh|mac_powerpc\b)(?!.+haiku)/i
1059
+ // Mac OS
1060
+ ],
1061
+ [[a, wi], [r, /_/g, "."]],
1062
+ [
1063
+ // Mobile OSes
1064
+ /droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i
1065
+ // Android-x86/HarmonyOS
1066
+ ],
1067
+ [r, a],
1068
+ [
1069
+ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS
1070
+ /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,
1071
+ /(blackberry)\w*\/([\w\.]*)/i,
1072
+ // Blackberry
1073
+ /(tizen|kaios)[\/ ]([\w\.]+)/i,
1074
+ // Tizen/KaiOS
1075
+ /\((series40);/i
1076
+ // Series 40
1077
+ ],
1078
+ [a, r],
1079
+ [
1080
+ /\(bb(10);/i
1081
+ // BlackBerry 10
1082
+ ],
1083
+ [r, [a, ai]],
1084
+ [
1085
+ /(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i
1086
+ // Symbian
1087
+ ],
1088
+ [r, [a, "Symbian"]],
1089
+ [
1090
+ /mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i
1091
+ // Firefox OS
1092
+ ],
1093
+ [r, [a, U + " OS"]],
1094
+ [
1095
+ /web0s;.+rt(tv)/i,
1096
+ /\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i
1097
+ // WebOS
1098
+ ],
1099
+ [r, [a, "webOS"]],
1100
+ [
1101
+ /watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i
1102
+ // watchOS
1103
+ ],
1104
+ [r, [a, "watchOS"]],
1105
+ [
1106
+ // Google Chromecast
1107
+ /crkey\/([\d\.]+)/i
1108
+ // Google Chromecast
1109
+ ],
1110
+ [r, [a, C + "cast"]],
1111
+ [
1112
+ /(cros) [\w]+(?:\)| ([\w\.]+)\b)/i
1113
+ // Chromium OS
1114
+ ],
1115
+ [[a, bi], r],
1116
+ [
1117
+ // Smart TVs
1118
+ /panasonic;(viera)/i,
1119
+ // Panasonic Viera
1120
+ /(netrange)mmh/i,
1121
+ // Netrange
1122
+ /(nettv)\/(\d+\.[\w\.]+)/i,
1123
+ // NetTV
1124
+ // Console
1125
+ /(nintendo|playstation) ([wids345portablevuch]+)/i,
1126
+ // Nintendo/Playstation
1127
+ /(xbox); +xbox ([^\);]+)/i,
1128
+ // Microsoft Xbox (360, One, X, S, Series X, Series S)
1129
+ // Other
1130
+ /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,
1131
+ // Joli/Palm
1132
+ /(mint)[\/\(\) ]?(\w*)/i,
1133
+ // Mint
1134
+ /(mageia|vectorlinux)[; ]/i,
1135
+ // Mageia/VectorLinux
1136
+ /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,
1137
+ // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire
1138
+ /(hurd|linux) ?([\w\.]*)/i,
1139
+ // Hurd/Linux
1140
+ /(gnu) ?([\w\.]*)/i,
1141
+ // GNU
1142
+ /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,
1143
+ // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly
1144
+ /(haiku) (\w+)/i
1145
+ // Haiku
1146
+ ],
1147
+ [a, r],
1148
+ [
1149
+ /(sunos) ?([\w\.\d]*)/i
1150
+ // Solaris
1151
+ ],
1152
+ [[a, "Solaris"], r],
1153
+ [
1154
+ /((?:open)?solaris)[-\/ ]?([\w\.]*)/i,
1155
+ // Solaris
1156
+ /(aix) ((\d)(?=\.|\)| )[\w\.])*/i,
1157
+ // AIX
1158
+ /\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,
1159
+ // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS
1160
+ /(unix) ?([\w\.]*)/i
1161
+ // UNIX
1162
+ ],
1163
+ [a, r]
1164
+ ]
1165
+ }, h = function(w, l) {
1166
+ if (typeof w === V && (l = w, w = u), !(this instanceof h))
1167
+ return new h(w, l).getResult();
1168
+ var s = typeof x !== M && x.navigator ? x.navigator : u, d = w || (s && s.userAgent ? s.userAgent : R), g = s && s.userAgentData ? s.userAgentData : u, v = l ? vi(ui, l) : ui, c = s && s.userAgent == d;
1169
+ return this.getBrowser = function() {
1170
+ var t = {};
1171
+ return t[a] = u, t[r] = u, N.call(t, d, v.browser), t[ei] = fi(t[r]), c && s && s.brave && typeof s.brave.isBrave == j && (t[a] = "Brave"), t;
1172
+ }, this.getCPU = function() {
1173
+ var t = {};
1174
+ return t[p] = u, N.call(t, d, v.cpu), t;
1175
+ }, this.getDevice = function() {
1176
+ var t = {};
1177
+ return t[o] = u, t[e] = u, t[i] = u, N.call(t, d, v.device), c && !t[i] && g && g.mobile && (t[i] = b), c && t[e] == "Macintosh" && s && typeof s.standalone !== M && s.maxTouchPoints && s.maxTouchPoints > 2 && (t[e] = "iPad", t[i] = n), t;
1178
+ }, this.getEngine = function() {
1179
+ var t = {};
1180
+ return t[a] = u, t[r] = u, N.call(t, d, v.engine), t;
1181
+ }, this.getOS = function() {
1182
+ var t = {};
1183
+ return t[a] = u, t[r] = u, N.call(t, d, v.os), c && !t[a] && g && g.platform && g.platform != "Unknown" && (t[a] = g.platform.replace(/chrome os/i, bi).replace(/macos/i, wi)), t;
1184
+ }, this.getResult = function() {
1185
+ return {
1186
+ ua: this.getUA(),
1187
+ browser: this.getBrowser(),
1188
+ engine: this.getEngine(),
1189
+ os: this.getOS(),
1190
+ device: this.getDevice(),
1191
+ cpu: this.getCPU()
1192
+ };
1193
+ }, this.getUA = function() {
1194
+ return d;
1195
+ }, this.setUA = function(t) {
1196
+ return d = typeof t === P && t.length > G ? Z(t, G) : t, this;
1197
+ }, this.setUA(d), this;
1198
+ };
1199
+ h.VERSION = pi, h.BROWSER = I([a, r, ei]), h.CPU = I([p]), h.DEVICE = I([e, o, i, E, b, m, n, k, F]), h.ENGINE = h.OS = I([a, r]), Q.exports && ($ = Q.exports = h), $.UAParser = h;
1200
+ var y = typeof x !== M && (x.jQuery || x.Zepto);
1201
+ if (y && !y.ua) {
1202
+ var D = new h();
1203
+ y.ua = D.getResult(), y.ua.get = function() {
1204
+ return D.getUA();
1205
+ }, y.ua.set = function(w) {
1206
+ D.setUA(w);
1207
+ var l = D.getResult();
1208
+ for (var s in l)
1209
+ y.ua[s] = l[s];
1210
+ };
1211
+ }
1212
+ })(typeof window == "object" ? window : ki);
1213
+ })(J, J.exports);
1214
+ var _i = J.exports;
1215
+ const Oi = /* @__PURE__ */ xi(_i);
1216
+ export {
1217
+ Oi as default
1218
+ };