absolute-widget
Version:
An embeddable User Login and Registration using Absolute & PasswordLess with consent page
6 lines • 562 kB
JavaScript
var AbsoluteWidget=function(w,$,kr){"use strict";var P4=Object.defineProperty;var O4=(w,$,kr)=>$ in w?P4(w,$,{enumerable:!0,configurable:!0,writable:!0,value:kr}):w[$]=kr;var Xi=(w,$,kr)=>O4(w,typeof $!="symbol"?$+"":$,kr);function Nu(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 T=Nu($),Vg=Nu(kr);function Du(e,t){return function(){return e.apply(t,arguments)}}const{toString:zg}=Object.prototype,{getPrototypeOf:Fa}=Object,Zi=(e=>t=>{const r=zg.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),vr=e=>(e=e.toLowerCase(),t=>Zi(t)===e),Ji=e=>t=>typeof t===e,{isArray:zn}=Array,Bo=Ji("undefined");function Ug(e){return e!==null&&!Bo(e)&&e.constructor!==null&&!Bo(e.constructor)&&Qt(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Fu=vr("ArrayBuffer");function Yg(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Fu(e.buffer),t}const Hg=Ji("string"),Qt=Ji("function"),Lu=Ji("number"),Ki=e=>e!==null&&typeof e=="object",$g=e=>e===!0||e===!1,Qi=e=>{if(Zi(e)!=="object")return!1;const t=Fa(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Gg=vr("Date"),qg=vr("File"),Xg=vr("Blob"),Zg=vr("FileList"),Jg=e=>Ki(e)&&Qt(e.pipe),Kg=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Qt(e.append)&&((t=Zi(e))==="formdata"||t==="object"&&Qt(e.toString)&&e.toString()==="[object FormData]"))},Qg=vr("URLSearchParams"),[ey,ty,ry,ny]=["ReadableStream","Request","Response","Headers"].map(vr),oy=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function _o(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,o;if(typeof e!="object"&&(e=[e]),zn(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 Bu(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 Cn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,_u=e=>!Bo(e)&&e!==Cn;function La(){const{caseless:e}=_u(this)&&this||{},t={},r=(n,o)=>{const i=e&&Bu(t,o)||o;Qi(t[i])&&Qi(n)?t[i]=La(t[i],n):Qi(n)?t[i]=La({},n):zn(n)?t[i]=n.slice():t[i]=n};for(let n=0,o=arguments.length;n<o;n++)arguments[n]&&_o(arguments[n],r);return t}const iy=(e,t,r,{allOwnKeys:n}={})=>(_o(t,(o,i)=>{r&&Qt(o)?e[i]=Du(o,r):e[i]=o},{allOwnKeys:n}),e),sy=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),ay=(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)},ly=(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&&Fa(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},cy=(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},uy=e=>{if(!e)return null;if(zn(e))return e;let t=e.length;if(!Lu(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},dy=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Fa(Uint8Array)),fy=(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])}},py=(e,t)=>{let r;const n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},hy=vr("HTMLFormElement"),my=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,o){return n.toUpperCase()+o}),Wu=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),gy=vr("RegExp"),ju=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};_o(r,(o,i)=>{let s;(s=t(o,i,e))!==!1&&(n[i]=s||o)}),Object.defineProperties(e,n)},yy=e=>{ju(e,(t,r)=>{if(Qt(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const n=e[r];if(Qt(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+"'")})}})},vy=(e,t)=>{const r={},n=o=>{o.forEach(i=>{r[i]=!0})};return zn(e)?n(e):n(String(e).split(t)),r},by=()=>{},wy=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Sy(e){return!!(e&&Qt(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const xy=e=>{const t=new Array(10),r=(n,o)=>{if(Ki(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[o]=n;const i=zn(n)?[]:{};return _o(n,(s,a)=>{const l=r(s,o+1);!Bo(l)&&(i[a]=l)}),t[o]=void 0,i}}return n};return r(e,0)},Cy=vr("AsyncFunction"),Ty=e=>e&&(Ki(e)||Qt(e))&&Qt(e.then)&&Qt(e.catch),Vu=((e,t)=>e?setImmediate:t?((r,n)=>(Cn.addEventListener("message",({source:o,data:i})=>{o===Cn&&i===r&&n.length&&n.shift()()},!1),o=>{n.push(o),Cn.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",Qt(Cn.postMessage)),Ay=typeof queueMicrotask<"u"?queueMicrotask.bind(Cn):typeof process<"u"&&process.nextTick||Vu,_={isArray:zn,isArrayBuffer:Fu,isBuffer:Ug,isFormData:Kg,isArrayBufferView:Yg,isString:Hg,isNumber:Lu,isBoolean:$g,isObject:Ki,isPlainObject:Qi,isReadableStream:ey,isRequest:ty,isResponse:ry,isHeaders:ny,isUndefined:Bo,isDate:Gg,isFile:qg,isBlob:Xg,isRegExp:gy,isFunction:Qt,isStream:Jg,isURLSearchParams:Qg,isTypedArray:dy,isFileList:Zg,forEach:_o,merge:La,extend:iy,trim:oy,stripBOM:sy,inherits:ay,toFlatObject:ly,kindOf:Zi,kindOfTest:vr,endsWith:cy,toArray:uy,forEachEntry:fy,matchAll:py,isHTMLForm:hy,hasOwnProperty:Wu,hasOwnProp:Wu,reduceDescriptors:ju,freezeMethods:yy,toObjectSet:vy,toCamelCase:my,noop:by,toFiniteNumber:wy,findKey:Bu,global:Cn,isContextDefined:_u,isSpecCompliantForm:Sy,toJSONObject:xy,isAsyncFn:Cy,isThenable:Ty,setImmediate:Vu,asap:Ay};function Ie(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)}_.inherits(Ie,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:_.toJSONObject(this.config),code:this.code,status:this.status}}});const zu=Ie.prototype,Uu={};["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=>{Uu[e]={value:e}}),Object.defineProperties(Ie,Uu),Object.defineProperty(zu,"isAxiosError",{value:!0}),Ie.from=(e,t,r,n,o,i)=>{const s=Object.create(zu);return _.toFlatObject(e,s,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),Ie.call(s,e.message,t,r,n,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};const ky=null;function Ba(e){return _.isPlainObject(e)||_.isArray(e)}function Yu(e){return _.endsWith(e,"[]")?e.slice(0,-2):e}function Hu(e,t,r){return e?e.concat(t).map(function(o,i){return o=Yu(o),!r&&i?"["+o+"]":o}).join(r?".":""):t}function Ey(e){return _.isArray(e)&&!e.some(Ba)}const Py=_.toFlatObject(_,{},null,function(t){return/^is[A-Z]/.test(t)});function es(e,t,r){if(!_.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,r=_.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,g){return!_.isUndefined(g[h])});const n=r.metaTokens,o=r.visitor||u,i=r.dots,s=r.indexes,l=(r.Blob||typeof Blob<"u"&&Blob)&&_.isSpecCompliantForm(t);if(!_.isFunction(o))throw new TypeError("visitor must be a function");function c(f){if(f===null)return"";if(_.isDate(f))return f.toISOString();if(!l&&_.isBlob(f))throw new Ie("Blob is not supported. Use a Buffer instead.");return _.isArrayBuffer(f)||_.isTypedArray(f)?l&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function u(f,h,g){let x=f;if(f&&!g&&typeof f=="object"){if(_.endsWith(h,"{}"))h=n?h:h.slice(0,-2),f=JSON.stringify(f);else if(_.isArray(f)&&Ey(f)||(_.isFileList(f)||_.endsWith(h,"[]"))&&(x=_.toArray(f)))return h=Yu(h),x.forEach(function(y,b){!(_.isUndefined(y)||y===null)&&t.append(s===!0?Hu([h],b,i):s===null?h:h+"[]",c(y))}),!1}return Ba(f)?!0:(t.append(Hu(g,h,i),c(f)),!1)}const d=[],p=Object.assign(Py,{defaultVisitor:u,convertValue:c,isVisitable:Ba});function m(f,h){if(!_.isUndefined(f)){if(d.indexOf(f)!==-1)throw Error("Circular reference detected in "+h.join("."));d.push(f),_.forEach(f,function(x,C){(!(_.isUndefined(x)||x===null)&&o.call(t,x,_.isString(C)?C.trim():C,h,p))===!0&&m(x,h?h.concat(C):[C])}),d.pop()}}if(!_.isObject(e))throw new TypeError("data must be an object");return m(e),t}function $u(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function _a(e,t){this._pairs=[],e&&es(e,this,t)}const Gu=_a.prototype;Gu.append=function(t,r){this._pairs.push([t,r])},Gu.toString=function(t){const r=t?function(n){return t.call(this,n,$u)}:$u;return this._pairs.map(function(o){return r(o[0])+"="+r(o[1])},"").join("&")};function Oy(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function qu(e,t,r){if(!t)return e;const n=r&&r.encode||Oy;_.isFunction(r)&&(r={serialize:r});const o=r&&r.serialize;let i;if(o?i=o(t,r):i=_.isURLSearchParams(t)?t.toString():new _a(t,r).toString(n),i){const s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class Xu{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){_.forEach(this.handlers,function(n){n!==null&&t(n)})}}const Zu={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},My={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:_a,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},Wa=typeof window<"u"&&typeof document<"u",ja=typeof navigator=="object"&&navigator||void 0,Iy=Wa&&(!ja||["ReactNative","NativeScript","NS"].indexOf(ja.product)<0),Ry=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Ny=Wa&&window.location.href||"http://localhost",_t={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Wa,hasStandardBrowserEnv:Iy,hasStandardBrowserWebWorkerEnv:Ry,navigator:ja,origin:Ny},Symbol.toStringTag,{value:"Module"})),...My};function Dy(e,t){return es(e,new _t.classes.URLSearchParams,Object.assign({visitor:function(r,n,o,i){return _t.isNode&&_.isBuffer(r)?(this.append(n,r.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function Fy(e){return _.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Ly(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 Ju(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&&_.isArray(o)?o.length:s,l?(_.hasOwnProp(o,s)?o[s]=[o[s],n]:o[s]=n,!a):((!o[s]||!_.isObject(o[s]))&&(o[s]=[]),t(r,n,o[s],i)&&_.isArray(o[s])&&(o[s]=Ly(o[s])),!a)}if(_.isFormData(e)&&_.isFunction(e.entries)){const r={};return _.forEachEntry(e,(n,o)=>{t(Fy(n),o,r,0)}),r}return null}function By(e,t,r){if(_.isString(e))try{return(t||JSON.parse)(e),_.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}const Wo={transitional:Zu,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){const n=r.getContentType()||"",o=n.indexOf("application/json")>-1,i=_.isObject(t);if(i&&_.isHTMLForm(t)&&(t=new FormData(t)),_.isFormData(t))return o?JSON.stringify(Ju(t)):t;if(_.isArrayBuffer(t)||_.isBuffer(t)||_.isStream(t)||_.isFile(t)||_.isBlob(t)||_.isReadableStream(t))return t;if(_.isArrayBufferView(t))return t.buffer;if(_.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 Dy(t,this.formSerializer).toString();if((a=_.isFileList(t))||n.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return es(a?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||o?(r.setContentType("application/json",!1),By(t)):t}],transformResponse:[function(t){const r=this.transitional||Wo.transitional,n=r&&r.forcedJSONParsing,o=this.responseType==="json";if(_.isResponse(t)||_.isReadableStream(t))return t;if(t&&_.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"?Ie.from(a,Ie.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:_t.classes.FormData,Blob:_t.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};_.forEach(["delete","get","head","post","put","patch"],e=>{Wo.headers[e]={}});const _y=_.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"]),Wy=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]&&_y[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t},Ku=Symbol("internals");function jo(e){return e&&String(e).trim().toLowerCase()}function ts(e){return e===!1||e==null?e:_.isArray(e)?e.map(ts):String(e)}function jy(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 Vy=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Va(e,t,r,n,o){if(_.isFunction(n))return n.call(this,t,r);if(o&&(t=r),!!_.isString(t)){if(_.isString(n))return t.indexOf(n)!==-1;if(_.isRegExp(n))return n.test(t)}}function zy(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function Uy(e,t){const r=_.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 $t=class{constructor(t){t&&this.set(t)}set(t,r,n){const o=this;function i(a,l,c){const u=jo(l);if(!u)throw new Error("header name must be a non-empty string");const d=_.findKey(o,u);(!d||o[d]===void 0||c===!0||c===void 0&&o[d]!==!1)&&(o[d||l]=ts(a))}const s=(a,l)=>_.forEach(a,(c,u)=>i(c,u,l));if(_.isPlainObject(t)||t instanceof this.constructor)s(t,r);else if(_.isString(t)&&(t=t.trim())&&!Vy(t))s(Wy(t),r);else if(_.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=jo(t),t){const n=_.findKey(this,t);if(n){const o=this[n];if(!r)return o;if(r===!0)return jy(o);if(_.isFunction(r))return r.call(this,o,n);if(_.isRegExp(r))return r.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=jo(t),t){const n=_.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||Va(this,this[n],n,r)))}return!1}delete(t,r){const n=this;let o=!1;function i(s){if(s=jo(s),s){const a=_.findKey(n,s);a&&(!r||Va(n,n[a],a,r))&&(delete n[a],o=!0)}}return _.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||Va(this,this[i],i,t,!0))&&(delete this[i],o=!0)}return o}normalize(t){const r=this,n={};return _.forEach(this,(o,i)=>{const s=_.findKey(n,i);if(s){r[s]=ts(o),delete r[i];return}const a=t?zy(i):String(i).trim();a!==i&&delete r[i],r[a]=ts(o),n[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const r=Object.create(null);return _.forEach(this,(n,o)=>{n!=null&&n!==!1&&(r[o]=t&&_.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[Ku]=this[Ku]={accessors:{}}).accessors,o=this.prototype;function i(s){const a=jo(s);n[a]||(Uy(o,s),n[a]=!0)}return _.isArray(t)?t.forEach(i):i(t),this}};$t.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),_.reduceDescriptors($t.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}}),_.freezeMethods($t);function za(e,t){const r=this||Wo,n=t||r,o=$t.from(n.headers);let i=n.data;return _.forEach(e,function(a){i=a.call(r,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function Qu(e){return!!(e&&e.__CANCEL__)}function Un(e,t,r){Ie.call(this,e??"canceled",Ie.ERR_CANCELED,t,r),this.name="CanceledError"}_.inherits(Un,Ie,{__CANCEL__:!0});function ed(e,t,r){const n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new Ie("Request failed with status code "+r.status,[Ie.ERR_BAD_REQUEST,Ie.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function Yy(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Hy(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 $y(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 rs=(e,t,r=3)=>{let n=0;const o=Hy(50,250);return $y(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)},td=(e,t)=>{const r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},rd=e=>(...t)=>_.asap(()=>e(...t)),Gy=_t.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,_t.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(_t.origin),_t.navigator&&/(msie|trident)/i.test(_t.navigator.userAgent)):()=>!0,qy=_t.hasStandardBrowserEnv?{write(e,t,r,n,o,i){const s=[e+"="+encodeURIComponent(t)];_.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),_.isString(n)&&s.push("path="+n),_.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 Xy(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Zy(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function nd(e,t,r){let n=!Xy(t);return e&&n||r==!1?Zy(e,t):t}const od=e=>e instanceof $t?{...e}:e;function Tn(e,t){t=t||{};const r={};function n(c,u,d,p){return _.isPlainObject(c)&&_.isPlainObject(u)?_.merge.call({caseless:p},c,u):_.isPlainObject(u)?_.merge({},u):_.isArray(u)?u.slice():u}function o(c,u,d,p){if(_.isUndefined(u)){if(!_.isUndefined(c))return n(void 0,c,d,p)}else return n(c,u,d,p)}function i(c,u){if(!_.isUndefined(u))return n(void 0,u)}function s(c,u){if(_.isUndefined(u)){if(!_.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(od(c),od(u),d,!0)};return _.forEach(Object.keys(Object.assign({},e,t)),function(u){const d=l[u]||o,p=d(e[u],t[u],u);_.isUndefined(p)&&d!==a||(r[u]=p)}),r}const id=e=>{const t=Tn({},e);let{data:r,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:i,headers:s,auth:a}=t;t.headers=s=$t.from(s),t.url=qu(nd(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(_.isFormData(r)){if(_t.hasStandardBrowserEnv||_t.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(_t.hasStandardBrowserEnv&&(n&&_.isFunction(n)&&(n=n(t)),n||n!==!1&&Gy(t.url))){const c=o&&i&&qy.read(i);c&&s.set(o,c)}return t},Jy=typeof XMLHttpRequest<"u"&&function(e){return new Promise(function(r,n){const o=id(e);let i=o.data;const s=$t.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 x(){if(!g)return;const y=$t.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders()),S={data:!a||a==="text"||a==="json"?g.responseText:g.response,status:g.status,statusText:g.statusText,headers:y,config:e,request:g};ed(function(P){r(P),h()},function(P){n(P),h()},S),g=null}"onloadend"in g?g.onloadend=x:g.onreadystatechange=function(){!g||g.readyState!==4||g.status===0&&!(g.responseURL&&g.responseURL.indexOf("file:")===0)||setTimeout(x)},g.onabort=function(){g&&(n(new Ie("Request aborted",Ie.ECONNABORTED,e,g)),g=null)},g.onerror=function(){n(new Ie("Network Error",Ie.ERR_NETWORK,e,g)),g=null},g.ontimeout=function(){let b=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const S=o.transitional||Zu;o.timeoutErrorMessage&&(b=o.timeoutErrorMessage),n(new Ie(b,S.clarifyTimeoutError?Ie.ETIMEDOUT:Ie.ECONNABORTED,e,g)),g=null},i===void 0&&s.setContentType(null),"setRequestHeader"in g&&_.forEach(s.toJSON(),function(b,S){g.setRequestHeader(S,b)}),_.isUndefined(o.withCredentials)||(g.withCredentials=!!o.withCredentials),a&&a!=="json"&&(g.responseType=o.responseType),c&&([p,f]=rs(c,!0),g.addEventListener("progress",p)),l&&g.upload&&([d,m]=rs(l),g.upload.addEventListener("progress",d),g.upload.addEventListener("loadend",m)),(o.cancelToken||o.signal)&&(u=y=>{g&&(n(!y||y.type?new Un(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=Yy(o.url);if(C&&_t.protocols.indexOf(C)===-1){n(new Ie("Unsupported protocol "+C+":",Ie.ERR_BAD_REQUEST,e));return}g.send(i||null)})},Ky=(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 Ie?u:new Un(u instanceof Error?u.message:u))}};let s=t&&setTimeout(()=>{s=null,i(new Ie(`timeout ${t} of ms exceeded`,Ie.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=()=>_.asap(a),l}},Qy=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},ev=async function*(e,t){for await(const r of tv(e))yield*Qy(r,t)},tv=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()}},sd=(e,t,r,n)=>{const o=ev(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})},ns=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",ad=ns&&typeof ReadableStream=="function",rv=ns&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),ld=(e,...t)=>{try{return!!e(...t)}catch{return!1}},nv=ad&&ld(()=>{let e=!1;const t=new Request(_t.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),cd=64*1024,Ua=ad&&ld(()=>_.isReadableStream(new Response("").body)),os={stream:Ua&&(e=>e.body)};ns&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!os[t]&&(os[t]=_.isFunction(e[t])?r=>r[t]():(r,n)=>{throw new Ie(`Response type '${t}' is not supported`,Ie.ERR_NOT_SUPPORT,n)})})})(new Response);const ov=async e=>{if(e==null)return 0;if(_.isBlob(e))return e.size;if(_.isSpecCompliantForm(e))return(await new Request(_t.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(_.isArrayBufferView(e)||_.isArrayBuffer(e))return e.byteLength;if(_.isURLSearchParams(e)&&(e=e+""),_.isString(e))return(await rv(e)).byteLength},iv=async(e,t)=>{const r=_.toFiniteNumber(e.getContentLength());return r??ov(t)},Ya={http:ky,xhr:Jy,fetch:ns&&(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}=id(e);c=c?(c+"").toLowerCase():"text";let m=Ky([o,i&&i.toAbortSignal()],s),f;const h=m&&m.unsubscribe&&(()=>{m.unsubscribe()});let g;try{if(l&&nv&&r!=="get"&&r!=="head"&&(g=await iv(u,n))!==0){let S=new Request(t,{method:"POST",body:n,duplex:"half"}),k;if(_.isFormData(n)&&(k=S.headers.get("content-type"))&&u.setContentType(k),S.body){const[P,O]=td(g,rs(rd(l)));n=sd(S.body,cd,P,O)}}_.isString(d)||(d=d?"include":"omit");const x="credentials"in Request.prototype;f=new Request(t,{...p,signal:m,method:r.toUpperCase(),headers:u.normalize().toJSON(),body:n,duplex:"half",credentials:x?d:void 0});let C=await fetch(f);const y=Ua&&(c==="stream"||c==="response");if(Ua&&(a||y&&h)){const S={};["status","statusText","headers"].forEach(D=>{S[D]=C[D]});const k=_.toFiniteNumber(C.headers.get("content-length")),[P,O]=a&&td(k,rs(rd(a),!0))||[];C=new Response(sd(C.body,cd,P,()=>{O&&O(),h&&h()}),S)}c=c||"text";let b=await os[_.findKey(os,c)||"text"](C,e);return!y&&h&&h(),await new Promise((S,k)=>{ed(S,k,{data:b,headers:$t.from(C.headers),status:C.status,statusText:C.statusText,config:e,request:f})})}catch(x){throw h&&h(),x&&x.name==="TypeError"&&/fetch/i.test(x.message)?Object.assign(new Ie("Network Error",Ie.ERR_NETWORK,e,f),{cause:x.cause||x}):Ie.from(x,x&&x.code,e,f)}})};_.forEach(Ya,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const ud=e=>`- ${e}`,sv=e=>_.isFunction(e)||e===null||e===!1,dd={getAdapter:e=>{e=_.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,!sv(r)&&(n=Ya[(s=String(r)).toLowerCase()],n===void 0))throw new Ie(`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(ud).join(`
`):" "+ud(i[0]):"as no adapter specified";throw new Ie("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return n},adapters:Ya};function Ha(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Un(null,e)}function fd(e){return Ha(e),e.headers=$t.from(e.headers),e.data=za.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),dd.getAdapter(e.adapter||Wo.adapter)(e).then(function(n){return Ha(e),n.data=za.call(e,e.transformResponse,n),n.headers=$t.from(n.headers),n},function(n){return Qu(n)||(Ha(e),n&&n.response&&(n.response.data=za.call(e,e.transformResponse,n.response),n.response.headers=$t.from(n.response.headers))),Promise.reject(n)})}const pd="1.8.1",is={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{is[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const hd={};is.transitional=function(t,r,n){function o(i,s){return"[Axios v"+pd+"] Transitional option '"+i+"'"+s+(n?". "+n:"")}return(i,s,a)=>{if(t===!1)throw new Ie(o(s," has been removed"+(r?" in "+r:"")),Ie.ERR_DEPRECATED);return r&&!hd[s]&&(hd[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}},is.spelling=function(t){return(r,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function av(e,t,r){if(typeof e!="object")throw new Ie("options must be an object",Ie.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 Ie("option "+i+" must be "+l,Ie.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new Ie("Unknown option "+i,Ie.ERR_BAD_OPTION)}}const ss={assertOptions:av,validators:is},Er=ss.validators;let An=class{constructor(t){this.defaults=t,this.interceptors={request:new Xu,response:new Xu}}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=Tn(this.defaults,r);const{transitional:n,paramsSerializer:o,headers:i}=r;n!==void 0&&ss.assertOptions(n,{silentJSONParsing:Er.transitional(Er.boolean),forcedJSONParsing:Er.transitional(Er.boolean),clarifyTimeoutError:Er.transitional(Er.boolean)},!1),o!=null&&(_.isFunction(o)?r.paramsSerializer={serialize:o}:ss.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),ss.assertOptions(r,{baseUrl:Er.spelling("baseURL"),withXsrfToken:Er.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let s=i&&_.merge(i.common,i[r.method]);i&&_.forEach(["delete","get","head","post","put","patch","common"],f=>{delete i[f]}),r.headers=$t.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=[fd.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=fd.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=Tn(this.defaults,t);const r=nd(t.baseURL,t.url,t.allowAbsoluteUrls);return qu(r,t.params,t.paramsSerializer)}};_.forEach(["delete","get","head","options"],function(t){An.prototype[t]=function(r,n){return this.request(Tn(n||{},{method:t,url:r,data:(n||{}).data}))}}),_.forEach(["post","put","patch"],function(t){function r(n){return function(i,s,a){return this.request(Tn(a||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:i,data:s}))}}An.prototype[t]=r(),An.prototype[t+"Form"]=r(!0)});let lv=class jg{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 Un(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 jg(function(o){t=o}),cancel:t}}};function cv(e){return function(r){return e.apply(null,r)}}function uv(e){return _.isObject(e)&&e.isAxiosError===!0}const $a={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($a).forEach(([e,t])=>{$a[t]=e});function md(e){const t=new An(e),r=Du(An.prototype.request,t);return _.extend(r,An.prototype,t,{allOwnKeys:!0}),_.extend(r,t,null,{allOwnKeys:!0}),r.create=function(o){return md(Tn(e,o))},r}const Ee=md(Wo);Ee.Axios=An,Ee.CanceledError=Un,Ee.CancelToken=lv,Ee.isCancel=Qu,Ee.VERSION=pd,Ee.toFormData=es,Ee.AxiosError=Ie,Ee.Cancel=Ee.CanceledError,Ee.all=function(t){return Promise.all(t)},Ee.spread=cv,Ee.isAxiosError=uv,Ee.mergeConfig=Tn,Ee.AxiosHeaders=$t,Ee.formToJSON=e=>Ju(_.isHTMLForm(e)?new FormData(e):e),Ee.getAdapter=dd.getAdapter,Ee.HttpStatusCode=$a,Ee.default=Ee;const{Axios:L4,AxiosError:B4,CanceledError:_4,isCancel:W4,CancelToken:j4,VERSION:V4,all:z4,Cancel:U4,isAxiosError:Y4,spread:H4,toFormData:$4,AxiosHeaders:G4,HttpStatusCode:q4,formToJSON:X4,getAdapter:Z4,mergeConfig:J4}=Ee;var le={},Vo={exports:{}},dv=Vo.exports,gd;function fv(){return gd||(gd=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",x="architecture",C="console",y="mobile",b="tablet",S="smarttv",k="wearable",P="embedded",O=500,D="Amazon",v="Apple",I="ASUS",U="BlackBerry",F="Browser",G="Chrome",j="Edge",B="Firefox",J="Google",ie="Huawei",M="LG",K="Microsoft",re="Motorola",q="Opera",L="Samsung",X="Sharp",N="Sony",oe="Xiaomi",he="Zebra",se="Facebook",be="Chromium OS",me="Mac OS",Te=" Browser",we=function(xe,ke){var fe={};for(var Me in xe)ke[Me]&&ke[Me].length%2===0?fe[Me]=ke[Me].concat(xe[Me]):fe[Me]=xe[Me];return fe},Fe=function(xe){for(var ke={},fe=0;fe<xe.length;fe++)ke[xe[fe].toUpperCase()]=xe[fe];return ke},ge=function(xe,ke){return typeof xe===u?Oe(ke).indexOf(Oe(xe))!==-1:!1},Oe=function(xe){return xe.toLowerCase()},lt=function(xe){return typeof xe===u?xe.replace(/[^\d\.]/g,i).split(".")[0]:n},$e=function(xe,ke){if(typeof xe===u)return xe=xe.replace(/^\s\s*/,i),typeof ke===l?xe:xe.substring(0,O)},Ae=function(xe,ke){for(var fe=0,Me,ut,Se,Pe,de,nt;fe<ke.length&&!de;){var pe=ke[fe],We=ke[fe+1];for(Me=ut=0;Me<pe.length&&!de&&pe[Me];)if(de=pe[Me++].exec(xe),de)for(Se=0;Se<We.length;Se++)nt=de[++ut],Pe=We[Se],typeof Pe===c&&Pe.length>0?Pe.length===2?typeof Pe[1]==a?this[Pe[0]]=Pe[1].call(this,nt):this[Pe[0]]=Pe[1]:Pe.length===3?typeof Pe[1]===a&&!(Pe[1].exec&&Pe[1].test)?this[Pe[0]]=nt?Pe[1].call(this,nt,Pe[2]):n:this[Pe[0]]=nt?nt.replace(Pe[1],Pe[2]):n:Pe.length===4&&(this[Pe[0]]=nt?Pe[3].call(this,nt.replace(Pe[1],Pe[2])):n):this[Pe]=nt||n;fe+=2}},tt=function(xe,ke){for(var fe in ke)if(typeof ke[fe]===c&&ke[fe].length>0){for(var Me=0;Me<ke[fe].length;Me++)if(ge(ke[fe][Me],xe))return fe===s?n:fe}else if(ge(ke[fe],xe))return fe===s?n:fe;return ke.hasOwnProperty("*")?ke["*"]:xe},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","?":"/"},Le={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"+F]],[/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 "+F]],[/(avast|avg)\/([\w\.]+)/i],[[m,/(.+)/,"$1 Secure "+F],g],[/\bfocus\/([\w\.]+)/i],[g,[m,B+" 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"+Te]],[/fxios\/([\w\.-]+)/i],[g,[m,B]],[/\bqihoobrowser\/?([\w\.]*)/i],[g,[m,"360"]],[/\b(qq)\/([\w\.]+)/i],[[m,/(.+)/,"$1Browser"],g],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[m,/(.+)/,"$1"+Te],g],[/samsungbrowser\/([\w\.]+)/i],[g,[m,L+" 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,G+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[m,G+" WebView"],g],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[g,[m,"Android "+F]],[/(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,tt,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,B+" 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],[[x,"amd64"]],[/(ia32(?=;))/i],[[x,Oe]],[/((?:i[346]|x)86)[;\)]/i],[[x,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[x,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[x,"armhf"]],[/windows (ce|mobile); ppc;/i],[[x,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[x,/ower/,i,Oe]],[/(sun4\w)[;\)]/i],[[x,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[x,Oe]]],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,L],[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,L],[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,M],[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,M],[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,I],[f,b]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[p,[h,I],[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,Oe],p,[f,tt,{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,S]],[/hbbtv.+maple;(\d+)/i],[[p,/^/,"SmartTV"],[h,L],[f,S]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[h,M],[f,S]],[/(apple) ?tv/i],[h,[p,v+" TV"],[f,S]],[/crkey/i],[[p,G+"cast"],[h,J],[f,S]],[/droid.+aft(\w+)( bui|\))/i],[p,[h,D],[f,S]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[p,[h,X],[f,S]],[/(bravia[\w ]+)( bui|\))/i],[p,[h,N],[f,S]],[/(mitv-\w{5}) bui/i],[p,[h,oe],[f,S]],[/Hbbtv.*(technisat) (.*);/i],[h,p,[f,S]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[h,$e],[p,$e],[f,S]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[f,S]],[/(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,L],[f,k]],[/((pebble))app/i],[h,p,[f,k]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[p,[h,v],[f,k]],[/droid.+; (glass) \d/i],[p,[h,J],[f,k]],[/droid.+; (wt63?0{2,3})\)/i],[p,[h,he],[f,k]],[/droid.+; (glass) \d/i],[p,[h,J],[f,k]],[/(pico) (4|neo3(?: link|pro)?)/i],[h,p,[f,k]],[/; (quest( \d| pro)?)/i],[p,[h,se],[f,k]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[h,[f,P]],[/(aeobc)\b/i],[p,[h,D],[f,P]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[p,[f,y]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[p,[f,b]],[/\b((tablet|tab)