@oila/0account 3.4.6 → 3.4.7

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.
@@ -1 +1 @@
1
- {"file":"zero-account.js","mappings":"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","names":["undefined","this","DEFAULT_CALLBACK_URL","ZeroAccount","UAParser","uuidv4","utilsURL.appendToParams"],"sources":["node_modules/ua-parser-js/src/ua-parser.js","node_modules/uuid/dist/esm-browser/rng.js","node_modules/uuid/dist/esm-browser/stringify.js","node_modules/uuid/dist/esm-browser/native.js","node_modules/uuid/dist/esm-browser/v4.js","src/utils/utils.ts","src/utils/url.js","src/components/zero-account/logo.tsx","src/utils/request.ts","src/components/zero-account/websocket.ts","src/components/zero-account/zero-account.css?tag=zero-account&encapsulation=shadow","src/components/zero-account/zero-account.tsx"],"sourcesContent":["/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v1.0.35\n Copyright © 2012-2021 Faisal Salman <f@faisalman.com>\n MIT License *//*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment. \n Demo : https://faisalman.github.io/ua-parser-js\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '1.0.35',\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 UA_MAX_LENGTH = 350;\n\n var AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n BROWSER = 'Browser',\n CHROME = 'Chrome',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n OPERA = 'Opera',\n SAMSUNG = 'Samsung',\n SHARP = 'Sharp',\n SONY = 'Sony',\n VIERA = 'Viera',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n FACEBOOK = 'Facebook',\n CHROMIUM_OS = 'Chromium OS',\n MAC_OS = 'Mac OS';\n\n ///////////\n // Helper\n //////////\n\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\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 return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\n },\n lowerize = function (str) {\n return str.toLowerCase();\n },\n majorize = function (version) {\n return typeof(version) === STR_TYPE ? version.replace(/[^\\d\\.]/g, EMPTY).split('.')[0] : undefined;\n },\n trim = function (str, len) {\n if (typeof(str) === STR_TYPE) {\n str = str.replace(/^\\s\\s*/, EMPTY);\n return typeof(len) === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n }\n };\n\n ///////////////\n // Map helper\n //////////////\n\n var rgxMapper = function (ua, arrays) {\n\n var i = 0, j, k, p, q, matches, match;\n\n // loop through all regexes maps\n while (i < arrays.length && !matches) {\n\n var regex = arrays[i], // even sequence (0,2,4,..)\n props = arrays[i + 1]; // odd sequence (1,3,5,..)\n j = k = 0;\n\n // try matching uastring with regexes\n while (j < regex.length && !matches) {\n\n if (!regex[j]) { break; }\n matches = regex[j++].exec(ua);\n\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n // check if given property is actually array\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\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\n strMapper = function (str, map) {\n\n for (var i in map) {\n // check if current value is array\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 str;\n };\n\n ///////////////\n // String map\n //////////////\n\n // Safari < 3.0\n var oldSafariMap = {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n },\n windowsVersionMap = {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : '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\n //////////////\n // Regex map\n /////////////\n\n var regexes = {\n\n browser : [[\n\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, 'Chrome']], [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n ], [VERSION, [NAME, 'Edge']], [\n\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ], [NAME, VERSION], [\n /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [VERSION, [NAME, OPERA+' Mini']], [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [\n\n // Mixed\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n // Trident based\n /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i, // Avant/IEMobile/SlimBrowser\n /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i, // Baidu Browser\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ\n /(heytap|ovi)browser\\/([\\d\\.]+)/i, // Heytap/Ovi\n /(weibo)__([\\d\\.]+)/i // Weibo\n ], [NAME, VERSION], [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ], [VERSION, [NAME, 'UC'+BROWSER]], [\n /microm.+\\bqbcore\\/([\\w\\.]+)/i, // WeChat Desktop for Windows Built-in Browser\n /\\bqbcore\\/([\\w\\.]+).+microm/i\n ], [VERSION, [NAME, 'WeChat(Win) Desktop']], [\n /micromessenger\\/([\\w\\.]+)/i // WeChat\n ], [VERSION, [NAME, 'WeChat']], [\n /konqueror\\/([\\w\\.]+)/i // Konqueror\n ], [VERSION, [NAME, 'Konqueror']], [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ], [VERSION, [NAME, 'IE']], [\n /ya(?:search)?browser\\/([\\w\\.]+)/i // Yandex\n ], [VERSION, [NAME, 'Yandex']], [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [\n /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ], [VERSION, [NAME, FIREFOX+' Focus']], [\n /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ], [VERSION, [NAME, OPERA+' Touch']], [\n /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ], [VERSION, [NAME, 'Coc Coc']], [\n /dolfin\\/([\\w\\.]+)/i // Dolphin\n ], [VERSION, [NAME, 'Dolphin']], [\n /coast\\/([\\w\\.]+)/i // Opera Coast\n ], [VERSION, [NAME, OPERA+' Coast']], [\n /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI '+BROWSER]], [\n /fxios\\/([-\\w\\.]+)/i // Firefox for iOS\n ], [VERSION, [NAME, FIREFOX]], [\n /\\bqihu|(qi?ho?o?|360)browser/i // 360\n ], [[NAME, '360 '+BROWSER]], [\n /(oculus|samsung|sailfish|huawei)browser\\/([\\w\\.]+)/i\n ], [[NAME, /(.+)/, '$1 '+BROWSER], VERSION], [ // Oculus/Samsung/Sailfish/Huawei Browser\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i // QQBrowser/Baidu App/2345 Browser\n ], [NAME, VERSION], [\n /(metasr)[\\/ ]?([\\w\\.]+)/i, // SouGouBrowser\n /(lbbrowser)/i, // LieBao Browser\n /\\[(linkedin)app\\]/i // LinkedIn App for iOS & Android\n ], [NAME], [\n\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, FACEBOOK], VERSION], [\n /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i, // Kakao App\n /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i, // Naver InApp\n /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(chromium|instagram)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram\n ], [NAME, VERSION], [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ], [VERSION, [NAME, 'GSA']], [\n /musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i // TikTok\n ], [VERSION, [NAME, 'TikTok']], [\n\n /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ], [VERSION, [NAME, CHROME+' Headless']], [\n\n / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, CHROME+' WebView'], VERSION], [\n\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ], [VERSION, [NAME, 'Android '+BROWSER]], [\n\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n /version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, strMapper, oldSafariMap]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ], [VERSION, [NAME, FIREFOX+' Reality']], [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser\n /(links) \\(([\\w\\.]+)/i, // Links\n /panasonic;(viera)/i // Panasonic Viera\n ], [NAME, VERSION], [\n \n /(cobalt)\\/([\\w\\.]+)/i // Cobalt\n ], [NAME, [VERSION, /master.|lts./, \"\"]]\n ],\n\n cpu : [[\n\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, lowerize]], [\n\n /((?:i[346]|x)86)[;\\)]/i // IA32 (x86)\n ], [[ARCHITECTURE, 'ia32']], [\n\n /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i // ARM64\n ], [[ARCHITECTURE, 'arm64']], [\n\n /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ], [[ARCHITECTURE, 'armhf']], [\n\n // PocketPC mistakenly identified as PowerPC\n /windows (ce|mobile); ppc;/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\n\n /(sun4\\w)[;\\)]/i // SPARC\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 // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, lowerize]]\n ],\n\n device : [[\n\n //////////////////////////\n // MOBILES & TABLETS\n /////////////////////////\n\n // Samsung\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,\n /samsung[- ]([-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\n\n // Apple\n /(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i // iPod/iPhone\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n /(macintosh);/i\n ], [MODEL, [VENDOR, APPLE]], [\n\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [\n\n // Huawei\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,\n /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\n\n // Xiaomi\n /\\b(poco[\\w ]+)(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i // Xiaomi Mi\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\n\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\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\n // Vivo\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\n\n // Realme\n /\\b(rmx[12]\\d{3})(?: bui|;|\\))/i\n ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\n\n // Motorola\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 ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\n\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\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 ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\n\n // Lenovo\n /(ideatab[-\\w ]+)/i,\n /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n\n // Nokia\n /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n /nokia[-_ ]?([-\\w\\.]*)/i\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [\n\n // Google\n /(pixel c)\\b/i // Google Pixel C\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\n\n // Sony\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,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\n\n // OnePlus\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i, // Kindle Fire without Silk / Echo Show\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\n\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\n\n // Asus\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\n // HTC\n /(nexus 9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n\n // MIXED\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i, // Asus\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(lenovo)[-_ ]?([-\\w]+)/i, // Lenovo\n /(jolla)/i, // Jolla\n /(oppo) ?([\\w ]+) bui/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /(kobo)\\s(ereader|touch)/i, // Kobo\n /(archos) (gamepad2?)/i, // Archos\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(surface duo)/i // Surface Duo\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\n /(u304aa)/i // AT&T\n ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [\n /\\bsie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n /\\b(rct\\w+) b/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n /\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n /\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [\n /\\b(tm\\d{3}\\w+) b/i\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n /\\b(k88) b/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n /\\b(nx\\d{3}j) b/i // ZTE Nubia\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [\n /\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n /\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n /\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n /\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n /\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [\n /\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n /\\b(ph-1) /i // Essential PH-1\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n /\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n /\\btu_(1491) b/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n /(shield[\\w ]+) b/i // Nvidia Shield Tablets\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [\n /(sprint) (\\w+)/i // Sprint Phones\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\n\n ///////////////////\n // SMARTTVS\n ///////////////////\n\n /smart-tv.+(samsung)/i // Samsung\n ], [VENDOR, [TYPE, SMARTTV]], [\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [\n /(apple) ?tv/i // Apple TV\n ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\n /crkey/i // Google Chromecast\n ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /droid.+aft(\\w)( bui|\\))/i // Fire TV\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\n /\\(dtv[\\);].+(aquos)/i,\n /(aquos-tv[\\w ]+)\\)/i // Sharp\n ], [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],[\n /(bravia[\\w ]+)( bui|\\))/i // Sony\n ], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [\n /(mitv-\\w{5}) bui/i // Xiaomi\n ], [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], [\n /Hbbtv.*(technisat) (.*);/i // TechniSAT\n ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i // SmartTV from Unidentified Vendors\n ], [[TYPE, SMARTTV]], [\n\n ///////////////////\n // CONSOLES\n ///////////////////\n\n /(ouya)/i, // Ouya\n /(nintendo) ([wids3utch]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n /droid.+; (shield) bui/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n /(playstation [345portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\n\n ///////////////////\n // WEARABLES\n ///////////////////\n\n /((pebble))app/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i // Apple Watch\n ], [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]], [\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n /droid.+; (wt63?0{2,3})\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\n /(quest( 2| pro)?)/i // Oculus Quest\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [\n\n ///////////////////\n // EMBEDDED\n ///////////////////\n\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ], [VENDOR, [TYPE, EMBEDDED]], [\n /(aeobc)\\b/i // Echo Dot\n ], [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]], [\n\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n ], [MODEL, [TYPE, MOBILE]], [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n ], [MODEL, [TYPE, TABLET]], [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ], [[TYPE, TABLET]], [\n /(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ], [[TYPE, MOBILE]], [\n /(android[-\\w\\. ]{0,9});.+buil/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, EDGE+'HTML']], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i, // iCab\n /\\b(libweb)/i\n ], [NAME, VERSION], [\n\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows) nt 6\\.2; (arm)/i, // Windows RT\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i, // Windows Phone\n /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i\n ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\n /(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ], [[NAME, 'Windows'], [VERSION, strMapper, windowsVersionMap]], [\n\n // iOS/macOS\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /ios;fbsv\\/([\\d\\.]+)/i,\n /cfnetwork\\/.+darwin/i\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n ], [[NAME, MAC_OS], [VERSION, /_/g, '.']], [\n\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i // Android-x86/HarmonyOS\n ], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i, // Blackberry\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, // Tizen/KaiOS\n /\\((series40);/i // Series 40\n ], [NAME, VERSION], [\n /\\(bb(10);/i // BlackBerry 10\n ], [VERSION, [NAME, BLACKBERRY]], [\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ], [VERSION, [NAME, 'Symbian']], [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ], [VERSION, [NAME, FIREFOX+' OS']], [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n ], [VERSION, [NAME, 'webOS']], [\n /watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i // watchOS\n ], [VERSION, [NAME, 'watchOS']], [\n\n // Google Chromecast\n /crkey\\/([\\d\\.]+)/i // Google Chromecast\n ], [VERSION, [NAME, CHROME+'cast']], [\n /(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i // Chromium OS\n ], [[NAME, CHROMIUM_OS], VERSION],[\n\n // Smart TVs\n /panasonic;(viera)/i, // Panasonic Viera\n /(netrange)mmh/i, // Netrange\n /(nettv)\\/(\\d+\\.[\\w\\.]+)/i, // NetTV\n\n // Console\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\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 // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n /(hurd|linux) ?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) (\\w+)/i // Haiku\n ], [NAME, VERSION], [\n /(sunos) ?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS\n /(unix) ?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n var UAParser = function (ua, extensions) {\n\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _navigator = (typeof window !== UNDEF_TYPE && window.navigator) ? window.navigator : undefined;\n var _ua = ua || ((_navigator && _navigator.userAgent) ? _navigator.userAgent : EMPTY);\n var _uach = (_navigator && _navigator.userAgentData) ? _navigator.userAgentData : undefined;\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n var _isSelfNav = _navigator && _navigator.userAgent == _ua;\n\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser[MAJOR] = majorize(_browser[VERSION]);\n // Brave-specific detection\n if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {\n _browser[NAME] = 'Brave';\n }\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {\n _device[TYPE] = MOBILE;\n }\n // iPadOS-specific detection: identified as Mac, but has some iOS-only properties\n if (_isSelfNav && _device[MODEL] == 'Macintosh' && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {\n _device[MODEL] = 'iPad';\n _device[TYPE] = TABLET;\n }\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n if (_isSelfNav && !_os[NAME] && _uach && _uach.platform != 'Unknown') {\n _os[NAME] = _uach.platform \n .replace(/chrome os/i, CHROMIUM_OS)\n .replace(/macos/i, MAC_OS); // backward compatibility\n }\n return _os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\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\n ///////////\n // Export\n //////////\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (typeof(define) === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n // browser env\n window.UAParser = UAParser;\n }\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\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\n})(typeof window === 'object' ? window : this);\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import { Environment } from '../components/zero-account/enums';\nimport { Build } from '@stencil/core';\n\nexport const format = (appId: string): string => {\n return appId || '';\n}\n\nexport class Logger {\n private readonly environment: Environment;\n constructor(environment: Environment) {\n this.environment = environment;\n }\n log = (...args) => {\n if (this.environment !== 'production' && Build.isDev) {\n console.clear()\n console.log(...args);\n }\n }\n}\n","export function appendToParams(url, getParamsToUpdate) {\n if (typeof getParamsToUpdate !== \"object\") return false;\n\n // remove consecutive duplicate '&' chars from the url\n url = url.replace(/(&)\\1+/g, '&')\n //Note: substr(1) removes first character (getting rid of possible \"?\")\n //\t\t\t(does nothing with empty string)\n let getParams = url.substr(1).split('&');\n\n //avoid extra \"&\" at the beginning if current document.location.search was empty or 1 char\n if ((getParams.length < 1) || ((getParams.length === 1) && (getParams[0] === \"\")))\n getParams = [];\n\n let searchBuffer;\n let found;\n\n for (let k in getParamsToUpdate) {\n if (!getParamsToUpdate.hasOwnProperty(k)) continue;\n\n let key = encodeURIComponent(k);\n let value = encodeURIComponent(getParamsToUpdate[k]);\n\n searchBuffer = [];\n found = false;\n\n let paramsLength = getParams.length - 1\n //from the end to start...\n for (let i = paramsLength; i >= 0; --i) {\n searchBuffer = getParams[i].split('=');\n\n if (searchBuffer[0] === key) {\n //found key!\n getParams[i] = key + '=' + value;\n found = true;\n break;\n }\n }\n\n if (!found) getParams.push(key + '=' + value);\n }\n\n return getParams.join('&');\n}","import { h } from '@stencil/core';\n\nconst Logo = ({ className = '', color = '#7263FA' }) => {\n return (\n <svg\n class={className}\n xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 256 256'>\n <g fill={color} clip-path='url(#a)'>\n <path d='M128 185h57v57h-57zM128 14h57v57h-57zM71 185h57v57H71zM71 14h57v57H71zM14 71h57v57H14zM185 71h57v57h-57zM71 14v57H14l57-57ZM14 128h57v57H14zM185 128h57v57h-57zM14 185h57v57l-57-57ZM185 14l57 57h-57V14Z' />\n </g>\n <defs>\n <clipPath id='a'>\n <path fill='#fff' d='M14 14h228v228H14z' />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nexport default Logo;\n","\nconst send = (url: string, opts, request: XMLHttpRequest, errorCount: number): void => {\n let limit = errorCount\n ? Math.pow(2, errorCount - 1) * opts.startLimit\n : 0;\n limit = limit < opts.maxLimit ? limit : opts.maxLimit\n const pause = Math.random() * limit;\n setTimeout(function () {\n request.open('POST', url, true)\n for (const k in opts.headers) {\n if (Object.prototype.hasOwnProperty.call(opts.headers, k)) {\n request.setRequestHeader(k, opts.headers[k])\n }\n }\n request.send()\n }, pause)\n}\n\ntype Options = {\n startLimit?: number;\n maxLimit?: number;\n enableWithCredentials?: boolean;\n headers?: any\n}\n\nconst xhr = (url: string, opts: Options = {startLimit: 100, maxLimit: 3 * 1000, enableWithCredentials: false}, callback: (v: string) => void): XMLHttpRequest => {\n let errorCount = 0;\n const request = new XMLHttpRequest();\n if (opts.enableWithCredentials) request.withCredentials = true;\n const retry = (): void => send(url, opts, request, ++errorCount);\n request.addEventListener('error', retry);\n request.addEventListener('timeout', retry);\n request.addEventListener('load', () => {\n if (request.status >= 200 && request.status < 300) {\n return callback(request.responseText)\n }\n retry()\n })\n\n send(url, opts, request, errorCount)\n return request;\n}\n\nconst http = {\n send: xhr,\n}\nexport default http;\n","import UAParser from 'ua-parser-js';\nimport { Environment } from './enums';\nimport http from '../../utils/request';\n\nconst DEFAULT_CALLBACK_URL = window.location.origin + '/zero/auth';\nconst API_URL = 'wss://ws.0account.com/ws';\nconst API_URL_STAGING = 'wss://staging.ws.0account.com/ws';\n\nconst PREFIX = '0account';\nconst SESSION_ID = 'session-id';\nconst SESSION_TOKEN = 'session-token';\n\nconst fromWidgetUUIDUpdated = 'from-widget-uuid-updated';\n// const fromWidgetAuthenticationStarted = 'from-widget-authentication-started';\nconst fromWidgetEnsureSession = 'from-widget-ensure-session';\n\nconst toWidgetLogout = 'to-widget-logout';\nconst toWidgetApproved = 'to-widget-approved';\nconst toAnyError = 'to-any-error';\n// CustomEvents\nconst zeroLogout = '0account-logout';\nconst zeroAuthenticated = '0account-authenticated';\n// const zeroAuthenticationFailed = '0account-authentication-failed';\n\nfunction debounce(func, timeout = 300) {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(this, args);\n }, timeout);\n };\n}\n\ntype Options = {\n callbackURL: string,\n updateInterval: number,\n uaParser: UAParser,\n log: (...args) => void\n env?: Environment,\n}\n\nexport class WS {\n private readonly appId: string;\n private socket: WebSocket;\n private uaParser: UAParser;\n private readonly log: (...args) => void;\n private uuid: string;\n private wsURL = API_URL;\n private callbackURL = DEFAULT_CALLBACK_URL;\n private request: XMLHttpRequest;\n private readonly updateInterval: number;\n\n constructor(appId: string, opts: Options) {\n if (!opts.env) opts.env = Environment.production\n\n this.appId = appId;\n this.uaParser = opts.uaParser;\n this.callbackURL = opts.callbackURL;\n this.updateInterval = opts.updateInterval;\n this.log = opts.log;\n if (opts.env !== Environment.production) this.wsURL = API_URL_STAGING;\n this.init();\n }\n\n private deviceInfo() {\n return {\n appId: this.appId,\n browser: this.uaParser.getBrowser().name,\n os: this.uaParser.getOS().name,\n // TODO: handle these on backend:\n // device: `${this.uaParser.getDevice().vendor} ${this.uaParser.getDevice().model}`,\n // all: this.uaParser.getResult()\n };\n }\n\n private reinit() {\n const retry = debounce(this.init.bind(this), 1000)\n retry()\n }\n\n private init() {\n const onopen = (_) => {\n this.send(fromWidgetEnsureSession, this.deviceInfo());\n };\n const onmessage = (event) => {\n try {\n const data = JSON.parse(event.data);\n this.handleMessage(data);\n } catch (e) {\n this.log(e);\n }\n };\n const onerror = (_) => {\n if (this.socket && (this.socket.readyState !== WebSocket.CLOSED\n && this.socket.readyState !== WebSocket.CLOSING)) {\n this.socket.close();\n }\n };\n const onclose = (_) => {\n if (this.socket) {\n this.socket.removeEventListener('open', onopen);\n this.socket.removeEventListener('message', onmessage);\n this.socket.removeEventListener('error', onerror);\n this.socket.removeEventListener('close', onclose);\n delete this.socket;\n }\n this.reinit();\n };\n\n if (this.socket) {\n this.socket.removeEventListener('open', onopen);\n this.socket.removeEventListener('message', onmessage);\n this.socket.removeEventListener('error', onerror);\n this.socket.removeEventListener('close', onclose);\n }\n this.socket = new WebSocket(this.wsURL);\n this.socket.addEventListener('open', onopen);\n this.socket.addEventListener('message', onmessage);\n this.socket.addEventListener('error', onerror);\n this.socket.addEventListener('close', onclose);\n }\n\n updateUUID(uuid: string) {\n this.uuid = uuid;\n this.send(fromWidgetUUIDUpdated, this.deviceInfo());\n }\n\n send(action, data) {\n if (!this.socket || !this.socket.readyState || this.socket.readyState !== WebSocket.OPEN) {\n const retry = debounce(this.send.bind(this), 1000)\n return retry();\n }\n\n const msg: any = {\n action: action,\n timeout: `${this.updateInterval}ms`,\n uuid: this.uuid,\n appId: `${this.appId}`,\n message: {},\n };\n if (action === fromWidgetEnsureSession) {\n const sessionId = localStorage.getItem(`${PREFIX}_${SESSION_ID}`);\n const sessionToken = localStorage.getItem(`${PREFIX}_${SESSION_TOKEN}`);\n if (!sessionId || !sessionToken) return;\n msg.sessionId = sessionId;\n msg.sessionToken = sessionToken;\n }\n\n if (data) msg.message = data;\n this.socket.send(JSON.stringify(msg));\n }\n\n onZeroAuth() {\n if (this.request) this.request.abort();\n this.request = http.send(this.callbackURL,\n {\n enableWithCredentials: true,\n headers: {\n 'x-0account-uuid': this.uuid,\n 'x-0account-auth': 'true',\n },\n },\n (responseText) => {\n try {\n const data = JSON.parse(responseText);\n this.dispatchEventAndWsSend(zeroAuthenticated, data);\n } catch (err) {\n this.log(err);\n }\n },\n );\n }\n\n private handleMessage(msg: any) {\n switch (msg.action) {\n case toWidgetApproved:\n this.onZeroAuth();\n localStorage.setItem(`${PREFIX}_${SESSION_ID}`, msg.sessionId);\n localStorage.setItem(`${PREFIX}_${SESSION_TOKEN}`, msg.message);\n break;\n case toWidgetLogout:\n localStorage.removeItem(`${PREFIX}_${SESSION_ID}`);\n localStorage.removeItem(`${PREFIX}_${SESSION_TOKEN}`);\n this.dispatchEvent(zeroLogout);\n break;\n case toAnyError:\n this.log('ws error', msg);\n break;\n default:\n this.log('incorrect action', msg.action, msg);\n }\n }\n\n private dispatchEventAndWsSend(name, data) {\n this.dispatchEvent(name, data);\n this.send('from-widget-' + name, data);\n }\n\n private dispatchEvent(name: string, data?: any) {\n let event = new CustomEvent(name);\n if (data) event = new CustomEvent(name, { detail: data });\n document.dispatchEvent(event);\n }\n\n}\n",":host {\n --primary-color: #7263FA;\n --primary-background-color: #FFF;\n\n /* buttons */\n --button-animation-duration: 200ms;\n --text-color: #000;\n --button-border-color: #B2D4FF;\n --button-border-radius: 9999px;\n --button-background-color: var(--primary-background-color);\n\n /* modal */\n --modal-logo-border-color: var(--primary-color);\n --modal-animation-duration: 350ms;\n --easing: cubic-bezier(0.16, 1, 0.3, 1);\n /*--easing: ease;*/\n\n font-family: sans-serif;\n}\n\n.dark {\n --button-background-color: rgb(30, 41, 59);\n --primary-background-color: rgb(30, 41, 59);\n --button-border-color: #FFFFF9;\n --text-color: #FFFFF9;\n --modal-logo-border-color: #CCC;\n}\n\n.button {\n font-size: 16px;\n color: var(--text-color);\n cursor: pointer;\n padding: 8px 12px 8px 10px;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 6px;\n border: 1px solid var(--button-border-color);\n background-color: var(--button-background-color);\n border-radius: var(--button-border-radius);\n}\n\n.button:hover {\n transition: box-shadow var(--button-animation-duration);\n box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);\n /* lighter shade of --button-background-color */\n background: linear-gradient(\n to top,\n rgba(200, 200, 200, 0.1),\n rgba(200, 200, 200, 0.1)\n ) var(--button-background-color)\n}\n\n.button:active {\n transition: box-shadow var(--button-animation-duration);\n box-shadow: 0 0 0 rgba(0, 0, 0, 0);\n}\n\n.button__logo {\n width: 1.3rem;\n}\n\n/* -------- modal --------- */\n\n.modal {\n display: flex;\n z-index: 9999;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 1;\n background-color: rgba(0, 0, 0, 0.3);\n transition: opacity var(--modal-animation-duration) var(--easing);\n}\n\n.modal--hidden {\n opacity: 0;\n pointer-events: none;\n}\n\n.modal__content {\n max-width: 240px;\n border-radius: 4px;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 16px;\n background-color: var(--primary-background-color);\n transform: scale(1);\n transition: transform var(--modal-animation-duration) var(--easing);\n}\n\n.modal--hidden .modal__content {\n transform: scale(0.5);\n}\n\n.modal__qrcode__container {\n position: relative;\n}\n\n.modal__qrcode {\n border-radius: 4px;\n width: 100%;\n height: auto;\n}\n\n.modal__logo {\n padding: 8px;\n border: 2px var(--modal-logo-border-color) solid;\n border-radius: var(--button-border-radius);\n background-color: var(--primary-background-color);\n position: absolute;\n width: 16%;\n top: 50%;\n left: 50%;\n transform: translate3d(-50%, -50%, 0);\n}\n\n.modal-animated .circle__overlay {\n width: 100%;\n height: 100%;\n}\n\n.modal-animated .modal__qrcode {\n filter: blur(2px);\n}\n\n.modal-animated .modal__logo {\n border: none;\n animation: spin 2.5s var(--easing) infinite;\n}\n\n@keyframes spin {\n 0% {\n transform: translate3d(-50%, -50%, 0) rotate(0deg);\n }\n 50% {\n transform: translate3d(-50%, -50%, 0) rotate(180deg);\n }\n 100% {\n transform: translate3d(-50%, -50%, 0) rotate(360deg);\n }\n}\n\n.modal__buttons {\n width: 100%;\n flex-direction: column;\n align-items: center;\n margin-top: 14px;\n display: flex;\n text-align: center;\n}\n\n.modal:not(.modal--hidden) .modal__button {\n transform: scale(1) translate3d(0, 0, 0);\n}\n\n.modal:not(.modal--hidden) .modal__link {\n transform: scale(1) translate3d(0, 0, 0);\n}\n\n.modal__button {\n transform: scale(0) translate3d(0, 150px, 0);\n transition: calc(var(--modal-animation-duration) + 50ms) var(--easing);\n transition-property: scale, transform, background-color;\n cursor: pointer;\n padding: 12px;\n font-size: 14px;\n background-color: var(--primary-color);\n color: white;\n border: none;\n border-radius: 6px;\n width: 100%;\n}\n\n.modal__button:hover {\n /* darker shade of --primary-color */\n background: linear-gradient(\n to top,\n rgba(0, 0, 0, 0.1),\n rgba(0, 0, 0, 0.1)\n ) var(--primary-color);\n}\n\n.modal__link {\n transform: scale(0) translate3d(0, 150px, 0);\n transition: calc(var(--modal-animation-duration) + 150ms) var(--easing);\n transition-property: scale, transform;\n font-size: 0.8rem;\n padding: 10px 20px 0;\n color: var(--primary-color);\n width: 100%;\n text-decoration: underline rgba(0, 0, 0, 0);\n}\n\n.modal__link:hover {\n text-decoration-color:var(--primary-color);\n}\n\n.modal__close-button {\n position: absolute;\n top: -26px;\n right: -26px;\n width: 24px;\n height: 24px;\n background-color: rgba(0, 0, 0, 0.1);\n border-radius: 10px;\n cursor: pointer;\n transition: background-color var(--modal-animation-duration) var(--easing);\n}\n\n.modal__close-button:hover {\n background-color: rgba(0, 0, 0, 0.3);\n}\n\n.modal__close-button:before,\n.modal__close-button:after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n width: 50%;\n height: 1px;\n background-color: rgba(255, 255, 255, 0.8);\n transform: translate(-50%, -50%) rotate(45deg);\n}\n\n.modal__close-button:after {\n transform: translate(-50%, -50%) rotate(-45deg);\n}\n\n/* circle ripple */\n\n.circle__overlay{\n overflow: hidden;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n position: absolute;\n background-color: var(--primary-background-color);\n border-radius: var(--button-border-radius);\n width: 10%;\n height: 10%;\n border: 2px var(--modal-logo-border-color) solid;\n transition: calc(var(--modal-animation-duration) + 200ms) var(--easing);\n transition-property: width, height, opacity;\n}\n\n.circle {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100px;\n height: 100px;\n border-radius: 50%;\n background-color: #E0E0E0;\n animation: circle__ripple 2s linear infinite;\n}\n\n.circle--medium {\n width: 150px;\n height: 150px;\n animation-duration: 2.5s;\n}\n\n.circle--large {\n width: 200px;\n height: 200px;\n animation-duration: 3s;\n}\n\n@keyframes circle__ripple {\n 0% {\n transform: translate(-50%, -50%) scale(0);\n opacity: 1;\n }\n 100% {\n transform: translate(-50%, -50%) scale(1.5);\n opacity: 0;\n }\n}\n","import { Element, Component, h, Host, Prop, Listen, State } from '@stencil/core';\nimport { UAParser } from 'ua-parser-js';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { Environment, ErrorCorrectionLevel, ThemePreset } from './enums';\nimport { Logger } from '../../utils/utils';\nimport * as utilsURL from '../../utils/url';\nimport Logo from './logo';\nimport { WS } from './websocket';\n\nconst maxInterval = 59 * 60 * 1000;\nconst minInterval = 10 * 1000;\n\nconst DEFAULT_CALLBACK_URL = window.location.origin + '/zero/auth';\nconst ANIMATION_DURATION = 3000\n\n@Component({\n tag: 'zero-account',\n styleUrl: 'zero-account.css',\n shadow: true,\n})\nexport class ZeroAccount {\n @Prop() appId!: string;\n @Prop() updateInterval?: number = 3 * 60 * 1000;\n @Prop() callbackURL: string = DEFAULT_CALLBACK_URL;\n @Prop() modal?: boolean = true;\n @Prop() selector?: string = null;\n @Prop() level?: ErrorCorrectionLevel = ErrorCorrectionLevel.M;\n @Prop() primaryColor: string = '#3C444F';\n @Prop() secondaryColor: string;\n @Prop() instructionsText: string;\n @Prop() hideInstructions: boolean = false;\n @Prop() environment?: Environment = Environment.production;\n @Prop() enableWithCredentials?: boolean = false;\n @Prop() themePreset?: ThemePreset = ThemePreset.light;\n @Prop() autoStartApp? = true;\n\n private logger: Logger;\n private uaParser: UAParser;\n private ws: WS;\n\n private timer: number;\n private animationTimer: number;\n\n @Element() host: HTMLElement;\n private modalEl: HTMLDivElement;\n private closeButtonEl: HTMLDivElement;\n\n @State() modalOpen = false;\n @State() isAnimating = false;\n @State() url = '';\n\n private getUpdateInterval() {\n // make sure the provided value is within bounds\n return Math.min(Math.max(this.updateInterval, minInterval), maxInterval);\n }\n private refreshQR = (ignoreAnimate = false)=> {\n const update = () => {\n this.restartTimer();\n this.updateURL()\n }\n if (ignoreAnimate) return update();\n\n this.isAnimating = true\n this.animationTimer = window.setTimeout(()=>{\n update()\n this.isAnimating = false\n }, ANIMATION_DURATION)\n }\n\n @Listen('0account-toggle-modal', { target: 'document' })\n toggleModal() {\n this.modalOpen = !this.modalOpen;\n if (this.modalOpen) this.refreshQR(true)\n if ((this.modalOpen && this.autoStartApp) || this.isMobile()) this.openApp()\n }\n\n @Listen('0account-close-modal', { target: 'document' })\n @Listen('0account-authenticated', { target: 'document' })\n private _closeModal() {\n this.modalOpen = false;\n this.stopTimer()\n }\n\n private closeModal(e: MouseEvent) {\n if (e.target !== this.modalEl && e.target !== this.closeButtonEl) {\n return e.stopPropagation();\n }\n this._closeModal()\n }\n\n @Listen('0account-open-app', { target: 'document' })\n openApp() {\n if (this.modalOpen) {\n window.location.href = this.url\n }\n }\n\n render() {\n const logoColor = this.themePreset === ThemePreset.light ? '#7263FA': '#FFFFF9'\n const qrColor = this.themePreset === ThemePreset.light ? '#000': '#FFFFF9'\n return (\n <Host>\n <slot />\n {this.host.childNodes.length === 0 &&\n <button class={`button ${this.themePreset}`} onClick={()=>this.toggleModal()}>\n <Logo className='button__logo' color={logoColor} />\n use 0account\n </button>\n }\n <div\n ref={el => this.modalEl = el}\n onClick={(e) => this.closeModal(e)}\n class={`modal ${this.themePreset} ${this.isAnimating ? 'modal-animated': ''} ${this.modalOpen ? '' : 'modal--hidden'}`}>\n <div class='modal__content'>\n <div ref={el => this.closeButtonEl = el} class='modal__close-button'></div>\n <div class='modal__qrcode__container'>\n <qr-code url={this.url} class={`modal__qrcode`} level={this.level} color={qrColor}/>\n <div class='circle__overlay'>\n <div class='circle'></div>\n <div class='circle circle--medium'></div>\n <div class='circle circle--large'></div>\n </div>\n <Logo className='modal__logo' color={logoColor} />\n </div>\n <div class='modal__buttons'>\n <button onClick={()=>this.openApp()} class='modal__button'>Open the desktop app</button>\n <a href='#' class='modal__link'>Download the app</a>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n private hideOnEsc = (e) => {\n if ((e.key === 'Escape' || e.key === 'Esc')) {\n this.modalOpen = false;\n }\n };\n\n // called only once\n componentWillLoad() {\n this.logger = new Logger(this.environment);\n this.uaParser = new UAParser();\n this.ws = new WS(this.appId, {\n updateInterval: this.getUpdateInterval(),\n callbackURL: this.callbackURL,\n uaParser: this.uaParser,\n env: this.environment,\n log: this.log,\n })\n\n // make sure we initQR\n this.refreshQR(true)\n document.addEventListener('keydown', this.hideOnEsc);\n }\n\n private updateURL() {\n const expires = new Date().getTime() + this.getUpdateInterval();\n const uuid = uuidv4();\n this.ws.updateUUID(uuid);\n const params = utilsURL.appendToParams('', {\n appId: this.appId,\n uuid: uuid,\n expires: expires,\n })\n\n if (this.isMobile()) {\n this.url = 'https://launch.0account.com/auth?' + params;\n } else {\n this.url = 'zero-account://auth?' + params;\n }\n }\n\n isMobile() {\n const device = this.uaParser.getDevice()\n return device.type === 'tablet' || device.type === 'mobile'\n }\n\n connectedCallback() {\n this.startTimer()\n }\n\n disconnectedCallback() {\n this.stopTimer()\n document.removeEventListener('keydown', this.hideOnEsc);\n }\n\n private restartTimer() {\n this.stopTimer()\n this.startTimer()\n }\n\n private startTimer() {\n this.timer = window.setInterval(this.refreshQR, this.getUpdateInterval());\n }\n\n private stopTimer() {\n window.clearInterval(this.timer);\n window.clearTimeout(this.animationTimer);\n this.isAnimating = false\n }\n\n private log = (...args) => this.logger.log(...args);\n}\n"],"version":3}
1
+ {"file":"zero-account.js","mappings":"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","names":["undefined","this","DEFAULT_CALLBACK_URL","ZeroAccount","UAParser","uuidv4","utilsURL.appendToParams"],"sources":["node_modules/ua-parser-js/src/ua-parser.js","node_modules/uuid/dist/esm-browser/rng.js","node_modules/uuid/dist/esm-browser/stringify.js","node_modules/uuid/dist/esm-browser/native.js","node_modules/uuid/dist/esm-browser/v4.js","src/utils/utils.ts","src/utils/url.js","src/components/zero-account/logo.tsx","src/utils/request.ts","src/components/zero-account/websocket.ts","src/components/zero-account/zero-account.css?tag=zero-account&encapsulation=shadow","src/components/zero-account/zero-account.tsx"],"sourcesContent":["/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v1.0.35\n Copyright © 2012-2021 Faisal Salman <f@faisalman.com>\n MIT License *//*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment. \n Demo : https://faisalman.github.io/ua-parser-js\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '1.0.35',\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 UA_MAX_LENGTH = 350;\n\n var AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n BROWSER = 'Browser',\n CHROME = 'Chrome',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n OPERA = 'Opera',\n SAMSUNG = 'Samsung',\n SHARP = 'Sharp',\n SONY = 'Sony',\n VIERA = 'Viera',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n FACEBOOK = 'Facebook',\n CHROMIUM_OS = 'Chromium OS',\n MAC_OS = 'Mac OS';\n\n ///////////\n // Helper\n //////////\n\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\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 return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\n },\n lowerize = function (str) {\n return str.toLowerCase();\n },\n majorize = function (version) {\n return typeof(version) === STR_TYPE ? version.replace(/[^\\d\\.]/g, EMPTY).split('.')[0] : undefined;\n },\n trim = function (str, len) {\n if (typeof(str) === STR_TYPE) {\n str = str.replace(/^\\s\\s*/, EMPTY);\n return typeof(len) === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n }\n };\n\n ///////////////\n // Map helper\n //////////////\n\n var rgxMapper = function (ua, arrays) {\n\n var i = 0, j, k, p, q, matches, match;\n\n // loop through all regexes maps\n while (i < arrays.length && !matches) {\n\n var regex = arrays[i], // even sequence (0,2,4,..)\n props = arrays[i + 1]; // odd sequence (1,3,5,..)\n j = k = 0;\n\n // try matching uastring with regexes\n while (j < regex.length && !matches) {\n\n if (!regex[j]) { break; }\n matches = regex[j++].exec(ua);\n\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n // check if given property is actually array\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\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\n strMapper = function (str, map) {\n\n for (var i in map) {\n // check if current value is array\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 str;\n };\n\n ///////////////\n // String map\n //////////////\n\n // Safari < 3.0\n var oldSafariMap = {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n },\n windowsVersionMap = {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : '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\n //////////////\n // Regex map\n /////////////\n\n var regexes = {\n\n browser : [[\n\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, 'Chrome']], [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n ], [VERSION, [NAME, 'Edge']], [\n\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ], [NAME, VERSION], [\n /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [VERSION, [NAME, OPERA+' Mini']], [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [\n\n // Mixed\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n // Trident based\n /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i, // Avant/IEMobile/SlimBrowser\n /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i, // Baidu Browser\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ\n /(heytap|ovi)browser\\/([\\d\\.]+)/i, // Heytap/Ovi\n /(weibo)__([\\d\\.]+)/i // Weibo\n ], [NAME, VERSION], [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ], [VERSION, [NAME, 'UC'+BROWSER]], [\n /microm.+\\bqbcore\\/([\\w\\.]+)/i, // WeChat Desktop for Windows Built-in Browser\n /\\bqbcore\\/([\\w\\.]+).+microm/i\n ], [VERSION, [NAME, 'WeChat(Win) Desktop']], [\n /micromessenger\\/([\\w\\.]+)/i // WeChat\n ], [VERSION, [NAME, 'WeChat']], [\n /konqueror\\/([\\w\\.]+)/i // Konqueror\n ], [VERSION, [NAME, 'Konqueror']], [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ], [VERSION, [NAME, 'IE']], [\n /ya(?:search)?browser\\/([\\w\\.]+)/i // Yandex\n ], [VERSION, [NAME, 'Yandex']], [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [\n /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ], [VERSION, [NAME, FIREFOX+' Focus']], [\n /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ], [VERSION, [NAME, OPERA+' Touch']], [\n /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ], [VERSION, [NAME, 'Coc Coc']], [\n /dolfin\\/([\\w\\.]+)/i // Dolphin\n ], [VERSION, [NAME, 'Dolphin']], [\n /coast\\/([\\w\\.]+)/i // Opera Coast\n ], [VERSION, [NAME, OPERA+' Coast']], [\n /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI '+BROWSER]], [\n /fxios\\/([-\\w\\.]+)/i // Firefox for iOS\n ], [VERSION, [NAME, FIREFOX]], [\n /\\bqihu|(qi?ho?o?|360)browser/i // 360\n ], [[NAME, '360 '+BROWSER]], [\n /(oculus|samsung|sailfish|huawei)browser\\/([\\w\\.]+)/i\n ], [[NAME, /(.+)/, '$1 '+BROWSER], VERSION], [ // Oculus/Samsung/Sailfish/Huawei Browser\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i // QQBrowser/Baidu App/2345 Browser\n ], [NAME, VERSION], [\n /(metasr)[\\/ ]?([\\w\\.]+)/i, // SouGouBrowser\n /(lbbrowser)/i, // LieBao Browser\n /\\[(linkedin)app\\]/i // LinkedIn App for iOS & Android\n ], [NAME], [\n\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, FACEBOOK], VERSION], [\n /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i, // Kakao App\n /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i, // Naver InApp\n /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(chromium|instagram)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram\n ], [NAME, VERSION], [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ], [VERSION, [NAME, 'GSA']], [\n /musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i // TikTok\n ], [VERSION, [NAME, 'TikTok']], [\n\n /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ], [VERSION, [NAME, CHROME+' Headless']], [\n\n / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, CHROME+' WebView'], VERSION], [\n\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ], [VERSION, [NAME, 'Android '+BROWSER]], [\n\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n /version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, strMapper, oldSafariMap]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ], [VERSION, [NAME, FIREFOX+' Reality']], [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser\n /(links) \\(([\\w\\.]+)/i, // Links\n /panasonic;(viera)/i // Panasonic Viera\n ], [NAME, VERSION], [\n \n /(cobalt)\\/([\\w\\.]+)/i // Cobalt\n ], [NAME, [VERSION, /master.|lts./, \"\"]]\n ],\n\n cpu : [[\n\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, lowerize]], [\n\n /((?:i[346]|x)86)[;\\)]/i // IA32 (x86)\n ], [[ARCHITECTURE, 'ia32']], [\n\n /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i // ARM64\n ], [[ARCHITECTURE, 'arm64']], [\n\n /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ], [[ARCHITECTURE, 'armhf']], [\n\n // PocketPC mistakenly identified as PowerPC\n /windows (ce|mobile); ppc;/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\n\n /(sun4\\w)[;\\)]/i // SPARC\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 // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, lowerize]]\n ],\n\n device : [[\n\n //////////////////////////\n // MOBILES & TABLETS\n /////////////////////////\n\n // Samsung\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,\n /samsung[- ]([-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\n\n // Apple\n /(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i // iPod/iPhone\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n /(macintosh);/i\n ], [MODEL, [VENDOR, APPLE]], [\n\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [\n\n // Huawei\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,\n /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\n\n // Xiaomi\n /\\b(poco[\\w ]+)(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i // Xiaomi Mi\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\n\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\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\n // Vivo\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\n\n // Realme\n /\\b(rmx[12]\\d{3})(?: bui|;|\\))/i\n ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\n\n // Motorola\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 ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\n\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\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 ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\n\n // Lenovo\n /(ideatab[-\\w ]+)/i,\n /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n\n // Nokia\n /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n /nokia[-_ ]?([-\\w\\.]*)/i\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [\n\n // Google\n /(pixel c)\\b/i // Google Pixel C\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\n\n // Sony\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,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\n\n // OnePlus\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i, // Kindle Fire without Silk / Echo Show\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\n\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\n\n // Asus\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\n // HTC\n /(nexus 9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n\n // MIXED\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i, // Asus\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(lenovo)[-_ ]?([-\\w]+)/i, // Lenovo\n /(jolla)/i, // Jolla\n /(oppo) ?([\\w ]+) bui/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /(kobo)\\s(ereader|touch)/i, // Kobo\n /(archos) (gamepad2?)/i, // Archos\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(surface duo)/i // Surface Duo\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\n /(u304aa)/i // AT&T\n ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [\n /\\bsie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n /\\b(rct\\w+) b/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n /\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n /\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [\n /\\b(tm\\d{3}\\w+) b/i\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n /\\b(k88) b/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n /\\b(nx\\d{3}j) b/i // ZTE Nubia\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [\n /\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n /\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n /\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n /\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n /\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [\n /\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n /\\b(ph-1) /i // Essential PH-1\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n /\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n /\\btu_(1491) b/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n /(shield[\\w ]+) b/i // Nvidia Shield Tablets\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [\n /(sprint) (\\w+)/i // Sprint Phones\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\n\n ///////////////////\n // SMARTTVS\n ///////////////////\n\n /smart-tv.+(samsung)/i // Samsung\n ], [VENDOR, [TYPE, SMARTTV]], [\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [\n /(apple) ?tv/i // Apple TV\n ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\n /crkey/i // Google Chromecast\n ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /droid.+aft(\\w)( bui|\\))/i // Fire TV\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\n /\\(dtv[\\);].+(aquos)/i,\n /(aquos-tv[\\w ]+)\\)/i // Sharp\n ], [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],[\n /(bravia[\\w ]+)( bui|\\))/i // Sony\n ], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [\n /(mitv-\\w{5}) bui/i // Xiaomi\n ], [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], [\n /Hbbtv.*(technisat) (.*);/i // TechniSAT\n ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i // SmartTV from Unidentified Vendors\n ], [[TYPE, SMARTTV]], [\n\n ///////////////////\n // CONSOLES\n ///////////////////\n\n /(ouya)/i, // Ouya\n /(nintendo) ([wids3utch]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n /droid.+; (shield) bui/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n /(playstation [345portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\n\n ///////////////////\n // WEARABLES\n ///////////////////\n\n /((pebble))app/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i // Apple Watch\n ], [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]], [\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n /droid.+; (wt63?0{2,3})\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\n /(quest( 2| pro)?)/i // Oculus Quest\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [\n\n ///////////////////\n // EMBEDDED\n ///////////////////\n\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ], [VENDOR, [TYPE, EMBEDDED]], [\n /(aeobc)\\b/i // Echo Dot\n ], [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]], [\n\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n ], [MODEL, [TYPE, MOBILE]], [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n ], [MODEL, [TYPE, TABLET]], [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ], [[TYPE, TABLET]], [\n /(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ], [[TYPE, MOBILE]], [\n /(android[-\\w\\. ]{0,9});.+buil/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, EDGE+'HTML']], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i, // iCab\n /\\b(libweb)/i\n ], [NAME, VERSION], [\n\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows) nt 6\\.2; (arm)/i, // Windows RT\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i, // Windows Phone\n /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i\n ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\n /(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ], [[NAME, 'Windows'], [VERSION, strMapper, windowsVersionMap]], [\n\n // iOS/macOS\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /ios;fbsv\\/([\\d\\.]+)/i,\n /cfnetwork\\/.+darwin/i\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n ], [[NAME, MAC_OS], [VERSION, /_/g, '.']], [\n\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i // Android-x86/HarmonyOS\n ], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i, // Blackberry\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, // Tizen/KaiOS\n /\\((series40);/i // Series 40\n ], [NAME, VERSION], [\n /\\(bb(10);/i // BlackBerry 10\n ], [VERSION, [NAME, BLACKBERRY]], [\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ], [VERSION, [NAME, 'Symbian']], [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ], [VERSION, [NAME, FIREFOX+' OS']], [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n ], [VERSION, [NAME, 'webOS']], [\n /watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i // watchOS\n ], [VERSION, [NAME, 'watchOS']], [\n\n // Google Chromecast\n /crkey\\/([\\d\\.]+)/i // Google Chromecast\n ], [VERSION, [NAME, CHROME+'cast']], [\n /(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i // Chromium OS\n ], [[NAME, CHROMIUM_OS], VERSION],[\n\n // Smart TVs\n /panasonic;(viera)/i, // Panasonic Viera\n /(netrange)mmh/i, // Netrange\n /(nettv)\\/(\\d+\\.[\\w\\.]+)/i, // NetTV\n\n // Console\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\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 // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n /(hurd|linux) ?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) (\\w+)/i // Haiku\n ], [NAME, VERSION], [\n /(sunos) ?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS\n /(unix) ?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n var UAParser = function (ua, extensions) {\n\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _navigator = (typeof window !== UNDEF_TYPE && window.navigator) ? window.navigator : undefined;\n var _ua = ua || ((_navigator && _navigator.userAgent) ? _navigator.userAgent : EMPTY);\n var _uach = (_navigator && _navigator.userAgentData) ? _navigator.userAgentData : undefined;\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n var _isSelfNav = _navigator && _navigator.userAgent == _ua;\n\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser[MAJOR] = majorize(_browser[VERSION]);\n // Brave-specific detection\n if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {\n _browser[NAME] = 'Brave';\n }\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {\n _device[TYPE] = MOBILE;\n }\n // iPadOS-specific detection: identified as Mac, but has some iOS-only properties\n if (_isSelfNav && _device[MODEL] == 'Macintosh' && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {\n _device[MODEL] = 'iPad';\n _device[TYPE] = TABLET;\n }\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n if (_isSelfNav && !_os[NAME] && _uach && _uach.platform != 'Unknown') {\n _os[NAME] = _uach.platform \n .replace(/chrome os/i, CHROMIUM_OS)\n .replace(/macos/i, MAC_OS); // backward compatibility\n }\n return _os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\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\n ///////////\n // Export\n //////////\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (typeof(define) === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n // browser env\n window.UAParser = UAParser;\n }\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\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\n})(typeof window === 'object' ? window : this);\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import { Environment } from '../components/zero-account/enums';\nimport { Build } from '@stencil/core';\n\nexport const format = (appId: string): string => {\n return appId || '';\n}\n\nexport class Logger {\n private readonly environment: Environment;\n constructor(environment: Environment) {\n this.environment = environment;\n }\n log = (...args) => {\n if (this.environment !== 'production' && Build.isDev) {\n console.clear()\n console.log(...args);\n }\n }\n}\n","export function appendToParams(url, getParamsToUpdate) {\n if (typeof getParamsToUpdate !== \"object\") return false;\n\n // remove consecutive duplicate '&' chars from the url\n url = url.replace(/(&)\\1+/g, '&')\n //Note: substr(1) removes first character (getting rid of possible \"?\")\n //\t\t\t(does nothing with empty string)\n let getParams = url.substr(1).split('&');\n\n //avoid extra \"&\" at the beginning if current document.location.search was empty or 1 char\n if ((getParams.length < 1) || ((getParams.length === 1) && (getParams[0] === \"\")))\n getParams = [];\n\n let searchBuffer;\n let found;\n\n for (let k in getParamsToUpdate) {\n if (!getParamsToUpdate.hasOwnProperty(k)) continue;\n\n let key = encodeURIComponent(k);\n let value = encodeURIComponent(getParamsToUpdate[k]);\n\n searchBuffer = [];\n found = false;\n\n let paramsLength = getParams.length - 1\n //from the end to start...\n for (let i = paramsLength; i >= 0; --i) {\n searchBuffer = getParams[i].split('=');\n\n if (searchBuffer[0] === key) {\n //found key!\n getParams[i] = key + '=' + value;\n found = true;\n break;\n }\n }\n\n if (!found) getParams.push(key + '=' + value);\n }\n\n return getParams.join('&');\n}","import { h } from '@stencil/core';\n\nconst Logo = ({ className = '', color = '#7263FA' }) => {\n return (\n <svg\n class={className}\n xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 256 256'>\n <g fill={color} clip-path='url(#a)'>\n <path d='M128 185h57v57h-57zM128 14h57v57h-57zM71 185h57v57H71zM71 14h57v57H71zM14 71h57v57H14zM185 71h57v57h-57zM71 14v57H14l57-57ZM14 128h57v57H14zM185 128h57v57h-57zM14 185h57v57l-57-57ZM185 14l57 57h-57V14Z' />\n </g>\n <defs>\n <clipPath id='a'>\n <path fill='#fff' d='M14 14h228v228H14z' />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nexport default Logo;\n","\nconst send = (url: string, opts, request: XMLHttpRequest, errorCount: number): void => {\n let limit = errorCount\n ? Math.pow(2, errorCount - 1) * opts.startLimit\n : 0;\n limit = limit < opts.maxLimit ? limit : opts.maxLimit\n const pause = Math.random() * limit;\n setTimeout(function () {\n request.open('POST', url, true)\n for (const k in opts.headers) {\n if (Object.prototype.hasOwnProperty.call(opts.headers, k)) {\n request.setRequestHeader(k, opts.headers[k])\n }\n }\n request.send()\n }, pause)\n}\n\ntype Options = {\n startLimit?: number;\n maxLimit?: number;\n enableWithCredentials?: boolean;\n headers?: any\n}\n\nconst xhr = (url: string, opts: Options = {startLimit: 100, maxLimit: 3 * 1000, enableWithCredentials: false}, callback: (v: string) => void): XMLHttpRequest => {\n let errorCount = 0;\n const request = new XMLHttpRequest();\n if (opts.enableWithCredentials) request.withCredentials = true;\n const retry = (): void => send(url, opts, request, ++errorCount);\n request.addEventListener('error', retry);\n request.addEventListener('timeout', retry);\n request.addEventListener('load', () => {\n if (request.status >= 200 && request.status < 300) {\n return callback(request.responseText)\n }\n retry()\n })\n\n send(url, opts, request, errorCount)\n return request;\n}\n\nconst http = {\n send: xhr,\n}\nexport default http;\n","import UAParser from 'ua-parser-js';\nimport { Environment } from './enums';\nimport http from '../../utils/request';\n\nconst DEFAULT_CALLBACK_URL = window.location.origin + '/zero/auth';\nconst API_URL = 'wss://ws.0account.com/ws';\nconst API_URL_STAGING = 'wss://staging.ws.0account.com/ws';\n\nconst PREFIX = '0account';\nconst SESSION_ID = 'session-id';\nconst SESSION_TOKEN = 'session-token';\n\nconst fromWidgetUUIDUpdated = 'from-widget-uuid-updated';\n// const fromWidgetAuthenticationStarted = 'from-widget-authentication-started';\nconst fromWidgetEnsureSession = 'from-widget-ensure-session';\n\nconst toWidgetLogout = 'to-widget-logout';\nconst toWidgetApproved = 'to-widget-approved';\nconst toAnyError = 'to-any-error';\n// CustomEvents\nconst zeroLogout = '0account-logout';\nconst zeroAuthenticated = '0account-authenticated';\n// const zeroAuthenticationFailed = '0account-authentication-failed';\n\nfunction debounce(func, timeout = 300) {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(this, args);\n }, timeout);\n };\n}\n\ntype Options = {\n callbackURL: string,\n updateInterval: number,\n uaParser: UAParser,\n log: (...args) => void\n env?: Environment,\n}\n\nexport class WS {\n private readonly appId: string;\n private socket: WebSocket;\n private uaParser: UAParser;\n private readonly log: (...args) => void;\n private uuid: string;\n private wsURL = API_URL;\n private callbackURL = DEFAULT_CALLBACK_URL;\n private request: XMLHttpRequest;\n private readonly updateInterval: number;\n\n constructor(appId: string, opts: Options) {\n if (!opts.env) opts.env = Environment.production\n\n this.appId = appId;\n this.uaParser = opts.uaParser;\n this.callbackURL = opts.callbackURL;\n this.updateInterval = opts.updateInterval;\n this.log = opts.log;\n if (opts.env !== Environment.production) this.wsURL = API_URL_STAGING;\n this.init();\n }\n\n private deviceInfo() {\n return {\n appId: this.appId,\n browser: this.uaParser.getBrowser().name,\n os: this.uaParser.getOS().name,\n // TODO: handle these on backend:\n // device: `${this.uaParser.getDevice().vendor} ${this.uaParser.getDevice().model}`,\n // all: this.uaParser.getResult()\n };\n }\n\n private reinit() {\n const retry = debounce(this.init.bind(this), 1000)\n retry()\n }\n\n private init() {\n const onopen = (_) => {\n this.send(fromWidgetEnsureSession, this.deviceInfo());\n };\n const onmessage = (event) => {\n try {\n const data = JSON.parse(event.data);\n this.handleMessage(data);\n } catch (e) {\n this.log(e);\n }\n };\n const onerror = (_) => {\n if (this.socket && (this.socket.readyState !== WebSocket.CLOSED\n && this.socket.readyState !== WebSocket.CLOSING)) {\n this.socket.close();\n }\n };\n const onclose = (_) => {\n if (this.socket) {\n this.socket.removeEventListener('open', onopen);\n this.socket.removeEventListener('message', onmessage);\n this.socket.removeEventListener('error', onerror);\n this.socket.removeEventListener('close', onclose);\n delete this.socket;\n }\n this.reinit();\n };\n\n if (this.socket) {\n this.socket.removeEventListener('open', onopen);\n this.socket.removeEventListener('message', onmessage);\n this.socket.removeEventListener('error', onerror);\n this.socket.removeEventListener('close', onclose);\n }\n this.socket = new WebSocket(this.wsURL);\n this.socket.addEventListener('open', onopen);\n this.socket.addEventListener('message', onmessage);\n this.socket.addEventListener('error', onerror);\n this.socket.addEventListener('close', onclose);\n }\n\n updateUUID(uuid: string) {\n this.uuid = uuid;\n this.send(fromWidgetUUIDUpdated, this.deviceInfo());\n }\n\n send(action, data) {\n if (!this.socket || !this.socket.readyState || this.socket.readyState !== WebSocket.OPEN) {\n const retry = debounce(this.send.bind(this), 1000)\n return retry();\n }\n\n const msg: any = {\n action: action,\n timeout: `${this.updateInterval}ms`,\n uuid: this.uuid,\n appId: `${this.appId}`,\n message: {},\n };\n if (action === fromWidgetEnsureSession) {\n const sessionId = localStorage.getItem(`${PREFIX}_${SESSION_ID}`);\n const sessionToken = localStorage.getItem(`${PREFIX}_${SESSION_TOKEN}`);\n if (!sessionId || !sessionToken) return;\n msg.sessionId = sessionId;\n msg.sessionToken = sessionToken;\n }\n\n if (data) msg.message = data;\n this.socket.send(JSON.stringify(msg));\n }\n\n onZeroAuth() {\n if (this.request) this.request.abort();\n this.request = http.send(this.callbackURL,\n {\n enableWithCredentials: true,\n headers: {\n 'x-0account-uuid': this.uuid,\n 'x-0account-auth': 'true',\n },\n },\n (responseText) => {\n try {\n const data = JSON.parse(responseText);\n this.dispatchEventAndWsSend(zeroAuthenticated, data);\n } catch (err) {\n this.log(err);\n }\n },\n );\n }\n\n private handleMessage(msg: any) {\n switch (msg.action) {\n case toWidgetApproved:\n this.onZeroAuth();\n localStorage.setItem(`${PREFIX}_${SESSION_ID}`, msg.sessionId);\n localStorage.setItem(`${PREFIX}_${SESSION_TOKEN}`, msg.message);\n break;\n case toWidgetLogout:\n localStorage.removeItem(`${PREFIX}_${SESSION_ID}`);\n localStorage.removeItem(`${PREFIX}_${SESSION_TOKEN}`);\n this.dispatchEvent(zeroLogout);\n break;\n case toAnyError:\n this.log('ws error', msg);\n break;\n default:\n this.log('incorrect action', msg.action, msg);\n }\n }\n\n private dispatchEventAndWsSend(name, data) {\n this.dispatchEvent(name, data);\n this.send('from-widget-' + name, data);\n }\n\n private dispatchEvent(name: string, data?: any) {\n let event = new CustomEvent(name);\n if (data) event = new CustomEvent(name, { detail: data });\n document.dispatchEvent(event);\n }\n\n}\n",":host {\n --primary-color: #7263FA;\n --primary-background-color: #FFF;\n\n /* buttons */\n --button-animation-duration: 200ms;\n --text-color: #000;\n --button-border-color: #B2D4FF;\n --button-border-radius: 9999px;\n --button-background-color: var(--primary-background-color);\n\n /* modal */\n --modal-logo-border-color: var(--primary-color);\n --modal-animation-duration: 350ms;\n --easing: cubic-bezier(0.16, 1, 0.3, 1);\n /*--easing: ease;*/\n\n font-family: sans-serif;\n}\n\n.dark {\n --button-background-color: rgb(30, 41, 59);\n --primary-background-color: rgb(30, 41, 59);\n --button-border-color: #FFFFF9;\n --text-color: #FFFFF9;\n --modal-logo-border-color: #CCC;\n}\n\n.button {\n font-size: 16px;\n color: var(--text-color);\n cursor: pointer;\n padding: 8px 12px 8px 10px;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 6px;\n border: 1px solid var(--button-border-color);\n background-color: var(--button-background-color);\n border-radius: var(--button-border-radius);\n}\n\n.button:hover {\n transition: box-shadow var(--button-animation-duration);\n box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);\n /* lighter shade of --button-background-color */\n background: linear-gradient(\n to top,\n rgba(200, 200, 200, 0.1),\n rgba(200, 200, 200, 0.1)\n ) var(--button-background-color)\n}\n\n.button:active {\n transition: box-shadow var(--button-animation-duration);\n box-shadow: 0 0 0 rgba(0, 0, 0, 0);\n}\n\n.button__logo {\n width: 1.3rem;\n}\n\n/* -------- modal --------- */\n\n.modal {\n display: flex;\n z-index: 9999;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 1;\n background-color: rgba(0, 0, 0, 0.3);\n transition: opacity var(--modal-animation-duration) var(--easing);\n}\n\n.modal--hidden {\n opacity: 0;\n pointer-events: none;\n}\n\n.modal__content {\n max-width: 240px;\n border-radius: 4px;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 16px;\n background-color: var(--primary-background-color);\n transform: scale(1);\n transition: transform var(--modal-animation-duration) var(--easing);\n}\n\n.modal--hidden .modal__content {\n transform: scale(0.5);\n}\n\n.modal__qrcode__container {\n position: relative;\n}\n\n.modal__qrcode {\n border-radius: 4px;\n width: 100%;\n height: auto;\n}\n\n.modal__logo {\n padding: 8px;\n border: 2px var(--modal-logo-border-color) solid;\n border-radius: var(--button-border-radius);\n background-color: var(--primary-background-color);\n position: absolute;\n width: 16%;\n top: 50%;\n left: 50%;\n transform: translate3d(-50%, -50%, 0);\n}\n\n.modal-animated .circle__overlay {\n width: 100%;\n height: 100%;\n}\n\n.modal-animated .modal__qrcode {\n filter: blur(2px);\n}\n\n.modal-animated .modal__logo {\n border: none;\n animation: spin 2.5s var(--easing) infinite;\n}\n\n@keyframes spin {\n 0% {\n transform: translate3d(-50%, -50%, 0) rotate(0deg);\n }\n 50% {\n transform: translate3d(-50%, -50%, 0) rotate(180deg);\n }\n 100% {\n transform: translate3d(-50%, -50%, 0) rotate(360deg);\n }\n}\n\n.modal__buttons {\n width: 100%;\n flex-direction: column;\n align-items: center;\n margin-top: 14px;\n display: flex;\n text-align: center;\n}\n\n.modal:not(.modal--hidden) .modal__button {\n transform: scale(1) translate3d(0, 0, 0);\n}\n\n.modal:not(.modal--hidden) .modal__link {\n transform: scale(1) translate3d(0, 0, 0);\n}\n\n.modal__button {\n transform: scale(0) translate3d(0, 150px, 0);\n transition: calc(var(--modal-animation-duration) + 50ms) var(--easing);\n transition-property: scale, transform, background-color;\n cursor: pointer;\n padding: 12px;\n font-size: 14px;\n background-color: var(--primary-color);\n color: white;\n border: none;\n border-radius: 6px;\n width: 100%;\n}\n\n.modal__button:hover {\n /* darker shade of --primary-color */\n background: linear-gradient(\n to top,\n rgba(0, 0, 0, 0.1),\n rgba(0, 0, 0, 0.1)\n ) var(--primary-color);\n}\n\n.modal__link {\n transform: scale(0) translate3d(0, 150px, 0);\n transition: calc(var(--modal-animation-duration) + 150ms) var(--easing);\n transition-property: scale, transform;\n font-size: 0.8rem;\n padding: 10px 20px 0;\n color: var(--primary-color);\n width: 100%;\n text-decoration: underline rgba(0, 0, 0, 0);\n}\n\n.modal__link:hover {\n text-decoration-color:var(--primary-color);\n}\n\n.modal__close-button {\n position: absolute;\n top: -26px;\n right: -26px;\n width: 24px;\n height: 24px;\n background-color: rgba(0, 0, 0, 0.1);\n border-radius: 10px;\n cursor: pointer;\n transition: background-color var(--modal-animation-duration) var(--easing);\n}\n\n.modal__close-button:hover {\n background-color: rgba(0, 0, 0, 0.3);\n}\n\n.modal__close-button:before,\n.modal__close-button:after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n width: 50%;\n height: 1px;\n background-color: rgba(255, 255, 255, 0.8);\n transform: translate(-50%, -50%) rotate(45deg);\n}\n\n.modal__close-button:after {\n transform: translate(-50%, -50%) rotate(-45deg);\n}\n\n/* circle ripple */\n\n.circle__overlay{\n overflow: hidden;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n position: absolute;\n background-color: var(--primary-background-color);\n border-radius: var(--button-border-radius);\n width: 10%;\n height: 10%;\n border: 2px var(--modal-logo-border-color) solid;\n transition: calc(var(--modal-animation-duration) + 200ms) var(--easing);\n transition-property: width, height, opacity;\n}\n\n.circle {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100px;\n height: 100px;\n border-radius: 50%;\n background-color: #E0E0E0;\n animation: circle__ripple 2s linear infinite;\n}\n\n.circle--medium {\n width: 150px;\n height: 150px;\n animation-duration: 2.5s;\n}\n\n.circle--large {\n width: 200px;\n height: 200px;\n animation-duration: 3s;\n}\n\n@keyframes circle__ripple {\n 0% {\n transform: translate(-50%, -50%) scale(0);\n opacity: 1;\n }\n 100% {\n transform: translate(-50%, -50%) scale(1.5);\n opacity: 0;\n }\n}\n","import { Element, Component, h, Host, Prop, Listen, State } from '@stencil/core';\nimport { UAParser } from 'ua-parser-js';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { Environment, ErrorCorrectionLevel, ThemePreset } from './enums';\nimport { Logger } from '../../utils/utils';\nimport * as utilsURL from '../../utils/url';\nimport Logo from './logo';\nimport { WS } from './websocket';\n\nconst maxInterval = 59 * 60 * 1000;\nconst minInterval = 10 * 1000;\n\nconst DEFAULT_CALLBACK_URL = window.location.origin + '/zero/auth';\nconst ANIMATION_DURATION = 3000\n\n@Component({\n tag: 'zero-account',\n styleUrl: 'zero-account.css',\n shadow: true,\n})\nexport class ZeroAccount {\n @Prop() appId!: string;\n @Prop() updateInterval?: number = 3 * 60 * 1000;\n @Prop({attribute: 'callback-url'}) callbackURL: string = DEFAULT_CALLBACK_URL;\n @Prop() modal?: boolean = true;\n @Prop() level?: ErrorCorrectionLevel = ErrorCorrectionLevel.M;\n @Prop() primaryColor: string = '#3C444F';\n @Prop() secondaryColor: string;\n @Prop() environment?: Environment = Environment.production;\n @Prop() enableWithCredentials?: boolean = false;\n @Prop() themePreset?: ThemePreset = ThemePreset.light;\n @Prop() autoStartApp? = true;\n\n private logger: Logger;\n private uaParser: UAParser;\n private ws: WS;\n\n private timer: number;\n private animationTimer: number;\n\n @Element() host: HTMLElement;\n private modalEl: HTMLDivElement;\n private closeButtonEl: HTMLDivElement;\n\n @State() modalOpen = false;\n @State() isAnimating = false;\n @State() url = '';\n\n private getUpdateInterval() {\n // make sure the provided value is within bounds\n return Math.min(Math.max(this.updateInterval, minInterval), maxInterval);\n }\n private refreshQR = (ignoreAnimate = false)=> {\n const update = () => {\n this.restartTimer();\n this.updateURL()\n }\n if (ignoreAnimate) return update();\n\n this.isAnimating = true\n this.animationTimer = window.setTimeout(()=>{\n update()\n this.isAnimating = false\n }, ANIMATION_DURATION)\n }\n\n @Listen('0account-toggle-modal', { target: 'document' })\n toggleModal() {\n this.modalOpen = !this.modalOpen;\n if (this.modalOpen) this.refreshQR(true)\n if ((this.modalOpen && this.autoStartApp) || this.isMobile()) this.openApp()\n }\n\n @Listen('0account-close-modal', { target: 'document' })\n @Listen('0account-authenticated', { target: 'document' })\n private _closeModal() {\n this.modalOpen = false;\n this.stopTimer()\n }\n\n private closeModal(e: MouseEvent) {\n if (e.target !== this.modalEl && e.target !== this.closeButtonEl) {\n return e.stopPropagation();\n }\n this._closeModal()\n }\n\n @Listen('0account-open-app', { target: 'document' })\n openApp() {\n if (this.modalOpen) {\n window.location.href = this.url\n }\n }\n\n render() {\n const logoColor = this.themePreset === ThemePreset.light ? '#7263FA': '#FFFFF9'\n const qrColor = this.themePreset === ThemePreset.light ? '#000': '#FFFFF9'\n return (\n <Host>\n <slot />\n {this.host.childNodes.length === 0 &&\n <button class={`button ${this.themePreset}`} onClick={()=>this.toggleModal()}>\n <Logo className='button__logo' color={logoColor} />\n use 0account\n </button>\n }\n <div\n ref={el => this.modalEl = el}\n onClick={(e) => this.closeModal(e)}\n class={`modal ${this.themePreset} ${this.isAnimating ? 'modal-animated': ''} ${this.modalOpen ? '' : 'modal--hidden'}`}>\n <div class='modal__content'>\n <div ref={el => this.closeButtonEl = el} class='modal__close-button'></div>\n <div class='modal__qrcode__container'>\n <qr-code url={this.url} class={`modal__qrcode`} level={this.level} color={qrColor}/>\n <div class='circle__overlay'>\n <div class='circle'></div>\n <div class='circle circle--medium'></div>\n <div class='circle circle--large'></div>\n </div>\n <Logo className='modal__logo' color={logoColor} />\n </div>\n <div class='modal__buttons'>\n <button onClick={()=>this.openApp()} class='modal__button'>Open the desktop app</button>\n <a href='#' class='modal__link'>Download the app</a>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n private hideOnEsc = (e) => {\n if ((e.key === 'Escape' || e.key === 'Esc')) {\n this.modalOpen = false;\n }\n };\n\n // called only once\n componentWillLoad() {\n this.logger = new Logger(this.environment);\n this.uaParser = new UAParser();\n this.ws = new WS(this.appId, {\n updateInterval: this.getUpdateInterval(),\n callbackURL: this.callbackURL,\n uaParser: this.uaParser,\n env: this.environment,\n log: this.log,\n })\n\n // make sure we initQR\n this.refreshQR(true)\n document.addEventListener('keydown', this.hideOnEsc);\n }\n\n private updateURL() {\n const expires = new Date().getTime() + this.getUpdateInterval();\n const uuid = uuidv4();\n this.ws.updateUUID(uuid);\n const params = utilsURL.appendToParams('', {\n appId: this.appId,\n uuid: uuid,\n expires: expires,\n })\n\n if (this.isMobile()) {\n this.url = 'https://launch.0account.com/auth?' + params;\n } else {\n this.url = 'zero-account://auth?' + params;\n }\n }\n\n isMobile() {\n const device = this.uaParser.getDevice()\n return device.type === 'tablet' || device.type === 'mobile'\n }\n\n connectedCallback() {\n this.startTimer()\n }\n\n disconnectedCallback() {\n this.stopTimer()\n document.removeEventListener('keydown', this.hideOnEsc);\n }\n\n private restartTimer() {\n this.stopTimer()\n this.startTimer()\n }\n\n private startTimer() {\n this.timer = window.setInterval(this.refreshQR, this.getUpdateInterval());\n }\n\n private stopTimer() {\n window.clearInterval(this.timer);\n window.clearTimeout(this.animationTimer);\n this.isAnimating = false\n }\n\n private log = (...args) => this.logger.log(...args);\n}\n"],"version":3}