absolute-widget
Version:
An embeddable User Login and Registration using Absolute & PasswordLess with consent page
6 lines • 563 kB
JavaScript
"use strict";var Ly=Object.defineProperty;var By=(e,t,r)=>t in e?Ly(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Lo=(e,t,r)=>By(e,typeof t!="symbol"?t+"":t,r);const w=require("react/jsx-runtime"),G=require("react"),Jo=require("react-dom");function Rp(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const R=Rp(G),_y=Rp(Jo);function Tp(e,t){return function(){return e.apply(t,arguments)}}const{toString:Wy}=Object.prototype,{getPrototypeOf:gc}=Object,Js=(e=>t=>{const r=Wy.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),Cr=e=>(e=e.toLowerCase(),t=>Js(t)===e),Ks=e=>t=>typeof t===e,{isArray:So}=Array,fi=Ks("undefined");function Vy(e){return e!==null&&!fi(e)&&e.constructor!==null&&!fi(e.constructor)&&tr(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ap=Cr("ArrayBuffer");function zy(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ap(e.buffer),t}const Uy=Ks("string"),tr=Ks("function"),kp=Ks("number"),Qs=e=>e!==null&&typeof e=="object",Yy=e=>e===!0||e===!1,fs=e=>{if(Js(e)!=="object")return!1;const t=gc(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Hy=Cr("Date"),$y=Cr("File"),Gy=Cr("Blob"),qy=Cr("FileList"),Xy=e=>Qs(e)&&tr(e.pipe),Zy=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||tr(e.append)&&((t=Js(e))==="formdata"||t==="object"&&tr(e.toString)&&e.toString()==="[object FormData]"))},Jy=Cr("URLSearchParams"),[Ky,Qy,ev,tv]=["ReadableStream","Request","Response","Headers"].map(Cr),rv=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Oi(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,o;if(typeof e!="object"&&(e=[e]),So(e))for(n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else{const i=r?Object.getOwnPropertyNames(e):Object.keys(e),s=i.length;let a;for(n=0;n<s;n++)a=i[n],t.call(null,e[a],a,e)}}function Ep(e,t){t=t.toLowerCase();const r=Object.keys(e);let n=r.length,o;for(;n-- >0;)if(o=r[n],t===o.toLowerCase())return o;return null}const En=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Pp=e=>!fi(e)&&e!==En;function yl(){const{caseless:e}=Pp(this)&&this||{},t={},r=(n,o)=>{const i=e&&Ep(t,o)||o;fs(t[i])&&fs(n)?t[i]=yl(t[i],n):fs(n)?t[i]=yl({},n):So(n)?t[i]=n.slice():t[i]=n};for(let n=0,o=arguments.length;n<o;n++)arguments[n]&&Oi(arguments[n],r);return t}const nv=(e,t,r,{allOwnKeys:n}={})=>(Oi(t,(o,i)=>{r&&tr(o)?e[i]=Tp(o,r):e[i]=o},{allOwnKeys:n}),e),ov=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),iv=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},sv=(e,t,r,n)=>{let o,i,s;const a={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)s=o[i],(!n||n(s,e,t))&&!a[s]&&(t[s]=e[s],a[s]=!0);e=r!==!1&&gc(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},av=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return n!==-1&&n===r},lv=e=>{if(!e)return null;if(So(e))return e;let t=e.length;if(!kp(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},cv=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&gc(Uint8Array)),uv=(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let o;for(;(o=n.next())&&!o.done;){const i=o.value;t.call(e,i[0],i[1])}},dv=(e,t)=>{let r;const n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},fv=Cr("HTMLFormElement"),pv=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,o){return n.toUpperCase()+o}),Qu=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),hv=Cr("RegExp"),Op=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};Oi(r,(o,i)=>{let s;(s=t(o,i,e))!==!1&&(n[i]=s||o)}),Object.defineProperties(e,n)},mv=e=>{Op(e,(t,r)=>{if(tr(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const n=e[r];if(tr(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},gv=(e,t)=>{const r={},n=o=>{o.forEach(i=>{r[i]=!0})};return So(e)?n(e):n(String(e).split(t)),r},yv=()=>{},vv=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function bv(e){return!!(e&&tr(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const wv=e=>{const t=new Array(10),r=(n,o)=>{if(Qs(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[o]=n;const i=So(n)?[]:{};return Oi(n,(s,a)=>{const l=r(s,o+1);!fi(l)&&(i[a]=l)}),t[o]=void 0,i}}return n};return r(e,0)},xv=Cr("AsyncFunction"),Sv=e=>e&&(Qs(e)||tr(e))&&tr(e.then)&&tr(e.catch),Mp=((e,t)=>e?setImmediate:t?((r,n)=>(En.addEventListener("message",({source:o,data:i})=>{o===En&&i===r&&n.length&&n.shift()()},!1),o=>{n.push(o),En.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",tr(En.postMessage)),Cv=typeof queueMicrotask<"u"?queueMicrotask.bind(En):typeof process<"u"&&process.nextTick||Mp,B={isArray:So,isArrayBuffer:Ap,isBuffer:Vy,isFormData:Zy,isArrayBufferView:zy,isString:Uy,isNumber:kp,isBoolean:Yy,isObject:Qs,isPlainObject:fs,isReadableStream:Ky,isRequest:Qy,isResponse:ev,isHeaders:tv,isUndefined:fi,isDate:Hy,isFile:$y,isBlob:Gy,isRegExp:hv,isFunction:tr,isStream:Xy,isURLSearchParams:Jy,isTypedArray:cv,isFileList:qy,forEach:Oi,merge:yl,extend:nv,trim:rv,stripBOM:ov,inherits:iv,toFlatObject:sv,kindOf:Js,kindOfTest:Cr,endsWith:av,toArray:lv,forEachEntry:uv,matchAll:dv,isHTMLForm:fv,hasOwnProperty:Qu,hasOwnProp:Qu,reduceDescriptors:Op,freezeMethods:mv,toObjectSet:gv,toCamelCase:pv,noop:yv,toFiniteNumber:vv,findKey:Ep,global:En,isContextDefined:Pp,isSpecCompliantForm:bv,toJSONObject:wv,isAsyncFn:xv,isThenable:Sv,setImmediate:Mp,asap:Cv};function Me(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}B.inherits(Me,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:B.toJSONObject(this.config),code:this.code,status:this.status}}});const Ip=Me.prototype,Np={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Np[e]={value:e}});Object.defineProperties(Me,Np);Object.defineProperty(Ip,"isAxiosError",{value:!0});Me.from=(e,t,r,n,o,i)=>{const s=Object.create(Ip);return B.toFlatObject(e,s,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),Me.call(s,e.message,t,r,n,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};const Rv=null;function vl(e){return B.isPlainObject(e)||B.isArray(e)}function Dp(e){return B.endsWith(e,"[]")?e.slice(0,-2):e}function ed(e,t,r){return e?e.concat(t).map(function(o,i){return o=Dp(o),!r&&i?"["+o+"]":o}).join(r?".":""):t}function Tv(e){return B.isArray(e)&&!e.some(vl)}const Av=B.toFlatObject(B,{},null,function(t){return/^is[A-Z]/.test(t)});function ea(e,t,r){if(!B.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,r=B.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,g){return!B.isUndefined(g[h])});const n=r.metaTokens,o=r.visitor||u,i=r.dots,s=r.indexes,l=(r.Blob||typeof Blob<"u"&&Blob)&&B.isSpecCompliantForm(t);if(!B.isFunction(o))throw new TypeError("visitor must be a function");function c(f){if(f===null)return"";if(B.isDate(f))return f.toISOString();if(!l&&B.isBlob(f))throw new Me("Blob is not supported. Use a Buffer instead.");return B.isArrayBuffer(f)||B.isTypedArray(f)?l&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function u(f,h,g){let S=f;if(f&&!g&&typeof f=="object"){if(B.endsWith(h,"{}"))h=n?h:h.slice(0,-2),f=JSON.stringify(f);else if(B.isArray(f)&&Tv(f)||(B.isFileList(f)||B.endsWith(h,"[]"))&&(S=B.toArray(f)))return h=Dp(h),S.forEach(function(y,b){!(B.isUndefined(y)||y===null)&&t.append(s===!0?ed([h],b,i):s===null?h:h+"[]",c(y))}),!1}return vl(f)?!0:(t.append(ed(g,h,i),c(f)),!1)}const d=[],p=Object.assign(Av,{defaultVisitor:u,convertValue:c,isVisitable:vl});function m(f,h){if(!B.isUndefined(f)){if(d.indexOf(f)!==-1)throw Error("Circular reference detected in "+h.join("."));d.push(f),B.forEach(f,function(S,C){(!(B.isUndefined(S)||S===null)&&o.call(t,S,B.isString(C)?C.trim():C,h,p))===!0&&m(S,h?h.concat(C):[C])}),d.pop()}}if(!B.isObject(e))throw new TypeError("data must be an object");return m(e),t}function td(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function yc(e,t){this._pairs=[],e&&ea(e,this,t)}const jp=yc.prototype;jp.append=function(t,r){this._pairs.push([t,r])};jp.toString=function(t){const r=t?function(n){return t.call(this,n,td)}:td;return this._pairs.map(function(o){return r(o[0])+"="+r(o[1])},"").join("&")};function kv(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Fp(e,t,r){if(!t)return e;const n=r&&r.encode||kv;B.isFunction(r)&&(r={serialize:r});const o=r&&r.serialize;let i;if(o?i=o(t,r):i=B.isURLSearchParams(t)?t.toString():new yc(t,r).toString(n),i){const s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class rd{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){B.forEach(this.handlers,function(n){n!==null&&t(n)})}}const Lp={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ev=typeof URLSearchParams<"u"?URLSearchParams:yc,Pv=typeof FormData<"u"?FormData:null,Ov=typeof Blob<"u"?Blob:null,Mv={isBrowser:!0,classes:{URLSearchParams:Ev,FormData:Pv,Blob:Ov},protocols:["http","https","file","blob","url","data"]},vc=typeof window<"u"&&typeof document<"u",bl=typeof navigator=="object"&&navigator||void 0,Iv=vc&&(!bl||["ReactNative","NativeScript","NS"].indexOf(bl.product)<0),Nv=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Dv=vc&&window.location.href||"http://localhost",jv=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:vc,hasStandardBrowserEnv:Iv,hasStandardBrowserWebWorkerEnv:Nv,navigator:bl,origin:Dv},Symbol.toStringTag,{value:"Module"})),Wt={...jv,...Mv};function Fv(e,t){return ea(e,new Wt.classes.URLSearchParams,Object.assign({visitor:function(r,n,o,i){return Wt.isNode&&B.isBuffer(r)?(this.append(n,r.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function Lv(e){return B.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Bv(e){const t={},r=Object.keys(e);let n;const o=r.length;let i;for(n=0;n<o;n++)i=r[n],t[i]=e[i];return t}function Bp(e){function t(r,n,o,i){let s=r[i++];if(s==="__proto__")return!0;const a=Number.isFinite(+s),l=i>=r.length;return s=!s&&B.isArray(o)?o.length:s,l?(B.hasOwnProp(o,s)?o[s]=[o[s],n]:o[s]=n,!a):((!o[s]||!B.isObject(o[s]))&&(o[s]=[]),t(r,n,o[s],i)&&B.isArray(o[s])&&(o[s]=Bv(o[s])),!a)}if(B.isFormData(e)&&B.isFunction(e.entries)){const r={};return B.forEachEntry(e,(n,o)=>{t(Lv(n),o,r,0)}),r}return null}function _v(e,t,r){if(B.isString(e))try{return(t||JSON.parse)(e),B.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}const Mi={transitional:Lp,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){const n=r.getContentType()||"",o=n.indexOf("application/json")>-1,i=B.isObject(t);if(i&&B.isHTMLForm(t)&&(t=new FormData(t)),B.isFormData(t))return o?JSON.stringify(Bp(t)):t;if(B.isArrayBuffer(t)||B.isBuffer(t)||B.isStream(t)||B.isFile(t)||B.isBlob(t)||B.isReadableStream(t))return t;if(B.isArrayBufferView(t))return t.buffer;if(B.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Fv(t,this.formSerializer).toString();if((a=B.isFileList(t))||n.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return ea(a?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||o?(r.setContentType("application/json",!1),_v(t)):t}],transformResponse:[function(t){const r=this.transitional||Mi.transitional,n=r&&r.forcedJSONParsing,o=this.responseType==="json";if(B.isResponse(t)||B.isReadableStream(t))return t;if(t&&B.isString(t)&&(n&&!this.responseType||o)){const s=!(r&&r.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(a){if(s)throw a.name==="SyntaxError"?Me.from(a,Me.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Wt.classes.FormData,Blob:Wt.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};B.forEach(["delete","get","head","post","put","patch"],e=>{Mi.headers[e]={}});const Wv=B.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Vv=e=>{const t={};let r,n,o;return e&&e.split(`
`).forEach(function(s){o=s.indexOf(":"),r=s.substring(0,o).trim().toLowerCase(),n=s.substring(o+1).trim(),!(!r||t[r]&&Wv[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t},nd=Symbol("internals");function Bo(e){return e&&String(e).trim().toLowerCase()}function ps(e){return e===!1||e==null?e:B.isArray(e)?e.map(ps):String(e)}function zv(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}const Uv=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function ja(e,t,r,n,o){if(B.isFunction(n))return n.call(this,t,r);if(o&&(t=r),!!B.isString(t)){if(B.isString(n))return t.indexOf(n)!==-1;if(B.isRegExp(n))return n.test(t)}}function Yv(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function Hv(e,t){const r=B.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(o,i,s){return this[n].call(this,t,o,i,s)},configurable:!0})})}let Xt=class{constructor(t){t&&this.set(t)}set(t,r,n){const o=this;function i(a,l,c){const u=Bo(l);if(!u)throw new Error("header name must be a non-empty string");const d=B.findKey(o,u);(!d||o[d]===void 0||c===!0||c===void 0&&o[d]!==!1)&&(o[d||l]=ps(a))}const s=(a,l)=>B.forEach(a,(c,u)=>i(c,u,l));if(B.isPlainObject(t)||t instanceof this.constructor)s(t,r);else if(B.isString(t)&&(t=t.trim())&&!Uv(t))s(Vv(t),r);else if(B.isHeaders(t))for(const[a,l]of t.entries())i(l,a,n);else t!=null&&i(r,t,n);return this}get(t,r){if(t=Bo(t),t){const n=B.findKey(this,t);if(n){const o=this[n];if(!r)return o;if(r===!0)return zv(o);if(B.isFunction(r))return r.call(this,o,n);if(B.isRegExp(r))return r.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=Bo(t),t){const n=B.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||ja(this,this[n],n,r)))}return!1}delete(t,r){const n=this;let o=!1;function i(s){if(s=Bo(s),s){const a=B.findKey(n,s);a&&(!r||ja(n,n[a],a,r))&&(delete n[a],o=!0)}}return B.isArray(t)?t.forEach(i):i(t),o}clear(t){const r=Object.keys(this);let n=r.length,o=!1;for(;n--;){const i=r[n];(!t||ja(this,this[i],i,t,!0))&&(delete this[i],o=!0)}return o}normalize(t){const r=this,n={};return B.forEach(this,(o,i)=>{const s=B.findKey(n,i);if(s){r[s]=ps(o),delete r[i];return}const a=t?Yv(i):String(i).trim();a!==i&&delete r[i],r[a]=ps(o),n[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const r=Object.create(null);return B.forEach(this,(n,o)=>{n!=null&&n!==!1&&(r[o]=t&&B.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){const n=new this(t);return r.forEach(o=>n.set(o)),n}static accessor(t){const n=(this[nd]=this[nd]={accessors:{}}).accessors,o=this.prototype;function i(s){const a=Bo(s);n[a]||(Hv(o,s),n[a]=!0)}return B.isArray(t)?t.forEach(i):i(t),this}};Xt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);B.reduceDescriptors(Xt.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}});B.freezeMethods(Xt);function Fa(e,t){const r=this||Mi,n=t||r,o=Xt.from(n.headers);let i=n.data;return B.forEach(e,function(a){i=a.call(r,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function _p(e){return!!(e&&e.__CANCEL__)}function Co(e,t,r){Me.call(this,e??"canceled",Me.ERR_CANCELED,t,r),this.name="CanceledError"}B.inherits(Co,Me,{__CANCEL__:!0});function Wp(e,t,r){const n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new Me("Request failed with status code "+r.status,[Me.ERR_BAD_REQUEST,Me.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function $v(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Gv(e,t){e=e||10;const r=new Array(e),n=new Array(e);let o=0,i=0,s;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),u=n[i];s||(s=c),r[o]=l,n[o]=c;let d=i,p=0;for(;d!==o;)p+=r[d++],d=d%e;if(o=(o+1)%e,o===i&&(i=(i+1)%e),c-s<t)return;const m=u&&c-u;return m?Math.round(p*1e3/m):void 0}}function qv(e,t){let r=0,n=1e3/t,o,i;const s=(c,u=Date.now())=>{r=u,o=null,i&&(clearTimeout(i),i=null),e.apply(null,c)};return[(...c)=>{const u=Date.now(),d=u-r;d>=n?s(c,u):(o=c,i||(i=setTimeout(()=>{i=null,s(o)},n-d)))},()=>o&&s(o)]}const Ts=(e,t,r=3)=>{let n=0;const o=Gv(50,250);return qv(i=>{const s=i.loaded,a=i.lengthComputable?i.total:void 0,l=s-n,c=o(l),u=s<=a;n=s;const d={loaded:s,total:a,progress:a?s/a:void 0,bytes:l,rate:c||void 0,estimated:c&&a&&u?(a-s)/c:void 0,event:i,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(d)},r)},od=(e,t)=>{const r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},id=e=>(...t)=>B.asap(()=>e(...t)),Xv=Wt.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,Wt.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(Wt.origin),Wt.navigator&&/(msie|trident)/i.test(Wt.navigator.userAgent)):()=>!0,Zv=Wt.hasStandardBrowserEnv?{write(e,t,r,n,o,i){const s=[e+"="+encodeURIComponent(t)];B.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),B.isString(n)&&s.push("path="+n),B.isString(o)&&s.push("domain="+o),i===!0&&s.push("secure"),document.cookie=s.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Jv(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Kv(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Vp(e,t,r){let n=!Jv(t);return e&&n||r==!1?Kv(e,t):t}const sd=e=>e instanceof Xt?{...e}:e;function jn(e,t){t=t||{};const r={};function n(c,u,d,p){return B.isPlainObject(c)&&B.isPlainObject(u)?B.merge.call({caseless:p},c,u):B.isPlainObject(u)?B.merge({},u):B.isArray(u)?u.slice():u}function o(c,u,d,p){if(B.isUndefined(u)){if(!B.isUndefined(c))return n(void 0,c,d,p)}else return n(c,u,d,p)}function i(c,u){if(!B.isUndefined(u))return n(void 0,u)}function s(c,u){if(B.isUndefined(u)){if(!B.isUndefined(c))return n(void 0,c)}else return n(void 0,u)}function a(c,u,d){if(d in t)return n(c,u);if(d in e)return n(void 0,c)}const l={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(c,u,d)=>o(sd(c),sd(u),d,!0)};return B.forEach(Object.keys(Object.assign({},e,t)),function(u){const d=l[u]||o,p=d(e[u],t[u],u);B.isUndefined(p)&&d!==a||(r[u]=p)}),r}const zp=e=>{const t=jn({},e);let{data:r,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:i,headers:s,auth:a}=t;t.headers=s=Xt.from(s),t.url=Fp(Vp(t.baseURL,t.url),e.params,e.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let l;if(B.isFormData(r)){if(Wt.hasStandardBrowserEnv||Wt.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if((l=s.getContentType())!==!1){const[c,...u]=l?l.split(";").map(d=>d.trim()).filter(Boolean):[];s.setContentType([c||"multipart/form-data",...u].join("; "))}}if(Wt.hasStandardBrowserEnv&&(n&&B.isFunction(n)&&(n=n(t)),n||n!==!1&&Xv(t.url))){const c=o&&i&&Zv.read(i);c&&s.set(o,c)}return t},Qv=typeof XMLHttpRequest<"u",e0=Qv&&function(e){return new Promise(function(r,n){const o=zp(e);let i=o.data;const s=Xt.from(o.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:c}=o,u,d,p,m,f;function h(){m&&m(),f&&f(),o.cancelToken&&o.cancelToken.unsubscribe(u),o.signal&&o.signal.removeEventListener("abort",u)}let g=new XMLHttpRequest;g.open(o.method.toUpperCase(),o.url,!0),g.timeout=o.timeout;function S(){if(!g)return;const y=Xt.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders()),x={data:!a||a==="text"||a==="json"?g.responseText:g.response,status:g.status,statusText:g.statusText,headers:y,config:e,request:g};Wp(function(E){r(E),h()},function(E){n(E),h()},x),g=null}"onloadend"in g?g.onloadend=S:g.onreadystatechange=function(){!g||g.readyState!==4||g.status===0&&!(g.responseURL&&g.responseURL.indexOf("file:")===0)||setTimeout(S)},g.onabort=function(){g&&(n(new Me("Request aborted",Me.ECONNABORTED,e,g)),g=null)},g.onerror=function(){n(new Me("Network Error",Me.ERR_NETWORK,e,g)),g=null},g.ontimeout=function(){let b=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const x=o.transitional||Lp;o.timeoutErrorMessage&&(b=o.timeoutErrorMessage),n(new Me(b,x.clarifyTimeoutError?Me.ETIMEDOUT:Me.ECONNABORTED,e,g)),g=null},i===void 0&&s.setContentType(null),"setRequestHeader"in g&&B.forEach(s.toJSON(),function(b,x){g.setRequestHeader(x,b)}),B.isUndefined(o.withCredentials)||(g.withCredentials=!!o.withCredentials),a&&a!=="json"&&(g.responseType=o.responseType),c&&([p,f]=Ts(c,!0),g.addEventListener("progress",p)),l&&g.upload&&([d,m]=Ts(l),g.upload.addEventListener("progress",d),g.upload.addEventListener("loadend",m)),(o.cancelToken||o.signal)&&(u=y=>{g&&(n(!y||y.type?new Co(null,e,g):y),g.abort(),g=null)},o.cancelToken&&o.cancelToken.subscribe(u),o.signal&&(o.signal.aborted?u():o.signal.addEventListener("abort",u)));const C=$v(o.url);if(C&&Wt.protocols.indexOf(C)===-1){n(new Me("Unsupported protocol "+C+":",Me.ERR_BAD_REQUEST,e));return}g.send(i||null)})},t0=(e,t)=>{const{length:r}=e=e?e.filter(Boolean):[];if(t||r){let n=new AbortController,o;const i=function(c){if(!o){o=!0,a();const u=c instanceof Error?c:this.reason;n.abort(u instanceof Me?u:new Co(u instanceof Error?u.message:u))}};let s=t&&setTimeout(()=>{s=null,i(new Me(`timeout ${t} of ms exceeded`,Me.ETIMEDOUT))},t);const a=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(i):c.removeEventListener("abort",i)}),e=null)};e.forEach(c=>c.addEventListener("abort",i));const{signal:l}=n;return l.unsubscribe=()=>B.asap(a),l}},r0=function*(e,t){let r=e.byteLength;if(r<t){yield e;return}let n=0,o;for(;n<r;)o=n+t,yield e.slice(n,o),n=o},n0=async function*(e,t){for await(const r of o0(e))yield*r0(r,t)},o0=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:r,value:n}=await t.read();if(r)break;yield n}}finally{await t.cancel()}},ad=(e,t,r,n)=>{const o=n0(e,t);let i=0,s,a=l=>{s||(s=!0,n&&n(l))};return new ReadableStream({async pull(l){try{const{done:c,value:u}=await o.next();if(c){a(),l.close();return}let d=u.byteLength;if(r){let p=i+=d;r(p)}l.enqueue(new Uint8Array(u))}catch(c){throw a(c),c}},cancel(l){return a(l),o.return()}},{highWaterMark:2})},ta=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Up=ta&&typeof ReadableStream=="function",i0=ta&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),Yp=(e,...t)=>{try{return!!e(...t)}catch{return!1}},s0=Up&&Yp(()=>{let e=!1;const t=new Request(Wt.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),ld=64*1024,wl=Up&&Yp(()=>B.isReadableStream(new Response("").body)),As={stream:wl&&(e=>e.body)};ta&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!As[t]&&(As[t]=B.isFunction(e[t])?r=>r[t]():(r,n)=>{throw new Me(`Response type '${t}' is not supported`,Me.ERR_NOT_SUPPORT,n)})})})(new Response);const a0=async e=>{if(e==null)return 0;if(B.isBlob(e))return e.size;if(B.isSpecCompliantForm(e))return(await new Request(Wt.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(B.isArrayBufferView(e)||B.isArrayBuffer(e))return e.byteLength;if(B.isURLSearchParams(e)&&(e=e+""),B.isString(e))return(await i0(e)).byteLength},l0=async(e,t)=>{const r=B.toFiniteNumber(e.getContentLength());return r??a0(t)},c0=ta&&(async e=>{let{url:t,method:r,data:n,signal:o,cancelToken:i,timeout:s,onDownloadProgress:a,onUploadProgress:l,responseType:c,headers:u,withCredentials:d="same-origin",fetchOptions:p}=zp(e);c=c?(c+"").toLowerCase():"text";let m=t0([o,i&&i.toAbortSignal()],s),f;const h=m&&m.unsubscribe&&(()=>{m.unsubscribe()});let g;try{if(l&&s0&&r!=="get"&&r!=="head"&&(g=await l0(u,n))!==0){let x=new Request(t,{method:"POST",body:n,duplex:"half"}),A;if(B.isFormData(n)&&(A=x.headers.get("content-type"))&&u.setContentType(A),x.body){const[E,P]=od(g,Ts(id(l)));n=ad(x.body,ld,E,P)}}B.isString(d)||(d=d?"include":"omit");const S="credentials"in Request.prototype;f=new Request(t,{...p,signal:m,method:r.toUpperCase(),headers:u.normalize().toJSON(),body:n,duplex:"half",credentials:S?d:void 0});let C=await fetch(f);const y=wl&&(c==="stream"||c==="response");if(wl&&(a||y&&h)){const x={};["status","statusText","headers"].forEach(D=>{x[D]=C[D]});const A=B.toFiniteNumber(C.headers.get("content-length")),[E,P]=a&&od(A,Ts(id(a),!0))||[];C=new Response(ad(C.body,ld,E,()=>{P&&P(),h&&h()}),x)}c=c||"text";let b=await As[B.findKey(As,c)||"text"](C,e);return!y&&h&&h(),await new Promise((x,A)=>{Wp(x,A,{data:b,headers:Xt.from(C.headers),status:C.status,statusText:C.statusText,config:e,request:f})})}catch(S){throw h&&h(),S&&S.name==="TypeError"&&/fetch/i.test(S.message)?Object.assign(new Me("Network Error",Me.ERR_NETWORK,e,f),{cause:S.cause||S}):Me.from(S,S&&S.code,e,f)}}),xl={http:Rv,xhr:e0,fetch:c0};B.forEach(xl,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const cd=e=>`- ${e}`,u0=e=>B.isFunction(e)||e===null||e===!1,Hp={getAdapter:e=>{e=B.isArray(e)?e:[e];const{length:t}=e;let r,n;const o={};for(let i=0;i<t;i++){r=e[i];let s;if(n=r,!u0(r)&&(n=xl[(s=String(r)).toLowerCase()],n===void 0))throw new Me(`Unknown adapter '${s}'`);if(n)break;o[s||"#"+i]=n}if(!n){const i=Object.entries(o).map(([a,l])=>`adapter ${a} `+(l===!1?"is not supported by the environment":"is not available in the build"));let s=t?i.length>1?`since :
`+i.map(cd).join(`
`):" "+cd(i[0]):"as no adapter specified";throw new Me("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return n},adapters:xl};function La(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Co(null,e)}function ud(e){return La(e),e.headers=Xt.from(e.headers),e.data=Fa.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Hp.getAdapter(e.adapter||Mi.adapter)(e).then(function(n){return La(e),n.data=Fa.call(e,e.transformResponse,n),n.headers=Xt.from(n.headers),n},function(n){return _p(n)||(La(e),n&&n.response&&(n.response.data=Fa.call(e,e.transformResponse,n.response),n.response.headers=Xt.from(n.response.headers))),Promise.reject(n)})}const $p="1.8.1",ra={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{ra[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const dd={};ra.transitional=function(t,r,n){function o(i,s){return"[Axios v"+$p+"] Transitional option '"+i+"'"+s+(n?". "+n:"")}return(i,s,a)=>{if(t===!1)throw new Me(o(s," has been removed"+(r?" in "+r:"")),Me.ERR_DEPRECATED);return r&&!dd[s]&&(dd[s]=!0,console.warn(o(s," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(i,s,a):!0}};ra.spelling=function(t){return(r,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function d0(e,t,r){if(typeof e!="object")throw new Me("options must be an object",Me.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let o=n.length;for(;o-- >0;){const i=n[o],s=t[i];if(s){const a=e[i],l=a===void 0||s(a,i,e);if(l!==!0)throw new Me("option "+i+" must be "+l,Me.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new Me("Unknown option "+i,Me.ERR_BAD_OPTION)}}const hs={assertOptions:d0,validators:ra},Er=hs.validators;let Mn=class{constructor(t){this.defaults=t,this.interceptors={request:new rd,response:new rd}}async request(t,r){try{return await this._request(t,r)}catch(n){if(n instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const i=o.stack?o.stack.replace(/^.+\n/,""):"";try{n.stack?i&&!String(n.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(n.stack+=`
`+i):n.stack=i}catch{}}throw n}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=jn(this.defaults,r);const{transitional:n,paramsSerializer:o,headers:i}=r;n!==void 0&&hs.assertOptions(n,{silentJSONParsing:Er.transitional(Er.boolean),forcedJSONParsing:Er.transitional(Er.boolean),clarifyTimeoutError:Er.transitional(Er.boolean)},!1),o!=null&&(B.isFunction(o)?r.paramsSerializer={serialize:o}:hs.assertOptions(o,{encode:Er.function,serialize:Er.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),hs.assertOptions(r,{baseUrl:Er.spelling("baseURL"),withXsrfToken:Er.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let s=i&&B.merge(i.common,i[r.method]);i&&B.forEach(["delete","get","head","post","put","patch","common"],f=>{delete i[f]}),r.headers=Xt.concat(s,i);const a=[];let l=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(r)===!1||(l=l&&h.synchronous,a.unshift(h.fulfilled,h.rejected))});const c=[];this.interceptors.response.forEach(function(h){c.push(h.fulfilled,h.rejected)});let u,d=0,p;if(!l){const f=[ud.bind(this),void 0];for(f.unshift.apply(f,a),f.push.apply(f,c),p=f.length,u=Promise.resolve(r);d<p;)u=u.then(f[d++],f[d++]);return u}p=a.length;let m=r;for(d=0;d<p;){const f=a[d++],h=a[d++];try{m=f(m)}catch(g){h.call(this,g);break}}try{u=ud.call(this,m)}catch(f){return Promise.reject(f)}for(d=0,p=c.length;d<p;)u=u.then(c[d++],c[d++]);return u}getUri(t){t=jn(this.defaults,t);const r=Vp(t.baseURL,t.url,t.allowAbsoluteUrls);return Fp(r,t.params,t.paramsSerializer)}};B.forEach(["delete","get","head","options"],function(t){Mn.prototype[t]=function(r,n){return this.request(jn(n||{},{method:t,url:r,data:(n||{}).data}))}});B.forEach(["post","put","patch"],function(t){function r(n){return function(i,s,a){return this.request(jn(a||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:i,data:s}))}}Mn.prototype[t]=r(),Mn.prototype[t+"Form"]=r(!0)});let f0=class Gp{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(i){r=i});const n=this;this.promise.then(o=>{if(!n._listeners)return;let i=n._listeners.length;for(;i-- >0;)n._listeners[i](o);n._listeners=null}),this.promise.then=o=>{let i;const s=new Promise(a=>{n.subscribe(a),i=a}).then(o);return s.cancel=function(){n.unsubscribe(i)},s},t(function(i,s,a){n.reason||(n.reason=new Co(i,s,a),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){const t=new AbortController,r=n=>{t.abort(n)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new Gp(function(o){t=o}),cancel:t}}};function p0(e){return function(r){return e.apply(null,r)}}function h0(e){return B.isObject(e)&&e.isAxiosError===!0}const Sl={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Sl).forEach(([e,t])=>{Sl[t]=e});function qp(e){const t=new Mn(e),r=Tp(Mn.prototype.request,t);return B.extend(r,Mn.prototype,t,{allOwnKeys:!0}),B.extend(r,t,null,{allOwnKeys:!0}),r.create=function(o){return qp(jn(e,o))},r}const Ee=qp(Mi);Ee.Axios=Mn;Ee.CanceledError=Co;Ee.CancelToken=f0;Ee.isCancel=_p;Ee.VERSION=$p;Ee.toFormData=ea;Ee.AxiosError=Me;Ee.Cancel=Ee.CanceledError;Ee.all=function(t){return Promise.all(t)};Ee.spread=p0;Ee.isAxiosError=h0;Ee.mergeConfig=jn;Ee.AxiosHeaders=Xt;Ee.formToJSON=e=>Bp(B.isHTMLForm(e)?new FormData(e):e);Ee.getAdapter=Hp.getAdapter;Ee.HttpStatusCode=Sl;Ee.default=Ee;const{Axios:q4,AxiosError:X4,CanceledError:Z4,isCancel:J4,CancelToken:K4,VERSION:Q4,all:eD,Cancel:tD,isAxiosError:rD,spread:nD,toFormData:oD,AxiosHeaders:iD,HttpStatusCode:sD,formToJSON:aD,getAdapter:lD,mergeConfig:cD}=Ee;var le={},Ko={exports:{}},m0=Ko.exports,fd;function g0(){return fd||(fd=1,function(e,t){(function(r,n){var o="1.0.40",i="",s="?",a="function",l="undefined",c="object",u="string",d="major",p="model",m="name",f="type",h="vendor",g="version",S="architecture",C="console",y="mobile",b="tablet",x="smarttv",A="wearable",E="embedded",P=500,D="Amazon",v="Apple",M="ASUS",U="BlackBerry",j="Browser",$="Chrome",W="Edge",L="Firefox",J="Google",ie="Huawei",O="LG",K="Microsoft",re="Motorola",q="Opera",F="Samsung",X="Sharp",N="Sony",oe="Xiaomi",he="Zebra",se="Facebook",ye="Chromium OS",me="Mac OS",Re=" Browser",we=function(Se,Ae){var fe={};for(var Oe in Se)Ae[Oe]&&Ae[Oe].length%2===0?fe[Oe]=Ae[Oe].concat(Se[Oe]):fe[Oe]=Se[Oe];return fe},je=function(Se){for(var Ae={},fe=0;fe<Se.length;fe++)Ae[Se[fe].toUpperCase()]=Se[fe];return Ae},ge=function(Se,Ae){return typeof Se===u?Pe(Ae).indexOf(Pe(Se))!==-1:!1},Pe=function(Se){return Se.toLowerCase()},st=function(Se){return typeof Se===u?Se.replace(/[^\d\.]/g,i).split(".")[0]:n},$e=function(Se,Ae){if(typeof Se===u)return Se=Se.replace(/^\s\s*/,i),typeof Ae===l?Se:Se.substring(0,P)},Te=function(Se,Ae){for(var fe=0,Oe,ct,xe,ke,de,tt;fe<Ae.length&&!de;){var pe=Ae[fe],Le=Ae[fe+1];for(Oe=ct=0;Oe<pe.length&&!de&&pe[Oe];)if(de=pe[Oe++].exec(Se),de)for(xe=0;xe<Le.length;xe++)tt=de[++ct],ke=Le[xe],typeof ke===c&&ke.length>0?ke.length===2?typeof ke[1]==a?this[ke[0]]=ke[1].call(this,tt):this[ke[0]]=ke[1]:ke.length===3?typeof ke[1]===a&&!(ke[1].exec&&ke[1].test)?this[ke[0]]=tt?ke[1].call(this,tt,ke[2]):n:this[ke[0]]=tt?tt.replace(ke[1],ke[2]):n:ke.length===4&&(this[ke[0]]=tt?ke[3].call(this,tt.replace(ke[1],ke[2])):n):this[ke]=tt||n;fe+=2}},Qe=function(Se,Ae){for(var fe in Ae)if(typeof Ae[fe]===c&&Ae[fe].length>0){for(var Oe=0;Oe<Ae[fe].length;Oe++)if(ge(Ae[fe][Oe],Se))return fe===s?n:fe}else if(ge(Ae[fe],Se))return fe===s?n:fe;return Ae.hasOwnProperty("*")?Ae["*"]:Se},Ue={"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},Fe={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},ue={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[g,[m,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[g,[m,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[m,g],[/opios[\/ ]+([\w\.]+)/i],[g,[m,q+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[g,[m,q+" GX"]],[/\bopr\/([\w\.]+)/i],[g,[m,q]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[g,[m,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[g,[m,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(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,/(heytap|ovi|115)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[m,g],[/quark(?:pc)?\/([-\w\.]+)/i],[g,[m,"Quark"]],[/\bddg\/([\w\.]+)/i],[g,[m,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[g,[m,"UC"+j]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[g,[m,"WeChat"]],[/konqueror\/([\w\.]+)/i],[g,[m,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[g,[m,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[g,[m,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[g,[m,"Smart Lenovo "+j]],[/(avast|avg)\/([\w\.]+)/i],[[m,/(.+)/,"$1 Secure "+j],g],[/\bfocus\/([\w\.]+)/i],[g,[m,L+" Focus"]],[/\bopt\/([\w\.]+)/i],[g,[m,q+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[g,[m,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[g,[m,"Dolphin"]],[/coast\/([\w\.]+)/i],[g,[m,q+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[g,[m,"MIUI"+Re]],[/fxios\/([\w\.-]+)/i],[g,[m,L]],[/\bqihoobrowser\/?([\w\.]*)/i],[g,[m,"360"]],[/\b(qq)\/([\w\.]+)/i],[[m,/(.+)/,"$1Browser"],g],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[m,/(.+)/,"$1"+Re],g],[/samsungbrowser\/([\w\.]+)/i],[g,[m,F+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[g,[m,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[m,"Sogou Mobile"],g],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[m,g],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[m],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[g,m],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[m,se],g],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[m,g],[/\bgsa\/([\w\.]+) .*safari\//i],[g,[m,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[g,[m,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[g,[m,$+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[m,$+" WebView"],g],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[g,[m,"Android "+j]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[m,g],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[g,[m,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[g,m],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[m,[g,Qe,Ue]],[/(webkit|khtml)\/([\w\.]+)/i],[m,g],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[m,"Netscape"],g],[/(wolvic|librewolf)\/([\w\.]+)/i],[m,g],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[g,[m,L+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[m,[g,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[m,[g,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[S,"amd64"]],[/(ia32(?=;))/i],[[S,Pe]],[/((?:i[346]|x)86)[;\)]/i],[[S,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[S,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[S,"armhf"]],[/windows (ce|mobile); ppc;/i],[[S,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[S,/ower/,i,Pe]],[/(sun4\w)[;\)]/i],[[S,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[S,Pe]]],device:[[/\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],[p,[h,F],[f,b]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[p,[h,F],[f,y]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[p,[h,v],[f,y]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[p,[h,v],[f,b]],[/(macintosh);/i],[p,[h,v]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[p,[h,X],[f,y]],[/(?:honor)([-\w ]+)[;\)]/i],[p,[h,"Honor"],[f,y]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[p,[h,ie],[f,b]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[p,[h,ie],[f,y]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i],[[p,/_/g," "],[h,oe],[f,y]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[p,/_/g," "],[h,oe],[f,b]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[p,[h,"OPPO"],[f,y]],[/\b(opd2\d{3}a?) bui/i],[p,[h,"OPPO"],[f,b]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[p,[h,"Vivo"],[f,y]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[p,[h,"Realme"],[f,y]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[p,[h,re],[f,y]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[p,[h,re],[f,b]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[p,[h,O],[f,b]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[p,[h,O],[f,y]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[p,[h,"Lenovo"],[f,b]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[p,/_/g," "],[h,"Nokia"],[f,y]],[/(pixel c)\b/i],[p,[h,J],[f,b]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[p,[h,J],[f,y]],[/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],[p,[h,N],[f,y]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[p,"Xperia Tablet"],[h,N],[f,b]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[p,[h,"OnePlus"],[f,y]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[p,[h,D],[f,b]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[p,/(.+)/g,"Fire Phone $1"],[h,D],[f,y]],[/(playbook);[-\w\),; ]+(rim)/i],[p,h,[f,b]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[p,[h,U],[f,y]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[p,[h,M],[f,b]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[p,[h,M],[f,y]],[/(nexus 9)/i],[p,[h,"HTC"],[f,b]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[h,[p,/_/g," "],[f,y]],[/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],[p,[h,"TCL"],[f,b]],[/(itel) ((\w+))/i],[[h,Pe],p,[f,Qe,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[p,[h,"Acer"],[f,b]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[p,[h,"Meizu"],[f,y]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[p,[h,"Ulefone"],[f,y]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[p,[h,"Energizer"],[f,y]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[p,[h,"Cat"],[f,y]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[p,[h,"Smartfren"],[f,y]],[/droid.+; (a(?:015|06[35]|142p?))/i],[p,[h,"Nothing"],[f,y]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (imo) ((?!tab)[\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[h,p,[f,y]],[/(imo) (tab \w+)/i,/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[h,p,[f,b]],[/(surface duo)/i],[p,[h,K],[f,b]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[p,[h,"Fairphone"],[f,y]],[/(u304aa)/i],[p,[h,"AT&T"],[f,y]],[/\bsie-(\w*)/i],[p,[h,"Siemens"],[f,y]],[/\b(rct\w+) b/i],[p,[h,"RCA"],[f,b]],[/\b(venue[\d ]{2,7}) b/i],[p,[h,"Dell"],[f,b]],[/\b(q(?:mv|ta)\w+) b/i],[p,[h,"Verizon"],[f,b]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[p,[h,"Barnes & Noble"],[f,b]],[/\b(tm\d{3}\w+) b/i],[p,[h,"NuVision"],[f,b]],[/\b(k88) b/i],[p,[h,"ZTE"],[f,b]],[/\b(nx\d{3}j) b/i],[p,[h,"ZTE"],[f,y]],[/\b(gen\d{3}) b.+49h/i],[p,[h,"Swiss"],[f,y]],[/\b(zur\d{3}) b/i],[p,[h,"Swiss"],[f,b]],[/\b((zeki)?tb.*\b) b/i],[p,[h,"Zeki"],[f,b]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[h,"Dragon Touch"],p,[f,b]],[/\b(ns-?\w{0,9}) b/i],[p,[h,"Insignia"],[f,b]],[/\b((nxa|next)-?\w{0,9}) b/i],[p,[h,"NextBook"],[f,b]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[h,"Voice"],p,[f,y]],[/\b(lvtel\-)?(v1[12]) b/i],[[h,"LvTel"],p,[f,y]],[/\b(ph-1) /i],[p,[h,"Essential"],[f,y]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[p,[h,"Envizen"],[f,b]],[/\b(trio[-\w\. ]+) b/i],[p,[h,"MachSpeed"],[f,b]],[/\btu_(1491) b/i],[p,[h,"Rotor"],[f,b]],[/(shield[\w ]+) b/i],[p,[h,"Nvidia"],[f,b]],[/(sprint) (\w+)/i],[h,p,[f,y]],[/(kin\.[onetw]{3})/i],[[p,/\./g," "],[h,K],[f,y]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[p,[h,he],[f,b]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[p,[h,he],[f,y]],[/smart-tv.+(samsung)/i],[h,[f,x]],[/hbbtv.+maple;(\d+)/i],[[p,/^/,"SmartTV"],[h,F],[f,x]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[h,O],[f,x]],[/(apple) ?tv/i],[h,[p,v+" TV"],[f,x]],[/crkey/i],[[p,$+"cast"],[h,J],[f,x]],[/droid.+aft(\w+)( bui|\))/i],[p,[h,D],[f,x]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[p,[h,X],[f,x]],[/(bravia[\w ]+)( bui|\))/i],[p,[h,N],[f,x]],[/(mitv-\w{5}) bui/i],[p,[h,oe],[f,x]],[/Hbbtv.*(technisat) (.*);/i],[h,p,[f,x]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[h,$e],[p,$e],[f,x]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[f,x]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[h,p,[f,C]],[/droid.+; (shield) bui/i],[p,[h,"Nvidia"],[f,C]],[/(playstation [345portablevi]+)/i],[p,[h,N],[f,C]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[p,[h,K],[f,C]],[/\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i],[p,[h,F],[f,A]],[/((pebble))app/i],[h,p,[f,A]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[p,[h,v],[f,A]],[/droid.+; (glass) \d/i],[p,[h,J],[f,A]],[/droid.+; (wt63?0{2,3})\)/i],[p,[h,he],[f,A]],[/droid.+; (glass) \d/i],[p,[h,J],[f,A]],[/(pico) (4|neo3(?: link|pro)?)/i],[h,p,[f,A]],[/; (quest( \d| pro)?)/i],[p,[h,se],[f,A]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[h,[f,E]],[/(aeobc)\b/i],[p,[h,D],[f,E]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[p,[f,y]],[/droid .+?; ([^