mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 07:58:45 +03:00
9 lines
16 KiB
JavaScript
9 lines
16 KiB
JavaScript
/*!@license
|
|
* UAParser.js v0.7.25
|
|
* Lightweight JavaScript-based User-Agent string parser
|
|
* https://github.com/faisalman/ua-parser-js
|
|
*
|
|
* Copyright © 2012-2021 Faisal Salman <f@faisalman.com>
|
|
* Licensed under MIT License
|
|
*/
|
|
!function(r,u){"use strict";var c="function",i="undefined",b="object",s="model",e="name",o="type",a="vendor",n="version",d="architecture",t="console",w="mobile",l="tablet",m="smarttv",p="wearable",h={extend:function(i,s){var e,o={};for(e in i)s[e]&&s[e].length%2==0?o[e]=s[e].concat(i[e]):o[e]=i[e];return o},has:function(i,s){return"string"==typeof i&&-1!==s.toLowerCase().indexOf(i.toLowerCase())},lowerize:function(i){return i.toLowerCase()},major:function(i){return"string"==typeof i?i.replace(/[^\d\.]/g,"").split(".")[0]:u},trim:function(i){return i.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},g={rgx:function(i,s){for(var e,o,r,a,n,d=0;d<s.length&&!a;){for(var t=s[d],w=s[d+1],l=e=0;l<t.length&&!a;)if(a=t[l++].exec(i))for(o=0;o<w.length;o++)n=a[++e],typeof(r=w[o])==b&&0<r.length?2==r.length?typeof r[1]==c?this[r[0]]=r[1].call(this,n):this[r[0]]=r[1]:3==r.length?typeof r[1]!=c||r[1].exec&&r[1].test?this[r[0]]=n?n.replace(r[1],r[2]):u:this[r[0]]=n?r[1].call(this,n,r[2]):u:4==r.length&&(this[r[0]]=n?r[3].call(this,n.replace(r[1],r[2])):u):this[r]=n||u;d+=2}},str:function(i,s){for(var e in s)if(typeof s[e]==b&&0<s[e].length){for(var o=0;o<s[e].length;o++)if(h.has(s[e][o],i))return"?"===e?u:e}else if(h.has(s[e],i))return"?"===e?u:e;return i}},f={browser:{oldsafari:{version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}}},device:{amazon:{model:{"Fire Phone":["SD","KF"]}},sprint:{model:{"Evo Shift 4G":"7373KT"},vendor:{HTC:"APA",Sprint:"Sprint"}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"}}}},v={browser:[[/(opera\smini)\/([\w\.-]+)/i,/(opera\s[mobiletab]{3,6}).+version\/([\w\.-]+)/i,/(opera).+version\/([\w\.]+)/i,/(opera)[\/\s]+([\w\.]+)/i],[e,n],[/(opios)[\/\s]+([\w\.]+)/i],[[e,"Opera Mini"],n],[/\s(opr)\/([\w\.]+)/i],[[e,"Opera"],n],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|instagram)[\/\s]?([\w\.]*)/i,/(avant\s|iemobile|slim)(?:browser)?[\/\s]?([\w\.]*)/i,/(bidubrowser|baidubrowser)[\/\s]?([\w\.]+)/i,/(?:ms|\()(ie)\s([\w\.]+)/i,/(rekonq)\/([\w\.]*)/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\/([\w\.-]+)/i,/(puffin|brave|whale|qqbrowserlite|qq)\/([\w\.]+)/i],[e,n],[/(konqueror)\/([\w\.]+)/i],[[e,"Konqueror"],n],[/(trident).+rv[:\s]([\w\.]{1,9}).+like\sgecko/i],[[e,"IE"],n],[/(edge|edgios|edga|edg)\/((\d+)?[\w\.]+)/i],[[e,"Edge"],n],[/(yabrowser)\/([\w\.]+)/i],[[e,"Yandex"],n],[/(Avast)\/([\w\.]+)/i],[[e,"Avast Secure Browser"],n],[/(AVG)\/([\w\.]+)/i],[[e,"AVG Secure Browser"],n],[/(focus)\/([\w\.]+)/i],[[e,"Firefox Focus"],n],[/(opt)\/([\w\.]+)/i],[[e,"Opera Touch"],n],[/((?:[\s\/])uc?\s?browser|(?:juc.+)ucweb)[\/\s]?([\w\.]+)/i],[[e,"UCBrowser"],n],[/(comodo_dragon)\/([\w\.]+)/i],[[e,/_/g," "],n],[/((?:windowswechat)? qbcore)\/([\w\.]+).*(?:windowswechat)?/i],[[e,"WeChat(Win) Desktop"],n],[/(micromessenger)\/([\w\.]+)/i],[[e,"WeChat"],n],[/m?(qqbrowser|baiduboxapp|2345Explorer)[\/\s]?([\w\.]+)/i],[e,n],[/(MetaSr)[\/\s]?([\w\.]+)/i],[e],[/(LBBROWSER)/i],[e],[/(weibo)__([\d\.]+)/i],[e,n],[/xiaomi\/miuibrowser\/([\w\.]+)/i],[n,[e,"MIUI Browser"]],[/;fbav\/([\w\.]+);/i],[n,[e,"Facebook"]],[/FBAN\/FBIOS|FB_IAB\/FB4A/i],[[e,"Facebook"]],[/safari\s(line)\/([\w\.]+)/i,/droid.+(line)\/([\w\.]+)\/iab/i],[e,n],[/headlesschrome(?:\/([\w\.]+)|\s)/i],[n,[e,"Chrome Headless"]],[/\swv\).+(chrome)\/([\w\.]+)/i],[[e,/(.+)/,"$1 WebView"],n],[/((?:oculus|samsung)browser)\/([\w\.]+)/i],[[e,/(.+(?:g|us))(.+)/,"$1 $2"],n],[/droid.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)*/i],[n,[e,"Android Browser"]],[/(coc_coc_browser)\/([\w\.]+)/i],[[e,"Coc Coc"],n],[/(sailfishbrowser)\/([\w\.]+)/i],[[e,"Sailfish Browser"],n],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i],[e,n],[/(dolfin)\/([\w\.]+)/i],[[e,"Dolphin"],n],[/(qihu|qhbrowser|qihoobrowser|360browser)/i],[[e,"360 Browser"]],[/((?:android.+)crmo|crios)\/([\w\.]+)/i],[[e,"Chrome"],n],[/(coast)\/([\w\.]+)/i],[[e,"Opera Coast"],n],[/fxios\/([\w\.-]+)/i],[n,[e,"Firefox"]],[/version\/([\w\.]+)\s.*mobile\/\w+\s(safari)/i],[n,[e,"Mobile Safari"]],[/version\/([\w\.]+)\s.*(mobile\s?safari|safari)/i],[n,e],[/webkit.+?(gsa)\/([\w\.]+)\s.*(mobile\s?safari|safari)(\/[\w\.]+)/i],[[e,"GSA"],n],[/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[e,[n,g.str,f.browser.oldsafari.version]],[/(webkit|khtml)\/([\w\.]+)/i],[e,n],[/(navigator|netscape)\/([\w\.-]+)/i],[[e,"Netscape"],n],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([\w\.-]+)$/i,/(firefox)\/([\w\.]+)\s[\w\s\-]+\/[\w\.]+$/i,/(mozilla)\/([\w\.]+)\s.+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\/\s]?([\w\.]+)/i,/(links)\s\(([\w\.]+)/i,/(gobrowser)\/?([\w\.]*)/i,/(ice\s?browser)\/v?([\w\._]+)/i,/(mosaic)[\/\s]([\w\.]+)/i],[e,n]],cpu:[[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i],[[d,"amd64"]],[/(ia32(?=;))/i],[[d,h.lowerize]],[/((?:i[346]|x)86)[;\)]/i],[[d,"ia32"]],[/windows\s(ce|mobile);\sppc;/i],[[d,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i],[[d,/ower/,"",h.lowerize]],[/(sun4\w)[;\)]/i],[[d,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+[;l]))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i],[[d,h.lowerize]]],device:[[/\((ipad|playbook);[\w\s\),;-]+(rim|apple)/i],[s,a,[o,l]],[/applecoremedia\/[\w\.]+ \((ipad)/],[s,[a,"Apple"],[o,l]],[/(apple\s{0,1}tv)/i],[[s,"Apple TV"],[a,"Apple"],[o,m]],[/(archos)\s(gamepad2?)/i,/(hp).+(touchpad)/i,/(hp).+(tablet)/i,/(kindle)\/([\w\.]+)/i,/\s(nook)[\w\s]+build\/(\w+)/i,/(dell)\s(strea[kpr\s\d]*[\dko])/i],[a,s,[o,l]],[/(alexa)webm/i,/(kf[A-z]+)(\sbuild\/|\)).+silk\//i],[s,[a,"Amazon"],[o,l]],[/(sd|kf)[0349hijorstuw]+(\sbuild\/|\)).+silk\//i],[[s,g.str,f.device.amazon.model],[a,"Amazon"],[o,w]],[/droid.+aft([\w])(\sbuild\/|\))/i],[s,[a,"Amazon"],[o,m]],[/\((ip(?:hone|od)[\s\w]*);/i],[s,[a,"Apple"],[o,w]],[/(blackberry)[\s-]?(\w+)/i,/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\s_-]?([\w-]*)/i,/(hp)\s([\w\s]+\w)/i,/(asus)-?(\w+)/i],[a,s,[o,w]],[/\(bb10;\s(\w+)/i],[s,[a,"BlackBerry"],[o,w]],[/droid.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7|padfone|p00c)/i],[s,[a,"Asus"],[o,l]],[/sony\stablet\s[ps]\sbuild\//i,/(?:sony)?sgp\w+(?:\sbuild\/|\))/i],[[s,"Xperia Tablet"],[a,"Sony"],[o,l]],[/droid.+\s([c-g]\d{4}|so[-l]\w+|xq-a\w[4-7][12])(?=\sbuild\/|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[s,[a,"Sony"],[o,w]],[/\s(ouya)\s/i,/(nintendo)\s([wids3utch]+)/i],[a,s,[o,t]],[/droid.+;\s(shield)\sbuild/i],[s,[a,"Nvidia"],[o,t]],[/(playstation\s[345portablevi]+)/i],[s,[a,"Sony"],[o,t]],[/(sprint\s(\w+))/i],[[a,g.str,f.device.sprint.vendor],[s,g.str,f.device.sprint.model],[o,w]],[/(htc)[;_\s-]{1,2}([\w\s]+(?=\)|\sbuild)|\w+)/i,/(zte)-(\w*)/i,/(alcatel|geeksphone|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]*)/i],[a,[s,/_/g," "],[o,w]],[/(nexus\s9)/i],[s,[a,"HTC"],[o,l]],[/d\/huawei([\w\s-]+)[;\)]/i,/droid.+\s(nexus\s6p|vog-[at]?l\d\d|ane-[at]?l[x\d]\d|eml-a?l\d\da?|lya-[at]?l\d[\dc]|clt-a?l\d\di?)/i,/droid.+\s((?:A(?:GS2?|KA|LP|N[AE]|QM|RE|SK|TH)|B(?:A(?:C|H2)|G2|KL|LA|MH|Z[AKT])|C(?:AZ|DY|LT|OL|[MOR]R)|DUK|E(?:BG|DI|L[ES]|ML|V[AR])|FRD|G(?:LK|RA)|H(?:D[LN]|MA|LK|RY|WI)|INE|J(?:DN2|MM|NY|SN)|K(?:NT|OB|SA)|L(?:IO|LD|ON|[RY]A)|M(?:AR|ED|[HL]A|ON|RX|T7)|N(?:EO|TS|XT)|OXF|P(?:AR|CT|IC|LK|RA)|R(?:IO|VL)|S(?:C[ML]|EA|HT|PN|TF)|T(?:A[HS]|NY)|V(?:[CI]E|KY|OG|RD)|W(?:AS|LZ)|Y(?:635|AL))-[ATU][LN][01259][019])[;\)\s]/i],[s,[a,"Huawei"],[o,w]],[/droid.+(bah2?-a?[lw]\d{2})/i],[s,[a,"Huawei"],[o,l]],[/(microsoft);\s(lumia[\s\w]+)/i],[a,s,[o,w]],[/[\s\(;](xbox(?:\sone)?)[\s\);]/i],[s,[a,"Microsoft"],[o,t]],[/(kin\.[onetw]{3})/i],[[s,/\./g," "],[a,"Microsoft"],[o,w]],[/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?:?(\s4g)?)[\w\s]+build\//i,/\smot[\s-](\w*)/i,/(moto[\s\w\(\)]+(?=\sbuild|\)))/i,/(XT\d{3,4}) build\//i,/(nexus\s6)/i],[s,[a,"Motorola"],[o,w]],[/droid.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i],[s,[a,"Motorola"],[o,l]],[/hbbtv\/\d+\.\d+\.\d+\s+\([\w\s]*;\s*(\w[^;]*);([^;]*)/i],[[a,h.trim],[s,h.trim],[o,m]],[/hbbtv.+maple;(\d+)/i],[[s,/^/,"SmartTV"],[a,"Samsung"],[o,m]],[/\(dtv[\);].+(aquos)/i],[s,[a,"Sharp"],[o,m]],[/droid.+((sch-i[89]0\d|shw-m380s|SM-P605|SM-P610|SM-P587|gt-p\d{4}|gt-n\d+|sgh-t8[56]9|nexus 10))/i,/((SM-T\w+))/i],[[a,"Samsung"],s,[o,l]],[/smart-tv.+(samsung)/i],[a,[o,m],s],[/((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-\w[\w\d]+))/i,/\s(sam)(?:sung)[\s-]([\w-]+)/i,/sec-((sgh\w+))/i],[[a,"Samsung"],s,[o,w]],[/sie-(\w*)/i],[s,[a,"Siemens"],[o,w]],[/(maemo|nokia).*(n900|lumia\s\d+)/i,/(nokia)[\s_-]?([\w\.-]*)/i],[[a,"Nokia"],s,[o,w]],[/droid[x\d\.\s;]+\s([ab][1-7]\-?[0178a]\d\d?)/i],[s,[a,"Acer"],[o,l]],[/droid.+([vl]k\-?\d{3})\s+build/i],[s,[a,"LG"],[o,l]],[/droid\s3\.[\s\w;-]{10}(lg?)-([06cv9]{3,4})/i],[[a,"LG"],s,[o,l]],[/linux;\snetcast.+smarttv/i,/lg\snetcast\.tv-201\d/i],[[a,"LG"],s,[o,m]],[/(nexus\s[45])/i,/lg[e;\s\/-]+(\w*)/i,/droid.+lg(\-?[\d\w]+)\s+build/i],[s,[a,"LG"],[o,w]],[/(lenovo)\s?(s(?:5000|6000)(?:[\w-]+)|tab(?:[\s\w]+)|[\w-]+)/i],[a,s,[o,l]],[/droid.+(ideatab[a-z0-9\-\s]+)/i],[s,[a,"Lenovo"],[o,l]],[/(lenovo)[_\s-]?([\w-]+)/i],[a,s,[o,w]],[/linux;.+((jolla));/i],[a,s,[o,w]],[/((pebble))app\/[\d\.]+\s/i],[a,s,[o,p]],[/droid.+;\s(oppo)\s?([\w\s]+)\sbuild/i],[a,s,[o,w]],[/crkey/i],[[s,"Chromecast"],[a,"Google"],[o,m]],[/droid.+;\s(glass)\s\d/i],[s,[a,"Google"],[o,p]],[/droid.+;\s(pixel c)[\s)]/i],[s,[a,"Google"],[o,l]],[/droid.+;\s(pixel( [2-9]a?)?( xl)?)[\s)]/i],[s,[a,"Google"],[o,w]],[/droid.+;\s(\w+)\s+build\/hm\1/i,/droid.+(hm[\s\-_]?note?[\s_]?(?:\d\w)?)\sbuild/i,/droid.+(redmi[\s\-_]?(?:note|k)?(?:[\s_]?[\w\s]+))(?:\sbuild|\))/i,/droid.+(mi[\s\-_]?(?:a\d|one|one[\s_]plus|note lte)?[\s_]?(?:\d?\w?)[\s_]?(?:plus)?)\sbuild/i],[[s,/_/g," "],[a,"Xiaomi"],[o,w]],[/droid.+(mi[\s\-_]?(?:pad)(?:[\s_]?[\w\s]+))(?:\sbuild|\))/i],[[s,/_/g," "],[a,"Xiaomi"],[o,l]],[/droid.+;\s(m[1-5]\snote)\sbuild/i],[s,[a,"Meizu"],[o,w]],[/(mz)-([\w-]{2,})/i],[[a,"Meizu"],s,[o,w]],[/droid.+a000(1)\s+build/i,/droid.+oneplus\s(a\d{4})[\s)]/i],[s,[a,"OnePlus"],[o,w]],[/droid.+[;\/]\s*(RCT[\d\w]+)\s+build/i],[s,[a,"RCA"],[o,l]],[/droid.+[;\/\s](Venue[\d\s]{2,7})\s+build/i],[s,[a,"Dell"],[o,l]],[/droid.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i],[s,[a,"Verizon"],[o,l]],[/droid.+[;\/]\s+(Barnes[&\s]+Noble\s+|BN[RT])(\S(?:.*\S)?)\s+build/i],[[a,"Barnes & Noble"],s,[o,l]],[/droid.+[;\/]\s+(TM\d{3}.*\b)\s+build/i],[s,[a,"NuVision"],[o,l]],[/droid.+;\s(k88)\sbuild/i],[s,[a,"ZTE"],[o,l]],[/droid.+;\s(nx\d{3}j)\sbuild/i],[s,[a,"ZTE"],[o,w]],[/droid.+[;\/]\s*(gen\d{3})\s+build.*49h/i],[s,[a,"Swiss"],[o,w]],[/droid.+[;\/]\s*(zur\d{3})\s+build/i],[s,[a,"Swiss"],[o,l]],[/droid.+[;\/]\s*((Zeki)?TB.*\b)\s+build/i],[s,[a,"Zeki"],[o,l]],[/(android).+[;\/]\s+([YR]\d{2})\s+build/i,/droid.+[;\/]\s+(Dragon[\-\s]+Touch\s+|DT)(\w{5})\sbuild/i],[[a,"Dragon Touch"],s,[o,l]],[/droid.+[;\/]\s*(NS-?\w{0,9})\sbuild/i],[s,[a,"Insignia"],[o,l]],[/droid.+[;\/]\s*((NXA|Next)-?\w{0,9})\s+build/i],[s,[a,"NextBook"],[o,l]],[/droid.+[;\/]\s*(Xtreme\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i],[[a,"Voice"],s,[o,w]],[/droid.+[;\/]\s*(LVTEL\-)?(V1[12])\s+build/i],[[a,"LvTel"],s,[o,w]],[/droid.+;\s(PH-1)\s/i],[s,[a,"Essential"],[o,w]],[/droid.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i],[s,[a,"Envizen"],[o,l]],[/droid.+[;\/]\s*(Le[\s\-]+Pan)[\s\-]+(\w{1,9})\s+build/i],[a,s,[o,l]],[/droid.+[;\/]\s*(Trio[\s\w\-\.]+)\s+build/i],[s,[a,"MachSpeed"],[o,l]],[/droid.+[;\/]\s*(Trinity)[\-\s]*(T\d{3})\s+build/i],[a,s,[o,l]],[/droid.+[;\/]\s*TU_(1491)\s+build/i],[s,[a,"Rotor"],[o,l]],[/droid.+(Gigaset)[\s\-]+(Q\w{1,9})\s+build/i],[a,s,[o,l]],[/[\s\/\(](android\stv|smart-?tv)[;\)\s]/i],[[o,m]],[/droid .+?; ([^;]+?)(?: build|\) applewebkit).+? mobile safari/i],[s,[o,w]],[/droid .+?;\s([^;]+?)(?: build|\) applewebkit).+?(?! mobile) safari/i],[s,[o,l]],[/\s(tablet|tab)[;\/]/i,/\s(mobile)(?:[;\/]|\ssafari)/i],[[o,h.lowerize],a,s],[/(android[\w\.\s\-]{0,9});.+build/i],[s,[a,"Generic"]],[/(phone)/i],[[o,w]]],engine:[[/windows.+\sedge\/([\w\.]+)/i],[n,[e,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[n,[e,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[e,n],[/rv\:([\w\.]{1,9}).+(gecko)/i],[n,e]],os:[[/(xbox);\s+xbox\s([^\);]+)/i,/microsoft\s(windows)\s(vista|xp)/i],[e,n],[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*)[\s\/]?([\d\.\s\w]*)/i,/(windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[e,[n,g.str,f.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[e,"Windows"],[n,g.str,f.os.windows.version]],[/\((bb)(10);/i],[[e,"BlackBerry"],n],[/(blackberry)\w*\/?([\w\.]*)/i,/(tizen|kaios)[\/\s]([\w\.]+)/i,/(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|sailfish|contiki)[\/\s-]?([\w\.]*)/i],[e,n],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]*)/i],[[e,"Symbian"],n],[/\((series40);/i],[e],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[e,"Firefox OS"],n],[/crkey\/([\d\.]+)/i],[n,[e,"Chromecast"]],[/(nintendo|playstation)\s([wids345portablevuch]+)/i,/(mint)[\/\s\(]?(\w*)/i,/(mageia|vectorlinux)[;\s]/i,/(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|(?=\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?(?!chrom)([\w\.-]*)/i,/(hurd|linux)\s?([\w\.]*)/i,/(gnu)\s?([\w\.]*)/i],[e,n],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[e,"Chromium OS"],n],[/(sunos)\s?([\w\.\d]*)/i],[[e,"Solaris"],n],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]*)/i],[e,n],[/(haiku)\s(\w+)/i],[e,n],[/cfnetwork\/.+darwin/i,/ip[honead]{2,4}(?:.*os\s([\w]+)\slike\smac|;\sopera)/i],[[n,/_/g,"."],[e,"iOS"]],[/(mac\sos\sx)\s?([\w\s\.]*)/i,/(macintosh|mac(?=_powerpc)\s)/i],[[e,"Mac OS"],[n,/_/g,"."]],[/((?:open)?solaris)[\/\s-]?([\w\.]*)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.])*/i,/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms|fuchsia)/i,/(unix)\s?([\w\.]*)/i],[e,n]]},x=function(i,s){if("object"==typeof i&&(s=i,i=u),!(this instanceof x))return new x(i,s).getResult();var e=i||(void 0!==r&&r.navigator&&r.navigator.userAgent?r.navigator.userAgent:""),o=s?h.extend(v,s):v;return this.getBrowser=function(){var i={name:u,version:u};return g.rgx.call(i,e,o.browser),i.major=h.major(i.version),i},this.getCPU=function(){var i={architecture:u};return g.rgx.call(i,e,o.cpu),i},this.getDevice=function(){var i={vendor:u,model:u,type:u};return g.rgx.call(i,e,o.device),i},this.getEngine=function(){var i={name:u,version:u};return g.rgx.call(i,e,o.engine),i},this.getOS=function(){var i={name:u,version:u};return g.rgx.call(i,e,o.os),i},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return e},this.setUA=function(i){return e=i,this},this};x.VERSION="0.7.25",x.BROWSER={NAME:e,MAJOR:"major",VERSION:n},x.CPU={ARCHITECTURE:d},x.DEVICE={MODEL:s,VENDOR:a,TYPE:o,CONSOLE:t,MOBILE:w,SMARTTV:m,TABLET:l,WEARABLE:p,EMBEDDED:"embedded"},x.ENGINE={NAME:e,VERSION:n},x.OS={NAME:e,VERSION:n},typeof exports!=i?(typeof module!=i&&module.exports&&(exports=module.exports=x),exports.UAParser=x):"function"==typeof define&&define.amd?define(function(){return x}):void 0!==r&&(r.UAParser=x);var k,A=void 0!==r&&(r.jQuery||r.Zepto);A&&!A.ua&&(k=new x,A.ua=k.getResult(),A.ua.get=function(){return k.getUA()},A.ua.set=function(i){k.setUA(i);var s,e=k.getResult();for(s in e)A.ua[s]=e[s]})}("object"==typeof window?window:this); |