{"version":3,"file":"static/js/vendors-a5ce148e.76003840.js","mappings":"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","sources":["../node_modules/ua-parser-js/src/ua-parser.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/use-memo-one/dist/use-memo-one.esm.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/use-sync-external-store/shim/with-selector.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/parse.js","../node_modules/uuid/dist/esm-browser/v35.js","../node_modules/uuid/dist/esm-browser/md5.js","../node_modules/uuid/dist/esm-browser/v3.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/uuid/dist/esm-browser/sha1.js","../node_modules/uuid/dist/esm-browser/v5.js","../node_modules/warning/warning.js","../node_modules/web-vitals/dist/web-vitals.js","../node_modules/zustand/esm/context.js","../node_modules/zustand/esm/index.js","../node_modules/zustand/esm/shallow.js","../node_modules/w3c-keyname/index.js"],"sourcesContent":["/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v0.7.40\n Copyright © 2012-2024 Faisal Salman \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 = '0.7.40',\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 = 500;\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 XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n FACEBOOK = 'Facebook',\n CHROMIUM_OS = 'Chromium OS',\n MAC_OS = 'Mac OS',\n SUFFIX_BROWSER = ' Browser';\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 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 map.hasOwnProperty('*') ? map['*'] : 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 /\\bop(?:rg)?x\\/([\\w\\.]+)/i // Opera GX\n ], [VERSION, [NAME, OPERA+' GX']], [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [\n\n // Mixed\n /\\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\\/ ]?([\\w\\.]+)/i // Baidu\n ], [VERSION, [NAME, 'Baidu']], [\n /\\b(?:mxbrowser|mxios|myie2)\\/?([-\\w\\.]*)\\b/i // Maxthon\n ], [VERSION, [NAME, 'Maxthon']], [\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\\/ ]?([\\w\\.]*)/i, \n // Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir\n // Trident based\n /(avant|iemobile|slim(?:browser|boat|jet))[\\/ ]?([\\d\\.]*)/i, // Avant/IEMobile/SlimBrowser/SlimBoat/Slimjet\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Blink/Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio/Dragon\n /(heytap|ovi|115)browser\\/([\\d\\.]+)/i, // HeyTap/Ovi/115\n /(weibo)__([\\d\\.]+)/i // Weibo\n ], [NAME, VERSION], [\n /quark(?:pc)?\\/([-\\w\\.]+)/i // Quark\n ], [VERSION, [NAME, 'Quark']], [\n /\\bddg\\/([\\w\\.]+)/i // DuckDuckGo\n ], [VERSION, [NAME, 'DuckDuckGo']], [\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 /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 /slbrowser\\/([\\w\\.]+)/i // Smart Lenovo Browser\n ], [VERSION, [NAME, 'Smart Lenovo '+BROWSER]], [\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' + SUFFIX_BROWSER]], [\n /fxios\\/([\\w\\.-]+)/i // Firefox for iOS\n ], [VERSION, [NAME, FIREFOX]], [\n /\\bqihoobrowser\\/?([\\w\\.]*)/i // 360\n ], [VERSION, [NAME, '360']], [\n /\\b(qq)\\/([\\w\\.]+)/i // QQ\n ], [[NAME, /(.+)/, '$1Browser'], VERSION], [\n /(oculus|sailfish|huawei|vivo|pico)browser\\/([\\w\\.]+)/i\n ], [[NAME, /(.+)/, '$1' + SUFFIX_BROWSER], VERSION], [ // Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser\n /samsungbrowser\\/([\\w\\.]+)/i // Samsung Internet\n ], [VERSION, [NAME, SAMSUNG + ' Internet']], [\n /metasr[\\/ ]?([\\d\\.]+)/i // Sogou Explorer\n ], [VERSION, [NAME, 'Sogou Explorer']], [\n /(sogou)mo\\w+\\/([\\d\\.]+)/i // Sogou Mobile\n ], [[NAME, 'Sogou Mobile'], VERSION], [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|2345(?=browser|chrome|explorer))\\w*[\\/ ]?v?([\\w\\.]+)/i // QQ/2345\n ], [NAME, VERSION], [\n /(lbbrowser|rekonq)/i, // LieBao Browser/Rekonq\n /\\[(linkedin)app\\]/i // LinkedIn App for iOS & Android\n ], [NAME], [\n /ome\\/([\\w\\.]+) \\w* ?(iron) saf/i, // Iron\n /ome\\/([\\w\\.]+).+qihu (360)[es]e/i // 360\n ], [VERSION, NAME], [\n\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, FACEBOOK], VERSION], [\n /(Klarna)\\/([\\w\\.]+)/i, // Klarna Shopping Browser for iOS & Android\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 /(alipay)client\\/([\\w\\.]+)/i, // Alipay\n /(twitter)(?:and| f.+e\\/([\\w\\.]+))/i, // Twitter\n /(chromium|instagram|snapchat)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram/Snapchat\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 /(wolvic|librewolf)\\/([\\w\\.]+)/i // Wolvic/LibreWolf\n ], [NAME, 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)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror\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|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser\n /(links) \\(([\\w\\.]+)/i // Links\n ], [NAME, [VERSION, /_/g, '.']], [\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)-(?![lr])\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i,\n /samsung[- ]((?!sm-[lr])[-\\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 // Honor\n /(?:honor)([-\\w ]+)[;\\)]/i\n ], [MODEL, [VENDOR, 'Honor'], [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)([-\\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 ]+|m2\\d{3}j\\d\\d[a-z]{2})(?: 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 /oid[^\\)]+; (m?[12][0-389][01]\\w{3,6}[c-y])( bui|; wv|\\))/i, // Xiaomi Redmi 'numeric' models\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\\))/i // Xiaomi Mi\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n /oid[^\\)]+; (2\\d{4}(283|rpbf)[cgl])( bui|\\))/i, // Redmi Pad\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 /\\b(opd2\\d{3}a?) bui/i\n ], [MODEL, [VENDOR, 'OPPO'], [TYPE, TABLET]], [\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[1-3]\\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(?!bc)\\w\\w)( 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 // TCL\n /droid [\\w\\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\\w*(\\)| bui)/i\n ], [MODEL, [VENDOR, 'TCL'], [TYPE, TABLET]], [\n\n // itel\n /(itel) ((\\w+))/i\n ], [[VENDOR, lowerize], MODEL, [TYPE, strMapper, { 'tablet' : ['p10001l', 'w7001'], '*' : '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 // Ulefone\n /; ((?:power )?armor(?:[\\w ]{0,8}))(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Ulefone'], [TYPE, MOBILE]], [\n\n // Energizer\n /; (energy ?\\w+)(?: bui|\\))/i,\n /; energizer ([\\w ]+)(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Energizer'], [TYPE, MOBILE]], [\n\n // Cat\n /; cat (b35);/i,\n /; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Cat'], [TYPE, MOBILE]], [\n\n // Smartfren\n /((?:new )?andromax[\\w- ]+)(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Smartfren'], [TYPE, MOBILE]], [\n\n // Nothing\n /droid.+; (a(?:015|06[35]|142p?))/i\n ], [MODEL, [VENDOR, 'Nothing'], [TYPE, MOBILE]], [\n\n // MIXED\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron/Infinix/Tecno/Micromax/Advan\n /; (imo) ((?!tab)[\\w ]+?)(?: bui|\\))/i, // IMO\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 /(imo) (tab \\w+)/i, // IMO\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 /\\b(sm-[lr]\\d\\d[05][fnuw]?s?)\\b/i // Samsung Galaxy Watch\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, WEARABLE]], [\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\n ///////////////////\n // XR\n ///////////////////\n\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n /(pico) (4|neo3(?: link|pro)?)/i // Pico\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /; (quest( \\d| 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|; wv\\)|\\) 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 /(arkweb)\\/([\\w\\.]+)/i // ArkWeb\n ], [NAME, VERSION], [\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|servo)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna/Servo\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 (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i // Windows Phone\n ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\n /windows nt 6\\.2; (arm)/i, // Windows RT\n /windows[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i,\n /(?:win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ], [[VERSION, strMapper, windowsVersionMap], [NAME, 'Windows']], [\n\n // iOS/macOS\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /(?:ios;fbsv\\/|iphone.+ios[\\/ ])([\\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/OpenHarmony\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish|openharmony)[-\\/ ]?([\\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 && _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","import invariant from 'invariant';\n\nvar noop = function noop() {};\n\nfunction readOnlyPropType(handler, name) {\n return function (props, propName) {\n if (props[propName] !== undefined) {\n if (!props[handler]) {\n return new Error(\"You have provided a `\" + propName + \"` prop to `\" + name + \"` \" + (\"without an `\" + handler + \"` handler prop. This will render a read-only field. \") + (\"If the field should be mutable use `\" + defaultKey(propName) + \"`. \") + (\"Otherwise, set `\" + handler + \"`.\"));\n }\n }\n };\n}\n\nexport function uncontrolledPropTypes(controlledValues, displayName) {\n var propTypes = {};\n Object.keys(controlledValues).forEach(function (prop) {\n // add default propTypes for folks that use runtime checks\n propTypes[defaultKey(prop)] = noop;\n\n if (process.env.NODE_ENV !== 'production') {\n var handler = controlledValues[prop];\n !(typeof handler === 'string' && handler.trim().length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop) : invariant(false) : void 0;\n propTypes[prop] = readOnlyPropType(handler, displayName);\n }\n });\n return propTypes;\n}\nexport function isProp(props, prop) {\n return props[prop] !== undefined;\n}\nexport function defaultKey(key) {\n return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nexport function canAcceptRef(component) {\n return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nimport { useCallback, useRef, useState } from 'react';\nimport * as Utils from './utils';\n\nfunction useUncontrolledProp(propValue, defaultValue, handler) {\n var wasPropRef = useRef(propValue !== undefined);\n\n var _useState = useState(defaultValue),\n stateValue = _useState[0],\n setState = _useState[1];\n\n var isProp = propValue !== undefined;\n var wasProp = wasPropRef.current;\n wasPropRef.current = isProp;\n /**\n * If a prop switches from controlled to Uncontrolled\n * reset its value to the defaultValue\n */\n\n if (!isProp && wasProp && stateValue !== defaultValue) {\n setState(defaultValue);\n }\n\n return [isProp ? propValue : stateValue, useCallback(function (value) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (handler) handler.apply(void 0, [value].concat(args));\n setState(value);\n }, [handler])];\n}\n\nexport { useUncontrolledProp };\nexport default function useUncontrolled(props, config) {\n return Object.keys(config).reduce(function (result, fieldName) {\n var _extends2;\n\n var _ref = result,\n defaultValue = _ref[Utils.defaultKey(fieldName)],\n propsValue = _ref[fieldName],\n rest = _objectWithoutPropertiesLoose(_ref, [Utils.defaultKey(fieldName), fieldName].map(_toPropertyKey));\n\n var handlerName = config[fieldName];\n\n var _useUncontrolledProp = useUncontrolledProp(propsValue, defaultValue, props[handlerName]),\n value = _useUncontrolledProp[0],\n handler = _useUncontrolledProp[1];\n\n return _extends({}, rest, (_extends2 = {}, _extends2[fieldName] = value, _extends2[handlerName] = handler, _extends2));\n }, props);\n}","import { useState, useRef, useEffect } from 'react';\n\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction useMemoOne(getResult, inputs) {\n var initial = useState(function () {\n return {\n inputs: inputs,\n result: getResult()\n };\n })[0];\n var isFirstRun = useRef(true);\n var committed = useRef(initial);\n var useCache = isFirstRun.current || Boolean(inputs && committed.current.inputs && areInputsEqual(inputs, committed.current.inputs));\n var cache = useCache ? committed.current : {\n inputs: inputs,\n result: getResult()\n };\n useEffect(function () {\n isFirstRun.current = false;\n committed.current = cache;\n }, [cache]);\n return cache.result;\n}\nfunction useCallbackOne(callback, inputs) {\n return useMemoOne(function () {\n return callback;\n }, inputs);\n}\nvar useMemo = useMemoOne;\nvar useCallback = useCallbackOne;\n\nexport { useCallback, useCallbackOne, useMemo, useMemoOne };\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\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}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","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]];\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;","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","import { unsafeStringify } from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function v35(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n var _namespace;\n\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (let i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n const output = [];\n const length32 = input.length * 32;\n const hexTab = '0123456789abcdef';\n\n for (let i = 0; i < length32; i += 8) {\n const x = input[i >> 5] >>> i % 32 & 0xff;\n const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n const length8 = input.length * 8;\n const output = new Uint32Array(getOutputLength(length8));\n\n for (let i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nexport default md5;","import v35 from './v35.js';\nimport md5 from './md5.js';\nconst v3 = v35('v3', 0x30, md5);\nexport default v3;","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;","// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (let i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n\n for (let j = 0; j < 16; ++j) {\n arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n\n M[i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nconst v5 = v35('v5', 0x50, sha1);\nexport default v5;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","var e,t,n,i,r=function(e,t){return{name:e,value:void 0===t?-1:t,delta:0,entries:[],id:\"v2-\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12)}},a=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){if(\"first-input\"===e&&!(\"PerformanceEventTiming\"in self))return;var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},o=function(e,t){var n=function n(i){\"pagehide\"!==i.type&&\"hidden\"!==document.visibilityState||(e(i),t&&(removeEventListener(\"visibilitychange\",n,!0),removeEventListener(\"pagehide\",n,!0)))};addEventListener(\"visibilitychange\",n,!0),addEventListener(\"pagehide\",n,!0)},u=function(e){addEventListener(\"pageshow\",(function(t){t.persisted&&e(t)}),!0)},c=function(e,t,n){var i;return function(r){t.value>=0&&(r||n)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},f=-1,s=function(){return\"hidden\"===document.visibilityState?0:1/0},m=function(){o((function(e){var t=e.timeStamp;f=t}),!0)},v=function(){return f<0&&(f=s(),m(),u((function(){setTimeout((function(){f=s(),m()}),0)}))),{get firstHiddenTime(){return f}}},d=function(e,t){var n,i=v(),o=r(\"FCP\"),f=function(e){\"first-contentful-paint\"===e.name&&(m&&m.disconnect(),e.startTime-1&&e(t)},f=r(\"CLS\",0),s=0,m=[],v=function(e){if(!e.hadRecentInput){var t=m[0],i=m[m.length-1];s&&e.startTime-i.startTime<1e3&&e.startTime-t.startTime<5e3?(s+=e.value,m.push(e)):(s=e.value,m=[e]),s>f.value&&(f.value=s,f.entries=m,n())}},h=a(\"layout-shift\",v);h&&(n=c(i,f,t),o((function(){h.takeRecords().map(v),n(!0)})),u((function(){s=0,l=-1,f=r(\"CLS\",0),n=c(i,f,t)})))},T={passive:!0,capture:!0},y=new Date,g=function(i,r){e||(e=r,t=i,n=new Date,w(removeEventListener),E())},E=function(){if(t>=0&&t1e12?new Date:performance.now())-e.timeStamp;\"pointerdown\"==e.type?function(e,t){var n=function(){g(e,t),r()},i=function(){r()},r=function(){removeEventListener(\"pointerup\",n,T),removeEventListener(\"pointercancel\",i,T)};addEventListener(\"pointerup\",n,T),addEventListener(\"pointercancel\",i,T)}(t,e):g(t,e)}},w=function(e){[\"mousedown\",\"keydown\",\"touchstart\",\"pointerdown\"].forEach((function(t){return e(t,S,T)}))},L=function(n,f){var s,m=v(),d=r(\"FID\"),p=function(e){e.startTimeperformance.now())return;n.entries=[t],e(n)}catch(e){}},\"complete\"===document.readyState?setTimeout(t,0):addEventListener(\"load\",(function(){return setTimeout(t,0)}))};export{h as getCLS,d as getFCP,L as getFID,F as getLCP,P as getTTFB};\n","import { createContext as createContext$1, useRef, createElement, useContext, useMemo } from 'react';\n\nfunction createContext() {\n const ZustandContext = createContext$1(void 0);\n const Provider = ({\n initialStore,\n createStore,\n children\n }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n if (initialStore) {\n console.warn(\"Provider initialStore is deprecated and will be removed in the next version.\");\n if (!createStore) {\n createStore = () => initialStore;\n }\n }\n storeRef.current = createStore();\n }\n return createElement(ZustandContext.Provider, { value: storeRef.current }, children);\n };\n const useStore = (selector, equalityFn = Object.is) => {\n const useProviderStore = useContext(ZustandContext);\n if (!useProviderStore) {\n throw new Error(\"Seems like you have not used zustand provider as an ancestor.\");\n }\n return useProviderStore(selector, equalityFn);\n };\n const useStoreApi = () => {\n const useProviderStore = useContext(ZustandContext);\n if (!useProviderStore) {\n throw new Error(\"Seems like you have not used zustand provider as an ancestor.\");\n }\n return useMemo(() => ({\n getState: useProviderStore.getState,\n setState: useProviderStore.setState,\n subscribe: useProviderStore.subscribe,\n destroy: useProviderStore.destroy\n }), [useProviderStore]);\n };\n return {\n Provider,\n useStore,\n useStoreApi\n };\n}\n\nexport { createContext as default };\n","import { useReducer, useRef, useDebugValue, useEffect, useLayoutEffect } from 'react';\n\nfunction createStore(createState) {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (nextState !== state) {\n const previousState = state;\n state = replace ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const subscribeWithSelector = (listener, selector = getState, equalityFn = Object.is) => {\n console.warn(\"[DEPRECATED] Please use `subscribeWithSelector` middleware\");\n let currentSlice = selector(state);\n function listenerToAdd() {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n listener(currentSlice = nextSlice, previousSlice);\n }\n }\n listeners.add(listenerToAdd);\n return () => listeners.delete(listenerToAdd);\n };\n const subscribe = (listener, selector, equalityFn) => {\n if (selector || equalityFn) {\n return subscribeWithSelector(listener, selector, equalityFn);\n }\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => listeners.clear();\n const api = { setState, getState, subscribe, destroy };\n state = createState(setState, getState, api);\n return api;\n}\n\nconst isSSR = typeof window === \"undefined\" || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\nconst useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;\nfunction create(createState) {\n const api = typeof createState === \"function\" ? createStore(createState) : createState;\n const useStore = (selector = api.getState, equalityFn = Object.is) => {\n const [, forceUpdate] = useReducer((c) => c + 1, 0);\n const state = api.getState();\n const stateRef = useRef(state);\n const selectorRef = useRef(selector);\n const equalityFnRef = useRef(equalityFn);\n const erroredRef = useRef(false);\n const currentSliceRef = useRef();\n if (currentSliceRef.current === void 0) {\n currentSliceRef.current = selector(state);\n }\n let newStateSlice;\n let hasNewStateSlice = false;\n if (stateRef.current !== state || selectorRef.current !== selector || equalityFnRef.current !== equalityFn || erroredRef.current) {\n newStateSlice = selector(state);\n hasNewStateSlice = !equalityFn(currentSliceRef.current, newStateSlice);\n }\n useIsomorphicLayoutEffect(() => {\n if (hasNewStateSlice) {\n currentSliceRef.current = newStateSlice;\n }\n stateRef.current = state;\n selectorRef.current = selector;\n equalityFnRef.current = equalityFn;\n erroredRef.current = false;\n });\n const stateBeforeSubscriptionRef = useRef(state);\n useIsomorphicLayoutEffect(() => {\n const listener = () => {\n try {\n const nextState = api.getState();\n const nextStateSlice = selectorRef.current(nextState);\n if (!equalityFnRef.current(currentSliceRef.current, nextStateSlice)) {\n stateRef.current = nextState;\n currentSliceRef.current = nextStateSlice;\n forceUpdate();\n }\n } catch (error) {\n erroredRef.current = true;\n forceUpdate();\n }\n };\n const unsubscribe = api.subscribe(listener);\n if (api.getState() !== stateBeforeSubscriptionRef.current) {\n listener();\n }\n return unsubscribe;\n }, []);\n const sliceToReturn = hasNewStateSlice ? newStateSlice : currentSliceRef.current;\n useDebugValue(sliceToReturn);\n return sliceToReturn;\n };\n Object.assign(useStore, api);\n useStore[Symbol.iterator] = function() {\n console.warn(\"[useStore, api] = create() is deprecated and will be removed in v4\");\n const items = [useStore, api];\n return {\n next() {\n const done = items.length <= 0;\n return { value: items.shift(), done };\n }\n };\n };\n return useStore;\n}\n\nexport { create as default };\n","function shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\n\nexport { shallow as default };\n","export var base = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 10: \"Enter\",\n 12: \"NumLock\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 44: \"PrintScreen\",\n 45: \"Insert\",\n 46: \"Delete\",\n 59: \";\",\n 61: \"=\",\n 91: \"Meta\",\n 92: \"Meta\",\n 106: \"*\",\n 107: \"+\",\n 108: \",\",\n 109: \"-\",\n 110: \".\",\n 111: \"/\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 160: \"Shift\",\n 161: \"Shift\",\n 162: \"Control\",\n 163: \"Control\",\n 164: \"Alt\",\n 165: \"Alt\",\n 173: \"-\",\n 186: \";\",\n 187: \"=\",\n 188: \",\",\n 189: \"-\",\n 190: \".\",\n 191: \"/\",\n 192: \"`\",\n 219: \"[\",\n 220: \"\\\\\",\n 221: \"]\",\n 222: \"'\"\n}\n\nexport var shift = {\n 48: \")\",\n 49: \"!\",\n 50: \"@\",\n 51: \"#\",\n 52: \"$\",\n 53: \"%\",\n 54: \"^\",\n 55: \"&\",\n 56: \"*\",\n 57: \"(\",\n 59: \":\",\n 61: \"+\",\n 173: \"_\",\n 186: \":\",\n 187: \"+\",\n 188: \"<\",\n 189: \"_\",\n 190: \">\",\n 191: \"?\",\n 192: \"~\",\n 219: \"{\",\n 220: \"|\",\n 221: \"}\",\n 222: \"\\\"\"\n}\n\nvar mac = typeof navigator != \"undefined\" && /Mac/.test(navigator.platform)\nvar ie = typeof navigator != \"undefined\" && /MSIE \\d|Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(navigator.userAgent)\n\n// Fill in the digit keys\nfor (var i = 0; i < 10; i++) base[48 + i] = base[96 + i] = String(i)\n\n// The function keys\nfor (var i = 1; i <= 24; i++) base[i + 111] = \"F\" + i\n\n// And the alphabetic keys\nfor (var i = 65; i <= 90; i++) {\n base[i] = String.fromCharCode(i + 32)\n shift[i] = String.fromCharCode(i)\n}\n\n// For each code that doesn't have a shift-equivalent, copy the base name\nfor (var code in base) if (!shift.hasOwnProperty(code)) shift[code] = base[code]\n\nexport function keyName(event) {\n // On macOS, keys held with Shift and Cmd don't reflect the effect of Shift in `.key`.\n // On IE, shift effect is never included in `.key`.\n var ignoreKey = mac && event.metaKey && event.shiftKey && !event.ctrlKey && !event.altKey ||\n ie && event.shiftKey && event.key && event.key.length == 1 ||\n event.key == \"Unidentified\"\n var name = (!ignoreKey && event.key) ||\n (event.shiftKey ? shift : base)[event.keyCode] ||\n event.key || \"Unidentified\"\n // Edge sometimes produces wrong names (Issue #3)\n if (name == \"Esc\") name = \"Escape\"\n if (name == \"Del\") name = \"Delete\"\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8860571/\n if (name == \"Left\") name = \"ArrowLeft\"\n if (name == \"Up\") name = \"ArrowUp\"\n if (name == \"Right\") name = \"ArrowRight\"\n if (name == \"Down\") name = \"ArrowDown\"\n return name\n}\n"],"names":["window","undefined","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MAJOR","MODEL","NAME","TYPE","VENDOR","VERSION","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","AMAZON","APPLE","ASUS","BLACKBERRY","BROWSER","CHROME","FIREFOX","GOOGLE","HUAWEI","LG","MICROSOFT","MOTOROLA","OPERA","SAMSUNG","SHARP","SONY","XIAOMI","ZEBRA","FACEBOOK","CHROMIUM_OS","MAC_OS","SUFFIX_BROWSER","enumerize","arr","enums","i","length","toUpperCase","has","str1","str2","lowerize","indexOf","str","toLowerCase","trim","len","replace","substring","rgxMapper","ua","arrays","j","k","p","q","matches","match","regex","props","exec","this","call","test","strMapper","map","hasOwnProperty","windowsVersionMap","regexes","browser","cpu","device","engine","EDGE","os","UAParser","extensions","getResult","_navigator","navigator","_ua","userAgent","_uach","userAgentData","_rgxmap","mergedRegexes","concat","extend","_isSelfNav","getBrowser","version","_browser","split","brave","isBrave","getCPU","_cpu","getDevice","_device","mobile","standalone","maxTouchPoints","getEngine","_engine","getOS","_os","platform","getUA","setUA","CPU","DEVICE","ENGINE","OS","exports","module","define","$","jQuery","Zepto","parser","get","set","result","prop","defaultKey","key","charAt","substr","_toPropertyKey","arg","input","hint","prim","Symbol","toPrimitive","res","TypeError","String","Number","_toPrimitive","useUncontrolled","config","Object","keys","reduce","fieldName","_extends2","_ref","defaultValue","Utils","propsValue","rest","_objectWithoutPropertiesLoose","handlerName","_useUncontrolledProp","propValue","handler","wasPropRef","useRef","_useState","useState","stateValue","setState","isProp","wasProp","current","useCallback","value","_len","arguments","args","Array","_key","apply","useUncontrolledProp","_extends","useMemoOne","inputs","initial","isFirstRun","committed","cache","Boolean","newInputs","lastInputs","areInputsEqual","useEffect","useMemo","useCallbackOne","callback","React","require","objectIs","is","x","y","useLayoutEffect","useDebugValue","checkIfSnapshotChanged","inst","latestGetSnapshot","getSnapshot","nextValue","error","shim","document","createElement","subscribe","forceUpdate","useSyncExternalStore","useSyncExternalStoreWithSelector","getServerSnapshot","selector","isEqual","instRef","hasValue","memoizedSelector","nextSnapshot","hasMemo","memoizedSnapshot","currentSelection","memoizedSelection","nextSelection","maybeGetServerSnapshot","getRandomValues","rnds8","Uint8Array","rng","crypto","bind","Error","uuid","REGEX","byteToHex","push","toString","slice","unsafeStringify","offset","validate","v","parseInt","v35","name","hashfunc","generateUUID","namespace","buf","_namespace","unescape","encodeURIComponent","bytes","charCodeAt","stringToBytes","parse","err","DNS","URL","getOutputLength","inputLength8","safeAdd","lsw","md5cmn","a","b","s","t","num","cnt","md5ff","c","d","md5gg","md5hh","md5ii","msg","output","length32","hexTab","hex","md5ToHexEncodedArray","olda","oldb","oldc","oldd","wordsToMd5","length8","Uint32Array","bytesToWords","randomUUID","options","native","rnds","random","f","z","ROTL","n","K","H","isArray","prototype","l","N","Math","ceil","M","pow","floor","W","e","T","warning","r","delta","entries","id","Date","now","PerformanceObserver","supportedEntryTypes","includes","self","getEntries","observe","type","buffered","o","visibilityState","removeEventListener","addEventListener","u","persisted","m","timeStamp","setTimeout","firstHiddenTime","disconnect","startTime","performance","getEntriesByName","requestAnimationFrame","h","hadRecentInput","takeRecords","passive","capture","g","w","E","entryType","target","cancelable","processingStart","forEach","S","L","F","once","P","getEntriesByType","timing","max","navigationStart","responseStart","readyState","createContext","ZustandContext","createContext$1","Provider","initialStore","createStore","children","storeRef","useStore","equalityFn","useProviderStore","useContext","useStoreApi","getState","destroy","createState","state","listeners","Set","partial","nextState","previousState","assign","listener","api","currentSlice","listenerToAdd","nextSlice","previousSlice","add","delete","subscribeWithSelector","clear","isSSR","useIsomorphicLayoutEffect","create","useReducer","stateRef","selectorRef","equalityFnRef","erroredRef","currentSliceRef","newStateSlice","hasNewStateSlice","stateBeforeSubscriptionRef","nextStateSlice","unsubscribe","sliceToReturn","iterator","items","next","done","shift","shallow","objA","objB","keysA","base","mac","ie","fromCharCode","code","keyName","event","metaKey","shiftKey","ctrlKey","altKey","keyCode"],"sourceRoot":""}