@oila/0account 3.5.0 → 3.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,7 @@ const patchBrowser = () => {
14
14
  };
15
15
 
16
16
  patchBrowser().then(options => {
17
- return bootstrapLazy([["qr-code_2",[[1,"zero-account",{"appId":[1,"app-id"],"updateInterval":[2,"update-interval"],"callbackURL":[1,"callback-url"],"modal":[4],"level":[1],"primaryColor":[1,"primary-color"],"secondaryColor":[1,"secondary-color"],"environment":[1],"enableWithCredentials":[4,"enable-with-credentials"],"themePreset":[1,"theme-preset"],"autoStartApp":[4,"auto-start-app"],"modalOpen":[32],"isAnimating":[32],"url":[32]},[[4,"0account-toggle-modal","toggleModal"],[4,"0account-close-modal","_closeModal"],[4,"0account-authenticated","_closeModal"],[4,"0account-open-app","openApp"]]],[0,"qr-code",{"url":[1],"level":[1],"class":[1],"color":[1]}]]]], options);
17
+ return bootstrapLazy([["qr-code_2",[[1,"zero-account",{"appId":[1,"app-id"],"updateInterval":[2,"update-interval"],"callbackURL":[1,"callback-url"],"modal":[4],"level":[1],"primaryColor":[1,"primary-color"],"secondaryColor":[1,"secondary-color"],"environment":[1],"enableWithCredentials":[4,"enable-with-credentials"],"themePreset":[1,"theme-preset"],"autoStartApp":[4,"auto-start-app"],"modalOpen":[32],"isAnimating":[32],"url":[32]},[[4,"0account-toggle-modal","toggleModal"],[4,"0account-close-modal","_closeModal"],[4,"0account-authenticated","_closeModal"],[4,"0account-logout","logout"],[4,"0account-open-app","openApp"]]],[0,"qr-code",{"url":[1],"level":[1],"class":[1],"color":[1]}]]]], options);
18
18
  });
19
19
 
20
20
  //# sourceMappingURL=zero-account.js.map
@@ -24,6 +24,7 @@ export declare class WS {
24
24
  private reinit;
25
25
  private init;
26
26
  updateUUID(uuid: string): void;
27
+ logout(): void;
27
28
  send(action: any, data: any): void;
28
29
  onZeroAuth(): void;
29
30
  private handleMessage;
@@ -26,10 +26,12 @@ export declare class ZeroAccount {
26
26
  private refreshQR;
27
27
  toggleModal(): void;
28
28
  private _closeModal;
29
+ logout(): void;
29
30
  private closeModal;
30
31
  openApp(): void;
31
32
  render(): any;
32
33
  private hideOnEsc;
34
+ initServices(): void;
33
35
  componentWillLoad(): void;
34
36
  private updateURL;
35
37
  isMobile(): boolean;
@@ -1,2 +1,2 @@
1
- import{r as i,h as t,B as r,H as o,g as e}from"./p-3b6bbcf5.js";var a=new function(){this.QrCode=function(e,a,n,s){if(e<t||e>r)throw"Version value out of range";if(s<-1||s>7)throw"Mask value out of range";if(!(a instanceof o))throw"QrCode.Ecc expected";var d=e*4+17;var l=[];for(var u=0;u<d;u++)l.push(false);var h=[];var f=[];for(var u=0;u<d;u++){h.push(l.slice());f.push(l.slice())}v();var b=_(n);M(b);if(s==-1){var w=Infinity;for(var u=0;u<8;u++){p(u);S(u);var m=I();if(m<w){s=u;w=m}S(u)}}if(s<0||s>7)throw"Assertion error";p(s);S(s);f=null;Object.defineProperty(this,"version",{value:e});Object.defineProperty(this,"size",{value:d});Object.defineProperty(this,"errorCorrectionLevel",{value:a});Object.defineProperty(this,"mask",{value:s});this.getModule=function(i,t){return 0<=i&&i<d&&0<=t&&t<d&&h[t][i]};this.circlePath=function(i,t,r){return"M "+i+" "+t+" m -"+r+", 0 a "+r+","+r+" 0 1,0 "+r*2+",0 a "+r+","+r+" 0 1,0 -"+r*2+",0"};this.svgObject=function(i){var t=[];for(var r=0;r<d;r++){for(var o=0;o<d;o++){if(this.getModule(o,r)){if(i){t.push(this.circlePath(o+.5,r+.5,.5))}else{t.push("M"+o+","+r+"h1v1h-1z")}}}}return{path:t.join(" "),size:d}};function v(){for(var i=0;i<d;i++){y(6,i,i%2==0);y(i,6,i%2==0)}k(3,3);k(d-4,3);k(3,d-4);var t=C();var r=t.length;for(var i=0;i<r;i++){for(var o=0;o<r;o++){if(!(i==0&&o==0||i==0&&o==r-1||i==r-1&&o==0))x(t[i],t[o])}}p(0);g()}function p(i){var t=a.formatBits<<3|i;var r=t;for(var o=0;o<10;o++)r=r<<1^(r>>>9)*1335;var e=(t<<10|r)^21522;if(e>>>15!=0)throw"Assertion error";for(var o=0;o<=5;o++)y(8,o,T(e,o));y(8,7,T(e,6));y(8,8,T(e,7));y(7,8,T(e,8));for(var o=9;o<15;o++)y(14-o,8,T(e,o));for(var o=0;o<8;o++)y(d-1-o,8,T(e,o));for(var o=8;o<15;o++)y(8,d-15+o,T(e,o));y(8,d-8,true)}function g(){if(e<7)return;var i=e;for(var t=0;t<12;t++)i=i<<1^(i>>>11)*7973;var r=e<<12|i;if(r>>>18!=0)throw"Assertion error";for(var t=0;t<18;t++){var o=T(r,t);var a=d-11+t%3;var n=Math.floor(t/3);y(a,n,o);y(n,a,o)}}function k(i,t){for(var r=-4;r<=4;r++){for(var o=-4;o<=4;o++){var e=Math.max(Math.abs(o),Math.abs(r));var a=i+o,n=t+r;if(0<=a&&a<d&&0<=n&&n<d)y(a,n,e!=2&&e!=4)}}}function x(i,t){for(var r=-2;r<=2;r++){for(var o=-2;o<=2;o++)y(i+o,t+r,Math.max(Math.abs(o),Math.abs(r))!=1)}}function y(i,t,r){h[t][i]=r;f[t][i]=true}function _(t){if(t.length!=i.getNumDataCodewords(e,a))throw"Invalid argument";var r=i.NUM_ERROR_CORRECTION_BLOCKS[a.ordinal][e];var o=i.ECC_CODEWORDS_PER_BLOCK[a.ordinal][e];var n=Math.floor(i.getNumRawDataModules(e)/8);var s=r-n%r;var d=Math.floor(n/r);var l=[];var u=new c(o);for(var h=0,f=0;h<r;h++){var b=t.slice(f,f+d-o+(h<s?0:1));f+=b.length;var w=u.getRemainder(b);if(h<s)b.push(0);l.push(b.concat(w))}var m=[];for(var h=0;h<l[0].length;h++){for(var v=0;v<l.length;v++){if(h!=d-o||v>=s)m.push(l[v][h])}}if(m.length!=n)throw"Assertion error";return m}function M(t){if(t.length!=Math.floor(i.getNumRawDataModules(e)/8))throw"Invalid argument";var r=0;for(var o=d-1;o>=1;o-=2){if(o==6)o=5;for(var a=0;a<d;a++){for(var n=0;n<2;n++){var s=o-n;var c=(o+1&2)==0;var l=c?d-1-a:a;if(!f[l][s]&&r<t.length*8){h[l][s]=T(t[r>>>3],7-(r&7));r++}}}}if(r!=t.length*8)throw"Assertion error"}function S(i){if(i<0||i>7)throw"Mask value out of range";for(var t=0;t<d;t++){for(var r=0;r<d;r++){var o;switch(i){case 0:o=(r+t)%2==0;break;case 1:o=t%2==0;break;case 2:o=r%3==0;break;case 3:o=(r+t)%3==0;break;case 4:o=(Math.floor(r/3)+Math.floor(t/2))%2==0;break;case 5:o=r*t%2+r*t%3==0;break;case 6:o=(r*t%2+r*t%3)%2==0;break;case 7:o=((r+t)%2+r*t%3)%2==0;break;default:throw"Assertion error"}if(!f[t][r]&&o)h[t][r]=!h[t][r]}}}function I(){var t=0;for(var r=0;r<d;r++){for(var o=0,e,a;o<d;o++){if(o==0||h[r][o]!=a){a=h[r][o];e=1}else{e++;if(e==5)t+=i.PENALTY_N1;else if(e>5)t++}}}for(var o=0;o<d;o++){for(var r=0,n,s;r<d;r++){if(r==0||h[r][o]!=s){s=h[r][o];n=1}else{n++;if(n==5)t+=i.PENALTY_N1;else if(n>5)t++}}}for(var r=0;r<d-1;r++){for(var o=0;o<d-1;o++){var c=h[r][o];if(c==h[r][o+1]&&c==h[r+1][o]&&c==h[r+1][o+1])t+=i.PENALTY_N2}}for(var r=0;r<d;r++){for(var o=0,l=0;o<d;o++){l=l<<1&2047|(h[r][o]?1:0);if(o>=10&&(l==93||l==1488))t+=i.PENALTY_N3}}for(var o=0;o<d;o++){for(var r=0,l=0;r<d;r++){l=l<<1&2047|(h[r][o]?1:0);if(r>=10&&(l==93||l==1488))t+=i.PENALTY_N3}}var u=0;h.forEach((function(i){i.forEach((function(i){if(i)u++}))}));var f=d*d;var b=Math.ceil(Math.abs(u*20-f*10)/f)-1;t+=b*i.PENALTY_N4;return t}function C(){if(e==1)return[];else{var i=Math.floor(e/7)+2;var t=e==32?26:Math.ceil((d-13)/(i*2-2))*2;var r=[6];for(var o=d-7;r.length<i;o-=t)r.splice(1,0,o);return r}}function T(i,t){return(i>>>t&1)!=0}};this.QrCode.encodeText=function(i,t){var r=a.QrSegment.makeSegments(i);return this.encodeSegments(r,t)};this.QrCode.encodeBinary=function(i,t){var r=a.QrSegment.makeBytes(i);return this.encodeSegments([r],t)};this.QrCode.encodeSegments=function(o,e,n,s,c,l){if(n==undefined)n=t;if(s==undefined)s=r;if(c==undefined)c=-1;if(l==undefined)l=true;if(!(t<=n&&n<=s&&s<=r)||c<-1||c>7)throw"Invalid value";var u,h;for(u=n;;u++){var f=i.getNumDataCodewords(u,e)*8;h=a.QrSegment.getTotalBits(o,u);if(h<=f)break;if(u>=s)throw"Data too long"}[this.Ecc.MEDIUM,this.Ecc.QUARTILE,this.Ecc.HIGH].forEach((function(t){if(l&&h<=i.getNumDataCodewords(u,t)*8)e=t}));var b=new d;o.forEach((function(i){b.appendBits(i.mode.modeBits,4);b.appendBits(i.numChars,i.mode.numCharCountBits(u));i.getData().forEach((function(i){b.push(i)}))}));if(b.length!=h)throw"Assertion error";var f=i.getNumDataCodewords(u,e)*8;if(b.length>f)throw"Assertion error";b.appendBits(0,Math.min(4,f-b.length));b.appendBits(0,(8-b.length%8)%8);if(b.length%8!=0)throw"Assertion error";for(var w=236;b.length<f;w^=236^17)b.appendBits(w,8);var m=[];while(m.length*8<b.length)m.push(0);b.forEach((function(i,t){m[t>>>3]|=i<<7-(t&7)}));return new this(u,e,m,c)};var i={};i.getNumRawDataModules=function(i){if(i<t||i>r)throw"Version number out of range";var o=(16*i+128)*i+64;if(i>=2){var e=Math.floor(i/7)+2;o-=(25*e-10)*e-55;if(i>=7)o-=36}return o};i.getNumDataCodewords=function(t,r){return Math.floor(i.getNumRawDataModules(t)/8)-i.ECC_CODEWORDS_PER_BLOCK[r.ordinal][t]*i.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][t]};var t=1;var r=40;Object.defineProperty(this.QrCode,"MIN_VERSION",{value:t});Object.defineProperty(this.QrCode,"MAX_VERSION",{value:r});i.PENALTY_N1=3;i.PENALTY_N2=3;i.PENALTY_N3=40;i.PENALTY_N4=10;i.ECC_CODEWORDS_PER_BLOCK=[[null,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[null,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[null,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[null,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]];i.NUM_ERROR_CORRECTION_BLOCKS=[[null,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[null,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[null,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[null,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]];this.QrCode.Ecc={LOW:new o(0,1),MEDIUM:new o(1,0),QUARTILE:new o(2,3),HIGH:new o(3,2)};function o(i,t){Object.defineProperty(this,"ordinal",{value:i});Object.defineProperty(this,"formatBits",{value:t})}this.QrSegment=function(i,t,r){if(t<0||!(i instanceof n))throw"Invalid argument";r=r.slice();Object.defineProperty(this,"mode",{value:i});Object.defineProperty(this,"numChars",{value:t});this.getData=function(){return r.slice()}};this.QrSegment.makeBytes=function(i){var t=new d;i.forEach((function(i){t.appendBits(i,8)}));return new this(this.Mode.BYTE,i.length,t)};this.QrSegment.makeNumeric=function(i){if(!this.NUMERIC_REGEX.test(i))throw"String contains non-numeric characters";var t=new d;for(var r=0;r<i.length;){var o=Math.min(i.length-r,3);t.appendBits(parseInt(i.substr(r,o),10),o*3+1);r+=o}return new this(this.Mode.NUMERIC,i.length,t)};this.QrSegment.makeAlphanumeric=function(i){if(!this.ALPHANUMERIC_REGEX.test(i))throw"String contains unencodable characters in alphanumeric mode";var t=new d;var r;for(r=0;r+2<=i.length;r+=2){var o=e.ALPHANUMERIC_CHARSET.indexOf(i.charAt(r))*45;o+=e.ALPHANUMERIC_CHARSET.indexOf(i.charAt(r+1));t.appendBits(o,11)}if(r<i.length)t.appendBits(e.ALPHANUMERIC_CHARSET.indexOf(i.charAt(r)),6);return new this(this.Mode.ALPHANUMERIC,i.length,t)};this.QrSegment.makeSegments=function(i){if(i=="")return[];else if(this.NUMERIC_REGEX.test(i))return[this.makeNumeric(i)];else if(this.ALPHANUMERIC_REGEX.test(i))return[this.makeAlphanumeric(i)];else return[this.makeBytes(s(i))]};this.QrSegment.makeEci=function(i){var t=new d;if(i<0)throw"ECI assignment value out of range";else if(i<1<<7)t.appendBits(i,8);else if(i<1<<14){t.appendBits(2,2);t.appendBits(i,14)}else if(i<1e6){t.appendBits(6,3);t.appendBits(i,21)}else throw"ECI assignment value out of range";return new this(this.Mode.ECI,0,t)};this.QrSegment.getTotalBits=function(i,t){var r=0;for(var o=0;o<i.length;o++){var e=i[o];var a=e.mode.numCharCountBits(t);if(e.numChars>=1<<a)return Infinity;r+=4+a+e.getData().length}return r};var e={};this.QrSegment.NUMERIC_REGEX=/^[0-9]*$/;this.QrSegment.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/;e.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";this.QrSegment.Mode={NUMERIC:new n(1,[10,12,14]),ALPHANUMERIC:new n(2,[9,11,13]),BYTE:new n(4,[8,16,16]),KANJI:new n(8,[8,10,12]),ECI:new n(7,[0,0,0])};function n(i,t){Object.defineProperty(this,"modeBits",{value:i});this.numCharCountBits=function(i){return t[Math.floor((i+7)/17)]}}function s(i){i=encodeURI(i);var t=[];for(var r=0;r<i.length;r++){if(i.charAt(r)!="%")t.push(i.charCodeAt(r));else{t.push(parseInt(i.substr(r+1,2),16));r+=2}}return t}function c(i){if(i<1||i>255)throw"Degree out of range";var t=[];for(var r=0;r<i-1;r++)t.push(0);t.push(1);var o=1;for(var r=0;r<i;r++){for(var e=0;e<t.length;e++){t[e]=c.multiply(t[e],o);if(e+1<t.length)t[e]^=t[e+1]}o=c.multiply(o,2)}this.getRemainder=function(i){var r=t.map((function(){return 0}));i.forEach((function(i){var o=i^r.shift();r.push(0);for(var e=0;e<r.length;e++)r[e]^=c.multiply(t[e],o)}));return r}}c.multiply=function(i,t){if(i>>>8!=0||t>>>8!=0)throw"Byte out of range";var r=0;for(var o=7;o>=0;o--){r=r<<1^(r>>>7)*285;r^=(t>>>o&1)*i}if(r>>>8!=0)throw"Assertion error";return r};function d(){Array.call(this);this.appendBits=function(i,t){if(t<0||t>31||i>>>t!=0)throw"Value out of range";for(var r=t-1;r>=0;r--)this.push(i>>>r&1)}}d.prototype=Object.create(Array.prototype);d.prototype.constructor=d};var n;(function(i){i["L"]="L";i["M"]="M";i["Q"]="Q";i["H"]="H"})(n||(n={}));var s;(function(i){i["production"]="production";i["staging"]="staging"})(s||(s={}));var c;(function(i){i["light"]="light";i["dark"]="dark"})(c||(c={}));const d=a.QrCode;const l=class{constructor(t){i(this,t);this.url=undefined;this.level=n.M;this.class="";this.color="black"}render(){const i=i=>{i=i.toUpperCase();if(i==="L")return d.Ecc.LOW;if(i==="M")return d.Ecc.MEDIUM;if(i==="Q")return d.Ecc.QUARTILE;return d.Ecc.HIGH};const r=i(this.level);const o=d.encodeText(this.url,r);const e=o.svgObject();return t("svg",{class:this.class,viewBox:`0 0 ${e.size} ${e.size}`},t("path",{d:e.path,fill:this.color}))}};var u=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};var h={exports:{}};(function(i,t){!function(r,o){function e(i){for(var t={},r=0;r<i.length;r++)t[i[r].toUpperCase()]=i[r];return t}function a(i,t){if(!(typeof i===d&&0<i.length))return!!ki(i)&&-1!==yi(t).indexOf(yi(i));for(var r in i)if(yi(i[r])==yi(t))return 1}var n="",s="function",c="undefined",d="object",l="string",u="major",h="model",f="name",b="type",w="vendor",m="version",v="architecture",p="console",g="mobile",k="tablet",x="smarttv",y="wearable",_="embedded",M="user-agent",S=500,I="brands",C="formFactor",T="fullVersionList",A="platform",O="platformVersion",z="bitness",q="sec-ch-ua",F=q+"-full-version-list",$=q+"-arch",j=q+"-"+z,E=q+"-form-factor",N=q+"-"+g,U=q+"-"+h,R=q+"-"+A,V=R+"-version",H=[I,T,g,h,A,O,v,C,z],B="browser",L="cpu",W="device",Z="engine",D="os",P="result",X="Amazon",G="Apple",J="ASUS",Q="BlackBerry",K="Google",Y="Huawei",ii="Lenovo",ti="LG",ri="Microsoft",oi="Motorola",ei="Samsung",ai="Sony",ni="Xiaomi",si="Zebra",ci="Mobile ",di=" Browser",li="Chrome",ui="Firefox",hi="Opera",fi="Facebook",bi="Windows",wi=typeof r!==c,mi=wi&&r.navigator?r.navigator:o,vi=mi&&mi.userAgentData?mi.userAgentData:o,pi=function(i,t){var r,o={};for(r in i)o[r]=t[r]&&t[r].length%2==0?t[r].concat(i[r]):i[r];return o},gi=function(i){for(var t in i)return/^(browser|cpu|device|engine|os)$/.test(t)},ki=function(i){return typeof i===l},xi=function(i){if(!i)return o;for(var t,r=[],e=Si(/\\?\"/g,i).split(","),a=0;a<e.length;a++)-1<e[a].indexOf(";")?(t=Ci(e[a]).split(";v="),r[a]={brand:t[0],version:t[1]}):r[a]=Ci(e[a]);return r},yi=function(i){return ki(i)?i.toLowerCase():i},_i=function(i){return ki(i)?Si(/[^\d\.]/g,i).split(".")[0]:o},Mi=function(i){for(var t in i){t=i[t];typeof t==d&&2==t.length?this[t[0]]=t[1]:this[t]=o}return this},Si=function(i,t){return ki(t)?t.replace(i,n):t},Ii=function(i){return Si(/\\?\"/g,i)},Ci=function(i,t){if(ki(i))return i=Si(/^\s\s*/,i),typeof t===c?i:i.substring(0,S)},Ti=function(i,t){if(i&&t)for(var r,e,a,n,c,l=0;l<t.length&&!n;){for(var u=t[l],h=t[l+1],f=r=0;f<u.length&&!n&&u[f];)if(n=u[f++].exec(i))for(e=0;e<h.length;e++)c=n[++r],typeof(a=h[e])===d&&0<a.length?2===a.length?typeof a[1]==s?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3===a.length?typeof a[1]!==s||a[1].exec&&a[1].test?this[a[0]]=c?c.replace(a[1],a[2]):o:this[a[0]]=c?a[1].call(this,c,a[2]):o:4===a.length&&(this[a[0]]=c?a[3].call(this,c.replace(a[1],a[2])):o):this[a]=c||o;l+=2}},Ai=function(i,t){for(var r in t)if(typeof t[r]===d&&0<t[r].length){for(var e=0;e<t[r].length;e++)if(a(t[r][e],i))return"?"===r?o:r}else if(a(t[r],i))return"?"===r?o:r;return t.hasOwnProperty("*")?t["*"]:i},Oi={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"},zi={embedded:"Automotive",mobile:"Mobile",tablet:["Tablet","EInk"],smarttv:"TV",wearable:["VR","XR","Watch"],"?":["Desktop","Unknown"],"*":o},qi={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[m,[f,ci+"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[m,[f,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[f,m],[/opios[\/ ]+([\w\.]+)/i],[m,[f,hi+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[m,[f,hi+" GX"]],[/\bopr\/([\w\.]+)/i],[m,[f,hi]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[m,[f,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[f,m],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[m,[f,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[m,[f,"WeChat"]],[/konqueror\/([\w\.]+)/i],[m,[f,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[m,[f,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[m,[f,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[m,[f,"Smart "+ii+di]],[/(avast|avg)\/([\w\.]+)/i],[[f,/(.+)/,"$1 Secure"+di],m],[/\bfocus\/([\w\.]+)/i],[m,[f,ui+" Focus"]],[/\bopt\/([\w\.]+)/i],[m,[f,hi+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[m,[f,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[m,[f,"Dolphin"]],[/coast\/([\w\.]+)/i],[m,[f,hi+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[m,[f,"MIUI"+di]],[/fxios\/([\w\.-]+)/i],[m,[f,ci+ui]],[/\bqihu|(qi?ho?o?|360)browser/i],[[f,"360"+di]],[/(oculus|sailfish|huawei|vivo)browser\/([\w\.]+)/i],[[f,/(.+)/,"$1"+di],m],[/samsungbrowser\/([\w\.]+)/i],[m,[f,ei+" Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[f,/_/g," "],m],[/metasr[\/ ]?([\d\.]+)/i],[m,[f,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[f,"Sogou Mobile"],m],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[f,m],[/(lbbrowser)/i,/\[(linkedin)app\]/i],[f],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[f,fi],m],[/(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,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[f,m],[/\bgsa\/([\w\.]+) .*safari\//i],[m,[f,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[m,[f,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[m,[f,li+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[f,li+" WebView"],m],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[m,[f,"Android"+di]],[/chrome\/([\w\.]+) mobile/i],[m,[f,ci+"Chrome"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[f,m],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[m,[f,ci+"Safari"]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[f,ci+"Safari"]],[/version\/([\w\.\,]+) .*(safari)/i],[m,f],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[f,[m,"1"]],[/(webkit|khtml)\/([\w\.]+)/i],[f,m],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[f,ci+ui],m],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[f,"Netscape"],m],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[m,[f,ui+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\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|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[f,m],[/(cobalt)\/([\w\.]+)/i],[f,[m,/[^\d\.]+./,n]]],cpu:[[/\b(?:(amd|x|x86[-_]?|wow|win)64)\b/i],[[v,"amd64"]],[/(ia32(?=;))/i,/((?:i[346]|x)86)[;\)]/i],[[v,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[v,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[v,"armhf"]],[/windows (ce|mobile); ppc;/i],[[v,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[v,/ower/,n,yi]],[/(sun4\w)[;\)]/i],[[v,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[v,yi]]],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],[h,[w,ei],[b,k]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[h,[w,ei],[b,g]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[h,[w,G],[b,g]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[h,[w,G],[b,k]],[/(macintosh);/i],[h,[w,G]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[h,[w,"Sharp"],[b,g]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[h,[w,Y],[b,k]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[h,[w,Y],[b,g]],[/\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)?)(?: bui|\))/i],[[h,/_/g," "],[w,ni],[b,g]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[h,/_/g," "],[w,ni],[b,k]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[h,[w,"OPPO"],[b,g]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[h,[w,"Vivo"],[b,g]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[h,[w,"Realme"],[b,g]],[/\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],[h,[w,oi],[b,g]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[h,[w,oi],[b,k]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[h,[w,ti],[b,k]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[h,[w,ti],[b,g]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[h,[w,ii],[b,k]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[h,/_/g," "],[w,"Nokia"],[b,g]],[/(pixel c)\b/i],[h,[w,K],[b,k]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[h,[w,K],[b,g]],[/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],[h,[w,ai],[b,g]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[h,"Xperia Tablet"],[w,ai],[b,k]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[h,[w,"OnePlus"],[b,g]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[h,[w,X],[b,k]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[h,/(.+)/g,"Fire Phone $1"],[w,X],[b,g]],[/(playbook);[-\w\),; ]+(rim)/i],[h,w,[b,k]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[h,[w,Q],[b,g]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[h,[w,J],[b,k]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[h,[w,J],[b,g]],[/(nexus 9)/i],[h,[w,"HTC"],[b,k]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[w,[h,/_/g," "],[b,g]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[h,[w,"Acer"],[b,k]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[h,[w,"Meizu"],[b,g]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[h,[w,"Ulefone"],[b,g]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[w,h,[b,g]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[w,h,[b,k]],[/(surface duo)/i],[h,[w,ri],[b,k]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[h,[w,"Fairphone"],[b,g]],[/(shield[\w ]+) b/i],[h,[w,"Nvidia"],[b,k]],[/(sprint) (\w+)/i],[w,h,[b,g]],[/(kin\.[onetw]{3})/i],[[h,/\./g," "],[w,ri],[b,g]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[h,[w,si],[b,k]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[h,[w,si],[b,g]],[/smart-tv.+(samsung)/i],[w,[b,x]],[/hbbtv.+maple;(\d+)/i],[[h,/^/,"SmartTV"],[w,ei],[b,x]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[w,ti],[b,x]],[/(apple) ?tv/i],[w,[h,G+" TV"],[b,x]],[/crkey/i],[[h,li+"cast"],[w,K],[b,x]],[/droid.+aft(\w+)( bui|\))/i],[h,[w,X],[b,x]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[h,[w,"Sharp"],[b,x]],[/(bravia[\w ]+)( bui|\))/i],[h,[w,ai],[b,x]],[/(mitv-\w{5}) bui/i],[h,[w,ni],[b,x]],[/Hbbtv.*(technisat) (.*);/i],[w,h,[b,x]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[w,Ci],[h,Ci],[b,x]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[b,x]],[/(ouya)/i,/(nintendo) (\w+)/i],[w,h,[b,p]],[/droid.+; (shield) bui/i],[h,[w,"Nvidia"],[b,p]],[/(playstation \w+)/i],[h,[w,ai],[b,p]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[h,[w,ri],[b,p]],[/((pebble))app/i],[w,h,[b,y]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[h,[w,G],[b,y]],[/droid.+; (glass) \d/i],[h,[w,K],[b,y]],[/droid.+; (wt63?0{2,3})\)/i],[h,[w,si],[b,y]],[/(quest( 2| pro)?)/i],[h,[w,fi],[b,y]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[w,[b,_]],[/(aeobc)\b/i],[h,[w,X],[b,_]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[h,[b,g]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[h,[b,k]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[b,k]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[b,g]],[/(android[-\w\. ]{0,9});.+buil/i],[h,[w,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[m,[f,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[m,[f,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[f,m],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[m,f]],os:[[/microsoft (windows) (vista|xp)/i],[f,m],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[f,[m,Ai,Oi]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[m,Ai,Oi],[f,bi]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[m,/_/g,"."],[f,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[f,"macOS"],[m,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[m,f],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[f,m],[/\(bb(10);/i],[m,[f,Q]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[m,[f,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[m,[f,ui+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[m,[f,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[m,[f,"watchOS"]],[/crkey\/([\d\.]+)/i],[m,[f,li+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[f,"Chrome OS"],m],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[f,m],[/(sunos) ?([\w\.\d]*)/i],[[f,"Solaris"],m],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[f,m]]},Fi=(li={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}},Mi.call(li.init,[[B,[f,m,u]],[L,[v]],[W,[b,h,w]],[Z,[f,m]],[D,[f,m]]]),Mi.call(li.isIgnore,[[B,[m,u]],[Z,[m]],[D,[m]]]),Mi.call(li.isIgnoreRgx,[[B,/ ?browser$/i],[D,/ ?os$/i]]),Mi.call(li.toString,[[B,[f,m]],[L,[v]],[W,[w,h]],[Z,[f,m]],[D,[f,m]]]),li),$i=function(i,t){var r=Fi.init[t],o=Fi.isIgnore[t]||0,e=Fi.isIgnoreRgx[t]||0,s=Fi.toString[t]||0;function d(){Mi.call(this,r)}return d.prototype.getItem=function(){return i},d.prototype.withClientHints=function(){return vi?vi.getHighEntropyValues(H).then((function(t){return i.setCH(new ji(t,!1)).parseCH().get()})):i.parseCH().get()},d.prototype.withFeatureCheck=function(){return i.detectFeature().get()},t!=P&&(d.prototype.is=function(i){var t,r=!1;for(t in this)if(this.hasOwnProperty(t)&&!a(o,t)&&yi(e?Si(e,this[t]):this[t])==yi(e?Si(e,i):i)){if(r=!0,i!=c)break}else if(i==c&&r){r=!r;break}return r},d.prototype.toString=function(){var i,t=n;for(i in s)typeof this[s[i]]!==c&&(t+=(t?" ":n)+this[s[i]]);return t||c}),vi||(d.prototype.then=function(i){var t=this,r=function(){for(var i in t)t.hasOwnProperty(i)&&(this[i]=t[i])};r.prototype={is:d.prototype.is,toString:d.prototype.toString};r=new r;return i(r),r}),new d};function ji(i,t){if(i=i||{},Mi.call(this,H),t)Mi.call(this,[[I,xi(i[q])],[T,xi(i[F])],[g,/\?1/.test(i[N])],[h,Ii(i[U])],[A,Ii(i[R])],[O,Ii(i[V])],[v,Ii(i[$])],[C,xi(i[E])],[z,Ii(i[j])]]);else for(var r in i)this.hasOwnProperty(r)&&typeof i[r]!==c&&(this[r]=i[r])}function Ei(i,t,r,e){return this.get=function(i){return i?this.data.hasOwnProperty(i)?this.data[i]:o:this.data},this.set=function(i,t){return this.data[i]=t,this},this.setCH=function(i){return this.uaCH=i,this},this.detectFeature=function(){if(mi&&mi.userAgent==this.ua)switch(this.itemType){case B:mi.brave&&typeof mi.brave.isBrave==s&&this.set(f,"Brave");break;case W:!this.get(b)&&vi&&vi[g]&&this.set(b,g),"Macintosh"==this.get(h)&&mi&&typeof mi.standalone!==c&&mi.maxTouchPoints&&2<mi.maxTouchPoints&&this.set(h,"iPad").set(b,k);break;case D:!this.get(f)&&vi&&vi[A]&&this.set(f,vi[A]);break;case P:var i=this.data,t=function(t){return i[t].getItem().detectFeature().get()};this.set(B,t(B)).set(L,t(L)).set(W,t(W)).set(Z,t(Z)).set(D,t(D))}return this},this.parseUA=function(){return this.itemType!=P&&Ti.call(this.data,this.ua,this.rgxMap),this.itemType==B&&this.set(u,_i(this.get(m))),this},this.parseCH=function(){var i,t=this.uaCH,r=this.rgxMap;switch(this.itemType){case B:var e,a=t[T]||t[I];if(a)for(var n in a){var s=Si(/(Google|Microsoft) /,a[n].brand||a[n]),n=a[n].version;/not.a.brand/i.test(s)||e&&(!/chrom/i.test(e)||/chromi/i.test(s))||(this.set(f,s).set(m,n).set(u,_i(n)),e=s)}break;case L:var c=t[v];c&&(c&&"64"==t[z]&&(c+="64"),Ti.call(this.data,c+";",r));break;case W:if(t[g]&&this.set(b,g),t[h]&&this.set(h,t[h]),"Xbox"==t[h]&&this.set(b,p).set(w,ri),t[C]){if("string"!=typeof t[C])for(var d=0;!i&&d<t[C].length;)i=Ai(t[C][d++],zi);else i=Ai(t[C],zi);this.set(b,i)}break;case D:c=t[A];c&&(k=t[O],c==bi&&(k=13<=parseInt(_i(k),10)?"11":"10"),this.set(f,c).set(m,k)),this.get(f)==bi&&"Xbox"==t[h]&&this.set(f,"Xbox").set(m,o);break;case P:var l=this.data,k=function(i){return l[i].getItem().setCH(t).parseCH().get()};this.set(B,k(B)).set(L,k(L)).set(W,k(W)).set(Z,k(Z)).set(D,k(D))}return this},Mi.call(this,[["itemType",i],["ua",t],["uaCH",e],["rgxMap",r],["data",$i(this,i)]]),this}function Ni(i,t,r){if(typeof i===d?(t=gi(i)?(typeof t===d&&(r=t),i):(r=i,o),i=o):typeof i!==l||gi(t)||(r=t,t=o),!(this instanceof Ni))return new Ni(i,t,r).getResult();var e=typeof i===l?i:mi&&mi.userAgent?mi.userAgent:r&&r[M]?r[M]:n,a=new ji(r,!0),s=t?pi(qi,t):qi,t=function(i){return i==P?function(){return new Ei(i,e,s,a).set("ua",e).set(B,this.getBrowser()).set(L,this.getCPU()).set(W,this.getDevice()).set(Z,this.getEngine()).set(D,this.getOS()).get()}:function(){return new Ei(i,e,s[i],a).parseUA().get()}};return Mi.call(this,[["getBrowser",t(B)],["getCPU",t(L)],["getDevice",t(W)],["getEngine",t(Z)],["getOS",t(D)],["getResult",t(P)],["getUA",function(){return e}],["setUA",function(i){return ki(i)&&(e=i.length>S?Ci(i,S):i),this}]]).setUA(e),this}Ni.VERSION="2.0.0-beta.2",Ni.BROWSER=e([f,m,u]),Ni.CPU=e([v]),Ni.DEVICE=e([h,w,b,p,g,x,k,y,_]),Ni.ENGINE=Ni.OS=e([f,m]),i.exports&&(t=i.exports=Ni),t.UAParser=Ni;var Ui,Ri=wi&&(r.jQuery||r.Zepto);Ri&&!Ri.ua&&(Ui=new Ni,Ri.ua=Ui.getResult(),Ri.ua.get=function(){return Ui.getUA()},Ri.ua.set=function(i){Ui.setUA(i);var t,r=Ui.getResult();for(t in r)Ri.ua[t]=r[t]})}("object"==typeof window?window:u)})(h,h.exports);let f;const b=new Uint8Array(16);function w(){if(!f){f=typeof crypto!=="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto);if(!f){throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported")}}return f(b)}const m=[];for(let i=0;i<256;++i){m.push((i+256).toString(16).slice(1))}function v(i,t=0){return m[i[t+0]]+m[i[t+1]]+m[i[t+2]]+m[i[t+3]]+"-"+m[i[t+4]]+m[i[t+5]]+"-"+m[i[t+6]]+m[i[t+7]]+"-"+m[i[t+8]]+m[i[t+9]]+"-"+m[i[t+10]]+m[i[t+11]]+m[i[t+12]]+m[i[t+13]]+m[i[t+14]]+m[i[t+15]]}const p=typeof crypto!=="undefined"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const g={randomUUID:p};function k(i,t,r){if(g.randomUUID&&!t&&!i){return g.randomUUID()}i=i||{};const o=i.random||(i.rng||w)();o[6]=o[6]&15|64;o[8]=o[8]&63|128;if(t){r=r||0;for(let i=0;i<16;++i){t[r+i]=o[i]}return t}return v(o)}class x{constructor(i){this.log=(...i)=>{if(this.environment!=="production"&&r.isDev){console.clear();console.log(...i)}};this.environment=i}}function y(i,t){if(typeof t!=="object")return false;i=i.replace(/(&)\1+/g,"&");let r=i.substr(1).split("&");if(r.length<1||r.length===1&&r[0]==="")r=[];let o;let e;for(let i in t){if(!t.hasOwnProperty(i))continue;let a=encodeURIComponent(i);let n=encodeURIComponent(t[i]);o=[];e=false;let s=r.length-1;for(let i=s;i>=0;--i){o=r[i].split("=");if(o[0]===a){r[i]=a+"="+n;e=true;break}}if(!e)r.push(a+"="+n)}return r.join("&")}const _=({className:i="",color:r="#7263FA"})=>t("svg",{class:i,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"none"},t("path",{fill:r,d:"M128 185h57v57h-57v-57ZM128 14h57v57h-57V14ZM71 185h57v57H71v-57ZM71 14h57v57H71V14ZM14 71h57v57H14V71ZM185 71h57v57h-57V71ZM71 14v57H14l57-57ZM14 128h57v57H14v-57ZM185 128h57v57h-57v-57ZM14 185h57v57l-57-57ZM185 14l57 57h-57V14Z"}));const M=30;const S=(i,t,r,o)=>{if(o>=M){r.abort();r=null;return}let e=o?Math.pow(2,o-1)*t.startLimit:0;e=e<t.maxLimit?e:t.maxLimit;const a=Math.random()*e;setTimeout((function(){r.open("POST",i,true);for(const i in t.headers){if(Object.prototype.hasOwnProperty.call(t.headers,i)){r.setRequestHeader(i,t.headers[i])}}r.send()}),a)};const I=(i,t,r)=>{t=Object.assign({startLimit:100,maxLimit:3*1e3,enableWithCredentials:false},t);let o=0;const e=new XMLHttpRequest;if(t.enableWithCredentials)e.withCredentials=true;const a=()=>S(i,t,e,++o);e.addEventListener("error",a);e.addEventListener("timeout",a);e.addEventListener("load",(()=>{if(e.status>=200&&e.status<300){return r(e.responseText)}a()}));S(i,t,e,o);return e};const C={send:I};const T=window.location.origin+"/zero/auth";const A="wss://ws.0account.com/ws";const O="wss://staging.ws.0account.com/ws";const z="0account";const q="session-id";const F="session-token";const $="from-widget-uuid-updated";const j="from-widget-logged-out";const E="from-widget-ensure-session";const N="to-widget-logout";const U="to-widget-approved";const R="to-any-error";const V="0account-logout";const H="0account-authenticated";function B(i,t=300){let r;return(...o)=>{clearTimeout(r);r=setTimeout((()=>{i.apply(this,o)}),t)}}class L{constructor(i,t){this.wsURL=A;this.callbackURL=T;if(!t.env)t.env=s.production;this.appId=i;this.uaParser=t.uaParser;this.callbackURL=t.callbackURL;this.updateInterval=t.updateInterval;this.enableWithCredentials=t.enableWithCredentials;this.log=t.log;if(t.env!==s.production)this.wsURL=O;this.init()}deviceInfo(){return{appId:this.appId,browser:this.uaParser.getBrowser().withFeatureCheck().name,os:this.uaParser.getOS().withFeatureCheck().name}}reinit(){const i=B(this.init.bind(this),1e3);i()}init(){const i=i=>{this.send(E,this.deviceInfo())};const t=i=>{try{const t=JSON.parse(i.data);this.handleMessage(t)}catch(i){this.log(i)}};const r=i=>{if(this.socket&&(this.socket.readyState!==WebSocket.CLOSED&&this.socket.readyState!==WebSocket.CLOSING)){this.socket.close()}};const o=e=>{if(this.socket){this.socket.removeEventListener("open",i);this.socket.removeEventListener("message",t);this.socket.removeEventListener("error",r);this.socket.removeEventListener("close",o);delete this.socket}this.reinit()};if(this.socket){this.socket.removeEventListener("open",i);this.socket.removeEventListener("message",t);this.socket.removeEventListener("error",r);this.socket.removeEventListener("close",o)}this.socket=new WebSocket(this.wsURL);this.socket.addEventListener("open",i);this.socket.addEventListener("message",t);this.socket.addEventListener("error",r);this.socket.addEventListener("close",o)}updateUUID(i){this.uuid=i;this.send($,this.deviceInfo())}send(i,t){if(!this.socket||!this.socket.readyState||this.socket.readyState!==WebSocket.OPEN){const i=B(this.send.bind(this),1e3);return i()}const r={action:i,timeout:`${this.updateInterval}ms`,uuid:this.uuid,appId:`${this.appId}`,message:{}};if(i===E){const i=localStorage.getItem(`${z}_${q}`);const t=localStorage.getItem(`${z}_${F}`);if(!i||!t)return;r.sessionId=i;r.sessionToken=t}if(t)r.message=t;this.socket.send(JSON.stringify(r))}onZeroAuth(){if(this.request)this.request.abort();this.request=C.send(this.callbackURL,{enableWithCredentials:this.enableWithCredentials,headers:{"x-0account-uuid":this.uuid,"x-0account-auth":"true"}},(i=>{try{const t=JSON.parse(i);this.dispatchEventAndWsSend(H,t)}catch(i){this.log(i)}}))}handleMessage(i){switch(i.action){case U:this.onZeroAuth();localStorage.setItem(`${z}_${q}`,i.sessionId);localStorage.setItem(`${z}_${F}`,i.message);break;case N:localStorage.removeItem(`${z}_${q}`);localStorage.removeItem(`${z}_${F}`);this.dispatchEvent(V);this.send(j,this.deviceInfo());break;case R:this.log("ws error",i);break;default:this.log("incorrect action",i.action,i)}}dispatchEventAndWsSend(i,t){this.dispatchEvent(i,t);this.send("from-widget-"+i,t)}dispatchEvent(i,t){let r=new CustomEvent(i);if(t)r=new CustomEvent(i,{detail:t});document.dispatchEvent(r)}}const W=':host{--primary-color:#7263FA;--primary-background-color:#FFF;--theme-based-radius:0px;--theme-based-padding:0px;--button-animation-duration:200ms;--text-color:#000;--button-border-color:#B2D4FF;--button-border-radius:9999px;--button-background-color:var(--primary-background-color);--modal-logo-border-color:var(--primary-color);--modal-animation-duration:350ms;--easing:cubic-bezier(0.16, 1, 0.3, 1);font-family:sans-serif}.dark{--button-background-color:rgb(30, 41, 59);--primary-background-color:rgb(30, 41, 59);--button-border-color:#FFFFF9;--text-color:#FFFFF9;--modal-logo-border-color:#CCC;--theme-based-radius:4px;--theme-based-padding:8px}.button{font-size:16px;color:var(--text-color);cursor:pointer;padding:8px 12px 8px 10px;display:flex;flex-direction:row;align-items:center;gap:6px;border:1px solid var(--button-border-color);background-color:var(--button-background-color);border-radius:var(--button-border-radius)}.button:hover{transition:box-shadow var(--button-animation-duration);box-shadow:0 0 3px rgba(0, 0, 0, 0.3);background:linear-gradient(\n to top,\n rgba(200, 200, 200, 0.1),\n rgba(200, 200, 200, 0.1)\n ) var(--button-background-color)}.button:active{transition:box-shadow var(--button-animation-duration);box-shadow:0 0 0 rgba(0, 0, 0, 0)}.button__logo{width:1.3rem}.modal{display:flex;z-index:9999;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;opacity:1;background-color:rgba(0, 0, 0, 0.3);transition:opacity var(--modal-animation-duration) var(--easing)}.modal--hidden{opacity:0;pointer-events:none}.modal__content{max-width:240px;border-radius:4px;position:relative;display:flex;flex-direction:column;align-items:center;padding:16px;background-color:var(--primary-background-color);transform:scale(1);transition:transform var(--modal-animation-duration) var(--easing)}.modal--hidden .modal__content{transform:scale(0.5)}.modal__qrcode__container{position:relative;background-color:white;border-radius:var(--theme-based-radius);padding:var(--theme-based-padding)}.modal__qrcode{border-radius:4px;width:100%;height:auto}.modal__logo{padding:8px;border:2px var(--modal-logo-border-color) solid;border-radius:var(--button-border-radius);background-color:var(--primary-background-color);position:absolute;width:16%;top:50%;left:50%;transform:translate3d(-50%, -50%, 0)}.modal-animated .circle__overlay{width:100%;height:100%}.modal-animated .modal__qrcode{filter:blur(2px)}.modal-animated .modal__logo{border:none;animation:spin 2.5s var(--easing) infinite}@keyframes spin{0%{transform:translate3d(-50%, -50%, 0) rotate(0deg)}50%{transform:translate3d(-50%, -50%, 0) rotate(180deg)}100%{transform:translate3d(-50%, -50%, 0) rotate(360deg)}}.modal__buttons{width:100%;flex-direction:column;align-items:center;margin-top:14px;display:flex;text-align:center}.modal:not(.modal--hidden) .modal__button{transform:scale(1) translate3d(0, 0, 0)}.modal:not(.modal--hidden) .modal__link{transform:scale(1) translate3d(0, 0, 0)}.modal__button{transform:scale(0) translate3d(0, 150px, 0);transition:calc(var(--modal-animation-duration) + 50ms) var(--easing);transition-property:scale, transform, background-color;cursor:pointer;padding:12px;font-size:14px;background-color:var(--primary-color);color:white;border:none;border-radius:6px;width:100%}.modal__button:hover{background:linear-gradient(\n to top,\n rgba(0, 0, 0, 0.1),\n rgba(0, 0, 0, 0.1)\n ) var(--primary-color)}.modal__link{transform:scale(0) translate3d(0, 150px, 0);transition:calc(var(--modal-animation-duration) + 150ms) var(--easing);transition-property:scale, transform;font-size:0.8rem;padding:10px 20px 0;color:var(--primary-color);width:100%;text-decoration:underline rgba(0, 0, 0, 0)}.modal__link:hover{text-decoration-color:var(--primary-color)}.modal__close-button{position:absolute;top:-26px;right:-26px;width:24px;height:24px;background-color:rgba(0, 0, 0, 0.1);border-radius:10px;cursor:pointer;transition:background-color var(--modal-animation-duration) var(--easing)}.modal__close-button:hover{background-color:rgba(0, 0, 0, 0.3)}.modal__close-button:before,.modal__close-button:after{content:"";position:absolute;top:50%;left:50%;width:50%;height:1px;background-color:rgba(255, 255, 255, 0.8);transform:translate(-50%, -50%) rotate(45deg)}.modal__close-button:after{transform:translate(-50%, -50%) rotate(-45deg)}.circle__overlay{overflow:hidden;top:50%;left:50%;transform:translate(-50%, -50%);position:absolute;background-color:var(--primary-background-color);border-radius:var(--button-border-radius);width:10%;height:10%;border:2px var(--modal-logo-border-color) solid;transition:calc(var(--modal-animation-duration) + 200ms) var(--easing);transition-property:width, height, opacity}.circle{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:100px;height:100px;border-radius:50%;background-color:#E0E0E0;animation:circle__ripple 2s linear infinite}.circle--medium{width:150px;height:150px;animation-duration:2.5s}.circle--large{width:200px;height:200px;animation-duration:3s}@keyframes circle__ripple{0%{transform:translate(-50%, -50%) scale(0);opacity:1}100%{transform:translate(-50%, -50%) scale(1.5);opacity:0}}';const Z=W;const D=59*60*1e3;const P=10*1e3;const X=window.location.origin+"/zero/auth";const G=3e3;const J=class{constructor(t){i(this,t);this.refreshQR=(i=false)=>{const t=()=>{this.restartTimer();this.updateURL()};if(i)return t();this.isAnimating=true;this.animationTimer=window.setTimeout((()=>{t();this.isAnimating=false}),G)};this.hideOnEsc=i=>{if(i.key==="Escape"||i.key==="Esc"){this.modalOpen=false}};this.log=(...i)=>this.logger.log(...i);this.appId=undefined;this.updateInterval=3*60*1e3;this.callbackURL=X;this.modal=true;this.level=n.M;this.primaryColor="#3C444F";this.secondaryColor=undefined;this.environment=s.production;this.enableWithCredentials=false;this.themePreset=c.light;this.autoStartApp=true;this.modalOpen=false;this.isAnimating=false;this.url=""}getUpdateInterval(){return Math.min(Math.max(this.updateInterval,P),D)}toggleModal(){this.modalOpen=!this.modalOpen;if(this.modalOpen)this.refreshQR(true);if(this.modalOpen&&this.autoStartApp||this.isMobile())this.openApp()}_closeModal(){this.modalOpen=false;this.stopTimer()}closeModal(i){if(i.target!==this.modalEl&&i.target!==this.closeButtonEl){return i.stopPropagation()}this._closeModal()}openApp(){if(this.modalOpen){window.location.href=this.url}}render(){const i=this.themePreset===c.light?"#7263FA":"#FFFFF9";const r="#000";return t(o,{key:"1dc3610232166249e09861006f22ad43a58d208d"},t("slot",{key:"5c510d06b9423a2540e494c57eebda16ac2f3fe6"}),this.host.childNodes.length===0&&t("button",{class:`button ${this.themePreset}`,onClick:()=>this.toggleModal()},t(_,{className:"button__logo",color:i}),"use 0account"),t("div",{key:"1ccab237f88fe77eb22f0c0b82b9612b536a6eb2",ref:i=>this.modalEl=i,onClick:i=>this.closeModal(i),class:`modal ${this.themePreset} ${this.isAnimating?"modal-animated":""} ${this.modalOpen?"":"modal--hidden"}`},t("div",{key:"cca5693c98f2dbf7aa5584e62862e90783c24bdb",class:"modal__content"},t("div",{key:"fa239e9bb2f618a7d0067c74d6c599f1482aa0ce",ref:i=>this.closeButtonEl=i,class:"modal__close-button"}),t("div",{key:"3d8e206fbbb7a45f0b634fc1ac5cda0a3434d6d9",class:"modal__qrcode__container"},t("qr-code",{key:"a2f7f00f7926c7994c79098b4f386e4e60f16bc4",url:this.url,class:`modal__qrcode`,level:this.level,color:r}),t("div",{key:"5819116a32e44341a408b79d5ed48a31c0be17d9",class:"circle__overlay"},t("div",{key:"67220c1757145e3263fdf8b265730a9b50628034",class:"circle"}),t("div",{key:"2d43067a7a3e0fad60670a92f026925b7b2141f0",class:"circle circle--medium"}),t("div",{key:"c6cc6df2fcfd06b895e185f5b818150ea031c15e",class:"circle circle--large"})),t(_,{key:"1e5b5f9687d0629cacd3c2524bb271824c03f102",className:"modal__logo",color:i})),t("div",{key:"13e998689e3b8942c39f94c8d67b1d6908ea63de",class:"modal__buttons"},t("button",{key:"879631b5e37bd0b9f440023edbef542d3628142c",onClick:()=>this.openApp(),class:"modal__button"},"Open the desktop app"),t("a",{key:"3be4413c520f42982546535badf4aa133a25ee78",href:"https://0account.com/downloads",class:"modal__link"},"Download the app")))))}componentWillLoad(){this.logger=new x(this.environment);this.uaParser=new h.exports.UAParser;this.ws=new L(this.appId,{updateInterval:this.getUpdateInterval(),enableWithCredentials:this.enableWithCredentials,callbackURL:this.callbackURL,uaParser:this.uaParser,env:this.environment,log:this.log});this.refreshQR(true);document.addEventListener("keydown",this.hideOnEsc)}updateURL(){const i=(new Date).getTime()+this.getUpdateInterval();const t=k();this.ws.updateUUID(t);const r=y("",{appId:this.appId,uuid:t,expires:i});if(this.isMobile()){this.url="https://launch.0account.com/auth?"+r}else{this.url="zero-account://auth?"+r}}isMobile(){const i=this.uaParser.getDevice();return i.type==="tablet"||i.type==="mobile"}connectedCallback(){this.startTimer()}disconnectedCallback(){this.stopTimer();document.removeEventListener("keydown",this.hideOnEsc)}restartTimer(){this.stopTimer();this.startTimer()}startTimer(){this.timer=window.setInterval(this.refreshQR,this.getUpdateInterval())}stopTimer(){window.clearInterval(this.timer);window.clearTimeout(this.animationTimer);this.isAnimating=false}get host(){return e(this)}};J.style=Z;export{l as qr_code,J as zero_account};
2
- //# sourceMappingURL=p-4f8e893d.entry.js.map
1
+ import{r as i,h as t,B as o,H as r,g as e}from"./p-3b6bbcf5.js";var a=new function(){this.QrCode=function(e,a,n,s){if(e<t||e>o)throw"Version value out of range";if(s<-1||s>7)throw"Mask value out of range";if(!(a instanceof r))throw"QrCode.Ecc expected";var d=e*4+17;var l=[];for(var u=0;u<d;u++)l.push(false);var h=[];var f=[];for(var u=0;u<d;u++){h.push(l.slice());f.push(l.slice())}v();var b=_(n);M(b);if(s==-1){var w=Infinity;for(var u=0;u<8;u++){p(u);S(u);var m=I();if(m<w){s=u;w=m}S(u)}}if(s<0||s>7)throw"Assertion error";p(s);S(s);f=null;Object.defineProperty(this,"version",{value:e});Object.defineProperty(this,"size",{value:d});Object.defineProperty(this,"errorCorrectionLevel",{value:a});Object.defineProperty(this,"mask",{value:s});this.getModule=function(i,t){return 0<=i&&i<d&&0<=t&&t<d&&h[t][i]};this.circlePath=function(i,t,o){return"M "+i+" "+t+" m -"+o+", 0 a "+o+","+o+" 0 1,0 "+o*2+",0 a "+o+","+o+" 0 1,0 -"+o*2+",0"};this.svgObject=function(i){var t=[];for(var o=0;o<d;o++){for(var r=0;r<d;r++){if(this.getModule(r,o)){if(i){t.push(this.circlePath(r+.5,o+.5,.5))}else{t.push("M"+r+","+o+"h1v1h-1z")}}}}return{path:t.join(" "),size:d}};function v(){for(var i=0;i<d;i++){y(6,i,i%2==0);y(i,6,i%2==0)}k(3,3);k(d-4,3);k(3,d-4);var t=C();var o=t.length;for(var i=0;i<o;i++){for(var r=0;r<o;r++){if(!(i==0&&r==0||i==0&&r==o-1||i==o-1&&r==0))x(t[i],t[r])}}p(0);g()}function p(i){var t=a.formatBits<<3|i;var o=t;for(var r=0;r<10;r++)o=o<<1^(o>>>9)*1335;var e=(t<<10|o)^21522;if(e>>>15!=0)throw"Assertion error";for(var r=0;r<=5;r++)y(8,r,T(e,r));y(8,7,T(e,6));y(8,8,T(e,7));y(7,8,T(e,8));for(var r=9;r<15;r++)y(14-r,8,T(e,r));for(var r=0;r<8;r++)y(d-1-r,8,T(e,r));for(var r=8;r<15;r++)y(8,d-15+r,T(e,r));y(8,d-8,true)}function g(){if(e<7)return;var i=e;for(var t=0;t<12;t++)i=i<<1^(i>>>11)*7973;var o=e<<12|i;if(o>>>18!=0)throw"Assertion error";for(var t=0;t<18;t++){var r=T(o,t);var a=d-11+t%3;var n=Math.floor(t/3);y(a,n,r);y(n,a,r)}}function k(i,t){for(var o=-4;o<=4;o++){for(var r=-4;r<=4;r++){var e=Math.max(Math.abs(r),Math.abs(o));var a=i+r,n=t+o;if(0<=a&&a<d&&0<=n&&n<d)y(a,n,e!=2&&e!=4)}}}function x(i,t){for(var o=-2;o<=2;o++){for(var r=-2;r<=2;r++)y(i+r,t+o,Math.max(Math.abs(r),Math.abs(o))!=1)}}function y(i,t,o){h[t][i]=o;f[t][i]=true}function _(t){if(t.length!=i.getNumDataCodewords(e,a))throw"Invalid argument";var o=i.NUM_ERROR_CORRECTION_BLOCKS[a.ordinal][e];var r=i.ECC_CODEWORDS_PER_BLOCK[a.ordinal][e];var n=Math.floor(i.getNumRawDataModules(e)/8);var s=o-n%o;var d=Math.floor(n/o);var l=[];var u=new c(r);for(var h=0,f=0;h<o;h++){var b=t.slice(f,f+d-r+(h<s?0:1));f+=b.length;var w=u.getRemainder(b);if(h<s)b.push(0);l.push(b.concat(w))}var m=[];for(var h=0;h<l[0].length;h++){for(var v=0;v<l.length;v++){if(h!=d-r||v>=s)m.push(l[v][h])}}if(m.length!=n)throw"Assertion error";return m}function M(t){if(t.length!=Math.floor(i.getNumRawDataModules(e)/8))throw"Invalid argument";var o=0;for(var r=d-1;r>=1;r-=2){if(r==6)r=5;for(var a=0;a<d;a++){for(var n=0;n<2;n++){var s=r-n;var c=(r+1&2)==0;var l=c?d-1-a:a;if(!f[l][s]&&o<t.length*8){h[l][s]=T(t[o>>>3],7-(o&7));o++}}}}if(o!=t.length*8)throw"Assertion error"}function S(i){if(i<0||i>7)throw"Mask value out of range";for(var t=0;t<d;t++){for(var o=0;o<d;o++){var r;switch(i){case 0:r=(o+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=o%3==0;break;case 3:r=(o+t)%3==0;break;case 4:r=(Math.floor(o/3)+Math.floor(t/2))%2==0;break;case 5:r=o*t%2+o*t%3==0;break;case 6:r=(o*t%2+o*t%3)%2==0;break;case 7:r=((o+t)%2+o*t%3)%2==0;break;default:throw"Assertion error"}if(!f[t][o]&&r)h[t][o]=!h[t][o]}}}function I(){var t=0;for(var o=0;o<d;o++){for(var r=0,e,a;r<d;r++){if(r==0||h[o][r]!=a){a=h[o][r];e=1}else{e++;if(e==5)t+=i.PENALTY_N1;else if(e>5)t++}}}for(var r=0;r<d;r++){for(var o=0,n,s;o<d;o++){if(o==0||h[o][r]!=s){s=h[o][r];n=1}else{n++;if(n==5)t+=i.PENALTY_N1;else if(n>5)t++}}}for(var o=0;o<d-1;o++){for(var r=0;r<d-1;r++){var c=h[o][r];if(c==h[o][r+1]&&c==h[o+1][r]&&c==h[o+1][r+1])t+=i.PENALTY_N2}}for(var o=0;o<d;o++){for(var r=0,l=0;r<d;r++){l=l<<1&2047|(h[o][r]?1:0);if(r>=10&&(l==93||l==1488))t+=i.PENALTY_N3}}for(var r=0;r<d;r++){for(var o=0,l=0;o<d;o++){l=l<<1&2047|(h[o][r]?1:0);if(o>=10&&(l==93||l==1488))t+=i.PENALTY_N3}}var u=0;h.forEach((function(i){i.forEach((function(i){if(i)u++}))}));var f=d*d;var b=Math.ceil(Math.abs(u*20-f*10)/f)-1;t+=b*i.PENALTY_N4;return t}function C(){if(e==1)return[];else{var i=Math.floor(e/7)+2;var t=e==32?26:Math.ceil((d-13)/(i*2-2))*2;var o=[6];for(var r=d-7;o.length<i;r-=t)o.splice(1,0,r);return o}}function T(i,t){return(i>>>t&1)!=0}};this.QrCode.encodeText=function(i,t){var o=a.QrSegment.makeSegments(i);return this.encodeSegments(o,t)};this.QrCode.encodeBinary=function(i,t){var o=a.QrSegment.makeBytes(i);return this.encodeSegments([o],t)};this.QrCode.encodeSegments=function(r,e,n,s,c,l){if(n==undefined)n=t;if(s==undefined)s=o;if(c==undefined)c=-1;if(l==undefined)l=true;if(!(t<=n&&n<=s&&s<=o)||c<-1||c>7)throw"Invalid value";var u,h;for(u=n;;u++){var f=i.getNumDataCodewords(u,e)*8;h=a.QrSegment.getTotalBits(r,u);if(h<=f)break;if(u>=s)throw"Data too long"}[this.Ecc.MEDIUM,this.Ecc.QUARTILE,this.Ecc.HIGH].forEach((function(t){if(l&&h<=i.getNumDataCodewords(u,t)*8)e=t}));var b=new d;r.forEach((function(i){b.appendBits(i.mode.modeBits,4);b.appendBits(i.numChars,i.mode.numCharCountBits(u));i.getData().forEach((function(i){b.push(i)}))}));if(b.length!=h)throw"Assertion error";var f=i.getNumDataCodewords(u,e)*8;if(b.length>f)throw"Assertion error";b.appendBits(0,Math.min(4,f-b.length));b.appendBits(0,(8-b.length%8)%8);if(b.length%8!=0)throw"Assertion error";for(var w=236;b.length<f;w^=236^17)b.appendBits(w,8);var m=[];while(m.length*8<b.length)m.push(0);b.forEach((function(i,t){m[t>>>3]|=i<<7-(t&7)}));return new this(u,e,m,c)};var i={};i.getNumRawDataModules=function(i){if(i<t||i>o)throw"Version number out of range";var r=(16*i+128)*i+64;if(i>=2){var e=Math.floor(i/7)+2;r-=(25*e-10)*e-55;if(i>=7)r-=36}return r};i.getNumDataCodewords=function(t,o){return Math.floor(i.getNumRawDataModules(t)/8)-i.ECC_CODEWORDS_PER_BLOCK[o.ordinal][t]*i.NUM_ERROR_CORRECTION_BLOCKS[o.ordinal][t]};var t=1;var o=40;Object.defineProperty(this.QrCode,"MIN_VERSION",{value:t});Object.defineProperty(this.QrCode,"MAX_VERSION",{value:o});i.PENALTY_N1=3;i.PENALTY_N2=3;i.PENALTY_N3=40;i.PENALTY_N4=10;i.ECC_CODEWORDS_PER_BLOCK=[[null,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[null,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[null,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[null,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]];i.NUM_ERROR_CORRECTION_BLOCKS=[[null,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[null,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[null,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[null,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]];this.QrCode.Ecc={LOW:new r(0,1),MEDIUM:new r(1,0),QUARTILE:new r(2,3),HIGH:new r(3,2)};function r(i,t){Object.defineProperty(this,"ordinal",{value:i});Object.defineProperty(this,"formatBits",{value:t})}this.QrSegment=function(i,t,o){if(t<0||!(i instanceof n))throw"Invalid argument";o=o.slice();Object.defineProperty(this,"mode",{value:i});Object.defineProperty(this,"numChars",{value:t});this.getData=function(){return o.slice()}};this.QrSegment.makeBytes=function(i){var t=new d;i.forEach((function(i){t.appendBits(i,8)}));return new this(this.Mode.BYTE,i.length,t)};this.QrSegment.makeNumeric=function(i){if(!this.NUMERIC_REGEX.test(i))throw"String contains non-numeric characters";var t=new d;for(var o=0;o<i.length;){var r=Math.min(i.length-o,3);t.appendBits(parseInt(i.substr(o,r),10),r*3+1);o+=r}return new this(this.Mode.NUMERIC,i.length,t)};this.QrSegment.makeAlphanumeric=function(i){if(!this.ALPHANUMERIC_REGEX.test(i))throw"String contains unencodable characters in alphanumeric mode";var t=new d;var o;for(o=0;o+2<=i.length;o+=2){var r=e.ALPHANUMERIC_CHARSET.indexOf(i.charAt(o))*45;r+=e.ALPHANUMERIC_CHARSET.indexOf(i.charAt(o+1));t.appendBits(r,11)}if(o<i.length)t.appendBits(e.ALPHANUMERIC_CHARSET.indexOf(i.charAt(o)),6);return new this(this.Mode.ALPHANUMERIC,i.length,t)};this.QrSegment.makeSegments=function(i){if(i=="")return[];else if(this.NUMERIC_REGEX.test(i))return[this.makeNumeric(i)];else if(this.ALPHANUMERIC_REGEX.test(i))return[this.makeAlphanumeric(i)];else return[this.makeBytes(s(i))]};this.QrSegment.makeEci=function(i){var t=new d;if(i<0)throw"ECI assignment value out of range";else if(i<1<<7)t.appendBits(i,8);else if(i<1<<14){t.appendBits(2,2);t.appendBits(i,14)}else if(i<1e6){t.appendBits(6,3);t.appendBits(i,21)}else throw"ECI assignment value out of range";return new this(this.Mode.ECI,0,t)};this.QrSegment.getTotalBits=function(i,t){var o=0;for(var r=0;r<i.length;r++){var e=i[r];var a=e.mode.numCharCountBits(t);if(e.numChars>=1<<a)return Infinity;o+=4+a+e.getData().length}return o};var e={};this.QrSegment.NUMERIC_REGEX=/^[0-9]*$/;this.QrSegment.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/;e.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";this.QrSegment.Mode={NUMERIC:new n(1,[10,12,14]),ALPHANUMERIC:new n(2,[9,11,13]),BYTE:new n(4,[8,16,16]),KANJI:new n(8,[8,10,12]),ECI:new n(7,[0,0,0])};function n(i,t){Object.defineProperty(this,"modeBits",{value:i});this.numCharCountBits=function(i){return t[Math.floor((i+7)/17)]}}function s(i){i=encodeURI(i);var t=[];for(var o=0;o<i.length;o++){if(i.charAt(o)!="%")t.push(i.charCodeAt(o));else{t.push(parseInt(i.substr(o+1,2),16));o+=2}}return t}function c(i){if(i<1||i>255)throw"Degree out of range";var t=[];for(var o=0;o<i-1;o++)t.push(0);t.push(1);var r=1;for(var o=0;o<i;o++){for(var e=0;e<t.length;e++){t[e]=c.multiply(t[e],r);if(e+1<t.length)t[e]^=t[e+1]}r=c.multiply(r,2)}this.getRemainder=function(i){var o=t.map((function(){return 0}));i.forEach((function(i){var r=i^o.shift();o.push(0);for(var e=0;e<o.length;e++)o[e]^=c.multiply(t[e],r)}));return o}}c.multiply=function(i,t){if(i>>>8!=0||t>>>8!=0)throw"Byte out of range";var o=0;for(var r=7;r>=0;r--){o=o<<1^(o>>>7)*285;o^=(t>>>r&1)*i}if(o>>>8!=0)throw"Assertion error";return o};function d(){Array.call(this);this.appendBits=function(i,t){if(t<0||t>31||i>>>t!=0)throw"Value out of range";for(var o=t-1;o>=0;o--)this.push(i>>>o&1)}}d.prototype=Object.create(Array.prototype);d.prototype.constructor=d};var n;(function(i){i["L"]="L";i["M"]="M";i["Q"]="Q";i["H"]="H"})(n||(n={}));var s;(function(i){i["production"]="production";i["staging"]="staging"})(s||(s={}));var c;(function(i){i["light"]="light";i["dark"]="dark"})(c||(c={}));const d=a.QrCode;const l=class{constructor(t){i(this,t);this.url=undefined;this.level=n.M;this.class="";this.color="black"}render(){const i=i=>{i=i.toUpperCase();if(i==="L")return d.Ecc.LOW;if(i==="M")return d.Ecc.MEDIUM;if(i==="Q")return d.Ecc.QUARTILE;return d.Ecc.HIGH};const o=i(this.level);const r=d.encodeText(this.url,o);const e=r.svgObject();return t("svg",{class:this.class,viewBox:`0 0 ${e.size} ${e.size}`},t("path",{d:e.path,fill:this.color}))}};var u=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};var h={exports:{}};(function(i,t){!function(o,r){function e(i){for(var t={},o=0;o<i.length;o++)t[i[o].toUpperCase()]=i[o];return t}function a(i,t){if(!(typeof i===d&&0<i.length))return!!ki(i)&&-1!==yi(t).indexOf(yi(i));for(var o in i)if(yi(i[o])==yi(t))return 1}var n="",s="function",c="undefined",d="object",l="string",u="major",h="model",f="name",b="type",w="vendor",m="version",v="architecture",p="console",g="mobile",k="tablet",x="smarttv",y="wearable",_="embedded",M="user-agent",S=500,I="brands",C="formFactor",T="fullVersionList",A="platform",O="platformVersion",z="bitness",q="sec-ch-ua",F=q+"-full-version-list",$=q+"-arch",j=q+"-"+z,E=q+"-form-factor",N=q+"-"+g,U=q+"-"+h,R=q+"-"+A,V=R+"-version",H=[I,T,g,h,A,O,v,C,z],B="browser",L="cpu",W="device",Z="engine",D="os",P="result",X="Amazon",G="Apple",J="ASUS",Q="BlackBerry",K="Google",Y="Huawei",ii="Lenovo",ti="LG",oi="Microsoft",ri="Motorola",ei="Samsung",ai="Sony",ni="Xiaomi",si="Zebra",ci="Mobile ",di=" Browser",li="Chrome",ui="Firefox",hi="Opera",fi="Facebook",bi="Windows",wi=typeof o!==c,mi=wi&&o.navigator?o.navigator:r,vi=mi&&mi.userAgentData?mi.userAgentData:r,pi=function(i,t){var o,r={};for(o in i)r[o]=t[o]&&t[o].length%2==0?t[o].concat(i[o]):i[o];return r},gi=function(i){for(var t in i)return/^(browser|cpu|device|engine|os)$/.test(t)},ki=function(i){return typeof i===l},xi=function(i){if(!i)return r;for(var t,o=[],e=Si(/\\?\"/g,i).split(","),a=0;a<e.length;a++)-1<e[a].indexOf(";")?(t=Ci(e[a]).split(";v="),o[a]={brand:t[0],version:t[1]}):o[a]=Ci(e[a]);return o},yi=function(i){return ki(i)?i.toLowerCase():i},_i=function(i){return ki(i)?Si(/[^\d\.]/g,i).split(".")[0]:r},Mi=function(i){for(var t in i){t=i[t];typeof t==d&&2==t.length?this[t[0]]=t[1]:this[t]=r}return this},Si=function(i,t){return ki(t)?t.replace(i,n):t},Ii=function(i){return Si(/\\?\"/g,i)},Ci=function(i,t){if(ki(i))return i=Si(/^\s\s*/,i),typeof t===c?i:i.substring(0,S)},Ti=function(i,t){if(i&&t)for(var o,e,a,n,c,l=0;l<t.length&&!n;){for(var u=t[l],h=t[l+1],f=o=0;f<u.length&&!n&&u[f];)if(n=u[f++].exec(i))for(e=0;e<h.length;e++)c=n[++o],typeof(a=h[e])===d&&0<a.length?2===a.length?typeof a[1]==s?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3===a.length?typeof a[1]!==s||a[1].exec&&a[1].test?this[a[0]]=c?c.replace(a[1],a[2]):r:this[a[0]]=c?a[1].call(this,c,a[2]):r:4===a.length&&(this[a[0]]=c?a[3].call(this,c.replace(a[1],a[2])):r):this[a]=c||r;l+=2}},Ai=function(i,t){for(var o in t)if(typeof t[o]===d&&0<t[o].length){for(var e=0;e<t[o].length;e++)if(a(t[o][e],i))return"?"===o?r:o}else if(a(t[o],i))return"?"===o?r:o;return t.hasOwnProperty("*")?t["*"]:i},Oi={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"},zi={embedded:"Automotive",mobile:"Mobile",tablet:["Tablet","EInk"],smarttv:"TV",wearable:["VR","XR","Watch"],"?":["Desktop","Unknown"],"*":r},qi={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[m,[f,ci+"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[m,[f,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[f,m],[/opios[\/ ]+([\w\.]+)/i],[m,[f,hi+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[m,[f,hi+" GX"]],[/\bopr\/([\w\.]+)/i],[m,[f,hi]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[m,[f,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[f,m],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[m,[f,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[m,[f,"WeChat"]],[/konqueror\/([\w\.]+)/i],[m,[f,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[m,[f,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[m,[f,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[m,[f,"Smart "+ii+di]],[/(avast|avg)\/([\w\.]+)/i],[[f,/(.+)/,"$1 Secure"+di],m],[/\bfocus\/([\w\.]+)/i],[m,[f,ui+" Focus"]],[/\bopt\/([\w\.]+)/i],[m,[f,hi+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[m,[f,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[m,[f,"Dolphin"]],[/coast\/([\w\.]+)/i],[m,[f,hi+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[m,[f,"MIUI"+di]],[/fxios\/([\w\.-]+)/i],[m,[f,ci+ui]],[/\bqihu|(qi?ho?o?|360)browser/i],[[f,"360"+di]],[/(oculus|sailfish|huawei|vivo)browser\/([\w\.]+)/i],[[f,/(.+)/,"$1"+di],m],[/samsungbrowser\/([\w\.]+)/i],[m,[f,ei+" Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[f,/_/g," "],m],[/metasr[\/ ]?([\d\.]+)/i],[m,[f,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[f,"Sogou Mobile"],m],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[f,m],[/(lbbrowser)/i,/\[(linkedin)app\]/i],[f],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[f,fi],m],[/(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,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[f,m],[/\bgsa\/([\w\.]+) .*safari\//i],[m,[f,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[m,[f,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[m,[f,li+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[f,li+" WebView"],m],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[m,[f,"Android"+di]],[/chrome\/([\w\.]+) mobile/i],[m,[f,ci+"Chrome"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[f,m],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[m,[f,ci+"Safari"]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[f,ci+"Safari"]],[/version\/([\w\.\,]+) .*(safari)/i],[m,f],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[f,[m,"1"]],[/(webkit|khtml)\/([\w\.]+)/i],[f,m],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[f,ci+ui],m],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[f,"Netscape"],m],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[m,[f,ui+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\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|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[f,m],[/(cobalt)\/([\w\.]+)/i],[f,[m,/[^\d\.]+./,n]]],cpu:[[/\b(?:(amd|x|x86[-_]?|wow|win)64)\b/i],[[v,"amd64"]],[/(ia32(?=;))/i,/((?:i[346]|x)86)[;\)]/i],[[v,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[v,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[v,"armhf"]],[/windows (ce|mobile); ppc;/i],[[v,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[v,/ower/,n,yi]],[/(sun4\w)[;\)]/i],[[v,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[v,yi]]],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],[h,[w,ei],[b,k]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[h,[w,ei],[b,g]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[h,[w,G],[b,g]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[h,[w,G],[b,k]],[/(macintosh);/i],[h,[w,G]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[h,[w,"Sharp"],[b,g]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[h,[w,Y],[b,k]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[h,[w,Y],[b,g]],[/\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)?)(?: bui|\))/i],[[h,/_/g," "],[w,ni],[b,g]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[h,/_/g," "],[w,ni],[b,k]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[h,[w,"OPPO"],[b,g]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[h,[w,"Vivo"],[b,g]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[h,[w,"Realme"],[b,g]],[/\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],[h,[w,ri],[b,g]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[h,[w,ri],[b,k]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[h,[w,ti],[b,k]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[h,[w,ti],[b,g]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[h,[w,ii],[b,k]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[h,/_/g," "],[w,"Nokia"],[b,g]],[/(pixel c)\b/i],[h,[w,K],[b,k]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[h,[w,K],[b,g]],[/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],[h,[w,ai],[b,g]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[h,"Xperia Tablet"],[w,ai],[b,k]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[h,[w,"OnePlus"],[b,g]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[h,[w,X],[b,k]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[h,/(.+)/g,"Fire Phone $1"],[w,X],[b,g]],[/(playbook);[-\w\),; ]+(rim)/i],[h,w,[b,k]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[h,[w,Q],[b,g]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[h,[w,J],[b,k]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[h,[w,J],[b,g]],[/(nexus 9)/i],[h,[w,"HTC"],[b,k]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[w,[h,/_/g," "],[b,g]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[h,[w,"Acer"],[b,k]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[h,[w,"Meizu"],[b,g]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[h,[w,"Ulefone"],[b,g]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[w,h,[b,g]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[w,h,[b,k]],[/(surface duo)/i],[h,[w,oi],[b,k]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[h,[w,"Fairphone"],[b,g]],[/(shield[\w ]+) b/i],[h,[w,"Nvidia"],[b,k]],[/(sprint) (\w+)/i],[w,h,[b,g]],[/(kin\.[onetw]{3})/i],[[h,/\./g," "],[w,oi],[b,g]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[h,[w,si],[b,k]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[h,[w,si],[b,g]],[/smart-tv.+(samsung)/i],[w,[b,x]],[/hbbtv.+maple;(\d+)/i],[[h,/^/,"SmartTV"],[w,ei],[b,x]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[w,ti],[b,x]],[/(apple) ?tv/i],[w,[h,G+" TV"],[b,x]],[/crkey/i],[[h,li+"cast"],[w,K],[b,x]],[/droid.+aft(\w+)( bui|\))/i],[h,[w,X],[b,x]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[h,[w,"Sharp"],[b,x]],[/(bravia[\w ]+)( bui|\))/i],[h,[w,ai],[b,x]],[/(mitv-\w{5}) bui/i],[h,[w,ni],[b,x]],[/Hbbtv.*(technisat) (.*);/i],[w,h,[b,x]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[w,Ci],[h,Ci],[b,x]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[b,x]],[/(ouya)/i,/(nintendo) (\w+)/i],[w,h,[b,p]],[/droid.+; (shield) bui/i],[h,[w,"Nvidia"],[b,p]],[/(playstation \w+)/i],[h,[w,ai],[b,p]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[h,[w,oi],[b,p]],[/((pebble))app/i],[w,h,[b,y]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[h,[w,G],[b,y]],[/droid.+; (glass) \d/i],[h,[w,K],[b,y]],[/droid.+; (wt63?0{2,3})\)/i],[h,[w,si],[b,y]],[/(quest( 2| pro)?)/i],[h,[w,fi],[b,y]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[w,[b,_]],[/(aeobc)\b/i],[h,[w,X],[b,_]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[h,[b,g]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[h,[b,k]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[b,k]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[b,g]],[/(android[-\w\. ]{0,9});.+buil/i],[h,[w,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[m,[f,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[m,[f,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[f,m],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[m,f]],os:[[/microsoft (windows) (vista|xp)/i],[f,m],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[f,[m,Ai,Oi]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[m,Ai,Oi],[f,bi]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[m,/_/g,"."],[f,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[f,"macOS"],[m,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[m,f],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[f,m],[/\(bb(10);/i],[m,[f,Q]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[m,[f,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[m,[f,ui+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[m,[f,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[m,[f,"watchOS"]],[/crkey\/([\d\.]+)/i],[m,[f,li+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[f,"Chrome OS"],m],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[f,m],[/(sunos) ?([\w\.\d]*)/i],[[f,"Solaris"],m],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[f,m]]},Fi=(li={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}},Mi.call(li.init,[[B,[f,m,u]],[L,[v]],[W,[b,h,w]],[Z,[f,m]],[D,[f,m]]]),Mi.call(li.isIgnore,[[B,[m,u]],[Z,[m]],[D,[m]]]),Mi.call(li.isIgnoreRgx,[[B,/ ?browser$/i],[D,/ ?os$/i]]),Mi.call(li.toString,[[B,[f,m]],[L,[v]],[W,[w,h]],[Z,[f,m]],[D,[f,m]]]),li),$i=function(i,t){var o=Fi.init[t],r=Fi.isIgnore[t]||0,e=Fi.isIgnoreRgx[t]||0,s=Fi.toString[t]||0;function d(){Mi.call(this,o)}return d.prototype.getItem=function(){return i},d.prototype.withClientHints=function(){return vi?vi.getHighEntropyValues(H).then((function(t){return i.setCH(new ji(t,!1)).parseCH().get()})):i.parseCH().get()},d.prototype.withFeatureCheck=function(){return i.detectFeature().get()},t!=P&&(d.prototype.is=function(i){var t,o=!1;for(t in this)if(this.hasOwnProperty(t)&&!a(r,t)&&yi(e?Si(e,this[t]):this[t])==yi(e?Si(e,i):i)){if(o=!0,i!=c)break}else if(i==c&&o){o=!o;break}return o},d.prototype.toString=function(){var i,t=n;for(i in s)typeof this[s[i]]!==c&&(t+=(t?" ":n)+this[s[i]]);return t||c}),vi||(d.prototype.then=function(i){var t=this,o=function(){for(var i in t)t.hasOwnProperty(i)&&(this[i]=t[i])};o.prototype={is:d.prototype.is,toString:d.prototype.toString};o=new o;return i(o),o}),new d};function ji(i,t){if(i=i||{},Mi.call(this,H),t)Mi.call(this,[[I,xi(i[q])],[T,xi(i[F])],[g,/\?1/.test(i[N])],[h,Ii(i[U])],[A,Ii(i[R])],[O,Ii(i[V])],[v,Ii(i[$])],[C,xi(i[E])],[z,Ii(i[j])]]);else for(var o in i)this.hasOwnProperty(o)&&typeof i[o]!==c&&(this[o]=i[o])}function Ei(i,t,o,e){return this.get=function(i){return i?this.data.hasOwnProperty(i)?this.data[i]:r:this.data},this.set=function(i,t){return this.data[i]=t,this},this.setCH=function(i){return this.uaCH=i,this},this.detectFeature=function(){if(mi&&mi.userAgent==this.ua)switch(this.itemType){case B:mi.brave&&typeof mi.brave.isBrave==s&&this.set(f,"Brave");break;case W:!this.get(b)&&vi&&vi[g]&&this.set(b,g),"Macintosh"==this.get(h)&&mi&&typeof mi.standalone!==c&&mi.maxTouchPoints&&2<mi.maxTouchPoints&&this.set(h,"iPad").set(b,k);break;case D:!this.get(f)&&vi&&vi[A]&&this.set(f,vi[A]);break;case P:var i=this.data,t=function(t){return i[t].getItem().detectFeature().get()};this.set(B,t(B)).set(L,t(L)).set(W,t(W)).set(Z,t(Z)).set(D,t(D))}return this},this.parseUA=function(){return this.itemType!=P&&Ti.call(this.data,this.ua,this.rgxMap),this.itemType==B&&this.set(u,_i(this.get(m))),this},this.parseCH=function(){var i,t=this.uaCH,o=this.rgxMap;switch(this.itemType){case B:var e,a=t[T]||t[I];if(a)for(var n in a){var s=Si(/(Google|Microsoft) /,a[n].brand||a[n]),n=a[n].version;/not.a.brand/i.test(s)||e&&(!/chrom/i.test(e)||/chromi/i.test(s))||(this.set(f,s).set(m,n).set(u,_i(n)),e=s)}break;case L:var c=t[v];c&&(c&&"64"==t[z]&&(c+="64"),Ti.call(this.data,c+";",o));break;case W:if(t[g]&&this.set(b,g),t[h]&&this.set(h,t[h]),"Xbox"==t[h]&&this.set(b,p).set(w,oi),t[C]){if("string"!=typeof t[C])for(var d=0;!i&&d<t[C].length;)i=Ai(t[C][d++],zi);else i=Ai(t[C],zi);this.set(b,i)}break;case D:c=t[A];c&&(k=t[O],c==bi&&(k=13<=parseInt(_i(k),10)?"11":"10"),this.set(f,c).set(m,k)),this.get(f)==bi&&"Xbox"==t[h]&&this.set(f,"Xbox").set(m,r);break;case P:var l=this.data,k=function(i){return l[i].getItem().setCH(t).parseCH().get()};this.set(B,k(B)).set(L,k(L)).set(W,k(W)).set(Z,k(Z)).set(D,k(D))}return this},Mi.call(this,[["itemType",i],["ua",t],["uaCH",e],["rgxMap",o],["data",$i(this,i)]]),this}function Ni(i,t,o){if(typeof i===d?(t=gi(i)?(typeof t===d&&(o=t),i):(o=i,r),i=r):typeof i!==l||gi(t)||(o=t,t=r),!(this instanceof Ni))return new Ni(i,t,o).getResult();var e=typeof i===l?i:mi&&mi.userAgent?mi.userAgent:o&&o[M]?o[M]:n,a=new ji(o,!0),s=t?pi(qi,t):qi,t=function(i){return i==P?function(){return new Ei(i,e,s,a).set("ua",e).set(B,this.getBrowser()).set(L,this.getCPU()).set(W,this.getDevice()).set(Z,this.getEngine()).set(D,this.getOS()).get()}:function(){return new Ei(i,e,s[i],a).parseUA().get()}};return Mi.call(this,[["getBrowser",t(B)],["getCPU",t(L)],["getDevice",t(W)],["getEngine",t(Z)],["getOS",t(D)],["getResult",t(P)],["getUA",function(){return e}],["setUA",function(i){return ki(i)&&(e=i.length>S?Ci(i,S):i),this}]]).setUA(e),this}Ni.VERSION="2.0.0-beta.2",Ni.BROWSER=e([f,m,u]),Ni.CPU=e([v]),Ni.DEVICE=e([h,w,b,p,g,x,k,y,_]),Ni.ENGINE=Ni.OS=e([f,m]),i.exports&&(t=i.exports=Ni),t.UAParser=Ni;var Ui,Ri=wi&&(o.jQuery||o.Zepto);Ri&&!Ri.ua&&(Ui=new Ni,Ri.ua=Ui.getResult(),Ri.ua.get=function(){return Ui.getUA()},Ri.ua.set=function(i){Ui.setUA(i);var t,o=Ui.getResult();for(t in o)Ri.ua[t]=o[t]})}("object"==typeof window?window:u)})(h,h.exports);let f;const b=new Uint8Array(16);function w(){if(!f){f=typeof crypto!=="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto);if(!f){throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported")}}return f(b)}const m=[];for(let i=0;i<256;++i){m.push((i+256).toString(16).slice(1))}function v(i,t=0){return m[i[t+0]]+m[i[t+1]]+m[i[t+2]]+m[i[t+3]]+"-"+m[i[t+4]]+m[i[t+5]]+"-"+m[i[t+6]]+m[i[t+7]]+"-"+m[i[t+8]]+m[i[t+9]]+"-"+m[i[t+10]]+m[i[t+11]]+m[i[t+12]]+m[i[t+13]]+m[i[t+14]]+m[i[t+15]]}const p=typeof crypto!=="undefined"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const g={randomUUID:p};function k(i,t,o){if(g.randomUUID&&!t&&!i){return g.randomUUID()}i=i||{};const r=i.random||(i.rng||w)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(t){o=o||0;for(let i=0;i<16;++i){t[o+i]=r[i]}return t}return v(r)}class x{constructor(i){this.log=(...i)=>{if(this.environment!=="production"&&o.isDev){console.clear();console.log(...i)}};this.environment=i}}function y(i,t){if(typeof t!=="object")return false;i=i.replace(/(&)\1+/g,"&");let o=i.substr(1).split("&");if(o.length<1||o.length===1&&o[0]==="")o=[];let r;let e;for(let i in t){if(!t.hasOwnProperty(i))continue;let a=encodeURIComponent(i);let n=encodeURIComponent(t[i]);r=[];e=false;let s=o.length-1;for(let i=s;i>=0;--i){r=o[i].split("=");if(r[0]===a){o[i]=a+"="+n;e=true;break}}if(!e)o.push(a+"="+n)}return o.join("&")}const _=({className:i="",color:o="#7263FA"})=>t("svg",{class:i,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"none"},t("path",{fill:o,d:"M128 185h57v57h-57v-57ZM128 14h57v57h-57V14ZM71 185h57v57H71v-57ZM71 14h57v57H71V14ZM14 71h57v57H14V71ZM185 71h57v57h-57V71ZM71 14v57H14l57-57ZM14 128h57v57H14v-57ZM185 128h57v57h-57v-57ZM14 185h57v57l-57-57ZM185 14l57 57h-57V14Z"}));const M=30;const S=(i,t,o,r)=>{if(r>=M){o.abort();o=null;return}let e=r?Math.pow(2,r-1)*t.startLimit:0;e=e<t.maxLimit?e:t.maxLimit;const a=Math.random()*e;setTimeout((function(){o.open("POST",i,true);for(const i in t.headers){if(Object.prototype.hasOwnProperty.call(t.headers,i)){o.setRequestHeader(i,t.headers[i])}}o.send()}),a)};const I=(i,t,o)=>{t=Object.assign({startLimit:100,maxLimit:3*1e3,enableWithCredentials:false},t);let r=0;const e=new XMLHttpRequest;if(t.enableWithCredentials)e.withCredentials=true;const a=()=>S(i,t,e,++r);e.addEventListener("error",a);e.addEventListener("timeout",a);e.addEventListener("load",(()=>{if(e.status>=200&&e.status<300){return o(e.responseText)}a()}));S(i,t,e,r);return e};const C={send:I};const T=window.location.origin+"/zero/auth";const A="wss://ws.0account.com/ws";const O="wss://staging.ws.0account.com/ws";const z="0account";const q="session-id";const F="session-token";const $="from-widget-uuid-updated";const j="from-widget-logged-out";const E="from-widget-ensure-session";const N="to-widget-logout";const U="to-widget-approved";const R="to-any-error";const V="0account-logout";const H="0account-authenticated";function B(i,t=300){let o;return(...r)=>{clearTimeout(o);o=setTimeout((()=>{i.apply(this,r)}),t)}}class L{constructor(i,t){this.wsURL=A;this.callbackURL=T;if(!t.env)t.env=s.production;this.appId=i;this.uaParser=t.uaParser;this.callbackURL=t.callbackURL;this.updateInterval=t.updateInterval;this.enableWithCredentials=t.enableWithCredentials;this.log=t.log;if(t.env!==s.production)this.wsURL=O;this.init()}deviceInfo(){return{appId:this.appId,browser:this.uaParser.getBrowser().withFeatureCheck().name,os:this.uaParser.getOS().withFeatureCheck().name}}reinit(){const i=B(this.init.bind(this),1e3);i()}init(){const i=i=>{this.send(E,this.deviceInfo())};const t=i=>{try{const t=JSON.parse(i.data);this.handleMessage(t)}catch(i){this.log(i)}};const o=i=>{if(this.socket&&(this.socket.readyState!==WebSocket.CLOSED&&this.socket.readyState!==WebSocket.CLOSING)){this.socket.close()}};const r=e=>{if(this.socket){this.socket.removeEventListener("open",i);this.socket.removeEventListener("message",t);this.socket.removeEventListener("error",o);this.socket.removeEventListener("close",r);delete this.socket}this.reinit()};if(this.socket){this.socket.removeEventListener("open",i);this.socket.removeEventListener("message",t);this.socket.removeEventListener("error",o);this.socket.removeEventListener("close",r)}this.socket=new WebSocket(this.wsURL);this.socket.addEventListener("open",i);this.socket.addEventListener("message",t);this.socket.addEventListener("error",o);this.socket.addEventListener("close",r)}updateUUID(i){this.uuid=i;this.send($,this.deviceInfo())}logout(){this.send(j,this.deviceInfo())}send(i,t){if(!this.socket||!this.socket.readyState||this.socket.readyState!==WebSocket.OPEN){const i=B(this.send.bind(this),1e3);return i()}const o={action:i,timeout:`${this.updateInterval}ms`,uuid:this.uuid,appId:`${this.appId}`,message:{}};if(i===E||i===j){const i=localStorage.getItem(`${z}_${q}`);const t=localStorage.getItem(`${z}_${F}`);if(!i||!t)return;o.sessionId=i;o.sessionToken=t}if(t)o.message=t;this.socket.send(JSON.stringify(o))}onZeroAuth(){if(this.request)this.request.abort();this.request=C.send(this.callbackURL,{enableWithCredentials:this.enableWithCredentials,headers:{"x-0account-uuid":this.uuid,"x-0account-auth":"true"}},(i=>{try{const t=JSON.parse(i);this.dispatchEventAndWsSend(H,t)}catch(i){this.log(i)}}))}handleMessage(i){switch(i.action){case U:this.onZeroAuth();localStorage.setItem(`${z}_${q}`,i.sessionId);localStorage.setItem(`${z}_${F}`,i.message);break;case N:localStorage.removeItem(`${z}_${q}`);localStorage.removeItem(`${z}_${F}`);this.dispatchEvent(V);this.send(j,this.deviceInfo());break;case R:this.log("ws error",i);break;default:this.log("incorrect action",i.action,i)}}dispatchEventAndWsSend(i,t){this.dispatchEvent(i,t);this.send("from-widget-"+i,t)}dispatchEvent(i,t){let o=new CustomEvent(i);if(t)o=new CustomEvent(i,{detail:t});document.dispatchEvent(o)}}const W=':host{--primary-color:#7263FA;--primary-background-color:#FFF;--theme-based-radius:0px;--theme-based-padding:0px;--button-animation-duration:200ms;--text-color:#000;--button-border-color:#B2D4FF;--button-border-radius:9999px;--button-background-color:var(--primary-background-color);--modal-logo-border-color:var(--primary-color);--modal-animation-duration:350ms;--easing:cubic-bezier(0.16, 1, 0.3, 1);--disabled-background-color:rgba(0, 0, 0, 0.12);--disabled-color:rgba(0, 0, 0, 0.3);font-family:sans-serif}.dark{--button-background-color:rgb(30, 41, 59);--primary-background-color:rgb(30, 41, 59);--button-border-color:#FFFFF9;--text-color:#FFFFF9;--modal-logo-border-color:#CCC;--disabled-background-color:rgba(255, 255, 255, 0.12);--disabled-color:rgba(255, 255, 255, 0.3);--theme-based-radius:4px;--theme-based-padding:8px}.button{font-size:16px;color:var(--text-color);cursor:pointer;padding:8px 12px 8px 10px;display:flex;flex-direction:row;align-items:center;gap:6px;border:1px solid var(--button-border-color);background-color:var(--button-background-color);border-radius:var(--button-border-radius)}.button:hover{transition:box-shadow var(--button-animation-duration);box-shadow:0 0 3px rgba(0, 0, 0, 0.3);background:linear-gradient(\n to top,\n rgba(200, 200, 200, 0.1),\n rgba(200, 200, 200, 0.1)\n ) var(--button-background-color)}.button:active{transition:box-shadow var(--button-animation-duration);box-shadow:0 0 0 rgba(0, 0, 0, 0)}.button__logo{width:1.3rem}.modal{display:flex;z-index:9999;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;opacity:1;background-color:rgba(0, 0, 0, 0.3);transition:opacity var(--modal-animation-duration) var(--easing)}.modal--hidden{opacity:0;pointer-events:none}.modal__content{max-width:240px;border-radius:4px;position:relative;display:flex;flex-direction:column;align-items:center;padding:16px;background-color:var(--primary-background-color);transform:scale(1);transition:transform var(--modal-animation-duration) var(--easing)}.modal--hidden .modal__content{transform:scale(0.5)}.modal__qrcode__container{position:relative;background-color:white;border-radius:var(--theme-based-radius);padding:var(--theme-based-padding)}.modal__qrcode{border-radius:4px;width:100%;height:auto}.modal__logo{padding:8px;border:2px var(--modal-logo-border-color) solid;border-radius:var(--button-border-radius);background-color:var(--primary-background-color);position:absolute;width:16%;top:50%;left:50%;transform:translate3d(-50%, -50%, 0)}.modal-animated .circle__overlay{width:100%;height:100%}.modal-animated .modal__qrcode{filter:blur(2px)}.modal-animated .modal__logo{border:none;animation:spin 2.5s var(--easing) infinite}@keyframes spin{0%{transform:translate3d(-50%, -50%, 0) rotate(0deg)}50%{transform:translate3d(-50%, -50%, 0) rotate(180deg)}100%{transform:translate3d(-50%, -50%, 0) rotate(360deg)}}.modal__buttons{width:100%;flex-direction:column;align-items:center;margin-top:14px;display:flex;text-align:center}.modal:not(.modal--hidden) .modal__button{transform:scale(1) translate3d(0, 0, 0)}.modal:not(.modal--hidden) .modal__link{transform:scale(1) translate3d(0, 0, 0)}.modal__button{transform:scale(0) translate3d(0, 150px, 0);transition:calc(var(--modal-animation-duration) + 50ms) var(--easing);transition-property:scale, transform, background-color;cursor:pointer;padding:12px;font-size:14px;background-color:var(--primary-color);color:white;border:none;border-radius:6px;width:100%}.modal__button:hover{background:linear-gradient(\n to top,\n rgba(0, 0, 0, 0.1),\n rgba(0, 0, 0, 0.1)\n ) var(--primary-color)}.modal__button:disabled{background-color:var(--disabled-background-color);color:var(--disabled-color);cursor:not-allowed;pointer-events:none}.modal__link{transform:scale(0) translate3d(0, 150px, 0);transition:calc(var(--modal-animation-duration) + 150ms) var(--easing);transition-property:scale, transform;font-size:0.8rem;padding:10px 20px 0;color:var(--primary-color);width:100%;text-decoration:underline rgba(0, 0, 0, 0)}.modal__link:hover{text-decoration-color:var(--primary-color)}.modal__close-button{position:absolute;top:-26px;right:-26px;width:24px;height:24px;background-color:rgba(0, 0, 0, 0.1);border-radius:10px;cursor:pointer;transition:background-color var(--modal-animation-duration) var(--easing)}.modal__close-button:hover{background-color:rgba(0, 0, 0, 0.3)}.modal__close-button:before,.modal__close-button:after{content:"";position:absolute;top:50%;left:50%;width:50%;height:1px;background-color:rgba(255, 255, 255, 0.8);transform:translate(-50%, -50%) rotate(45deg)}.modal__close-button:after{transform:translate(-50%, -50%) rotate(-45deg)}.circle__overlay{overflow:hidden;top:50%;left:50%;transform:translate(-50%, -50%);position:absolute;background-color:var(--primary-background-color);border-radius:var(--button-border-radius);width:10%;height:10%;border:2px var(--modal-logo-border-color) solid;transition:calc(var(--modal-animation-duration) + 200ms) var(--easing);transition-property:width, height, opacity}.circle{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:100px;height:100px;border-radius:50%;background-color:#E0E0E0;animation:circle__ripple 2s linear infinite}.circle--medium{width:150px;height:150px;animation-duration:2.5s}.circle--large{width:200px;height:200px;animation-duration:3s}@keyframes circle__ripple{0%{transform:translate(-50%, -50%) scale(0);opacity:1}100%{transform:translate(-50%, -50%) scale(1.5);opacity:0}}';const Z=W;const D=59*60*1e3;const P=10*1e3;const X=window.location.origin+"/zero/auth";const G=3e3;const J=class{constructor(t){i(this,t);this.refreshQR=(i=false)=>{this.initServices();const t=()=>{this.restartTimer();this.updateURL()};if(i)return t();this.isAnimating=true;this.animationTimer=window.setTimeout((()=>{t();this.isAnimating=false}),G)};this.hideOnEsc=i=>{if(i.key==="Escape"||i.key==="Esc"){this.modalOpen=false}};this.log=(...i)=>this.logger.log(...i);this.appId=undefined;this.updateInterval=3*60*1e3;this.callbackURL=X;this.modal=true;this.level=n.M;this.primaryColor="#3C444F";this.secondaryColor=undefined;this.environment=s.production;this.enableWithCredentials=false;this.themePreset=c.light;this.autoStartApp=true;this.modalOpen=false;this.isAnimating=false;this.url=""}getUpdateInterval(){return Math.min(Math.max(this.updateInterval,P),D)}toggleModal(){this.modalOpen=!this.modalOpen;if(this.modalOpen)this.refreshQR(true);if(this.modalOpen&&this.autoStartApp||this.isMobile())this.openApp()}_closeModal(){this.modalOpen=false;this.stopTimer()}logout(){this.ws.logout()}closeModal(i){if(i.target!==this.modalEl&&i.target!==this.closeButtonEl){return i.stopPropagation()}this._closeModal()}openApp(){if(this.modalOpen){this.refreshQR(true);window.location.href=this.url}}render(){const i=this.themePreset===c.light?"#7263FA":"#FFFFF9";const o="#000";return t(r,{key:"16e012816a541ac508e2c7e4bfb2c86ec5e12139"},t("slot",{key:"f843c7ca9d61291c0e789ea57f7f205ff426fbb5"}),this.host.childNodes.length===0&&t("button",{class:`button ${this.themePreset}`,onClick:()=>this.toggleModal()},t(_,{className:"button__logo",color:i}),"use 0account"),t("div",{key:"3a97849bd767edbd569ebd9e18d0dcd1adc0d5d2",ref:i=>this.modalEl=i,onClick:i=>this.closeModal(i),class:`modal ${this.themePreset} ${this.isAnimating?"modal-animated":""} ${this.modalOpen?"":"modal--hidden"}`},t("div",{key:"b26ba193432193a6157c52be76fa3b15129760e2",class:"modal__content"},t("div",{key:"5586291e6cc5717aac240bfb9bef3b7e38240ff5",ref:i=>this.closeButtonEl=i,class:"modal__close-button"}),t("div",{key:"77edd32e4e29b902b20c4dbd60e348efe8c0f521",class:"modal__qrcode__container"},t("qr-code",{key:"f0fa7b6c4ef4db32c579bf20da52bd9fef5b30cb",url:this.url,class:`modal__qrcode`,level:this.level,color:o}),t("div",{key:"4ed77c6bfe8b90fe3907c869e54b3dfaf06f221f",class:"circle__overlay"},t("div",{key:"2d866ad14e0d42bb00f24ad572823c55413c5ffd",class:"circle"}),t("div",{key:"8f29661b6d0626054dfa1d9a918666e939e0980c",class:"circle circle--medium"}),t("div",{key:"a6d5be1ba18df35063a49a4af0c64a1ca9bbe22d",class:"circle circle--large"})),t(_,{key:"7f252c9b4df9660ad7bb21141ca2de02687056e8",className:"modal__logo",color:i})),t("div",{key:"69230e62468944142e4bd99ead185ee20af20b6f",class:"modal__buttons"},t("button",{key:"4d03821841d9262f3774011abee30b8a85e460eb",disabled:this.isAnimating,onClick:()=>this.openApp(),class:"modal__button"},"Open 0account"),t("a",{key:"d6e6313b40eefd3dce8a9097a298f9464eb0a86e",href:"https://0account.com/downloads",class:"modal__link"},"Download")))))}initServices(){if(this.logger&&this.uaParser&&this.ws)return;this.logger=new x(this.environment);this.uaParser=new h.exports.UAParser;this.ws=new L(this.appId,{updateInterval:this.getUpdateInterval(),enableWithCredentials:this.enableWithCredentials,callbackURL:this.callbackURL,uaParser:this.uaParser,env:this.environment,log:this.log})}componentWillLoad(){this.initServices();this.refreshQR(true);document.addEventListener("keydown",this.hideOnEsc)}updateURL(){const i=(new Date).getTime()+this.getUpdateInterval();const t=k();this.ws.updateUUID(t);const o=y("",{appId:this.appId,uuid:t,expires:i});if(this.isMobile()){this.url="https://launch.0account.com/auth?"+o}else{this.url="zero-account://auth?"+o}}isMobile(){const i=this.uaParser.getDevice();return i.type==="tablet"||i.type==="mobile"}connectedCallback(){this.startTimer()}disconnectedCallback(){this.stopTimer();document.removeEventListener("keydown",this.hideOnEsc)}restartTimer(){this.stopTimer();this.startTimer()}startTimer(){this.timer=window.setInterval(this.refreshQR,this.getUpdateInterval())}stopTimer(){window.clearInterval(this.timer);window.clearTimeout(this.animationTimer);this.isAnimating=false}get host(){return e(this)}};J.style=Z;export{l as qr_code,J as zero_account};
2
+ //# sourceMappingURL=p-1c2b839d.entry.js.map