{"version":3,"file":"ua_parser-297cf7c7.js","sources":["../../../app/javascript/entrypoints/ua_parser.min.js"],"sourcesContent":["/* UAParser.js v2.0.0-beta.1\n Copyright © 2012-2023 Faisal Salman \n AGPLv3 License */\n(function (window, undefined) {\n 'use strict';\n var LIBVERSION = '2.0.0-beta.1',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major',\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE = 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded',\n USER_AGENT = 'user-agent',\n UA_MAX_LENGTH = 350,\n BRANDS = 'brands',\n FORMFACTOR = 'formFactor',\n FULLVERLIST = 'fullVersionList',\n PLATFORM = 'platform',\n PLATFORMVER = 'platformVersion',\n BITNESS = 'bitness',\n CH_HEADER = 'sec-ch-ua',\n CH_HEADER_FULL_VER_LIST = CH_HEADER + '-full-version-list',\n CH_HEADER_ARCH = CH_HEADER + '-arch',\n CH_HEADER_BITNESS = CH_HEADER + '-' + BITNESS,\n CH_HEADER_FORM_FACTOR = CH_HEADER + '-form-factor',\n CH_HEADER_MOBILE = CH_HEADER + '-' + MOBILE,\n CH_HEADER_MODEL = CH_HEADER + '-' + MODEL,\n CH_HEADER_PLATFORM = CH_HEADER + '-' + PLATFORM,\n CH_HEADER_PLATFORM_VER = CH_HEADER_PLATFORM + '-version',\n CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, FORMFACTOR, BITNESS],\n UA_BROWSER = 'browser',\n UA_CPU = 'cpu',\n UA_DEVICE = 'device',\n UA_ENGINE = 'engine',\n UA_OS = 'os',\n UA_RESULT = 'result',\n AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n SAMSUNG = 'Samsung',\n SHARP = 'Sharp',\n SONY = 'Sony',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n PREFIX_MOBILE = 'Mobile ',\n SUFFIX_BROWSER = ' Browser',\n CHROME = 'Chrome',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n OPERA = 'Opera',\n FACEBOOK = 'Facebook',\n WINDOWS = 'Windows';\n var NAVIGATOR = typeof window !== UNDEF_TYPE && window.navigator ? window.navigator : undefined,\n NAVIGATOR_UADATA = NAVIGATOR && NAVIGATOR.userAgentData ? NAVIGATOR.userAgentData : undefined;\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n mergedRegexes[i] =\n extensions[i] && extensions[i].length % 2 === 0 ? extensions[i].concat(regexes[i]) : regexes[i];\n }\n return mergedRegexes;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i = 0; i < arr.length; i++) {\n enums[arr[i].toUpperCase()] = arr[i];\n }\n return enums;\n },\n has = function (str1, str2) {\n if (typeof str1 === OBJ_TYPE && str1.length > 0) {\n for (var i in str1) {\n if (lowerize(str1[i]) == lowerize(str2)) return true;\n }\n return false;\n }\n return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\n },\n isExtensions = function (obj) {\n for (var prop in obj) {\n return /^(browser|cpu|device|engine|os)$/.test(prop);\n }\n },\n itemListToArray = function (header) {\n if (!header) return undefined;\n var arr = [];\n var tokens = strip(/\\\\?\\\"/g, header).split(',');\n for (var i = 0; i < tokens.length; i++) {\n if (tokens[i].indexOf(';') > -1) {\n var token = trim(tokens[i]).split(';v=');\n arr[i] = { brand: token[0], version: token[1] };\n } else {\n arr[i] = tokens[i];\n }\n }\n return arr;\n },\n lowerize = function (str) {\n return typeof str === STR_TYPE ? str.toLowerCase() : str;\n },\n majorize = function (version) {\n return typeof version === STR_TYPE ? strip(/[^\\d\\.]/g, version).split('.')[0] : undefined;\n },\n setProps = function (arr) {\n for (var i in arr) {\n var propName = arr[i];\n if (typeof propName == OBJ_TYPE && propName.length == 2) {\n this[propName[0]] = propName[1];\n } else {\n this[propName] = undefined;\n }\n }\n return this;\n },\n strip = function (pattern, str) {\n return str.replace(pattern, EMPTY);\n },\n stripQuotes = function (val) {\n return typeof val === STR_TYPE ? strip(/\\\\?\\\"/g, val) : val;\n },\n trim = function (str, len) {\n if (typeof str === STR_TYPE) {\n str = strip(/^\\s\\s*/, str);\n return typeof len === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n }\n };\n var rgxMapper = function (ua, arrays) {\n if (!ua || !arrays) return;\n var i = 0,\n j,\n k,\n p,\n q,\n matches,\n match;\n while (i < arrays.length && !matches) {\n var regex = arrays[i],\n props = arrays[i + 1];\n j = k = 0;\n while (j < regex.length && !matches) {\n if (!regex[j]) {\n break;\n }\n matches = regex[j++].exec(ua);\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n this[q[0]] = q[1].call(this, match);\n } else {\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length === 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n strMapper = function (str, map) {\n for (var i in map) {\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return i === UNKNOWN ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return i === UNKNOWN ? undefined : i;\n }\n }\n return map.hasOwnProperty('*') ? map['*'] : str;\n };\n var windowsVersionMap = {\n ME: '4.90',\n 'NT 3.11': 'NT3.51',\n 'NT 4.0': 'NT4.0',\n 2e3: 'NT 5.0',\n XP: ['NT 5.1', 'NT 5.2'],\n Vista: 'NT 6.0',\n 7: 'NT 6.1',\n 8: 'NT 6.2',\n 8.1: 'NT 6.3',\n 10: ['NT 6.4', 'NT 10.0'],\n RT: 'ARM'\n },\n formFactorMap = {\n embedded: 'Automotive',\n mobile: 'Mobile',\n tablet: ['Tablet', 'EInk'],\n smarttv: 'TV',\n wearable: ['VR', 'XR', 'Watch'],\n '?': ['Desktop', 'Unknown'],\n '*': undefined\n };\n var defaultRegexes = {\n browser: [\n [/\\b(?:crmo|crios)\\/([\\w\\.]+)/i],\n [VERSION, [NAME, PREFIX_MOBILE + 'Chrome']],\n [/edg(?:e|ios|a)?\\/([\\w\\.]+)/i],\n [VERSION, [NAME, 'Edge']],\n [\n /(opera mini)\\/([-\\w\\.]+)/i,\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i,\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i\n ],\n [NAME, VERSION],\n [/opios[\\/ ]+([\\w\\.]+)/i],\n [VERSION, [NAME, OPERA + ' Mini']],\n [/\\bopr\\/([\\w\\.]+)/i],\n [VERSION, [NAME, OPERA]],\n [\n /(kindle)\\/([\\w\\.]+)/i,\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i,\n /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i,\n /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i,\n /(?:ms|\\()(ie) ([\\w\\.]+)/i,\n /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,\n /(heytap|ovi)browser\\/([\\d\\.]+)/i,\n /(weibo)__([\\d\\.]+)/i\n ],\n [NAME, VERSION],\n [/(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i],\n [VERSION, [NAME, 'UCBrowser']],\n [/microm.+\\bqbcore\\/([\\w\\.]+)/i, /\\bqbcore\\/([\\w\\.]+).+microm/i],\n [VERSION, [NAME, 'WeChat(Win) Desktop']],\n [/micromessenger\\/([\\w\\.]+)/i],\n [VERSION, [NAME, 'WeChat']],\n [/konqueror\\/([\\w\\.]+)/i],\n [VERSION, [NAME, 'Konqueror']],\n [/trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i],\n [VERSION, [NAME, 'IE']],\n [/ya(?:search)?browser\\/([\\w\\.]+)/i],\n [VERSION, [NAME, 'Yandex']],\n [/(avast|avg)\\/([\\w\\.]+)/i],\n [[NAME, /(.+)/, '$1 Secure' + SUFFIX_BROWSER], VERSION],\n [/\\bfocus\\/([\\w\\.]+)/i],\n [VERSION, [NAME, FIREFOX + ' Focus']],\n [/\\bopt\\/([\\w\\.]+)/i],\n [VERSION, [NAME, OPERA + ' Touch']],\n [/coc_coc\\w+\\/([\\w\\.]+)/i],\n [VERSION, [NAME, 'Coc Coc']],\n [/dolfin\\/([\\w\\.]+)/i],\n [VERSION, [NAME, 'Dolphin']],\n [/coast\\/([\\w\\.]+)/i],\n [VERSION, [NAME, OPERA + ' Coast']],\n [/miuibrowser\\/([\\w\\.]+)/i],\n [VERSION, [NAME, 'MIUI' + SUFFIX_BROWSER]],\n [/fxios\\/([\\w\\.-]+)/i],\n [VERSION, [NAME, PREFIX_MOBILE + FIREFOX]],\n [/\\bqihu|(qi?ho?o?|360)browser/i],\n [[NAME, '360' + SUFFIX_BROWSER]],\n [/(oculus|samsung|sailfish|huawei)browser\\/([\\w\\.]+)/i],\n [[NAME, /(.+)/, '$1' + SUFFIX_BROWSER], VERSION],\n [/(comodo_dragon)\\/([\\w\\.]+)/i],\n [[NAME, /_/g, ' '], VERSION],\n [\n /(electron)\\/([\\w\\.]+) safari/i,\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i,\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i\n ],\n [NAME, VERSION],\n [/(metasr)[\\/ ]?([\\w\\.]+)/i, /(lbbrowser)/i, /\\[(linkedin)app\\]/i],\n [NAME],\n [/((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i],\n [[NAME, FACEBOOK], VERSION],\n [\n /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i,\n /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i,\n /safari (line)\\/([\\w\\.]+)/i,\n /\\b(line)\\/([\\w\\.]+)\\/iab/i,\n /(chromium|instagram|snapchat)[\\/ ]([-\\w\\.]+)/i\n ],\n [NAME, VERSION],\n [/\\bgsa\\/([\\w\\.]+) .*safari\\//i],\n [VERSION, [NAME, 'GSA']],\n [/musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i],\n [VERSION, [NAME, 'TikTok']],\n [/headlesschrome(?:\\/([\\w\\.]+)| )/i],\n [VERSION, [NAME, CHROME + ' Headless']],\n [/ wv\\).+(chrome)\\/([\\w\\.]+)/i],\n [[NAME, CHROME + ' WebView'], VERSION],\n [/droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i],\n [VERSION, [NAME, 'Android' + SUFFIX_BROWSER]],\n [/chrome\\/([\\w\\.]+) mobile/i],\n [VERSION, [NAME, PREFIX_MOBILE + 'Chrome']],\n [/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i],\n [NAME, VERSION],\n [/version\\/([\\w\\.\\,]+) .*mobile(?:\\/\\w+ | ?)safari/i],\n [VERSION, [NAME, PREFIX_MOBILE + 'Safari']],\n [/iphone .*mobile(?:\\/\\w+ | ?)safari/i],\n [[NAME, PREFIX_MOBILE + 'Safari']],\n [/version\\/([\\w\\.\\,]+) .*(safari)/i],\n [VERSION, NAME],\n [/webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i],\n [NAME, [VERSION, '1']],\n [/(webkit|khtml)\\/([\\w\\.]+)/i],\n [NAME, VERSION],\n [/(?:mobile|tablet);.*(firefox)\\/([\\w\\.-]+)/i],\n [[NAME, PREFIX_MOBILE + FIREFOX], VERSION],\n [/(navigator|netscape\\d?)\\/([-\\w\\.]+)/i],\n [[NAME, 'Netscape'], VERSION],\n [/mobile vr; rv:([\\w\\.]+)\\).+firefox/i],\n [VERSION, [NAME, FIREFOX + ' Reality']],\n [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i,\n /(swiftfox)/i,\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n /(firefox)\\/([\\w\\.]+)/i,\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i,\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n /(links) \\(([\\w\\.]+)/i,\n /panasonic;(viera)/i\n ],\n [NAME, VERSION],\n [/(cobalt)\\/([\\w\\.]+)/i],\n [NAME, [VERSION, /[^\\d\\.]+./, EMPTY]]\n ],\n cpu: [\n [/\\b(?:(amd|x|x86[-_]?|wow|win)64)\\b/i],\n [[ARCHITECTURE, 'amd64']],\n [/(ia32(?=;))/i, /((?:i[346]|x)86)[;\\)]/i],\n [[ARCHITECTURE, 'ia32']],\n [/\\b(aarch64|arm(v?8e?l?|_?64))\\b/i],\n [[ARCHITECTURE, 'arm64']],\n [/\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i],\n [[ARCHITECTURE, 'armhf']],\n [/windows (ce|mobile); ppc;/i],\n [[ARCHITECTURE, 'arm']],\n [/((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i],\n [[ARCHITECTURE, /ower/, EMPTY, lowerize]],\n [/(sun4\\w)[;\\)]/i],\n [[ARCHITECTURE, 'sparc']],\n [\n /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i\n ],\n [[ARCHITECTURE, lowerize]]\n ],\n device: [\n [/\\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],\n [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]],\n [/\\b((?:s[cgp]h|gt|sm)-\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i, /samsung[- ]([-\\w]+)/i, /sec-(sgh\\w+)/i],\n [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]],\n [/(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i],\n [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]],\n [/\\((ipad);[-\\w\\),; ]+apple/i, /applecoremedia\\/[\\w\\.]+ \\((ipad)/i, /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i],\n [MODEL, [VENDOR, APPLE], [TYPE, TABLET]],\n [/(macintosh);/i],\n [MODEL, [VENDOR, APPLE]],\n [/\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i],\n [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]],\n [/\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i],\n [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]],\n [/(?:huawei|honor)([-\\w ]+)[;\\)]/i, /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i],\n [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]],\n [\n /\\b(poco[\\w ]+|m2\\d{3}j\\d\\d[a-z]{2})(?: bui|\\))/i,\n /\\b; (\\w+) build\\/hm\\1/i,\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i,\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i,\n /oid[^\\)]+; (m?[12][0-389][01]\\w{3,6}[c-y])( bui|\\))/i,\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i\n ],\n [\n [MODEL, /_/g, ' '],\n [VENDOR, XIAOMI],\n [TYPE, MOBILE]\n ],\n [/oid[^\\)]+; (2\\d{4}(283|rpbf)[cgl])( bui|\\))/i, /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i],\n [\n [MODEL, /_/g, ' '],\n [VENDOR, XIAOMI],\n [TYPE, TABLET]\n ],\n [/; (\\w+) bui.+ oppo/i, /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i],\n [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]],\n [/vivo (\\w+)(?: bui|\\))/i, /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i],\n [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]],\n [/\\b(rmx[1-3]\\d{3})(?: bui|;|\\))/i],\n [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]],\n [\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n ],\n [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]],\n [/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i],\n [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]],\n [/((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i],\n [MODEL, [VENDOR, LG], [TYPE, TABLET]],\n [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ],\n [MODEL, [VENDOR, LG], [TYPE, MOBILE]],\n [/(ideatab[-\\w ]+)/i, /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i],\n [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]],\n [/(?:maemo|nokia).*(n900|lumia \\d+)/i, /nokia[-_ ]?([-\\w\\.]*)/i],\n [\n [MODEL, /_/g, ' '],\n [VENDOR, 'Nokia'],\n [TYPE, MOBILE]\n ],\n [/(pixel c)\\b/i],\n [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]],\n [/droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i],\n [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]],\n [/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],\n [MODEL, [VENDOR, SONY], [TYPE, MOBILE]],\n [/sony tablet [ps]/i, /\\b(?:sony)?sgp\\w+(?: bui|\\))/i],\n [\n [MODEL, 'Xperia Tablet'],\n [VENDOR, SONY],\n [TYPE, TABLET]\n ],\n [/ (kb2005|in20[12]5|be20[12][59])\\b/i, /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i],\n [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]],\n [/(alexa)webm/i, /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i, /(kf[a-z]+)( bui|\\)).+silk\\//i],\n [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]],\n [/((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i],\n [\n [MODEL, /(.+)/g, 'Fire Phone $1'],\n [VENDOR, AMAZON],\n [TYPE, MOBILE]\n ],\n [/(playbook);[-\\w\\),; ]+(rim)/i],\n [MODEL, VENDOR, [TYPE, TABLET]],\n [/\\b((?:bb[a-f]|st[hv])100-\\d)/i, /\\(bb10; (\\w+)/i],\n [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]],\n [/(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i],\n [MODEL, [VENDOR, ASUS], [TYPE, TABLET]],\n [/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i],\n [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]],\n [/(nexus 9)/i],\n [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]],\n [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i,\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i\n ],\n [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]],\n [/droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i],\n [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]],\n [/droid.+; (m[1-5] note) bui/i, /\\bmz-([-\\w]{2,})/i],\n [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]],\n [/; ((?:power )?armor(?:[\\w ]{0,8}))(?: bui|\\))/i],\n [MODEL, [VENDOR, 'Ulefone'], [TYPE, MOBILE]],\n [\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\\w]*)/i,\n /(hp) ([\\w ]+\\w)/i,\n /(asus)-?(\\w+)/i,\n /(microsoft); (lumia[\\w ]+)/i,\n /(lenovo)[-_ ]?([-\\w]+)/i,\n /(jolla)/i,\n /(oppo) ?([\\w ]+) bui/i\n ],\n [VENDOR, MODEL, [TYPE, MOBILE]],\n [\n /(kobo)\\s(ereader|touch)/i,\n /(archos) (gamepad2?)/i,\n /(hp).+(touchpad(?!.+tablet)|tablet)/i,\n /(kindle)\\/([\\w\\.]+)/i\n ],\n [VENDOR, MODEL, [TYPE, TABLET]],\n [/(surface duo)/i],\n [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]],\n [/droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i],\n [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]],\n [/(shield[\\w ]+) b/i],\n [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]],\n [/(sprint) (\\w+)/i],\n [VENDOR, MODEL, [TYPE, MOBILE]],\n [/(kin\\.[onetw]{3})/i],\n [\n [MODEL, /\\./g, ' '],\n [VENDOR, MICROSOFT],\n [TYPE, MOBILE]\n ],\n [/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i],\n [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]],\n [/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i],\n [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]],\n [/smart-tv.+(samsung)/i],\n [VENDOR, [TYPE, SMARTTV]],\n [/hbbtv.+maple;(\\d+)/i],\n [\n [MODEL, /^/, 'SmartTV'],\n [VENDOR, SAMSUNG],\n [TYPE, SMARTTV]\n ],\n [/(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i],\n [\n [VENDOR, LG],\n [TYPE, SMARTTV]\n ],\n [/(apple) ?tv/i],\n [VENDOR, [MODEL, APPLE + ' TV'], [TYPE, SMARTTV]],\n [/crkey/i],\n [\n [MODEL, CHROME + 'cast'],\n [VENDOR, GOOGLE],\n [TYPE, SMARTTV]\n ],\n [/droid.+aft(\\w+)( bui|\\))/i],\n [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]],\n [/\\(dtv[\\);].+(aquos)/i, /(aquos-tv[\\w ]+)\\)/i],\n [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],\n [/(bravia[\\w ]+)( bui|\\))/i],\n [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]],\n [/(mitv-\\w{5}) bui/i],\n [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]],\n [/Hbbtv.*(technisat) (.*);/i],\n [VENDOR, MODEL, [TYPE, SMARTTV]],\n [/\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i],\n [\n [VENDOR, trim],\n [MODEL, trim],\n [TYPE, SMARTTV]\n ],\n [/\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i],\n [[TYPE, SMARTTV]],\n [/(ouya)/i, /(nintendo) (\\w+)/i],\n [VENDOR, MODEL, [TYPE, CONSOLE]],\n [/droid.+; (shield) bui/i],\n [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]],\n [/(playstation \\w+)/i],\n [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]],\n [/\\b(xbox(?: one)?(?!; xbox))[\\); ]/i],\n [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]],\n [/((pebble))app/i],\n [VENDOR, MODEL, [TYPE, WEARABLE]],\n [/(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i],\n [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]],\n [/droid.+; (glass) \\d/i],\n [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]],\n [/droid.+; (wt63?0{2,3})\\)/i],\n [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]],\n [/(quest( 2| pro)?)/i],\n [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]],\n [/(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i],\n [VENDOR, [TYPE, EMBEDDED]],\n [/(aeobc)\\b/i],\n [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]],\n [/droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i],\n [MODEL, [TYPE, MOBILE]],\n [/droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i],\n [MODEL, [TYPE, TABLET]],\n [/\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i],\n [[TYPE, TABLET]],\n [/(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i],\n [[TYPE, MOBILE]],\n [/(android[-\\w\\. ]{0,9});.+buil/i],\n [MODEL, [VENDOR, 'Generic']]\n ],\n engine: [\n [/windows.+ edge\\/([\\w\\.]+)/i],\n [VERSION, [NAME, EDGE + 'HTML']],\n [/webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i],\n [VERSION, [NAME, 'Blink']],\n [\n /(presto)\\/([\\w\\.]+)/i,\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i,\n /ekioh(flow)\\/([\\w\\.]+)/i,\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i,\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i,\n /\\b(libweb)/i\n ],\n [NAME, VERSION],\n [/rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i],\n [VERSION, NAME]\n ],\n os: [\n [/microsoft (windows) (vista|xp)/i],\n [NAME, VERSION],\n [\n /(windows) nt 6\\.2; (arm)/i,\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i,\n /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i\n ],\n [NAME, [VERSION, strMapper, windowsVersionMap]],\n [/(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i],\n [\n [NAME, WINDOWS],\n [VERSION, strMapper, windowsVersionMap]\n ],\n [\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i,\n /(?:ios;fbsv\\/|iphone.+ios[\\/ ])([\\d\\.]+)/i,\n /cfnetwork\\/.+darwin/i\n ],\n [\n [VERSION, /_/g, '.'],\n [NAME, 'iOS']\n ],\n [/(mac os x) ?([\\w\\. ]*)/i, /(macintosh|mac_powerpc\\b)(?!.+haiku)/i],\n [\n [NAME, 'macOS'],\n [VERSION, /_/g, '.']\n ],\n [/droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i],\n [VERSION, NAME],\n [\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i,\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i,\n /\\((series40);/i\n ],\n [NAME, VERSION],\n [/\\(bb(10);/i],\n [VERSION, [NAME, BLACKBERRY]],\n [/(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i],\n [VERSION, [NAME, 'Symbian']],\n [/mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i],\n [VERSION, [NAME, FIREFOX + ' OS']],\n [/web0s;.+rt(tv)/i, /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i],\n [VERSION, [NAME, 'webOS']],\n [/watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i],\n [VERSION, [NAME, 'watchOS']],\n [/crkey\\/([\\d\\.]+)/i],\n [VERSION, [NAME, CHROME + 'cast']],\n [/(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i],\n [[NAME, 'Chrome OS'], VERSION],\n [\n /panasonic;(viera)/i,\n /(netrange)mmh/i,\n /(nettv)\\/(\\d+\\.[\\w\\.]+)/i,\n /(nintendo|playstation) (\\w+)/i,\n /(xbox); +xbox ([^\\);]+)/i,\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i,\n /(mint)[\\/\\(\\) ]?(\\w*)/i,\n /(mageia|vectorlinux)[; ]/i,\n /([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,\n /(hurd|linux) ?([\\w\\.]*)/i,\n /(gnu) ?([\\w\\.]*)/i,\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i,\n /(haiku) (\\w+)/i\n ],\n [NAME, VERSION],\n [/(sunos) ?([\\w\\.\\d]*)/i],\n [[NAME, 'Solaris'], VERSION],\n [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i,\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i,\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,\n /(unix) ?([\\w\\.]*)/i\n ],\n [NAME, VERSION]\n ]\n };\n var defaultProps = (function () {\n var props = { init: {}, isIgnore: {}, isIgnoreRgx: {}, toString: {} };\n setProps.call(props.init, [\n [UA_BROWSER, [NAME, VERSION, MAJOR]],\n [UA_CPU, [ARCHITECTURE]],\n [UA_DEVICE, [TYPE, MODEL, VENDOR]],\n [UA_ENGINE, [NAME, VERSION]],\n [UA_OS, [NAME, VERSION]]\n ]);\n setProps.call(props.isIgnore, [\n [UA_BROWSER, [VERSION, MAJOR]],\n [UA_ENGINE, [VERSION]],\n [UA_OS, [VERSION]]\n ]);\n setProps.call(props.isIgnoreRgx, [\n [UA_BROWSER, / ?browser$/i],\n [UA_OS, / ?os$/i]\n ]);\n setProps.call(props.toString, [\n [UA_BROWSER, [NAME, VERSION]],\n [UA_CPU, [ARCHITECTURE]],\n [UA_DEVICE, [VENDOR, MODEL]],\n [UA_ENGINE, [NAME, VERSION]],\n [UA_OS, [NAME, VERSION]]\n ]);\n return props;\n })();\n var createIData = function (item, itemType) {\n var init_props = defaultProps.init[itemType],\n is_ignoreProps = defaultProps.isIgnore[itemType] || 0,\n is_ignoreRgx = defaultProps.isIgnoreRgx[itemType] || 0,\n toString_props = defaultProps.toString[itemType] || 0;\n function IData() {\n setProps.call(this, init_props);\n }\n IData.prototype.getItem = function () {\n return item;\n };\n IData.prototype.withClientHints = function () {\n if (!NAVIGATOR_UADATA) {\n return item.parseCH().get();\n }\n return NAVIGATOR_UADATA.getHighEntropyValues(CH_ALL_VALUES).then(function (res) {\n return item.setCH(new UACHData(res, false)).parseCH().get();\n });\n };\n IData.prototype.withFeatureCheck = function () {\n return item.detectFeature().get();\n };\n if (itemType != UA_RESULT) {\n IData.prototype.is = function (strToCheck) {\n var is = false;\n for (var i in this) {\n if (\n this.hasOwnProperty(i) &&\n !has(is_ignoreProps, i) &&\n lowerize(is_ignoreRgx ? strip(is_ignoreRgx, this[i]) : this[i]) ==\n lowerize(is_ignoreRgx ? strip(is_ignoreRgx, strToCheck) : strToCheck)\n ) {\n is = true;\n if (strToCheck != UNDEF_TYPE) break;\n } else if (strToCheck == UNDEF_TYPE && is) {\n is = !is;\n break;\n }\n }\n return is;\n };\n IData.prototype.toString = function () {\n var str = EMPTY;\n for (var i in toString_props) {\n if (typeof this[toString_props[i]] !== UNDEF_TYPE) {\n str += (str ? ' ' : EMPTY) + this[toString_props[i]];\n }\n }\n return str || UNDEF_TYPE;\n };\n }\n if (!NAVIGATOR_UADATA) {\n IData.prototype.then = function (cb) {\n var that = this;\n var IDataResolve = function () {\n for (var prop in that) {\n if (that.hasOwnProperty(prop)) {\n this[prop] = that[prop];\n }\n }\n };\n IDataResolve.prototype = { is: IData.prototype.is, toString: IData.prototype.toString };\n var resolveData = new IDataResolve();\n cb(resolveData);\n return resolveData;\n };\n }\n return new IData();\n };\n function UACHData(uach, isHttpUACH) {\n uach = uach || {};\n setProps.call(this, CH_ALL_VALUES);\n if (isHttpUACH) {\n setProps.call(this, [\n [BRANDS, itemListToArray(uach[CH_HEADER])],\n [FULLVERLIST, itemListToArray(uach[CH_HEADER_FULL_VER_LIST])],\n [MOBILE, /\\?1/.test(uach[CH_HEADER_MOBILE])],\n [MODEL, stripQuotes(uach[CH_HEADER_MODEL])],\n [PLATFORM, stripQuotes(uach[CH_HEADER_PLATFORM])],\n [PLATFORMVER, stripQuotes(uach[CH_HEADER_PLATFORM_VER])],\n [ARCHITECTURE, stripQuotes(uach[CH_HEADER_ARCH])],\n [FORMFACTOR, itemListToArray(uach[CH_HEADER_FORM_FACTOR])],\n [BITNESS, stripQuotes(uach[CH_HEADER_BITNESS])]\n ]);\n } else {\n for (var prop in uach) {\n if (this.hasOwnProperty(prop) && typeof uach[prop] !== UNDEF_TYPE) this[prop] = uach[prop];\n }\n }\n }\n function UAItem(itemType, ua, rgxMap, uaCH) {\n this.get = function (prop) {\n if (!prop) return this.data;\n return this.data.hasOwnProperty(prop) ? this.data[prop] : undefined;\n };\n this.set = function (prop, val) {\n this.data[prop] = val;\n return this;\n };\n this.setCH = function (ch) {\n this.uaCH = ch;\n return this;\n };\n this.detectFeature = function () {\n if (NAVIGATOR && NAVIGATOR.userAgent == this.ua) {\n switch (this.itemType) {\n case UA_BROWSER:\n if (NAVIGATOR.brave && typeof NAVIGATOR.brave.isBrave == FUNC_TYPE) {\n this.set(NAME, 'Brave');\n }\n break;\n case UA_DEVICE:\n if (!this.get(TYPE) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[MOBILE]) {\n this.set(TYPE, MOBILE);\n }\n if (\n this.get(MODEL) == 'Macintosh' &&\n NAVIGATOR &&\n typeof NAVIGATOR.standalone !== UNDEF_TYPE &&\n NAVIGATOR.maxTouchPoints &&\n NAVIGATOR.maxTouchPoints > 2\n ) {\n this.set(MODEL, 'iPad').set(TYPE, TABLET);\n }\n break;\n case UA_OS:\n if (!this.get(NAME) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[PLATFORM]) {\n this.set(NAME, NAVIGATOR_UADATA[PLATFORM]);\n }\n break;\n case UA_RESULT:\n var data = this.data;\n var detect = function (itemType) {\n return data[itemType].getItem().detectFeature().get();\n };\n this.set(UA_BROWSER, detect(UA_BROWSER))\n .set(UA_CPU, detect(UA_CPU))\n .set(UA_DEVICE, detect(UA_DEVICE))\n .set(UA_ENGINE, detect(UA_ENGINE))\n .set(UA_OS, detect(UA_OS));\n }\n }\n return this;\n };\n this.parseUA = function () {\n if (this.itemType != UA_RESULT) {\n rgxMapper.call(this.data, this.ua, this.rgxMap);\n }\n if (this.itemType == UA_BROWSER) {\n this.set(MAJOR, majorize(this.get(VERSION)));\n }\n return this;\n };\n this.parseCH = function () {\n var uaCH = this.uaCH,\n rgxMap = this.rgxMap;\n switch (this.itemType) {\n case UA_BROWSER:\n var brands = uaCH[FULLVERLIST] || uaCH[BRANDS];\n if (brands) {\n for (var i in brands) {\n var brandName = brands[i].brand,\n brandVersion = brands[i].version;\n if (!/not.a.brand/i.test(brandName) && (i < 1 || /chromi/i.test(this.get(NAME)))) {\n this.set(NAME, strip(GOOGLE + ' ', brandName))\n .set(VERSION, brandVersion)\n .set(MAJOR, majorize(brandVersion));\n }\n }\n }\n break;\n case UA_CPU:\n var archName = uaCH[ARCHITECTURE];\n if (archName) {\n if (archName && uaCH[BITNESS] == '64') archName += '64';\n rgxMapper.call(this.data, archName + ';', rgxMap);\n }\n break;\n case UA_DEVICE:\n if (uaCH[MOBILE]) {\n this.set(TYPE, MOBILE);\n }\n if (uaCH[MODEL]) {\n this.set(MODEL, uaCH[MODEL]);\n }\n if (uaCH[FORMFACTOR]) {\n var ff;\n if (typeof uaCH[FORMFACTOR] !== 'string') {\n var idx = 0;\n while (!ff && idx < uaCH[FORMFACTOR].length) {\n ff = strMapper(uaCH[FORMFACTOR][idx++], formFactorMap);\n }\n } else {\n ff = strMapper(uaCH[FORMFACTOR], formFactorMap);\n }\n this.set(TYPE, ff);\n }\n break;\n case UA_OS:\n var osName = uaCH[PLATFORM];\n if (osName) {\n var osVersion = uaCH[PLATFORMVER];\n if (osName == WINDOWS) osVersion = parseInt(majorize(osVersion), 10) >= 13 ? '11' : '10';\n this.set(NAME, osName).set(VERSION, osVersion);\n }\n break;\n case UA_RESULT:\n var data = this.data;\n var parse = function (itemType) {\n return data[itemType].getItem().setCH(uaCH).parseCH().get();\n };\n this.set(UA_BROWSER, parse(UA_BROWSER))\n .set(UA_CPU, parse(UA_CPU))\n .set(UA_DEVICE, parse(UA_DEVICE))\n .set(UA_ENGINE, parse(UA_ENGINE))\n .set(UA_OS, parse(UA_OS));\n }\n return this;\n };\n setProps.call(this, [\n ['itemType', itemType],\n ['ua', ua],\n ['uaCH', uaCH],\n ['rgxMap', rgxMap],\n ['data', createIData(this, itemType)]\n ]);\n return this;\n }\n function UAParser(ua, extensions, headers) {\n if (typeof ua === OBJ_TYPE) {\n if (isExtensions(ua)) {\n if (typeof extensions === OBJ_TYPE) {\n headers = extensions;\n }\n extensions = ua;\n } else {\n headers = ua;\n extensions = undefined;\n }\n ua = undefined;\n } else if (typeof ua === STR_TYPE && !isExtensions(extensions)) {\n headers = extensions;\n extensions = undefined;\n }\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions, headers).getResult();\n }\n var userAgent =\n typeof ua === STR_TYPE\n ? ua\n : NAVIGATOR && NAVIGATOR.userAgent\n ? NAVIGATOR.userAgent\n : headers && headers[USER_AGENT]\n ? headers[USER_AGENT]\n : EMPTY,\n httpUACH = new UACHData(headers, true),\n regexMap = extensions ? extend(defaultRegexes, extensions) : defaultRegexes,\n createItemFunc = function (itemType) {\n if (itemType == UA_RESULT) {\n return function () {\n return new UAItem(itemType, userAgent, regexMap, httpUACH)\n .set('ua', userAgent)\n .set(UA_BROWSER, this.getBrowser())\n .set(UA_CPU, this.getCPU())\n .set(UA_DEVICE, this.getDevice())\n .set(UA_ENGINE, this.getEngine())\n .set(UA_OS, this.getOS())\n .get();\n };\n } else {\n return function () {\n return new UAItem(itemType, userAgent, regexMap[itemType], httpUACH).parseUA().get();\n };\n }\n };\n setProps\n .call(this, [\n ['getBrowser', createItemFunc(UA_BROWSER)],\n ['getCPU', createItemFunc(UA_CPU)],\n ['getDevice', createItemFunc(UA_DEVICE)],\n ['getEngine', createItemFunc(UA_ENGINE)],\n ['getOS', createItemFunc(UA_OS)],\n ['getResult', createItemFunc(UA_RESULT)],\n [\n 'getUA',\n function () {\n return userAgent;\n }\n ],\n [\n 'setUA',\n function (ua) {\n if (typeof ua === STR_TYPE) userAgent = ua.length > UA_MAX_LENGTH ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n }\n ]\n ])\n .setUA(userAgent);\n return this;\n }\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n if (typeof exports !== UNDEF_TYPE) {\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n if (typeof define === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n window.UAParser = UAParser;\n }\n }\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n})(typeof window === 'object' ? window : this);\n"],"names":["require_ua_parser_004","__commonJSMin","exports","module","window","undefined","LIBVERSION","EMPTY","UNKNOWN","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MAJOR","MODEL","NAME","TYPE","VENDOR","VERSION","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","USER_AGENT","UA_MAX_LENGTH","BRANDS","FORMFACTOR","FULLVERLIST","PLATFORM","PLATFORMVER","BITNESS","CH_HEADER","CH_HEADER_FULL_VER_LIST","CH_HEADER_ARCH","CH_HEADER_BITNESS","CH_HEADER_FORM_FACTOR","CH_HEADER_MOBILE","CH_HEADER_MODEL","CH_HEADER_PLATFORM","CH_HEADER_PLATFORM_VER","CH_ALL_VALUES","UA_BROWSER","UA_CPU","UA_DEVICE","UA_ENGINE","UA_OS","UA_RESULT","AMAZON","APPLE","ASUS","BLACKBERRY","GOOGLE","HUAWEI","LG","MICROSOFT","MOTOROLA","SAMSUNG","SHARP","SONY","XIAOMI","ZEBRA","PREFIX_MOBILE","SUFFIX_BROWSER","CHROME","EDGE","FIREFOX","OPERA","FACEBOOK","WINDOWS","NAVIGATOR","NAVIGATOR_UADATA","extend","regexes","extensions","mergedRegexes","i","enumerize","arr","enums","has","str1","str2","lowerize","isExtensions","obj","prop","itemListToArray","header","tokens","strip","token","trim","str","majorize","version","setProps","propName","pattern","stripQuotes","val","len","rgxMapper","ua","arrays","j","k","p","q","matches","match","regex","props","strMapper","map","windowsVersionMap","formFactorMap","defaultRegexes","defaultProps","createIData","item","itemType","init_props","is_ignoreProps","is_ignoreRgx","toString_props","IData","res","UACHData","strToCheck","is","cb","that","IDataResolve","resolveData","uach","isHttpUACH","UAItem","rgxMap","uaCH","ch","data","detect","brands","brandName","brandVersion","archName","ff","idx","osName","osVersion","parse","UAParser","headers","userAgent","httpUACH","regexMap","createItemFunc","$","parser","result","this"],"mappings":"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"}