@qr-platform/qr-code.js 0.11.9 → 0.11.10
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.
- package/lib/browser.js +1 -1
- package/lib/esm.js +1 -1
- package/lib/index.js +1 -1
- package/lib/node.js +1 -1
- package/package.json +1 -1
package/lib/browser.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(A,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((A="undefined"!=typeof globalThis?globalThis:A||self).QRCodeJs={})}(this,(function(A){"use strict";function e(A,e){return e.forEach((function(e){e&&"string"!=typeof e&&!Array.isArray(e)&&Object.keys(e).forEach((function(t){if("default"!==t&&!(t in A)){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(A,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})}}))})),Object.freeze(A)}const t={width:500,height:500};class i{constructor(){this.buffer=[],this.length=0}getBuffer(){return this.buffer}getLengthInBits(){return this.length}toString(){let A="";for(let e=0;e<this.getLengthInBits();e+=1)A+=this.getBit(e)?"1":"0";return A}getBit(A){return 1==(this.buffer[~~(A/8)]>>>7-A%8&1)}put(A,e){for(let t=0;t<e;t+=1)this.putBit(1==(A>>>e-t-1&1))}putBit(A){this.length==8*this.buffer.length&&this.buffer.push(0),A&&(this.buffer[~~(this.length/8)]|=128>>>this.length%8),this.length+=1}}var o,n,r;!function(A){A[A.L=1]="L",A[A.M=0]="M",A[A.Q=3]="Q",A[A.H=2]="H"}(o||(o={}));class s{constructor(){throw new Error("error")}static glog(A){if(A<1)throw new Error("log("+A+")");return s.LOG_TABLE[A]}static gexp(A){for(;A<0;)A+=255;for(;A>=256;)A-=255;return s.EXP_TABLE[A]}}s.initialize=(()=>{s.EXP_TABLE=[],s.LOG_TABLE=[];for(let A=0;A<256;A+=1)s.EXP_TABLE.push(A<8?1<<A:s.EXP_TABLE[A-4]^s.EXP_TABLE[A-5]^s.EXP_TABLE[A-6]^s.EXP_TABLE[A-8]),s.LOG_TABLE.push(0);for(let A=0;A<255;A+=1)s.LOG_TABLE[s.EXP_TABLE[A]]=A})();class g{constructor(A,e=0){let t=0;for(;t<A.length&&0==A[t];)t+=1;this.num=[];const i=A.length-t;for(let e=0;e<i;e+=1)this.num.push(A[t+e]);for(let A=0;A<e;A+=1)this.num.push(0)}getAt(A){return this.num[A]}getLength(){return this.num.length}toString(){let A="";for(let e=0;e<this.getLength();e+=1)e>0&&(A+=","),A+=this.getAt(e);return A.toString()}toLogString(){let A="";for(let e=0;e<this.getLength();e+=1)e>0&&(A+=","),A+=s.glog(this.getAt(e));return A.toString()}multiply(A){const e=[],t=this.getLength()+A.getLength()-1;for(let A=0;A<t;A+=1)e.push(0);for(let t=0;t<this.getLength();t+=1)for(let i=0;i<A.getLength();i+=1)e[t+i]^=s.gexp(s.glog(this.getAt(t))+s.glog(A.getAt(i)));return new g(e)}mod(A){if(this.getLength()-A.getLength()<0)return this;const e=s.glog(this.getAt(0))-s.glog(A.getAt(0)),t=[];for(let A=0;A<this.getLength();A+=1)t.push(this.getAt(A));for(let i=0;i<A.getLength();i+=1)t[i]^=s.gexp(s.glog(A.getAt(i))+e);return new g(t).mod(A)}}!function(A){A[A.MODE_NUMBER=1]="MODE_NUMBER",A[A.MODE_ALPHA_NUM=2]="MODE_ALPHA_NUM",A[A.MODE_8BIT_BYTE=4]="MODE_8BIT_BYTE",A[A.MODE_KANJI=8]="MODE_KANJI"}(n||(n={}));class I{constructor(A,e){this.mode=A,this.data=e}getMode(){return this.mode}getData(){return this.data}getLengthInBits(A){if(1<=A&&A<10)switch(this.mode){case n.MODE_NUMBER:return 10;case n.MODE_ALPHA_NUM:return 9;case n.MODE_8BIT_BYTE:case n.MODE_KANJI:return 8;default:throw new Error("mode:"+this.mode)}else if(A<27)switch(this.mode){case n.MODE_NUMBER:return 12;case n.MODE_ALPHA_NUM:return 11;case n.MODE_8BIT_BYTE:return 16;case n.MODE_KANJI:return 10;default:throw new Error("mode:"+this.mode)}else{if(!(A<41))throw new Error("typeNumber:"+A);switch(this.mode){case n.MODE_NUMBER:return 14;case n.MODE_ALPHA_NUM:return 13;case n.MODE_8BIT_BYTE:return 16;case n.MODE_KANJI:return 12;default:throw new Error("mode:"+this.mode)}}}}class a extends I{constructor(A,e){super(n.MODE_8BIT_BYTE,A),this.stringToBytes=e}write(A){this.stringToBytes(this.getData()).forEach((e=>A.put(e,8)))}getLength(){return this.stringToBytes(this.getData()).length}}class B extends I{constructor(A){super(n.MODE_ALPHA_NUM,A)}write(A){const e=this.getData();let t=0;for(;t+1<e.length;)A.put(45*B.getCode(e.charAt(t))+B.getCode(e.charAt(t+1)),11),t+=2;t<e.length&&A.put(B.getCode(e.charAt(t)),6)}getLength(){return this.getData().length}static getCode(A){if("0"<=A&&A<="9")return A.charCodeAt(0)-"0".charCodeAt(0);if("A"<=A&&A<="Z")return A.charCodeAt(0)-"A".charCodeAt(0)+10;switch(A){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw new Error("illegal char :"+A)}}}class C extends I{constructor(A,e){super(n.MODE_KANJI,A),this.stringToBytes=e}write(A){const e=this.stringToBytes(this.getData());let t=0;for(;t+1<e.length;){let i=(255&e[t])<<8|255&e[t+1];if(33088<=i&&i<=40956)i-=33088;else{if(!(57408<=i&&i<=60351))throw new Error("illegal char at "+(t+1)+"/"+i);i-=49472}i=192*(i>>>8&255)+(255&i),A.put(i,13),t+=2}if(t<e.length)throw new Error("illegal char at "+(t+1))}getLength(){return this.stringToBytes(this.getData()).length/2}}class l extends I{constructor(A){super(n.MODE_NUMBER,A)}write(A){const e=this.getData();let t=0;for(;t+2<e.length;)A.put(l.strToNum(e.substring(t,t+3)),10),t+=3;t<e.length&&(e.length-t==1?A.put(l.strToNum(e.substring(t,t+1)),4):e.length-t==2&&A.put(l.strToNum(e.substring(t,t+2)),7))}getLength(){return this.getData().length}static strToNum(A){let e=0;for(let t=0;t<A.length;t+=1)e=10*e+l.chatToNum(A.charAt(t));return e}static chatToNum(A){if("0"<=A&&A<="9")return A.charCodeAt(0)-"0".charCodeAt(0);throw new Error("illegal char :"+A)}}!function(A){A[A.PATTERN000=0]="PATTERN000",A[A.PATTERN001=1]="PATTERN001",A[A.PATTERN010=2]="PATTERN010",A[A.PATTERN011=3]="PATTERN011",A[A.PATTERN100=4]="PATTERN100",A[A.PATTERN101=5]="PATTERN101",A[A.PATTERN110=6]="PATTERN110",A[A.PATTERN111=7]="PATTERN111"}(r||(r={}));class Q{constructor(){throw new Error("error")}static getPatternPosition(A){return Q.PATTERN_POSITION_TABLE[A-1]}static getMaxLength(A,e,t){const i=A-1;let r=0,s=0;switch(t){case o.L:r=0;break;case o.M:r=1;break;case o.Q:r=2;break;case o.H:r=3;break;default:throw new Error("e:"+t)}switch(e){case n.MODE_NUMBER:s=0;break;case n.MODE_ALPHA_NUM:s=1;break;case n.MODE_8BIT_BYTE:s=2;break;case n.MODE_KANJI:s=3;break;default:throw new Error("m:"+e)}return Q.MAX_LENGTH[i][r][s]}static getErrorCorrectPolynomial(A){let e=new g([1]);for(let t=0;t<A;t+=1)e=e.multiply(new g([1,s.gexp(t)]));return e}static getMaskFunc(A){switch(A){case r.PATTERN000:return(A,e)=>(A+e)%2==0;case r.PATTERN001:return(A,e)=>A%2==0;case r.PATTERN010:return(A,e)=>e%3==0;case r.PATTERN011:return(A,e)=>(A+e)%3==0;case r.PATTERN100:return(A,e)=>(~~(A/2)+~~(e/3))%2==0;case r.PATTERN101:return(A,e)=>A*e%2+A*e%3==0;case r.PATTERN110:return(A,e)=>(A*e%2+A*e%3)%2==0;case r.PATTERN111:return(A,e)=>(A*e%3+(A+e)%2)%2==0;default:throw new Error("mask:"+A)}}static getLostPoint(A){const e=A.getModuleCount();let t=0;for(let i=0;i<e;i+=1)for(let o=0;o<e;o+=1){let n=0;const r=A.isDark(i,o);for(let t=-1;t<=1;t+=1)if(!(i+t<0||e<=i+t))for(let s=-1;s<=1;s+=1)o+s<0||e<=o+s||0==t&&0==s||r==A.isDark(i+t,o+s)&&(n+=1);n>5&&(t+=3+n-5)}for(let i=0;i<e-1;i+=1)for(let o=0;o<e-1;o+=1){let e=0;A.isDark(i,o)&&(e+=1),A.isDark(i+1,o)&&(e+=1),A.isDark(i,o+1)&&(e+=1),A.isDark(i+1,o+1)&&(e+=1),0!=e&&4!=e||(t+=3)}for(let i=0;i<e;i+=1)for(let o=0;o<e-6;o+=1)A.isDark(i,o)&&!A.isDark(i,o+1)&&A.isDark(i,o+2)&&A.isDark(i,o+3)&&A.isDark(i,o+4)&&!A.isDark(i,o+5)&&A.isDark(i,o+6)&&(t+=40);for(let i=0;i<e;i+=1)for(let o=0;o<e-6;o+=1)A.isDark(o,i)&&!A.isDark(o+1,i)&&A.isDark(o+2,i)&&A.isDark(o+3,i)&&A.isDark(o+4,i)&&!A.isDark(o+5,i)&&A.isDark(o+6,i)&&(t+=40);let i=0;for(let t=0;t<e;t+=1)for(let o=0;o<e;o+=1)A.isDark(o,t)&&(i+=1);return t+=10*(Math.abs(100*i/e/e-50)/5),t}static getBCHTypeInfo(A){let e=A<<10;for(;Q.getBCHDigit(e)-Q.getBCHDigit(Q.G15)>=0;)e^=Q.G15<<Q.getBCHDigit(e)-Q.getBCHDigit(Q.G15);return(A<<10|e)^Q.G15_MASK}static getBCHTypeNumber(A){let e=A<<12;for(;Q.getBCHDigit(e)-Q.getBCHDigit(Q.G18)>=0;)e^=Q.G18<<Q.getBCHDigit(e)-Q.getBCHDigit(Q.G18);return A<<12|e}static getBCHDigit(A){let e=0;for(;0!=A;)e+=1,A>>>=1;return e}}Q.PATTERN_POSITION_TABLE=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],Q.MAX_LENGTH=[[[41,25,17,10],[34,20,14,8],[27,16,11,7],[17,10,7,4]],[[77,47,32,20],[63,38,26,16],[48,29,20,12],[34,20,14,8]],[[127,77,53,32],[101,61,42,26],[77,47,32,20],[58,35,24,15]],[[187,114,78,48],[149,90,62,38],[111,67,46,28],[82,50,34,21]],[[255,154,106,65],[202,122,84,52],[144,87,60,37],[106,64,44,27]],[[322,195,134,82],[255,154,106,65],[178,108,74,45],[139,84,58,36]],[[370,224,154,95],[293,178,122,75],[207,125,86,53],[154,93,64,39]],[[461,279,192,118],[365,221,152,93],[259,157,108,66],[202,122,84,52]],[[552,335,230,141],[432,262,180,111],[312,189,130,80],[235,143,98,60]],[[652,395,271,167],[513,311,213,131],[364,221,151,93],[288,174,119,74]]],Q.G15=1335,Q.G18=7973,Q.G15_MASK=21522;class E{constructor(A,e){this.totalCount=A,this.dataCount=e}getDataCount(){return this.dataCount}getTotalCount(){return this.totalCount}static getRSBlocks(A,e){const t=E.getRsBlockTable(A,e),i=t.length/3,o=[];for(let A=0;A<i;A+=1){const e=t[3*A+0],i=t[3*A+1],n=t[3*A+2];for(let A=0;A<e;A+=1)o.push(new E(i,n))}return o}static getRsBlockTable(A,e){switch(e){case o.L:return E.RS_BLOCK_TABLE[4*(A-1)+0];case o.M:return E.RS_BLOCK_TABLE[4*(A-1)+1];case o.Q:return E.RS_BLOCK_TABLE[4*(A-1)+2];case o.H:return E.RS_BLOCK_TABLE[4*(A-1)+3]}throw new Error("tn:"+A+"/ecl:"+e)}}E.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];const h=Array(41).fill(0).map(((A,e)=>e));var c,d;!function(A){A.L="L",A.M="M",A.Q="Q",A.H="H"}(c||(c={})),function(A){A.numeric="numeric",A.alphanumeric="alphanumeric",A.byte="byte",A.kanji="kanji",A.unicode="unicode"}(d||(d={}));class u{constructor(A=0,e=c.L){this.modules=[],this.moduleCount=0,this.typeNumber=A,this.errorCorrectLevel=o[e],this.qrDataList=[]}getTypeNumber(){return this.typeNumber}setTypeNumber(A){this.typeNumber=A}getErrorCorrectLevel(){return this.errorCorrectLevel}setErrorCorrectLevel(A){this.errorCorrectLevel=A}clearData(){this.qrDataList=[]}addData(A,e=d.byte){if(A instanceof I)this.qrDataList.push(A);else{if("string"!=typeof A)throw new Error(typeof A);switch(e){case d.numeric:this.qrDataList.push(new l(A));break;case d.alphanumeric:this.qrDataList.push(new B(A));break;case d.byte:this.qrDataList.push(new a(A,u.stringToBytesFuncs.default));break;case d.unicode:this.qrDataList.push(new a(A,u.stringToBytesFuncs.UTF8));break;case d.kanji:this.qrDataList.push(new C(A,u.stringToBytesFuncs.SJIS));break;default:throw new Error("mode:"+e)}}}isDark(A,e){return!(!this.modules[A]||null==this.modules[A][e])&&this.modules[A][e]}getModuleCount(){return this.moduleCount}make(){if(this.typeNumber<1){let A=1;for(;A<40;A++){const e=E.getRSBlocks(A,this.errorCorrectLevel),t=new i;this.qrDataList.forEach((e=>{t.put(e.getMode(),4),t.put(e.getLength(),e.getLengthInBits(A)),e.write(t)}));const o=e.reduce(((A,e)=>A+e.getDataCount()),0);if(t.getLengthInBits()<=8*o)break}this.typeNumber=A}this.makeImpl(!1,this.getBestMaskPattern())}getBestMaskPattern(){let A=0,e=0;for(let t=0;t<8;t+=1){this.makeImpl(!0,t);const i=Q.getLostPoint(this);(0==t||A>i)&&(A=i,e=t)}return e}makeImpl(A,e){this.moduleCount=4*this.typeNumber+17,this.modules=[];for(let A=0;A<this.moduleCount;A+=1){this.modules.push([]);for(let e=0;e<this.moduleCount;e+=1)this.modules[A].push(null)}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(A,e),this.typeNumber>=7&&this.setupTypeNumber(A);const t=u.createData(this.typeNumber,this.errorCorrectLevel,this.qrDataList);this.mapData(t,e)}mapData(A,e){let t=-1,i=this.moduleCount-1,o=7,n=0;const r=Q.getMaskFunc(e);for(let e=this.moduleCount-1;e>0;e-=2)for(6==e&&(e-=1);;){for(let t=0;t<2;t+=1)if(null==this.modules[i][e-t]){let s=!1;n<A.length&&(s=1==(A[n]>>>o&1));r(i,e-t)&&(s=!s),this.modules[i][e-t]=s,o-=1,-1==o&&(n+=1,o=7)}if(i+=t,i<0||this.moduleCount<=i){i-=t,t=-t;break}}}setupPositionAdjustPattern(){const A=Q.getPatternPosition(this.typeNumber);A.forEach((e=>{A.forEach((A=>{if(null==this.modules[e][A])for(let t=-2;t<=2;t+=1)for(let i=-2;i<=2;i+=1)this.modules[e+t][A+i]=-2==t||2==t||-2==i||2==i||0==t&&0==i}))}))}setupPositionProbePattern(A,e){for(let t=-1;t<=7;t+=1)for(let i=-1;i<=7;i+=1)A+t<=-1||this.moduleCount<=A+t||e+i<=-1||this.moduleCount<=e+i||(this.modules[A+t][e+i]=0<=t&&t<=6&&(0==i||6==i)||0<=i&&i<=6&&(0==t||6==t)||2<=t&&t<=4&&2<=i&&i<=4)}setupTimingPattern(){for(let A=8;A<this.moduleCount-8;A+=1)null==this.modules[A][6]&&(this.modules[A][6]=A%2==0);for(let A=8;A<this.moduleCount-8;A+=1)null==this.modules[6][A]&&(this.modules[6][A]=A%2==0)}setupTypeNumber(A){const e=Q.getBCHTypeNumber(this.typeNumber);for(let t=0;t<18;t+=1)this.modules[~~(t/3)][t%3+this.moduleCount-8-3]=!A&&1==(e>>t&1);for(let t=0;t<18;t+=1)this.modules[t%3+this.moduleCount-8-3][~~(t/3)]=!A&&1==(e>>t&1)}setupTypeInfo(A,e){const t=this.errorCorrectLevel<<3|e,i=Q.getBCHTypeInfo(t);for(let e=0;e<15;e+=1){const t=!A&&1==(i>>e&1);e<6?this.modules[e][8]=t:e<8?this.modules[e+1][8]=t:this.modules[this.moduleCount-15+e][8]=t}for(let e=0;e<15;e+=1){const t=!A&&1==(i>>e&1);e<8?this.modules[8][this.moduleCount-e-1]=t:e<9?this.modules[8][15-e-1+1]=t:this.modules[8][15-e-1]=t}this.modules[this.moduleCount-8][8]=!A}static createData(A,e,t){const o=E.getRSBlocks(A,e),n=new i;t.forEach((e=>{n.put(e.getMode(),4),n.put(e.getLength(),e.getLengthInBits(A)),e.write(n)}));const r=o.reduce(((A,e)=>A+e.getDataCount()),0);if(n.getLengthInBits()>8*r)throw new Error("code length overflow. ("+n.getLengthInBits()+">"+8*r+")");for(n.getLengthInBits()+4<=8*r&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*r||(n.put(u.PAD0,8),n.getLengthInBits()>=8*r));)n.put(u.PAD1,8);return u.createBytes(n,o)}static createBytes(A,e){let t=0,i=0,o=0;const n=new Array(e.length).map((A=>[])),r=new Array(e.length).map((A=>[]));function s(A){const e=[];for(let t=0;t<A;t+=1)e.push(0);return e}for(let I=0;I<e.length;I+=1){const a=e[I].getDataCount(),B=e[I].getTotalCount()-a;i=Math.max(i,a),o=Math.max(o,B),n[I]=s(a);for(let e=0;e<n[I].length;e+=1)n[I][e]=255&A.getBuffer()[e+t];t+=a;const C=Q.getErrorCorrectPolynomial(B),l=new g(n[I],C.getLength()-1).mod(C);r[I]=s(C.getLength()-1);for(let A=0;A<r[I].length;A+=1){const e=A+l.getLength()-r[I].length;r[I][A]=e>=0?l.getAt(e):0}}const I=s(e.reduce(((A,e)=>A+e.getTotalCount()),0));let a=0;for(let A=0;A<i;A+=1)for(let t=0;t<e.length;t+=1)A<n[t].length&&(I[a]=n[t][A],a+=1);for(let A=0;A<o;A+=1)for(let t=0;t<e.length;t+=1)A<r[t].length&&(I[a]=r[t][A],a+=1);return I}}u.stringToBytesFuncs={default(A){const e=[];for(let t=0;t<A.length;t+=1){const i=A.charCodeAt(t);e.push(255&i)}return e}},u.PAD0=236,u.PAD1=17;const p=A=>!!A&&"object"==typeof A&&!Array.isArray(A);function m(A,e=!1){const t=A.split("").reverse().join("");return e?t.toLocaleUpperCase():t}function f(A,...e){if(!e.length)return A;const t=e.shift();return void 0!==t&&p(A)&&p(t)?(A={...A},Object.keys(t).forEach((e=>{const i=A[e],o=t[e];Array.isArray(i)&&Array.isArray(o)?A[e]=o:p(i)&&p(o)?A[e]=f({...i},o):A[e]=o})),f(A,...e)):A}const y=m("rq",!0)+m("-",!0)+m("talp",!0)+m("mrof",!0),w=m("a".repeat(6)+"#",!0),D="top",S="bottom",F="left",R="right";const k=A=>"number"==typeof A?A:parseInt(A.replace("%",""),10),b=(A,e="0%")=>A?A.endsWith("%")?A:A+"%":e,U="text",N="image",Y={disabled:!1,enableText:!0,type:"text",value:y},J=(A,e)=>{var t,i;return!(null!==(t=null==A||null===(i=A.decorations)||void 0===i||null===(i=i[e])||void 0===i?void 0:i.disabled)&&void 0!==t&&t)},G=(A,e,t)=>{var i,o;return!t||!(null!==(i=null==A||null===(o=A.decorations)||void 0===o||null===(o=o[e])||void 0===o?void 0:o.disabled)&&void 0!==i&&i)},V=A=>{if("string"==typeof A)return A;const{fontFace:e="Helvetica",fontSize:t=20,fontColor:i="#ffffff",letterSpacing:o=1,textTransform:n="uppercase",fontWeight:r="bold"}=A||{};return`font-weight: ${r}; text-transform: ${n}; font-size: ${t}px; font-family: ${e}; fill: ${i}; letter-spacing: ${o}px;`};Y.style={fontFace:"Helvetica",fontSize:20,fontColor:w,letterSpacing:2};const Z={...Y};const O=({document:A,position:e,rotate:t,flip:i,thickness:o,height:n,width:r,round:s,offset:g=0,curveAdjustment:I=0,curveRadius:a,outerBorderPadding:B=0,instanceId:C})=>{const l=Math.min(r,n),Q=A.createElementNS("http://www.w3.org/2000/svg","path"),E=(A=>{if(A>=50)return 1;const e=[{R:0,P:0},{R:5,P:0},{R:10,P:.12},{R:15,P:.2},{R:20,P:.32},{R:25,P:.44},{R:30,P:.56},{R:35,P:.65},{R:40,P:.78},{R:45,P:.9},{R:50,P:1}],t=e.find((e=>A<=e.R))||e[0],i=e.find((e=>A>e.R))||e[e.length-1],{R:o,P:n}=t,{R:r,P:s}=i;return n+(A-o)/(r-o)*(s-n)})("string"==typeof s?k(s):s),h=void 0!==a?function(A){let e;return e="number"==typeof A?A:"string"==typeof A?(A.includes("%"),parseFloat(A)):0,e=Math.min(Math.max(e,0),50),.5+e/50*.5}(a):E,c=(l-o-2*B-10*I*2)/2*h,d=((A,e,t,i)=>{const o=t/2,n=i/2;let r="";return A&&(r+=`rotate(${A}, ${o}, ${n}) `),e&&(r+=`translate(${o}, ${n}) scale(1, -1) translate(${-o}, ${-n}) `),r.trim()})(t,i,r,n);Q.setAttribute("id",`${e}-text-path-${C}`),Q.setAttribute("transform",d);const{startX:u,startY:p,pathWidth:m}=((A,e,t,i,o={})=>{let n=e/2,r=e/2+i,s=A-e;return t&&(s-=2*t,n+=t,r+=t),n+=o.left||0,r+=o.top||0,{startX:n,startY:r,pathWidth:s}})(l,o,B,g);return Q.setAttribute("d",((A,e,t,i)=>`\n M${A},${e+i}\n a${i},${i} 0 0 1 ${i},${-i}\n h${t-2*i}\n a${i},${i} 0 0 1 ${i},${i}\n `)(u,p,m,c)),Q},W=({document:A,thickness:e,value:t,svg:i,position:o,height:n,width:r,round:s,style:g,offset:I=0,curveAdjustment:a=0,curveDisabled:B=!1,outerBorderPadding:C=0,curveRadius:l,instanceId:Q,noBorderThickness:E,enabledBorders:h})=>{let c=0,d=!1;if(o===R?c=90:o===S?d=!B:o===F&&(c=270),B){const s=A.createElementNS("http://www.w3.org/2000/svg","text");let a=r/2,B=(n-Math.min(r,n)+e)/2+2*C+I-(n-r>0?0:(r-n)/2);if(o===S?B=n-2*C-e/2-I:o===D&&(B=2*C+e/2+I),o===D||o===S){let A=0;!h[F]&&h[R]?A=-(e-E)/2:h[F]&&!h[R]&&(A=(e-E)/2),a+=A}else if(o===F||o===R){let A=0;!h[D]&&h[S]?A=o===F?(e-E)/2:-(e-E)/2:h[D]&&!h[S]&&(A=o===F?-(e-E)/2:(e-E)/2),a+=A}let l="";0!==c&&(l+=`rotate(${c}, ${r/2}, ${n/2}) `),s.setAttribute("x",a.toString()),s.setAttribute("y",B.toString()),s.setAttribute("text-anchor","middle"),s.setAttribute("dominant-baseline","middle"),l&&s.setAttribute("transform",l.trim()),s.textContent=t;const Q=V(g);s.setAttribute("style",Q),i.appendChild(s)}else{let B=i.getElementsByTagName("defs")[0];B||(B=A.createElementNS("http://www.w3.org/2000/svg","defs"),i.appendChild(B));const u=O({document:A,position:o,rotate:c,flip:d,thickness:e,height:n,width:r,round:s,offset:I,curveAdjustment:a,outerBorderPadding:C,curveRadius:l,instanceId:Q}),{x:p,y:m}=function(A,e,t,i){let o=0,n=0;const r=(e-t)/2;return i.left&&i.right&&i.top&&i.bottom?(o=0,n=0):"top"===A||"bottom"===A?!i.left&&i.right?o=-r:(i.left&&!i.right||i.left&&i.right)&&(o=r):"left"!==A&&"right"!==A||(!i.top&&i.bottom?i.left&&i.right?(o="left"===A?2*+r:0,n=-r):o="left"===A?+r:-r:i.top&&!i.bottom?i.left&&i.right?(o="left"===A?0:2*r,n=-r):o=0:i.top&&i.bottom?n=i.left&&i.right?2*+r:+r:(o=i.left&&i.right?2*+r:+r,n=i.left&&i.right?2*-r:-r)),{x:o,y:n}}(o,e,E,h);if(0!==p||0!==m){const A=`${u.getAttribute("transform")||""} translate(${p}, ${m})`.trim();u.setAttribute("transform",A)}B.appendChild(u),i.appendChild((({document:A,value:e,position:t,style:i,instanceId:o})=>{const n=A.createElementNS("http://www.w3.org/2000/svg","text"),r=A.createElementNS("http://www.w3.org/2000/svg","textPath");r.setAttribute("href",`#${t}-text-path-${o}`),r.setAttribute("text-anchor","middle"),r.setAttribute("startOffset","50%"),r.textContent=e,r.setAttribute("alignment-baseline","middle");const s=V(i);return n.setAttribute("style",s),n.appendChild(r),n})({document:A,position:o,value:t,style:g,instanceId:Q}))}},M=({document:A,thickness:e,value:t,svg:i,position:o,height:n,width:r,offset:s=0,style:g})=>{const I=A.createElementNS("http://www.w3.org/2000/svg","image"),a=Math.min(r,n);let B=(r-a+e)/2,C=(n-a+e)/2+s;o===D?B+=(a-e)/2:o===R?(B+=a-e,C+=(a-e)/2):o===S?(B+=(a-e)/2,C+=a-e):o===F&&(C+=(a-e)/2),I.setAttribute("href",t||""),I.setAttribute("x",`${B}`),I.setAttribute("y",`${C}`),I.setAttribute("style",(null==g?void 0:g.toString())||""),i.appendChild(I)},H=A=>(e,t,i,o,n,r,s,g,I)=>{var a,B,C,l,Q,E,h,c,d,u,p,m,f;const{instanceId:y}=t,w=i,Y=i,V=Math.min(w,Y),O=b(A.radius),H=O&&k(O)>0?k(O)/100*V:0,T=b(null==A||null===(a=A.inner)||void 0===a?void 0:a.radius,H),X=Math.min(Math.max(null!==(B=null===(C=A.inner)||void 0===C?void 0:C.scale)&&void 0!==B?B:1,0),1.5),x=null!==(l=null===(Q=A.inner)||void 0===Q?void 0:Q.horizontalOffset)&&void 0!==l?l:0,L=null!==(E=null===(h=A.inner)||void 0===h?void 0:h.verticalOffset)&&void 0!==E?E:0,K=null!==(c=A.thickness)&&void 0!==c?c:0,q=null!==(d=A.color)&&void 0!==d?d:"#000000",j=null!==(u=A.borderOuter)&&void 0!==u&&u.thickness?A.borderOuter.thickness/2:0,v=null!==(p=A.borderInner)&&void 0!==p&&p.thickness?A.borderInner.thickness/2:0,P=t.document,z=n.left+n.right,_=n.top+n.bottom,$=o(K,H),AA={top:J(A,"top"),right:J(A,"right"),bottom:G(A,"bottom",I()),left:J(A,"left")},eA=P.createElementNS("http://www.w3.org/2000/svg","rect"),tA={x:r.left/2,y:r.top/2,width:V+z-r.left,height:V+_-r.top,fill:q,rx:null!=O?O:H};Object.entries(tA).forEach((([A,e])=>{eA.setAttribute(A,e.toString())}));const iA=P.createElementNS("http://www.w3.org/2000/svg","rect"),oA=H>=200?"50%":H,nA=w+z-(n.left+n.right+s.left+s.right+r.left+r.right),rA=Y+_-(n.top+n.bottom+s.top+s.bottom+r.top+r.bottom),sA=nA*X,gA=rA*X,IA=(nA-sA)/2-x,aA=(rA-gA)/2-L,BA={x:n.left+s.left+r.left+IA,y:n.top+s.top+r.top+aA,width:sA,height:gA,fill:(null==$?void 0:$.getAttribute("fill"))||"#ffffff",rx:null!=T?T:oA};Object.entries(BA).forEach((([A,e])=>iA.setAttribute(A,e.toString()))),$&&(({strokePath:A,backgroundMaskGroup:e,svgElement:t,color:i="#000000"})=>{A.setAttribute("fill",(null==e?void 0:e.getAttribute("fill"))||i),e.setAttribute("fill","none"),e.setAttribute("stroke-width","0"),t.insertBefore(e,t.firstChild)})({strokePath:iA,backgroundMaskGroup:$,svgElement:e,color:q});let CA=e.getElementsByTagName("defs")[0];CA||(CA=P.createElementNS("http://www.w3.org/2000/svg","defs"),e.insertBefore(CA,e.firstChild));const lA=P.createElementNS("http://www.w3.org/2000/svg","mask");lA.setAttribute("id",`qr-mask-${y}`),lA.setAttribute("maskUnits","userSpaceOnUse");const QA=P.createElementNS("http://www.w3.org/2000/svg","rect");if(QA.setAttribute("fill","white"),Object.entries(BA).forEach((([A,e])=>{"fill"!==A&&QA.setAttribute(A,e.toString())})),CA.appendChild(lA),lA.appendChild(QA),e.insertBefore(iA,null===(m=e.firstChild)||void 0===m?void 0:m.nextSibling),e.insertBefore(eA,e.firstChild),A.borderOuter&&"number"==typeof A.borderOuter.thickness&&A.borderOuter.thickness>0){var EA;const t=P.createElementNS("http://www.w3.org/2000/svg","rect"),i={x:r.left/2,y:r.top/2,width:w+z-r.left,height:Y+_-r.top,fill:"none",rx:null!=O?O:H,stroke:A.borderOuter.color||"#c0c0c0","stroke-width":A.borderOuter.thickness};Object.entries(i).forEach((([A,e])=>t.setAttribute(A,e.toString()))),e.insertBefore(t,null===(EA=e.firstChild)||void 0===EA?void 0:EA.nextSibling)}if($){if(Array.from(e.getElementsByTagName("rect"))[0]){const A=e.firstChild;A?e.insertBefore($,A):e.appendChild($)}}if(A.borderInner&&"number"==typeof A.borderInner.thickness&&A.borderInner.thickness>0){const t=P.createElementNS("http://www.w3.org/2000/svg","rect"),i={x:n.left+s.left+r.left+IA,y:n.top+s.top+r.top+aA,width:sA,height:gA,fill:"none",stroke:A.borderInner.color||"#c0c0c0","stroke-width":s.left,rx:null!=T?T:oA};Object.entries(i).forEach((([A,e])=>t.setAttribute(A,e.toString()))),e.appendChild(t)}let hA={...Z};if(!I()){const e=((A,e=[D,F,R])=>{for(const i of e){var t;const e=null===(t=A.decorations)||void 0===t?void 0:t[i];if(e&&e.enableText&&!e.disabled&&e.type===U&&e.style)return e.style}})(A);e&&(hA={...hA,style:e})}const cA=I()?A:{...A,decorations:{...A.decorations,bottom:{...(null===(f=A.decorations)||void 0===f?void 0:f.bottom)||{},...hA,disabled:!1,enableText:!0}}},dA=[D,F,R,S];for(const A of dA){var uA;const t=null===(uA=cA.decorations)||void 0===uA?void 0:uA[A];if(!t||!t.enableText||!AA[A])continue;const i=t.type||U,o=i===N?M:i===U?W:void 0;var pA,mA;if(o)o({document:P,svg:e,position:A,thickness:null!==(pA=cA.thickness)&&void 0!==pA?pA:0,value:null!==(mA=t.value)&&void 0!==mA?mA:"",style:t.style,offset:t.offset,curveAdjustment:t.curveAdjustment,curveDisabled:t.curveDisabled,height:Y+_,width:w+z,enabledBorders:AA,outerBorderPadding:j,innerBorderPadding:v,round:O,curveRadius:t.curveRadius,instanceId:y,noBorderThickness:g})}};var T,X,x,L,K,q,j;function v(A){const e={...A};if(!e.colorStops||!e.colorStops.length)throw new Error("Field 'colorStops' is required in gradient");return e.rotation?e.rotation=Number(e.rotation):e.rotation=0,e.colorStops=e.colorStops.map((A=>({...A,offset:Number(A.offset)}))),e}function P(A){var e,t,i;const o={...A};if(o.imageOptions={...o.imageOptions,imageSize:Math.min(1,Number(null===(e=o.imageOptions)||void 0===e?void 0:e.imageSize))||1,margin:Number(null===(t=o.imageOptions)||void 0===t?void 0:t.margin)||0,padding:Number(null===(i=o.imageOptions)||void 0===i?void 0:i.padding)||0},o.imageOptions.mode==j.overlay&&(o.imageOptions.margin=0),o.dotsOptions={...o.dotsOptions},o.dotsOptions.gradient&&(o.dotsOptions.gradient=v(o.dotsOptions.gradient)),o.dotsOptions.size=Math.round(Math.max(0,o.dotsOptions.size)||10),o.cornersSquareOptions&&(o.cornersSquareOptions={...o.cornersSquareOptions},o.cornersSquareOptions.gradient&&(o.cornersSquareOptions.gradient=v(o.cornersSquareOptions.gradient))),o.cornersDotOptions&&(o.cornersDotOptions={...o.cornersDotOptions},o.cornersDotOptions.gradient&&(o.cornersDotOptions.gradient=v(o.cornersDotOptions.gradient))),o.backgroundOptions&&(o.backgroundOptions={...o.backgroundOptions},o.backgroundOptions.gradient&&(o.backgroundOptions.gradient=v(o.backgroundOptions.gradient))),o.borderOptions&&o.borderOptions.decorations){const A=["top","bottom","left","right"];for(const e of A){let A=o.borderOptions.decorations[e];A||(o.borderOptions.decorations[e]={enableText:!1,value:void 0},A=o.borderOptions.decorations[e]),!1===A.enableText?A.value=void 0:!0===A.enableText?null!==A.value&&void 0!==A.value||(A.value=""):void 0===A.enableText&&(A.value&&"string"==typeof A.value&&!1!==A.enableText&&""!==A.value.trim()?A.enableText=!0:(A.enableText=!1,A.value=void 0))}}return"undefined"==typeof document||o.document||(o.document=document),o}!function(A){A.radial="radial",A.linear="linear"}(T||(T={})),function(A){A.svg="svg",A.png="png",A.jpeg="jpeg",A.webp="webp"}(X||(X={})),function(A){A.dot="dot",A.randomDot="random-dot",A.rounded="rounded",A.extraRounded="extra-rounded",A.verticalLine="vertical-line",A.horizontalLine="horizontal-line",A.classy="classy",A.classyRounded="classy-rounded",A.square="square",A.smallSquare="small-square",A.tinySquare="tiny-square",A.star="star",A.plus="plus",A.diamond="diamond"}(x||(x={})),function(A){A.dot="dot",A.square="square",A.heart="heart",A.rounded="rounded",A.classy="classy",A.outpoint="outpoint",A.inpoint="inpoint"}(L||(L={})),function(A){A.dot="dot",A.square="square",A.rounded="rounded",A.classy="classy",A.outpoint="outpoint",A.inpoint="inpoint"}(K||(K={})),function(A){A.square="square",A.circle="circle"}(q||(q={})),function(A){A.center="center",A.overlay="overlay",A.background="background"}(j||(j={}));const z={[c.L]:.07,[c.M]:.15,[c.Q]:.25,[c.H]:.3};class _{constructor(A="",e={}){if(A instanceof _)return A;const t=function(A){let e={r:0,g:0,b:0},t=1,i=null,o=null,n=null,r=!1,s=!1;"string"==typeof A&&(A=function(A){const e=/^\s+/,t=/\s+$/;A=A.replace(e,"").replace(t,"").toLowerCase();let i,o=!1;if(_.names[A])A=_.names[A],o=!0;else if("transparent"==A)return{r:0,g:0,b:0,a:0,format:"name"};if(i=yA.rgb.exec(A))return{r:i[1],g:i[2],b:i[3]};if(i=yA.rgba.exec(A))return{r:i[1],g:i[2],b:i[3],a:i[4]};if(i=yA.hsl.exec(A))return{h:i[1],s:i[2],l:i[3]};if(i=yA.hsla.exec(A))return{h:i[1],s:i[2],l:i[3],a:i[4]};if(i=yA.hsv.exec(A))return{h:i[1],s:i[2],v:i[3]};if(i=yA.hsva.exec(A))return{h:i[1],s:i[2],v:i[3],a:i[4]};if(i=yA.hex8.exec(A))return{r:dA(i[1]),g:dA(i[2]),b:dA(i[3]),a:fA(i[4]),format:o?"name":"hex8"};if(i=yA.hex6.exec(A))return{r:dA(i[1]),g:dA(i[2]),b:dA(i[3]),format:o?"name":"hex"};if(i=yA.hex4.exec(A))return{r:dA(i[1]+""+i[1]),g:dA(i[2]+""+i[2]),b:dA(i[3]+""+i[3]),a:fA(i[4]+""+i[4]),format:o?"name":"hex8"};if(i=yA.hex3.exec(A))return{r:dA(i[1]+""+i[1]),g:dA(i[2]+""+i[2]),b:dA(i[3]+""+i[3]),format:o?"name":"hex"};return!1}(A));"object"==typeof A&&(wA(A.r)&&wA(A.g)&&wA(A.b)?(e=function(A,e,t){return{r:255*hA(A,255),g:255*hA(e,255),b:255*hA(t,255)}}(A.r,A.g,A.b),r=!0,s="%"===String(A.r).slice(-1)?"prgb":"rgb"):wA(A.h)&&wA(A.s)&&wA(A.v)?(i=pA(A.s),o=pA(A.v),e=function(A,e,t){A=6*hA(A,360),e=hA(e,100),t=hA(t,100);const i=Math.floor(A),o=A-i,n=t*(1-e),r=t*(1-o*e),s=t*(1-(1-o)*e),g=i%6,I=[t,r,n,n,s,t][g],a=[s,t,t,r,n,n][g],B=[n,n,s,t,t,qw][g];return{r:255*I,g:255*a,b:255*B}}(A.h,i,o),r=!0,s="hsv"):wA(A.h)&&wA(A.s)&&wA(A.l)&&(i=pA(A.s),n=pA(A.l),e=function(A,e,t){let i,o,n;function r(A,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?A+6*(e-A)*t:t<.5?e:t<2/3?A+(e-A)*(2/3-t)*6:A}if(A=hA(A,360),e=hA(e,100),t=hA(t,100),0===e)i=o=n=t;else{const s=t<.5?t*(1+e):t+e-t*e,g=2*t-s;i=r(g,s,A+1/3),o=r(g,s,A),n=r(g,s,A-1/3)}return{r:255*i,g:255*o,b:255*n}}(A.h,i,n),r=!0,s="hsl"),A.hasOwnProperty("a")&&(t=A.a));return t=EA(t),{ok:r,format:A.format||s,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:t}}(A);this._originalInput=A,this._r=t.r,this._g=t.g,this._b=t.b,this._a=t.a,this._roundA=Math.round(100*this._a)/100,this._format=e.format||t.format,this._gradientType=e.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=t.ok}isDark(){return this.getBrightness()<128}isLight(){return!this.isDark()}isValid(){return this._ok}getOriginalInput(){return this._originalInput}getFormat(){return this._format}getAlpha(){return this._a}getBrightness(){const A=this.toRgb();return(299*A.r+587*A.g+114*A.b)/1e3}getLuminance(){const A=this.toRgb(),e=A.r/255,t=A.g/255,i=A.b/255;return.2126*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.0722*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))}setAlpha(A){return this._a=EA(A),this._roundA=Math.round(100*this._a)/100,this}toHsv(){const A=AA(this._r,this._g,this._b);return{h:360*A.h,s:A.s,v:A.v,a:this._a}}toHsvString(){const A=AA(this._r,this._g,this._b),e=Math.round(360*A.h),t=Math.round(100*A.s),i=Math.round(100*A.v);return 1==this._a?`hsv(${e}, ${t}%, ${i}%)`:`hsva(${e}, ${t}%, ${i}%, ${this._roundA})`}toHsl(){const A=$(this._r,this._g,this._b);return{h:360*A.h,s:A.s,l:A.l,a:this._a}}toHslString(){const A=$(this._r,this._g,this._b),e=Math.round(360*A.h),t=Math.round(100*A.s),i=Math.round(100*A.l);return 1==this._a?`hsl(${e}, ${t}%, ${i}%)`:`hsla(${e}, ${t}%, ${i}%, ${this._roundA})`}toHex(A){return eA(this._r,this._g,this._b,A)}toHexString(A){return"#"+this.toHex(A)}toHex8(A){return function(A,e,t,i,o){const n=[uA(Math.round(A).toString(16)),uA(Math.round(e).toString(16)),uA(Math.round(t).toString(16)),uA(mA(i))];if(o&&n[0].charAt(0)==n[0].charAt(1)&&n[1].charAt(0)==n[1].charAt(1)&&n[2].charAt(0)==n[2].charAt(1)&&n[3].charAt(0)==n[3].charAt(1))return n[0].charAt(0)+n[1].charAt(0)+n[2].charAt(0)+n[3].charAt(0);return n.join("")}(this._r,this._g,this._b,this._a,A)}toHex8String(A){return"#"+this.toHex8(A)}toRgb(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}}toRgbString(){return 1==this._a?`rgb(${Math.round(this._r)}, ${Math.round(this._g)}, ${Math.round(this._b)})`:`rgba(${Math.round(this._r)}, ${Math.round(this._g)}, ${Math.round(this._b)}, ${this._roundA})`}toPercentageRgb(){return{r:Math.round(100*hA(this._r,255))+"%",g:Math.round(100*hA(this._g,255))+"%",b:Math.round(100*hA(this._b,255))+"%",a:this._a}}toPercentageRgbString(){return 1==this._a?`rgb(${Math.round(100*hA(this._r,255))}%, ${Math.round(100*hA(this._g,255))}%, ${Math.round(100*hA(this._b,255))}%)`:`rgba(${Math.round(100*hA(this._r,255))}%, ${Math.round(100*hA(this._g,255))}%, ${Math.round(100*hA(this._b,255))}%, ${this._roundA})`}toName(){return 0===this._a?"transparent":!(this._a<1)&&(_.hexNames[eA(this._r,this._g,this._b,!0)]||!1)}toFilter(A){const e="#"+tA(this._r,this._g,this._b,this._a);let t=e;const i=this._gradientType?"GradientType = 1, ":"";if(A){const e=new _(A);t="#"+tA(e._r,e._g,e._b,e._a)}return`progid:DXImageTransform.Microsoft.gradient(${i}startColorstr=${e},endColorstr=${t})`}toString(A){const e=!!A;A=A||this._format;let t=!1;const i=this._a<1&&this._a>=0;return e||!i||"hex"!==A&&"hex6"!==A&&"hex3"!==A&&"hex4"!==A&&"hex8"!==A&&"name"!==A?("rgb"===A&&(t=this.toRgbString()),"prgb"===A&&(t=this.toPercentageRgbString()),"hex"!==A&&"hex6"!==A||(t=this.toHexString()),"hex3"===A&&(t=this.toHexString(!0)),"hex4"===A&&(t=this.toHex8String(!0)),"hex8"===A&&(t=this.toHex8String()),"name"===A&&(t=this.toName()),"hsl"===A&&(t=this.toHslString()),"hsv"===A&&(t=this.toHsvString()),t||this.toHexString()):"name"===A&&0===this._a?this.toName():this.toRgbString()}clone(){return new _(this.toString())}_applyModification(A,...e){const t=A(this,...e);return this._r=t._r,this._g=t._g,this._b=t._b,this.setAlpha(t._a),this}lighten(...A){return this._applyModification(rA,...A)}brighten(...A){return this._applyModification(sA,...A)}darken(...A){return this._applyModification(gA,...A)}desaturate(...A){return this._applyModification(iA,...A)}saturate(...A){return this._applyModification(oA,...A)}greyscale(...A){return this._applyModification(nA,...A)}spin(...A){return this._applyModification(IA,...A)}_applyCombination(A,...e){return A(this,...e)}analogous(...A){return this._applyCombination(lA,...A)}complement(...A){return this._applyCombination(aA,...A)}monochromatic(...A){return this._applyCombination(QA,...A)}splitcomplement(...A){return this._applyCombination(CA,...A)}triad(){return this._applyCombination(BA,3)}tetrad(){return this._applyCombination(BA,4)}static fromRatio(A,e){if("object"==typeof A){const e={};for(const t in A)A.hasOwnProperty(t)&&(e[t]="a"===t?A[t]:pA(A[t]));A=e}return new _(A,e)}static equals(A,e){return!(!A||!e)&&new _(A).toRgbString()===new _(e).toRgbString()}static random(){return _.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})}static mix(A,e,t){t=0===t?0:t||50;const i=new _(A).toRgb(),o=new _(e).toRgb(),n=t/100,r={r:(o.r-i.r)*n+i.r,g:(o.g-i.g)*n+i.g,b:(o.b-i.b)*n+i.b,a:(o.a-i.a)*n+i.a};return new _(r)}static readability(A,e){const t=new _(A),i=new _(e);return(Math.max(t.getLuminance(),i.getLuminance())+.05)/(Math.min(t.getLuminance(),i.getLuminance())+.05)}static isReadable(A,e,t){const i=_.readability(A,e);let o=!1;const n=function(A){let e,t;e=((A=A||{level:"AA",size:"small"}).level||"AA").toUpperCase(),t=(A.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==t&&"large"!==t&&(t="small");return{level:e,size:t}}(t);switch(n.level+n.size){case"AAsmall":case"AAAlarge":o=i>=4.5;break;case"AAlarge":o=i>=3;break;case"AAAsmall":o=i>=7}return o}static mostReadable(A,e,t={}){let i,o=null,n=0;const{includeFallbackColors:r,level:s,size:g}=t;for(const t of e)i=_.readability(A,t),i>n&&(n=i,o=new _(t));return _.isReadable(A,o,{level:s,size:g})||!r?o:(t.includeFallbackColors=!1,_.mostReadable(A,["#fff","#000"],t))}}function $(A,e,t){A=hA(A,255),e=hA(e,255),t=hA(t,255);const i=Math.max(A,e,t),o=Math.min(A,e,t);let n,r;const s=(i+o)/2;if(i==o)n=r=0;else{const g=i-o;switch(r=s>.5?g/(2-i-o):g/(i+o),i){case A:n=(e-t)/g+(e<t?6:0);break;case e:n=(t-A)/g+2;break;case t:n=(A-e)/g+4}n/=6}return{h:n,s:r,l:s}}function AA(A,e,t){A=hA(A,255),e=hA(e,255),t=hA(t,255);const i=Math.max(A,e,t),o=Math.min(A,e,t);let n;const r=i,s=i-o,g=0===i?0:s/i;if(i==o)n=0;else{switch(i){case A:n=(e-t)/s+(e<t?6:0);break;case e:n=(t-A)/s+2;break;case t:n=(A-e)/s+4}n/=6}return{h:n,s:g,v:r}}function eA(A,e,t,i){const o=[uA(Math.round(A).toString(16)),uA(Math.round(e).toString(16)),uA(Math.round(t).toString(16))];return i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0):o.join("")}function tA(A,e,t,i){return[uA(mA(i)),uA(Math.round(A).toString(16)),uA(Math.round(e).toString(16)),uA(Math.round(t).toString(16))].join("")}function iA(A,e){e=0===e?0:e||10;const t=new _(A).toHsl();return t.s-=e/100,t.s=cA(t.s),new _(t)}function oA(A,e){e=0===e?0:e||10;const t=new _(A).toHsl();return t.s+=e/100,t.s=cA(t.s),new _(t)}function nA(A){return new _(A).desaturate(100)}function rA(A,e){e=0===e?0:e||10;const t=new _(A).toHsl();return t.l+=e/100,t.l=cA(t.l),new _(t)}function sA(A,e){e=0===e?0:e||10;const t=new _(A).toRgb();return t.r=Math.max(0,Math.min(255,t.r-Math.round(-e/100*255))),t.g=Math.max(0,Math.min(255,t.g-Math.round(-e/100*255))),t.b=Math.max(0,Math.min(255,t.b-Math.round(-e/100*255))),new _(t)}function gA(A,e){e=0===e?0:e||10;const t=new _(A).toHsl();return t.l-=e/100,t.l=cA(t.l),new _(t)}function IA(A,e){const t=new _(A).toHsl(),i=(t.h+e)%360;return t.h=i<0?360+i:i,new _(t)}_.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},_.hexNames=function(A){const e={};for(const t in A)A.hasOwnProperty(t)&&(e[A[t]]=t);return e}(_.names);const aA=A=>{const e=new _(A).toHsl();return e.h=(e.h+180)%360,new _(e)},BA=(A,e)=>{if(isNaN(e)||e<=0)throw new Error("Argument to polyad must be a positive number");const t=new _(A).toHsl(),i=[new _(A)],o=360/e;for(let A=1;A<e;A++)i.push(new _({h:(t.h+A*o)%360,s:t.s,l:t.l}));return i};function CA(A){const e=new _(A).toHsl(),t=e.h;return[new _(A),new _({h:(t+72)%360,s:e.s,l:e.l}),new _({h:(t+216)%360,s:e.s,l:e.l})]}function lA(A,e,t){e=e||6,t=t||30;const i=new _(A).toHsl(),o=360/t,n=[new _(A)];for(i.h=(i.h-(o*e>>1)+720)%360;--e;)i.h=(i.h+o)%360,n.push(new _(i));return n}function QA(A,e){e=e||6;const t=new _(A).toHsv(),i=t.h,o=t.s;let n=t.v;const r=[],s=1/e;for(;e--;)r.push(new _({h:i,s:o,v:n})),n=(n+s)%1;return r}function EA(A){return A=parseFloat(A),(isNaN(A)||A<0||A>1)&&(A=1),A}function hA(A,e){(function(A){return"string"==typeof A&&-1!=A.indexOf(".")&&1===parseFloat(A)})(A)&&(A="100%");const t=function(A){return"string"==typeof A&&-1!=A.indexOf("%")}(A);return A=Math.min(e,Math.max(0,parseFloat(A))),t&&(A=parseInt(A*e,10)/100),Math.abs(A-e)<1e-6?1:A%e/parseFloat(e)}function cA(A){return Math.min(1,Math.max(0,A))}function dA(A){return parseInt(A,16)}function uA(A){return 1==A.length?"0"+A:""+A}function pA(A){return A<=1&&(A=100*A+"%"),A}function mA(A){return Math.round(255*parseFloat(A)).toString(16)}function fA(A){return dA(A)/255}const yA=(()=>{const A="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",e=`[\\s|\\(]+(${A})[,|\\s]+(${A})[,|\\s]+(${A})\\s*\\)?`,t=`[\\s|\\(]+(${A})[,|\\s]+(${A})[,|\\s]+(${A})[,|\\s]+(${A})\\s*\\)?`;return{CSS_UNIT:new RegExp(A),rgb:new RegExp("rgb"+e),rgba:new RegExp("rgba"+t),hsl:new RegExp("hsl"+e),hsla:new RegExp("hsla"+t),hsv:new RegExp("hsv"+e),hsva:new RegExp("hsva"+t),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}})();function wA(A){return!!yA.CSS_UNIT.exec(A)}function DA(A,e){A.decorations||(A.decorations={}),["top","right","bottom","left"].forEach((t=>{A.decorations[t]||(A.decorations[t]={}),A.decorations[t].style||(A.decorations[t].style={}),A.decorations[t].style.fontColor=e}))}function SA(A){const e={};if((A.primaryColor||A.dotsGradient)&&(e.dotsOptions={...e.dotsOptions,...A.primaryColor&&{color:A.primaryColor},...A.dotsGradient&&{gradient:A.dotsGradient}}),(A.secondaryColor||A.cornersGradient)&&(e.cornersSquareOptions={...e.cornersSquareOptions,...A.secondaryColor&&{color:A.secondaryColor},...A.cornersGradient&&{gradient:A.cornersGradient}},e.cornersDotOptions={...e.cornersDotOptions,...A.secondaryColor&&{color:A.secondaryColor}}),(A.thirdColor||A.cornersDotGradient)&&(e.cornersDotOptions={...e.cornersDotOptions,...A.thirdColor&&{color:A.thirdColor},...A.cornersDotGradient&&{gradient:A.cornersDotGradient}}),(A.backgroundColor||A.backgroundGradient)&&(e.backgroundOptions={...e.backgroundOptions,...A.backgroundColor&&{color:A.backgroundColor},...A.backgroundGradient&&{gradient:A.backgroundGradient}}),A.dotShape&&(e.dotsOptions={...e.dotsOptions,type:A.dotShape}),A.cornerSquareShape&&(e.cornersSquareOptions={...e.cornersSquareOptions,type:A.cornerSquareShape}),A.cornerDotShape&&(e.cornersDotOptions={...e.cornersDotOptions,type:A.cornerDotShape}),A.logo&&(e.image=A.logo),(void 0!==A.logoSize||A.logoMode||void 0!==A.logoMargin||A.logoBackgroundColor||void 0!==A.logoPadding||void 0!==A.logoRadius)&&(e.imageOptions={...e.imageOptions,...void 0!==A.logoSize&&{imageSize:A.logoSize},...A.logoMode&&{mode:A.logoMode},...void 0!==A.logoMargin&&{margin:A.logoMargin},...A.logoBackgroundColor&&{backgroundColor:A.logoBackgroundColor},...void 0!==A.logoPadding&&{padding:A.logoPadding},...void 0!==A.logoRadius&&{radius:A.logoRadius}}),A.borderColor||void 0!==A.borderThickness||void 0!==A.borderRadius||A.borderInnerColor||void 0!==A.borderInnerThickness||void 0!==A.borderInnerRadius||A.borderOuterColor||void 0!==A.borderOuterThickness||A.borderTextTop||A.borderTextRight||A.borderTextBottom||A.borderTextLeft||A.borderFontFace||void 0!==A.borderFontSize||A.borderFontColor||void 0!==A.borderLetterSpacing||A.borderTextTransform||A.borderFontWeight){e.borderOptions||(e.borderOptions={hasBorder:!0});const t=e.borderOptions;A.borderColor&&(t.color=A.borderColor),void 0!==A.borderThickness&&(t.thickness=A.borderThickness),void 0!==A.borderRadius&&(t.radius=String(A.borderRadius)),void 0===A.borderInnerColor&&void 0===A.borderInnerThickness||(t.borderInner||(t.borderInner={}),void 0!==A.borderInnerColor&&(t.borderInner.color=A.borderInnerColor),void 0!==A.borderInnerThickness&&(t.borderInner.thickness=A.borderInnerThickness)),void 0!==A.borderInnerRadius&&(t.inner||(t.inner={}),t.inner.radius=String(A.borderInnerRadius)),void 0===A.borderOuterColor&&void 0===A.borderOuterThickness||(t.borderOuter||(t.borderOuter={}),void 0!==A.borderOuterColor&&(t.borderOuter.color=A.borderOuterColor),void 0!==A.borderOuterThickness&&(t.borderOuter.thickness=A.borderOuterThickness));const i={};A.borderFontFace&&(i.fontFace=A.borderFontFace),void 0!==A.borderFontSize&&(i.fontSize=A.borderFontSize),A.borderFontColor&&(i.fontColor=A.borderFontColor),void 0!==A.borderLetterSpacing&&(i.letterSpacing=A.borderLetterSpacing),A.borderTextTransform&&(i.textTransform=A.borderTextTransform),A.borderFontWeight&&(i.fontWeight=A.borderFontWeight),t.decorations||(t.decorations={});const o=t.decorations?JSON.parse(JSON.stringify(t.decorations)):{};let n=!1;Object.keys(i).length>0&&(n=!0,["top","right","bottom","left"].forEach((A=>{o[A]||(o[A]={}),o[A].style||(o[A].style={}),o[A].style={...o[A].style,...i}}))),["top","right","bottom","left"].forEach((e=>{var t,r;const s=`borderText${e.charAt(0).toUpperCase()+e.slice(1)}`,g=A[s];var I;void 0!==g?(o[e]||(o[e]={}),o[e]={...o[e],value:g,enableText:!0,style:{...(null===(I=o[e])||void 0===I?void 0:I.style)||{},...i}},n=!0):null!==(t=o[e])&&void 0!==t&&t.value&&Object.keys(i).length>0&&(null===(r=o[e])||void 0===r||!r.style)&&(o[e].style||(o[e].style={}),o[e].style={...o[e].style,...i},n=!0)})),n&&(t.decorations=o)}if(!!(A.primaryColor||A.secondaryColor||A.thirdColor||A.backgroundColor)){e.borderOptions||(e.borderOptions={hasBorder:!0});const t=e.borderOptions;if(A.secondaryColor&&!A.borderColor){const e=new _(A.secondaryColor).isDark();t.color=new _(A.primaryColor).darken(e?-12:12).toString()}if(A.thirdColor&&!A.borderInnerColor&&(t.borderInner||(t.borderInner={}),t.borderInner.color=new _(A.thirdColor).darken(2).toString()),A.primaryColor&&!A.borderOuterColor&&(t.borderOuter=t.borderOuter||{},t.borderOuter.color=new _(A.primaryColor).darken(2).toString()),A.backgroundColor&&!A.borderFontColor&&t.color){const e=new _(A.backgroundColor),i=new _(t.color),o=_.readability(e,i),n=e.isDark();if(o<2){DA(t,(n?e.lighten(15):e.darken(15)).toString())}else{DA(t,(n?e.lighten(20):e.lighten(10)).toString())}}}return e}function FA(A){const e=[];return void 0!==A.logoSize&&("number"!=typeof A.logoSize||A.logoSize<0||A.logoSize>1)&&e.push("logoSize must be a number between 0 and 1."),{isValid:0===e.length,errors:e}}class RA{constructor(){}close(){}}class kA extends RA{constructor(A){super(),this.istream=A,this.buffer=0,this.buflen=0}readByte(){for(;this.buflen<8;){const A=this.istream.readByte();if(-1==A){if(0==this.buflen)return-1;throw new Error("unexpected end of file./"+this.buflen)}if(A=="=".charCodeAt(0))return this.buflen=0,-1;kA.isWhitespace(A)||(this.buffer=this.buffer<<6|kA.decode(A),this.buflen+=6)}const A=this.buffer>>>this.buflen-8&255;return this.buflen-=8,A}static isWhitespace(A){return A=="\v".charCodeAt(0)||A=="\t".charCodeAt(0)||A=="\r".charCodeAt(0)||A=="\n".charCodeAt(0)}static decode(A){if("A".charCodeAt(0)<=A&&A<="Z".charCodeAt(0))return A-"A".charCodeAt(0);if("a".charCodeAt(0)<=A&&A<="z".charCodeAt(0))return A-"a".charCodeAt(0)+26;if("0".charCodeAt(0)<=A&&A<="9".charCodeAt(0))return A-"0".charCodeAt(0)+52;if(A=="+".charCodeAt(0))return 62;if(A=="/".charCodeAt(0))return 63;throw new Error("c:"+A)}}class bA extends RA{constructor(A){super(),this.bytes=A,this.pos=0}readByte(){if(this.pos<this.bytes.length){const A=this.bytes[this.pos];return this.pos+=1,A}return-1}}(function(A,e){const t=(()=>{const t=new kA(new bA(function(A){const e=[];for(let t=0;t<A.length;t+=1)e.push(A.charCodeAt(t));return e}(A))),i=()=>{const A=t.readByte();if(-1==A)throw new Error("eof");return A};let o=0;const n={};for(;;){const A=t.readByte();if(-1==A)break;const e=i(),r=i()<<8|i();n[String.fromCharCode(A<<8|e)]=r,o+=1}if(o!=e)throw new Error(o+"!="+e);return n})(),i="?".charCodeAt(0)})("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MIWC4zCGguQwh4LlMIiC5jCJgucwioLoMIuC6TCMguowjYLrMI6C7DCPgu0wkILuMJGC7zCSgvAwk4LxMJuBSjCcgUswnYFUMJ6BVTChg0AwooNBMKODQjCkg0MwpYNEMKaDRTCng0YwqINHMKmDSDCqg0kwq4NKMKyDSzCtg0wwroNNMK+DTjCwg08wsYNQMLKDUTCzg1IwtINTMLWDVDC2g1Uwt4NWMLiDVzC5g1gwuoNZMLuDWjC8g1swvYNcML6DXTC/g14wwINfMMGDYDDCg2Eww4NiMMSDYzDFg2QwxoNlMMeDZjDIg2cwyYNoMMqDaTDLg2owzINrMM2DbDDOg20wz4NuMNCDbzDRg3Aw0oNxMNODcjDUg3Mw1YN0MNaDdTDXg3Yw2IN3MNmDeDDag3kw24N6MNyDezDdg3ww3oN9MN+DfjDgg4Aw4YOBMOKDgjDjg4Mw5IOEMOWDhTDmg4Yw54OHMOiDiDDpg4kw6oOKMOuDizDsg4ww7YONMO6DjjDvg48w8IOQMPGDkTDyg5Iw84OTMPSDlDD1g5Uw9oOWMPuBRTD8gVsw/YFSMP6BU04AiOpOAZKaTgOOtU4HlpxOCI/kTgmOT04Kj+NOC4m6Tg2Vc04Ol15OEJigThGJTk4Uio5OFZihThaQok4XmcBOGIt1ThmVuE4ej+VOIZe8TiaVwE4qmKJOLZKGTjGYo04yi/hONpikTjiK2045kk9OO47lTjyYpU4/mKZOQpinTkOUVE5Fi3ZOS5RWTk2T4U5OjMFOT5ZSTlXlaE5WmKhOV4/mTliYqU5ZibNOXYvjTl6M7k5fludOYpukTnGXkE5zk/tOfoqjToCLVE6CmKpOhZirToaXuU6Il1xOiZGIToqYrU6LjpZOjJPxTo6YsE6RiV1OkozdTpSM3E6ViOROmJhqTpmYaU6bjbFOnIifTp6YsU6fmLJOoJizTqGWU06imLROpIzwTqWI5U6mlpJOqIucTquLnU6si55OrZLgTq6Xuk6wmLVOs5i2TraYt066kGxOwI9ZTsGQbU7CmLxOxJi6TsaYu07Hi3dOyo2hTsuJ7k7NmLlOzpi4Ts+Vp07UjmVO1Y5kTtaRvE7XmL1O2JV0TtmQ5U7dgVdO3pi+Tt+YwE7jkeNO5JffTuWIyE7tmL9O7om8TvCLwk7ykodO9oyPTveYwU77lENPAYrpTwmYwk8KiMlPDYzeTw6K6k8PlZpPEJSwTxGLeE8aie9PHJjlTx2TYE8vlIxPMJjETzSUuk82l+BPOJBMTzqOZk88jpdPPYm+T0OSz09GkkFPR5jIT02Iyk9OkuFPT49aT1CNsk9Rl0NPU5HMT1WJvU9XmMdPWZddT1qYw09bmMVPXI3sT12Yxk9em0NPaZjOT2+Y0U9wmM9Pc4nAT3WVuU92mMlPe5jNT3yM8U9/jmdPg4qkT4aY0k+ImMpPi5fhT42OmE+PmMtPkZjQT5aY00+YmMxPm4ufT52Iy0+gi6BPoYm/T6ubRE+tlplPrpWOT6+M8k+1kE5Ptpe1T7+V1k/CjFdPw5GjT8SJ4k/Kj3JPzpjXT9CY3E/RmNpP1JjVT9eRrU/YmNhP2pjbT9uY2U/dldtP35jWT+GQTU/jlpNP5JjdT+WY3k/uj0NP75jrT/OUb0/1lVVP9pjmT/iV7k/6ibRP/pjqUAWY5FAGmO1QCZFxUAuMwlANlHtQD+DFUBGY7FASk3xQFJjhUBaM9FAZjPNQGpjfUB+O2FAhmOdQI5XtUCSSbFAlmONQJoyRUCiY4FApmOhQKpjiUCuXz1AsmOlQLZhgUDaL5FA5jJBQQ5juUEeY71BImPNQSYjMUE+VzlBQmPJQVZjxUFaY9VBamPRQXJLiUGWMklBsmPZQco7DUHSRpFB1kuNQdov0UHiY91B9i1VQgJj4UIWY+lCNllRQkYyGUJiOUFCZlPVQmpj5UKyNw1Ctl2JQspj8ULOZQlC0mPtQtY3CULePnVC+jFhQwplDUMWLzVDJmUBQyplBUM2TrVDPkZxQ0YuhUNWWbFDWmURQ2pe7UN6ZRVDjmUhQ5ZlGUOeRbVDtmUdQ7plJUPWZS1D5mUpQ+5XGUQCLVlEBmU1RAplOUQSJrVEJmUxREo7yURSZUVEVmVBRFplPURiY1FEamVJRH4+eUSGZU1Eql0RRMpbXUTeZVVE6mVRRO5lXUTyZVlE/mVhRQJlZUUGI8lFDjLNRRIxaUUWPW1FGkptRR4uiUUiQ5lFJjPVRS42OUUyZW1FNlsZRTpNlUVCOmVFSmVpRVJlcUVqTfVFcipVRYpldUWWT/FFokVNRaZlfUWqZYFFrlKpRbIz2UW2YWlFumWFRcYukUXWVulF2kbRRd4vvUXiTVFF8jJNRgJliUYKZY1GFk+BRhol+UYmZZlGKjftRjJllUY2NxFGPmWdRkOPsUZGZaFGSlmBRk5lpUZWZalGWmWtRl4/nUZmOylGgiqVRopluUaSZbFGllrtRppltUaiVeVGpmW9RqplwUauZcVGsk35RsJl1UbGZc1GymXRRs5lyUbSN4VG1mXZRtpboUbeX4lG9mXdRxJCmUcWZeFHGj3lRyZl5UcuSnFHMl71RzZOAUdaZw1HbmXpR3OqjUd2Lw1HgmXtR4ZZ9UeaPiFHnkfpR6Zl9UeqT4lHtmX5R8JmAUfGKTVH1mYFR9oulUfiTylH5iZpR+o9vUf2Un1H+mYJSAJOBUgOQblIEmYNSBpWqUgeQ2FIIiqBSCoqnUguZhFIOmYZSEYxZUhSZhVIXl/FSHY+JUiSUu1IllcpSJ5mHUimXmFIqmYhSLpmJUjCTnlIzmYpSNpCnUjeN/FI4jJRSOZmLUjqOaFI7jY9SQ5LkUkSZjVJHkaVSSo3tUkuZjlJMmY9STZFPUk+ZjFJUmZFSVpZVUluNhFJemZBSY4yVUmSN3FJllI1SaZmUUmqZklJvlZtScI/oUnGZm1JyioRSc5mVUnSZk1J1kW5SfZmXUn+ZllKDimNSh4yAUoiZnFKJl6tSjZmYUpGZnVKSmZpSlJmZUpuXzVKfjPdSoInBUqOX8lKpj5VSqpN3UquNhVKsmaBSrZmhUrGX41K0mEpStZmjUrmM+FK8maJSvopOUsGZpFLDlnVSxZK6UseXRVLJlddSzZmlUtLo01LVk65S15mmUtiKqFLZlrFS3Y+fUt6Zp1LfleVS4JmrUuKQqFLjmahS5IvOUuaZqVLniqlS8oxNUvOZrFL1ma1S+JmuUvmZr1L6jtlS/oz5Uv+W3FMBluZTApP1UwWV71MGmbBTCJmxUw2Zs1MPmbVTEJm0UxWZtlMWibtTF5ZrUxmN+lMambdTHZF4UyCPoFMhi6dTI5m4UyqU2VMvmblTMZm6UzOZu1M4mbxTOZVDUzqL5lM7iONTP5O9U0CZvVNBj1xTQ5DnU0WZv1NGmb5TR4+hU0iM31NJmcFTSpS8U02ZwlNRlNpTUpGyU1OR7FNUi6ZTV5PsU1iSUFNalI5TXJZtU16ZxFNgkOhTZoxUU2mZxVNumcZTb4lLU3CI81NxiutTc5GmU3SLcFN1l5FTd5nJU3iJtVN7mchTf4uoU4KZylOElu9TlpnLU5iX0FOajPpTn4y0U6CZzFOlmc5TppnNU6iQflOpiVhTrYl9U66Zz1OwmdBTs4y1U7aZ0VO7i45Two5RU8OZ0lPIlpRTyY2zU8qLeVPLl0ZTzJFvU82UvVPOjvtT1I9mU9aO5lPXjvNT2Y+WU9uUvlPfmdVT4YliU+KRcFPjjPtT5IzDU+WL5VPomdlT6ZJAU+qR/FPri6lT7I+iU+2Z2lPumdhT74nCU/CR5FPxjrZT8o5qU/OJRVP2ipBT942GU/iOaVP6mdtUAZncVAOLaFQEimVUCI2HVAmLZ1QKkt1UC4lEVAyTr1QNlrxUDo1AVA+XmVQQk2ZUEYz8VBuMTlQdmeVUH4vhVCCWaVQmlNtUKZnkVCuK3FQsmd9ULZngVC6Z4lQ2meNUOIt6VDmQgVQ7latUPJnhVD2Z3VQ+jOFUQJneVEKYQ1RGlfBUSJLmVEmM4FRKjZBUTpnmVFGT21RfmepUaI78VGqO9FRwme1UcZnrVHOWoVR1mehUdpnxVHeZ7FR7me9UfIzEVH2WvVSAmfBUhJnyVIaZ9FSLje5UjJhhVI6Z6VSPmedUkJnzVJKZ7lSimfZUpJpCVKWZ+FSomfxUq5pAVKyZ+VSvml1Uso3nVLOKUFS4mfdUvJpEVL2I9FS+mkNUwIijVMGVaVTCmkFUxJn6VMeZ9VTImftUyY3GVNiaRVThiPVU4ppOVOWaRlTmmkdU6I+jVOmWiVTtmkxU7ppLVPKTTlT6mk1U/ZpKVQSJU1UGjbRVB5BPVQ+aSFUQk4JVFJpJVRaIoFUumlNVL5dCVTGPpVUzmllVOJpYVTmaT1U+kcFVQJpQVUSR7VVFmlVVRo+kVUyaUlVPluJVU4xbVVaaVlVXmldVXJpUVV2aWlVjmlFVe5pgVXyaZVV+mmFVgJpcVYOaZlWEkVBVh5poVYmNQVWKml5Vi5KdVZiaYlWZmltVmoqrVZyK7FWdioVVnppjVZ+aX1WnjJZVqJppVamaZ1WqkXJVq4tpVayLqlWummRVsIvyVbaJY1XEmm1VxZprVceapVXUmnBV2ppqVdyablXfmmxV445rVeSab1X3mnJV+Zp3Vf2adVX+mnRWBpJRVgmJw1YUmnFWFppzVhePplYYiVJWG5p2VimJ3FYvmoJWMY/6VjKafVY0mntWNpp8VjiaflZCiVxWTJFYVk6aeFZQmnlWW4qaVmSagVZoiu1WapqEVmuagFZsmoNWdJWsVniT01Z6lLZWgJqGVoaahVaHimRWipqHVo+ailaUmolWoJqIVqKUWFalmotWrpqMVrSajla2mo1WvJqQVsCak1bBmpFWwpqPVsOaklbImpRWzpqVVtGallbTmpdW15qYVtiZZFbajvpW245sVt6J8VbgiPZW45JjVu6amVbwjaJW8ojNVvOQfVb5mppW+ozFVv2NkVb/mpxXAJqbVwOV3lcEmp1XCJqfVwmanlcLmqBXDZqhVw+Ml1cSiYBXE5qiVxaapFcYmqNXHJqmVx+TeVcmmqdXJ4izVyiN3VctjFxXMJJuVzeaqFc4mqlXO5qrV0CarFdCjeJXR4vPV0qWVldOmqpXT5qtV1CNv1dRjUJXYZqxV2SNo1dmklJXaZquV2qS2Fd/mrJXgpCCV4iasFeJmrNXi4xeV5OatFegmrVXoo1DV6OKX1ekmrdXqpq4V7CauVezmrZXwJqvV8OaulfGmrtXy5aEV86P6VfSmr1X05q+V9SavFfWmsBX3JRXV9+I5lfglXVX45rBV/SP+1f3jrdX+ZR8V/qK7lf8jelYAJZ4WAKTsFgFjJhYBpHNWAqav1gLmsJYFZHCWBmaw1gdmsRYIZrGWCSS51gqiqxYL+qfWDCJgVgxlfFYNI/qWDWTZ1g6jeRYPZrMWECVu1hBl9tYSonyWEuayFhRkVlYUprLWFSTg1hXk2hYWJOEWFmUt1hakstYXo3HWGKax1hpiZZYa5NVWHCayVhymsVYdZBvWHmazVh+j21Yg4urWIWazliTleZYl5GdWJySxFifmtBYqJZuWKua0ViumtZYs5WtWLia1Vi5ms9YuprSWLua1Fi+jaRYwZXHWMWa11jHkmRYyonzWMyP61jRmtlY05rYWNWNiFjXmtpY2JrcWNma21jcmt5Y3prTWN+a4Fjkmt9Y5ZrdWOuObVjskHBY7pFzWO+a4VjwkLpY8YjrWPKUhFj3ktlY+ZrjWPqa4lj7muRY/JrlWP2a5lkCmudZCZXPWQqa6FkPicRZEJrpWRWXW1kWik9ZGJnHWRmPZ1kakb1ZG5rqWRyW6VkilrJZJZrsWSeR5Vkpk1ZZKpG+WSuVdlksmu1ZLZruWS6Jm1kxjrhZMprvWTeIzlk4mvBZPprxWUSJgllHiu9ZSJPeWUmV8llOmvVZT5F0WVCa9FlRjF9ZVJZ6WVWa81lXk4VZWJr3WVqa9llgmvlZYpr4WWWJnFlnmvpZaI+nWWma/FlqkkRZbJr7WW6VsVlzj5dZdJN6WXibQFl9jURZgZtBWYKUQFmDlNxZhJbPWYqURFmNm0pZk4tXWZaXZFmZlq1Zm5uqWZ2bQlmjm0VZpZHDWaiWV1msk2lZsptGWbmWhVm7jchZvo+oWcabR1nJjm9Zy45uWdCIt1nRjMZZ05CpWdSIz1nZm0tZ2ptMWdybSVnliVdZ5oqtWeibSFnqlsNZ65VQWfaIpln7iPdZ/45wWgGI0FoDiKFaCZtRWhGbT1oYlrpaGptSWhybUFofm05aIJBQWiWbTVopldhaL4ziWjWbVlo2m1daPI+pWkCbU1pBmEtaRpRrWkmbVVpajaVaYptYWmaVd1pqm1labJtUWn+WuVqSlH1amptaWpuVUVq8m1tavZtfWr6bXFrBicVawpteWsmOuVrLm11azIyZWtCba1rWm2Ra15thWuGShFrjm2Ba5ptiWumbY1r6m2Va+5tmWwmK8FsLm2hbDJtnWxabaVsij+xbKptsWyyS2lswiWRbMptqWzabbVs+m25bQJtxW0Obb1tFm3BbUI5xW1GbcltUjUVbVZtzW1eOmltYkbZbWpt0W1ubdVtcjnlbXY1GW1+W0Ftji0dbZIzHW2WbdltmindbaZt3W2uRt1twm3hbcZuhW3ObeVt1m3pbeJt7W3qbfVuAm35bg5uAW4WR7luHiUZbiI7nW4mIwFuLkXZbjIquW42Os1uPjUdblZOGW5ePQFuYiq9bmZKIW5qS6FubiLZbnItYW52V81ufjsBbootxW6OQ6VukjrpbpZdHW6abgVuui3tbsI3JW7OKUVu0iYNbtY+qW7aJxlu4m4JbuZdlW7+PaFvCjuJbw5uDW8SK8VvFk9BbxpanW8ebhFvJm4VbzJV4W9Cbh1vSiqZb04v1W9SbhlvbirBb3ZBRW96bi1vfjkBb4YnHW+Kbilvkm4hb5ZuMW+abiVvnlEpb6J7LW+mQUlvrm41b7pe+W/Cbjlvzm5Bb9ZKeW/abj1v4kKFb+o6bW/6Rzlv/jvVcAZWVXAKQ6lwEjstcBZuRXAaPq1wHm5JcCJuTXAmI0VwKkbhcC5BxXA2blFwOk7FcD4+sXBGPrVwTm5VcFpDrXBqPrlwgm5ZcIpuXXCSW3lwom5hcLYvEXDGPQVw4m5lcOZuaXDqO2lw7kEtcPJPyXD2Qc1w+lPZcP5RBXECLx1xBm5tcRYuPXEabnFxIi/xcSpPNXEuJrlxNjnJcTpudXE+boFxQm59cUYv7XFObnlxVk1dcXpGuXGCTalxhjsZcZJF3XGWXmlxsm6JcbpujXG+T1FxxjlJcdpulXHmbplyMm6dckIryXJGbqFyUm6lcoYmqXKiRWlypiuJcq5urXKyWplyxkdBcs4p4XLabrVy3m69cuIrdXLubrFy8m65cvpuxXMWbsFzHm7Jc2ZuzXOCTu1zhi6xc6InjXOmbtFzqm7lc7Zu3XO+V9VzwlfRc9pOHXPqbtlz7j3Nc/Zu1XQeQkl0Lm7pdDo3oXRGbwF0Um8FdFZu7XRaKUl0Xm7xdGJvFXRmbxF0am8NdG5u/XR+bvl0im8JdKZX2XUubyV1Mm8ZdTpvIXVCXkl1Sm8ddXJu9XWmQk11sm8pdb421XXOby112m8xdgpvPXYSbzl2Hm81di5OIXYybuF2Qm9VdnZvRXaKb0F2sm9JdrpvTXbeb1l26l+RdvJvXXb2b1F3Jm9hdzIreXc2b2V3Sm9td05vaXdab3F3bm91d3ZDsXd6PQl3hj4Rd45GDXeWNSF3mjbZd541JXeiLkF3rm95d7o23XfGMyF3ym99d85akXfSUYl31m+Bd941KXfuKql39kkZd/ovQXgKOc14DlXpeBpS/Xgub4V4MivNeEZvkXhaSn14Zm+NeGpviXhub5V4dkuleJZCDXiuOdF4tkMheL5HRXjCLQV4zkqBeNpvmXjeb5144j+1ePZZYXkCb6l5Dm+leRJvoXkWVnV5Hm/FeTJZ5Xk6b615Um+1eVZaLXleb7F5fm+5eYZSmXmKb715jlbxeZJvwXnKKsV5zlb1edJROXnWb8l52m/NeeI1LXnmKsl56m/Ree4y2XnyXY159l0hefor0Xn+b9l6BkqFeg41MXoSPr16HlN1eio+wXo+PmF6VkupelpX3XpeTWF6ajU1enJV7XqCb916mk3hep43AXquMyV6tkutetYjBXraPjl63jU5euJdmXsGb+F7Cm/lew5RwXsib+l7Jl/VeyphMXs+b/F7Qm/te04pmXtacQF7anENe25xEXt2cQl7flV9e4I+xXuGcRl7inEVe45xBXuicR17pnEhe7JxJXvCcTF7xnEpe85xLXvScTV72iYRe95LsXvicTl76jJpe+4n0XvyUVV7+nE9e/5P5XwGV2V8DnFBfBJhNXwmcUV8Klb5fC5xUXwyYn18NmK9fD46uXxCT818RnFVfE4t8XxSSol8ViPhfFpxWXxeVpF8YjU9fG5JvXx+S7V8llu1fJoy3XyeMyl8pnFdfLZxYXy+cXl8xjuNfNZKjXzeLrV84nFlfPJVKXz6SZV9BnFpfSJxbX0qLrl9MnFxfTpxdX1GcX19Tk5ZfVpxgX1ecYV9ZnGJfXJxTX12cUl9hnGNfYoxgX2aVRl9pjcpfapVWX2uSpF9slWpfbZxkX3CPsl9xiWVfc5xlX3ecZl95lvBffJTeX3+caV+AiZ1fgZCqX4KcaF+DnGdfhIxhX4WR0l+HnG1fiJxrX4qcal+Ll6VfjIzjX5CPmV+RnGxfkpNrX5OPXV+Xk75fmJxwX5mcb1+enG5foJxxX6GM5F+onHJfqZWcX6qPel+tnHNfrpT3X7OTv1+0kqVfuZNPX7ycdF+9i0pfw5BTX8WVS1/MivVfzZRFX9acdV/XjnVf2JZZX9mWWl/ciZ5f3Zx6X+CSiV/knHdf64n1X/Ccq1/xnHlf9ZRPX/iceF/7nHZf/Y2aX/+cfGAOnINgD5yJYBCcgWASk3tgFZyGYBaVfGAZnIBgG5yFYByX5WAdjnZgIJHTYCGcfWAli31gJpyIYCeQq2AoiYVgKZyCYCqJ9mArnIdgL4uvYDGchGA6nIpgQZyMYEKclmBDnJRgRpyRYEqckGBLl/ZgTZySYFCLsGBSjVBgVY+aYFmcmWBanItgX5yPYGCcfmBiifhgY5yTYGSclWBlknBgaI2mYGmJtmBqnI1ga5yYYGycl2Bti7Fgb5GnYHCKhmB1jGJgd5yOYIGcmmCDnJ1ghJyfYImOu2CLnKVgjJLuYI2cm2CSnKNglIn3YJacoWCXnKJgmpyeYJucoGCfjOVgoJdJYKOKs2CmiXhgp5ykYKmUWWCqiKtgspTfYLOce2C0nKpgtZyuYLaW42C4nKdgvJOJYL2crGDFj+5gxpytYMeT1WDRmGZg05ypYNicr2DajZtg3JDJYN+I0mDgnKhg4ZymYOOReWDnnJxg6I5TYPCRxGDxnLtg85F6YPSctmD2nLNg95y0YPmO5GD6nLdg+5y6YQCctWEBj0RhA5y4YQacsmEIlvphCZb5YQ2cvGEOnL1hD4jTYRWcsWEai/BhG4ikYR+KtGEhnLlhJ5zBYSicwGEsnMVhNJzGYTycxGE9nMdhPpy/YT+cw2FCnMhhRJzJYUecvmFIjpxhSpzCYUuR1GFMjVFhTZywYU6QVGFTnNZhVZXnYViczGFZnM1hWpzOYV2c1WFfnNRhYpadYWOKtWFlnNJhZ4xkYWiKU2FrnM9hbpe2YW+c0WFwiNRhcZzTYXOcymF0nNBhdZzXYXaMY2F3nMthfpd8YYKXSmGHnNphipzeYY6RnmGQl/dhkZzfYZSc3GGWnNlhmZzYYZqc3WGkla5hp5OyYamMZWGrnOBhrJzbYa6c4WGyjJthtomvYbqc6WG+irZhw5znYcac6GHHjadhyJzmYcmc5GHKnONhy5zqYcyc4mHNnOxh0In5YeOc7mHmnO1h8pKmYfSc8WH2nO9h95zlYfiMnGH6nPBh/Jz0Yf2c82H+nPVh/5zyYgCc9mIInPdiCZz4YgqV6GIMnPpiDZz5Yg6PXmIQkKxiEYnkYhKJ+mIUnPtiFoi9YhqQymIbnPxiHebBYh6dQGIfjIFiIZ1BYiaQ7WIqnUJiLp1DYi+LWWIwnURiMp1FYjOdRmI0kdViOIzLYjuW32I/lltiQI+KYkGdR2JHkO5iSOe7YkmU4GJLjuhiTY3LYk6dSGJTkcViVZWlYliR72JbnUtiXp1JYmCdTGJjnUpiaJ1NYm6Vr2JxiLVidpV9YnmU4WJ8nU5ifp1RYn+Ps2KAi1pigp1PYoOdVmKEj7RiiZ1QYoqUY2KRl31ikp1SYpOdU2KUnVdilZOKYpadVGKXjVJimJDcYpudZWKclLJinpHwYquU4mKsnatisZX4YrWS72K5lpViu51aYryJn2K9kopiwp1jYsWSU2LGnV1ix51kYsidX2LJnWZiyp1iYsydYWLNlI9iz51bYtCJ+2LRnVli0ouRYtOR8WLUnVVi151YYtiNU2LZkNli24+1YtydYGLdlHFi4IuSYuGKZ2Lsiodi7ZBAYu6daGLvnW1i8Z1pYvOMnWL1nW5i9o5BYveNiWL+j0Vi/51cYwGOnWMCnWtjB453YwidbGMJiMJjDJ1nYxGSp2MZi5NjH4uyYyedamMoiKVjK43BYy+QVWM6kvBjPZTSYz6dcGM/kX1jSZGoY0yOSmNNnXFjT51zY1Cdb2NVld9jV5K7Y1yRe2NnlfljaI7MY2mdgGNrnX5jbpCYY3KMnmN2nXhjd4+3Y3qT5mN7lFBjgJ12Y4ORfGOIjvZjiZ17Y4yPtmOOnXVjj516Y5KUcmOWnXRjmIxAY5uKfGOfnXxjoJepY6GNzGOiklRjo515Y6WQ2mOnjVRjqJCEY6mJhmOqkVtjq513Y6yLZGOyjGZjtJLNY7WdfWO7kX5jvp2BY8Cdg2PDkbVjxJ2JY8adhGPJnYZjz5VgY9CS8WPSnYdj1pdLY9qXZ2Pbirdj4YisY+OdhWPpnYJj7or2Y/SJh2P2nYhj+pdoZAadjGQNkblkD52TZBOdjWQWnYpkF52RZBydcmQmnY5kKJ2SZCyUwGQtk4tkNJ2LZDadj2Q6jGdkPo3vZEKQ22ROnZdkWJNFZGedlGRploBkb52VZHadlmR4lsxkepCgZIOMgmSInZ1kko5UZJOdmmSVnZlkmpRRZJ6Ts2Skk1BkpZ2bZKmdnGSrlY9krZRkZK6OQmSwkO9kspZvZLmKaGS7naNkvJ2eZMGXaWTCnaVkxZ2hZMedomTNkYBk0p2gZNSdXmTYnaRk2p2fZOCdqWThnapk4pNGZOOdrGTmjkNk552nZOyLW2Tvna1k8Z2mZPKdsWT0nbBk9p2vZPqdsmT9nbRk/o/vZQCds2UFnbdlGJ21ZRydtmUdnZBlI525ZSSduGUqnZhlK526ZSydrmUvjnhlNJ27ZTWdvGU2nb5lN529ZTidv2U5ifxlO41VZT6V+mU/kK1lRYzMZUidwWVNncRlT5VxZVGLfmVVncNlVp3CZVeUc2VYncVlWYuzZV2dx2VencZlYoq4ZWOOVWVmk9ZlbIxoZXCQlGVynchldJCuZXWTR2V3lX5leJ3JZYKdymWDnctlh5W2ZYibfGWJkMRljJVrZY6N1mWQlONlkZTBZZeTbGWZl79lm53NZZyOzmWfnc5loYi0ZaSL0mWlkMtlp5WAZaudz2WsjmFlrZJmZa+OemWwkFZlt53QZbmV+2W8iZdlvY57ZcGd02XDndFlxJ3UZcWXt2XGndJly5D5Zcyd1WXPkbBl0p3WZdeK+GXZndhl253XZeCd2WXhndpl4or5ZeWT+mXmklVl54uMZeiOfGXpkYFl7I97Ze2IrmXxndtl+omgZfud32YCjVZmA53eZgaNqWYHj7hmCp3dZgyPuWYOlr5mD42oZhOI1WYUkMxmHJ3kZh+Qr2YgiWZmJY90ZieWhmYojfBmLY+6Zi+QpWY0neNmNZ3hZjad4mY8kotmP55FZkGd6GZCjp5mQ41XZkSd5mZJnedmS5BXZk+d5WZSjk5mXZ3qZl6d6WZfne5mYp3vZmSd62ZmikFmZ53sZmid7WZplNNmbpWBZm+MaWZwnfBmdJCwZnaPu2Z6knFmgYvFZoOd8WaEnfVmh4nJZoid8maJnfRmjp3zZpGPi2aWkmdml4jDZpid9madnfdmopKoZqaX72arjmJmrpXpZrSWXGa4nkFmuZ35Zryd/Ga+nftmwZ34ZsSeQGbHk9xmyZ36ZtaeQmbZj4xm2p5DZtyXambdlJhm4J5EZuaeRmbpnkdm8J5IZvKLyGbziWdm9I1YZvWeSWb3nkpm+I+RZvmRgmb8mdZm/ZFdZv6RXGb/kdZnAI3FZwOY8GcIjI5nCZdMZwuV/GcNlZ5nD55LZxSN8WcVkr1nFp5MZxeYTmcbll1nHZKpZx6eTWcfivpnJp5OZyeeT2colthnKpaiZyuWlmcslntnLY5EZy6eUWcxjulnNJZwZzaeU2c3nlZnOJ5VZzqK92c9i4BnP55SZ0GeVGdGnldnSZCZZ06Xm2dPiMdnUI3eZ1GRumdTjttnVo/xZ1meWmdck21nXp5YZ1+RqWdgnllnYY/wZ2KW22djnltnZJ5cZ2WXiGdqnmFnbY1ZZ2+UdGdwnl5ncZOMZ3Kd3GdzneBndYtuZ3eUZmd8nmBnfo+8Z3+UwmeFnmZnh5T4Z4meXWeLnmNnjJ5iZ5CQzWeVlo1nl5fRZ5qWh2ecicpnnY59Z6CYZ2ehnmVnopCVZ6aeZGepnl9nr4zNZ7Oea2e0nmlntonLZ7eeZ2e4nm1nuZ5zZ8GRxmfElb9nxp51Z8qVQWfOnnRnz5SQZ9CWXmfRirln05D1Z9SPX2fYktFn2pdNZ92ecGfenm9n4p5xZ+SebmfnnnZn6Z5sZ+yeamfunnJn755oZ/GSjGfzlvZn9I7EZ/WN8mf7jbhn/paPZ/+KYGgCksxoA5PIaASJaGgTkPBoFpCyaBeMSWgennhoIY1aaCKKnGgpnnpoKoqUaCuegWgynn1oNJDxaDiKamg5japoPIppaD2NzWhAnntoQYyFaEKMamhDk41oRp55aEiIxGhNnnxoTp5+aFCLy2hRjEtoU4q6aFSLamhZnoJoXI33aF2WkWhfjlZoY56DaGeVT2h0no9odomxaHeehGh+npVof56FaIGXwGiDnoxohZR+aI2elGiPnodok4iyaJSeiWiXjVtom56LaJ2eimifnoZooJ6RaKKPvWimmutop4zmaKiXnGitnohor5LyaLCKQmixjatos56AaLWekGi2ioFouZ6OaLqekmi8k45oxIr8aMaesGjJlsdoyp6XaMuK+2jNnp5o0pZfaNSen2jVnqFo156laNiemWjakklo35OPaOCeqWjhnpxo456maOeeoGjukFho756qaPKQsWj5nqho+oq7aQCYb2kBnpZpBJ6kaQWI1mkInphpC5a4aQyenWkNkEFpDpLFaQ+ek2kSnqNpGZCaaRqerWkbipFpHIyfaSGer2kinpppI56uaSWep2kmnptpKJ6raSqerGkwnr1pNJPMaTaeomk5nrlpPZ67aT+S1mlKl2tpU5WWaVSetmlVkchpWZ68aVqRXmlcnrNpXZ7AaV6ev2lgk+1pYZ6+aWKT6GlqnsJpa561aW2Lxmlunrhpb498aXOUgGl0nrppdYvJaXeesml4nrRpeZ6xaXyYT2l9inlpfp63aYGewWmCilRpio3laY6JfGmRntJplJhQaZWe1WmbkFlpnJ7UaaCe02mnntBprp7EabGe4WmynsNptJ7Wabuezmm+nslpv57GacGex2nDns9px+qgacqezGnLjVxpzJLGac2RhGnOnspp0J7FadOeyGnYl2xp2ZaKad2ezWnentdp557faeie2GnrnuVp7Z7jafKe3mn5nt1p+5LOaf2RhWn/nttqAp7ZagWe4GoKnuZqC5Tzagye7GoSnudqE57qahSe5GoXkpRqGZVXahue2moenuJqH4++aiGWzWoinvZqI57paimMoGoqiaFqK4p+ai6e0Wo1j79qNp7uajie9Wo5jvdqOoqSaj2STWpEnutqR57wakie9GpLi7RqWItralme8mpfi0BqYZPJamKe8WpmnvNqcp7tanie72p/ioBqgJJoaoSe+mqNnvhqjoznapCe92qXn0BqnJ53aqCe+Wqinvtqo578aqqfS2qsn0dqrp6NarOfRmq4n0Vqu59CasGe6GrCn0Rqw59DatGfSWrTmEVq2p9MatuL+Wren0hq359KauiUpWrqn01q+p9RavufTmsEl5NrBZ9Pawqe3GsSn1JrFp9Tax2JVGsfn1VrIIyHayGOn2sji9NrJ4miazKXfms3n1drOJ9WazmfWWs6i1xrPYvUaz6KvGtDn1xrR59ba0mfXWtMicxrTpJWa1CfXmtTir1rVJ9ga1mfX2tbn2FrX59ia2GfY2tijn5rY5Cza2SNn2tmlZBraZXga2qYY2tvjpVrc43Oa3SX8Gt4n2RreZ9la3uOgGt/n2ZrgJ9na4OfaWuEn2hrhpZ3a4mPfWuKjupri45ja42famuVn2xrlpBCa5ifa2uen21rpJ9ua6qfb2urn3Brr59xa7Gfc2uyn3Jrs590a7SJo2u1kmlrt591a7qORWu7imtrvJ92a7+TYWvAmsprxYtCa8afd2vLn3hrzZXqa86WiGvSk8Vr0595a9SU5GvYlPlr25bRa9+femvrn3xr7J97a++ffmvzn31sCJ+BbA+OgWwRlq9sE5+CbBSfg2wXi0NsG5+EbCOfhmwkn4VsNJCFbDeVWGw4iWlsPpTDbECS82xBj2BsQouBbE6UxGxQjqxsVZ+IbFeKvmxaiZhsXZPwbF6fh2xfjV1sYJJybGKfiWxon5Fsap+KbHCRv2xyi4Jsc5+SbHqMiGx9i0Rsfp+QbIGfjmyCn4tsg5eAbIiSvmyMk9dsjZ+MbJCflGySn5Nsk4xCbJaJq2yZjblsmp+NbJufj2yhlnZsopHybKuWl2yun5xssZ+dbLOJzWy4laZsuZb7bLqfn2y7jqFsvI/AbL2fmGy+n55sv4mIbMGLtWzEn5VsxZ+abMmQ8mzKlJFszJTlbNOfl2zVlkBs15+ZbNmfomzbn6Bs3Z+bbOGWQWzilGds44uDbOWTRGzoko1s6p+jbO+foWzwkdds8Z+WbPOJam0Ll21tDJ+ubRKfrW0XkPRtGZ+qbRuXjG0ek7RtH5+kbSWSw20piWttKo1ebSufp20yj0ZtM5+sbTWfq202n6ZtOJ+pbTuKiG09n6htPpRobUGXrG1Ej/JtRZDzbVmftG1an7JtXJVsbWOfr21kn7FtZolZbWmNX21qmFFtbIpcbW6Vgm10l4Ftd4pDbXiQWm15n7NthZ+4bYiPwW2Ml09tjp+1bZOfsG2Vn7ZtmZfcbZuTk22ck8Btr4pVbbKJdG21n7xtuJ+/bbyXwW3Al4RtxZ/GbcafwG3Hn71ty5fS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hWmToIVqlZOFbeVKhXflUIV+5VGFgOVEhYSUloWH5U6FiOVGhYrlSIWQ5VKFkeVHhZTlS4WXiZKFmZPjhZvlTIWc5U+FpOVFhaaRRYWo5UmFqY5GhaqQZIWrjE+FrJbyha6W94Wvj5KFueVWhbrlVIXBmG2FyeVThc2XlYXP5VWF0OVXhdXlWIXc5VuF3eVZheSToYXl5VqF6ZTLherlTYX3j5OF+eVchfrlYYX7kZSF/uVghgLlQYYG5WKGB5FohgrlXYYL5V+GE+VehhafUIYXn0GGGuVkhiLlY4Ytl5aGL+G6hjDlZYY/5WaGTeVnhk6M1YZQi3OGVOVphlWZfIZai5WGXJe4hl6L8YZf5WqGZ+VrhmuSjoZx5WyGeZP4hnuIuIaKieGGi+VxhozlcoaT5W2GlY5chqPlboaklGGGqeVvhqrlcIar5XqGr+V0hrDld4a25XOGxOV1hsbldobHjtaGyeV4hsuSYIbNjHWGzophhtTle4bZil6G2+WBht7lfIbf5YCG5JS4hunlfYbs5X6G7ZVnhu6U2Ibv5YKG+JH7hvnljIb75YiG/onphwDlhocClkmHA+WHhwblhIcI5YWHCeWKhwrljYcN5YuHEeWJhxLlg4cYkneHGuWUhxyWqIcl5ZKHKeWThzTljoc35ZCHO+WRhz/lj4dJkOSHS5hYh0zlmIdO5ZmHU+Wfh1WQSYdX5ZuHWeWeh1/llodg5ZWHY+Wgh2aJ2odo5ZyHauWhh27lnYd05ZqHdpKxh3jll4d/lIiHguWlh42XWoef5aSHouWjh6vlrIev5aaHs+Wuh7qXhoe75bGHveWoh8DlqYfE5a2HxuWwh8flr4fL5aeH0OWqh9Llu4fg5bSH7+Wyh/Lls4f25biH9+W5h/mKSYf7i2GH/uW3iAXloogN5baIDuW6iA/ltYgR5byIFeW+iBblvYgh5cCIIuW/iCPleYgn5cSIMeXBiDblwog55cOIO+XFiECMjIhC5ceIROXGiEaPT4hMjXOITZ+liFLlyIhTj3CIV4pYiFnlyYhbiXGIXY/ViF7lyohhjXSIYuXLiGOI34holVyIa+XMiHCQiohy5dOIdeXQiHeSj4h95dGIfuXOiH+L3IiB5c2IguXUiIiMVYiLkdyIjeXaiJLl1oiWkbOIl+XViJnl2Iie5c+IouXZiKTl24irlO2IruXX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ljKWaJY7kWqWP4iilkCRyZZC6JiWRJWNlkvom5ZM6JmWTY1+lk/ompZQjMCWW5XDllzonZZd6J+WXuiell/ooJZiiUCWY5B3lmSPnJZliteWZuihlmqUhpZs6KOWcIlBlnLoopZzksKWdZfLlnaTqZZ36JyWeJeklnqMr5Z9l3qWhYv3loaXspaIjEeWipHglovkQJaN6KSWjopLlo+Qj5aUinWWleimlpfop5aY6KWWmYyElpuN25acj+GWoIlClqOX15an6KmWqOeslqroqJaw6KyWseiqlrLoq5a06K2WtuiulreX6pa46K+WueiwlruQx5a8lLmWwJCdlsGK5ZbEl1mWxYnrlsaPV5bHjNmWyeizlsvospbMjpOWzei0ls7osZbRjkeW1ei4ltblq5bZmdSW25CXltzotpbil6OW45PvluiJSpbqkOGW6460lvCVtZbyiV+W9pfrlveXi5b56LmW+5NklwCO+ZcE6LqXBui7lweQa5cI6LyXCpfslw3ot5cO6L6XD+jAlxHov5cT6L2XFujBlxnowpcckZqXHonglyTow5cnlraXKujElzDoxZcymEmXOJ5Qlznoxpc96MeXPujIl0LozJdE6MmXRujKl0joy5dJ6M2XUpDCl1aW9ZdZkMOXXOjOl16U8Zdg6M+XYepyl2KWypdk6NCXZujRl2jo0pdpinaXa+jUl22QeJdx6NWXdIxDl3no1pd66NqXfOjYl4Ho2ZeEipOXhejXl4bo25eL6NyXjYjGl4/o3ZeQ6N6XmI/il5zo35egi2aXo+jil6bo4Zeo6OCXq+aRl62V2pez6OOXtOjkl8Po5ZfG6OaXyOjnl8vo6JfTitiX3Ojpl+3o6pfulEKX8ujsl/OJuZf16O+X9ujul/uJQ5f/i7+YAZXFmAKSuJgDjaCYBY2AmAaPh5gIkHuYDOjxmA/o8JgQl2GYEYrmmBKU0JgTk9qYF5CcmBiXzJgajHqYIej0mCTo85gslmqYLZOqmDSJb5g36PWYOOjymDuVcJg8l4qYPej2mEbo95hL6PmYTJHomE2KephOinuYT+j4mFSK55hVjLCYWIromFuTXphel96YZ4zamGvo+phv6PuYcOj8mHHpQJhz6UKYdOlBmKiVl5iq6UOYr+lEmLHpRZi26UaYw+lImMTpR5jG6UmY25TymNzjypjfkEiY4otRmOnpSpjr6UuY7ZmqmO6fWpjvlNGY8oj5mPSIuZj8jpSY/ZZPmP6P/JkD6UyZBZbdmQnpTZkKl3uZDIlhmRCOYJkS6U6ZE4nsmRTpT5kY6VCZHelSmR7pU5kg6VWZIelRmSTpVJkoitmZLOlWmS7pV5k96ViZPulZmULpWplF6VyZSelbmUvpXplM6WGZUOldmVHpX5lS6WCZVelimVeLwJmWjvGZl+ljmZjpZJmZjYGZpellmaiKXZmslG6Zrelmma7pZ5mzknmZtJPpmbzpaJnBlJ2ZxJHKmcWJd5nGi+yZyIvtmdCSk5nR6W2Z0ovumdWJ7ZnY6WyZ2+lqmd3pa5nf6WmZ4ul3me3pbpnu6W+Z8elwmfLpcZn46XOZ++lymf+PeJoB6XSaBel2mg6LUpoP6XWaEpGbmhOMsZoZ6XiaKJHLmivpeZowk6uaN+l6mj7pgJpA6X2aQul8mkPpfppF6XuaTemCmlXpgZpX6YSaWovBmlvpg5pf6YWaYumGmmTpiJpl6YeaaemJmmrpi5pr6YqaqI2cmq3pjJqw6Y2auIpbmrzpjprA6Y+axJCRms/pkJrR6ZGa0+mSmtTpk5rYjYKa3umUmt/plZri6Zaa4+mXmubpmJrqlK+a6+mamu2VRZru6Zua7+mZmvHpnZr06Zya9+memvvpn5sG6aCbGOmhmxrpopsf6aObIumkmyPppZsl6aabJ+mnmyjpqJsp6ambKumqmy7pq5sv6aybMZ9UmzLprZs74vabPItTm0GKQJtCjbCbQ+mvm0TprptFlqObTemxm07psptP6bCbUemzm1SWgptY6bSbWoubm2+YRJt06bWbg+m3m46IvJuR6bibkpWpm5PptpuW6bmbl+m6m5/pu5ug6bybqOm9m6qWjpurjkybrY34m66RTpu06b6buenBm8Dpv5vG6cKbyYzvm8rpwJvP6cOb0enEm9LpxZvU6cmb1o5Jm9uR4pvh6cqb4unHm+Ppxpvk6cib6Ix+m/Dpzpvx6c2b8unMm/WIsZwE6dicBunUnAjp1ZwJ6dGcCunXnAzp05wNioKcEJhrnBLp1pwT6dKcFOnQnBXpz5wb6dqcIendnCTp3Jwl6ducLZVonC7p2ZwviPGcMOnenDLp4Jw5io+cOunLnDuJVpw+6eKcRunhnEfp35xIkkycUpaQnFeX2Jxa6eOcYOnknGfp5Zx26eaceOnnnOWSuZzn6eic6ZS1nOvp7Zzs6emc8OnqnPOWUJz0lsKc9pPOnQPp7p0G6e+dB5O8nQjp7J0J6eudDomonRLp950V6fadG4mVnR/p9J0j6fOdJunxnSiKm50q6fCdK46wnSyJp507jYOdPun6nT/p+Z1B6fidROn1nUbp+51I6fydUOpEnVHqQ51Z6kWdXIlMnV3qQJ1e6kGdYI2UnWGWt51k6kKdbJZRnW/qSp1y6kadeupLnYfqSJ2J6kedj4x7nZrqTJ2k6k2dqepOnavqSZ2v6fKdsupPnbSS35246lOduupUnbvqUp3B6lGdwupXncTqUJ3G6lWdz+pWndPqWZ3Z6lid5upbne3qXJ3v6l2d8phonfjqWp35kemd+o3rnf3qXp4a6l+eG+pgnh7qYZ516mKeeIyynnnqY5596mSef46tnoHqZZ6I6maei+pnnozqaJ6R6muekuppnpOYW56V6mqel5ftnp3qbJ6fl9mepeptnqaUnp6p6m6equpwnq3qcZ646m+euY2NnrqWy567loOevJv1nr6fgJ6/lpuexImpnszqc57Ni2+ezup0ns/qdZ7Q6nae0o2VntTqd57Y4NKe2ZbZntuR4Z7c6nie3ep6nt7qeZ7g6nue5ep8nujqfZ7v6n6e9OqAnvbqgZ736oKe+eqDnvvqhJ786oWe/eqGnwfqh58I6oifDpNDnxOM258V6oqfIJFsnyHqi58s6oyfO5VAnz7qjZ9K6o6fS+JWn07m2J9P6OufUuqPn1TqkJ9f6pKfYOqTn2HqlJ9il+6fY+qRn2bqlZ9n6pafauqYn2zql59y6pqfduqbn3fqmZ+Nl7Sfleqcn5zqnZ+d4nOfoOqe/wGBSf8DgZT/BIGQ/wWBk/8GgZX/CIFp/wmBav8KgZb/C4F7/wyBQ/8OgUT/D4Fe/xCCT/8RglD/EoJR/xOCUv8UglP/FYJU/xaCVf8Xglb/GIJX/xmCWP8agUb/G4FH/xyBg/8dgYH/HoGE/x+BSP8ggZf/IYJg/yKCYf8jgmL/JIJj/yWCZP8mgmX/J4Jm/yiCZ/8pgmj/KoJp/yuCav8sgmv/LYJs/y6Cbf8vgm7/MIJv/zGCcP8ygnH/M4Jy/zSCc/81gnT/NoJ1/zeCdv84gnf/OYJ4/zqCef87gW3/PIFf/z2Bbv8+gU//P4FR/0CBTf9BgoH/QoKC/0OCg/9EgoT/RYKF/0aChv9Hgof/SIKI/0mCif9Kgor/S4KL/0yCjP9Ngo3/ToKO/0+Cj/9QgpD/UYKR/1KCkv9TgpP/VIKU/1WClf9Wgpb/V4KX/1iCmP9Zgpn/WoKa/1uBb/9cgWL/XYFw/2EAof9iAKL/YwCj/2QApP9lAKX/ZgCm/2cAp/9oAKj/aQCp/2oAqv9rAKv/bACs/20Arf9uAK7/bwCv/3AAsP9xALH/cgCy/3MAs/90ALT/dQC1/3YAtv93ALf/eAC4/3kAuf96ALr/ewC7/3wAvP99AL3/fgC+/38Av/+AAMD/gQDB/4IAwv+DAMP/hADE/4UAxf+GAMb/hwDH/4gAyP+JAMn/igDK/4sAy/+MAMz/jQDN/44Azv+PAM//kADQ/5EA0f+SANL/kwDT/5QA1P+VANX/lgDW/5cA1/+YANj/mQDZ/5oA2v+bANv/nADc/50A3f+eAN7/nwDf/+OBUP/lgY8=",7070);const UA={shape:q.square,qrOptions:{typeNumber:h[0],mode:void 0,errorCorrectionLevel:c.Q},imageOptions:{mode:j.center,imageSize:.4,padding:4,margin:.2,crossOrigin:void 0},cornersSquareOptions:{type:K.rounded,color:"#000000"},cornersDotOptions:{type:L.dot,color:"#000000"},dotsOptions:{type:x.verticalLine,color:"#000000",size:10},backgroundOptions:{color:"#FFFFFF"},borderOptions:{decorations:{}}},NA={...UA,shape:q.square,cornersSquareOptions:{type:K.square},cornersDotOptions:{type:L.square},dotsOptions:{type:x.square}},YA={...UA,shape:q.square,cornersSquareOptions:{type:K.rounded},cornersDotOptions:{type:L.rounded},dotsOptions:{type:x.verticalLine,size:10}},JA={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{type:K.dot},cornersDotOptions:{type:L.dot}},GA={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{type:K.dot},cornersDotOptions:{type:L.dot}},VA={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{type:K.classy},cornersDotOptions:{type:L.classy}},ZA={...UA,dotsOptions:{...UA.dotsOptions,type:x.extraRounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},OA={...UA,dotsOptions:{...UA.dotsOptions,type:x.verticalLine},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},WA={...UA,dotsOptions:{...UA.dotsOptions,type:x.horizontalLine},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},MA={...UA,dotsOptions:{...UA.dotsOptions,type:x.classyRounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.outpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.outpoint}},HA={...UA,dotsOptions:{...UA.dotsOptions,type:x.smallSquare},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.inpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.inpoint}},TA={...UA,dotsOptions:{...UA.dotsOptions,type:x.tinySquare},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.heart}},XA={...UA,dotsOptions:{...UA.dotsOptions,type:x.star},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},xA={...UA,dotsOptions:{...UA.dotsOptions,type:x.plus},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},LA={...UA,dotsOptions:{...UA.dotsOptions,type:x.diamond},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},KA={...UA,dotsOptions:{...UA.dotsOptions,type:x.randomDot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},qA={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.outpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.outpoint}},jA={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.inpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.inpoint}},vA={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.outpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.outpoint}},PA={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.inpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.inpoint}},zA={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.outpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.outpoint}},_A={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.inpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.inpoint}},$A={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.outpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.outpoint}},Ae={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.inpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.inpoint}},ee={...UA,shape:q.circle,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},te={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},ie={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},oe={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},ne={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},re={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},se={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},ge={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},Ie={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},ae={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},Be={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},Ce={...UA,dotsOptions:{...UA.dotsOptions,type:x.extraRounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},le={...UA,dotsOptions:{...UA.dotsOptions,type:x.extraRounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},Qe={...UA,dotsOptions:{...UA.dotsOptions,type:x.classyRounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Ee={...UA,dotsOptions:{...UA.dotsOptions,type:x.classyRounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},he={...UA,dotsOptions:{...UA.dotsOptions,type:x.verticalLine},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},ce={...UA,dotsOptions:{...UA.dotsOptions,type:x.horizontalLine},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},de={...UA,dotsOptions:{...UA.dotsOptions,type:x.horizontalLine},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},ue={...UA,dotsOptions:{...UA.dotsOptions,type:x.smallSquare},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},pe={...UA,dotsOptions:{...UA.dotsOptions,type:x.smallSquare},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},me={...UA,dotsOptions:{...UA.dotsOptions,type:x.tinySquare},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},fe={...UA,dotsOptions:{...UA.dotsOptions,type:x.tinySquare},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},ye={...UA,dotsOptions:{...UA.dotsOptions,type:x.star},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},we={...UA,dotsOptions:{...UA.dotsOptions,type:x.star},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},De={...UA,dotsOptions:{...UA.dotsOptions,type:x.plus},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Se={...UA,dotsOptions:{...UA.dotsOptions,type:x.plus},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},Fe={...UA,dotsOptions:{...UA.dotsOptions,type:x.diamond},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Re={...UA,dotsOptions:{...UA.dotsOptions,type:x.diamond},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},ke={...UA,dotsOptions:{...UA.dotsOptions,type:x.randomDot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},be={...UA,dotsOptions:{...UA.dotsOptions,type:x.randomDot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},Ue={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Ne={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},Ye={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Je={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.outpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},Ge={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Ve={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},Ze={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Oe={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},We={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Me={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},He={...NA,shape:q.circle},Te={...UA,shape:q.circle},Xe={...JA,shape:q.circle},xe={...GA,shape:q.circle},Le={...VA,shape:q.circle},Ke={...ZA,shape:q.circle},qe={...OA,shape:q.circle},je={...WA,shape:q.circle},ve={...MA,shape:q.circle},Pe={...HA,shape:q.circle},ze={...TA,shape:q.circle},_e={...XA,shape:q.circle},$e={...xA,shape:q.circle},At={...LA,shape:q.circle},et={...KA,shape:q.circle},tt={...qA,shape:q.circle},it={...jA,shape:q.circle},ot={...vA,shape:q.circle},nt={...PA,shape:q.circle},rt={...zA,shape:q.circle},st={..._A,shape:q.circle},gt={...$A,shape:q.circle},It={...Ae,shape:q.circle},at={...te,shape:q.circle},Bt={...ie,shape:q.circle},Ct={...oe,shape:q.circle},lt={...ne,shape:q.circle},Qt={...re,shape:q.circle},Et={...se,shape:q.circle},ht={...ge,shape:q.circle},ct={...Ie,shape:q.circle},dt={...ae,shape:q.circle},ut={...Be,shape:q.circle},pt={...Ce,shape:q.circle},mt={...le,shape:q.circle},ft={...Qe,shape:q.circle},yt={...Ee,shape:q.circle},wt={...he,shape:q.circle},Dt={...ce,shape:q.circle},St={...de,shape:q.circle},Ft={...ue,shape:q.circle},Rt={...pe,shape:q.circle},kt={...me,shape:q.circle},bt={...fe,shape:q.circle},Ut={...ye,shape:q.circle},Nt={...we,shape:q.circle},Yt={...De,shape:q.circle},Jt={...Se,shape:q.circle},Gt={...Fe,shape:q.circle},Vt={...Re,shape:q.circle},Zt={...ke,shape:q.circle},Ot={...be,shape:q.circle},Wt={...Ue,shape:q.circle},Mt={...Ne,shape:q.circle},Ht={...Ye,shape:q.circle},Tt={...Je,shape:q.circle},Xt={...Ge,shape:q.circle},xt={...Ve,shape:q.circle},Lt={...Ze,shape:q.circle},Kt={...Oe,shape:q.circle},qt={...We,shape:q.circle},jt={...Me,shape:q.circle},vt=[{id:"base",name:"Default",options:UA},{id:"plain",name:"Square Plain",options:NA},{id:"plain-circle",name:"Square Plain (Circle)",options:He},{id:"base-line-rounded",name:"Lines Rounded",options:YA},{id:"rounded",name:"Rounded",options:JA},{id:"dots",name:"Dots",options:GA},{id:"classy",name:"Classy",options:VA},{id:"extra-rounded-dots-square-corners",name:"Extra Rounded Dots Square Corners",options:ZA},{id:"vertical-line-dots-classy-corners",name:"Vertical Lines Classy Corners",options:OA},{id:"horizontal-line-dots-rounded-corners",name:"Horizontal Lines Rounded Corners",options:WA},{id:"classy-rounded-dots-outpoint-corners",name:"Classy Rounded Dots Outpoint Corners",options:MA},{id:"small-square-dots-inpoint-corners",name:"Small Square Dots Inpoint Corners",options:HA},{id:"tiny-square-dots-square-corners-heart-corners",name:"Tiny Square Dots Heart Corners",options:TA},{id:"star-dots-classy-corners",name:"Star Dots Classy Corners",options:XA},{id:"plus-dots-rounded-corners",name:"Plus Dots Rounded Corners",options:xA},{id:"diamond-dots-square-corners",name:"Diamond Dots Square Corners",options:LA},{id:"random-dot-dots-dot-corners",name:"Random Dots",options:KA},{id:"dot-dots-outpoint-corners",name:"Dots Outpoint Corners",options:qA},{id:"dot-dots-inpoint-corners",name:"Dots Inpoint Corners",options:jA},{id:"rounded-dots-outpoint-corners",name:"Rounded Dots Outpoint Corners",options:vA},{id:"rounded-dots-inpoint-corners",name:"Rounded Dots Inpoint Corners",options:PA},{id:"classy-dots-outpoint-corners",name:"Classy Dots Outpoint Corners",options:zA},{id:"classy-dots-inpoint-corners",name:"Classy Dots Inpoint Corners",options:_A},{id:"square-dots-outpoint-corners",name:"Square Dots Outpoint Corners",options:$A},{id:"square-dots-inpoint-corners",name:"Square Dots Inpoint Corners",options:Ae},{id:"dot-dots-square-corners",name:"Dots Square Corners",options:te},{id:"dot-dots-rounded-corners",name:"Dots Rounded Corners",options:ie},{id:"dot-dots-classy-corners",name:"Dots Classy Corners",options:oe},{id:"rounded-dots-square-corners",name:"Rounded Dots Square Corners",options:ne},{id:"rounded-dots-classy-corners",name:"Rounded Dots Classy Corners",options:re},{id:"classy-dots-square-corners",name:"Classy Dots Square Corners",options:se},{id:"classy-dots-rounded-corners",name:"Classy Dots Rounded Corners",options:ge},{id:"square-dots-dot-corners",name:"Square Dots Dot Corners",options:Ie},{id:"square-dots-rounded-corners",name:"Square Dots Rounded Corners",options:ae},{id:"square-dots-classy-corners",name:"Square Dots Classy Corners",options:Be},{id:"extra-rounded-dots-dot-corners",name:"Extra Rounded Dots Dot Corners",options:Ce},{id:"extra-rounded-dots-classy-corners",name:"Extra Rounded Dots Classy Corners",options:le},{id:"classy-rounded-dots-dot-corners",name:"Classy Rounded Dots Dot Corners",options:Qe},{id:"classy-rounded-dots-square-corners",name:"Classy Rounded Dots Square Corners",options:Ee},{id:"vertical-line-dots-square-corners",name:"Vertical Lines Square Corners",options:he},{id:"horizontal-line-dots-square-corners",name:"Horizontal Lines Square Corners",options:ce},{id:"horizontal-line-dots-classy-corners",name:"Horizontal Lines Classy Corners",options:de},{id:"small-square-dots-dot-corners",name:"Small Square Dots Dot Corners",options:ue},{id:"small-square-dots-rounded-corners",name:"Small Square Dots Rounded Corners",options:pe},{id:"tiny-square-dots-dot-corners",name:"Tiny Square Dots Dot Corners",options:me},{id:"tiny-square-dots-square-corners",name:"Tiny Square Dots Square Corners",options:fe},{id:"star-dots-dot-corners",name:"Star Dots Dot Corners",options:ye},{id:"star-dots-square-corners",name:"Star Dots Square Corners",options:we},{id:"plus-dots-dot-corners",name:"Plus Dots Dot Corners",options:De},{id:"plus-dots-square-corners",name:"Plus Dots Square Corners",options:Se},{id:"diamond-dots-dot-corners",name:"Diamond Dots Dot Corners",options:Fe},{id:"diamond-dots-classy-corners",name:"Diamond Dots Classy Corners",options:Re},{id:"random-dot-dots-square-corners",name:"Random Dots Square Corners",options:ke},{id:"random-dot-dots-classy-corners",name:"Random Dots Classy Corners",options:be},{id:"dot-dots-square-corners-dot-corners",name:"Dots Square/Dot Corners",options:Ue},{id:"dot-dots-dot-corners-square-corners",name:"Dots Dot/Square Corners",options:Ne},{id:"rounded-dots-square-corners-dot-corners",name:"Rounded Dots Square/Dot Corners",options:Ye},{id:"rounded-dots-dot-corners-square-corners",name:"Rounded Dots Dot/Square Corners",options:Je},{id:"classy-dots-square-corners-dot-corners",name:"Classy Dots Square/Dot Corners",options:Ge},{id:"classy-dots-dot-corners-square-corners",name:"Classy Dots Dot/Square Corners",options:Ve},{id:"square-dots-rounded-corners-dot-corners",name:"Square Dots Rounded/Dot Corners",options:Ze},{id:"square-dots-dot-corners-rounded-corners",name:"Square Dots Dot/Rounded Corners",options:Oe},{id:"dot-dots-classy-corners-dot-corners",name:"Dots Classy/Dot Corners",options:We},{id:"dot-dots-dot-corners-classy-corners",name:"Dots Dot/Classy Corners",options:Me},{id:"circle-shape-dot-dots-square-corners",name:"Circle Dots Square Corners",options:at},{id:"circle-shape-rounded-dots-rounded-corners",name:"Circle Rounded",options:ee},{id:"circle-shape-square-dots-square-corners",name:"Circle Square Plain",options:He},{id:"circle-shape-vertical-line-dots-rounded-corners",name:"Circle Lines Rounded",options:Te},{id:"circle-shape-rounded-dots-dot-corners",name:"Circle Rounded Dots",options:Xe},{id:"circle-shape-dot-dots-dot-corners",name:"Circle Dots",options:xe},{id:"circle-shape-classy-dots-classy-corners",name:"Circle Classy",options:Le},{id:"circle-shape-extra-rounded-dots-square-corners",name:"Circle Extra Rounded Dots Square Corners",options:Ke},{id:"circle-shape-vertical-line-dots-classy-corners",name:"Circle Vertical Lines Classy Corners",options:qe},{id:"circle-shape-horizontal-line-dots-rounded-corners",name:"Circle Horizontal Lines Rounded Corners",options:je},{id:"circle-shape-classy-rounded-dots-outpoint-corners",name:"Circle Classy Rounded Dots Outpoint Corners",options:ve},{id:"circle-shape-small-square-dots-inpoint-corners",name:"Circle Small Square Dots Inpoint Corners",options:Pe},{id:"circle-shape-tiny-square-dots-square-corners-heart-corners",name:"Circle Tiny Square Dots Heart Corners",options:ze},{id:"circle-shape-star-dots-classy-corners",name:"Circle Star Dots Classy Corners",options:_e},{id:"circle-shape-plus-dots-rounded-corners",name:"Circle Plus Dots Rounded Corners",options:$e},{id:"circle-shape-diamond-dots-square-corners",name:"Circle Diamond Dots Square Corners",options:At},{id:"circle-shape-random-dot-dots-dot-corners",name:"Circle Random Dots",options:et},{id:"circle-shape-dot-dots-outpoint-corners",name:"Circle Dots Outpoint Corners",options:tt},{id:"circle-shape-dot-dots-inpoint-corners",name:"Circle Dots Inpoint Corners",options:it},{id:"circle-shape-rounded-dots-outpoint-corners",name:"Circle Rounded Dots Outpoint Corners",options:ot},{id:"circle-shape-rounded-dots-inpoint-corners",name:"Circle Rounded Dots Inpoint Corners",options:nt},{id:"circle-shape-classy-dots-outpoint-corners",name:"Circle Classy Dots Outpoint Corners",options:rt},{id:"circle-shape-classy-dots-inpoint-corners",name:"Circle Classy Dots Inpoint Corners",options:st},{id:"circle-shape-square-dots-outpoint-corners",name:"Circle Square Dots Outpoint Corners",options:gt},{id:"circle-shape-square-dots-inpoint-corners",name:"Circle Square Dots Inpoint Corners",options:It},{id:"circle-shape-dot-dots-rounded-corners",name:"Circle Dots Rounded Corners",options:Bt},{id:"circle-shape-dot-dots-classy-corners",name:"Circle Dots Classy Corners",options:Ct},{id:"circle-shape-rounded-dots-square-corners",name:"Circle Rounded Dots Square Corners",options:lt},{id:"circle-shape-rounded-dots-classy-corners",name:"Circle Rounded Dots Classy Corners",options:Qt},{id:"circle-shape-classy-dots-square-corners",name:"Circle Classy Dots Square Corners",options:Et},{id:"circle-shape-classy-dots-rounded-corners",name:"Circle Classy Dots Rounded Corners",options:ht},{id:"circle-shape-square-dots-dot-corners",name:"Circle Square Dots Dot Corners",options:ct},{id:"circle-shape-square-dots-rounded-corners",name:"Circle Square Dots Rounded Corners",options:dt},{id:"circle-shape-square-dots-classy-corners",name:"Circle Square Dots Classy Corners",options:ut},{id:"circle-shape-extra-rounded-dots-dot-corners",name:"Circle Extra Rounded Dots Dot Corners",options:pt},{id:"circle-shape-extra-rounded-dots-classy-corners",name:"Circle Extra Rounded Dots Classy Corners",options:mt},{id:"circle-shape-classy-rounded-dots-dot-corners",name:"Circle Classy Rounded Dots Dot Corners",options:ft},{id:"circle-shape-classy-rounded-dots-square-corners",name:"Circle Classy Rounded Dots Square Corners",options:yt},{id:"circle-shape-vertical-line-dots-square-corners",name:"Circle Vertical Lines Square Corners",options:wt},{id:"circle-shape-horizontal-line-dots-square-corners",name:"Circle Horizontal Lines Square Corners",options:Dt},{id:"circle-shape-horizontal-line-dots-classy-corners",name:"Circle Horizontal Lines Classy Corners",options:St},{id:"circle-shape-small-square-dots-dot-corners",name:"Circle Small Square Dots Dot Corners",options:Ft},{id:"circle-shape-small-square-dots-rounded-corners",name:"Circle Small Square Dots Rounded Corners",options:Rt},{id:"circle-shape-tiny-square-dots-dot-corners",name:"Circle Tiny Square Dots Dot Corners",options:kt},{id:"circle-shape-tiny-square-dots-square-corners",name:"Circle Tiny Square Dots Square Corners",options:bt},{id:"circle-shape-star-dots-dot-corners",name:"Circle Star Dots Dot Corners",options:Ut},{id:"circle-shape-star-dots-square-corners",name:"Circle Star Dots Square Corners",options:Nt},{id:"circle-shape-plus-dots-dot-corners",name:"Circle Plus Dots Dot Corners",options:Yt},{id:"circle-shape-plus-dots-square-corners",name:"Circle Plus Dots Square Corners",options:Jt},{id:"circle-shape-diamond-dots-dot-corners",name:"Circle Diamond Dots Dot Corners",options:Gt},{id:"circle-shape-diamond-dots-classy-corners",name:"Circle Diamond Dots Classy Corners",options:Vt},{id:"circle-shape-random-dot-dots-square-corners",name:"Circle Random Dots Square Corners",options:Zt},{id:"circle-shape-random-dot-dots-classy-corners",name:"Circle Random Dots Classy Corners",options:Ot},{id:"circle-shape-dot-dots-square-corners-dot-corners",name:"Circle Dots Square/Dot Corners",options:Wt},{id:"circle-shape-dot-dots-dot-corners-square-corners",name:"Circle Dots Dot/Square Corners",options:Mt},{id:"circle-shape-rounded-dots-square-corners-dot-corners",name:"Circle Rounded Dots Square/Dot Corners",options:Ht},{id:"circle-shape-rounded-dots-dot-corners-square-corners",name:"Circle Rounded Dots Dot/Square Corners",options:Tt},{id:"circle-shape-classy-dots-square-corners-dot-corners",name:"Circle Classy Dots Square/Dot Corners",options:Xt},{id:"circle-shape-classy-dots-dot-corners-square-corners",name:"Circle Classy Dots Dot/Square Corners",options:xt},{id:"circle-shape-square-dots-rounded-corners-dot-corners",name:"Circle Square Dots Rounded/Dot Corners",options:Lt},{id:"circle-shape-square-dots-dot-corners-rounded-corners",name:"Circle Square Dots Dot/Rounded Corners",options:Kt},{id:"circle-shape-dot-dots-classy-corners-dot-corners",name:"Circle Dots Classy/Dot Corners",options:qt},{id:"circle-shape-dot-dots-dot-corners-classy-corners",name:"Circle Dots Dot/Classy Corners",options:jt}];function Pt(A){return vt.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function zt(A){return vt.find((e=>e.id===A))}zt("base");const _t=A=>"number"==typeof A&&!isNaN(A)&&isFinite(A),$t=(A,e)=>{const t=[];return Object.values(T).includes(A.type)||t.push({path:`${e}.type`,message:`Invalid gradient type. Must be one of: ${Object.values(T).join(", ")}`,value:A.type}),void 0===A.rotation||_t(A.rotation)||t.push({path:`${e}.rotation`,message:"Rotation must be a valid number",value:A.rotation}),!A.colorStops||!Array.isArray(A.colorStops)||A.colorStops.length<2?t.push({path:`${e}.colorStops`,message:"Gradient must have at least 2 color stops",value:A.colorStops}):A.colorStops.forEach(((A,i)=>{var o,n;(!_t(A.offset)||A.offset<0||A.offset>1)&&t.push({path:`${e}.colorStops[${i}].offset`,message:"Color stop offset must be between 0 and 1",value:A.offset}),o=A.color,new Set(["black","white","red","green","blue","yellow","purple","gray","grey","cyan","magenta","lime","pink","teal","brown","orange"]).has(o.toLowerCase())||/^#([A-Fa-f0-9]{3}){1,2}$/.test(o)||/^#([A-Fa-f0-9]{4}){1,2}$/.test(o)||(/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.test(o)||/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([01]?\.?\d*)\)$/.test(o))&&((null===(n=o.match(/\d+/g))||void 0===n?void 0:n.map(Number))||[]).every((A=>A>=0&&A<=255))||t.push({path:`${e}.colorStops[${i}].color`,message:"Invalid color format",value:A.color})})),t};function Ai(A){const e=[];let t={...UA};if(A.data&&"string"==typeof A.data||e.push({path:"data",message:"QR data is required and must be a string",value:A.data}),A.shape&&!Object.values(q).includes(A.shape)&&(e.push({path:"shape",message:`Invalid shape type. Must be one of: ${Object.values(q).join(", ")}`,value:A.shape}),A.shape=UA.shape),A.qrOptions){var i,o,n;if(A.qrOptions.typeNumber&&!Object.values(h).includes(A.qrOptions.typeNumber))e.push({path:"qrOptions.typeNumber",message:"Invalid type number",value:A.qrOptions.typeNumber}),A.qrOptions.typeNumber=null===(i=UA.qrOptions)||void 0===i?void 0:i.typeNumber;if(A.qrOptions.errorCorrectionLevel&&!Object.values(c).includes(A.qrOptions.errorCorrectionLevel))e.push({path:"qrOptions.errorCorrectionLevel",message:"Invalid error correction level",value:A.qrOptions.errorCorrectionLevel}),A.qrOptions.errorCorrectionLevel=null===(o=UA.qrOptions)||void 0===o?void 0:o.errorCorrectionLevel;if(A.qrOptions.mode&&!Object.values(d).includes(A.qrOptions.mode))e.push({path:"qrOptions.mode",message:"Invalid mode",value:A.qrOptions.mode}),A.qrOptions.mode=null===(n=UA.qrOptions)||void 0===n?void 0:n.mode}if(A.imageOptions){var r,s,g;if(A.imageOptions.imageSize&&(!_t(A.imageOptions.imageSize)||A.imageOptions.imageSize<=0||A.imageOptions.imageSize>1))e.push({path:"imageOptions.imageSize",message:"Image size must be between 0 and 1",value:A.imageOptions.imageSize}),A.imageOptions.imageSize=null===(r=UA.imageOptions)||void 0===r?void 0:r.imageSize;if(A.imageOptions.margin&&(!_t(A.imageOptions.margin)||A.imageOptions.margin<0))e.push({path:"imageOptions.margin",message:"Margin must be a non-negative number",value:A.imageOptions.margin}),A.imageOptions.margin=null===(s=UA.imageOptions)||void 0===s?void 0:s.margin;if(A.imageOptions.mode&&!Object.values(j).includes(A.imageOptions.mode))e.push({path:"imageOptions.mode",message:`Invalid image mode. Must be one of: ${Object.values(j).join(", ")}`,value:A.imageOptions.mode}),A.imageOptions.mode=null===(g=UA.imageOptions)||void 0===g?void 0:g.mode}if(A.dotsOptions){var I,a;if(A.dotsOptions.type&&!Object.values(x).includes(A.dotsOptions.type))e.push({path:"dotsOptions.type",message:`Invalid dot type. Must be one of: ${Object.values(x).join(", ")}`,value:A.dotsOptions.type}),A.dotsOptions.type=null===(I=UA.dotsOptions)||void 0===I?void 0:I.type;if(A.dotsOptions.size&&(!_t(A.dotsOptions.size)||A.dotsOptions.size<=0))e.push({path:"dotsOptions.size",message:"Dot size must be a positive number",value:A.dotsOptions.size}),A.dotsOptions.size=null===(a=UA.dotsOptions)||void 0===a?void 0:a.size;A.dotsOptions.gradient&&e.push(...$t(A.dotsOptions.gradient,"dotsOptions.gradient"))}if(A.cornersSquareOptions){var B;if(A.cornersSquareOptions.type&&!Object.values(K).includes(A.cornersSquareOptions.type))e.push({path:"cornersSquareOptions.type",message:`Invalid corner square type. Must be one of: ${Object.values(K).join(", ")}`,value:A.cornersSquareOptions.type}),A.cornersSquareOptions.type=null===(B=UA.cornersSquareOptions)||void 0===B?void 0:B.type;A.cornersSquareOptions.gradient&&e.push(...$t(A.cornersSquareOptions.gradient,"cornersSquareOptions.gradient"))}if(A.cornersDotOptions){var C;if(A.cornersDotOptions.type&&!Object.values(L).includes(A.cornersDotOptions.type))e.push({path:"cornersDotOptions.type",message:`Invalid corner dot type. Must be one of: ${Object.values(L).join(", ")}`,value:A.cornersDotOptions.type}),A.cornersDotOptions.type=null===(C=UA.cornersDotOptions)||void 0===C?void 0:C.type;A.cornersDotOptions.gradient&&e.push(...$t(A.cornersDotOptions.gradient,"cornersDotOptions.gradient"))}return t={...t,...A},{warnings:e,validatedOptions:t}}const ei=/\.?0+$/;function ti(A){return A.toFixed(7).replace(ei,"")}function ii(A,...e){return A.reduce(((A,t,i)=>{let o="";return i&&(o=e[i-1]),"number"==typeof o&&(o=ti(o)),`${A}${o}${t}`}),"").trim().replace(/[\s\n\r]+/gim," ")}class oi{get element(){return this._element}constructor(A,e){this.type=A,this.document=e}draw(A){let e;switch(this.type){case L.square:e=this.drawSquare;break;case L.heart:e=this.drawHeart;break;case L.rounded:e=this.drawRounded;break;case L.classy:e=this.drawClassy;break;case L.inpoint:e=this.drawInpoint;break;case L.outpoint:e=this.drawOutpoint;break;case L.dot:default:e=this.drawDot}e.call(this,A)}rotateFigure({x:A,y:e,size:t,rotation:i=0,draw:o}){var n;const r=A+t/2,s=e+t/2;o(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${ti(180*i/Math.PI)},${r},${s})`)}basicDot(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",ti(t+e/2)),this._element.setAttribute("cy",ti(i+e/2)),this._element.setAttribute("r",ti(e/2.1))}})}basicSquare(A){const{size:e,x:t,y:i}=A,o=e/11;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",ti(t+o)),this._element.setAttribute("y",ti(i+o)),this._element.setAttribute("width",ti(e-2*o)),this._element.setAttribute("height",ti(e-2*o))}})}basicHeart(A){const{size:e,x:t,y:i}=A;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");let o=!1,n=0;this._element.setAttribute("d",["M",1,.3262506,"c",0,.0383376,-.0064626,.0758377,-.0193751,.1125001,"s",-.0356247,.076875,-.0681248,.1206252,"c",-.0325,.0437499,-.0762503,.0931247,-.1312501,.1481249,"C",.7262502,.7625008,.6566626,.8279132,.5724999,.9037505,"L",.5,.9687506,"L",.4275001,.9037505,"C",.3433374,.8279132,.2737499,.7625005,.21875,.7075007,"C",.1637501,.6525008,.1199999,.6031258,.0874999,.5593758,"S",.0322876,.4754133,.0193751,.4387506,"S",0,.3645881,0,.3262506,"c",0,-.0783374,.0262499,-.1437498,.07875,-.1962499,"s",.1179124,-.07875,.1962499,-.07875,"c",.0433376,0,.0845875,.0091625,.12375,.0274999,"S",.4716623,.1229131,.5,.1562506,"c",.0283374,-.0333375,.0620874,-.0591625,.1012502,-.0775,"c",.0391627,-.0183375,.0804126,-.0274999,.12375,-.0274999,"c",.0783374,0,.1437497,.0262499,.1962501,.07875,"S",1,.2479131,1,.3262506,"z"].map((A=>"string"==typeof A?(n=0,o=A.toUpperCase()==A,A):(n++,A*=e,o&&(A+=n%2==1?t:i),ti(A)))).join(" "))}basicRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",ti(t)),this._element.setAttribute("y",ti(i)),this._element.setAttribute("width",ti(e)),this._element.setAttribute("height",ti(e)),this._element.setAttribute("rx",ti(e/4)),this._element.setAttribute("ry",ti(e/4))}})}basicClassy(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${4.5*o} v ${-4.5*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} H ${t} z`)}})}basicInpoint(A){const{size:e,x:t,y:i}=A,o=e;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t} ${i+o/2} v ${o/4} a ${o/4}, ${o/4} 0 0 0 ${o/4}, ${o/4} h ${o/4*3} v ${-o/4*3} a ${o/4}, ${o/4} 0 0 0 ${-o/4}, ${-o/4} h ${-o/2} a ${o/4}, ${o/4} 0 0 0 ${-o/4}, ${o/4} z`)}})}drawDot({x:A,y:e,size:t,rotation:i}){this.basicDot({x:A,y:e,size:t,rotation:i})}drawSquare({x:A,y:e,size:t,rotation:i}){this.basicSquare({x:A,y:e,size:t,rotation:i})}drawHeart({x:A,y:e,size:t,rotation:i}){this.basicHeart({x:A,y:e,size:t,rotation:i})}drawRounded({x:A,y:e,size:t,rotation:i}){this.basicRounded({x:A,y:e,size:t,rotation:i})}drawClassy({x:A,y:e,size:t,rotation:i}){this.basicClassy({x:A,y:e,size:t,rotation:i})}drawInpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:i})}drawOutpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:(i||0)+Math.PI})}}class ni{get element(){return this._element}get fill(){return this._fill}constructor(A,e){this.type=A,this.document=e}draw(A){let e;switch(this.type){case K.square:e=this.drawSquare;break;case K.rounded:e=this.drawExtraRounded;break;case K.classy:e=this.drawClassy;break;case K.outpoint:e=this.drawOutpoint;break;case K.inpoint:e=this.drawInpoint;break;case K.dot:default:e=this.drawDot}e.call(this,A)}rotateFigure({x:A,y:e,size:t,rotation:i=0,draw:o}){var n,r;const s=A+t/2,g=e+t/2;o(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${ti(180*i/Math.PI)},${s},${g})`),null===(r=this._fill)||void 0===r||r.setAttribute("transform",`rotate(${ti(180*i/Math.PI)},${s},${g})`)}basicDot(A){const{size:e,x:t,y:i}=A,o=e/8,n=.5*e,r=n-o;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t+e/2} ${i+(e/2-n)} a ${n} ${n} 0 1 0 0.1 0 z m 0 ${o} a ${r} ${r} 0 1 1 -0.1 0 Z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",ii`M ${t+e/2} ${i+(e/2-(n+o))} a ${n+o} ${n+o} 0 1 0 0.1 0 z`)}})}basicSquare(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t} ${i} v ${e} h ${e} v ${-e} z M ${t+o} ${i+o} h ${e-2*o} v ${e-2*o} h ${2*o-e} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",ii`M ${t-o} ${i-o} h ${e+2*o} v ${e+2*o} h ${-e-2*o} z`)}})}basicExtraRounded(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*-o} v ${-2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*o} z M ${t+2.5*o} ${i+o} h ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*o} v ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*o} h ${-2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*-o} v ${-2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*-o} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",ii`M ${t-o} ${i+2.5*o} v ${2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*o} ${3.5*o} h ${2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*o} ${3.5*-o} v ${-2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*-o} ${3.5*-o} h ${-2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*-o} ${3.5*o} z`)}})}basicClassy(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${4.5*o} v ${-4.5*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} H ${t} z M ${t+2.5*o} ${i+o} h ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*o} v ${3.5*o} h ${-3.5*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*-o} v ${-3.5*o} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",ii`M ${t+.5*o} ${i-o} h ${4*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*o} ${3.5*o} v ${5.5*o} h ${-5.5*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*-o} ${3.5*-o} v ${-5.5*o} z`)}})}basicInpoint(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${4.5*o} v ${-4.5*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*o} z M ${t+2.5*o} ${i+o} h ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*o} v ${3.5*o} h ${-3.5*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*-o} v ${-2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*-o} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",ii`M ${t+.5*o} ${i-o} h ${4*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*o} ${3.5*o} v ${5.5*o} h ${-5.5*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*-o} ${3.5*-o} v ${-2*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*o} ${3.5*-o} z`)}})}drawDot({x:A,y:e,size:t,rotation:i}){this.basicDot({x:A,y:e,size:t,rotation:i})}drawSquare({x:A,y:e,size:t,rotation:i}){this.basicSquare({x:A,y:e,size:t,rotation:i})}drawExtraRounded({x:A,y:e,size:t,rotation:i}){this.basicExtraRounded({x:A,y:e,size:t,rotation:i})}drawClassy({x:A,y:e,size:t,rotation:i}){this.basicClassy({x:A,y:e,size:t,rotation:i})}drawInpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:i})}drawOutpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:(i||0)+Math.PI})}}class ri{get element(){return this._element}constructor(A,e){this.type=A,this.document=e}draw(A){let e;switch(this.type){case x.dot:e=this.drawDot;break;case x.randomDot:e=this.drawRandomDot;break;case x.classy:e=this.drawClassy;break;case x.classyRounded:e=this.drawClassyRounded;break;case x.rounded:e=this.drawRounded;break;case x.verticalLine:e=this.drawVerticalLine;break;case x.horizontalLine:e=this.drawHorizontalLine;break;case x.extraRounded:e=this.drawExtraRounded;break;case x.diamond:e=this.drawDiamond;break;case x.smallSquare:e=this.drawSmallSquare;break;case x.tinySquare:e=this.drawTinySquare;break;case x.star:e=this.drawStar;break;case x.plus:e=this.drawPlus;break;case x.square:default:e=this.drawSquare}e.call(this,A)}rotateFigure({x:A,y:e,size:t,rotation:i=0,draw:o}){var n;const r=A+t/2,s=e+t/2;o(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${ti(180*i/Math.PI)},${r},${s})`)}basicDot(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",ti(t+e/2)),this._element.setAttribute("cy",ti(i+e/2)),this._element.setAttribute("r",ti(e/2))}})}basicSquare(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",ti(t)),this._element.setAttribute("y",ti(i)),this._element.setAttribute("width",ti(e)),this._element.setAttribute("height",ti(e))}})}basicSideRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",ii`M ${t} ${i} v ${e} h ${e/2} a ${e/2} ${e/2}, 0, 0, 0, 0 ${-e} z`)}})}basicCornerRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",ii`M ${t} ${i} v ${e} h ${e} v ${-e/2} a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2} z`)}})}basicCornerExtraRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",ii`M ${t} ${i} v ${e} h ${e} a ${e} ${e}, 0, 0, 0, ${-e} ${-e} z`)}})}basicCornersRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",ii`M ${t} ${i} v ${e/2} a ${e/2} ${e/2}, 0, 0, 0, ${e/2} ${e/2} h ${e/2} v ${-e/2} a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2} z`)}})}drawDot({x:A,y:e,size:t}){this.basicDot({x:A,y:e,size:t,rotation:0})}drawRandomDot({x:A,y:e,size:t}){const i=.25*Math.random()+.75;this.basicDot({x:A,y:e,size:t*i,rotation:0})}drawSquare({x:A,y:e,size:t}){this.basicSquare({x:A,y:e,size:t,rotation:0})}drawSmallSquare({x:A,y:e,size:t}){const i=t;t=.7*i,A+=.15*i,e+=.15*i,this.basicSquare({x:A,y:e,size:t,rotation:0})}drawTinySquare({x:A,y:e,size:t}){const i=t;t=.6*i,A+=.35*i,e+=.35*i,this.basicSquare({x:A,y:e,size:t,rotation:0})}drawDiamond({x:A,y:e,size:t}){this.basicSquare({x:A,y:e,size:t,rotation:Math.PI/4})}drawRounded({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,r=i?+i(0,-1):0,s=i?+i(0,1):0,g=o+n+r+s;if(0!==g)if(g>2||o&&n||r&&s)this.basicSquare({x:A,y:e,size:t,rotation:0});else{if(2===g){let i=0;return o&&r?i=Math.PI/2:r&&n?i=Math.PI:n&&s&&(i=-Math.PI/2),void this.basicCornerRounded({x:A,y:e,size:t,rotation:i})}if(1===g){let i=0;return r?i=Math.PI/2:n?i=Math.PI:s&&(i=-Math.PI/2),void this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}else this.basicDot({x:A,y:e,size:t,rotation:0})}drawVerticalLine({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,r=i?+i(0,-1):0,s=i?+i(0,1):0;if(0===o+n+r+s||o&&!r&&!s||n&&!r&&!s)this.basicDot({x:A,y:e,size:t,rotation:0});else if(r&&s)this.basicSquare({x:A,y:e,size:t,rotation:0});else if(!r||s)if(!s||r);else{const i=-Math.PI/2;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}else{const i=Math.PI/2;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}drawHorizontalLine({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,r=i?+i(0,-1):0,s=i?+i(0,1):0;if(0===o+n+r+s||r&&!o&&!n||s&&!o&&!n)this.basicDot({x:A,y:e,size:t,rotation:0});else if(o&&n)this.basicSquare({x:A,y:e,size:t,rotation:0});else if(!o||n)if(!n||o);else{const i=Math.PI;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}else{const i=0;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}drawExtraRounded({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,r=i?+i(0,-1):0,s=i?+i(0,1):0,g=o+n+r+s;if(0!==g)if(g>2||o&&n||r&&s)this.basicSquare({x:A,y:e,size:t,rotation:0});else{if(2===g){let i=0;return o&&r?i=Math.PI/2:r&&n?i=Math.PI:n&&s&&(i=-Math.PI/2),void this.basicCornerExtraRounded({x:A,y:e,size:t,rotation:i})}if(1===g){let i=0;return r?i=Math.PI/2:n?i=Math.PI:s&&(i=-Math.PI/2),void this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}else this.basicDot({x:A,y:e,size:t,rotation:0})}drawClassy({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,r=i?+i(0,-1):0,s=i?+i(0,1):0;0!==o+n+r+s?o||r?n||s?this.basicSquare({x:A,y:e,size:t,rotation:0}):this.basicCornerRounded({x:A,y:e,size:t,rotation:Math.PI/2}):this.basicCornerRounded({x:A,y:e,size:t,rotation:-Math.PI/2}):this.basicCornersRounded({x:A,y:e,size:t,rotation:Math.PI/2})}drawClassyRounded({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,r=i?+i(0,-1):0,s=i?+i(0,1):0;0!==o+n+r+s?o||r?n||s?this.basicSquare({x:A,y:e,size:t,rotation:0}):this.basicCornerExtraRounded({x:A,y:e,size:t,rotation:Math.PI/2}):this.basicCornerExtraRounded({x:A,y:e,size:t,rotation:-Math.PI/2}):this.basicCornersRounded({x:A,y:e,size:t,rotation:Math.PI/2})}drawStar({x:A,y:e,size:t}){this.rotateFigure({x:A,y:e,size:t,rotation:0,draw:()=>{var i;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const o=A+t/2,n=e+t/2,r=1.3*t/2,s=.5*r;let g="";for(let A=0;A<10;A++){const e=A*Math.PI/5-Math.PI/2,t=A%2==0?r:s;g+=(0===A?"M":"L")+`${o+t*Math.cos(e)},${n+t*Math.sin(e)}`}g+="Z",null===(i=this._element)||void 0===i||i.setAttribute("d",g)}})}drawPlus({x:A,y:e,size:t}){this.rotateFigure({x:A,y:e,size:t,rotation:0,draw:()=>{var i;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const o=.35*t,n=.85*t,r=(t-n)/2,s=o/2,g=[`M ${A+t/2-s} ${e+r}`,`h ${o}`,`v ${n}`,"h "+-o,"z",`M ${A+r} ${e+t/2-s}`,`h ${n}`,`v ${o}`,"h "+-n,"z"].join(" ");null===(i=this._element)||void 0===i||i.setAttribute("d",g)}})}}const si={toDataURL:A=>"string"==typeof A&&A.startsWith("data:")?Promise.resolve(A):new Promise(((e,t)=>{if("string"==typeof A){const i=new XMLHttpRequest,o=()=>{i.abort()};i.onload=()=>{if(i.status<200||i.status>=300)return o(),void t(new Error(`Failed to load image: ${i.statusText}`));const A=new FileReader;A.onloadend=()=>{o(),e(A.result)},A.onerror=()=>{o(),t(new Error("Failed to read image blob"))},A.readAsDataURL(i.response)},i.onerror=i.ontimeout=i.onabort=()=>{o(),t(new Error("Image load aborted or failed"))};try{i.open("GET",A,!0),i.responseType="blob",i.timeout=1e4,i.send()}catch(A){o(),t(A)}}else{const i=new FileReader;i.onloadend=()=>{e(i.result)},i.onerror=()=>{t(new Error("Failed to read local image"))},i.readAsDataURL(A)}})).catch((A=>(console.error("Image loading error:",A),"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjY2NjIi8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiMwMDAiIGZvbnQtc2l6ZT0iMTYiPkxvZ28gbG9hZCBlcnJvcjwvdGV4dD48L3N2Zz4="))),getSize:(A,e)=>new Promise(((t,i)=>{const o=new Image,n=setTimeout((()=>{i(new Error("Image loading timed out"))}),15e3);"string"==typeof e&&(o.crossOrigin=e);const r=()=>{clearTimeout(n),o.onload=o.onerror=o.onabort=null,o.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="};o.onload=()=>{r(),t({width:o.width,height:o.height})},o.onerror=o.onabort=()=>{r(),i(new Error("Failed to load image"))};try{"string"==typeof A?o.src=A:si.toDataURL(A).then((A=>{A?o.src=A:i(new Error("Invalid image source"))})).catch(i)}catch(A){r(),i(A)}})).catch((A=>(console.warn("[QRCodeJs] Image size detection error:",A),{width:200,height:200})))};function gi(A){let e,t=[],i=1;if("#"===(A=A.toLowerCase())[0]){const e=A.slice(1),o=e.length;o<=4?(t=[parseInt(e[0]+e[0],16),parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16)],4===o&&(i=parseInt(e[3]+e[3],16)/255)):(t=[parseInt(e[0]+e[1],16),parseInt(e[2]+e[3],16),parseInt(e[4]+e[5],16)],8===o&&(i=parseInt(e[6]+e[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0)}else{if(!(e=/^((?:rgba?))\s*\(([^)]*)\)/.exec(A)))return{value:A,alpha:i};{const A=3;t=e[2].trim().split(/\s*[,/]\s*|\s+/),t=t.map(((A,e)=>{if("%"===A[A.length-1]){const t=parseFloat(A)/100;return 3===e?t:255*t}return"none"===A?0:parseFloat(A)})),i=t.length>A?t.pop():1}}return{value:"#"+t.map((A=>Math.max(0,Math.min(255,A)).toString(16).padStart(2,"0"))).join(""),alpha:Math.max(0,Math.min(1,i))}}const Ii="https://api.qr-platform.com",ai="undefined"!=typeof window&&void 0!==window.document,Bi="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,Ci="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent;let li;async function Qi(A,e){if(A.startsWith("data:"))return Promise.resolve(A);try{const t={method:"GET",mode:"cors"};"anonymous"!==e&&"use-credentials"!==e||(t.credentials="use-credentials"===e?"include":"omit");const i=await fetch(A,t);if(!i.ok)return console.warn(`[QRCodeJs] Failed to fetch image directly: ${i.status} ${i.statusText}`),null;if(ai){const A=await i.blob();return A.type.startsWith("image/")?new Promise(((e,t)=>{const i=new FileReader;i.onloadend=()=>e(i.result),i.onerror=A=>{console.warn("[QRCodeJs] FileReader error:",A),t(new Error("Failed to read image blob"))},i.readAsDataURL(A)})):(console.warn(`[QRCodeJs] Fetched resource is not an image: ${A.type}`),null)}if(Bi||Ci){const A=i.headers.get("content-type");if(!A||!A.startsWith("image/"))return console.warn(`[QRCodeJs] Fetched resource is not an image or content-type missing: ${A}`),null;const e=await i.arrayBuffer();let t="";if(Bi){const A=await async function(){if(li)return li;if(Bi)try{const A=await Promise.resolve().then((function(){return rn}));li=A.Buffer}catch(A){console.error("[QRCodeJs] Failed to dynamically import 'buffer' in Node.js:",A),li=void 0}return li}();if(!A)return console.error("[QRCodeJs] Buffer module not loaded in Node.js environment."),null;t=A.from(e).toString("base64")}else if(t=function(A){let e="";const t=new Uint8Array(A),i=t.byteLength;for(let A=0;A<i;A++)e+=String.fromCharCode(t[A]);return"undefined"!=typeof btoa?btoa(e):""}(e),!t)return console.warn("[QRCodeJs] Failed to convert ArrayBuffer to Base64 in Worker."),null;return`data:${A};base64,${t}`}return console.warn("[QRCodeJs] Unknown environment, cannot convert image to Data URL."),null}catch(A){return console.warn("[QRCodeJs] Error fetching image directly:",A),null}}async function Ei(A){const e=encodeURIComponent(A),t=`${Ii}/v1/utils/get-dataurl?url=${e}`;try{const A=await fetch(t,{method:"GET",headers:{"x-client-name":"QRCode.js"},mode:"cors"});if(!A.ok)return console.warn(`[QRCodeJs] Failed to fetch image via proxy: ${A.status} ${A.statusText}`),null;const e=await A.json();return e&&"string"==typeof e.dataUrl&&e.dataUrl.startsWith("data:image/")?e.dataUrl:(console.warn("[QRCodeJs] Proxy response did not contain a valid dataUrl:",e),null)}catch(A){return console.warn("[QRCodeJs] Error fetching image via proxy:",A),null}}const hi=[[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],ci=[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]];class di{constructor(A){var e,t,i,o,n,r,s,g,I,a,B;this.roundValue=A=>"number"==typeof A?A:parseInt(A.replace("%",""),10)/100;const C=A.margin||0,l="circle"===A.shape?.1:.3,{bordersMain:Q,bordersOuter:E,bordersInner:h}=A,c=Math.min(A.width,A.height),d=b(null===(e=A.borderOptions)||void 0===e?void 0:e.radius),u=b(null===(t=A.borderOptions)||void 0===t||null===(t=t.inner)||void 0===t?void 0:t.radius,d),p=d&&k(d)>0?k(d)/100*c:0,m=d&&k(u)>0?k(u)/100*c:0,f=null!=m?m:p,y=f>0&&null!==(i=A.borderOptions)&&void 0!==i&&i.hasBorder?f*l:0;this._hls=A.hls,this.finalWidth=A.width+Q.left+Q.right+E.left+E.right+h.left+h.right,this.finalHeight=A.height+Q.top+Q.bottom+E.top+E.bottom+h.top+h.bottom;const w=Q.left+Q.right+E.left+E.right+h.left+h.right,D=Q.top+Q.bottom+E.top+E.bottom+h.top+h.bottom,S=null!==(o=A.borderOptions)&&void 0!==o&&o.hasBorder?this.finalWidth-w-2*E.left-2*h.left-h.right-2*C-y:this.finalWidth-2*C,F=null!==(n=A.borderOptions)&&void 0!==n&&n.hasBorder?this.finalHeight-D-2*E.top-2*h.top-h.top-2*C-y:this.finalHeight-2*C,R=S/A.width,U=F/A.height,N=Math.min(R,U),Y=Math.min(Math.max(null!==(r=A.scale)&&void 0!==r?r:1,0),1.5),V=Math.min(Math.max(null!==(s=null===(g=A.borderOptions)||void 0===g||null===(g=g.inner)||void 0===g?void 0:g.scale)&&void 0!==s?s:1,0),1.5),Z=(null===(I=A.borderOptions)||void 0===I||null===(I=I.inner)||void 0===I?void 0:I.horizontalOffset)||0,O=(null===(a=A.borderOptions)||void 0===a||null===(a=a.inner)||void 0===a?void 0:a.verticalOffset)||0;A.scale=N*Y*V||1,this.options=A,this.document=A.document,this.imageTools=A.imageTools||si,this._element=this.document.createElementNS("http://www.w3.org/2000/svg","svg");const W=ti(A.width),M=ti(A.height);A.isResponsive||(this._element.setAttribute("width",W),this._element.setAttribute("height",M)),this._element.setAttribute("viewBox",`0 0 ${W} ${M}`),this.defs=this.document.createElementNS("http://www.w3.org/2000/svg","defs"),this._element.appendChild(this.defs),this._innerQrGroup=this.document.createElementNS("http://www.w3.org/2000/svg","g");let H=(S-A.width*A.scale)/2+C-Z+y/2,T=(F-A.height*A.scale)/2+C-O+y/2;if(null!==(B=A.borderOptions)&&void 0!==B&&B.hasBorder){var X,x;const e={top:J(A.borderOptions,"top"),right:J(A.borderOptions,"right"),bottom:G(A.borderOptions,"bottom",this._hls),left:J(A.borderOptions,"left")},t=A.borderOptions.thickness||0,i=(null===(X=A.borderOptions.borderOuter)||void 0===X?void 0:X.thickness)||0,o=(null===(x=A.borderOptions.borderInner)||void 0===x?void 0:x.thickness)||0,n=A.borderOptions.noBorderThickness||t/4;T+=((e.top?t:n)-(e.bottom?t:n))/2+i+o+o/2,H+=((e.left?t:n)-(e.right?t:n))/2+i+o+o/2}A.verticalOffset&&(T-=A.verticalOffset),A.horizontalOffset&&(H-=A.horizontalOffset),this._instanceId=di.instanceCount++,1===A.scale&&0===H&&0===T||this._innerQrGroup.setAttribute("transform",`translate(${H}, ${T}) scale(${A.scale})`),this._maskedQrGroup=this.document.createElementNS("http://www.w3.org/2000/svg","g"),this._maskedQrGroup.setAttribute("mask",`url(#qr-mask-${this._instanceId})`),this._maskedQrGroup.appendChild(this._innerQrGroup),this._element.appendChild(this._maskedQrGroup)}get element(){return this._element}get qrGroup(){return this._innerQrGroup||this._element}get width(){return this.finalWidth}get height(){return this.finalHeight}get svgSize(){return{width:this.options.width,height:this.options.height}}getElement(){return this._element}async drawQR(A){var e;const t=A.getModuleCount(),i=parseInt(((t-17)/4).toFixed(0),10),o=this.options.dotsOptions.size;let n={hideXDots:0,hideYDots:0,width:0,height:0};if(this.qr=A,null!==(e=this.options.borderOptions)&&void 0!==e&&e.hasBorder||this.drawBackground(),this.options.image){const A=await this.imageTools.getSize(this.options.image,this.options.imageOptions.crossOrigin),{imageOptions:e}=this.options;if(this.options.imageOptions.mode==j.background){const t=0,i=(this.finalWidth-2*t*o)*e.imageSize,r=(this.finalHeight-2*t*o)*e.imageSize;let{width:s,height:g}=A;g=g/s*i,s=i,g>r&&(s=s/g*r,g=r),n={hideXDots:0,hideYDots:0,width:s,height:g}}else{const e=this.options.imageOptions.imageSize*this.options.errorCorrectionPercent,r=Q.getPatternPosition(i),s=Math.floor(e*(t*t-192-2*(t-16)-r.length**2*25));n=function({originalHeight:A,originalWidth:e,maxHiddenDots:t,maxHiddenAxisDots:i,dotSize:o,margin:n}){const r={x:0,y:0},s={x:0,y:0};if(A<=0||e<=0||t<=0||o<=0||4*n**2>t)return{height:0,width:0,hideYDots:0,hideXDots:0};i&&i%2==0&&(i=Math.max(1,i-1));const g=Math.max(e,A),I=Math.min(e,A);let a=0,B=(i||t)-2*n;do{const A=a+(B-a)/2;let e=Math.max(1,Math.ceil(A+2*n));e%2==0&&e++;let i=Math.max(1,Math.ceil(A*I/g+2*n));i%2==0&&i++,e*i>t?B=A:a=A}while(Math.abs(a-B)>.001);const C=a;let l=Math.max(1,Math.ceil(C+2*n));l%2==0&&l++;let Q=Math.max(1,Math.ceil(C*I/g+2*n));Q%2==0&&Q++,e>A?(r.x=l,r.y=Q):(r.x=Q,r.y=l);const E=(r.x-2*n)*o,h=(r.y-2*n)*o;return s.x=E,s.y=E*A/e,s.y>h&&(s.y=h,s.x=h*e/A),{height:Math.round(s.y+2*n*o),width:Math.round(s.x+2*n*o),hideYDots:r.y,hideXDots:r.x}}({originalWidth:A.width,originalHeight:A.height,maxHiddenDots:s,maxHiddenAxisDots:t-14,dotSize:o,margin:this.options.imageOptions.margin})}}var r;this.options.imageOptions.mode!=j.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:o,radius:null===(r=this.options.imageOptions)||void 0===r?void 0:r.radius});this.drawDots(((A,e)=>!(this.options.imageOptions.mode==j.center&&A>=(t-n.hideXDots)/2&&A<(t+n.hideXDots)/2&&e>=(t-n.hideYDots)/2&&e<(t+n.hideYDots)/2)&&!(A<8&&e<8||A>=t-8&&e<8||e>=t-8&&A<8))),this.options.imageOptions.mode==j.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:o}),this.drawCorners()}drawBackground(){const A=this.options;if(this._element&&A.backgroundOptions){var e;const t=A.backgroundOptions.gradient,i=A.backgroundOptions.color;this.createColor({options:t,color:i,additionalRotation:0,x:0,y:0,height:A.height,width:A.width,name:`background-color-${this._instanceId}`});const o=Math.min(A.width,A.height),n=this.document.createElementNS("http://www.w3.org/2000/svg","rect");[this.backgroundMask,this.backgroundMaskGroup]=this.createMask(`mask-background-color-${this._instanceId}`),this.defs.appendChild(this.backgroundMask);const r=(null===(e=A.backgroundOptions)||void 0===e?void 0:e.round)||0,s=this.roundValue(r);n.setAttribute("x",ti((A.width-o)/2)),n.setAttribute("y",ti((A.height-o)/2)),n.setAttribute("width",ti(o)),n.setAttribute("height",ti(o)),n.setAttribute("rx",ti(o/2*s)),this.backgroundMaskGroup.appendChild(n)}}drawBackgroundForBorder(A,e){const t=this.options;if(t.backgroundOptions){const i=t.backgroundOptions.gradient,o=t.backgroundOptions.color||"#ffffff",n=Math.min(t.width,t.height)-2*A,r=(t.width-n)/2,s=(t.height-n)/2,g=e-A,I=this.createColor({options:i,borderOptions:t.borderOptions,color:o,additionalRotation:0,x:r,y:s,height:n,width:n,name:`background-color-${this._instanceId}`,returnSVGGroup:!0}),a=this.document.createElementNS("http://www.w3.org/2000/svg","rect");return[this.backgroundMask,this.backgroundMaskGroup]=this.createMask(`mask-background-color-${this._instanceId}`),this.defs.appendChild(this.backgroundMask),a.setAttribute("x",ti(r)),a.setAttribute("y",ti(s)),a.setAttribute("width",ti(n)),a.setAttribute("height",ti(n)),a.setAttribute("rx",ti(g)),this.backgroundMaskGroup.appendChild(a),I}}drawDots(A){var e;if(!this.qr)throw new Error("QR code is not defined");const t=this.options,i=this.qr.getModuleCount();if(i>t.width||i>t.height)throw new Error("The canvas is too small");const o=t.dotsOptions.size;let n=Math.min(t.width,t.height);t.imageOptions.mode==j.background&&(n-=2*o*(t.imageOptions.margin||0));const r=Math.floor((t.width-i*o)/2);let s=Math.floor((t.height-i*o)/2);if(t.offset){const A=(t.height-i*o)/2;s+=Math.min(Math.abs(t.offset),A)*Math.sign(t.offset)}let g=new ri(t.dotsOptions.type,this.document);const I=new ri(x.tinySquare,this.document),a=new ri(x.square,this.document);[this.dotsMask,this.dotsMaskGroup]=this.createMask(`mask-dot-color-${this._instanceId}`),this.defs.appendChild(this.dotsMask),t.imageOptions.mode==j.background&&([this.lightDotsMask,this.lightDotsMaskGroup]=this.createMask(`mask-light-dot-color-${this._instanceId}`),this.defs.appendChild(this.lightDotsMask));let B=0,C=i;t.shape===q.circle?(B=Math.floor((n/o-i-2)/2),C=i+2*B):t.imageOptions.mode==j.background&&(B=1,C=i+2*B);const l=r-B*o,E=s-B*o,h=l,c=E,d=i+2*B,u=new Array(C),p=Math.floor(C/2);for(let e=0;e<C;e++){u[e]=new Array(C);for(let o=0;o<C;o++)if(e>B-1&&e<C-B&&o>B-1&&o<C-B){const t=e-B,i=o-B;A&&!A(t,i)?u[e][o]=void 0:u[e][o]=!!this.qr.isDark(i,t)}else t.shape===q.circle&&Math.sqrt((e-p)*(e-p)+(o-p)*(o-p))>p?u[e][o]=void 0:u[e][o]=e!=B-1&&e!=C-B&&o!=B-1&&o!=C-B?this.qr.isDark(o-2*B<0?o:o>=i?o-2*B:o-B,e-2*B<0?e:e>=i?e-2*B:e-B):(o==B-1&&(e<B+8||e>C-B-9)||o==C-B&&e<B+8||e==B-1&&(o<B+8||o>C-B-9)||e==C-B&&o<B+8)&&void 0}const m=(i-17)/4,f=Q.getPatternPosition(m);for(let A=0;A<C;A++){const e=f.find((e=>A-B>e-3&&A-B<e+3));for(let t=0;t<C;t++){const i=f.find((A=>t-B>A-3&&t-B<A+3));null!=u[A][t]&&(this.lightDotsMask&&(g=e&&i&&(e!=f[0]&&i!=f[0]||i!=f[0]&&i!=f[f.length-1]||e!=f[0]&&e!=f[f.length-1])?a:I),u[A][t]?(g.draw({x:l+A*o,y:E+t*o,size:o,getNeighbor:(e,i)=>{var o;return!0===(null===(o=u[A+e])||void 0===o?void 0:o[t+i])}}),g.element&&this.dotsMaskGroup&&this.dotsMaskGroup.appendChild(g.element)):this.lightDotsMask&&(g.draw({x:l+A*o,y:E+t*o,size:o,getNeighbor:(e,i)=>{var o;return!1===(null===(o=u[A+e])||void 0===o?void 0:o[t+i])}}),g.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(g.element)))}}this.lightDotsMask&&this.createColor({color:t.imageOptions.backgroundColor,additionalRotation:0,x:h,y:c,height:d*o,width:d*o,name:`light-dot-color-${this._instanceId}`}),this.createColor({options:null===(e=t.dotsOptions)||void 0===e?void 0:e.gradient,color:t.dotsOptions.color,additionalRotation:0,x:h,y:c,height:d*o,width:d*o,name:`dot-color-${this._instanceId}`})}drawCorners(){if(!this.qr)throw new Error("QR code is not defined");const A=this.qrGroup,e=this.options;if(!A)throw new Error("Element code is not defined");const t=this.qr.getModuleCount(),i=e.dotsOptions.size,o=7*i,n=3*i,r=Math.floor((e.width-t*i)/2);let s=Math.floor((e.height-t*i)/2);if(e.offset){const A=(e.height-t*i)/2,o=Math.min(Math.abs(e.offset),A)*Math.sign(e.offset);s+=o}[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((([A,g,I])=>{var a,B,C,l,Q,E;const h=r+A*i*(t-7),c=s+g*i*(t-7);let d=this.dotsMask,u=this.dotsMaskGroup,p=this.dotsMask,m=this.dotsMaskGroup;var f,y,w,D;(null!==(a=e.cornersSquareOptions)&&void 0!==a&&a.gradient||null!==(B=e.cornersSquareOptions)&&void 0!==B&&B.color)&&([d,u]=this.createMask(`mask-corners-square-color-${A}-${g}-${this._instanceId}`),this.defs.appendChild(d),p=d,m=u,this.createColor({options:null===(f=e.cornersSquareOptions)||void 0===f?void 0:f.gradient,color:null===(y=e.cornersSquareOptions)||void 0===y?void 0:y.color,additionalRotation:I,x:h,y:c,height:o,width:o,name:`corners-square-color-${A}-${g}-${this._instanceId}`}));if(null!==(C=e.cornersSquareOptions)&&void 0!==C&&C.type){const A=new ni(e.cornersSquareOptions.type,this.document);A.draw({x:h,y:c,size:o,rotation:I}),A.element&&u&&u.appendChild(A.element),A.fill&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(A.fill)}else{const A=new ri(e.dotsOptions.type,this.document);for(let e=0;e<hi.length;e++)for(let t=0;t<hi[e].length;t++){var S,F;if(null!==(S=hi[e])&&void 0!==S&&S[t])A.draw({x:h+e*i,y:c+t*i,size:i,getNeighbor:(A,i)=>{var o;return!(null===(o=hi[e+A])||void 0===o||!o[t+i])}}),A.element&&u&&u.appendChild(A.element);else!this.lightDotsMask||null!==(F=ci[e])&&void 0!==F&&F[t]||(A.draw({x:h+e*i,y:c+t*i,size:i,getNeighbor:(A,i)=>{var o,n;return!(null!==(o=hi[e+A])&&void 0!==o&&o[t+i]||null!==(n=ci[e+A])&&void 0!==n&&n[t+i])}}),A.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(A.element))}if(this.lightDotsMask)for(let e=-1;e<8;e++)for(let t=-1;t<8;t++)-1!=e&&7!=e&&-1!=t&&7!=t||(A.draw({x:h+e*i,y:c+t*i,size:i,getNeighbor:(A,i)=>{const o=e+A,n=t+i;return o>=-1&&o<=7&&n>=-1&&n<=7&&(-1==o||7==o||-1==n||7==n)}}),A.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(A.element))}(null!==(l=e.cornersDotOptions)&&void 0!==l&&l.gradient||null!==(Q=e.cornersDotOptions)&&void 0!==Q&&Q.color)&&([p,m]=this.createMask(`mask-corners-dot-color-${A}-${g}-${this._instanceId}`),this.defs.appendChild(p),this.createColor({options:null===(w=e.cornersDotOptions)||void 0===w?void 0:w.gradient,color:null===(D=e.cornersDotOptions)||void 0===D?void 0:D.color,additionalRotation:I,x:h+2*i,y:c+2*i,height:n,width:n,name:`corners-dot-color-${A}-${g}-${this._instanceId}`}));if(null!==(E=e.cornersDotOptions)&&void 0!==E&&E.type){const A=new oi(e.cornersDotOptions.type,this.document);A.draw({x:h+2*i,y:c+2*i,size:n,rotation:I}),A.element&&m&&m.appendChild(A.element)}else{const A=new ri(e.dotsOptions.type,this.document);for(let e=0;e<ci.length;e++)for(let t=0;t<ci[e].length;t++){var R;null!==(R=ci[e])&&void 0!==R&&R[t]&&(A.draw({x:h+e*i,y:c+t*i,size:i,getNeighbor:(A,i)=>{var o;return!(null===(o=ci[e+A])||void 0===o||!o[t+i])}}),A.element&&m&&m.appendChild(A.element))}}}))}async drawImage({width:A,height:e,count:t,dotSize:i,radius:o}){var n;const r=this.options,s=Math.floor((r.width-t*i)/2);let g=Math.floor((r.height-t*i)/2);if(r.offset){const A=(r.height-t*i)/2;g+=Math.min(Math.abs(r.offset),A)*Math.sign(r.offset)}let I=r.imageOptions.margin*i;r.imageOptions.mode==j.background&&(I=0);const a=s+I+(t*i-A)/2,B=g+I+(t*i-e)/2,C=A-2*I,l=e-2*I;let Q=null;try{"string"==typeof r.image?Q=await Qi(r.image,r.imageOptions.crossOrigin):r.image&&(Q=await this.imageTools.toDataURL(r.image)),"string"!=typeof r.image||Q||(console.warn("Direct image fetch failed, attempting proxy..."),Q=await Ei(r.image))}catch(A){if(console.warn("[QRCodeJs] Error fetching image directly:",A),"string"==typeof r.image)try{console.warn("[QRCodeJs] Direct image fetch failed via error, attempting proxy..."),Q=await Ei(r.image)}catch(A){console.warn("[QRCodeJs] Failed to load image via proxy:",A)}}Q||(console.warn("[QRCodeJs] Failed to load image directly and via proxy. Using fallback SVG."),Q=di.FALLBACK_IMAGE_DATA_URL);let E=null;if(o){E=`clip-path-image-${this._instanceId}`;const A=this.document.createElementNS("http://www.w3.org/2000/svg","clipPath");A.setAttribute("id",E);const e=this.document.createElementNS("http://www.w3.org/2000/svg","rect");e.setAttribute("x",ti(a)),e.setAttribute("y",ti(B)),e.setAttribute("width",ti(C)),e.setAttribute("height",ti(l));const t="number"==typeof o?`${o}px`:o;e.setAttribute("rx",t),e.setAttribute("ry",t),A.appendChild(e),this.defs.appendChild(A)}if(r.imageOptions.backgroundColor){const A=this.document.createElementNS("http://www.w3.org/2000/svg","rect");A.setAttribute("x",ti(a)),A.setAttribute("y",ti(B)),A.setAttribute("width",ti(C)),A.setAttribute("height",ti(l)),E&&A.setAttribute("clip-path",`url(#${E})`);const e=gi(r.imageOptions.backgroundColor);A.setAttribute("fill",e.value),e.alpha<1&&A.setAttribute("opacity",e.alpha.toFixed(7)),this.qrGroup.appendChild(A)}const h=this.document.createElementNS("http://www.w3.org/2000/svg","image");if(h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",Q),h.setAttribute("x",ti(a)),h.setAttribute("y",ti(B)),h.setAttribute("id",`qr-image-${this._instanceId}`),h.setAttribute("width",`${ti(C)}px`),h.setAttribute("height",`${ti(l)}px`),h.setAttribute("preserveAspectRatio","xMidYMid meet"),null!==(n=r.imageOptions)&&void 0!==n&&n.padding){const A=r.imageOptions.padding;h.setAttribute("x",ti(a+A)),h.setAttribute("y",ti(B+A)),h.setAttribute("width",`${ti(C-2*A)}px`),h.setAttribute("height",`${ti(l-2*A)}px`)}E&&h.setAttribute("clip-path",`url(#${E})`),this.qrGroup.appendChild(h)}createColor({options:A,borderOptions:e,color:t,additionalRotation:i,x:o,y:n,height:r,width:s,name:g,returnSVGGroup:I=!1}){const a=s>r?s:r,B=this.document.createElementNS("http://www.w3.org/2000/svg","rect");if(B.setAttribute("x",ti(o)),B.setAttribute("y",ti(n)),B.setAttribute("height",ti(r)),B.setAttribute("width",ti(s)),B.setAttribute("style",`mask:url(#mask-${g}-${this._instanceId})`),A){let t;if(A.type===T.radial){t=this.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),t.setAttribute("id",g+"-"+this._instanceId),t.setAttribute("gradientUnits","userSpaceOnUse");let A=o+s/2,i=n+r/2;if(e){const t=e.thickness?e.thickness/2:0,g=2;J(e,"top")&&!G(e,"bottom",this._hls)?i=n+t*g+r/2:!J(e,"top")&&G(e,"bottom",this._hls)&&(i=n-t*g+r/2),J(e,"right")&&!J(e,"left")?A=o-t*g+s/2:!J(e,"right")&&J(e,"left")&&(A=o+t*g+s/2)}t.setAttribute("fx",ti(A)),t.setAttribute("fy",ti(i)),t.setAttribute("cx",ti(o+s/2)),t.setAttribute("cy",ti(n+r/2)),t.setAttribute("r",ti(a/2))}else{const e=((A.rotation||0)+i)%(2*Math.PI),I=(e+2*Math.PI)%(2*Math.PI);let a=o+s/2,B=n+r/2,C=o+s/2,l=n+r/2;I>=0&&I<=.25*Math.PI||I>1.75*Math.PI&&I<=2*Math.PI?(a-=s/2,B-=r/2*Math.tan(e),C+=s/2,l+=r/2*Math.tan(e)):I>.25*Math.PI&&I<=.75*Math.PI?(B-=r/2,a-=s/2/Math.tan(e),l+=r/2,C+=s/2/Math.tan(e)):I>.75*Math.PI&&I<=1.25*Math.PI?(a+=s/2,B+=r/2*Math.tan(e),C-=s/2,l-=r/2*Math.tan(e)):I>1.25*Math.PI&&I<=1.75*Math.PI&&(B+=r/2,a+=s/2/Math.tan(e),l-=r/2,C-=s/2/Math.tan(e)),t=this.document.createElementNS("http://www.w3.org/2000/svg","linearGradient"),t.setAttribute("id",g+"-"+this._instanceId),t.setAttribute("gradientUnits","userSpaceOnUse"),t.setAttribute("x1",ti(a)),t.setAttribute("y1",ti(B)),t.setAttribute("x2",ti(C)),t.setAttribute("y2",ti(l))}A.colorStops.forEach((A=>{const e=this.document.createElementNS("http://www.w3.org/2000/svg","stop");e.setAttribute("offset",`${ti(100*A.offset)}%`);const i=gi(A.color);e.setAttribute("stop-color",i.value),i.alpha<1&&e.setAttribute("stop-opacity",i.alpha.toFixed(7)),t.appendChild(e)})),B.setAttribute("fill",`url(#${g}-${this._instanceId})`),this.defs.appendChild(t)}else if(t){const A=gi(t);B.setAttribute("fill",A.value),A.alpha<1&&B.setAttribute("opacity",A.alpha.toFixed(7))}if(I)return B;g.startsWith("background-color")?this._element.insertBefore(B,this._maskedQrGroup):this.qrGroup.appendChild(B)}createMask(A){const e=`${A}-${this._instanceId}`,t=this.options,i=this.document.createElementNS("http://www.w3.org/2000/svg","mask");i.setAttribute("id",e),i.setAttribute("maskUnits","userSpaceOnUse"),i.setAttribute("x","0"),i.setAttribute("y","0"),i.setAttribute("width",ti(t.width)),i.setAttribute("height",ti(t.height));const o=this.document.createElementNS("http://www.w3.org/2000/svg","g");return o.setAttribute("fill","#fff"),i.appendChild(o),[i,o]}}di.instanceCount=0,di.FALLBACK_IMAGE_DATA_URL="data:image/png;base64,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";const ui=[{id:"classic-dark",name:"Classic Dark",style:{primaryColor:"#ffffff",secondaryColor:"#ffffff",thirdColor:"#bdc3c7",backgroundColor:"#052136",borderFontColor:"#2f2f33"}},{id:"modern-dark",name:"Modern Dark",style:{primaryColor:"#2ecc71",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#052136",borderColor:"#2c3e50",borderFontColor:"#f1c40f"}},{id:"blue-realism-dark",name:"Blue Realism Dark",style:{primaryColor:"#3498db",secondaryColor:"#2ecc71",thirdColor:"#8debb2",backgroundColor:"#052136",borderFontColor:"#8debb2"}},{id:"vibrant-dark",name:"Vibrant Dark",style:{primaryColor:"#f39c12",secondaryColor:"#9b59b6",thirdColor:"#1abc9c",backgroundColor:"#052136"}},{id:"neon-dark",name:"Neon Dark",style:{primaryColor:"#f1c40f",secondaryColor:"#e74c3c",thirdColor:"#3498db",backgroundColor:"#052136"}},{id:"sunset-dark",name:"Sunset Dark",style:{primaryColor:"#e67e22",secondaryColor:"#8e44ad",thirdColor:"#16a085",backgroundColor:"#052136"}},{id:"oceanic-dark",name:"Oceanic Dark",style:{primaryColor:"#3498db",secondaryColor:"#1abc9c",thirdColor:"#ecf0f1",backgroundColor:"#052136",borderFontColor:"#ecf0f1"}},{id:"bold-dark",name:"Bold Dark",style:{primaryColor:"#e74c3c",secondaryColor:"#9b59b6",thirdColor:"#2ecc71",backgroundColor:"#052136",borderColor:"#175782",borderFontColor:"#ecf0f1"}},{id:"twilight-dark",name:"Twilight Dark",style:{primaryColor:"#8e44ad",secondaryColor:"#f39c12",thirdColor:"#34db77",backgroundColor:"#052136",borderFontColor:"#34db77"}},{id:"coral-dark",name:"Coral Dark",style:{primaryColor:"#1abc9c",secondaryColor:"#e74c3c",thirdColor:"#f1c40f",backgroundColor:"#052136"}},{id:"midnight-sunset-dark",name:"Midnight Sunset Dark",style:{primaryColor:"#9b59b6",secondaryColor:"#f1c40f",thirdColor:"#1abc9c",backgroundColor:"#052136",borderFontColor:"#5ee9cd"}},{id:"citrus-dark",name:"Citrus Dark",style:{primaryColor:"#f39c12",secondaryColor:"#2ecc71",thirdColor:"#ecf0f1",backgroundColor:"#34495e",borderFontColor:"#ecf0f1"}},{id:"frost-fire-dark",name:"Frost Fire Dark",style:{primaryColor:"#3498db",secondaryColor:"#ecf0f1",thirdColor:"#e74c3c",backgroundColor:"#052136",borderFontColor:"#ecf0f1"}},{id:"turquoise-sun-dark",name:"Turquoise Sun Dark",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#2c3e50",borderFontColor:"#f1c40f"}},{id:"emerald-carrot-sky-dark",name:"Emerald Carrot Sky Dark",style:{primaryColor:"#00e676",secondaryColor:"#E67E22",thirdColor:"#0288d1",backgroundColor:"#052136",borderFontColor:"#ecf0f1"}},{id:"emerald-bloom-dark",name:"Emerald Bloom Dark",style:{primaryColor:"#2ecc71",secondaryColor:"#9b59b6",thirdColor:"#e74c3c",backgroundColor:"#052136",borderFontColor:"#2c3e50"}},{id:"green-sky-dark",name:"Green Sky Dark",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#052136",borderFontColor:"#f1c40f"}},{id:"blue-sky-dark",name:"Blue Sky Dark",style:{primaryColor:"#3498db",secondaryColor:"#2980b9",thirdColor:"#1abc9c",backgroundColor:"#052136"}}],pi=[{id:"classic",name:"Classic",style:{primaryColor:"#000000",secondaryColor:"#000000",thirdColor:"#757575",backgroundColor:"#ffffff"}},{id:"modern",name:"Modern",style:{primaryColor:"#4CAF50",secondaryColor:"#007fff",thirdColor:"#d81b60",backgroundColor:"#ffffff"}},{id:"rounded",name:"Rounded",style:{primaryColor:"#007bff",secondaryColor:"#4CAF50",thirdColor:"#d32f2f",backgroundColor:"#ffffff"}},{id:"vibrant",name:"Vibrant",style:{primaryColor:"#ff5722",secondaryColor:"#3f51b5",thirdColor:"#2e7d32",backgroundColor:"#ffffff"}},{id:"pastel",name:"Pastel",style:{primaryColor:"#f48fb1",secondaryColor:"#26C6DA",thirdColor:"#00695c",backgroundColor:"#f5f5f5",dotShape:x.dot,cornerSquareShape:K.square,cornerDotShape:L.square}},{id:"earthy",name:"Earthy",style:{primaryColor:"#795548",secondaryColor:"#4db6ac",thirdColor:"#8e24aa",backgroundColor:"#efebe9"}},{id:"sunset",name:"Sunset",style:{primaryColor:"#bf360c",secondaryColor:"#ab47bc",thirdColor:"#00796b",backgroundColor:"#fff3e0"}},{id:"oceanic",name:"Oceanic",style:{primaryColor:"#0288d1",secondaryColor:"#26a69a",thirdColor:"#6a1b9a",backgroundColor:"#e0f7fa"}},{id:"bold",name:"Bold",style:{primaryColor:"#d50000",secondaryColor:"#6200ea",thirdColor:"#388e3c",backgroundColor:"#fafafa"}},{id:"lime-glow",name:"Lime Glow",style:{primaryColor:"#afb42b",secondaryColor:"#536dfe",thirdColor:"#c62828",backgroundColor:"#fffde7"}},{id:"twilight",name:"Twilight",style:{primaryColor:"#4527a0",secondaryColor:"#d84315",thirdColor:"#00796b",backgroundColor:"#eceff1"}},{id:"meadow",name:"Meadow",style:{primaryColor:"#388e3c",secondaryColor:"#689f38",thirdColor:"#ad1457",backgroundColor:"#f1f8e9"}},{id:"coral",name:"Coral",style:{primaryColor:"#c2185b",secondaryColor:"#00838f",thirdColor:"#f57f17",backgroundColor:"#ffebee"}},{id:"blue-sky",name:"Blue Sky",style:{primaryColor:"#3498db",secondaryColor:"#2980b9",thirdColor:"#1abc9c",backgroundColor:"#ecf0f1",borderColor:"#3498db",borderInnerColor:"#1abc9c",borderOuterColor:"#2980b9",borderFontColor:"#ecf0f1"}},{id:"green-sky",name:"Green Sky",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#2c3e50",borderFontColor:"#ffffff"}},{id:"midnight-sunset",name:"Midnight Sunset",style:{primaryColor:"#5c6bc0",secondaryColor:"#fbc02d",thirdColor:"#00695c",backgroundColor:"#fff"}},{id:"citrus",name:"Citrus",style:{primaryColor:"#f57c00",secondaryColor:"#558b2f",thirdColor:"#6d4c41",backgroundColor:"#fff8e1"}},{id:"dusk",name:"Dusk",style:{primaryColor:"#6a1b9a",secondaryColor:"#e65100",thirdColor:"#2e7d32",backgroundColor:"#d7ccc8"}},{id:"frost",name:"Frost",style:{primaryColor:"#0277bd",secondaryColor:"#37474f",thirdColor:"#c2185b",backgroundColor:"#e1f5fe"}},{id:"autumn",name:"Autumn",style:{primaryColor:"#d84315",secondaryColor:"#827717",thirdColor:"#4a148c",backgroundColor:"#efebe9"}},{id:"turquoise-sun",name:"Turquoise Sun",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#ffffff"}},{id:"emerald-bloom",name:"Emerald Bloom",style:{primaryColor:"#2ecc71",secondaryColor:"#9b59b6",thirdColor:"#c0392b",backgroundColor:"#ecf0f1"}},{id:"sea-lilac",name:"Sea Lilac",style:{primaryColor:"#16a085",secondaryColor:"#8e44ad",thirdColor:"#95a5a6",backgroundColor:"#ecf0f1"}},{id:"belize-pumpkin",name:"Belize Pumpkin",style:{primaryColor:"#2980b9",secondaryColor:"#d35400",thirdColor:"#7f8c8d",backgroundColor:"#ecf0f1"}},{id:"midnight-glow",name:"Midnight Glow",style:{primaryColor:"#2c3e50",secondaryColor:"#f39c12",thirdColor:"#1abc9c",backgroundColor:"#ecf0f1"}},{id:"asphalt-emerald",name:"Asphalt Emerald",style:{primaryColor:"#34495e",secondaryColor:"#2ecc71",thirdColor:"#f39c12",backgroundColor:"#ffffff"}},{id:"wisteria-dusk",name:"Wisteria Dusk",style:{primaryColor:"#8e44ad",secondaryColor:"#2c3e50",thirdColor:"#27ae60",backgroundColor:"#ecf0f1"}},{id:"sunRiver",name:"Sun River",style:{primaryColor:"#f1c40f",secondaryColor:"#3498db",thirdColor:"#95a5a6",backgroundColor:"#ffffff"}},{id:"forest",name:"Forest",style:{primaryColor:"#1abc9c",secondaryColor:"#2ecc71",thirdColor:"#27ae60",backgroundColor:"#ecf0f1"}},{id:"cosmic",name:"Cosmic",style:{primaryColor:"#f1c40f",secondaryColor:"#1abc9c",thirdColor:"#e74c3c",backgroundColor:"#2c3e50"}},{id:"radiant",name:"Radiant",style:{primaryColor:"#e74c3c",secondaryColor:"#f1c40f",thirdColor:"#2ecc71",backgroundColor:"#ecf0f1"}},{id:"marine",name:"Marine",style:{primaryColor:"#3498db",secondaryColor:"#2980b9",thirdColor:"#16a085",backgroundColor:"#ecf0f1"}},{id:"inverse",name:"Inverse",style:{primaryColor:"#ecf0f1",secondaryColor:"#bdc3c7",thirdColor:"#95a5a6",backgroundColor:"#2c3e50"}},{id:"wet-carrot",name:"Wet Carrot",style:{primaryColor:"#34495e",secondaryColor:"#e67e22",thirdColor:"#e74c3c",backgroundColor:"#bdc3c7"}},{id:"pomegranate-sky",name:"Pomegranate Sky",style:{primaryColor:"#e74c3c",secondaryColor:"#3498db",thirdColor:"#9b59b6",backgroundColor:"#bdc3c7"}},...ui];function mi(A){return pi.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function fi(A){return pi.find((e=>e.id===A))}const yi={hasBorder:!0,thickness:30,radius:"0",borderOuter:{thickness:0},borderInner:{thickness:0},decorations:{top:{enableText:!1},bottom:{enableText:!1},left:{enableText:!1},right:{enableText:!1}}},wi={id:"square-border-thin",name:"Square Border (Thin)",options:{borderOptions:{...yi,thickness:40,radius:"10%",decorations:{top:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!0,style:{fontSize:21},value:"SCAN ME"},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!0}}}}},Di={id:"square-border-medium",name:"Square Border (Medium)",options:{borderOptions:{...yi,thickness:20,radius:"15%"}}},Si={id:"square-border-thick",name:"Square Border (Thick)",options:{borderOptions:{...yi,thickness:20,radius:"2%"}}},Fi={id:"rounded-border-thin-slight",name:"Rounded Border (Thin, Slight)",options:{borderOptions:{...yi,thickness:10,radius:"10%"}}},Ri={id:"rounded-border-medium-medium",name:"Rounded Border (Medium)",options:{margin:-6,shape:"circle",borderOptions:{...yi,thickness:12,radius:"35%"}}},ki={id:"rounded-border-thick-high",name:"Rounded Border (Thick, High)",options:{shape:"circle",borderOptions:{...yi,thickness:30,radius:"50"}}},bi={id:"rounded-border-thick-text",name:"Rounded Border (Thick, Text)",options:{shape:"circle",borderOptions:{...yi,thickness:50,borderOuter:{thickness:10},radius:"50%",decorations:{top:{enableText:!0,curveAdjustment:0,offset:4,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},bottom:{enableText:!0,offset:2,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Ui={id:"rounded-border-outside-top-bottom-text",name:"Rounded Border Outside (Top & Bottom Text)",options:{shape:"circle",margin:-16,borderOptions:{...yi,thickness:50,radius:"30",borderOuter:{thickness:10},borderInner:{thickness:6},decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,offset:4,curveDisabled:!0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},bottom:{enableText:!0,offset:-2,curveDisabled:!0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Ni={id:"rounded-border-outside-left-right-text",name:"Rounded Border Outside (Left & Right Text)",options:{margin:-20,shape:"circle",borderOptions:{...yi,thickness:50,radius:"20%",inner:{radius:"20"},borderOuter:{thickness:10},decorations:{top:{disabled:!0,enableText:!1},bottom:{disabled:!0,enableText:!1},left:{enableText:!0,offset:5,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},right:{enableText:!0,offset:6,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Yi={id:"rounded-border-top-bottom-text",name:"Rounded Border (Top & Bottom Text)",options:{borderOptions:{...yi,thickness:50,radius:"30",decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO CONNECT"},bottom:{enableText:!0,offset:-2,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Ji={id:"rounded-border-left-right-text",name:"Rounded Border (Left & Right Text)",options:{margin:5,borderOptions:{...yi,thickness:50,radius:"20%",inner:{radius:"20"},decorations:{top:{disabled:!0},bottom:{disabled:!0},left:{enableText:!0,offset:5,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},right:{enableText:!0,offset:5,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Gi={id:"double-square-border-thin",name:"Double Square Border Inside (Thin)",options:{borderOptions:{...yi,thickness:16,radius:"2%",borderInner:{thickness:6}}}},Vi={id:"double-square-border-medium",name:"Double Square Border Outside (Medium)",options:{borderOptions:{...yi,thickness:16,radius:"2%",borderOuter:{thickness:6}}}},Zi={id:"double-rounded-border-medium",name:"Double Rounded Border (Medium)",options:{shape:"circle",margin:-20,borderOptions:{...yi,thickness:60,radius:"25",borderOuter:{thickness:10},borderInner:{thickness:10},decorations:{bottom:{disabled:!0},left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,curveAdjustment:0,offset:4,curveDisabled:!0,value:"SCAN ME",style:{fontSize:30}}}}}},Oi={id:"double-rounded-border-thick",name:"Double Rounded Border Outside (Thick)",options:{borderOptions:{...yi,thickness:40,radius:"22%",borderOuter:{thickness:6},decorations:{top:{disabled:!0},left:{disabled:!0},bottom:{enableText:!0,curveAdjustment:0,offset:2,value:"SCAN ME",style:{fontSize:20}},right:{enableText:!0,curveAdjustment:0,offset:5,value:"YOUR NAME",style:{fontSize:20}}}}}},Wi={id:"inner-square-border-medium",name:"Inner Square Border Inside (Medium)",options:{borderOptions:{...yi,thickness:10,radius:"2%",borderInner:{thickness:12}}}},Mi={id:"outer-rounded-border-medium",name:"Outer Rounded Border (Medium)",options:{margin:-20,shape:"circle",borderOptions:{...yi,inner:{radius:"20%"},thickness:15,radius:"25%",borderOuter:{thickness:20}}}},Hi={id:"rounded-inner-offset-text",name:"Rounded Inner Offset Text",options:{shape:"circle",margin:-20,borderOptions:{...yi,thickness:25,radius:"30%",borderInner:{thickness:8},decorations:{top:{enableText:!0,offset:3,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"SCAN ME"},bottom:{enableText:!0,offset:3,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"YOUR NAME"}}}}},Ti={id:"square-thick-outer-thin-inner",name:"Square Thick Outer/Thin Inner",options:{borderOptions:{...yi,thickness:10,radius:"50%",inner:{radius:"12%"},borderOuter:{thickness:10},borderInner:{thickness:15},decorations:{bottom:{enableText:!0,offset:-3,curveAdjustment:0,curveDisabled:!0,style:{fontSize:18,fontWeight:"normal"}}}}}},Xi={id:"square-thick-outer-round",name:"Square Thick Outer Round",options:{margin:6,borderOptions:{...yi,thickness:25,radius:"50%",inner:{radius:"15%"},borderOuter:{thickness:10},borderInner:{thickness:20},decorations:{bottom:{enableText:!0,offset:-3,curveAdjustment:0,curveDisabled:!0,style:{fontSize:18,fontWeight:"normal"}}}}}},xi={id:"square-thick-outer-thin-inner-bottom-text",name:"Square Thick Outer/Thin Inner Bottom Text",options:{borderOptions:{...yi,thickness:10,radius:"4%",inner:{radius:"10%"},borderOuter:{thickness:5},borderInner:{thickness:12},decorations:{bottom:{disabled:!0},left:{disabled:!0},right:{disabled:!0},top:{disabled:!0}}}}},Li=[wi,Di,Si,Fi,Ri,ki,bi,Yi,Ji,Ui,Ni,Gi,Vi,Zi,Oi,Wi,Mi,Hi,Ti,Xi,{id:"pill-curved-text-top-bottom",name:"Pill Curved Text Top/Bottom",options:{shape:"circle",borderOptions:{...yi,thickness:35,borderInner:{thickness:10},radius:"50%",decorations:{top:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"TOP CURVED TEXT"},bottom:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"BOTTOM CURVED TEXT"}}}}},{id:"double-varied-thickness-top-text",name:"Double Varied Thickness Top Text",options:{borderOptions:{...yi,thickness:25,radius:"10%",borderOuter:{thickness:8},borderInner:{thickness:4},decorations:{top:{enableText:!0,offset:3,curveAdjustment:0,curveDisabled:!0,style:{fontSize:19},value:"IMPORTANT INFO"},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:19},value:"SCAN ME"}}}}},{id:"outer-border-white-rounded-text",name:"Outer Border White Rounded Text",options:{borderOptions:{...yi,thickness:25,color:"#ffffff",radius:"25%",borderOuter:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,offset:10,curveAdjustment:0,curveDisabled:!1,style:{fontSize:18,fontWeight:"bold",letterSpacing:1,fontColor:"#000000"},value:"SCAN TO FOLLOW"}}}}},{id:"inner-border-white-rounded-text",name:"Inner Border White Rounded Text",options:{margin:6,borderOptions:{...yi,thickness:25,color:"#ffffff",radius:"25%",borderInner:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,offset:-4,style:{fontSize:18,fontWeight:"bold",letterSpacing:1,fontColor:"#000000"},value:"SCAN TO FOLLOW"}}}}},{id:"inner-offset-square-text",name:"Inner Offset Square Text",options:{borderOptions:{...yi,thickness:30,radius:"16%",borderInner:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!0,style:{fontSize:22},value:"SCAN ME"}}}}},{id:"thin-rounded-all-sides-text",name:"Thin Rounded All Sides Text",options:{borderOptions:{...yi,borderInner:{thickness:10},thickness:14,radius:"20%",decorations:{top:{enableText:!0,value:"TOP",style:{fontSize:12},offset:3},bottom:{enableText:!0,value:"BOTTOM",style:{fontSize:12},offset:1},left:{enableText:!0,value:"LEFT",style:{fontSize:12},offset:4},right:{enableText:!0,value:"RIGHT",style:{fontSize:12},offset:4}}}}},{id:"thick-square-double-text",name:"Thick Square Double Text",options:{borderOptions:{...yi,thickness:25,radius:"2%",borderOuter:{thickness:5},borderInner:{thickness:5},decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,value:"HEADER",offset:6,style:{fontSize:18}},bottom:{enableText:!0,value:"FOOTER",offset:2,style:{fontSize:18}}}}}},{id:"high-radius-thin-double-curved-text",name:"High Radius Thin Double Curved Text",options:{margin:-16,shape:"circle",borderOptions:{...yi,thickness:26,radius:"35%",borderOuter:{thickness:6},borderInner:{thickness:13},decorations:{top:{enableText:!0,value:"TOP TEXT",offset:8,curveDisabled:!1,style:{fontSize:16}},right:{disabled:!0},left:{disabled:!0},bottom:{enableText:!0,curveDisabled:!1,offset:4,style:{fontSize:16}}}}}},xi,{id:"minimalist-thin-square",name:"Minimalist Thin Square",options:{borderOptions:{...yi,thickness:8,radius:"4%"}}},{id:"minimalist-thin-rounded",name:"Minimalist Thin Rounded",options:{margin:4,borderOptions:{...yi,thickness:8,radius:"25%"}}},{id:"chunky-square-border-text",name:"Chunky Square Border Text",options:{margin:10,borderOptions:{...yi,thickness:50,radius:"5%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:18,fontWeight:"bold"},offset:4},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4}}}}},{id:"chunky-rounded-border",name:"Chunky Rounded Border",options:{margin:6,borderOptions:{...yi,thickness:50,radius:"50%",inner:{radius:"15%"},borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:18,fontWeight:"bold"},offset:4},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:18,fontWeight:"bold"}}}}}},{id:"double-thick-main-thin-subs-rounded",name:"Double Thick Main Thin Subs Rounded",options:{margin:2,borderOptions:{...yi,thickness:25,radius:"20%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:16,fontWeight:"bold"},offset:5},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:16,fontWeight:"bold"},offset:6},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:16,fontWeight:"bold"},offset:6},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:16,fontWeight:"bold"},offset:4}}}}},{id:"double-thick-main-thick-subs-square",name:"Double Thick Main Thick Subs Square",options:{margin:2,borderOptions:{...yi,thickness:25,radius:"4%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:5,value:"SCAN ME"},left:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:7,value:"LEFT TEXT"},right:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:7,value:"RIGHT TEXT"},bottom:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:5,value:"BOTTOM TEXT"}}}}},{id:"inner-thick-rounded",name:"Inner Thick Rounded",options:{borderOptions:{...yi,thickness:2,radius:"35%",borderOuter:{thickness:10},borderInner:{thickness:30},inner:{radius:"15%"},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:38},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:40},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:38},bottom:{enableText:!0,value:"BOTTOM TEXT",curveDisabled:!0,style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:29}}}}},{id:"outer-thick-square",name:"Outer Thick Square",options:{borderOptions:{...yi,thickness:10,radius:"2%",borderOuter:{thickness:20},borderInner:{thickness:0}}}},{id:"pill-double-thin-text",name:"Pill Double Thin Text",options:{margin:-2,shape:"circle",borderOptions:{...yi,thickness:30,radius:"50%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{disabled:!1,enableText:!0,value:"SCAN ME",offset:5,style:{fontSize:18,fontWeight:"bold"}},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!1,enableText:!0,value:"BOTTOM TEXT",offset:3,style:{fontSize:18,fontWeight:"bold"}}}}}},{id:"double-thin-circle-inner-rounded",name:"Double Thin Circle Inner Rounded",options:{margin:-28,shape:"circle",borderOptions:{...yi,thickness:20,radius:"10%",inner:{radius:"25%"},borderOuter:{thickness:4},borderInner:{thickness:4},decorations:{top:{disabled:!1},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!1}}}}},{id:"square-top-bottom-text",name:"Square Top/Bottom Text",options:{borderOptions:{...yi,thickness:30,radius:"10%",decorations:{top:{enableText:!0,value:"SCAN CODE",offset:1,style:{fontSize:16}},bottom:{enableText:!0,value:"VISIT OUR SITE",style:{fontSize:16}}}}}},{id:"rounded-left-right-text",name:"Rounded Left/Right Text",options:{margin:2,borderOptions:{...yi,thickness:30,radius:"20%",decorations:{top:{disabled:!0},bottom:{disabled:!0},left:{enableText:!0,offset:2,value:"LEFT TEXT",style:{fontSize:19}},right:{enableText:!0,offset:2,value:"RIGHT TEXT",style:{fontSize:19}}}}}},{id:"square-left-text-only",name:"Square Left Text Only",options:{margin:2,borderOptions:{...yi,borderInner:{thickness:10},thickness:45,radius:"5%",decorations:{left:{enableText:!0,value:"SCAN ME",offset:6,style:{fontSize:20,fontWeight:"bold",letterSpacing:1}},top:{disabled:!0},bottom:{disabled:!0},right:{disabled:!0}}}}},{id:"square-right-text-only",name:"Square Right Text Only",options:{margin:2,borderOptions:{...yi,borderInner:{thickness:10},thickness:45,radius:"5%",decorations:{right:{enableText:!0,value:"WEBSITE.COM",offset:6,style:{fontSize:20,fontWeight:"bold",letterSpacing:1}},top:{disabled:!0},bottom:{disabled:!0},left:{disabled:!0}}}}},{id:"rounded-left-right-different-text",name:"Rounded Left+Right Different Text",options:{margin:-20,shape:"circle",borderOptions:{...yi,borderInner:{thickness:10},thickness:40,radius:"35%",decorations:{left:{enableText:!0,offset:4,value:"SCAN",style:{fontSize:20,fontWeight:"bold"}},right:{enableText:!0,value:"NOW",offset:4,style:{fontSize:20,fontWeight:"bold"}},top:{disabled:!0},bottom:{disabled:!0}}}}},{id:"square-left-right-identical-text",name:"Square Left+Right Identical Text",options:{margin:2,borderOptions:{...yi,borderInner:{thickness:10},thickness:40,radius:"2%",decorations:{left:{enableText:!0,value:"QR CODE",offset:4,style:{fontSize:18,fontWeight:"bold"}},right:{enableText:!0,value:"QR CODE",offset:4,style:{fontSize:18,fontWeight:"bold"}},top:{disabled:!0},bottom:{disabled:!0}}}}},{id:"pill-left-right-bottom-text",name:"Pill Left Right Bottom Text",options:{margin:2,shape:"circle",borderOptions:{...yi,borderInner:{thickness:10},thickness:45,inner:{radius:"45%",verticalOffset:-5},radius:"50%",decorations:{top:{disabled:!0},left:{enableText:!0,value:"FOLLOW US",offset:5,style:{fontSize:18,fontWeight:"bold"}},right:{enableText:!0,value:"CONTACT US",offset:5,style:{fontSize:18,fontWeight:"bold"}},bottom:{enableText:!0,value:"WEBSITE.COM",style:{fontSize:18,fontWeight:"bold"}}}}}},{id:"pill-left-right-top-text",name:"Pill Left Right Top Text",options:{margin:2,shape:"circle",borderOptions:{...yi,borderInner:{thickness:10},thickness:45,inner:{radius:"45%",verticalOffset:-5},radius:"50%",decorations:{top:{enableText:!0,value:"WEBSITE.COM",offset:5,curveDisabled:!1,style:{fontSize:20,fontWeight:"bold"}},left:{enableText:!0,value:"FOLLOW US",offset:5,style:{fontSize:18,fontWeight:"bold"}},right:{enableText:!0,value:"SHARE LINK",offset:5,style:{fontSize:18,fontWeight:"bold"}},bottom:{disabled:!0}}}}}];function Ki(A){return Li.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function qi(A){return Li.find((e=>e.id===A))}const ji=[{id:"scan-me",name:"Scan Me, Get Started",options:{topValue:"Scan Me",bottomValue:"Get Started"}},{id:"scan-to-visit-website",name:"Scan to Visit Website",options:{topValue:"Scan Code",bottomValue:"Visit Website"}},{id:"visit-website",name:"Visit Website",options:{value:"Visit Website"}},{id:"follow-me",name:"Follow Me",options:{topValue:"Scan Code",value:"Follow Us"}},{id:"follow-us",name:"Follow Us",options:{topValue:"Scan Code",value:"Follow Us"}},{id:"scan-to-follow",name:"Scan to Follow",options:{value:"Scan to Follow"}},{id:"contact-info",name:"Contact Info",options:{value:"Contact Info"}},{id:"scan-to-pay",name:"Scan To Pay",options:{value:"Scan to Pay"}},{id:"product-details-bottom",name:"Product Details",options:{value:"Product Details",topValue:"Scan Code"}},{id:"event-info-top-bottom",name:"Event Info",options:{value:"Event Information",topValue:"Scan Code"}},{id:"lost-found",name:"Lost & Found",options:{topValue:"Found Me?",bottomValue:"Scan to Return",leftValue:"If Found",rightValue:"Please Scan"}},{id:"scan-to-return",name:"Scan to Return",options:{topValue:"Scan to Return",bottomValue:"Scan to Return",leftValue:"If Found",rightValue:"Please Scan"}},{id:"scan-for-wifi",name:"Scan for WiFi",options:{value:"Scan for WiFi Access"}},{id:"scan-to-connect-wifi",name:"Scan to Connect WiFi",options:{value:"Scan to Connect WiFi"}},{id:"get-directions-bottom",name:"Get Directions",options:{value:"Get Directions",topValue:"Scan Code"}},{id:"special-offer-top",name:"Special Offer",options:{value:"Special Offer",topValue:"Scan Code"}},{id:"limited-time-offer",name:"Limited Time Offer",options:{value:"Limited Time Offer",topValue:"Scan Code"}},{id:"scan-to-download",name:"Scan to Download",options:{bottomValue:"App Name",topValue:"Scan to Download"}},{id:"register-now-top",name:"Register Now",options:{topValue:"Scan Code",value:"Register Now"}},{id:"scan-to-learn-more",name:"Scan to Learn",options:{bottomValue:"Scan to Learn",topValue:"Scan to Learn"}},{id:"your-text-here",name:"Your Text Here",options:{topValue:"Top Text Here",bottomValue:"Bottom Text Here",leftValue:"Left Text",rightValue:"Right Text"}},{id:"visit-website-url",name:"Website URL",options:{value:"www.example.com",topValue:"Scan To Visit"}},{id:"call-to-action",name:"Call To Action",options:{topValue:"Scan Now",bottomValue:"Limited Time"}},{id:"scan-to-check-in",name:"Scan to Check In",options:{value:"Scan to Check In"}},{id:"scan-to-check-in-check-out",name:"Scan to Check In/Out",options:{topValue:"Scan to Register",bottomValue:"Scan to Register",leftValue:"Check In",rightValue:"Check Out"}},{id:"scan-for-menu",name:"Scan for Menu",options:{value:"Scan for Menu"}},{id:"give-feedback",name:"Give Feedback",options:{topValue:"Scan to Feedback",value:"Give Feedback"}},{id:"scan-for-discount",name:"Scan for Discount",options:{value:"Scan for Discount"}},{id:"scan-to-apply",name:"Scan to Apply",options:{bottomValue:"Scan to Apply",topValue:"Scan to Apply"}},{id:"emergency-contact",name:"Emergency Contact",options:{value:"Emergency Contact",topValue:"Scan for Emergency"}},{id:"artwork-info",name:"Artwork Info",options:{value:"Artwork Info"}},{id:"scan-to-save-contact",name:"Scan to Contact",options:{value:"Scan to Contact"}},{id:"scan-to-call-bottom",name:"Scan to Call",options:{value:"Scan to Call"}},{id:"scan-to-watch-video",name:"Scan to Watch",options:{value:"Scan to Watch Video"}},{id:"welcome-scan-to-proceed",name:"Welcome, Scan to Proceed",options:{value:"Welcome",topValue:"Scan to Proceed"}}];function vi(A){return ji.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function Pi(A){return ji.find((e=>e.id===A))}var zi;!function(A){A.svg="svg",A.png="png",A.jpeg="jpeg",A.webp="webp"}(zi||(zi={})),Object.assign(u.stringToBytesFuncs,{UTF8:A=>function(A){const e=[];for(let t=0;t<A.length;t++){let i=A.charCodeAt(t);i<128?e.push(i):i<2048?e.push(192|i>>6,128|63&i):i<55296||i>=57344?e.push(224|i>>12,128|i>>6&63,128|63&i):(t++,i=65536+((1023&i)<<10|1023&A.charCodeAt(t)),e.push(240|i>>18,128|i>>12&63,128|i>>6&63,128|63&i))}return e}(A)});let _i=class A{get size(){return this.qrSVG?{width:this.qrSVG.width,height:this.qrSVG.height}:void 0}constructor(e,t=!1){var i,o,n,r,s,g;this._svgId=`qr-svg-${Math.random().toString(36).substring(2,9)}`,(g=e)&&0!==Object.keys(g).length||(console.warn("QRCodeJs: Options not provided. Using default options and base template."),e=UA);const I=e;let a=UA;A._selectedTemplate&&(a="id"in A._selectedTemplate&&"options"in A._selectedTemplate?f(a,A._selectedTemplate.options):f(a,A._selectedTemplate));let B={};A._selectedBorder&&(B="id"in A._selectedBorder&&"options"in A._selectedBorder?A._selectedBorder.options:A._selectedBorder);let C={};if(A._selectedStyle){const{isValid:e,errors:t}=FA(A._selectedStyle);e?C=SA(A._selectedStyle):console.warn("Invalid static style options ignored during instantiation:",t)}let l={};A._selectedImage&&!A._selectedImageOverride&&(l={image:A._selectedImage});let Q={};A._selectedData&&!A._selectedDataOverride&&(Q={data:A._selectedData});const E={};if(A._selectedText&&!A._selectedTextOverride){let e=null;if(e="id"in A._selectedText&&"options"in A._selectedText?A._selectedText.options:A._selectedText,e){E.borderOptions||(E.borderOptions={}),E.borderOptions.decorations||(E.borderOptions.decorations={});const A=E.borderOptions.decorations,t=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(A.top={value:t}),void 0===e.bottomValue&&(A.bottom={value:t}),void 0===e.leftValue&&(A.left={value:t}),void 0===e.rightValue&&(A.right={value:t})),void 0!==e.topValue&&(A.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(A.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(A.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(A.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}const h=f(a,B,E,C,l,Q,I,null!==(i=A._selectedOptions)&&void 0!==i?i:{}),{warnings:c,validatedOptions:d}=Ai(h);this.options=P(d);const u={};if(A._selectedImageOverride&&A._selectedImage&&(u.image=A._selectedImage),A._selectedTextOverride&&A._selectedText){u.borderOptions||(u.borderOptions={}),u.borderOptions.decorations||(u.borderOptions.decorations={});let e=null;if(e="id"in A._selectedText&&"options"in A._selectedText?A._selectedText.options:A._selectedText,e){const A=u.borderOptions.decorations,t=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(A.top={value:t}),void 0===e.bottomValue&&(A.bottom={value:t}),void 0===e.leftValue&&(A.left={value:t}),void 0===e.rightValue&&(A.right={value:t})),void 0!==e.topValue&&(A.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(A.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(A.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(A.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}return A._selectedDataOverride&&A._selectedData&&(u.data=A._selectedData),A._selectedOptionsOverride&&A._selectedOptions&&Object.keys(u).length>0?this.options=P(f(this.options,f(u,A._selectedOptions))):Object.keys(u).length>0&&(this.options=P(f(this.options,u))),this.id=null===(o=A._selectedInfo)||void 0===o?void 0:o.id,this.name=null===(n=A._selectedInfo)||void 0===n?void 0:n.name,this.description=null===(r=A._selectedInfo)||void 0===r?void 0:r.description,this.metadata=null!==(s=A._selectedMetadata)&&void 0!==s?s:void 0,c.length>0&&this._logValidationWarnings("QR Code Options Validation Warnings:",c),this.update(),this}static setTemplate(e){if(null===e)return A._selectedTemplate=null,A;if("string"==typeof e){const t=e,i=Pt(t);i?A._selectedTemplate=i:(console.warn(`QR Code template name "${t}" not found. Using base template.`),A._selectedTemplate=UA)}else A._selectedTemplate=e;return A}static setTemplateId(e){if(null===e)return A._selectedTemplate=null,A;const t=zt(e);return t?A._selectedTemplate=t:(console.warn(`QR Code template ID "${e}" not found in setTemplateId. Using default.`),A._selectedTemplate=UA),A}static getTemplates(){return{findTextTemplateById:Pi,findTextByName:vi,findTemplateByName:Pt,findTemplateById:zt,findBorderById:qi,findBorderByName:Ki,findStyleById:fi,findStyleByName:mi,baseTemplates:vt,borderTemplates:Li,styleTemplates:pi,textTemplates:ji}}static setStyle(e){if(null===e)return A._selectedStyle=null,A;let t=null;if("string"==typeof e){const i=e,o=mi(i);o?(t=o.style,A._selectedStyle=t):(console.warn(`QR Code style name "${i}" not found in setStyle. Ignoring.`),A._selectedStyle=null)}else{const{isValid:i,errors:o}=FA(e);i?(t=e,A._selectedStyle=t):(console.warn("Invalid style options object provided to setStyle:",o),A._selectedStyle=null)}return A}static setBorder(e){if(null===e)return A._selectedBorder=null,A;if("string"==typeof e){const t=e,i=Ki(t);i?A._selectedBorder=i:(console.warn(`QR Code border template name "${t}" not found. Ignoring.`),A._selectedBorder=null)}else A._selectedBorder={borderOptions:e};return A}static setBorderId(e){if(null===e)return A._selectedBorder=null,A;const t=qi(e);return t?A._selectedBorder=t:(console.warn(`QR Code border template ID "${e}" not found in setBorderId. Ignoring.`),A._selectedBorder=null),A}static setStyleId(e){if(null===e)return A._selectedStyle=null,A;const t=fi(e);return t?A._selectedStyle=t.style:(console.warn(`QR Code style ID "${e}" not found in setStyleId. Ignoring.`),A._selectedStyle=null),A}static setImage(e,t){return A._selectedImage=e,A._selectedImageOverride=!(null==t||!t.override),A}static setData(e,t){return A._selectedData=e,A._selectedDataOverride=!(null==t||!t.override),A}static setOptions(e,t){return A._selectedOptions=e,A._selectedOptionsOverride=!(null==t||!t.override),A}static setText(e,t){if(null===e)A._selectedText=null;else if("string"==typeof e){const t=vi(e);t?A._selectedText=t:(console.warn(`QR Code text template name "${e}" not found. Ignoring.`),A._selectedText=null)}else A._selectedText=e;return A._selectedTextOverride=!(null==t||!t.override),A}static setTextId(e,t){if(null===e)A._selectedText=null;else{const t=Pi(e);console.log("foundTextTemplate",t),t?A._selectedText=t:(console.warn(`QR Code text template ID "${e}" not found in setTextId. Ignoring.`),A._selectedText=null)}return A._selectedTextOverride=!(null==t||!t.override),A}static setSettings(e){if(null===e)return A._selectedTemplate=null,A._selectedBorder=null,A._selectedStyle=null,A._selectedImage=null,A._selectedImageOverride=!1,A._selectedText=null,A._selectedTextOverride=!1,A._selectedData=null,A._selectedDataOverride=!1,A._selectedOptions=null,A._selectedOptionsOverride=!1,A._selectedInfo=null,A._selectedMetadata=null,A;const{id:t,name:i,description:o,metadata:n,options:r,template:s,templateId:g,style:I,styleId:a,border:B,borderId:C,text:l,textId:Q,image:E,data:h,...c}=e;return A._selectedInfo={id:t,name:i,description:o},A._selectedMetadata=null!=n?n:null,g?A.setTemplateId(g):s&&A.setTemplate(s),a?A.setStyleId(a):I&&A.setStyle(I),C?A.setBorderId(C):B&&A.setBorder(B),Q?A.setTextId(Q):l&&A.setText(l),E&&A.setImage(E),h&&A.setData(h),r&&A.setOptions(r),Object.keys(c).length>0&&console.warn("QRCodeJs.setSettings: Unknown properties in settings object:",c),A}getOptions(){return this.options}getId(){return this.id}getName(){return this.name}getDescription(){return this.description}getMetadata(){return this.metadata}getSettings(){return{...this.id?{id:this.id}:{},...this.name?{name:this.name}:{},...this.description?{description:this.description}:{},...this.metadata?{metadata:this.metadata}:{},options:this.options}}setId(A){return this.id=A,this}setName(A){return this.name=A,this}setDescription(A){return this.description=A,this}setMetadata(A){return this.metadata=A,this}async update(A){var e,t;const i=A?f(this.options,A):this.options,{warnings:o,validatedOptions:n}=Ai(i);if(o.length>0&&this._logValidationWarnings("QR Code JS Options Update Validation Warnings:",o),this.options=P(n),!this.options.data)return void console.warn("QR Code update called without data.");this.options.stringToBytesFuncs&&(Object.assign(u.stringToBytesFuncs,this.options.stringToBytesFuncs),delete this.options.stringToBytesFuncs),this.qr=new u(this.options.qrOptions.typeNumber,this.options.qrOptions.errorCorrectionLevel);const r=(null===(e=this.options.qrOptions)||void 0===e?void 0:e.mode)||function(A){switch(!0){case/^[0-9]*$/.test(A):return d.numeric;case/^[0-9A-Z $%*+\-./:]*$/.test(A):return d.alphanumeric;case/[^\u0000-\u00ff]/.test(A):return d.unicode;default:return d.byte}}(this.options.data);this.qr.addData(this.options.data,r),this.qr.make(),await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise;const s=null===(t=this.qrSVG)||void 0===t?void 0:t.element;if(this.container&&s){const A=this.container.querySelector(`#${this._svgId}`);A&&A!==s&&this.container.replaceChild(s,A)}}append(A,e){var t;if(!A)return console.warn("QR Code append could not find container."),this;if(this.container=A,null!=e&&e.clearContainer)for(;A.firstChild;)A.removeChild(A.firstChild);return null!==(t=this.qrSVG)&&void 0!==t&&t.element&&!A.querySelector(`#${this._svgId}`)&&A.appendChild(this.qrSVG.element),this}async applyExtension(A){if(!A)throw new Error("Extension function should be defined.");this.extension=A,await this.update()}async deleteExtension(){this.extension=void 0,await this.update()}async serialize(A=!1){var e,t;if(!this.qr)throw new Error("QR code is empty");if(null!==(e=this.qrSVG)&&void 0!==e&&e.element||await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise,null===(t=this.qrSVG)||void 0===t||!t.element)return;let i=this.qrSVG.element;if(A){const A=this.qrSVG.element.cloneNode(!0);A.style.filter="invert(1)",i=A}let o=(new XMLSerializer).serializeToString(i);return o='<?xml version="1.0" standalone="no"?>\r\n'+o,o}async _setupSvgAsync(){var A;if(!this.qr)return;let e=this.qr.getModuleCount();this.options.imageOptions.mode===j.background&&this.options.shape!==q.circle&&(e+=2);let t=Math.ceil((this.options.shape===q.circle?Math.sqrt(1.8):1.1)*e);t%2==0&&(t-=1);let i=0;this.options.imageOptions.mode===j.background&&(i+=this.options.imageOptions.margin||0);const o=Math.ceil(this.options.dotsOptions.size*(t+2*i)),n=this.options.borderOptions;let r=0,s=0;const g={top:0,right:0,bottom:0,left:0},I={top:0,right:0,bottom:0,left:0},a={top:0,right:0,bottom:0,left:0},B=(null!=n&&n.noBorderThickness||null!=n&&n.thickness)&&n.thickness?n.thickness/4:0;if(null!=n&&n.hasBorder){var C,l,Q,E;const A=null!==(C=n.borderOuter)&&void 0!==C&&C.thickness?2*(null===(l=n.borderOuter)||void 0===l?void 0:l.thickness):0,e=null!==(Q=n.borderInner)&&void 0!==Q&&Q.thickness?2*(null===(E=n.borderInner)||void 0===E?void 0:E.thickness):0;var h,c,d,u,p,m,f,y;if(A>0&&(I.top=A/2,I.bottom=A/2,I.left=A/2,I.right=A/2),e>0&&(a.top=e/2,a.bottom=e/2,a.left=e/2,a.right=e/2),J(n,"left"))g.left=null!==(h=n.thickness)&&void 0!==h?h:0,r+=null!==(c=n.thickness)&&void 0!==c?c:0;else g.left=B,r+=B;if(J(n,"right"))g.right=null!==(d=n.thickness)&&void 0!==d?d:0,r+=null!==(u=n.thickness)&&void 0!==u?u:0;else g.right=B,r+=B;if(J(n,"top"))g.top=null!==(p=n.thickness)&&void 0!==p?p:0,s+=null!==(m=n.thickness)&&void 0!==m?m:0;else g.top=B,s+=B;if(G(n,"bottom",this._hls()))g.bottom=null!==(f=n.thickness)&&void 0!==f?f:0,s+=null!==(y=n.thickness)&&void 0!==y?y:0;else g.bottom=B,s+=B}const w=o+r,D=o+s;this.qrSVG=new di({...this.options,width:w,height:D,bordersMain:g,bordersOuter:I,bordersInner:a,errorCorrectionPercent:z[this.options.qrOptions.errorCorrectionLevel],hls:this._hls()}),null!==(A=this.qrSVG)&&void 0!==A&&A.element?(this.qrSVG.element.id=this._svgId,this.svgDrawingPromise=this.qrSVG.drawQR(this.qr).then((()=>{var A,e,t;null!==(A=this.qrSVG)&&void 0!==A&&A.element&&(this.options.instanceId=this.qrSVG._instanceId,null!==(e=this.options.borderOptions)&&void 0!==e&&e.hasBorder&&H(this.options.borderOptions)(this.qrSVG.element,this.options,o,this.qrSVG.drawBackgroundForBorder.bind(this.qrSVG),g,I,a,B,this._hls),null===(t=this.extension)||void 0===t||t.call(this,this.qrSVG.element,this.options))})).catch((A=>{throw console.error("Error during SVG drawing or post-processing:",A),A}))):console.error("QRSVG element not created immediately after instantiation.")}async _drawToCanvasForValidation(A){var e,i,o;const{width:n=300,height:r=300}=null!==(e=null!==(i=null===(o=this.qrSVG)||void 0===o?void 0:o.svgSize)&&void 0!==i?i:A)&&void 0!==e?e:t,s=n,g=r,I=document.createElement("canvas");I.width=s,I.height=g;const a=await this.serialize();if(!a)throw new Error("Failed to serialize SVG.");const B="data:image/svg+xml;base64,"+btoa(a);return new Promise(((A,e)=>{const t=new Image;t.width=s,t.height=g,t.crossOrigin="Anonymous",t.onload=()=>{const i=I.getContext("2d");if(!i)return e(new Error("Could not get canvas 2D context"));i.drawImage(t,0,0,s,g),A(I)},t.onerror=t.onabort=e,t.src=B}))}async drawToCanvas(A){var e;const t=document.createElement("canvas"),i=window.devicePixelRatio||1,o=(null==A?void 0:A.antialiasFactor)||2,n=(null==A?void 0:A.antialiasLevel)||"medium",r=null===(e=null==A?void 0:A.antialias)||void 0===e||e,s=(async()=>{try{var e,s;const g=await this.serialize();if(!g)return void console.warn("SVG serialization returned empty.");const I="data:image/svg+xml;base64,"+function(A){const e=(new TextEncoder).encode(A),t=Array.from(e,(A=>String.fromCharCode(A))).join("");return btoa(t)}(g),a=new Image;await new Promise(((A,e)=>{a.onload=()=>A(),a.onerror=A=>e(new Error(`Image load error: ${A}`)),a.onabort=()=>e(new Error("Image load aborted")),a.src=I}));const{width:B,height:C}=null!==(e=null===(s=this.qrSVG)||void 0===s?void 0:s.svgSize)&&void 0!==e?e:{},l=null!=B?B:a.naturalWidth,Q=null!=C?C:a.naturalHeight;if(l<=0||Q<=0)throw new Error("Invalid SVG dimensions");let E,h;void 0!==(null==A?void 0:A.width)&&void 0!==(null==A?void 0:A.height)?(E=A.width,h=A.height):void 0!==(null==A?void 0:A.width)?(E=A.width,h=E*(Q/l)):void 0!==(null==A?void 0:A.height)?(h=A.height,E=h*(l/Q)):(E=l,h=Q),t.width=E*i,t.height=h*i,t.style.width=`${E}px`,t.style.height=`${h}px`;const c=E/l,d=h/Q,u=Math.min(c,d),p=l*u,m=Q*u,f=(E-p)/2,y=(h-m)/2;let w;try{w=new OffscreenCanvas(p*i*o,m*i*o)}catch(A){w=document.createElement("canvas"),w.width=p*i*o,w.height=m*i*o}const D=w.getContext("2d");if(!D)throw new Error("Could not get OffscreenCanvas 2D context");D.imageSmoothingEnabled=r,D.imageSmoothingQuality=n,D.drawImage(a,0,0,w.width,w.height);const S=t.getContext("2d");if(!S)throw new Error("Could not get canvas 2D context");S.imageSmoothingEnabled=r,S.imageSmoothingQuality=n,S.scale(i,i),S.drawImage(w,0,0,w.width,w.height,f,y,p,m)}catch(A){throw console.error("Error drawing to canvas:",A),A}})();return{canvas:t,canvasDrawingPromise:s}}async _drawToCanvasPrevious(A){var e,i;const{width:o=300,height:n=300}=null!==(e=null!=A?A:null===(i=this.qrSVG)||void 0===i?void 0:i.svgSize)&&void 0!==e?e:t,r=1*o,s=1*n,g=document.createElement("canvas");g.width=r,g.height=s;const I=(async()=>{try{const A=await this.serialize();if(!A)return void console.warn("SVG serialization returned empty.");const e="data:image/svg+xml;base64,"+btoa(A),t=new Image;t.width=r,t.height=s,await new Promise(((A,i)=>{t.onload=()=>{const e=Math.ceil(2*Math.max(o,n)/Math.max(t.width,t.height));let I;try{I=new OffscreenCanvas(t.width*e*2,t.height*e*2)}catch(A){I=document.createElement("canvas"),I.width=t.width*e*2,I.height=t.height*e*2}const a=I.getContext("2d");if(!a)return i(new Error("Could not get OffscreenCanvas 2D context"));a.drawImage(t,0,0,I.width,I.height);const B=g.getContext("2d");if(!B)return i(new Error("Could not get canvas 2D context"));B.drawImage(I,0,0,I.width,I.height,0,0,r,s),A()},t.onerror=A=>i(new Error(`Image load error: ${A}`)),t.onabort=()=>i(new Error("Image load aborted")),t.src=e}))}catch(A){throw console.error("Error drawing to canvas:",A),A}})();return{canvas:g,canvasDrawingPromise:I}}downloadURI(A,e){const t=document.createElement("a");t.download=e,t.href=A,document.body.appendChild(t),t.click(),document.body.removeChild(t)}async download(A,e){if("undefined"==typeof Blob)throw new Error("Cannot download in Node.js environment");let t=zi.png,i="qr";if(A&&(A.name&&(i=A.name),A.extension&&(t=A.extension)),"svg"===t.toLowerCase()){const A=await this.serialize();if(!A)return;const e="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(A);this.downloadURI(e,`${i}.svg`)}else{const A=await this.drawToCanvas(e);if(!A)return;const{canvas:o,canvasDrawingPromise:n}=A;await n;const r=o.toDataURL(`image/${t}`);this.downloadURI(r,`${i}.${t}`)}}async createOptimizedQRCanvas(A){var e,i,o;const{width:n=300,height:r=300}=null!==(e=null!==(i=null===(o=this.qrSVG)||void 0===o?void 0:o.svgSize)&&void 0!==i?i:A)&&void 0!==e?e:t,s=document.createElement("canvas");s.width=n,s.height=r;const g=await this.serialize();if(!g)throw new Error("Failed to serialize SVG.");const I="data:image/svg+xml;base64,"+btoa(Array.from((new TextEncoder).encode(g)).map((A=>String.fromCharCode(A))).join(""));return new Promise(((A,e)=>{const t=new Image;t.width=n,t.height=r,t.crossOrigin="Anonymous",t.onload=()=>{const i=s.getContext("2d");if(!i)return e(new Error("Could not get canvas 2D context"));i.imageSmoothingEnabled=!1,i.drawImage(t,0,0,n,r),this.applyQRThreshold(s),A(s)},t.onerror=A=>e(new Error(`Image load error: ${A}`)),t.onabort=()=>e(new Error("Image load aborted")),t.src=I}))}applyQRThreshold(A){const e=A.getContext("2d");if(!e)return;const t=e.getImageData(0,0,A.width,A.height),i=t.data;for(let A=0;A<i.length;A+=4){const e=(i[A]+i[A+1]+i[A+2])/3<128?0:255;i[A]=i[A+1]=i[A+2]=e}e.putImageData(t,0,0)}_hls(){return!1}_logValidationWarnings(A,e){console.warn(A),e.forEach((A=>{console.warn(`option: ${A.path} - '${A.value}' : ${A.message}`)}))}};_i.version="0.11.9",_i._selectedTemplate=null,_i._selectedBorder=null,_i._selectedStyle=null,_i._selectedImage=null,_i._selectedImageOverride=!1,_i._selectedText=null,_i._selectedTextOverride=!1,_i._selectedData=null,_i._selectedDataOverride=!1,_i._selectedOptions=null,_i._selectedOptionsOverride=!1,_i._selectedInfo=null,_i._selectedMetadata=null;const $i=new TextEncoder,Ao=new TextDecoder;function eo(A){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof A?A:Ao.decode(A),{alphabet:"base64url"});let e=A;e instanceof Uint8Array&&(e=Ao.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return function(A){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(A);const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A<e.length;A++)t[A]=e.charCodeAt(A);return t}(e)}catch(A){throw new TypeError("The input to be decoded is not correctly encoded.")}}function to(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||!A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var i=t.call(A,e);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:e+""}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}class io extends Error{constructor(A,e){var t;super(A,e),to(this,"code","ERR_JOSE_GENERIC"),this.name=this.constructor.name,null===(t=Error.captureStackTrace)||void 0===t||t.call(Error,this,this.constructor)}}to(io,"code","ERR_JOSE_GENERIC");class oo extends io{constructor(A,e,t="unspecified",i="unspecified"){super(A,{cause:{claim:t,reason:i,payload:e}}),to(this,"code","ERR_JWT_CLAIM_VALIDATION_FAILED"),to(this,"claim",void 0),to(this,"reason",void 0),to(this,"payload",void 0),this.claim=t,this.reason=i,this.payload=e}}to(oo,"code","ERR_JWT_CLAIM_VALIDATION_FAILED");class no extends io{constructor(A,e,t="unspecified",i="unspecified"){super(A,{cause:{claim:t,reason:i,payload:e}}),to(this,"code","ERR_JWT_EXPIRED"),to(this,"claim",void 0),to(this,"reason",void 0),to(this,"payload",void 0),this.claim=t,this.reason=i,this.payload=e}}to(no,"code","ERR_JWT_EXPIRED");class ro extends io{constructor(...A){super(...A),to(this,"code","ERR_JOSE_ALG_NOT_ALLOWED")}}to(ro,"code","ERR_JOSE_ALG_NOT_ALLOWED");class so extends io{constructor(...A){super(...A),to(this,"code","ERR_JOSE_NOT_SUPPORTED")}}to(so,"code","ERR_JOSE_NOT_SUPPORTED");to(class extends io{constructor(A="decryption operation failed",e){super(A,e),to(this,"code","ERR_JWE_DECRYPTION_FAILED")}},"code","ERR_JWE_DECRYPTION_FAILED");to(class extends io{constructor(...A){super(...A),to(this,"code","ERR_JWE_INVALID")}},"code","ERR_JWE_INVALID");class go extends io{constructor(...A){super(...A),to(this,"code","ERR_JWS_INVALID")}}to(go,"code","ERR_JWS_INVALID");class Io extends io{constructor(...A){super(...A),to(this,"code","ERR_JWT_INVALID")}}to(Io,"code","ERR_JWT_INVALID");to(class extends io{constructor(...A){super(...A),to(this,"code","ERR_JWK_INVALID")}},"code","ERR_JWK_INVALID");to(class extends io{constructor(...A){super(...A),to(this,"code","ERR_JWKS_INVALID")}},"code","ERR_JWKS_INVALID");to(class extends io{constructor(A="no applicable key found in the JSON Web Key Set",e){super(A,e),to(this,"code","ERR_JWKS_NO_MATCHING_KEY")}},"code","ERR_JWKS_NO_MATCHING_KEY");to(class extends io{constructor(A="multiple matching keys found in the JSON Web Key Set",e){super(A,e),to(this,Symbol.asyncIterator,void 0),to(this,"code","ERR_JWKS_MULTIPLE_MATCHING_KEYS")}},"code","ERR_JWKS_MULTIPLE_MATCHING_KEYS");to(class extends io{constructor(A="request timed out",e){super(A,e),to(this,"code","ERR_JWKS_TIMEOUT")}},"code","ERR_JWKS_TIMEOUT");class ao extends io{constructor(A="signature verification failed",e){super(A,e),to(this,"code","ERR_JWS_SIGNATURE_VERIFICATION_FAILED")}}function Bo(A,e="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${e} must be ${A}`)}function Co(A,e){return A.name===e}function lo(A){return parseInt(A.name.slice(4),10)}function Qo(A,e,t){switch(e){case"HS256":case"HS384":case"HS512":{if(!Co(A.algorithm,"HMAC"))throw Bo("HMAC");const t=parseInt(e.slice(2),10);if(lo(A.algorithm.hash)!==t)throw Bo(`SHA-${t}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!Co(A.algorithm,"RSASSA-PKCS1-v1_5"))throw Bo("RSASSA-PKCS1-v1_5");const t=parseInt(e.slice(2),10);if(lo(A.algorithm.hash)!==t)throw Bo(`SHA-${t}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!Co(A.algorithm,"RSA-PSS"))throw Bo("RSA-PSS");const t=parseInt(e.slice(2),10);if(lo(A.algorithm.hash)!==t)throw Bo(`SHA-${t}`,"algorithm.hash");break}case"Ed25519":case"EdDSA":if(!Co(A.algorithm,"Ed25519"))throw Bo("Ed25519");break;case"ES256":case"ES384":case"ES512":{if(!Co(A.algorithm,"ECDSA"))throw Bo("ECDSA");const t=function(A){switch(A){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}(e);if(A.algorithm.namedCurve!==t)throw Bo(t,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}!function(A,e){if(!A.usages.includes(e))throw new TypeError(`CryptoKey does not support this operation, its usages must include ${e}.`)}(A,t)}function Eo(A,e,...t){if((t=t.filter(Boolean)).length>2){const e=t.pop();A+=`one of type ${t.join(", ")}, or ${e}.`}else 2===t.length?A+=`one of type ${t[0]} or ${t[1]}.`:A+=`of type ${t[0]}.`;if(null==e)A+=` Received ${e}`;else if("function"==typeof e&&e.name)A+=` Received function ${e.name}`;else if("object"==typeof e&&null!=e){var i;null!==(i=e.constructor)&&void 0!==i&&i.name&&(A+=` Received an instance of ${e.constructor.name}`)}return A}to(ao,"code","ERR_JWS_SIGNATURE_VERIFICATION_FAILED");function ho(A,e,...t){return Eo(`Key for the ${A} algorithm must be `,e,...t)}function co(A){return"CryptoKey"===(null==A?void 0:A[Symbol.toStringTag])}function uo(A){return"KeyObject"===(null==A?void 0:A[Symbol.toStringTag])}var po=A=>co(A)||uo(A);var mo=A=>{if("object"!=typeof(e=A)||null===e||"[object Object]"!==Object.prototype.toString.call(A))return!1;var e;if(null===Object.getPrototypeOf(A))return!0;let t=A;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(A)===t};const fo=(A,e,t=0)=>{0===t&&(e.unshift(e.length),e.unshift(6));const i=A.indexOf(e[0],t);if(-1===i)return!1;const o=A.subarray(i,i+e.length);return o.length===e.length&&(o.every(((A,t)=>A===e[t]))||fo(A,e,i+1))},yo=async(A,e,t,i,o)=>{let n,r;const s=new Uint8Array(atob(t.replace(A,"")).split("").map((A=>A.charCodeAt(0))));switch(i){case"PS256":case"PS384":case"PS512":n={name:"RSA-PSS",hash:`SHA-${i.slice(-3)}`},r=["verify"];break;case"RS256":case"RS384":case"RS512":n={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${i.slice(-3)}`},r=["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":n={name:"RSA-OAEP",hash:`SHA-${parseInt(i.slice(-3),10)||1}`},r=["encrypt","wrapKey"];break;case"ES256":n={name:"ECDSA",namedCurve:"P-256"},r=["verify"];break;case"ES384":n={name:"ECDSA",namedCurve:"P-384"},r=["verify"];break;case"ES512":n={name:"ECDSA",namedCurve:"P-521"},r=["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{const A=(A=>{switch(!0){case fo(A,[42,134,72,206,61,3,1,7]):return"P-256";case fo(A,[43,129,4,0,34]):return"P-384";case fo(A,[43,129,4,0,35]):return"P-521";default:return}})(s);n=null!=A&&A.startsWith("P-")?{name:"ECDH",namedCurve:A}:{name:"X25519"},r=[];break}case"Ed25519":case"EdDSA":n={name:"Ed25519"},r=["verify"];break;default:throw new so('Invalid or unsupported "alg" (Algorithm) value')}return crypto.subtle.importKey(e,s,n,!0,r)};var wo=async A=>{var e,t;if(!A.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');const{algorithm:i,keyUsages:o}=function(A){let e,t;switch(A.kty){case"RSA":switch(A.alg){case"PS256":case"PS384":case"PS512":e={name:"RSA-PSS",hash:`SHA-${A.alg.slice(-3)}`},t=A.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":e={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${A.alg.slice(-3)}`},t=A.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":e={name:"RSA-OAEP",hash:`SHA-${parseInt(A.alg.slice(-3),10)||1}`},t=A.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new so('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(A.alg){case"ES256":e={name:"ECDSA",namedCurve:"P-256"},t=A.d?["sign"]:["verify"];break;case"ES384":e={name:"ECDSA",namedCurve:"P-384"},t=A.d?["sign"]:["verify"];break;case"ES512":e={name:"ECDSA",namedCurve:"P-521"},t=A.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:"ECDH",namedCurve:A.crv},t=A.d?["deriveBits"]:[];break;default:throw new so('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(A.alg){case"Ed25519":case"EdDSA":e={name:"Ed25519"},t=A.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:A.crv},t=A.d?["deriveBits"]:[];break;default:throw new so('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new so('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:e,keyUsages:t}}(A),n={...A};return delete n.alg,delete n.use,crypto.subtle.importKey("jwk",n,i,null!==(e=A.ext)&&void 0!==e?e:!A.d,null!==(t=A.key_ops)&&void 0!==t?t:o)};async function Do(A,e,t){if(0!==A.indexOf("-----BEGIN PUBLIC KEY-----"))throw new TypeError('"spki" must be SPKI formatted string');return((A,e)=>yo(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",A,e))(A,e)}function So(A){return mo(A)&&"string"==typeof A.kty}let Fo;const Ro=async(A,e,t,i=!1)=>{Fo||(Fo=new WeakMap);let o=Fo.get(A);if(null!=o&&o[t])return o[t];const n=await wo({...e,alg:t});return i&&Object.freeze(A),o?o[t]=n:Fo.set(A,{[t]:n}),n};var ko=async(A,e)=>{if(A instanceof Uint8Array)return A;if(co(A))return A;if(uo(A)){if("secret"===A.type)return A.export();if("toCryptoKey"in A&&"function"==typeof A.toCryptoKey)try{return((A,e)=>{Fo||(Fo=new WeakMap);let t=Fo.get(A);if(null!=t&&t[e])return t[e];const i="public"===A.type,o=!!i;let n;if("x25519"===A.asymmetricKeyType){switch(e){case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":break;default:throw new TypeError("given KeyObject instance cannot be used for this algorithm")}n=A.toCryptoKey(A.asymmetricKeyType,o,i?[]:["deriveBits"])}if("ed25519"===A.asymmetricKeyType){if("EdDSA"!==e&&"Ed25519"!==e)throw new TypeError("given KeyObject instance cannot be used for this algorithm");n=A.toCryptoKey(A.asymmetricKeyType,o,[i?"verify":"sign"])}if("rsa"===A.asymmetricKeyType){let t;switch(e){case"RSA-OAEP":t="SHA-1";break;case"RS256":case"PS256":case"RSA-OAEP-256":t="SHA-256";break;case"RS384":case"PS384":case"RSA-OAEP-384":t="SHA-384";break;case"RS512":case"PS512":case"RSA-OAEP-512":t="SHA-512";break;default:throw new TypeError("given KeyObject instance cannot be used for this algorithm")}if(e.startsWith("RSA-OAEP"))return A.toCryptoKey({name:"RSA-OAEP",hash:t},o,i?["encrypt"]:["decrypt"]);n=A.toCryptoKey({name:e.startsWith("PS")?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:t},o,[i?"verify":"sign"])}if("ec"===A.asymmetricKeyType){var r;const t=new Map([["prime256v1","P-256"],["secp384r1","P-384"],["secp521r1","P-521"]]).get(null===(r=A.asymmetricKeyDetails)||void 0===r?void 0:r.namedCurve);if(!t)throw new TypeError("given KeyObject instance cannot be used for this algorithm");"ES256"===e&&"P-256"===t&&(n=A.toCryptoKey({name:"ECDSA",namedCurve:t},o,[i?"verify":"sign"])),"ES384"===e&&"P-384"===t&&(n=A.toCryptoKey({name:"ECDSA",namedCurve:t},o,[i?"verify":"sign"])),"ES512"===e&&"P-521"===t&&(n=A.toCryptoKey({name:"ECDSA",namedCurve:t},o,[i?"verify":"sign"])),e.startsWith("ECDH-ES")&&(n=A.toCryptoKey({name:"ECDH",namedCurve:t},o,i?[]:["deriveBits"]))}if(!n)throw new TypeError("given KeyObject instance cannot be used for this algorithm");return t?t[e]=n:Fo.set(A,{[e]:n}),n})(A,e)}catch(A){if(A instanceof TypeError)throw A}let t=A.export({format:"jwk"});return Ro(A,t,e)}if(So(A))return A.k?eo(A.k):Ro(A,A,e,!0);throw new Error("unreachable")};const bo=A=>null==A?void 0:A[Symbol.toStringTag],Uo=(A,e,t)=>{if(void 0!==e.use){let A;switch(t){case"sign":case"verify":A="sig";break;case"encrypt":case"decrypt":A="enc"}if(e.use!==A)throw new TypeError(`Invalid key for this operation, its "use" must be "${A}" when present`)}if(void 0!==e.alg&&e.alg!==A)throw new TypeError(`Invalid key for this operation, its "alg" must be "${A}" when present`);if(Array.isArray(e.key_ops)){var i,o;let n;switch(!0){case"verify"===t:case"dir"===A:case A.includes("CBC-HS"):n=t;break;case A.startsWith("PBES2"):n="deriveBits";break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(A):n=!A.includes("GCM")&&A.endsWith("KW")?"unwrapKey":t;break;case"encrypt"===t:n="wrapKey";break;case"decrypt"===t:n=A.startsWith("RSA")?"unwrapKey":"deriveBits"}if(n&&!1===(null===(i=e.key_ops)||void 0===i||null===(o=i.includes)||void 0===o?void 0:o.call(i,n)))throw new TypeError(`Invalid key for this operation, its "key_ops" must include "${n}" when present`)}return!0};var No=(A,e,t)=>{A.startsWith("HS")||"dir"===A||A.startsWith("PBES2")||/^A(?:128|192|256)(?:GCM)?(?:KW)?$/.test(A)||/^A(?:128|192|256)CBC-HS(?:256|384|512)$/.test(A)?((A,e,t)=>{if(!(e instanceof Uint8Array)){if(So(e)){if(function(A){return"oct"===A.kty&&"string"==typeof A.k}(e)&&Uo(A,e,t))return;throw new TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!po(e))throw new TypeError(ho(A,e,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"));if("secret"!==e.type)throw new TypeError(`${bo(e)} instances for symmetric algorithms must be of type "secret"`)}})(A,e,t):((A,e,t)=>{if(So(e))switch(t){case"decrypt":case"sign":if(function(A){return"oct"!==A.kty&&"string"==typeof A.d}(e)&&Uo(A,e,t))return;throw new TypeError("JSON Web Key for this operation be a private JWK");case"encrypt":case"verify":if(function(A){return"oct"!==A.kty&&void 0===A.d}(e)&&Uo(A,e,t))return;throw new TypeError("JSON Web Key for this operation be a public JWK")}if(!po(e))throw new TypeError(ho(A,e,"CryptoKey","KeyObject","JSON Web Key"));if("secret"===e.type)throw new TypeError(`${bo(e)} instances for asymmetric algorithms must not be of type "secret"`);if("public"===e.type)switch(t){case"sign":throw new TypeError(`${bo(e)} instances for asymmetric algorithm signing must be of type "private"`);case"decrypt":throw new TypeError(`${bo(e)} instances for asymmetric algorithm decryption must be of type "private"`)}if("private"===e.type)switch(t){case"verify":throw new TypeError(`${bo(e)} instances for asymmetric algorithm verifying must be of type "public"`);case"encrypt":throw new TypeError(`${bo(e)} instances for asymmetric algorithm encryption must be of type "public"`)}})(A,e,t)},Yo=async(A,e,t)=>{if(e instanceof Uint8Array){if(!A.startsWith("HS"))throw new TypeError(((A,...e)=>Eo("Key must be ",A,...e))(e,"CryptoKey","KeyObject","JSON Web Key"));return crypto.subtle.importKey("raw",e,{hash:`SHA-${A.slice(-3)}`,name:"HMAC"},!1,[t])}return Qo(e,A,t),e},Jo=async(A,e,t,i)=>{const o=await Yo(A,e,"verify");((A,e)=>{if(A.startsWith("RS")||A.startsWith("PS")){const{modulusLength:t}=e.algorithm;if("number"!=typeof t||t<2048)throw new TypeError(`${A} requires key modulusLength to be 2048 bits or larger`)}})(A,o);const n=((A,e)=>{const t=`SHA-${A.slice(-3)}`;switch(A){case"HS256":case"HS384":case"HS512":return{hash:t,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:t,name:"RSA-PSS",saltLength:parseInt(A.slice(-3),10)>>3};case"RS256":case"RS384":case"RS512":return{hash:t,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:t,name:"ECDSA",namedCurve:e.namedCurve};case"Ed25519":case"EdDSA":return{name:"Ed25519"};default:throw new so(`alg ${A} is not supported either by JOSE or your javascript runtime`)}})(A,o.algorithm);try{return await crypto.subtle.verify(n,o,t,i)}catch(A){return!1}};async function Go(A,e,t){var i;if(!mo(A))throw new go("Flattened JWS must be an object");if(void 0===A.protected&&void 0===A.header)throw new go('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==A.protected&&"string"!=typeof A.protected)throw new go("JWS Protected Header incorrect type");if(void 0===A.payload)throw new go("JWS Payload missing");if("string"!=typeof A.signature)throw new go("JWS Signature missing or incorrect type");if(void 0!==A.header&&!mo(A.header))throw new go("JWS Unprotected Header incorrect type");let o={};if(A.protected)try{const e=eo(A.protected);o=JSON.parse(Ao.decode(e))}catch(A){throw new go("JWS Protected Header is invalid")}if(!((...A)=>{const e=A.filter(Boolean);if(0===e.length||1===e.length)return!0;let t;for(const A of e){const e=Object.keys(A);if(t&&0!==t.size)for(const A of e){if(t.has(A))return!1;t.add(A)}else t=new Set(e)}return!0})(o,A.header))throw new go("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const n={...o,...A.header},r=((A,e,t,i,o)=>{if(void 0!==o.crit&&void 0===(null==i?void 0:i.crit))throw new A('"crit" (Critical) Header Parameter MUST be integrity protected');if(!i||void 0===i.crit)return new Set;if(!Array.isArray(i.crit)||0===i.crit.length||i.crit.some((A=>"string"!=typeof A||0===A.length)))throw new A('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let n;n=void 0!==t?new Map([...Object.entries(t),...e.entries()]):e;for(const e of i.crit){if(!n.has(e))throw new so(`Extension Header Parameter "${e}" is not recognized`);if(void 0===o[e])throw new A(`Extension Header Parameter "${e}" is missing`);if(n.get(e)&&void 0===i[e])throw new A(`Extension Header Parameter "${e}" MUST be integrity protected`)}return new Set(i.crit)})(go,new Map([["b64",!0]]),null==t?void 0:t.crit,o,n);let s=!0;if(r.has("b64")&&(s=o.b64,"boolean"!=typeof s))throw new go('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:g}=n;if("string"!=typeof g||!g)throw new go('JWS "alg" (Algorithm) Header Parameter missing or invalid');const I=t&&((A,e)=>{if(void 0!==e&&(!Array.isArray(e)||e.some((A=>"string"!=typeof A))))throw new TypeError(`"${A}" option must be an array of strings`);if(e)return new Set(e)})("algorithms",t.algorithms);if(I&&!I.has(g))throw new ro('"alg" (Algorithm) Header Parameter value not allowed');if(s){if("string"!=typeof A.payload)throw new go("JWS Payload must be a string")}else if("string"!=typeof A.payload&&!(A.payload instanceof Uint8Array))throw new go("JWS Payload must be a string or an Uint8Array instance");let a=!1;"function"==typeof e&&(e=await e(o,A),a=!0),No(g,e,"verify");const B=function(...A){const e=A.reduce(((A,{length:e})=>A+e),0),t=new Uint8Array(e);let i=0;for(const e of A)t.set(e,i),i+=e.length;return t}($i.encode(null!==(i=A.protected)&&void 0!==i?i:""),$i.encode("."),"string"==typeof A.payload?$i.encode(A.payload):A.payload);let C;try{C=eo(A.signature)}catch(A){throw new go("Failed to base64url decode the signature")}const l=await ko(e,g);if(!await Jo(g,l,C,B))throw new ao;let Q;if(s)try{Q=eo(A.payload)}catch(A){throw new go("Failed to base64url decode the payload")}else Q="string"==typeof A.payload?$i.encode(A.payload):A.payload;const E={payload:Q};return void 0!==A.protected&&(E.protectedHeader=o),void 0!==A.header&&(E.unprotectedHeader=A.header),a?{...E,key:l}:E}const Vo=86400,Zo=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;var Oo=A=>{const e=Zo.exec(A);if(!e||e[4]&&e[1])throw new TypeError("Invalid time period format");const t=parseFloat(e[2]);let i;switch(e[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":i=Math.round(t);break;case"minute":case"minutes":case"min":case"mins":case"m":i=Math.round(60*t);break;case"hour":case"hours":case"hr":case"hrs":case"h":i=Math.round(3600*t);break;case"day":case"days":case"d":i=Math.round(t*Vo);break;case"week":case"weeks":case"w":i=Math.round(604800*t);break;default:i=Math.round(31557600*t)}return"-"===e[1]||"ago"===e[4]?-i:i};const Wo=A=>A.toLowerCase().replace(/^application\//,"");function Mo(A,e,t={}){let i;try{i=JSON.parse(Ao.decode(e))}catch(A){}if(!mo(i))throw new Io("JWT Claims Set must be a top-level JSON object");const{typ:o}=t;if(o&&("string"!=typeof A.typ||Wo(A.typ)!==Wo(o)))throw new oo('unexpected "typ" JWT header value',i,"typ","check_failed");const{requiredClaims:n=[],issuer:r,subject:s,audience:g,maxTokenAge:I}=t,a=[...n];void 0!==I&&a.push("iat"),void 0!==g&&a.push("aud"),void 0!==s&&a.push("sub"),void 0!==r&&a.push("iss");for(const A of new Set(a.reverse()))if(!(A in i))throw new oo(`missing required "${A}" claim`,i,A,"missing");if(r&&!(Array.isArray(r)?r:[r]).includes(i.iss))throw new oo('unexpected "iss" claim value',i,"iss","check_failed");if(s&&i.sub!==s)throw new oo('unexpected "sub" claim value',i,"sub","check_failed");if(g&&(B=i.aud,C="string"==typeof g?[g]:g,!("string"==typeof B?C.includes(B):Array.isArray(B)&&C.some(Set.prototype.has.bind(new Set(B))))))throw new oo('unexpected "aud" claim value',i,"aud","check_failed");var B,C;let l;switch(typeof t.clockTolerance){case"string":l=Oo(t.clockTolerance);break;case"number":l=t.clockTolerance;break;case"undefined":l=0;break;default:throw new TypeError("Invalid clockTolerance option type")}const{currentDate:Q}=t,E=(h=Q||new Date,Math.floor(h.getTime()/1e3));var h;if((void 0!==i.iat||I)&&"number"!=typeof i.iat)throw new oo('"iat" claim must be a number',i,"iat","invalid");if(void 0!==i.nbf){if("number"!=typeof i.nbf)throw new oo('"nbf" claim must be a number',i,"nbf","invalid");if(i.nbf>E+l)throw new oo('"nbf" claim timestamp check failed',i,"nbf","check_failed")}if(void 0!==i.exp){if("number"!=typeof i.exp)throw new oo('"exp" claim must be a number',i,"exp","invalid");if(i.exp<=E-l)throw new no('"exp" claim timestamp check failed',i,"exp","check_failed")}if(I){const A=E-i.iat;if(A-l>("number"==typeof I?I:Oo(I)))throw new no('"iat" claim timestamp check failed (too far in the past)',i,"iat","check_failed");if(A<0-l)throw new oo('"iat" claim timestamp check failed (it should be in the past)',i,"iat","check_failed")}return i}async function Ho(A,e,t){var i;const o=await async function(A,e,t){if(A instanceof Uint8Array&&(A=Ao.decode(A)),"string"!=typeof A)throw new go("Compact JWS must be a string or Uint8Array");const{0:i,1:o,2:n,length:r}=A.split(".");if(3!==r)throw new go("Invalid Compact JWS");const s=await Go({payload:o,protected:i,signature:n},e,t),g={payload:s.payload,protectedHeader:s.protectedHeader};return"function"==typeof e?{...g,key:s.key}:g}(A,e,t);if(null!==(i=o.protectedHeader.crit)&&void 0!==i&&i.includes("b64")&&!1===o.protectedHeader.b64)throw new Io("JWTs MUST NOT use unencoded payload");const n={payload:Mo(o.protectedHeader,o.payload,t),protectedHeader:o.protectedHeader};return"function"==typeof e?{...n,key:o.key}:n}const To="QRCodeJsLicense",Xo=m(["ol","ac","hl","so","t"].reverse().join("")),xo=m(["ol","ac","it","no"].reverse().join("")),Lo=m(["oh","ts","an","em"].reverse().join(""));class Ko{constructor(){this._hls=!1,this._decodedToken=null,this._licenseKey=null,this._isInitialized=!1,this._initPromise=null,this._licenseFetcher=async A=>{const e=Ko._customLicenseApiUrl||`${Ii}//v1/license/get-token`;try{const i=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({licenseKey:A})});if(!i.ok){var t;let A={};try{A=await i.json()}catch(A){}throw new Error(`Failed to fetch token: ${i.status} ${(null===(t=A)||void 0===t?void 0:t.error)||i.statusText}`)}const o=await i.text();if(!o)throw new Error("Fetched token is empty.");return o}catch(A){throw console.error(`LicenseManager: Default fetcher failed: ${A.message}`),new Error(`License fetcher failed: ${A.message}`)}}}static get instance(){return Ko._instance||(Ko._instance=new Ko),Ko._instance}static setDefaultLicenseApiUrl(A){"string"==typeof A&&A?Ko._customLicenseApiUrl=A:console.warn("LicenseManager: Invalid URL provided to setDefaultLicenseApiUrl.")}get hls(){return this._hls}get isInitialized(){return this._isInitialized}getLicenseDetails(){return this._hls?this._decodedToken:null}get licenseKey(){return this._licenseKey}configureLicenseFetcher(A){if("function"!=typeof A)throw new Error("License fetcher must be a function that accepts a license key string and returns a Promise<string>.");this._licenseFetcher=A,this.resetInitialization(),this.resetLicenseState()}async initialize(){return this._isInitialized&&this._initPromise||this._initPromise||(this._initPromise=this._performInitialization()),this._initPromise}async _performInitialization(){if(this._hls)return this._isInitialized=!0,!0;this.resetLicenseState();const A=this._getStoredLicenseData(),e=A.token||null,t=A.key||null;if(this._licenseKey=t,!e)return this._isInitialized=!0,!1;const i=await this._validateAndStoreToken(e,t);if(i.isValid)return this._hls=!0,this._decodedToken=i.license,this._isInitialized=!0,!0;if(i.reason||console.warn("LicenseManager: Stored license token failed validation during initialization (unknown reason)."),!t)return console.warn("LicenseManager: Cannot refresh token: No license key found in storage."),this._isInitialized=!0,!1;console.warn("LicenseManager: Attempting to refresh token using stored license key...");try{const A=await this.activateWithKey(t);return this._isInitialized=!0,A.isValid}catch(A){return console.error(`LicenseManager: Auto-refresh attempt failed unexpectedly: ${A.message}`),this._licenseKey=t,this._isInitialized=!0,!1}}resetInitialization(){this._isInitialized=!1,this._initPromise=null}resetLicenseState(){this._hls=!1,this._decodedToken=null,this._licenseKey=null}async activateWithToken(A){let e;return this.resetInitialization(),null===A?(e=await this._validateAndStoreToken(null,this._licenseKey),this._hls=!1,this._decodedToken=null):"string"==typeof A&&A?(e=await this._validateAndStoreToken(A,null),this._hls=e.isValid,this._decodedToken=e.license,e.isValid?this._licenseKey=this._getStoredLicenseData().key||null:this._licenseKey=null):(console.warn("Invalid token string provided to activateWithToken()."),e=await this._validateAndStoreToken(null,null),e.reason="TOKEN_INVALID",this._hls=!1,this._decodedToken=null,this._licenseKey=null),this._isInitialized=!0,this._initPromise=Promise.resolve(this._hls),!e.isValid&&e.reason&&this._logValidationWarning(e.reason,{token:A,license:e.license}),e}async activateWithKey(A){this.resetInitialization();let e={isValid:!1,token:null,license:null};if(A&&"string"==typeof A){this._licenseKey=A;let o=null,n=null;const r=this._getStoredLicenseData();if(o=r.token||null,n=r.key||null,o&&n===A?(e=await this._validateAndStoreToken(o,A),e.isValid||(e.reason?this._logValidationWarning(e.reason,{licenseKey:A,license:e.license}):console.warn("LicenseManager: Cached token validation failed (unknown reason). Attempting to fetch a new token..."))):(e={isValid:!1,token:null,license:null},o&&n!==A&&console.warn("LicenseManager: Cached token belongs to a different license key. Fetching new token...")),!e.isValid)try{const t=await this._licenseFetcher(A);e=await this._validateAndStoreToken(t,A)}catch(o){var t,i;let n="FETCH_FAILED";null!=o&&null!==(t=o.message)&&void 0!==t&&t.includes("Invalid license key")?n="KEY_INVALID":null!=o&&null!==(i=o.message)&&void 0!==i&&i.includes("License has expired")&&(n="TOKEN_EXPIRED"),await this._validateAndStoreToken(null,A),e={isValid:!1,token:null,license:null,reason:n}}this._hls=e.isValid,this._decodedToken=e.license}else console.warn("Invalid license key provided to activateWithKey()."),await this._validateAndStoreToken(null,null),e={isValid:!1,token:null,license:null,reason:"KEY_INVALID"},this._hls=!1,this._decodedToken=null,this._licenseKey=null;return this._isInitialized=!0,this._initPromise=Promise.resolve(this._hls),!e.isValid&&e.reason&&this._logValidationWarning(e.reason,{licenseKey:A,license:e.license}),e}_checkDomain(A){const e=window[xo],t=window[xo][Lo];if(Ko._currentHostname=t,!e||"string"!=typeof t||!t)return{domainValid:!0};const i=Ko._currentHostname.toLowerCase();if(i===Xo)return{domainValid:!0};const o=A.domains;if(!o||0===o.length)return{domainValid:!0};return o.map((A=>A.toLowerCase())).includes(i)?{domainValid:!0}:{domainValid:!1,reason:"DOMAIN_MISMATCH"}}_logValidationWarning(A,e){var t,i,o;let n=`LicenseManager: Validation failed. Reason: ${A}`;try{switch(A){case"DOMAIN_MISMATCH":const A=null!==(t=Ko._currentHostname)&&void 0!==t?t:"N/A";n=`LicenseManager: Domain mismatch. License is restricted to [${(null==e||null===(i=e.license)||void 0===i||null===(i=i.domains)||void 0===i?void 0:i.join(", "))||"Not specified in token"}], but the current domain is "${A}".`;break;case"TOKEN_EXPIRED":n=`LicenseManager: License token expired on ${null!=e&&null!==(o=e.license)&&void 0!==o&&o.exp?new Date(1e3*e.license.exp).toISOString():"N/A"}.`;break;case"TOKEN_INVALID":n="LicenseManager: License token is invalid (e.g., signature mismatch, malformed).";break;case"FETCH_FAILED":n="LicenseManager: Failed to fetch license token from the server. Check network or API endpoint.",null!=e&&e.licenseKey&&(n+=` (Key: ${e.licenseKey})`);break;case"KEY_INVALID":n="LicenseManager: The provided license key appears invalid or could not be found by the server.",null!=e&&e.licenseKey&&(n+=` (Key: ${e.licenseKey})`)}}catch(A){console.error("LicenseManager: Error generating validation warning message:",A)}console.warn(n)}_getStoredLicenseData(){if("undefined"==typeof localStorage)return{};try{const A=localStorage.getItem(To);return A?JSON.parse(A):{}}catch(A){return console.warn("LicenseManager: Failed to parse license data from localStorage.",A),localStorage.removeItem(To),{}}}_setStoredLicenseData(A){if("undefined"!=typeof localStorage)try{const e={};void 0!==A.token&&(e.token=A.token),void 0!==A.key&&(e.key=A.key),Object.keys(e).length>0?localStorage.setItem(To,JSON.stringify(e)):localStorage.removeItem(To)}catch(A){console.warn("LicenseManager: Failed to store license data to localStorage.",A)}}async _validateAndStoreToken(A,e){var t;const i=this._getStoredLicenseData(),o=null!==(t=null!=e?e:i.key)&&void 0!==t?t:void 0;if(!A)return this._setStoredLicenseData({key:o}),{isValid:!1,token:null,license:null};let n,r=null;try{r=await async function(A){try{const e=await Do("-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ZCmxp1vq4LJLviS9d2u\nY5V9IykLzCrNcj8fCenqEyir5b4+FGE3hvLqp9zT+IYRF2cV2K0aGe9G0COFZsX2\nE5ye1DguyvPQgRMPO8y7bxXJ3da1IP7Gs+/3gy4iuzRV4Uhy73jUVpqE/zZ2JAv/\nsY36Rxmq4h7YE/F6YQk3DeZvnHjS7spUlp/+d3W67G8v2jiYWy3pO08Sn0rF2cjg\nXrJA5jcNr7ksER7AQcwayaLT4rAV4+EOcDYXL2egnqoTEmRzQYD2ReHBsO6jB0Ud\nbmsNepxbBdq/fBr+5HNj2tUJItarfH3BUVRFu/L1xP8wOEQa8wmPRwrJdPsI3bdk\n7QIDAQAB\n-----END PUBLIC KEY-----","RS256"),{payload:t}=await Ho(A,e,{algorithms:["RS256"]});if(!t||"string"!=typeof t.sub)throw new io("Decoded token payload structure is invalid.");return t}catch(A){throw A}}(A);try{const e=this._checkDomain(r);if(!e.domainValid)return n=e.reason,i.token===A&&this._setStoredLicenseData({key:o}),{isValid:!1,token:null,license:r,reason:n}}catch(e){return console.error("LicenseManager: Internal error during domain check.",e),n="TOKEN_INVALID",i.token===A&&this._setStoredLicenseData({key:o}),{isValid:!1,token:null,license:r,reason:n}}return this._setStoredLicenseData({token:A,key:o}),{isValid:!0,token:A,license:r}}catch(e){return e instanceof no?n="TOKEN_EXPIRED":(n="TOKEN_INVALID",console.error("LicenseManager: Token validation failed.",e)),i.token===A&&this._setStoredLicenseData({key:o}),{isValid:!1,token:null,license:r,reason:n}}}}Ko._instance=null,Ko._customLicenseApiUrl=null,Ko._currentHostname=null;class qo extends _i{constructor(A,e=!1){super(A),e||(Ko.instance.isInitialized||Ko.instance.hls?Ko.instance.isInitialized&&!Ko.instance.hls&&console.warn("QRCode.js: No valid license found. Some features may be limited."):console.warn("QRCode.js: License state not yet initialized. Call QRCodeJs.initializeIfNeeded() or activate a license."))}_hls(){return Ko.instance.isInitialized?Ko.instance.hls:(Ko.instance.initialize().catch((A=>{console.error("QRCode.js: Background license initialization failed:",A)})),!1)}static async initializeIfNeeded(){return Ko.instance.initialize()}static get hls(){return Ko.instance.isInitialized?Ko.instance.hls:(Ko.instance.initialize().catch((A=>{console.error("QRCode.js: Background license initialization failed:",A)})),!1)}static getLicenseDetails(){return Ko.instance.isInitialized?Ko.instance.getLicenseDetails():(Ko.instance.initialize().catch((A=>{console.error("QRCode.js: Background license initialization failed:",A)})),null)}static configureLicenseFetcher(A){Ko.instance.configureLicenseFetcher(A)}static async token(A){return Ko.instance.activateWithToken(A)}static setLicenseUrl(A){return Ko.setDefaultLicenseApiUrl(A),this}static async license(A){return Ko.instance.activateWithKey(A)}async validateScanning(A="zbar",e=!1){if(!this._hls())return console.warn("QRCode.js: Scanning validation requires a valid license."),Promise.reject({isValid:!1,message:"Valid license required for scanning validation."});try{const{default:A}=await Promise.resolve().then((function(){return Rn})),t=await this.serialize(),i=this.size;if(!i)throw new Error("QR code dimensions not available for validation. Ensure the QR code has been generated.");const{width:o,height:n}=i,r=await(new A).validate(t,(async()=>this.serialize(!0)),o,n,e);if(r.isValid)return r;{console.debug("Zbar validation failed, trying Zxing...");const{default:A}=await Promise.resolve().then((function(){return vr}));return(new A).validate(t,(async()=>this.serialize(!0)),e)}}catch(A){const e=A instanceof Error?A.message:"Unknown validation error";return console.error(`Validation failed: ${e}`,A),Promise.reject({isValid:!1,message:e})}}static useTemplate(A){return new vo(this,A)}static useTemplateId(A){return new vo(this).useTemplateId(A)}static useStyle(A){return new vo(this).useStyle(A)}static useStyleId(A){return new vo(this).useStyleId(A)}static useBorder(A){return new vo(this).useBorder(A)}static useBorderId(A){return new vo(this).useBorderId(A)}static useImage(A,e){return new vo(this).useImage(A,e)}static useText(A,e){return new vo(this).useText(A,e)}static useTextId(A,e){return new vo(this).useTextId(A,e)}static useData(A,e){return new vo(this).useData(A,e)}static useOptions(A,e){return new vo(this).useOptions(A,e)}static useSettings(A){return new vo(this).useSettings(A)}}class jo extends qo{_hls(){return!0}constructor(A){super(A,!0)}}class vo{constructor(A,e){this._templateSource=null,this._borderSource=null,this._styleSource=null,this._imageSource=null,this._imageOverride=!1,this._textSource=null,this._textOverride=!1,this._isTemplateById=!1,this._isBorderById=!1,this._isStyleById=!1,this._isTextById=!1,this._optionsSource=null,this._optionsOverride=!1,this._dataSource=null,this._dataOverride=!1,this._idSource=null,this._nameSource=null,this._descriptionSource=null,this._metadataSource=null,this._initialOptions=null,this._qrCodeConstructor=A,"string"==typeof e?(this._templateSource=e,this._isTemplateById=!1):e&&(this._initialOptions=e)}useTemplate(A){return this._templateSource=A,this._isTemplateById=!1,this._initialOptions=null,this}useTemplateId(A){return this._templateSource=A,this._isTemplateById=!0,this._initialOptions=null,this}useStyle(A){return this._styleSource=A,this._isStyleById=!1,this}useStyleId(A){return this._styleSource=A,this._isStyleById=!0,this}useBorder(A){return this._borderSource=A,this._isBorderById=!1,this}useBorderId(A){return this._borderSource=A,this._isBorderById=!0,this}useImage(A,e){return this._imageSource=A,this._imageOverride=!(null==e||!e.override),this}useData(A,e){return this._dataSource=A,this._dataOverride=!(null==e||!e.override),this}useText(A,e){return this._textSource=A,this._isTextById=!1,this._textOverride=!(null==e||!e.override),this._initialOptions=null,this}useTextId(A,e){return this._textSource=A,this._isTextById=!0,this._textOverride=!(null==e||!e.override),this._initialOptions=null,this}useOptions(A,e){return this._optionsSource=A,this._optionsOverride=!(null==e||!e.override),this._initialOptions=null,this}useId(A){return this._idSource=A,this._initialOptions=null,this}useName(A){return this._nameSource=A,this._initialOptions=null,this}useDescription(A){return this._descriptionSource=A,this._initialOptions=null,this}useMetadata(A){return this._metadataSource=A,this._initialOptions=null,this}useSettings(A){return this._initialOptions=null,void 0!==A.id&&(this._idSource=A.id),void 0!==A.name&&(this._nameSource=A.name),void 0!==A.description&&(this._descriptionSource=A.description),void 0!==A.metadata&&(this._metadataSource=A.metadata),A.templateId?(this._templateSource=A.templateId,this._isTemplateById=!0):A.template&&(this._templateSource=A.template,this._isTemplateById=!1),A.borderId?(this._borderSource=A.borderId,this._isBorderById=!0):A.border&&(A.border,this._borderSource=A.border,this._isBorderById=!1),this._textOverride||(A.textId?(this._textSource=A.textId,this._isTextById=!0):A.text&&(this._textSource=A.text,this._isTextById=!1)),A.style?(this._styleSource=A.style,this._isStyleById=!1):A.styleId&&(this._styleSource=A.styleId,this._isStyleById=!0),this._imageOverride||A.image&&(this._imageSource=A.image,this._imageOverride=!1),this._dataOverride||A.data&&(this._dataSource=A.data,this._dataOverride=!1),this._optionsOverride||A.options&&(this._optionsSource=A.options),this._initialOptions=null,this}_resolveAndMergeConfig(A={}){let e={};e=this._initialOptions?f({},this._initialOptions):f({},UA);let t=null;if(this._templateSource&&"string"==typeof this._templateSource){const A=(this._isTemplateById?zt:Pt)(this._templateSource);if(A)t=A.options;else{const A=this._isTemplateById?"ID":"name";console.warn(`QR Code template ${A} "${this._templateSource}" not found. Using base template.`)}}else this._templateSource&&"string"!=typeof this._templateSource&&(t=this._templateSource);t&&(e=f(e,t));let i=null;if(this._borderSource)if("string"==typeof this._borderSource){const A=(this._isBorderById?qi:Ki)(this._borderSource);if(A)i=A.options;else{const A=this._isBorderById?"ID":"name";console.warn(`QR Code border ${A} "${this._borderSource}" not found. Ignoring.`)}}else i={borderOptions:this._borderSource};i&&(e=f(e,i));let o=null;if(this._textSource&&!this._textOverride){let A=null;if("string"==typeof this._textSource){const e=(this._isTextById?Pi:vi)(this._textSource);if(e)A=e.options;else{const A=this._isTextById?"ID":"name";console.warn(`QR Code text template ${A} "${this._textSource}" not found. Ignoring.`)}}else A=this._textSource;if(A){o={borderOptions:{decorations:{}}};const e=o.borderOptions.decorations,t=null===A.value?void 0:A.value;void 0!==A.value&&(void 0===A.topValue&&(e.top={value:t}),void 0===A.bottomValue&&(e.bottom={value:t}),void 0===A.leftValue&&(e.left={value:t}),void 0===A.rightValue&&(e.right={value:t})),void 0!==A.topValue&&(e.top={value:null===A.topValue?void 0:A.topValue}),void 0!==A.leftValue&&(e.left={value:null===A.leftValue?void 0:A.leftValue}),void 0!==A.rightValue&&(e.right={value:null===A.rightValue?void 0:A.rightValue}),void 0!==A.bottomValue&&(e.bottom={value:null===A.bottomValue?void 0:A.bottomValue})}}o&&(e=f(e,o));let n=null;if(this._styleSource)if("string"==typeof this._styleSource){const A=(this._isStyleById?fi:mi)(this._styleSource);if(A)n=A.style;else{const A=this._isStyleById?"ID":"name";console.warn(`QR Code style ${A} "${this._styleSource}" not found. Ignoring.`)}}else{const{isValid:A,errors:e}=FA(this._styleSource);A?n=this._styleSource:console.warn("Invalid style options object provided:",e)}if(n){e=f(e,SA(n))}if(this._imageSource&&!this._imageOverride&&(e=f(e,{image:this._imageSource})),this._dataSource&&!this._dataOverride&&(e=f(e,{data:this._dataSource})),this._optionsSource&&!this._optionsOverride&&(e=f(e,this._optionsSource)),e=f(e,A),this._imageOverride&&this._imageSource&&(e=f(e,{image:this._imageSource})),this._textOverride&&this._textSource){const A={borderOptions:{decorations:{}}};let t=null;if("string"==typeof this._textSource){const A=(this._isTextById?Pi:vi)(this._textSource);A&&(t=A.options)}else t=this._textSource;if(t){const i=A.borderOptions.decorations,o=null===t.value?void 0:t.value;void 0!==t.value&&(void 0===t.topValue&&(i.top={value:o}),void 0===t.bottomValue&&(i.bottom={value:o}),void 0===t.leftValue&&(i.left={value:o}),void 0===t.rightValue&&(i.right={value:o})),void 0!==t.topValue&&(i.top={value:null===t.topValue?void 0:t.topValue}),void 0!==t.leftValue&&(i.left={value:null===t.leftValue?void 0:t.leftValue}),void 0!==t.rightValue&&(i.right={value:null===t.rightValue?void 0:t.rightValue}),void 0!==t.bottomValue&&(i.bottom={value:null===t.bottomValue?void 0:t.bottomValue}),e=f(e,A)}}return this._dataOverride&&this._dataSource&&(e=f(e,{data:this._dataSource})),this._optionsSource&&this._optionsOverride&&(e=f(e,this._optionsSource)),e}options(A){const e=this._resolveAndMergeConfig(A),t=new this._qrCodeConstructor(e);return null!==this._idSource&&t.setId(this._idSource),null!==this._nameSource&&t.setName(this._nameSource),null!==this._descriptionSource&&t.setDescription(this._descriptionSource),null!==this._metadataSource&&t.setMetadata(this._metadataSource),t}build(){const A=this._resolveAndMergeConfig(),e=new this._qrCodeConstructor(A);return null!==this._idSource&&e.setId(this._idSource),null!==this._nameSource&&e.setName(this._nameSource),null!==this._descriptionSource&&e.setDescription(this._descriptionSource),null!==this._metadataSource&&e.setMetadata(this._metadataSource),e}}function Po(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}"undefined"!=typeof window&&(window.QRCodeJs=qo,window.__=jo);var zo,_o={},$o={};var An,en,tn={};
|
|
1
|
+
!function(A,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((A="undefined"!=typeof globalThis?globalThis:A||self).QRCodeJs={})}(this,(function(A){"use strict";function e(A,e){return e.forEach((function(e){e&&"string"!=typeof e&&!Array.isArray(e)&&Object.keys(e).forEach((function(t){if("default"!==t&&!(t in A)){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(A,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})}}))})),Object.freeze(A)}const t={width:500,height:500};class i{constructor(){this.buffer=[],this.length=0}getBuffer(){return this.buffer}getLengthInBits(){return this.length}toString(){let A="";for(let e=0;e<this.getLengthInBits();e+=1)A+=this.getBit(e)?"1":"0";return A}getBit(A){return 1==(this.buffer[~~(A/8)]>>>7-A%8&1)}put(A,e){for(let t=0;t<e;t+=1)this.putBit(1==(A>>>e-t-1&1))}putBit(A){this.length==8*this.buffer.length&&this.buffer.push(0),A&&(this.buffer[~~(this.length/8)]|=128>>>this.length%8),this.length+=1}}var o,n,r;!function(A){A[A.L=1]="L",A[A.M=0]="M",A[A.Q=3]="Q",A[A.H=2]="H"}(o||(o={}));class s{constructor(){throw new Error("error")}static glog(A){if(A<1)throw new Error("log("+A+")");return s.LOG_TABLE[A]}static gexp(A){for(;A<0;)A+=255;for(;A>=256;)A-=255;return s.EXP_TABLE[A]}}s.initialize=(()=>{s.EXP_TABLE=[],s.LOG_TABLE=[];for(let A=0;A<256;A+=1)s.EXP_TABLE.push(A<8?1<<A:s.EXP_TABLE[A-4]^s.EXP_TABLE[A-5]^s.EXP_TABLE[A-6]^s.EXP_TABLE[A-8]),s.LOG_TABLE.push(0);for(let A=0;A<255;A+=1)s.LOG_TABLE[s.EXP_TABLE[A]]=A})();class g{constructor(A,e=0){let t=0;for(;t<A.length&&0==A[t];)t+=1;this.num=[];const i=A.length-t;for(let e=0;e<i;e+=1)this.num.push(A[t+e]);for(let A=0;A<e;A+=1)this.num.push(0)}getAt(A){return this.num[A]}getLength(){return this.num.length}toString(){let A="";for(let e=0;e<this.getLength();e+=1)e>0&&(A+=","),A+=this.getAt(e);return A.toString()}toLogString(){let A="";for(let e=0;e<this.getLength();e+=1)e>0&&(A+=","),A+=s.glog(this.getAt(e));return A.toString()}multiply(A){const e=[],t=this.getLength()+A.getLength()-1;for(let A=0;A<t;A+=1)e.push(0);for(let t=0;t<this.getLength();t+=1)for(let i=0;i<A.getLength();i+=1)e[t+i]^=s.gexp(s.glog(this.getAt(t))+s.glog(A.getAt(i)));return new g(e)}mod(A){if(this.getLength()-A.getLength()<0)return this;const e=s.glog(this.getAt(0))-s.glog(A.getAt(0)),t=[];for(let A=0;A<this.getLength();A+=1)t.push(this.getAt(A));for(let i=0;i<A.getLength();i+=1)t[i]^=s.gexp(s.glog(A.getAt(i))+e);return new g(t).mod(A)}}!function(A){A[A.MODE_NUMBER=1]="MODE_NUMBER",A[A.MODE_ALPHA_NUM=2]="MODE_ALPHA_NUM",A[A.MODE_8BIT_BYTE=4]="MODE_8BIT_BYTE",A[A.MODE_KANJI=8]="MODE_KANJI"}(n||(n={}));class I{constructor(A,e){this.mode=A,this.data=e}getMode(){return this.mode}getData(){return this.data}getLengthInBits(A){if(1<=A&&A<10)switch(this.mode){case n.MODE_NUMBER:return 10;case n.MODE_ALPHA_NUM:return 9;case n.MODE_8BIT_BYTE:case n.MODE_KANJI:return 8;default:throw new Error("mode:"+this.mode)}else if(A<27)switch(this.mode){case n.MODE_NUMBER:return 12;case n.MODE_ALPHA_NUM:return 11;case n.MODE_8BIT_BYTE:return 16;case n.MODE_KANJI:return 10;default:throw new Error("mode:"+this.mode)}else{if(!(A<41))throw new Error("typeNumber:"+A);switch(this.mode){case n.MODE_NUMBER:return 14;case n.MODE_ALPHA_NUM:return 13;case n.MODE_8BIT_BYTE:return 16;case n.MODE_KANJI:return 12;default:throw new Error("mode:"+this.mode)}}}}class a extends I{constructor(A,e){super(n.MODE_8BIT_BYTE,A),this.stringToBytes=e}write(A){this.stringToBytes(this.getData()).forEach((e=>A.put(e,8)))}getLength(){return this.stringToBytes(this.getData()).length}}class B extends I{constructor(A){super(n.MODE_ALPHA_NUM,A)}write(A){const e=this.getData();let t=0;for(;t+1<e.length;)A.put(45*B.getCode(e.charAt(t))+B.getCode(e.charAt(t+1)),11),t+=2;t<e.length&&A.put(B.getCode(e.charAt(t)),6)}getLength(){return this.getData().length}static getCode(A){if("0"<=A&&A<="9")return A.charCodeAt(0)-"0".charCodeAt(0);if("A"<=A&&A<="Z")return A.charCodeAt(0)-"A".charCodeAt(0)+10;switch(A){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw new Error("illegal char :"+A)}}}class C extends I{constructor(A,e){super(n.MODE_KANJI,A),this.stringToBytes=e}write(A){const e=this.stringToBytes(this.getData());let t=0;for(;t+1<e.length;){let i=(255&e[t])<<8|255&e[t+1];if(33088<=i&&i<=40956)i-=33088;else{if(!(57408<=i&&i<=60351))throw new Error("illegal char at "+(t+1)+"/"+i);i-=49472}i=192*(i>>>8&255)+(255&i),A.put(i,13),t+=2}if(t<e.length)throw new Error("illegal char at "+(t+1))}getLength(){return this.stringToBytes(this.getData()).length/2}}class l extends I{constructor(A){super(n.MODE_NUMBER,A)}write(A){const e=this.getData();let t=0;for(;t+2<e.length;)A.put(l.strToNum(e.substring(t,t+3)),10),t+=3;t<e.length&&(e.length-t==1?A.put(l.strToNum(e.substring(t,t+1)),4):e.length-t==2&&A.put(l.strToNum(e.substring(t,t+2)),7))}getLength(){return this.getData().length}static strToNum(A){let e=0;for(let t=0;t<A.length;t+=1)e=10*e+l.chatToNum(A.charAt(t));return e}static chatToNum(A){if("0"<=A&&A<="9")return A.charCodeAt(0)-"0".charCodeAt(0);throw new Error("illegal char :"+A)}}!function(A){A[A.PATTERN000=0]="PATTERN000",A[A.PATTERN001=1]="PATTERN001",A[A.PATTERN010=2]="PATTERN010",A[A.PATTERN011=3]="PATTERN011",A[A.PATTERN100=4]="PATTERN100",A[A.PATTERN101=5]="PATTERN101",A[A.PATTERN110=6]="PATTERN110",A[A.PATTERN111=7]="PATTERN111"}(r||(r={}));class Q{constructor(){throw new Error("error")}static getPatternPosition(A){return Q.PATTERN_POSITION_TABLE[A-1]}static getMaxLength(A,e,t){const i=A-1;let r=0,s=0;switch(t){case o.L:r=0;break;case o.M:r=1;break;case o.Q:r=2;break;case o.H:r=3;break;default:throw new Error("e:"+t)}switch(e){case n.MODE_NUMBER:s=0;break;case n.MODE_ALPHA_NUM:s=1;break;case n.MODE_8BIT_BYTE:s=2;break;case n.MODE_KANJI:s=3;break;default:throw new Error("m:"+e)}return Q.MAX_LENGTH[i][r][s]}static getErrorCorrectPolynomial(A){let e=new g([1]);for(let t=0;t<A;t+=1)e=e.multiply(new g([1,s.gexp(t)]));return e}static getMaskFunc(A){switch(A){case r.PATTERN000:return(A,e)=>(A+e)%2==0;case r.PATTERN001:return(A,e)=>A%2==0;case r.PATTERN010:return(A,e)=>e%3==0;case r.PATTERN011:return(A,e)=>(A+e)%3==0;case r.PATTERN100:return(A,e)=>(~~(A/2)+~~(e/3))%2==0;case r.PATTERN101:return(A,e)=>A*e%2+A*e%3==0;case r.PATTERN110:return(A,e)=>(A*e%2+A*e%3)%2==0;case r.PATTERN111:return(A,e)=>(A*e%3+(A+e)%2)%2==0;default:throw new Error("mask:"+A)}}static getLostPoint(A){const e=A.getModuleCount();let t=0;for(let i=0;i<e;i+=1)for(let o=0;o<e;o+=1){let n=0;const r=A.isDark(i,o);for(let t=-1;t<=1;t+=1)if(!(i+t<0||e<=i+t))for(let s=-1;s<=1;s+=1)o+s<0||e<=o+s||0==t&&0==s||r==A.isDark(i+t,o+s)&&(n+=1);n>5&&(t+=3+n-5)}for(let i=0;i<e-1;i+=1)for(let o=0;o<e-1;o+=1){let e=0;A.isDark(i,o)&&(e+=1),A.isDark(i+1,o)&&(e+=1),A.isDark(i,o+1)&&(e+=1),A.isDark(i+1,o+1)&&(e+=1),0!=e&&4!=e||(t+=3)}for(let i=0;i<e;i+=1)for(let o=0;o<e-6;o+=1)A.isDark(i,o)&&!A.isDark(i,o+1)&&A.isDark(i,o+2)&&A.isDark(i,o+3)&&A.isDark(i,o+4)&&!A.isDark(i,o+5)&&A.isDark(i,o+6)&&(t+=40);for(let i=0;i<e;i+=1)for(let o=0;o<e-6;o+=1)A.isDark(o,i)&&!A.isDark(o+1,i)&&A.isDark(o+2,i)&&A.isDark(o+3,i)&&A.isDark(o+4,i)&&!A.isDark(o+5,i)&&A.isDark(o+6,i)&&(t+=40);let i=0;for(let t=0;t<e;t+=1)for(let o=0;o<e;o+=1)A.isDark(o,t)&&(i+=1);return t+=10*(Math.abs(100*i/e/e-50)/5),t}static getBCHTypeInfo(A){let e=A<<10;for(;Q.getBCHDigit(e)-Q.getBCHDigit(Q.G15)>=0;)e^=Q.G15<<Q.getBCHDigit(e)-Q.getBCHDigit(Q.G15);return(A<<10|e)^Q.G15_MASK}static getBCHTypeNumber(A){let e=A<<12;for(;Q.getBCHDigit(e)-Q.getBCHDigit(Q.G18)>=0;)e^=Q.G18<<Q.getBCHDigit(e)-Q.getBCHDigit(Q.G18);return A<<12|e}static getBCHDigit(A){let e=0;for(;0!=A;)e+=1,A>>>=1;return e}}Q.PATTERN_POSITION_TABLE=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],Q.MAX_LENGTH=[[[41,25,17,10],[34,20,14,8],[27,16,11,7],[17,10,7,4]],[[77,47,32,20],[63,38,26,16],[48,29,20,12],[34,20,14,8]],[[127,77,53,32],[101,61,42,26],[77,47,32,20],[58,35,24,15]],[[187,114,78,48],[149,90,62,38],[111,67,46,28],[82,50,34,21]],[[255,154,106,65],[202,122,84,52],[144,87,60,37],[106,64,44,27]],[[322,195,134,82],[255,154,106,65],[178,108,74,45],[139,84,58,36]],[[370,224,154,95],[293,178,122,75],[207,125,86,53],[154,93,64,39]],[[461,279,192,118],[365,221,152,93],[259,157,108,66],[202,122,84,52]],[[552,335,230,141],[432,262,180,111],[312,189,130,80],[235,143,98,60]],[[652,395,271,167],[513,311,213,131],[364,221,151,93],[288,174,119,74]]],Q.G15=1335,Q.G18=7973,Q.G15_MASK=21522;class E{constructor(A,e){this.totalCount=A,this.dataCount=e}getDataCount(){return this.dataCount}getTotalCount(){return this.totalCount}static getRSBlocks(A,e){const t=E.getRsBlockTable(A,e),i=t.length/3,o=[];for(let A=0;A<i;A+=1){const e=t[3*A+0],i=t[3*A+1],n=t[3*A+2];for(let A=0;A<e;A+=1)o.push(new E(i,n))}return o}static getRsBlockTable(A,e){switch(e){case o.L:return E.RS_BLOCK_TABLE[4*(A-1)+0];case o.M:return E.RS_BLOCK_TABLE[4*(A-1)+1];case o.Q:return E.RS_BLOCK_TABLE[4*(A-1)+2];case o.H:return E.RS_BLOCK_TABLE[4*(A-1)+3]}throw new Error("tn:"+A+"/ecl:"+e)}}E.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];const h=Array(41).fill(0).map(((A,e)=>e));var c,d;!function(A){A.L="L",A.M="M",A.Q="Q",A.H="H"}(c||(c={})),function(A){A.numeric="numeric",A.alphanumeric="alphanumeric",A.byte="byte",A.kanji="kanji",A.unicode="unicode"}(d||(d={}));class u{constructor(A=0,e=c.L){this.modules=[],this.moduleCount=0,this.typeNumber=A,this.errorCorrectLevel=o[e],this.qrDataList=[]}getTypeNumber(){return this.typeNumber}setTypeNumber(A){this.typeNumber=A}getErrorCorrectLevel(){return this.errorCorrectLevel}setErrorCorrectLevel(A){this.errorCorrectLevel=A}clearData(){this.qrDataList=[]}addData(A,e=d.byte){if(A instanceof I)this.qrDataList.push(A);else{if("string"!=typeof A)throw new Error(typeof A);switch(e){case d.numeric:this.qrDataList.push(new l(A));break;case d.alphanumeric:this.qrDataList.push(new B(A));break;case d.byte:this.qrDataList.push(new a(A,u.stringToBytesFuncs.default));break;case d.unicode:this.qrDataList.push(new a(A,u.stringToBytesFuncs.UTF8));break;case d.kanji:this.qrDataList.push(new C(A,u.stringToBytesFuncs.SJIS));break;default:throw new Error("mode:"+e)}}}isDark(A,e){return!(!this.modules[A]||null==this.modules[A][e])&&this.modules[A][e]}getModuleCount(){return this.moduleCount}make(){if(this.typeNumber<1){let A=1;for(;A<40;A++){const e=E.getRSBlocks(A,this.errorCorrectLevel),t=new i;this.qrDataList.forEach((e=>{t.put(e.getMode(),4),t.put(e.getLength(),e.getLengthInBits(A)),e.write(t)}));const o=e.reduce(((A,e)=>A+e.getDataCount()),0);if(t.getLengthInBits()<=8*o)break}this.typeNumber=A}this.makeImpl(!1,this.getBestMaskPattern())}getBestMaskPattern(){let A=0,e=0;for(let t=0;t<8;t+=1){this.makeImpl(!0,t);const i=Q.getLostPoint(this);(0==t||A>i)&&(A=i,e=t)}return e}makeImpl(A,e){this.moduleCount=4*this.typeNumber+17,this.modules=[];for(let A=0;A<this.moduleCount;A+=1){this.modules.push([]);for(let e=0;e<this.moduleCount;e+=1)this.modules[A].push(null)}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(A,e),this.typeNumber>=7&&this.setupTypeNumber(A);const t=u.createData(this.typeNumber,this.errorCorrectLevel,this.qrDataList);this.mapData(t,e)}mapData(A,e){let t=-1,i=this.moduleCount-1,o=7,n=0;const r=Q.getMaskFunc(e);for(let e=this.moduleCount-1;e>0;e-=2)for(6==e&&(e-=1);;){for(let t=0;t<2;t+=1)if(null==this.modules[i][e-t]){let s=!1;n<A.length&&(s=1==(A[n]>>>o&1));r(i,e-t)&&(s=!s),this.modules[i][e-t]=s,o-=1,-1==o&&(n+=1,o=7)}if(i+=t,i<0||this.moduleCount<=i){i-=t,t=-t;break}}}setupPositionAdjustPattern(){const A=Q.getPatternPosition(this.typeNumber);A.forEach((e=>{A.forEach((A=>{if(null==this.modules[e][A])for(let t=-2;t<=2;t+=1)for(let i=-2;i<=2;i+=1)this.modules[e+t][A+i]=-2==t||2==t||-2==i||2==i||0==t&&0==i}))}))}setupPositionProbePattern(A,e){for(let t=-1;t<=7;t+=1)for(let i=-1;i<=7;i+=1)A+t<=-1||this.moduleCount<=A+t||e+i<=-1||this.moduleCount<=e+i||(this.modules[A+t][e+i]=0<=t&&t<=6&&(0==i||6==i)||0<=i&&i<=6&&(0==t||6==t)||2<=t&&t<=4&&2<=i&&i<=4)}setupTimingPattern(){for(let A=8;A<this.moduleCount-8;A+=1)null==this.modules[A][6]&&(this.modules[A][6]=A%2==0);for(let A=8;A<this.moduleCount-8;A+=1)null==this.modules[6][A]&&(this.modules[6][A]=A%2==0)}setupTypeNumber(A){const e=Q.getBCHTypeNumber(this.typeNumber);for(let t=0;t<18;t+=1)this.modules[~~(t/3)][t%3+this.moduleCount-8-3]=!A&&1==(e>>t&1);for(let t=0;t<18;t+=1)this.modules[t%3+this.moduleCount-8-3][~~(t/3)]=!A&&1==(e>>t&1)}setupTypeInfo(A,e){const t=this.errorCorrectLevel<<3|e,i=Q.getBCHTypeInfo(t);for(let e=0;e<15;e+=1){const t=!A&&1==(i>>e&1);e<6?this.modules[e][8]=t:e<8?this.modules[e+1][8]=t:this.modules[this.moduleCount-15+e][8]=t}for(let e=0;e<15;e+=1){const t=!A&&1==(i>>e&1);e<8?this.modules[8][this.moduleCount-e-1]=t:e<9?this.modules[8][15-e-1+1]=t:this.modules[8][15-e-1]=t}this.modules[this.moduleCount-8][8]=!A}static createData(A,e,t){const o=E.getRSBlocks(A,e),n=new i;t.forEach((e=>{n.put(e.getMode(),4),n.put(e.getLength(),e.getLengthInBits(A)),e.write(n)}));const r=o.reduce(((A,e)=>A+e.getDataCount()),0);if(n.getLengthInBits()>8*r)throw new Error("code length overflow. ("+n.getLengthInBits()+">"+8*r+")");for(n.getLengthInBits()+4<=8*r&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*r||(n.put(u.PAD0,8),n.getLengthInBits()>=8*r));)n.put(u.PAD1,8);return u.createBytes(n,o)}static createBytes(A,e){let t=0,i=0,o=0;const n=new Array(e.length).map((A=>[])),r=new Array(e.length).map((A=>[]));function s(A){const e=[];for(let t=0;t<A;t+=1)e.push(0);return e}for(let I=0;I<e.length;I+=1){const a=e[I].getDataCount(),B=e[I].getTotalCount()-a;i=Math.max(i,a),o=Math.max(o,B),n[I]=s(a);for(let e=0;e<n[I].length;e+=1)n[I][e]=255&A.getBuffer()[e+t];t+=a;const C=Q.getErrorCorrectPolynomial(B),l=new g(n[I],C.getLength()-1).mod(C);r[I]=s(C.getLength()-1);for(let A=0;A<r[I].length;A+=1){const e=A+l.getLength()-r[I].length;r[I][A]=e>=0?l.getAt(e):0}}const I=s(e.reduce(((A,e)=>A+e.getTotalCount()),0));let a=0;for(let A=0;A<i;A+=1)for(let t=0;t<e.length;t+=1)A<n[t].length&&(I[a]=n[t][A],a+=1);for(let A=0;A<o;A+=1)for(let t=0;t<e.length;t+=1)A<r[t].length&&(I[a]=r[t][A],a+=1);return I}}u.stringToBytesFuncs={default(A){const e=[];for(let t=0;t<A.length;t+=1){const i=A.charCodeAt(t);e.push(255&i)}return e}},u.PAD0=236,u.PAD1=17;const p=A=>!!A&&"object"==typeof A&&!Array.isArray(A);function m(A,e=!1){const t=A.split("").reverse().join("");return e?t.toLocaleUpperCase():t}function f(A,...e){if(!e.length)return A;const t=e.shift();return void 0!==t&&p(A)&&p(t)?(A={...A},Object.keys(t).forEach((e=>{const i=A[e],o=t[e];Array.isArray(i)&&Array.isArray(o)?A[e]=o:p(i)&&p(o)?A[e]=f({...i},o):A[e]=o})),f(A,...e)):A}const y=m("rq",!0)+m("-",!0)+m("talp",!0)+m("mrof",!0),w=m("a".repeat(6)+"#",!0),D="top",S="bottom",F="left",R="right";const k=A=>"number"==typeof A?A:parseInt(A.replace("%",""),10),b=(A,e="0%")=>A?A.endsWith("%")?A:A+"%":e,U="text",N="image",Y={disabled:!1,enableText:!0,type:"text",value:y},J=(A,e)=>{var t,i;return!(null!==(t=null==A||null===(i=A.decorations)||void 0===i||null===(i=i[e])||void 0===i?void 0:i.disabled)&&void 0!==t&&t)},G=(A,e,t)=>{var i,o;return!t||!(null!==(i=null==A||null===(o=A.decorations)||void 0===o||null===(o=o[e])||void 0===o?void 0:o.disabled)&&void 0!==i&&i)},V=A=>{if("string"==typeof A)return A;const{fontFace:e="Helvetica",fontSize:t=20,fontColor:i="#ffffff",letterSpacing:o=1,textTransform:n="uppercase",fontWeight:r="bold"}=A||{};return`font-weight: ${r}; text-transform: ${n}; font-size: ${t}px; font-family: ${e}; fill: ${i}; letter-spacing: ${o}px;`};Y.style={fontFace:"Helvetica",fontSize:20,fontColor:w,letterSpacing:2};const Z={...Y};const O=({document:A,position:e,rotate:t,flip:i,thickness:o,height:n,width:r,round:s,offset:g=0,curveAdjustment:I=0,curveRadius:a,outerBorderPadding:B=0,instanceId:C})=>{const l=Math.min(r,n),Q=A.createElementNS("http://www.w3.org/2000/svg","path"),E=(A=>{if(A>=50)return 1;const e=[{R:0,P:0},{R:5,P:0},{R:10,P:.12},{R:15,P:.2},{R:20,P:.32},{R:25,P:.44},{R:30,P:.56},{R:35,P:.65},{R:40,P:.78},{R:45,P:.9},{R:50,P:1}],t=e.find((e=>A<=e.R))||e[0],i=e.find((e=>A>e.R))||e[e.length-1],{R:o,P:n}=t,{R:r,P:s}=i;return n+(A-o)/(r-o)*(s-n)})("string"==typeof s?k(s):s),h=void 0!==a?function(A){let e;return e="number"==typeof A?A:"string"==typeof A?(A.includes("%"),parseFloat(A)):0,e=Math.min(Math.max(e,0),50),.5+e/50*.5}(a):E,c=(l-o-2*B-10*I*2)/2*h,d=((A,e,t,i)=>{const o=t/2,n=i/2;let r="";return A&&(r+=`rotate(${A}, ${o}, ${n}) `),e&&(r+=`translate(${o}, ${n}) scale(1, -1) translate(${-o}, ${-n}) `),r.trim()})(t,i,r,n);Q.setAttribute("id",`${e}-text-path-${C}`),Q.setAttribute("transform",d);const{startX:u,startY:p,pathWidth:m}=((A,e,t,i,o={})=>{let n=e/2,r=e/2+i,s=A-e;return t&&(s-=2*t,n+=t,r+=t),n+=o.left||0,r+=o.top||0,{startX:n,startY:r,pathWidth:s}})(l,o,B,g);return Q.setAttribute("d",((A,e,t,i)=>`\n M${A},${e+i}\n a${i},${i} 0 0 1 ${i},${-i}\n h${t-2*i}\n a${i},${i} 0 0 1 ${i},${i}\n `)(u,p,m,c)),Q},W=({document:A,thickness:e,value:t,svg:i,position:o,height:n,width:r,round:s,style:g,offset:I=0,curveAdjustment:a=0,curveDisabled:B=!1,outerBorderPadding:C=0,curveRadius:l,instanceId:Q,noBorderThickness:E,enabledBorders:h})=>{let c=0,d=!1;if(o===R?c=90:o===S?d=!B:o===F&&(c=270),B){const s=A.createElementNS("http://www.w3.org/2000/svg","text");let a=r/2,B=(n-Math.min(r,n)+e)/2+2*C+I-(n-r>0?0:(r-n)/2);if(o===S?B=n-2*C-e/2-I:o===D&&(B=2*C+e/2+I),o===D||o===S){let A=0;!h[F]&&h[R]?A=-(e-E)/2:h[F]&&!h[R]&&(A=(e-E)/2),a+=A}else if(o===F||o===R){let A=0;!h[D]&&h[S]?A=o===F?(e-E)/2:-(e-E)/2:h[D]&&!h[S]&&(A=o===F?-(e-E)/2:(e-E)/2),a+=A}let l="";0!==c&&(l+=`rotate(${c}, ${r/2}, ${n/2}) `),s.setAttribute("x",a.toString()),s.setAttribute("y",B.toString()),s.setAttribute("text-anchor","middle"),s.setAttribute("dominant-baseline","middle"),l&&s.setAttribute("transform",l.trim()),s.textContent=t;const Q=V(g);s.setAttribute("style",Q),i.appendChild(s)}else{let B=i.getElementsByTagName("defs")[0];B||(B=A.createElementNS("http://www.w3.org/2000/svg","defs"),i.appendChild(B));const u=O({document:A,position:o,rotate:c,flip:d,thickness:e,height:n,width:r,round:s,offset:I,curveAdjustment:a,outerBorderPadding:C,curveRadius:l,instanceId:Q}),{x:p,y:m}=function(A,e,t,i){let o=0,n=0;const r=(e-t)/2;return i.left&&i.right&&i.top&&i.bottom?(o=0,n=0):"top"===A||"bottom"===A?!i.left&&i.right?o=-r:(i.left&&!i.right||i.left&&i.right)&&(o=r):"left"!==A&&"right"!==A||(!i.top&&i.bottom?i.left&&i.right?(o="left"===A?2*+r:0,n=-r):o="left"===A?+r:-r:i.top&&!i.bottom?i.left&&i.right?(o="left"===A?0:2*r,n=-r):o=0:i.top&&i.bottom?n=i.left&&i.right?2*+r:+r:(o=i.left&&i.right?2*+r:+r,n=i.left&&i.right?2*-r:-r)),{x:o,y:n}}(o,e,E,h);if(0!==p||0!==m){const A=`${u.getAttribute("transform")||""} translate(${p}, ${m})`.trim();u.setAttribute("transform",A)}B.appendChild(u),i.appendChild((({document:A,value:e,position:t,style:i,instanceId:o})=>{const n=A.createElementNS("http://www.w3.org/2000/svg","text"),r=A.createElementNS("http://www.w3.org/2000/svg","textPath");r.setAttribute("href",`#${t}-text-path-${o}`),r.setAttribute("text-anchor","middle"),r.setAttribute("startOffset","50%"),r.textContent=e,r.setAttribute("alignment-baseline","middle");const s=V(i);return n.setAttribute("style",s),n.appendChild(r),n})({document:A,position:o,value:t,style:g,instanceId:Q}))}},M=({document:A,thickness:e,value:t,svg:i,position:o,height:n,width:r,offset:s=0,style:g})=>{const I=A.createElementNS("http://www.w3.org/2000/svg","image"),a=Math.min(r,n);let B=(r-a+e)/2,C=(n-a+e)/2+s;o===D?B+=(a-e)/2:o===R?(B+=a-e,C+=(a-e)/2):o===S?(B+=(a-e)/2,C+=a-e):o===F&&(C+=(a-e)/2),I.setAttribute("href",t||""),I.setAttribute("x",`${B}`),I.setAttribute("y",`${C}`),I.setAttribute("style",(null==g?void 0:g.toString())||""),i.appendChild(I)},H=A=>(e,t,i,o,n,r,s,g,I)=>{var a,B,C,l,Q,E,h,c,d,u,p,m,f;const{instanceId:y}=t,w=i,Y=i,V=Math.min(w,Y),O=b(A.radius),H=O&&k(O)>0?k(O)/100*V:0,T=b(null==A||null===(a=A.inner)||void 0===a?void 0:a.radius,H),X=Math.min(Math.max(null!==(B=null===(C=A.inner)||void 0===C?void 0:C.scale)&&void 0!==B?B:1,0),1.5),x=null!==(l=null===(Q=A.inner)||void 0===Q?void 0:Q.horizontalOffset)&&void 0!==l?l:0,L=null!==(E=null===(h=A.inner)||void 0===h?void 0:h.verticalOffset)&&void 0!==E?E:0,K=null!==(c=A.thickness)&&void 0!==c?c:0,q=null!==(d=A.color)&&void 0!==d?d:"#000000",j=null!==(u=A.borderOuter)&&void 0!==u&&u.thickness?A.borderOuter.thickness/2:0,v=null!==(p=A.borderInner)&&void 0!==p&&p.thickness?A.borderInner.thickness/2:0,P=t.document,z=n.left+n.right,_=n.top+n.bottom,$=o(K,H),AA={top:J(A,"top"),right:J(A,"right"),bottom:G(A,"bottom",I()),left:J(A,"left")},eA=P.createElementNS("http://www.w3.org/2000/svg","rect"),tA={x:r.left/2,y:r.top/2,width:V+z-r.left,height:V+_-r.top,fill:q,rx:null!=O?O:H};Object.entries(tA).forEach((([A,e])=>{eA.setAttribute(A,e.toString())}));const iA=P.createElementNS("http://www.w3.org/2000/svg","rect"),oA=H>=200?"50%":H,nA=w+z-(n.left+n.right+s.left+s.right+r.left+r.right),rA=Y+_-(n.top+n.bottom+s.top+s.bottom+r.top+r.bottom),sA=nA*X,gA=rA*X,IA=(nA-sA)/2-x,aA=(rA-gA)/2-L,BA={x:n.left+s.left+r.left+IA,y:n.top+s.top+r.top+aA,width:sA,height:gA,fill:(null==$?void 0:$.getAttribute("fill"))||"#ffffff",rx:null!=T?T:oA};Object.entries(BA).forEach((([A,e])=>iA.setAttribute(A,e.toString()))),$&&(({strokePath:A,backgroundMaskGroup:e,svgElement:t,color:i="#000000"})=>{A.setAttribute("fill",(null==e?void 0:e.getAttribute("fill"))||i),e.setAttribute("fill","none"),e.setAttribute("stroke-width","0"),t.insertBefore(e,t.firstChild)})({strokePath:iA,backgroundMaskGroup:$,svgElement:e,color:q});let CA=e.getElementsByTagName("defs")[0];CA||(CA=P.createElementNS("http://www.w3.org/2000/svg","defs"),e.insertBefore(CA,e.firstChild));const lA=P.createElementNS("http://www.w3.org/2000/svg","mask");lA.setAttribute("id",`qr-mask-${y}`),lA.setAttribute("maskUnits","userSpaceOnUse");const QA=P.createElementNS("http://www.w3.org/2000/svg","rect");if(QA.setAttribute("fill","white"),Object.entries(BA).forEach((([A,e])=>{"fill"!==A&&QA.setAttribute(A,e.toString())})),CA.appendChild(lA),lA.appendChild(QA),e.insertBefore(iA,null===(m=e.firstChild)||void 0===m?void 0:m.nextSibling),e.insertBefore(eA,e.firstChild),A.borderOuter&&"number"==typeof A.borderOuter.thickness&&A.borderOuter.thickness>0){var EA;const t=P.createElementNS("http://www.w3.org/2000/svg","rect"),i={x:r.left/2,y:r.top/2,width:w+z-r.left,height:Y+_-r.top,fill:"none",rx:null!=O?O:H,stroke:A.borderOuter.color||"#c0c0c0","stroke-width":A.borderOuter.thickness};Object.entries(i).forEach((([A,e])=>t.setAttribute(A,e.toString()))),e.insertBefore(t,null===(EA=e.firstChild)||void 0===EA?void 0:EA.nextSibling)}if($){if(Array.from(e.getElementsByTagName("rect"))[0]){const A=e.firstChild;A?e.insertBefore($,A):e.appendChild($)}}if(A.borderInner&&"number"==typeof A.borderInner.thickness&&A.borderInner.thickness>0){const t=P.createElementNS("http://www.w3.org/2000/svg","rect"),i={x:n.left+s.left+r.left+IA,y:n.top+s.top+r.top+aA,width:sA,height:gA,fill:"none",stroke:A.borderInner.color||"#c0c0c0","stroke-width":s.left,rx:null!=T?T:oA};Object.entries(i).forEach((([A,e])=>t.setAttribute(A,e.toString()))),e.appendChild(t)}let hA={...Z};if(!I()){const e=((A,e=[D,F,R])=>{for(const i of e){var t;const e=null===(t=A.decorations)||void 0===t?void 0:t[i];if(e&&e.enableText&&!e.disabled&&e.type===U&&e.style)return e.style}})(A);e&&(hA={...hA,style:e})}const cA=I()?A:{...A,decorations:{...A.decorations,bottom:{...(null===(f=A.decorations)||void 0===f?void 0:f.bottom)||{},...hA,disabled:!1,enableText:!0}}},dA=[D,F,R,S];for(const A of dA){var uA;const t=null===(uA=cA.decorations)||void 0===uA?void 0:uA[A];if(!t||!t.enableText||!AA[A])continue;const i=t.type||U,o=i===N?M:i===U?W:void 0;var pA,mA;if(o)o({document:P,svg:e,position:A,thickness:null!==(pA=cA.thickness)&&void 0!==pA?pA:0,value:null!==(mA=t.value)&&void 0!==mA?mA:"",style:t.style,offset:t.offset,curveAdjustment:t.curveAdjustment,curveDisabled:t.curveDisabled,height:Y+_,width:w+z,enabledBorders:AA,outerBorderPadding:j,innerBorderPadding:v,round:O,curveRadius:t.curveRadius,instanceId:y,noBorderThickness:g})}};var T,X,x,L,K,q,j;function v(A){const e={...A};if(!e.colorStops||!e.colorStops.length)throw new Error("Field 'colorStops' is required in gradient");return e.rotation?e.rotation=Number(e.rotation):e.rotation=0,e.colorStops=e.colorStops.map((A=>({...A,offset:Number(A.offset)}))),e}function P(A){var e,t,i;const o={...A};if(o.imageOptions={...o.imageOptions,imageSize:Math.min(1,Number(null===(e=o.imageOptions)||void 0===e?void 0:e.imageSize))||1,margin:Number(null===(t=o.imageOptions)||void 0===t?void 0:t.margin)||0,padding:Number(null===(i=o.imageOptions)||void 0===i?void 0:i.padding)||0},o.imageOptions.mode==j.overlay&&(o.imageOptions.margin=0),o.dotsOptions={...o.dotsOptions},o.dotsOptions.gradient&&(o.dotsOptions.gradient=v(o.dotsOptions.gradient)),o.dotsOptions.size=Math.round(Math.max(0,o.dotsOptions.size)||10),o.cornersSquareOptions&&(o.cornersSquareOptions={...o.cornersSquareOptions},o.cornersSquareOptions.gradient&&(o.cornersSquareOptions.gradient=v(o.cornersSquareOptions.gradient))),o.cornersDotOptions&&(o.cornersDotOptions={...o.cornersDotOptions},o.cornersDotOptions.gradient&&(o.cornersDotOptions.gradient=v(o.cornersDotOptions.gradient))),o.backgroundOptions&&(o.backgroundOptions={...o.backgroundOptions},o.backgroundOptions.gradient&&(o.backgroundOptions.gradient=v(o.backgroundOptions.gradient))),o.borderOptions&&o.borderOptions.decorations){const A=["top","bottom","left","right"];for(const e of A){let A=o.borderOptions.decorations[e];A||(o.borderOptions.decorations[e]={enableText:!1,value:void 0},A=o.borderOptions.decorations[e]),!1===A.enableText?A.value=void 0:!0===A.enableText?null!==A.value&&void 0!==A.value||(A.value=""):void 0===A.enableText&&(A.value&&"string"==typeof A.value&&!1!==A.enableText&&""!==A.value.trim()?A.enableText=!0:(A.enableText=!1,A.value=void 0))}}return"undefined"==typeof document||o.document||(o.document=document),o}!function(A){A.radial="radial",A.linear="linear"}(T||(T={})),function(A){A.svg="svg",A.png="png",A.jpeg="jpeg",A.webp="webp"}(X||(X={})),function(A){A.dot="dot",A.randomDot="random-dot",A.rounded="rounded",A.extraRounded="extra-rounded",A.verticalLine="vertical-line",A.horizontalLine="horizontal-line",A.classy="classy",A.classyRounded="classy-rounded",A.square="square",A.smallSquare="small-square",A.tinySquare="tiny-square",A.star="star",A.plus="plus",A.diamond="diamond"}(x||(x={})),function(A){A.dot="dot",A.square="square",A.heart="heart",A.rounded="rounded",A.classy="classy",A.outpoint="outpoint",A.inpoint="inpoint"}(L||(L={})),function(A){A.dot="dot",A.square="square",A.rounded="rounded",A.classy="classy",A.outpoint="outpoint",A.inpoint="inpoint"}(K||(K={})),function(A){A.square="square",A.circle="circle"}(q||(q={})),function(A){A.center="center",A.overlay="overlay",A.background="background"}(j||(j={}));const z={[c.L]:.07,[c.M]:.15,[c.Q]:.25,[c.H]:.3};class _{constructor(A="",e={}){if(A instanceof _)return A;const t=function(A){let e={r:0,g:0,b:0},t=1,i=null,o=null,n=null,r=!1,s=!1;"string"==typeof A&&(A=function(A){const e=/^\s+/,t=/\s+$/;A=A.replace(e,"").replace(t,"").toLowerCase();let i,o=!1;if(_.names[A])A=_.names[A],o=!0;else if("transparent"==A)return{r:0,g:0,b:0,a:0,format:"name"};if(i=yA.rgb.exec(A))return{r:i[1],g:i[2],b:i[3]};if(i=yA.rgba.exec(A))return{r:i[1],g:i[2],b:i[3],a:i[4]};if(i=yA.hsl.exec(A))return{h:i[1],s:i[2],l:i[3]};if(i=yA.hsla.exec(A))return{h:i[1],s:i[2],l:i[3],a:i[4]};if(i=yA.hsv.exec(A))return{h:i[1],s:i[2],v:i[3]};if(i=yA.hsva.exec(A))return{h:i[1],s:i[2],v:i[3],a:i[4]};if(i=yA.hex8.exec(A))return{r:dA(i[1]),g:dA(i[2]),b:dA(i[3]),a:fA(i[4]),format:o?"name":"hex8"};if(i=yA.hex6.exec(A))return{r:dA(i[1]),g:dA(i[2]),b:dA(i[3]),format:o?"name":"hex"};if(i=yA.hex4.exec(A))return{r:dA(i[1]+""+i[1]),g:dA(i[2]+""+i[2]),b:dA(i[3]+""+i[3]),a:fA(i[4]+""+i[4]),format:o?"name":"hex8"};if(i=yA.hex3.exec(A))return{r:dA(i[1]+""+i[1]),g:dA(i[2]+""+i[2]),b:dA(i[3]+""+i[3]),format:o?"name":"hex"};return!1}(A));"object"==typeof A&&(wA(A.r)&&wA(A.g)&&wA(A.b)?(e=function(A,e,t){return{r:255*hA(A,255),g:255*hA(e,255),b:255*hA(t,255)}}(A.r,A.g,A.b),r=!0,s="%"===String(A.r).slice(-1)?"prgb":"rgb"):wA(A.h)&&wA(A.s)&&wA(A.v)?(i=pA(A.s),o=pA(A.v),e=function(A,e,t){A=6*hA(A,360),e=hA(e,100),t=hA(t,100);const i=Math.floor(A),o=A-i,n=t*(1-e),r=t*(1-o*e),s=t*(1-(1-o)*e),g=i%6,I=[t,r,n,n,s,t][g],a=[s,t,t,r,n,n][g],B=[n,n,s,t,t,qw][g];return{r:255*I,g:255*a,b:255*B}}(A.h,i,o),r=!0,s="hsv"):wA(A.h)&&wA(A.s)&&wA(A.l)&&(i=pA(A.s),n=pA(A.l),e=function(A,e,t){let i,o,n;function r(A,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?A+6*(e-A)*t:t<.5?e:t<2/3?A+(e-A)*(2/3-t)*6:A}if(A=hA(A,360),e=hA(e,100),t=hA(t,100),0===e)i=o=n=t;else{const s=t<.5?t*(1+e):t+e-t*e,g=2*t-s;i=r(g,s,A+1/3),o=r(g,s,A),n=r(g,s,A-1/3)}return{r:255*i,g:255*o,b:255*n}}(A.h,i,n),r=!0,s="hsl"),A.hasOwnProperty("a")&&(t=A.a));return t=EA(t),{ok:r,format:A.format||s,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:t}}(A);this._originalInput=A,this._r=t.r,this._g=t.g,this._b=t.b,this._a=t.a,this._roundA=Math.round(100*this._a)/100,this._format=e.format||t.format,this._gradientType=e.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=t.ok}isDark(){return this.getBrightness()<128}isLight(){return!this.isDark()}isValid(){return this._ok}getOriginalInput(){return this._originalInput}getFormat(){return this._format}getAlpha(){return this._a}getBrightness(){const A=this.toRgb();return(299*A.r+587*A.g+114*A.b)/1e3}getLuminance(){const A=this.toRgb(),e=A.r/255,t=A.g/255,i=A.b/255;return.2126*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.0722*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))}setAlpha(A){return this._a=EA(A),this._roundA=Math.round(100*this._a)/100,this}toHsv(){const A=AA(this._r,this._g,this._b);return{h:360*A.h,s:A.s,v:A.v,a:this._a}}toHsvString(){const A=AA(this._r,this._g,this._b),e=Math.round(360*A.h),t=Math.round(100*A.s),i=Math.round(100*A.v);return 1==this._a?`hsv(${e}, ${t}%, ${i}%)`:`hsva(${e}, ${t}%, ${i}%, ${this._roundA})`}toHsl(){const A=$(this._r,this._g,this._b);return{h:360*A.h,s:A.s,l:A.l,a:this._a}}toHslString(){const A=$(this._r,this._g,this._b),e=Math.round(360*A.h),t=Math.round(100*A.s),i=Math.round(100*A.l);return 1==this._a?`hsl(${e}, ${t}%, ${i}%)`:`hsla(${e}, ${t}%, ${i}%, ${this._roundA})`}toHex(A){return eA(this._r,this._g,this._b,A)}toHexString(A){return"#"+this.toHex(A)}toHex8(A){return function(A,e,t,i,o){const n=[uA(Math.round(A).toString(16)),uA(Math.round(e).toString(16)),uA(Math.round(t).toString(16)),uA(mA(i))];if(o&&n[0].charAt(0)==n[0].charAt(1)&&n[1].charAt(0)==n[1].charAt(1)&&n[2].charAt(0)==n[2].charAt(1)&&n[3].charAt(0)==n[3].charAt(1))return n[0].charAt(0)+n[1].charAt(0)+n[2].charAt(0)+n[3].charAt(0);return n.join("")}(this._r,this._g,this._b,this._a,A)}toHex8String(A){return"#"+this.toHex8(A)}toRgb(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}}toRgbString(){return 1==this._a?`rgb(${Math.round(this._r)}, ${Math.round(this._g)}, ${Math.round(this._b)})`:`rgba(${Math.round(this._r)}, ${Math.round(this._g)}, ${Math.round(this._b)}, ${this._roundA})`}toPercentageRgb(){return{r:Math.round(100*hA(this._r,255))+"%",g:Math.round(100*hA(this._g,255))+"%",b:Math.round(100*hA(this._b,255))+"%",a:this._a}}toPercentageRgbString(){return 1==this._a?`rgb(${Math.round(100*hA(this._r,255))}%, ${Math.round(100*hA(this._g,255))}%, ${Math.round(100*hA(this._b,255))}%)`:`rgba(${Math.round(100*hA(this._r,255))}%, ${Math.round(100*hA(this._g,255))}%, ${Math.round(100*hA(this._b,255))}%, ${this._roundA})`}toName(){return 0===this._a?"transparent":!(this._a<1)&&(_.hexNames[eA(this._r,this._g,this._b,!0)]||!1)}toFilter(A){const e="#"+tA(this._r,this._g,this._b,this._a);let t=e;const i=this._gradientType?"GradientType = 1, ":"";if(A){const e=new _(A);t="#"+tA(e._r,e._g,e._b,e._a)}return`progid:DXImageTransform.Microsoft.gradient(${i}startColorstr=${e},endColorstr=${t})`}toString(A){const e=!!A;A=A||this._format;let t=!1;const i=this._a<1&&this._a>=0;return e||!i||"hex"!==A&&"hex6"!==A&&"hex3"!==A&&"hex4"!==A&&"hex8"!==A&&"name"!==A?("rgb"===A&&(t=this.toRgbString()),"prgb"===A&&(t=this.toPercentageRgbString()),"hex"!==A&&"hex6"!==A||(t=this.toHexString()),"hex3"===A&&(t=this.toHexString(!0)),"hex4"===A&&(t=this.toHex8String(!0)),"hex8"===A&&(t=this.toHex8String()),"name"===A&&(t=this.toName()),"hsl"===A&&(t=this.toHslString()),"hsv"===A&&(t=this.toHsvString()),t||this.toHexString()):"name"===A&&0===this._a?this.toName():this.toRgbString()}clone(){return new _(this.toString())}_applyModification(A,...e){const t=A(this,...e);return this._r=t._r,this._g=t._g,this._b=t._b,this.setAlpha(t._a),this}lighten(...A){return this._applyModification(rA,...A)}brighten(...A){return this._applyModification(sA,...A)}darken(...A){return this._applyModification(gA,...A)}desaturate(...A){return this._applyModification(iA,...A)}saturate(...A){return this._applyModification(oA,...A)}greyscale(...A){return this._applyModification(nA,...A)}spin(...A){return this._applyModification(IA,...A)}_applyCombination(A,...e){return A(this,...e)}analogous(...A){return this._applyCombination(lA,...A)}complement(...A){return this._applyCombination(aA,...A)}monochromatic(...A){return this._applyCombination(QA,...A)}splitcomplement(...A){return this._applyCombination(CA,...A)}triad(){return this._applyCombination(BA,3)}tetrad(){return this._applyCombination(BA,4)}static fromRatio(A,e){if("object"==typeof A){const e={};for(const t in A)A.hasOwnProperty(t)&&(e[t]="a"===t?A[t]:pA(A[t]));A=e}return new _(A,e)}static equals(A,e){return!(!A||!e)&&new _(A).toRgbString()===new _(e).toRgbString()}static random(){return _.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})}static mix(A,e,t){t=0===t?0:t||50;const i=new _(A).toRgb(),o=new _(e).toRgb(),n=t/100,r={r:(o.r-i.r)*n+i.r,g:(o.g-i.g)*n+i.g,b:(o.b-i.b)*n+i.b,a:(o.a-i.a)*n+i.a};return new _(r)}static readability(A,e){const t=new _(A),i=new _(e);return(Math.max(t.getLuminance(),i.getLuminance())+.05)/(Math.min(t.getLuminance(),i.getLuminance())+.05)}static isReadable(A,e,t){const i=_.readability(A,e);let o=!1;const n=function(A){let e,t;e=((A=A||{level:"AA",size:"small"}).level||"AA").toUpperCase(),t=(A.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==t&&"large"!==t&&(t="small");return{level:e,size:t}}(t);switch(n.level+n.size){case"AAsmall":case"AAAlarge":o=i>=4.5;break;case"AAlarge":o=i>=3;break;case"AAAsmall":o=i>=7}return o}static mostReadable(A,e,t={}){let i,o=null,n=0;const{includeFallbackColors:r,level:s,size:g}=t;for(const t of e)i=_.readability(A,t),i>n&&(n=i,o=new _(t));return _.isReadable(A,o,{level:s,size:g})||!r?o:(t.includeFallbackColors=!1,_.mostReadable(A,["#fff","#000"],t))}}function $(A,e,t){A=hA(A,255),e=hA(e,255),t=hA(t,255);const i=Math.max(A,e,t),o=Math.min(A,e,t);let n,r;const s=(i+o)/2;if(i==o)n=r=0;else{const g=i-o;switch(r=s>.5?g/(2-i-o):g/(i+o),i){case A:n=(e-t)/g+(e<t?6:0);break;case e:n=(t-A)/g+2;break;case t:n=(A-e)/g+4}n/=6}return{h:n,s:r,l:s}}function AA(A,e,t){A=hA(A,255),e=hA(e,255),t=hA(t,255);const i=Math.max(A,e,t),o=Math.min(A,e,t);let n;const r=i,s=i-o,g=0===i?0:s/i;if(i==o)n=0;else{switch(i){case A:n=(e-t)/s+(e<t?6:0);break;case e:n=(t-A)/s+2;break;case t:n=(A-e)/s+4}n/=6}return{h:n,s:g,v:r}}function eA(A,e,t,i){const o=[uA(Math.round(A).toString(16)),uA(Math.round(e).toString(16)),uA(Math.round(t).toString(16))];return i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0):o.join("")}function tA(A,e,t,i){return[uA(mA(i)),uA(Math.round(A).toString(16)),uA(Math.round(e).toString(16)),uA(Math.round(t).toString(16))].join("")}function iA(A,e){e=0===e?0:e||10;const t=new _(A).toHsl();return t.s-=e/100,t.s=cA(t.s),new _(t)}function oA(A,e){e=0===e?0:e||10;const t=new _(A).toHsl();return t.s+=e/100,t.s=cA(t.s),new _(t)}function nA(A){return new _(A).desaturate(100)}function rA(A,e){e=0===e?0:e||10;const t=new _(A).toHsl();return t.l+=e/100,t.l=cA(t.l),new _(t)}function sA(A,e){e=0===e?0:e||10;const t=new _(A).toRgb();return t.r=Math.max(0,Math.min(255,t.r-Math.round(-e/100*255))),t.g=Math.max(0,Math.min(255,t.g-Math.round(-e/100*255))),t.b=Math.max(0,Math.min(255,t.b-Math.round(-e/100*255))),new _(t)}function gA(A,e){e=0===e?0:e||10;const t=new _(A).toHsl();return t.l-=e/100,t.l=cA(t.l),new _(t)}function IA(A,e){const t=new _(A).toHsl(),i=(t.h+e)%360;return t.h=i<0?360+i:i,new _(t)}_.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},_.hexNames=function(A){const e={};for(const t in A)A.hasOwnProperty(t)&&(e[A[t]]=t);return e}(_.names);const aA=A=>{const e=new _(A).toHsl();return e.h=(e.h+180)%360,new _(e)},BA=(A,e)=>{if(isNaN(e)||e<=0)throw new Error("Argument to polyad must be a positive number");const t=new _(A).toHsl(),i=[new _(A)],o=360/e;for(let A=1;A<e;A++)i.push(new _({h:(t.h+A*o)%360,s:t.s,l:t.l}));return i};function CA(A){const e=new _(A).toHsl(),t=e.h;return[new _(A),new _({h:(t+72)%360,s:e.s,l:e.l}),new _({h:(t+216)%360,s:e.s,l:e.l})]}function lA(A,e,t){e=e||6,t=t||30;const i=new _(A).toHsl(),o=360/t,n=[new _(A)];for(i.h=(i.h-(o*e>>1)+720)%360;--e;)i.h=(i.h+o)%360,n.push(new _(i));return n}function QA(A,e){e=e||6;const t=new _(A).toHsv(),i=t.h,o=t.s;let n=t.v;const r=[],s=1/e;for(;e--;)r.push(new _({h:i,s:o,v:n})),n=(n+s)%1;return r}function EA(A){return A=parseFloat(A),(isNaN(A)||A<0||A>1)&&(A=1),A}function hA(A,e){(function(A){return"string"==typeof A&&-1!=A.indexOf(".")&&1===parseFloat(A)})(A)&&(A="100%");const t=function(A){return"string"==typeof A&&-1!=A.indexOf("%")}(A);return A=Math.min(e,Math.max(0,parseFloat(A))),t&&(A=parseInt(A*e,10)/100),Math.abs(A-e)<1e-6?1:A%e/parseFloat(e)}function cA(A){return Math.min(1,Math.max(0,A))}function dA(A){return parseInt(A,16)}function uA(A){return 1==A.length?"0"+A:""+A}function pA(A){return A<=1&&(A=100*A+"%"),A}function mA(A){return Math.round(255*parseFloat(A)).toString(16)}function fA(A){return dA(A)/255}const yA=(()=>{const A="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",e=`[\\s|\\(]+(${A})[,|\\s]+(${A})[,|\\s]+(${A})\\s*\\)?`,t=`[\\s|\\(]+(${A})[,|\\s]+(${A})[,|\\s]+(${A})[,|\\s]+(${A})\\s*\\)?`;return{CSS_UNIT:new RegExp(A),rgb:new RegExp("rgb"+e),rgba:new RegExp("rgba"+t),hsl:new RegExp("hsl"+e),hsla:new RegExp("hsla"+t),hsv:new RegExp("hsv"+e),hsva:new RegExp("hsva"+t),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}})();function wA(A){return!!yA.CSS_UNIT.exec(A)}function DA(A,e){A.decorations||(A.decorations={}),["top","right","bottom","left"].forEach((t=>{A.decorations[t]||(A.decorations[t]={}),A.decorations[t].style||(A.decorations[t].style={}),A.decorations[t].style.fontColor=e}))}function SA(A){const e={};if((A.primaryColor||A.dotsGradient)&&(e.dotsOptions={...e.dotsOptions,...A.primaryColor&&{color:A.primaryColor},...A.dotsGradient&&{gradient:A.dotsGradient}}),(A.secondaryColor||A.cornersGradient)&&(e.cornersSquareOptions={...e.cornersSquareOptions,...A.secondaryColor&&{color:A.secondaryColor},...A.cornersGradient&&{gradient:A.cornersGradient}},e.cornersDotOptions={...e.cornersDotOptions,...A.secondaryColor&&{color:A.secondaryColor}}),(A.thirdColor||A.cornersDotGradient)&&(e.cornersDotOptions={...e.cornersDotOptions,...A.thirdColor&&{color:A.thirdColor},...A.cornersDotGradient&&{gradient:A.cornersDotGradient}}),(A.backgroundColor||A.backgroundGradient)&&(e.backgroundOptions={...e.backgroundOptions,...A.backgroundColor&&{color:A.backgroundColor},...A.backgroundGradient&&{gradient:A.backgroundGradient}}),A.dotShape&&(e.dotsOptions={...e.dotsOptions,type:A.dotShape}),A.cornerSquareShape&&(e.cornersSquareOptions={...e.cornersSquareOptions,type:A.cornerSquareShape}),A.cornerDotShape&&(e.cornersDotOptions={...e.cornersDotOptions,type:A.cornerDotShape}),A.logo&&(e.image=A.logo),(void 0!==A.logoSize||A.logoMode||void 0!==A.logoMargin||A.logoBackgroundColor||void 0!==A.logoPadding||void 0!==A.logoRadius)&&(e.imageOptions={...e.imageOptions,...void 0!==A.logoSize&&{imageSize:A.logoSize},...A.logoMode&&{mode:A.logoMode},...void 0!==A.logoMargin&&{margin:A.logoMargin},...A.logoBackgroundColor&&{backgroundColor:A.logoBackgroundColor},...void 0!==A.logoPadding&&{padding:A.logoPadding},...void 0!==A.logoRadius&&{radius:A.logoRadius}}),A.borderColor||void 0!==A.borderThickness||void 0!==A.borderRadius||A.borderInnerColor||void 0!==A.borderInnerThickness||void 0!==A.borderInnerRadius||A.borderOuterColor||void 0!==A.borderOuterThickness||A.borderTextTop||A.borderTextRight||A.borderTextBottom||A.borderTextLeft||A.borderFontFace||void 0!==A.borderFontSize||A.borderFontColor||void 0!==A.borderLetterSpacing||A.borderTextTransform||A.borderFontWeight){e.borderOptions||(e.borderOptions={hasBorder:!0});const t=e.borderOptions;A.borderColor&&(t.color=A.borderColor),void 0!==A.borderThickness&&(t.thickness=A.borderThickness),void 0!==A.borderRadius&&(t.radius=String(A.borderRadius)),void 0===A.borderInnerColor&&void 0===A.borderInnerThickness||(t.borderInner||(t.borderInner={}),void 0!==A.borderInnerColor&&(t.borderInner.color=A.borderInnerColor),void 0!==A.borderInnerThickness&&(t.borderInner.thickness=A.borderInnerThickness)),void 0!==A.borderInnerRadius&&(t.inner||(t.inner={}),t.inner.radius=String(A.borderInnerRadius)),void 0===A.borderOuterColor&&void 0===A.borderOuterThickness||(t.borderOuter||(t.borderOuter={}),void 0!==A.borderOuterColor&&(t.borderOuter.color=A.borderOuterColor),void 0!==A.borderOuterThickness&&(t.borderOuter.thickness=A.borderOuterThickness));const i={};A.borderFontFace&&(i.fontFace=A.borderFontFace),void 0!==A.borderFontSize&&(i.fontSize=A.borderFontSize),A.borderFontColor&&(i.fontColor=A.borderFontColor),void 0!==A.borderLetterSpacing&&(i.letterSpacing=A.borderLetterSpacing),A.borderTextTransform&&(i.textTransform=A.borderTextTransform),A.borderFontWeight&&(i.fontWeight=A.borderFontWeight),t.decorations||(t.decorations={});const o=t.decorations?JSON.parse(JSON.stringify(t.decorations)):{};let n=!1;Object.keys(i).length>0&&(n=!0,["top","right","bottom","left"].forEach((A=>{o[A]||(o[A]={}),o[A].style||(o[A].style={}),o[A].style={...o[A].style,...i}}))),["top","right","bottom","left"].forEach((e=>{var t,r;const s=`borderText${e.charAt(0).toUpperCase()+e.slice(1)}`,g=A[s];var I;void 0!==g?(o[e]||(o[e]={}),o[e]={...o[e],value:g,enableText:!0,style:{...(null===(I=o[e])||void 0===I?void 0:I.style)||{},...i}},n=!0):null!==(t=o[e])&&void 0!==t&&t.value&&Object.keys(i).length>0&&(null===(r=o[e])||void 0===r||!r.style)&&(o[e].style||(o[e].style={}),o[e].style={...o[e].style,...i},n=!0)})),n&&(t.decorations=o)}if(!!(A.primaryColor||A.secondaryColor||A.thirdColor||A.backgroundColor)){e.borderOptions||(e.borderOptions={hasBorder:!0});const t=e.borderOptions;if(A.secondaryColor&&!A.borderColor){const e=new _(A.secondaryColor).isDark();t.color=new _(A.primaryColor).darken(e?-12:12).toString()}if(A.thirdColor&&!A.borderInnerColor&&(t.borderInner||(t.borderInner={}),t.borderInner.color=new _(A.thirdColor).darken(2).toString()),A.primaryColor&&!A.borderOuterColor&&(t.borderOuter=t.borderOuter||{},t.borderOuter.color=new _(A.primaryColor).darken(2).toString()),A.backgroundColor&&!A.borderFontColor&&t.color){const e=new _(A.backgroundColor),i=new _(t.color),o=_.readability(e,i),n=e.isDark();if(o<2){DA(t,(n?e.lighten(15):e.darken(15)).toString())}else{DA(t,(n?e.lighten(20):e.lighten(10)).toString())}}}return e}function FA(A){const e=[];return void 0!==A.logoSize&&("number"!=typeof A.logoSize||A.logoSize<0||A.logoSize>1)&&e.push("logoSize must be a number between 0 and 1."),{isValid:0===e.length,errors:e}}class RA{constructor(){}close(){}}class kA extends RA{constructor(A){super(),this.istream=A,this.buffer=0,this.buflen=0}readByte(){for(;this.buflen<8;){const A=this.istream.readByte();if(-1==A){if(0==this.buflen)return-1;throw new Error("unexpected end of file./"+this.buflen)}if(A=="=".charCodeAt(0))return this.buflen=0,-1;kA.isWhitespace(A)||(this.buffer=this.buffer<<6|kA.decode(A),this.buflen+=6)}const A=this.buffer>>>this.buflen-8&255;return this.buflen-=8,A}static isWhitespace(A){return A=="\v".charCodeAt(0)||A=="\t".charCodeAt(0)||A=="\r".charCodeAt(0)||A=="\n".charCodeAt(0)}static decode(A){if("A".charCodeAt(0)<=A&&A<="Z".charCodeAt(0))return A-"A".charCodeAt(0);if("a".charCodeAt(0)<=A&&A<="z".charCodeAt(0))return A-"a".charCodeAt(0)+26;if("0".charCodeAt(0)<=A&&A<="9".charCodeAt(0))return A-"0".charCodeAt(0)+52;if(A=="+".charCodeAt(0))return 62;if(A=="/".charCodeAt(0))return 63;throw new Error("c:"+A)}}class bA extends RA{constructor(A){super(),this.bytes=A,this.pos=0}readByte(){if(this.pos<this.bytes.length){const A=this.bytes[this.pos];return this.pos+=1,A}return-1}}(function(A,e){const t=(()=>{const t=new kA(new bA(function(A){const e=[];for(let t=0;t<A.length;t+=1)e.push(A.charCodeAt(t));return e}(A))),i=()=>{const A=t.readByte();if(-1==A)throw new Error("eof");return A};let o=0;const n={};for(;;){const A=t.readByte();if(-1==A)break;const e=i(),r=i()<<8|i();n[String.fromCharCode(A<<8|e)]=r,o+=1}if(o!=e)throw new Error(o+"!="+e);return n})(),i="?".charCodeAt(0)})("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MIWC4zCGguQwh4LlMIiC5jCJgucwioLoMIuC6TCMguowjYLrMI6C7DCPgu0wkILuMJGC7zCSgvAwk4LxMJuBSjCcgUswnYFUMJ6BVTChg0AwooNBMKODQjCkg0MwpYNEMKaDRTCng0YwqINHMKmDSDCqg0kwq4NKMKyDSzCtg0wwroNNMK+DTjCwg08wsYNQMLKDUTCzg1IwtINTMLWDVDC2g1Uwt4NWMLiDVzC5g1gwuoNZMLuDWjC8g1swvYNcML6DXTC/g14wwINfMMGDYDDCg2Eww4NiMMSDYzDFg2QwxoNlMMeDZjDIg2cwyYNoMMqDaTDLg2owzINrMM2DbDDOg20wz4NuMNCDbzDRg3Aw0oNxMNODcjDUg3Mw1YN0MNaDdTDXg3Yw2IN3MNmDeDDag3kw24N6MNyDezDdg3ww3oN9MN+DfjDgg4Aw4YOBMOKDgjDjg4Mw5IOEMOWDhTDmg4Yw54OHMOiDiDDpg4kw6oOKMOuDizDsg4ww7YONMO6DjjDvg48w8IOQMPGDkTDyg5Iw84OTMPSDlDD1g5Uw9oOWMPuBRTD8gVsw/YFSMP6BU04AiOpOAZKaTgOOtU4HlpxOCI/kTgmOT04Kj+NOC4m6Tg2Vc04Ol15OEJigThGJTk4Uio5OFZihThaQok4XmcBOGIt1ThmVuE4ej+VOIZe8TiaVwE4qmKJOLZKGTjGYo04yi/hONpikTjiK2045kk9OO47lTjyYpU4/mKZOQpinTkOUVE5Fi3ZOS5RWTk2T4U5OjMFOT5ZSTlXlaE5WmKhOV4/mTliYqU5ZibNOXYvjTl6M7k5fludOYpukTnGXkE5zk/tOfoqjToCLVE6CmKpOhZirToaXuU6Il1xOiZGIToqYrU6LjpZOjJPxTo6YsE6RiV1OkozdTpSM3E6ViOROmJhqTpmYaU6bjbFOnIifTp6YsU6fmLJOoJizTqGWU06imLROpIzwTqWI5U6mlpJOqIucTquLnU6si55OrZLgTq6Xuk6wmLVOs5i2TraYt066kGxOwI9ZTsGQbU7CmLxOxJi6TsaYu07Hi3dOyo2hTsuJ7k7NmLlOzpi4Ts+Vp07UjmVO1Y5kTtaRvE7XmL1O2JV0TtmQ5U7dgVdO3pi+Tt+YwE7jkeNO5JffTuWIyE7tmL9O7om8TvCLwk7ykodO9oyPTveYwU77lENPAYrpTwmYwk8KiMlPDYzeTw6K6k8PlZpPEJSwTxGLeE8aie9PHJjlTx2TYE8vlIxPMJjETzSUuk82l+BPOJBMTzqOZk88jpdPPYm+T0OSz09GkkFPR5jIT02Iyk9OkuFPT49aT1CNsk9Rl0NPU5HMT1WJvU9XmMdPWZddT1qYw09bmMVPXI3sT12Yxk9em0NPaZjOT2+Y0U9wmM9Pc4nAT3WVuU92mMlPe5jNT3yM8U9/jmdPg4qkT4aY0k+ImMpPi5fhT42OmE+PmMtPkZjQT5aY00+YmMxPm4ufT52Iy0+gi6BPoYm/T6ubRE+tlplPrpWOT6+M8k+1kE5Ptpe1T7+V1k/CjFdPw5GjT8SJ4k/Kj3JPzpjXT9CY3E/RmNpP1JjVT9eRrU/YmNhP2pjbT9uY2U/dldtP35jWT+GQTU/jlpNP5JjdT+WY3k/uj0NP75jrT/OUb0/1lVVP9pjmT/iV7k/6ibRP/pjqUAWY5FAGmO1QCZFxUAuMwlANlHtQD+DFUBGY7FASk3xQFJjhUBaM9FAZjPNQGpjfUB+O2FAhmOdQI5XtUCSSbFAlmONQJoyRUCiY4FApmOhQKpjiUCuXz1AsmOlQLZhgUDaL5FA5jJBQQ5juUEeY71BImPNQSYjMUE+VzlBQmPJQVZjxUFaY9VBamPRQXJLiUGWMklBsmPZQco7DUHSRpFB1kuNQdov0UHiY91B9i1VQgJj4UIWY+lCNllRQkYyGUJiOUFCZlPVQmpj5UKyNw1Ctl2JQspj8ULOZQlC0mPtQtY3CULePnVC+jFhQwplDUMWLzVDJmUBQyplBUM2TrVDPkZxQ0YuhUNWWbFDWmURQ2pe7UN6ZRVDjmUhQ5ZlGUOeRbVDtmUdQ7plJUPWZS1D5mUpQ+5XGUQCLVlEBmU1RAplOUQSJrVEJmUxREo7yURSZUVEVmVBRFplPURiY1FEamVJRH4+eUSGZU1Eql0RRMpbXUTeZVVE6mVRRO5lXUTyZVlE/mVhRQJlZUUGI8lFDjLNRRIxaUUWPW1FGkptRR4uiUUiQ5lFJjPVRS42OUUyZW1FNlsZRTpNlUVCOmVFSmVpRVJlcUVqTfVFcipVRYpldUWWT/FFokVNRaZlfUWqZYFFrlKpRbIz2UW2YWlFumWFRcYukUXWVulF2kbRRd4vvUXiTVFF8jJNRgJliUYKZY1GFk+BRhol+UYmZZlGKjftRjJllUY2NxFGPmWdRkOPsUZGZaFGSlmBRk5lpUZWZalGWmWtRl4/nUZmOylGgiqVRopluUaSZbFGllrtRppltUaiVeVGpmW9RqplwUauZcVGsk35RsJl1UbGZc1GymXRRs5lyUbSN4VG1mXZRtpboUbeX4lG9mXdRxJCmUcWZeFHGj3lRyZl5UcuSnFHMl71RzZOAUdaZw1HbmXpR3OqjUd2Lw1HgmXtR4ZZ9UeaPiFHnkfpR6Zl9UeqT4lHtmX5R8JmAUfGKTVH1mYFR9oulUfiTylH5iZpR+o9vUf2Un1H+mYJSAJOBUgOQblIEmYNSBpWqUgeQ2FIIiqBSCoqnUguZhFIOmYZSEYxZUhSZhVIXl/FSHY+JUiSUu1IllcpSJ5mHUimXmFIqmYhSLpmJUjCTnlIzmYpSNpCnUjeN/FI4jJRSOZmLUjqOaFI7jY9SQ5LkUkSZjVJHkaVSSo3tUkuZjlJMmY9STZFPUk+ZjFJUmZFSVpZVUluNhFJemZBSY4yVUmSN3FJllI1SaZmUUmqZklJvlZtScI/oUnGZm1JyioRSc5mVUnSZk1J1kW5SfZmXUn+ZllKDimNSh4yAUoiZnFKJl6tSjZmYUpGZnVKSmZpSlJmZUpuXzVKfjPdSoInBUqOX8lKpj5VSqpN3UquNhVKsmaBSrZmhUrGX41K0mEpStZmjUrmM+FK8maJSvopOUsGZpFLDlnVSxZK6UseXRVLJlddSzZmlUtLo01LVk65S15mmUtiKqFLZlrFS3Y+fUt6Zp1LfleVS4JmrUuKQqFLjmahS5IvOUuaZqVLniqlS8oxNUvOZrFL1ma1S+JmuUvmZr1L6jtlS/oz5Uv+W3FMBluZTApP1UwWV71MGmbBTCJmxUw2Zs1MPmbVTEJm0UxWZtlMWibtTF5ZrUxmN+lMambdTHZF4UyCPoFMhi6dTI5m4UyqU2VMvmblTMZm6UzOZu1M4mbxTOZVDUzqL5lM7iONTP5O9U0CZvVNBj1xTQ5DnU0WZv1NGmb5TR4+hU0iM31NJmcFTSpS8U02ZwlNRlNpTUpGyU1OR7FNUi6ZTV5PsU1iSUFNalI5TXJZtU16ZxFNgkOhTZoxUU2mZxVNumcZTb4lLU3CI81NxiutTc5GmU3SLcFN1l5FTd5nJU3iJtVN7mchTf4uoU4KZylOElu9TlpnLU5iX0FOajPpTn4y0U6CZzFOlmc5TppnNU6iQflOpiVhTrYl9U66Zz1OwmdBTs4y1U7aZ0VO7i45Two5RU8OZ0lPIlpRTyY2zU8qLeVPLl0ZTzJFvU82UvVPOjvtT1I9mU9aO5lPXjvNT2Y+WU9uUvlPfmdVT4YliU+KRcFPjjPtT5IzDU+WL5VPomdlT6ZJAU+qR/FPri6lT7I+iU+2Z2lPumdhT74nCU/CR5FPxjrZT8o5qU/OJRVP2ipBT942GU/iOaVP6mdtUAZncVAOLaFQEimVUCI2HVAmLZ1QKkt1UC4lEVAyTr1QNlrxUDo1AVA+XmVQQk2ZUEYz8VBuMTlQdmeVUH4vhVCCWaVQmlNtUKZnkVCuK3FQsmd9ULZngVC6Z4lQ2meNUOIt6VDmQgVQ7latUPJnhVD2Z3VQ+jOFUQJneVEKYQ1RGlfBUSJLmVEmM4FRKjZBUTpnmVFGT21RfmepUaI78VGqO9FRwme1UcZnrVHOWoVR1mehUdpnxVHeZ7FR7me9UfIzEVH2WvVSAmfBUhJnyVIaZ9FSLje5UjJhhVI6Z6VSPmedUkJnzVJKZ7lSimfZUpJpCVKWZ+FSomfxUq5pAVKyZ+VSvml1Uso3nVLOKUFS4mfdUvJpEVL2I9FS+mkNUwIijVMGVaVTCmkFUxJn6VMeZ9VTImftUyY3GVNiaRVThiPVU4ppOVOWaRlTmmkdU6I+jVOmWiVTtmkxU7ppLVPKTTlT6mk1U/ZpKVQSJU1UGjbRVB5BPVQ+aSFUQk4JVFJpJVRaIoFUumlNVL5dCVTGPpVUzmllVOJpYVTmaT1U+kcFVQJpQVUSR7VVFmlVVRo+kVUyaUlVPluJVU4xbVVaaVlVXmldVXJpUVV2aWlVjmlFVe5pgVXyaZVV+mmFVgJpcVYOaZlWEkVBVh5poVYmNQVWKml5Vi5KdVZiaYlWZmltVmoqrVZyK7FWdioVVnppjVZ+aX1WnjJZVqJppVamaZ1WqkXJVq4tpVayLqlWummRVsIvyVbaJY1XEmm1VxZprVceapVXUmnBV2ppqVdyablXfmmxV445rVeSab1X3mnJV+Zp3Vf2adVX+mnRWBpJRVgmJw1YUmnFWFppzVhePplYYiVJWG5p2VimJ3FYvmoJWMY/6VjKafVY0mntWNpp8VjiaflZCiVxWTJFYVk6aeFZQmnlWW4qaVmSagVZoiu1WapqEVmuagFZsmoNWdJWsVniT01Z6lLZWgJqGVoaahVaHimRWipqHVo+ailaUmolWoJqIVqKUWFalmotWrpqMVrSajla2mo1WvJqQVsCak1bBmpFWwpqPVsOaklbImpRWzpqVVtGallbTmpdW15qYVtiZZFbajvpW245sVt6J8VbgiPZW45JjVu6amVbwjaJW8ojNVvOQfVb5mppW+ozFVv2NkVb/mpxXAJqbVwOV3lcEmp1XCJqfVwmanlcLmqBXDZqhVw+Ml1cSiYBXE5qiVxaapFcYmqNXHJqmVx+TeVcmmqdXJ4izVyiN3VctjFxXMJJuVzeaqFc4mqlXO5qrV0CarFdCjeJXR4vPV0qWVldOmqpXT5qtV1CNv1dRjUJXYZqxV2SNo1dmklJXaZquV2qS2Fd/mrJXgpCCV4iasFeJmrNXi4xeV5OatFegmrVXoo1DV6OKX1ekmrdXqpq4V7CauVezmrZXwJqvV8OaulfGmrtXy5aEV86P6VfSmr1X05q+V9SavFfWmsBX3JRXV9+I5lfglXVX45rBV/SP+1f3jrdX+ZR8V/qK7lf8jelYAJZ4WAKTsFgFjJhYBpHNWAqav1gLmsJYFZHCWBmaw1gdmsRYIZrGWCSS51gqiqxYL+qfWDCJgVgxlfFYNI/qWDWTZ1g6jeRYPZrMWECVu1hBl9tYSonyWEuayFhRkVlYUprLWFSTg1hXk2hYWJOEWFmUt1hakstYXo3HWGKax1hpiZZYa5NVWHCayVhymsVYdZBvWHmazVh+j21Yg4urWIWazliTleZYl5GdWJySxFifmtBYqJZuWKua0ViumtZYs5WtWLia1Vi5ms9YuprSWLua1Fi+jaRYwZXHWMWa11jHkmRYyonzWMyP61jRmtlY05rYWNWNiFjXmtpY2JrcWNma21jcmt5Y3prTWN+a4Fjkmt9Y5ZrdWOuObVjskHBY7pFzWO+a4VjwkLpY8YjrWPKUhFj3ktlY+ZrjWPqa4lj7muRY/JrlWP2a5lkCmudZCZXPWQqa6FkPicRZEJrpWRWXW1kWik9ZGJnHWRmPZ1kakb1ZG5rqWRyW6VkilrJZJZrsWSeR5Vkpk1ZZKpG+WSuVdlksmu1ZLZruWS6Jm1kxjrhZMprvWTeIzlk4mvBZPprxWUSJgllHiu9ZSJPeWUmV8llOmvVZT5F0WVCa9FlRjF9ZVJZ6WVWa81lXk4VZWJr3WVqa9llgmvlZYpr4WWWJnFlnmvpZaI+nWWma/FlqkkRZbJr7WW6VsVlzj5dZdJN6WXibQFl9jURZgZtBWYKUQFmDlNxZhJbPWYqURFmNm0pZk4tXWZaXZFmZlq1Zm5uqWZ2bQlmjm0VZpZHDWaiWV1msk2lZsptGWbmWhVm7jchZvo+oWcabR1nJjm9Zy45uWdCIt1nRjMZZ05CpWdSIz1nZm0tZ2ptMWdybSVnliVdZ5oqtWeibSFnqlsNZ65VQWfaIpln7iPdZ/45wWgGI0FoDiKFaCZtRWhGbT1oYlrpaGptSWhybUFofm05aIJBQWiWbTVopldhaL4ziWjWbVlo2m1daPI+pWkCbU1pBmEtaRpRrWkmbVVpajaVaYptYWmaVd1pqm1labJtUWn+WuVqSlH1amptaWpuVUVq8m1tavZtfWr6bXFrBicVawpteWsmOuVrLm11azIyZWtCba1rWm2Ra15thWuGShFrjm2Ba5ptiWumbY1r6m2Va+5tmWwmK8FsLm2hbDJtnWxabaVsij+xbKptsWyyS2lswiWRbMptqWzabbVs+m25bQJtxW0Obb1tFm3BbUI5xW1GbcltUjUVbVZtzW1eOmltYkbZbWpt0W1ubdVtcjnlbXY1GW1+W0Ftji0dbZIzHW2WbdltmindbaZt3W2uRt1twm3hbcZuhW3ObeVt1m3pbeJt7W3qbfVuAm35bg5uAW4WR7luHiUZbiI7nW4mIwFuLkXZbjIquW42Os1uPjUdblZOGW5ePQFuYiq9bmZKIW5qS6FubiLZbnItYW52V81ufjsBbootxW6OQ6VukjrpbpZdHW6abgVuui3tbsI3JW7OKUVu0iYNbtY+qW7aJxlu4m4JbuZdlW7+PaFvCjuJbw5uDW8SK8VvFk9BbxpanW8ebhFvJm4VbzJV4W9Cbh1vSiqZb04v1W9SbhlvbirBb3ZBRW96bi1vfjkBb4YnHW+Kbilvkm4hb5ZuMW+abiVvnlEpb6J7LW+mQUlvrm41b7pe+W/Cbjlvzm5Bb9ZKeW/abj1v4kKFb+o6bW/6Rzlv/jvVcAZWVXAKQ6lwEjstcBZuRXAaPq1wHm5JcCJuTXAmI0VwKkbhcC5BxXA2blFwOk7FcD4+sXBGPrVwTm5VcFpDrXBqPrlwgm5ZcIpuXXCSW3lwom5hcLYvEXDGPQVw4m5lcOZuaXDqO2lw7kEtcPJPyXD2Qc1w+lPZcP5RBXECLx1xBm5tcRYuPXEabnFxIi/xcSpPNXEuJrlxNjnJcTpudXE+boFxQm59cUYv7XFObnlxVk1dcXpGuXGCTalxhjsZcZJF3XGWXmlxsm6JcbpujXG+T1FxxjlJcdpulXHmbplyMm6dckIryXJGbqFyUm6lcoYmqXKiRWlypiuJcq5urXKyWplyxkdBcs4p4XLabrVy3m69cuIrdXLubrFy8m65cvpuxXMWbsFzHm7Jc2ZuzXOCTu1zhi6xc6InjXOmbtFzqm7lc7Zu3XO+V9VzwlfRc9pOHXPqbtlz7j3Nc/Zu1XQeQkl0Lm7pdDo3oXRGbwF0Um8FdFZu7XRaKUl0Xm7xdGJvFXRmbxF0am8NdG5u/XR+bvl0im8JdKZX2XUubyV1Mm8ZdTpvIXVCXkl1Sm8ddXJu9XWmQk11sm8pdb421XXOby112m8xdgpvPXYSbzl2Hm81di5OIXYybuF2Qm9VdnZvRXaKb0F2sm9JdrpvTXbeb1l26l+RdvJvXXb2b1F3Jm9hdzIreXc2b2V3Sm9td05vaXdab3F3bm91d3ZDsXd6PQl3hj4Rd45GDXeWNSF3mjbZd541JXeiLkF3rm95d7o23XfGMyF3ym99d85akXfSUYl31m+Bd941KXfuKql39kkZd/ovQXgKOc14DlXpeBpS/Xgub4V4MivNeEZvkXhaSn14Zm+NeGpviXhub5V4dkuleJZCDXiuOdF4tkMheL5HRXjCLQV4zkqBeNpvmXjeb5144j+1ePZZYXkCb6l5Dm+leRJvoXkWVnV5Hm/FeTJZ5Xk6b615Um+1eVZaLXleb7F5fm+5eYZSmXmKb715jlbxeZJvwXnKKsV5zlb1edJROXnWb8l52m/NeeI1LXnmKsl56m/Ree4y2XnyXY159l0hefor0Xn+b9l6BkqFeg41MXoSPr16HlN1eio+wXo+PmF6VkupelpX3XpeTWF6ajU1enJV7XqCb916mk3hep43AXquMyV6tkutetYjBXraPjl63jU5euJdmXsGb+F7Cm/lew5RwXsib+l7Jl/VeyphMXs+b/F7Qm/te04pmXtacQF7anENe25xEXt2cQl7flV9e4I+xXuGcRl7inEVe45xBXuicR17pnEhe7JxJXvCcTF7xnEpe85xLXvScTV72iYRe95LsXvicTl76jJpe+4n0XvyUVV7+nE9e/5P5XwGV2V8DnFBfBJhNXwmcUV8Klb5fC5xUXwyYn18NmK9fD46uXxCT818RnFVfE4t8XxSSol8ViPhfFpxWXxeVpF8YjU9fG5JvXx+S7V8llu1fJoy3XyeMyl8pnFdfLZxYXy+cXl8xjuNfNZKjXzeLrV84nFlfPJVKXz6SZV9BnFpfSJxbX0qLrl9MnFxfTpxdX1GcX19Tk5ZfVpxgX1ecYV9ZnGJfXJxTX12cUl9hnGNfYoxgX2aVRl9pjcpfapVWX2uSpF9slWpfbZxkX3CPsl9xiWVfc5xlX3ecZl95lvBffJTeX3+caV+AiZ1fgZCqX4KcaF+DnGdfhIxhX4WR0l+HnG1fiJxrX4qcal+Ll6VfjIzjX5CPmV+RnGxfkpNrX5OPXV+Xk75fmJxwX5mcb1+enG5foJxxX6GM5F+onHJfqZWcX6qPel+tnHNfrpT3X7OTv1+0kqVfuZNPX7ycdF+9i0pfw5BTX8WVS1/MivVfzZRFX9acdV/XjnVf2JZZX9mWWl/ciZ5f3Zx6X+CSiV/knHdf64n1X/Ccq1/xnHlf9ZRPX/iceF/7nHZf/Y2aX/+cfGAOnINgD5yJYBCcgWASk3tgFZyGYBaVfGAZnIBgG5yFYByX5WAdjnZgIJHTYCGcfWAli31gJpyIYCeQq2AoiYVgKZyCYCqJ9mArnIdgL4uvYDGchGA6nIpgQZyMYEKclmBDnJRgRpyRYEqckGBLl/ZgTZySYFCLsGBSjVBgVY+aYFmcmWBanItgX5yPYGCcfmBiifhgY5yTYGSclWBlknBgaI2mYGmJtmBqnI1ga5yYYGycl2Bti7Fgb5GnYHCKhmB1jGJgd5yOYIGcmmCDnJ1ghJyfYImOu2CLnKVgjJLuYI2cm2CSnKNglIn3YJacoWCXnKJgmpyeYJucoGCfjOVgoJdJYKOKs2CmiXhgp5ykYKmUWWCqiKtgspTfYLOce2C0nKpgtZyuYLaW42C4nKdgvJOJYL2crGDFj+5gxpytYMeT1WDRmGZg05ypYNicr2DajZtg3JDJYN+I0mDgnKhg4ZymYOOReWDnnJxg6I5TYPCRxGDxnLtg85F6YPSctmD2nLNg95y0YPmO5GD6nLdg+5y6YQCctWEBj0RhA5y4YQacsmEIlvphCZb5YQ2cvGEOnL1hD4jTYRWcsWEai/BhG4ikYR+KtGEhnLlhJ5zBYSicwGEsnMVhNJzGYTycxGE9nMdhPpy/YT+cw2FCnMhhRJzJYUecvmFIjpxhSpzCYUuR1GFMjVFhTZywYU6QVGFTnNZhVZXnYViczGFZnM1hWpzOYV2c1WFfnNRhYpadYWOKtWFlnNJhZ4xkYWiKU2FrnM9hbpe2YW+c0WFwiNRhcZzTYXOcymF0nNBhdZzXYXaMY2F3nMthfpd8YYKXSmGHnNphipzeYY6RnmGQl/dhkZzfYZSc3GGWnNlhmZzYYZqc3WGkla5hp5OyYamMZWGrnOBhrJzbYa6c4WGyjJthtomvYbqc6WG+irZhw5znYcac6GHHjadhyJzmYcmc5GHKnONhy5zqYcyc4mHNnOxh0In5YeOc7mHmnO1h8pKmYfSc8WH2nO9h95zlYfiMnGH6nPBh/Jz0Yf2c82H+nPVh/5zyYgCc9mIInPdiCZz4YgqV6GIMnPpiDZz5Yg6PXmIQkKxiEYnkYhKJ+mIUnPtiFoi9YhqQymIbnPxiHebBYh6dQGIfjIFiIZ1BYiaQ7WIqnUJiLp1DYi+LWWIwnURiMp1FYjOdRmI0kdViOIzLYjuW32I/lltiQI+KYkGdR2JHkO5iSOe7YkmU4GJLjuhiTY3LYk6dSGJTkcViVZWlYliR72JbnUtiXp1JYmCdTGJjnUpiaJ1NYm6Vr2JxiLVidpV9YnmU4WJ8nU5ifp1RYn+Ps2KAi1pigp1PYoOdVmKEj7RiiZ1QYoqUY2KRl31ikp1SYpOdU2KUnVdilZOKYpadVGKXjVJimJDcYpudZWKclLJinpHwYquU4mKsnatisZX4YrWS72K5lpViu51aYryJn2K9kopiwp1jYsWSU2LGnV1ix51kYsidX2LJnWZiyp1iYsydYWLNlI9iz51bYtCJ+2LRnVli0ouRYtOR8WLUnVVi151YYtiNU2LZkNli24+1YtydYGLdlHFi4IuSYuGKZ2Lsiodi7ZBAYu6daGLvnW1i8Z1pYvOMnWL1nW5i9o5BYveNiWL+j0Vi/51cYwGOnWMCnWtjB453YwidbGMJiMJjDJ1nYxGSp2MZi5NjH4uyYyedamMoiKVjK43BYy+QVWM6kvBjPZTSYz6dcGM/kX1jSZGoY0yOSmNNnXFjT51zY1Cdb2NVld9jV5K7Y1yRe2NnlfljaI7MY2mdgGNrnX5jbpCYY3KMnmN2nXhjd4+3Y3qT5mN7lFBjgJ12Y4ORfGOIjvZjiZ17Y4yPtmOOnXVjj516Y5KUcmOWnXRjmIxAY5uKfGOfnXxjoJepY6GNzGOiklRjo515Y6WQ2mOnjVRjqJCEY6mJhmOqkVtjq513Y6yLZGOyjGZjtJLNY7WdfWO7kX5jvp2BY8Cdg2PDkbVjxJ2JY8adhGPJnYZjz5VgY9CS8WPSnYdj1pdLY9qXZ2Pbirdj4YisY+OdhWPpnYJj7or2Y/SJh2P2nYhj+pdoZAadjGQNkblkD52TZBOdjWQWnYpkF52RZBydcmQmnY5kKJ2SZCyUwGQtk4tkNJ2LZDadj2Q6jGdkPo3vZEKQ22ROnZdkWJNFZGedlGRploBkb52VZHadlmR4lsxkepCgZIOMgmSInZ1kko5UZJOdmmSVnZlkmpRRZJ6Ts2Skk1BkpZ2bZKmdnGSrlY9krZRkZK6OQmSwkO9kspZvZLmKaGS7naNkvJ2eZMGXaWTCnaVkxZ2hZMedomTNkYBk0p2gZNSdXmTYnaRk2p2fZOCdqWThnapk4pNGZOOdrGTmjkNk552nZOyLW2Tvna1k8Z2mZPKdsWT0nbBk9p2vZPqdsmT9nbRk/o/vZQCds2UFnbdlGJ21ZRydtmUdnZBlI525ZSSduGUqnZhlK526ZSydrmUvjnhlNJ27ZTWdvGU2nb5lN529ZTidv2U5ifxlO41VZT6V+mU/kK1lRYzMZUidwWVNncRlT5VxZVGLfmVVncNlVp3CZVeUc2VYncVlWYuzZV2dx2VencZlYoq4ZWOOVWVmk9ZlbIxoZXCQlGVynchldJCuZXWTR2V3lX5leJ3JZYKdymWDnctlh5W2ZYibfGWJkMRljJVrZY6N1mWQlONlkZTBZZeTbGWZl79lm53NZZyOzmWfnc5loYi0ZaSL0mWlkMtlp5WAZaudz2WsjmFlrZJmZa+OemWwkFZlt53QZbmV+2W8iZdlvY57ZcGd02XDndFlxJ3UZcWXt2XGndJly5D5Zcyd1WXPkbBl0p3WZdeK+GXZndhl253XZeCd2WXhndpl4or5ZeWT+mXmklVl54uMZeiOfGXpkYFl7I97Ze2IrmXxndtl+omgZfud32YCjVZmA53eZgaNqWYHj7hmCp3dZgyPuWYOlr5mD42oZhOI1WYUkMxmHJ3kZh+Qr2YgiWZmJY90ZieWhmYojfBmLY+6Zi+QpWY0neNmNZ3hZjad4mY8kotmP55FZkGd6GZCjp5mQ41XZkSd5mZJnedmS5BXZk+d5WZSjk5mXZ3qZl6d6WZfne5mYp3vZmSd62ZmikFmZ53sZmid7WZplNNmbpWBZm+MaWZwnfBmdJCwZnaPu2Z6knFmgYvFZoOd8WaEnfVmh4nJZoid8maJnfRmjp3zZpGPi2aWkmdml4jDZpid9madnfdmopKoZqaX72arjmJmrpXpZrSWXGa4nkFmuZ35Zryd/Ga+nftmwZ34ZsSeQGbHk9xmyZ36ZtaeQmbZj4xm2p5DZtyXambdlJhm4J5EZuaeRmbpnkdm8J5IZvKLyGbziWdm9I1YZvWeSWb3nkpm+I+RZvmRgmb8mdZm/ZFdZv6RXGb/kdZnAI3FZwOY8GcIjI5nCZdMZwuV/GcNlZ5nD55LZxSN8WcVkr1nFp5MZxeYTmcbll1nHZKpZx6eTWcfivpnJp5OZyeeT2colthnKpaiZyuWlmcslntnLY5EZy6eUWcxjulnNJZwZzaeU2c3nlZnOJ5VZzqK92c9i4BnP55SZ0GeVGdGnldnSZCZZ06Xm2dPiMdnUI3eZ1GRumdTjttnVo/xZ1meWmdck21nXp5YZ1+RqWdgnllnYY/wZ2KW22djnltnZJ5cZ2WXiGdqnmFnbY1ZZ2+UdGdwnl5ncZOMZ3Kd3GdzneBndYtuZ3eUZmd8nmBnfo+8Z3+UwmeFnmZnh5T4Z4meXWeLnmNnjJ5iZ5CQzWeVlo1nl5fRZ5qWh2ecicpnnY59Z6CYZ2ehnmVnopCVZ6aeZGepnl9nr4zNZ7Oea2e0nmlntonLZ7eeZ2e4nm1nuZ5zZ8GRxmfElb9nxp51Z8qVQWfOnnRnz5SQZ9CWXmfRirln05D1Z9SPX2fYktFn2pdNZ92ecGfenm9n4p5xZ+SebmfnnnZn6Z5sZ+yeamfunnJn755oZ/GSjGfzlvZn9I7EZ/WN8mf7jbhn/paPZ/+KYGgCksxoA5PIaASJaGgTkPBoFpCyaBeMSWgennhoIY1aaCKKnGgpnnpoKoqUaCuegWgynn1oNJDxaDiKamg5japoPIppaD2NzWhAnntoQYyFaEKMamhDk41oRp55aEiIxGhNnnxoTp5+aFCLy2hRjEtoU4q6aFSLamhZnoJoXI33aF2WkWhfjlZoY56DaGeVT2h0no9odomxaHeehGh+npVof56FaIGXwGiDnoxohZR+aI2elGiPnodok4iyaJSeiWiXjVtom56LaJ2eimifnoZooJ6RaKKPvWimmutop4zmaKiXnGitnohor5LyaLCKQmixjatos56AaLWekGi2ioFouZ6OaLqekmi8k45oxIr8aMaesGjJlsdoyp6XaMuK+2jNnp5o0pZfaNSen2jVnqFo156laNiemWjakklo35OPaOCeqWjhnpxo456maOeeoGjukFho756qaPKQsWj5nqho+oq7aQCYb2kBnpZpBJ6kaQWI1mkInphpC5a4aQyenWkNkEFpDpLFaQ+ek2kSnqNpGZCaaRqerWkbipFpHIyfaSGer2kinpppI56uaSWep2kmnptpKJ6raSqerGkwnr1pNJPMaTaeomk5nrlpPZ67aT+S1mlKl2tpU5WWaVSetmlVkchpWZ68aVqRXmlcnrNpXZ7AaV6ev2lgk+1pYZ6+aWKT6GlqnsJpa561aW2Lxmlunrhpb498aXOUgGl0nrppdYvJaXeesml4nrRpeZ6xaXyYT2l9inlpfp63aYGewWmCilRpio3laY6JfGmRntJplJhQaZWe1WmbkFlpnJ7UaaCe02mnntBprp7EabGe4WmynsNptJ7Wabuezmm+nslpv57GacGex2nDns9px+qgacqezGnLjVxpzJLGac2RhGnOnspp0J7FadOeyGnYl2xp2ZaKad2ezWnentdp557faeie2GnrnuVp7Z7jafKe3mn5nt1p+5LOaf2RhWn/nttqAp7ZagWe4GoKnuZqC5Tzagye7GoSnudqE57qahSe5GoXkpRqGZVXahue2moenuJqH4++aiGWzWoinvZqI57paimMoGoqiaFqK4p+ai6e0Wo1j79qNp7uajie9Wo5jvdqOoqSaj2STWpEnutqR57wakie9GpLi7RqWItralme8mpfi0BqYZPJamKe8WpmnvNqcp7tanie72p/ioBqgJJoaoSe+mqNnvhqjoznapCe92qXn0BqnJ53aqCe+Wqinvtqo578aqqfS2qsn0dqrp6NarOfRmq4n0Vqu59CasGe6GrCn0Rqw59DatGfSWrTmEVq2p9MatuL+Wren0hq359KauiUpWrqn01q+p9RavufTmsEl5NrBZ9Pawqe3GsSn1JrFp9Tax2JVGsfn1VrIIyHayGOn2sji9NrJ4miazKXfms3n1drOJ9WazmfWWs6i1xrPYvUaz6KvGtDn1xrR59ba0mfXWtMicxrTpJWa1CfXmtTir1rVJ9ga1mfX2tbn2FrX59ia2GfY2tijn5rY5Cza2SNn2tmlZBraZXga2qYY2tvjpVrc43Oa3SX8Gt4n2RreZ9la3uOgGt/n2ZrgJ9na4OfaWuEn2hrhpZ3a4mPfWuKjupri45ja42famuVn2xrlpBCa5ifa2uen21rpJ9ua6qfb2urn3Brr59xa7Gfc2uyn3Jrs590a7SJo2u1kmlrt591a7qORWu7imtrvJ92a7+TYWvAmsprxYtCa8afd2vLn3hrzZXqa86WiGvSk8Vr0595a9SU5GvYlPlr25bRa9+femvrn3xr7J97a++ffmvzn31sCJ+BbA+OgWwRlq9sE5+CbBSfg2wXi0NsG5+EbCOfhmwkn4VsNJCFbDeVWGw4iWlsPpTDbECS82xBj2BsQouBbE6UxGxQjqxsVZ+IbFeKvmxaiZhsXZPwbF6fh2xfjV1sYJJybGKfiWxon5Fsap+KbHCRv2xyi4Jsc5+SbHqMiGx9i0Rsfp+QbIGfjmyCn4tsg5eAbIiSvmyMk9dsjZ+MbJCflGySn5Nsk4xCbJaJq2yZjblsmp+NbJufj2yhlnZsopHybKuWl2yun5xssZ+dbLOJzWy4laZsuZb7bLqfn2y7jqFsvI/AbL2fmGy+n55sv4mIbMGLtWzEn5VsxZ+abMmQ8mzKlJFszJTlbNOfl2zVlkBs15+ZbNmfomzbn6Bs3Z+bbOGWQWzilGds44uDbOWTRGzoko1s6p+jbO+foWzwkdds8Z+WbPOJam0Ll21tDJ+ubRKfrW0XkPRtGZ+qbRuXjG0ek7RtH5+kbSWSw20piWttKo1ebSufp20yj0ZtM5+sbTWfq202n6ZtOJ+pbTuKiG09n6htPpRobUGXrG1Ej/JtRZDzbVmftG1an7JtXJVsbWOfr21kn7FtZolZbWmNX21qmFFtbIpcbW6Vgm10l4Ftd4pDbXiQWm15n7NthZ+4bYiPwW2Ml09tjp+1bZOfsG2Vn7ZtmZfcbZuTk22ck8Btr4pVbbKJdG21n7xtuJ+/bbyXwW3Al4RtxZ/GbcafwG3Hn71ty5fS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hWmToIVqlZOFbeVKhXflUIV+5VGFgOVEhYSUloWH5U6FiOVGhYrlSIWQ5VKFkeVHhZTlS4WXiZKFmZPjhZvlTIWc5U+FpOVFhaaRRYWo5UmFqY5GhaqQZIWrjE+FrJbyha6W94Wvj5KFueVWhbrlVIXBmG2FyeVThc2XlYXP5VWF0OVXhdXlWIXc5VuF3eVZheSToYXl5VqF6ZTLherlTYX3j5OF+eVchfrlYYX7kZSF/uVghgLlQYYG5WKGB5FohgrlXYYL5V+GE+VehhafUIYXn0GGGuVkhiLlY4Ytl5aGL+G6hjDlZYY/5WaGTeVnhk6M1YZQi3OGVOVphlWZfIZai5WGXJe4hl6L8YZf5WqGZ+VrhmuSjoZx5WyGeZP4hnuIuIaKieGGi+VxhozlcoaT5W2GlY5chqPlboaklGGGqeVvhqrlcIar5XqGr+V0hrDld4a25XOGxOV1hsbldobHjtaGyeV4hsuSYIbNjHWGzophhtTle4bZil6G2+WBht7lfIbf5YCG5JS4hunlfYbs5X6G7ZVnhu6U2Ibv5YKG+JH7hvnljIb75YiG/onphwDlhocClkmHA+WHhwblhIcI5YWHCeWKhwrljYcN5YuHEeWJhxLlg4cYkneHGuWUhxyWqIcl5ZKHKeWThzTljoc35ZCHO+WRhz/lj4dJkOSHS5hYh0zlmIdO5ZmHU+Wfh1WQSYdX5ZuHWeWeh1/llodg5ZWHY+Wgh2aJ2odo5ZyHauWhh27lnYd05ZqHdpKxh3jll4d/lIiHguWlh42XWoef5aSHouWjh6vlrIev5aaHs+Wuh7qXhoe75bGHveWoh8DlqYfE5a2HxuWwh8flr4fL5aeH0OWqh9Llu4fg5bSH7+Wyh/Lls4f25biH9+W5h/mKSYf7i2GH/uW3iAXloogN5baIDuW6iA/ltYgR5byIFeW+iBblvYgh5cCIIuW/iCPleYgn5cSIMeXBiDblwog55cOIO+XFiECMjIhC5ceIROXGiEaPT4hMjXOITZ+liFLlyIhTj3CIV4pYiFnlyYhbiXGIXY/ViF7lyohhjXSIYuXLiGOI34holVyIa+XMiHCQiohy5dOIdeXQiHeSj4h95dGIfuXOiH+L3IiB5c2IguXUiIiMVYiLkdyIjeXaiJLl1oiWkbOIl+XViJnl2Iie5c+IouXZiKTl24irlO2IruXX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ljKWaJY7kWqWP4iilkCRyZZC6JiWRJWNlkvom5ZM6JmWTY1+lk/ompZQjMCWW5XDllzonZZd6J+WXuiell/ooJZiiUCWY5B3lmSPnJZliteWZuihlmqUhpZs6KOWcIlBlnLoopZzksKWdZfLlnaTqZZ36JyWeJeklnqMr5Z9l3qWhYv3loaXspaIjEeWipHglovkQJaN6KSWjopLlo+Qj5aUinWWleimlpfop5aY6KWWmYyElpuN25acj+GWoIlClqOX15an6KmWqOeslqroqJaw6KyWseiqlrLoq5a06K2WtuiulreX6pa46K+WueiwlruQx5a8lLmWwJCdlsGK5ZbEl1mWxYnrlsaPV5bHjNmWyeizlsvospbMjpOWzei0ls7osZbRjkeW1ei4ltblq5bZmdSW25CXltzotpbil6OW45PvluiJSpbqkOGW6460lvCVtZbyiV+W9pfrlveXi5b56LmW+5NklwCO+ZcE6LqXBui7lweQa5cI6LyXCpfslw3ot5cO6L6XD+jAlxHov5cT6L2XFujBlxnowpcckZqXHonglyTow5cnlraXKujElzDoxZcymEmXOJ5Qlznoxpc96MeXPujIl0LozJdE6MmXRujKl0joy5dJ6M2XUpDCl1aW9ZdZkMOXXOjOl16U8Zdg6M+XYepyl2KWypdk6NCXZujRl2jo0pdpinaXa+jUl22QeJdx6NWXdIxDl3no1pd66NqXfOjYl4Ho2ZeEipOXhejXl4bo25eL6NyXjYjGl4/o3ZeQ6N6XmI/il5zo35egi2aXo+jil6bo4Zeo6OCXq+aRl62V2pez6OOXtOjkl8Po5ZfG6OaXyOjnl8vo6JfTitiX3Ojpl+3o6pfulEKX8ujsl/OJuZf16O+X9ujul/uJQ5f/i7+YAZXFmAKSuJgDjaCYBY2AmAaPh5gIkHuYDOjxmA/o8JgQl2GYEYrmmBKU0JgTk9qYF5CcmBiXzJgajHqYIej0mCTo85gslmqYLZOqmDSJb5g36PWYOOjymDuVcJg8l4qYPej2mEbo95hL6PmYTJHomE2KephOinuYT+j4mFSK55hVjLCYWIromFuTXphel96YZ4zamGvo+phv6PuYcOj8mHHpQJhz6UKYdOlBmKiVl5iq6UOYr+lEmLHpRZi26UaYw+lImMTpR5jG6UmY25TymNzjypjfkEiY4otRmOnpSpjr6UuY7ZmqmO6fWpjvlNGY8oj5mPSIuZj8jpSY/ZZPmP6P/JkD6UyZBZbdmQnpTZkKl3uZDIlhmRCOYJkS6U6ZE4nsmRTpT5kY6VCZHelSmR7pU5kg6VWZIelRmSTpVJkoitmZLOlWmS7pV5k96ViZPulZmULpWplF6VyZSelbmUvpXplM6WGZUOldmVHpX5lS6WCZVelimVeLwJmWjvGZl+ljmZjpZJmZjYGZpellmaiKXZmslG6Zrelmma7pZ5mzknmZtJPpmbzpaJnBlJ2ZxJHKmcWJd5nGi+yZyIvtmdCSk5nR6W2Z0ovumdWJ7ZnY6WyZ2+lqmd3pa5nf6WmZ4ul3me3pbpnu6W+Z8elwmfLpcZn46XOZ++lymf+PeJoB6XSaBel2mg6LUpoP6XWaEpGbmhOMsZoZ6XiaKJHLmivpeZowk6uaN+l6mj7pgJpA6X2aQul8mkPpfppF6XuaTemCmlXpgZpX6YSaWovBmlvpg5pf6YWaYumGmmTpiJpl6YeaaemJmmrpi5pr6YqaqI2cmq3pjJqw6Y2auIpbmrzpjprA6Y+axJCRms/pkJrR6ZGa0+mSmtTpk5rYjYKa3umUmt/plZri6Zaa4+mXmubpmJrqlK+a6+mamu2VRZru6Zua7+mZmvHpnZr06Zya9+memvvpn5sG6aCbGOmhmxrpopsf6aObIumkmyPppZsl6aabJ+mnmyjpqJsp6ambKumqmy7pq5sv6aybMZ9UmzLprZs74vabPItTm0GKQJtCjbCbQ+mvm0TprptFlqObTemxm07psptP6bCbUemzm1SWgptY6bSbWoubm2+YRJt06bWbg+m3m46IvJuR6bibkpWpm5PptpuW6bmbl+m6m5/pu5ug6bybqOm9m6qWjpurjkybrY34m66RTpu06b6buenBm8Dpv5vG6cKbyYzvm8rpwJvP6cOb0enEm9LpxZvU6cmb1o5Jm9uR4pvh6cqb4unHm+Ppxpvk6cib6Ix+m/Dpzpvx6c2b8unMm/WIsZwE6dicBunUnAjp1ZwJ6dGcCunXnAzp05wNioKcEJhrnBLp1pwT6dKcFOnQnBXpz5wb6dqcIendnCTp3Jwl6ducLZVonC7p2ZwviPGcMOnenDLp4Jw5io+cOunLnDuJVpw+6eKcRunhnEfp35xIkkycUpaQnFeX2Jxa6eOcYOnknGfp5Zx26eaceOnnnOWSuZzn6eic6ZS1nOvp7Zzs6emc8OnqnPOWUJz0lsKc9pPOnQPp7p0G6e+dB5O8nQjp7J0J6eudDomonRLp950V6fadG4mVnR/p9J0j6fOdJunxnSiKm50q6fCdK46wnSyJp507jYOdPun6nT/p+Z1B6fidROn1nUbp+51I6fydUOpEnVHqQ51Z6kWdXIlMnV3qQJ1e6kGdYI2UnWGWt51k6kKdbJZRnW/qSp1y6kadeupLnYfqSJ2J6kedj4x7nZrqTJ2k6k2dqepOnavqSZ2v6fKdsupPnbSS35246lOduupUnbvqUp3B6lGdwupXncTqUJ3G6lWdz+pWndPqWZ3Z6lid5upbne3qXJ3v6l2d8phonfjqWp35kemd+o3rnf3qXp4a6l+eG+pgnh7qYZ516mKeeIyynnnqY5596mSef46tnoHqZZ6I6maei+pnnozqaJ6R6muekuppnpOYW56V6mqel5ftnp3qbJ6fl9mepeptnqaUnp6p6m6equpwnq3qcZ646m+euY2NnrqWy567loOevJv1nr6fgJ6/lpuexImpnszqc57Ni2+ezup0ns/qdZ7Q6nae0o2VntTqd57Y4NKe2ZbZntuR4Z7c6nie3ep6nt7qeZ7g6nue5ep8nujqfZ7v6n6e9OqAnvbqgZ736oKe+eqDnvvqhJ786oWe/eqGnwfqh58I6oifDpNDnxOM258V6oqfIJFsnyHqi58s6oyfO5VAnz7qjZ9K6o6fS+JWn07m2J9P6OufUuqPn1TqkJ9f6pKfYOqTn2HqlJ9il+6fY+qRn2bqlZ9n6pafauqYn2zql59y6pqfduqbn3fqmZ+Nl7Sfleqcn5zqnZ+d4nOfoOqe/wGBSf8DgZT/BIGQ/wWBk/8GgZX/CIFp/wmBav8KgZb/C4F7/wyBQ/8OgUT/D4Fe/xCCT/8RglD/EoJR/xOCUv8UglP/FYJU/xaCVf8Xglb/GIJX/xmCWP8agUb/G4FH/xyBg/8dgYH/HoGE/x+BSP8ggZf/IYJg/yKCYf8jgmL/JIJj/yWCZP8mgmX/J4Jm/yiCZ/8pgmj/KoJp/yuCav8sgmv/LYJs/y6Cbf8vgm7/MIJv/zGCcP8ygnH/M4Jy/zSCc/81gnT/NoJ1/zeCdv84gnf/OYJ4/zqCef87gW3/PIFf/z2Bbv8+gU//P4FR/0CBTf9BgoH/QoKC/0OCg/9EgoT/RYKF/0aChv9Hgof/SIKI/0mCif9Kgor/S4KL/0yCjP9Ngo3/ToKO/0+Cj/9QgpD/UYKR/1KCkv9TgpP/VIKU/1WClf9Wgpb/V4KX/1iCmP9Zgpn/WoKa/1uBb/9cgWL/XYFw/2EAof9iAKL/YwCj/2QApP9lAKX/ZgCm/2cAp/9oAKj/aQCp/2oAqv9rAKv/bACs/20Arf9uAK7/bwCv/3AAsP9xALH/cgCy/3MAs/90ALT/dQC1/3YAtv93ALf/eAC4/3kAuf96ALr/ewC7/3wAvP99AL3/fgC+/38Av/+AAMD/gQDB/4IAwv+DAMP/hADE/4UAxf+GAMb/hwDH/4gAyP+JAMn/igDK/4sAy/+MAMz/jQDN/44Azv+PAM//kADQ/5EA0f+SANL/kwDT/5QA1P+VANX/lgDW/5cA1/+YANj/mQDZ/5oA2v+bANv/nADc/50A3f+eAN7/nwDf/+OBUP/lgY8=",7070);const UA={shape:q.square,qrOptions:{typeNumber:h[0],mode:void 0,errorCorrectionLevel:c.Q},imageOptions:{mode:j.center,imageSize:.4,padding:4,margin:.2,crossOrigin:void 0},cornersSquareOptions:{type:K.rounded,color:"#000000"},cornersDotOptions:{type:L.dot,color:"#000000"},dotsOptions:{type:x.verticalLine,color:"#000000",size:10},backgroundOptions:{color:"#FFFFFF"},borderOptions:{decorations:{}}},NA={...UA,shape:q.square,cornersSquareOptions:{type:K.square},cornersDotOptions:{type:L.square},dotsOptions:{type:x.square}},YA={...UA,shape:q.square,cornersSquareOptions:{type:K.rounded},cornersDotOptions:{type:L.rounded},dotsOptions:{type:x.verticalLine,size:10}},JA={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{type:K.dot},cornersDotOptions:{type:L.dot}},GA={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{type:K.dot},cornersDotOptions:{type:L.dot}},VA={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{type:K.classy},cornersDotOptions:{type:L.classy}},ZA={...UA,dotsOptions:{...UA.dotsOptions,type:x.extraRounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},OA={...UA,dotsOptions:{...UA.dotsOptions,type:x.verticalLine},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},WA={...UA,dotsOptions:{...UA.dotsOptions,type:x.horizontalLine},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},MA={...UA,dotsOptions:{...UA.dotsOptions,type:x.classyRounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.outpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.outpoint}},HA={...UA,dotsOptions:{...UA.dotsOptions,type:x.smallSquare},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.inpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.inpoint}},TA={...UA,dotsOptions:{...UA.dotsOptions,type:x.tinySquare},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.heart}},XA={...UA,dotsOptions:{...UA.dotsOptions,type:x.star},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},xA={...UA,dotsOptions:{...UA.dotsOptions,type:x.plus},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},LA={...UA,dotsOptions:{...UA.dotsOptions,type:x.diamond},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},KA={...UA,dotsOptions:{...UA.dotsOptions,type:x.randomDot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},qA={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.outpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.outpoint}},jA={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.inpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.inpoint}},vA={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.outpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.outpoint}},PA={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.inpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.inpoint}},zA={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.outpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.outpoint}},_A={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.inpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.inpoint}},$A={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.outpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.outpoint}},Ae={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.inpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.inpoint}},ee={...UA,shape:q.circle,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},te={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},ie={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},oe={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},ne={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},re={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},se={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},ge={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},Ie={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},ae={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},Be={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},Ce={...UA,dotsOptions:{...UA.dotsOptions,type:x.extraRounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},le={...UA,dotsOptions:{...UA.dotsOptions,type:x.extraRounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},Qe={...UA,dotsOptions:{...UA.dotsOptions,type:x.classyRounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Ee={...UA,dotsOptions:{...UA.dotsOptions,type:x.classyRounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},he={...UA,dotsOptions:{...UA.dotsOptions,type:x.verticalLine},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},ce={...UA,dotsOptions:{...UA.dotsOptions,type:x.horizontalLine},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},de={...UA,dotsOptions:{...UA.dotsOptions,type:x.horizontalLine},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},ue={...UA,dotsOptions:{...UA.dotsOptions,type:x.smallSquare},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},pe={...UA,dotsOptions:{...UA.dotsOptions,type:x.smallSquare},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},me={...UA,dotsOptions:{...UA.dotsOptions,type:x.tinySquare},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},fe={...UA,dotsOptions:{...UA.dotsOptions,type:x.tinySquare},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},ye={...UA,dotsOptions:{...UA.dotsOptions,type:x.star},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},we={...UA,dotsOptions:{...UA.dotsOptions,type:x.star},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},De={...UA,dotsOptions:{...UA.dotsOptions,type:x.plus},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Se={...UA,dotsOptions:{...UA.dotsOptions,type:x.plus},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},Fe={...UA,dotsOptions:{...UA.dotsOptions,type:x.diamond},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Re={...UA,dotsOptions:{...UA.dotsOptions,type:x.diamond},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},ke={...UA,dotsOptions:{...UA.dotsOptions,type:x.randomDot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},be={...UA,dotsOptions:{...UA.dotsOptions,type:x.randomDot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},Ue={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Ne={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},Ye={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Je={...UA,dotsOptions:{...UA.dotsOptions,type:x.rounded},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.outpoint},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},Ge={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.square},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Ve={...UA,dotsOptions:{...UA.dotsOptions,type:x.classy},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.square}},Ze={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.rounded},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Oe={...UA,dotsOptions:{...UA.dotsOptions,type:x.square},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.rounded}},We={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.classy},cornersDotOptions:{...UA.cornersDotOptions,type:L.dot}},Me={...UA,dotsOptions:{...UA.dotsOptions,type:x.dot},cornersSquareOptions:{...UA.cornersSquareOptions,type:K.dot},cornersDotOptions:{...UA.cornersDotOptions,type:L.classy}},He={...NA,shape:q.circle},Te={...UA,shape:q.circle},Xe={...JA,shape:q.circle},xe={...GA,shape:q.circle},Le={...VA,shape:q.circle},Ke={...ZA,shape:q.circle},qe={...OA,shape:q.circle},je={...WA,shape:q.circle},ve={...MA,shape:q.circle},Pe={...HA,shape:q.circle},ze={...TA,shape:q.circle},_e={...XA,shape:q.circle},$e={...xA,shape:q.circle},At={...LA,shape:q.circle},et={...KA,shape:q.circle},tt={...qA,shape:q.circle},it={...jA,shape:q.circle},ot={...vA,shape:q.circle},nt={...PA,shape:q.circle},rt={...zA,shape:q.circle},st={..._A,shape:q.circle},gt={...$A,shape:q.circle},It={...Ae,shape:q.circle},at={...te,shape:q.circle},Bt={...ie,shape:q.circle},Ct={...oe,shape:q.circle},lt={...ne,shape:q.circle},Qt={...re,shape:q.circle},Et={...se,shape:q.circle},ht={...ge,shape:q.circle},ct={...Ie,shape:q.circle},dt={...ae,shape:q.circle},ut={...Be,shape:q.circle},pt={...Ce,shape:q.circle},mt={...le,shape:q.circle},ft={...Qe,shape:q.circle},yt={...Ee,shape:q.circle},wt={...he,shape:q.circle},Dt={...ce,shape:q.circle},St={...de,shape:q.circle},Ft={...ue,shape:q.circle},Rt={...pe,shape:q.circle},kt={...me,shape:q.circle},bt={...fe,shape:q.circle},Ut={...ye,shape:q.circle},Nt={...we,shape:q.circle},Yt={...De,shape:q.circle},Jt={...Se,shape:q.circle},Gt={...Fe,shape:q.circle},Vt={...Re,shape:q.circle},Zt={...ke,shape:q.circle},Ot={...be,shape:q.circle},Wt={...Ue,shape:q.circle},Mt={...Ne,shape:q.circle},Ht={...Ye,shape:q.circle},Tt={...Je,shape:q.circle},Xt={...Ge,shape:q.circle},xt={...Ve,shape:q.circle},Lt={...Ze,shape:q.circle},Kt={...Oe,shape:q.circle},qt={...We,shape:q.circle},jt={...Me,shape:q.circle},vt=[{id:"base",name:"Default",options:UA},{id:"plain",name:"Square Plain",options:NA},{id:"plain-circle",name:"Square Plain (Circle)",options:He},{id:"base-line-rounded",name:"Lines Rounded",options:YA},{id:"rounded",name:"Rounded",options:JA},{id:"dots",name:"Dots",options:GA},{id:"classy",name:"Classy",options:VA},{id:"extra-rounded-dots-square-corners",name:"Extra Rounded Dots Square Corners",options:ZA},{id:"vertical-line-dots-classy-corners",name:"Vertical Lines Classy Corners",options:OA},{id:"horizontal-line-dots-rounded-corners",name:"Horizontal Lines Rounded Corners",options:WA},{id:"classy-rounded-dots-outpoint-corners",name:"Classy Rounded Dots Outpoint Corners",options:MA},{id:"small-square-dots-inpoint-corners",name:"Small Square Dots Inpoint Corners",options:HA},{id:"tiny-square-dots-square-corners-heart-corners",name:"Tiny Square Dots Heart Corners",options:TA},{id:"star-dots-classy-corners",name:"Star Dots Classy Corners",options:XA},{id:"plus-dots-rounded-corners",name:"Plus Dots Rounded Corners",options:xA},{id:"diamond-dots-square-corners",name:"Diamond Dots Square Corners",options:LA},{id:"random-dot-dots-dot-corners",name:"Random Dots",options:KA},{id:"dot-dots-outpoint-corners",name:"Dots Outpoint Corners",options:qA},{id:"dot-dots-inpoint-corners",name:"Dots Inpoint Corners",options:jA},{id:"rounded-dots-outpoint-corners",name:"Rounded Dots Outpoint Corners",options:vA},{id:"rounded-dots-inpoint-corners",name:"Rounded Dots Inpoint Corners",options:PA},{id:"classy-dots-outpoint-corners",name:"Classy Dots Outpoint Corners",options:zA},{id:"classy-dots-inpoint-corners",name:"Classy Dots Inpoint Corners",options:_A},{id:"square-dots-outpoint-corners",name:"Square Dots Outpoint Corners",options:$A},{id:"square-dots-inpoint-corners",name:"Square Dots Inpoint Corners",options:Ae},{id:"dot-dots-square-corners",name:"Dots Square Corners",options:te},{id:"dot-dots-rounded-corners",name:"Dots Rounded Corners",options:ie},{id:"dot-dots-classy-corners",name:"Dots Classy Corners",options:oe},{id:"rounded-dots-square-corners",name:"Rounded Dots Square Corners",options:ne},{id:"rounded-dots-classy-corners",name:"Rounded Dots Classy Corners",options:re},{id:"classy-dots-square-corners",name:"Classy Dots Square Corners",options:se},{id:"classy-dots-rounded-corners",name:"Classy Dots Rounded Corners",options:ge},{id:"square-dots-dot-corners",name:"Square Dots Dot Corners",options:Ie},{id:"square-dots-rounded-corners",name:"Square Dots Rounded Corners",options:ae},{id:"square-dots-classy-corners",name:"Square Dots Classy Corners",options:Be},{id:"extra-rounded-dots-dot-corners",name:"Extra Rounded Dots Dot Corners",options:Ce},{id:"extra-rounded-dots-classy-corners",name:"Extra Rounded Dots Classy Corners",options:le},{id:"classy-rounded-dots-dot-corners",name:"Classy Rounded Dots Dot Corners",options:Qe},{id:"classy-rounded-dots-square-corners",name:"Classy Rounded Dots Square Corners",options:Ee},{id:"vertical-line-dots-square-corners",name:"Vertical Lines Square Corners",options:he},{id:"horizontal-line-dots-square-corners",name:"Horizontal Lines Square Corners",options:ce},{id:"horizontal-line-dots-classy-corners",name:"Horizontal Lines Classy Corners",options:de},{id:"small-square-dots-dot-corners",name:"Small Square Dots Dot Corners",options:ue},{id:"small-square-dots-rounded-corners",name:"Small Square Dots Rounded Corners",options:pe},{id:"tiny-square-dots-dot-corners",name:"Tiny Square Dots Dot Corners",options:me},{id:"tiny-square-dots-square-corners",name:"Tiny Square Dots Square Corners",options:fe},{id:"star-dots-dot-corners",name:"Star Dots Dot Corners",options:ye},{id:"star-dots-square-corners",name:"Star Dots Square Corners",options:we},{id:"plus-dots-dot-corners",name:"Plus Dots Dot Corners",options:De},{id:"plus-dots-square-corners",name:"Plus Dots Square Corners",options:Se},{id:"diamond-dots-dot-corners",name:"Diamond Dots Dot Corners",options:Fe},{id:"diamond-dots-classy-corners",name:"Diamond Dots Classy Corners",options:Re},{id:"random-dot-dots-square-corners",name:"Random Dots Square Corners",options:ke},{id:"random-dot-dots-classy-corners",name:"Random Dots Classy Corners",options:be},{id:"dot-dots-square-corners-dot-corners",name:"Dots Square/Dot Corners",options:Ue},{id:"dot-dots-dot-corners-square-corners",name:"Dots Dot/Square Corners",options:Ne},{id:"rounded-dots-square-corners-dot-corners",name:"Rounded Dots Square/Dot Corners",options:Ye},{id:"rounded-dots-dot-corners-square-corners",name:"Rounded Dots Dot/Square Corners",options:Je},{id:"classy-dots-square-corners-dot-corners",name:"Classy Dots Square/Dot Corners",options:Ge},{id:"classy-dots-dot-corners-square-corners",name:"Classy Dots Dot/Square Corners",options:Ve},{id:"square-dots-rounded-corners-dot-corners",name:"Square Dots Rounded/Dot Corners",options:Ze},{id:"square-dots-dot-corners-rounded-corners",name:"Square Dots Dot/Rounded Corners",options:Oe},{id:"dot-dots-classy-corners-dot-corners",name:"Dots Classy/Dot Corners",options:We},{id:"dot-dots-dot-corners-classy-corners",name:"Dots Dot/Classy Corners",options:Me},{id:"circle-shape-dot-dots-square-corners",name:"Circle Dots Square Corners",options:at},{id:"circle-shape-rounded-dots-rounded-corners",name:"Circle Rounded",options:ee},{id:"circle-shape-square-dots-square-corners",name:"Circle Square Plain",options:He},{id:"circle-shape-vertical-line-dots-rounded-corners",name:"Circle Lines Rounded",options:Te},{id:"circle-shape-rounded-dots-dot-corners",name:"Circle Rounded Dots",options:Xe},{id:"circle-shape-dot-dots-dot-corners",name:"Circle Dots",options:xe},{id:"circle-shape-classy-dots-classy-corners",name:"Circle Classy",options:Le},{id:"circle-shape-extra-rounded-dots-square-corners",name:"Circle Extra Rounded Dots Square Corners",options:Ke},{id:"circle-shape-vertical-line-dots-classy-corners",name:"Circle Vertical Lines Classy Corners",options:qe},{id:"circle-shape-horizontal-line-dots-rounded-corners",name:"Circle Horizontal Lines Rounded Corners",options:je},{id:"circle-shape-classy-rounded-dots-outpoint-corners",name:"Circle Classy Rounded Dots Outpoint Corners",options:ve},{id:"circle-shape-small-square-dots-inpoint-corners",name:"Circle Small Square Dots Inpoint Corners",options:Pe},{id:"circle-shape-tiny-square-dots-square-corners-heart-corners",name:"Circle Tiny Square Dots Heart Corners",options:ze},{id:"circle-shape-star-dots-classy-corners",name:"Circle Star Dots Classy Corners",options:_e},{id:"circle-shape-plus-dots-rounded-corners",name:"Circle Plus Dots Rounded Corners",options:$e},{id:"circle-shape-diamond-dots-square-corners",name:"Circle Diamond Dots Square Corners",options:At},{id:"circle-shape-random-dot-dots-dot-corners",name:"Circle Random Dots",options:et},{id:"circle-shape-dot-dots-outpoint-corners",name:"Circle Dots Outpoint Corners",options:tt},{id:"circle-shape-dot-dots-inpoint-corners",name:"Circle Dots Inpoint Corners",options:it},{id:"circle-shape-rounded-dots-outpoint-corners",name:"Circle Rounded Dots Outpoint Corners",options:ot},{id:"circle-shape-rounded-dots-inpoint-corners",name:"Circle Rounded Dots Inpoint Corners",options:nt},{id:"circle-shape-classy-dots-outpoint-corners",name:"Circle Classy Dots Outpoint Corners",options:rt},{id:"circle-shape-classy-dots-inpoint-corners",name:"Circle Classy Dots Inpoint Corners",options:st},{id:"circle-shape-square-dots-outpoint-corners",name:"Circle Square Dots Outpoint Corners",options:gt},{id:"circle-shape-square-dots-inpoint-corners",name:"Circle Square Dots Inpoint Corners",options:It},{id:"circle-shape-dot-dots-rounded-corners",name:"Circle Dots Rounded Corners",options:Bt},{id:"circle-shape-dot-dots-classy-corners",name:"Circle Dots Classy Corners",options:Ct},{id:"circle-shape-rounded-dots-square-corners",name:"Circle Rounded Dots Square Corners",options:lt},{id:"circle-shape-rounded-dots-classy-corners",name:"Circle Rounded Dots Classy Corners",options:Qt},{id:"circle-shape-classy-dots-square-corners",name:"Circle Classy Dots Square Corners",options:Et},{id:"circle-shape-classy-dots-rounded-corners",name:"Circle Classy Dots Rounded Corners",options:ht},{id:"circle-shape-square-dots-dot-corners",name:"Circle Square Dots Dot Corners",options:ct},{id:"circle-shape-square-dots-rounded-corners",name:"Circle Square Dots Rounded Corners",options:dt},{id:"circle-shape-square-dots-classy-corners",name:"Circle Square Dots Classy Corners",options:ut},{id:"circle-shape-extra-rounded-dots-dot-corners",name:"Circle Extra Rounded Dots Dot Corners",options:pt},{id:"circle-shape-extra-rounded-dots-classy-corners",name:"Circle Extra Rounded Dots Classy Corners",options:mt},{id:"circle-shape-classy-rounded-dots-dot-corners",name:"Circle Classy Rounded Dots Dot Corners",options:ft},{id:"circle-shape-classy-rounded-dots-square-corners",name:"Circle Classy Rounded Dots Square Corners",options:yt},{id:"circle-shape-vertical-line-dots-square-corners",name:"Circle Vertical Lines Square Corners",options:wt},{id:"circle-shape-horizontal-line-dots-square-corners",name:"Circle Horizontal Lines Square Corners",options:Dt},{id:"circle-shape-horizontal-line-dots-classy-corners",name:"Circle Horizontal Lines Classy Corners",options:St},{id:"circle-shape-small-square-dots-dot-corners",name:"Circle Small Square Dots Dot Corners",options:Ft},{id:"circle-shape-small-square-dots-rounded-corners",name:"Circle Small Square Dots Rounded Corners",options:Rt},{id:"circle-shape-tiny-square-dots-dot-corners",name:"Circle Tiny Square Dots Dot Corners",options:kt},{id:"circle-shape-tiny-square-dots-square-corners",name:"Circle Tiny Square Dots Square Corners",options:bt},{id:"circle-shape-star-dots-dot-corners",name:"Circle Star Dots Dot Corners",options:Ut},{id:"circle-shape-star-dots-square-corners",name:"Circle Star Dots Square Corners",options:Nt},{id:"circle-shape-plus-dots-dot-corners",name:"Circle Plus Dots Dot Corners",options:Yt},{id:"circle-shape-plus-dots-square-corners",name:"Circle Plus Dots Square Corners",options:Jt},{id:"circle-shape-diamond-dots-dot-corners",name:"Circle Diamond Dots Dot Corners",options:Gt},{id:"circle-shape-diamond-dots-classy-corners",name:"Circle Diamond Dots Classy Corners",options:Vt},{id:"circle-shape-random-dot-dots-square-corners",name:"Circle Random Dots Square Corners",options:Zt},{id:"circle-shape-random-dot-dots-classy-corners",name:"Circle Random Dots Classy Corners",options:Ot},{id:"circle-shape-dot-dots-square-corners-dot-corners",name:"Circle Dots Square/Dot Corners",options:Wt},{id:"circle-shape-dot-dots-dot-corners-square-corners",name:"Circle Dots Dot/Square Corners",options:Mt},{id:"circle-shape-rounded-dots-square-corners-dot-corners",name:"Circle Rounded Dots Square/Dot Corners",options:Ht},{id:"circle-shape-rounded-dots-dot-corners-square-corners",name:"Circle Rounded Dots Dot/Square Corners",options:Tt},{id:"circle-shape-classy-dots-square-corners-dot-corners",name:"Circle Classy Dots Square/Dot Corners",options:Xt},{id:"circle-shape-classy-dots-dot-corners-square-corners",name:"Circle Classy Dots Dot/Square Corners",options:xt},{id:"circle-shape-square-dots-rounded-corners-dot-corners",name:"Circle Square Dots Rounded/Dot Corners",options:Lt},{id:"circle-shape-square-dots-dot-corners-rounded-corners",name:"Circle Square Dots Dot/Rounded Corners",options:Kt},{id:"circle-shape-dot-dots-classy-corners-dot-corners",name:"Circle Dots Classy/Dot Corners",options:qt},{id:"circle-shape-dot-dots-dot-corners-classy-corners",name:"Circle Dots Dot/Classy Corners",options:jt}];function Pt(A){return vt.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function zt(A){return vt.find((e=>e.id===A))}zt("base");const _t=A=>"number"==typeof A&&!isNaN(A)&&isFinite(A),$t=(A,e)=>{const t=[];return Object.values(T).includes(A.type)||t.push({path:`${e}.type`,message:`Invalid gradient type. Must be one of: ${Object.values(T).join(", ")}`,value:A.type}),void 0===A.rotation||_t(A.rotation)||t.push({path:`${e}.rotation`,message:"Rotation must be a valid number",value:A.rotation}),!A.colorStops||!Array.isArray(A.colorStops)||A.colorStops.length<2?t.push({path:`${e}.colorStops`,message:"Gradient must have at least 2 color stops",value:A.colorStops}):A.colorStops.forEach(((A,i)=>{var o,n;(!_t(A.offset)||A.offset<0||A.offset>1)&&t.push({path:`${e}.colorStops[${i}].offset`,message:"Color stop offset must be between 0 and 1",value:A.offset}),o=A.color,new Set(["black","white","red","green","blue","yellow","purple","gray","grey","cyan","magenta","lime","pink","teal","brown","orange"]).has(o.toLowerCase())||/^#([A-Fa-f0-9]{3}){1,2}$/.test(o)||/^#([A-Fa-f0-9]{4}){1,2}$/.test(o)||(/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.test(o)||/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([01]?\.?\d*)\)$/.test(o))&&((null===(n=o.match(/\d+/g))||void 0===n?void 0:n.map(Number))||[]).every((A=>A>=0&&A<=255))||t.push({path:`${e}.colorStops[${i}].color`,message:"Invalid color format",value:A.color})})),t};function Ai(A){const e=[];let t={...UA};if(A.data&&"string"==typeof A.data||e.push({path:"data",message:"QR data is required and must be a string",value:A.data}),A.shape&&!Object.values(q).includes(A.shape)&&(e.push({path:"shape",message:`Invalid shape type. Must be one of: ${Object.values(q).join(", ")}`,value:A.shape}),A.shape=UA.shape),A.qrOptions){var i,o,n;if(A.qrOptions.typeNumber&&!Object.values(h).includes(A.qrOptions.typeNumber))e.push({path:"qrOptions.typeNumber",message:"Invalid type number",value:A.qrOptions.typeNumber}),A.qrOptions.typeNumber=null===(i=UA.qrOptions)||void 0===i?void 0:i.typeNumber;if(A.qrOptions.errorCorrectionLevel&&!Object.values(c).includes(A.qrOptions.errorCorrectionLevel))e.push({path:"qrOptions.errorCorrectionLevel",message:"Invalid error correction level",value:A.qrOptions.errorCorrectionLevel}),A.qrOptions.errorCorrectionLevel=null===(o=UA.qrOptions)||void 0===o?void 0:o.errorCorrectionLevel;if(A.qrOptions.mode&&!Object.values(d).includes(A.qrOptions.mode))e.push({path:"qrOptions.mode",message:"Invalid mode",value:A.qrOptions.mode}),A.qrOptions.mode=null===(n=UA.qrOptions)||void 0===n?void 0:n.mode}if(A.imageOptions){var r,s,g;if(A.imageOptions.imageSize&&(!_t(A.imageOptions.imageSize)||A.imageOptions.imageSize<=0||A.imageOptions.imageSize>1))e.push({path:"imageOptions.imageSize",message:"Image size must be between 0 and 1",value:A.imageOptions.imageSize}),A.imageOptions.imageSize=null===(r=UA.imageOptions)||void 0===r?void 0:r.imageSize;if(A.imageOptions.margin&&(!_t(A.imageOptions.margin)||A.imageOptions.margin<0))e.push({path:"imageOptions.margin",message:"Margin must be a non-negative number",value:A.imageOptions.margin}),A.imageOptions.margin=null===(s=UA.imageOptions)||void 0===s?void 0:s.margin;if(A.imageOptions.mode&&!Object.values(j).includes(A.imageOptions.mode))e.push({path:"imageOptions.mode",message:`Invalid image mode. Must be one of: ${Object.values(j).join(", ")}`,value:A.imageOptions.mode}),A.imageOptions.mode=null===(g=UA.imageOptions)||void 0===g?void 0:g.mode}if(A.dotsOptions){var I,a;if(A.dotsOptions.type&&!Object.values(x).includes(A.dotsOptions.type))e.push({path:"dotsOptions.type",message:`Invalid dot type. Must be one of: ${Object.values(x).join(", ")}`,value:A.dotsOptions.type}),A.dotsOptions.type=null===(I=UA.dotsOptions)||void 0===I?void 0:I.type;if(A.dotsOptions.size&&(!_t(A.dotsOptions.size)||A.dotsOptions.size<=0))e.push({path:"dotsOptions.size",message:"Dot size must be a positive number",value:A.dotsOptions.size}),A.dotsOptions.size=null===(a=UA.dotsOptions)||void 0===a?void 0:a.size;A.dotsOptions.gradient&&e.push(...$t(A.dotsOptions.gradient,"dotsOptions.gradient"))}if(A.cornersSquareOptions){var B;if(A.cornersSquareOptions.type&&!Object.values(K).includes(A.cornersSquareOptions.type))e.push({path:"cornersSquareOptions.type",message:`Invalid corner square type. Must be one of: ${Object.values(K).join(", ")}`,value:A.cornersSquareOptions.type}),A.cornersSquareOptions.type=null===(B=UA.cornersSquareOptions)||void 0===B?void 0:B.type;A.cornersSquareOptions.gradient&&e.push(...$t(A.cornersSquareOptions.gradient,"cornersSquareOptions.gradient"))}if(A.cornersDotOptions){var C;if(A.cornersDotOptions.type&&!Object.values(L).includes(A.cornersDotOptions.type))e.push({path:"cornersDotOptions.type",message:`Invalid corner dot type. Must be one of: ${Object.values(L).join(", ")}`,value:A.cornersDotOptions.type}),A.cornersDotOptions.type=null===(C=UA.cornersDotOptions)||void 0===C?void 0:C.type;A.cornersDotOptions.gradient&&e.push(...$t(A.cornersDotOptions.gradient,"cornersDotOptions.gradient"))}return t={...t,...A},{warnings:e,validatedOptions:t}}const ei=/\.?0+$/;function ti(A){return A.toFixed(7).replace(ei,"")}function ii(A,...e){return A.reduce(((A,t,i)=>{let o="";return i&&(o=e[i-1]),"number"==typeof o&&(o=ti(o)),`${A}${o}${t}`}),"").trim().replace(/[\s\n\r]+/gim," ")}class oi{get element(){return this._element}constructor(A,e){this.type=A,this.document=e}draw(A){let e;switch(this.type){case L.square:e=this.drawSquare;break;case L.heart:e=this.drawHeart;break;case L.rounded:e=this.drawRounded;break;case L.classy:e=this.drawClassy;break;case L.inpoint:e=this.drawInpoint;break;case L.outpoint:e=this.drawOutpoint;break;case L.dot:default:e=this.drawDot}e.call(this,A)}rotateFigure({x:A,y:e,size:t,rotation:i=0,draw:o}){var n;const r=A+t/2,s=e+t/2;o(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${ti(180*i/Math.PI)},${r},${s})`)}basicDot(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",ti(t+e/2)),this._element.setAttribute("cy",ti(i+e/2)),this._element.setAttribute("r",ti(e/2.1))}})}basicSquare(A){const{size:e,x:t,y:i}=A,o=e/11;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",ti(t+o)),this._element.setAttribute("y",ti(i+o)),this._element.setAttribute("width",ti(e-2*o)),this._element.setAttribute("height",ti(e-2*o))}})}basicHeart(A){const{size:e,x:t,y:i}=A;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");let o=!1,n=0;this._element.setAttribute("d",["M",1,.3262506,"c",0,.0383376,-.0064626,.0758377,-.0193751,.1125001,"s",-.0356247,.076875,-.0681248,.1206252,"c",-.0325,.0437499,-.0762503,.0931247,-.1312501,.1481249,"C",.7262502,.7625008,.6566626,.8279132,.5724999,.9037505,"L",.5,.9687506,"L",.4275001,.9037505,"C",.3433374,.8279132,.2737499,.7625005,.21875,.7075007,"C",.1637501,.6525008,.1199999,.6031258,.0874999,.5593758,"S",.0322876,.4754133,.0193751,.4387506,"S",0,.3645881,0,.3262506,"c",0,-.0783374,.0262499,-.1437498,.07875,-.1962499,"s",.1179124,-.07875,.1962499,-.07875,"c",.0433376,0,.0845875,.0091625,.12375,.0274999,"S",.4716623,.1229131,.5,.1562506,"c",.0283374,-.0333375,.0620874,-.0591625,.1012502,-.0775,"c",.0391627,-.0183375,.0804126,-.0274999,.12375,-.0274999,"c",.0783374,0,.1437497,.0262499,.1962501,.07875,"S",1,.2479131,1,.3262506,"z"].map((A=>"string"==typeof A?(n=0,o=A.toUpperCase()==A,A):(n++,A*=e,o&&(A+=n%2==1?t:i),ti(A)))).join(" "))}basicRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",ti(t)),this._element.setAttribute("y",ti(i)),this._element.setAttribute("width",ti(e)),this._element.setAttribute("height",ti(e)),this._element.setAttribute("rx",ti(e/4)),this._element.setAttribute("ry",ti(e/4))}})}basicClassy(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${4.5*o} v ${-4.5*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} H ${t} z`)}})}basicInpoint(A){const{size:e,x:t,y:i}=A,o=e;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t} ${i+o/2} v ${o/4} a ${o/4}, ${o/4} 0 0 0 ${o/4}, ${o/4} h ${o/4*3} v ${-o/4*3} a ${o/4}, ${o/4} 0 0 0 ${-o/4}, ${-o/4} h ${-o/2} a ${o/4}, ${o/4} 0 0 0 ${-o/4}, ${o/4} z`)}})}drawDot({x:A,y:e,size:t,rotation:i}){this.basicDot({x:A,y:e,size:t,rotation:i})}drawSquare({x:A,y:e,size:t,rotation:i}){this.basicSquare({x:A,y:e,size:t,rotation:i})}drawHeart({x:A,y:e,size:t,rotation:i}){this.basicHeart({x:A,y:e,size:t,rotation:i})}drawRounded({x:A,y:e,size:t,rotation:i}){this.basicRounded({x:A,y:e,size:t,rotation:i})}drawClassy({x:A,y:e,size:t,rotation:i}){this.basicClassy({x:A,y:e,size:t,rotation:i})}drawInpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:i})}drawOutpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:(i||0)+Math.PI})}}class ni{get element(){return this._element}get fill(){return this._fill}constructor(A,e){this.type=A,this.document=e}draw(A){let e;switch(this.type){case K.square:e=this.drawSquare;break;case K.rounded:e=this.drawExtraRounded;break;case K.classy:e=this.drawClassy;break;case K.outpoint:e=this.drawOutpoint;break;case K.inpoint:e=this.drawInpoint;break;case K.dot:default:e=this.drawDot}e.call(this,A)}rotateFigure({x:A,y:e,size:t,rotation:i=0,draw:o}){var n,r;const s=A+t/2,g=e+t/2;o(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${ti(180*i/Math.PI)},${s},${g})`),null===(r=this._fill)||void 0===r||r.setAttribute("transform",`rotate(${ti(180*i/Math.PI)},${s},${g})`)}basicDot(A){const{size:e,x:t,y:i}=A,o=e/8,n=.5*e,r=n-o;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t+e/2} ${i+(e/2-n)} a ${n} ${n} 0 1 0 0.1 0 z m 0 ${o} a ${r} ${r} 0 1 1 -0.1 0 Z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",ii`M ${t+e/2} ${i+(e/2-(n+o))} a ${n+o} ${n+o} 0 1 0 0.1 0 z`)}})}basicSquare(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t} ${i} v ${e} h ${e} v ${-e} z M ${t+o} ${i+o} h ${e-2*o} v ${e-2*o} h ${2*o-e} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",ii`M ${t-o} ${i-o} h ${e+2*o} v ${e+2*o} h ${-e-2*o} z`)}})}basicExtraRounded(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*-o} v ${-2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*o} z M ${t+2.5*o} ${i+o} h ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*o} v ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*o} h ${-2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*-o} v ${-2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*-o} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",ii`M ${t-o} ${i+2.5*o} v ${2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*o} ${3.5*o} h ${2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*o} ${3.5*-o} v ${-2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*-o} ${3.5*-o} h ${-2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*-o} ${3.5*o} z`)}})}basicClassy(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${4.5*o} v ${-4.5*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} H ${t} z M ${t+2.5*o} ${i+o} h ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*o} v ${3.5*o} h ${-3.5*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*-o} v ${-3.5*o} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",ii`M ${t+.5*o} ${i-o} h ${4*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*o} ${3.5*o} v ${5.5*o} h ${-5.5*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*-o} ${3.5*-o} v ${-5.5*o} z`)}})}basicInpoint(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",ii`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${4.5*o} v ${-4.5*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*o} z M ${t+2.5*o} ${i+o} h ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*o} v ${3.5*o} h ${-3.5*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*-o} v ${-2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*-o} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",ii`M ${t+.5*o} ${i-o} h ${4*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*o} ${3.5*o} v ${5.5*o} h ${-5.5*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*-o} ${3.5*-o} v ${-2*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*o} ${3.5*-o} z`)}})}drawDot({x:A,y:e,size:t,rotation:i}){this.basicDot({x:A,y:e,size:t,rotation:i})}drawSquare({x:A,y:e,size:t,rotation:i}){this.basicSquare({x:A,y:e,size:t,rotation:i})}drawExtraRounded({x:A,y:e,size:t,rotation:i}){this.basicExtraRounded({x:A,y:e,size:t,rotation:i})}drawClassy({x:A,y:e,size:t,rotation:i}){this.basicClassy({x:A,y:e,size:t,rotation:i})}drawInpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:i})}drawOutpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:(i||0)+Math.PI})}}class ri{get element(){return this._element}constructor(A,e){this.type=A,this.document=e}draw(A){let e;switch(this.type){case x.dot:e=this.drawDot;break;case x.randomDot:e=this.drawRandomDot;break;case x.classy:e=this.drawClassy;break;case x.classyRounded:e=this.drawClassyRounded;break;case x.rounded:e=this.drawRounded;break;case x.verticalLine:e=this.drawVerticalLine;break;case x.horizontalLine:e=this.drawHorizontalLine;break;case x.extraRounded:e=this.drawExtraRounded;break;case x.diamond:e=this.drawDiamond;break;case x.smallSquare:e=this.drawSmallSquare;break;case x.tinySquare:e=this.drawTinySquare;break;case x.star:e=this.drawStar;break;case x.plus:e=this.drawPlus;break;case x.square:default:e=this.drawSquare}e.call(this,A)}rotateFigure({x:A,y:e,size:t,rotation:i=0,draw:o}){var n;const r=A+t/2,s=e+t/2;o(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${ti(180*i/Math.PI)},${r},${s})`)}basicDot(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",ti(t+e/2)),this._element.setAttribute("cy",ti(i+e/2)),this._element.setAttribute("r",ti(e/2))}})}basicSquare(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",ti(t)),this._element.setAttribute("y",ti(i)),this._element.setAttribute("width",ti(e)),this._element.setAttribute("height",ti(e))}})}basicSideRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",ii`M ${t} ${i} v ${e} h ${e/2} a ${e/2} ${e/2}, 0, 0, 0, 0 ${-e} z`)}})}basicCornerRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",ii`M ${t} ${i} v ${e} h ${e} v ${-e/2} a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2} z`)}})}basicCornerExtraRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",ii`M ${t} ${i} v ${e} h ${e} a ${e} ${e}, 0, 0, 0, ${-e} ${-e} z`)}})}basicCornersRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",ii`M ${t} ${i} v ${e/2} a ${e/2} ${e/2}, 0, 0, 0, ${e/2} ${e/2} h ${e/2} v ${-e/2} a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2} z`)}})}drawDot({x:A,y:e,size:t}){this.basicDot({x:A,y:e,size:t,rotation:0})}drawRandomDot({x:A,y:e,size:t}){const i=.25*Math.random()+.75;this.basicDot({x:A,y:e,size:t*i,rotation:0})}drawSquare({x:A,y:e,size:t}){this.basicSquare({x:A,y:e,size:t,rotation:0})}drawSmallSquare({x:A,y:e,size:t}){const i=t;t=.7*i,A+=.15*i,e+=.15*i,this.basicSquare({x:A,y:e,size:t,rotation:0})}drawTinySquare({x:A,y:e,size:t}){const i=t;t=.6*i,A+=.35*i,e+=.35*i,this.basicSquare({x:A,y:e,size:t,rotation:0})}drawDiamond({x:A,y:e,size:t}){this.basicSquare({x:A,y:e,size:t,rotation:Math.PI/4})}drawRounded({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,r=i?+i(0,-1):0,s=i?+i(0,1):0,g=o+n+r+s;if(0!==g)if(g>2||o&&n||r&&s)this.basicSquare({x:A,y:e,size:t,rotation:0});else{if(2===g){let i=0;return o&&r?i=Math.PI/2:r&&n?i=Math.PI:n&&s&&(i=-Math.PI/2),void this.basicCornerRounded({x:A,y:e,size:t,rotation:i})}if(1===g){let i=0;return r?i=Math.PI/2:n?i=Math.PI:s&&(i=-Math.PI/2),void this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}else this.basicDot({x:A,y:e,size:t,rotation:0})}drawVerticalLine({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,r=i?+i(0,-1):0,s=i?+i(0,1):0;if(0===o+n+r+s||o&&!r&&!s||n&&!r&&!s)this.basicDot({x:A,y:e,size:t,rotation:0});else if(r&&s)this.basicSquare({x:A,y:e,size:t,rotation:0});else if(!r||s)if(!s||r);else{const i=-Math.PI/2;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}else{const i=Math.PI/2;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}drawHorizontalLine({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,r=i?+i(0,-1):0,s=i?+i(0,1):0;if(0===o+n+r+s||r&&!o&&!n||s&&!o&&!n)this.basicDot({x:A,y:e,size:t,rotation:0});else if(o&&n)this.basicSquare({x:A,y:e,size:t,rotation:0});else if(!o||n)if(!n||o);else{const i=Math.PI;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}else{const i=0;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}drawExtraRounded({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,r=i?+i(0,-1):0,s=i?+i(0,1):0,g=o+n+r+s;if(0!==g)if(g>2||o&&n||r&&s)this.basicSquare({x:A,y:e,size:t,rotation:0});else{if(2===g){let i=0;return o&&r?i=Math.PI/2:r&&n?i=Math.PI:n&&s&&(i=-Math.PI/2),void this.basicCornerExtraRounded({x:A,y:e,size:t,rotation:i})}if(1===g){let i=0;return r?i=Math.PI/2:n?i=Math.PI:s&&(i=-Math.PI/2),void this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}else this.basicDot({x:A,y:e,size:t,rotation:0})}drawClassy({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,r=i?+i(0,-1):0,s=i?+i(0,1):0;0!==o+n+r+s?o||r?n||s?this.basicSquare({x:A,y:e,size:t,rotation:0}):this.basicCornerRounded({x:A,y:e,size:t,rotation:Math.PI/2}):this.basicCornerRounded({x:A,y:e,size:t,rotation:-Math.PI/2}):this.basicCornersRounded({x:A,y:e,size:t,rotation:Math.PI/2})}drawClassyRounded({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,r=i?+i(0,-1):0,s=i?+i(0,1):0;0!==o+n+r+s?o||r?n||s?this.basicSquare({x:A,y:e,size:t,rotation:0}):this.basicCornerExtraRounded({x:A,y:e,size:t,rotation:Math.PI/2}):this.basicCornerExtraRounded({x:A,y:e,size:t,rotation:-Math.PI/2}):this.basicCornersRounded({x:A,y:e,size:t,rotation:Math.PI/2})}drawStar({x:A,y:e,size:t}){this.rotateFigure({x:A,y:e,size:t,rotation:0,draw:()=>{var i;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const o=A+t/2,n=e+t/2,r=1.3*t/2,s=.5*r;let g="";for(let A=0;A<10;A++){const e=A*Math.PI/5-Math.PI/2,t=A%2==0?r:s;g+=(0===A?"M":"L")+`${o+t*Math.cos(e)},${n+t*Math.sin(e)}`}g+="Z",null===(i=this._element)||void 0===i||i.setAttribute("d",g)}})}drawPlus({x:A,y:e,size:t}){this.rotateFigure({x:A,y:e,size:t,rotation:0,draw:()=>{var i;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const o=.35*t,n=.85*t,r=(t-n)/2,s=o/2,g=[`M ${A+t/2-s} ${e+r}`,`h ${o}`,`v ${n}`,"h "+-o,"z",`M ${A+r} ${e+t/2-s}`,`h ${n}`,`v ${o}`,"h "+-n,"z"].join(" ");null===(i=this._element)||void 0===i||i.setAttribute("d",g)}})}}const si={toDataURL:A=>"string"==typeof A&&A.startsWith("data:")?Promise.resolve(A):new Promise(((e,t)=>{if("string"==typeof A){const i=new XMLHttpRequest,o=()=>{i.abort()};i.onload=()=>{if(i.status<200||i.status>=300)return o(),void t(new Error(`Failed to load image: ${i.statusText}`));const A=new FileReader;A.onloadend=()=>{o(),e(A.result)},A.onerror=()=>{o(),t(new Error("Failed to read image blob"))},A.readAsDataURL(i.response)},i.onerror=i.ontimeout=i.onabort=()=>{o(),t(new Error("Image load aborted or failed"))};try{i.open("GET",A,!0),i.responseType="blob",i.timeout=1e4,i.send()}catch(A){o(),t(A)}}else{const i=new FileReader;i.onloadend=()=>{e(i.result)},i.onerror=()=>{t(new Error("Failed to read local image"))},i.readAsDataURL(A)}})).catch((A=>(console.error("Image loading error:",A),"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjY2NjIi8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiMwMDAiIGZvbnQtc2l6ZT0iMTYiPkxvZ28gbG9hZCBlcnJvcjwvdGV4dD48L3N2Zz4="))),getSize:(A,e)=>new Promise(((t,i)=>{const o=new Image,n=setTimeout((()=>{i(new Error("Image loading timed out"))}),15e3);"string"==typeof e&&(o.crossOrigin=e);const r=()=>{clearTimeout(n),o.onload=o.onerror=o.onabort=null,o.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="};o.onload=()=>{r(),t({width:o.width,height:o.height})},o.onerror=o.onabort=()=>{r(),i(new Error("Failed to load image"))};try{"string"==typeof A?o.src=A:si.toDataURL(A).then((A=>{A?o.src=A:i(new Error("Invalid image source"))})).catch(i)}catch(A){r(),i(A)}})).catch((A=>(console.warn("[QRCodeJs] Image size detection error:",A),{width:200,height:200})))};function gi(A){let e,t=[],i=1;if("#"===(A=A.toLowerCase())[0]){const e=A.slice(1),o=e.length;o<=4?(t=[parseInt(e[0]+e[0],16),parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16)],4===o&&(i=parseInt(e[3]+e[3],16)/255)):(t=[parseInt(e[0]+e[1],16),parseInt(e[2]+e[3],16),parseInt(e[4]+e[5],16)],8===o&&(i=parseInt(e[6]+e[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0)}else{if(!(e=/^((?:rgba?))\s*\(([^)]*)\)/.exec(A)))return{value:A,alpha:i};{const A=3;t=e[2].trim().split(/\s*[,/]\s*|\s+/),t=t.map(((A,e)=>{if("%"===A[A.length-1]){const t=parseFloat(A)/100;return 3===e?t:255*t}return"none"===A?0:parseFloat(A)})),i=t.length>A?t.pop():1}}return{value:"#"+t.map((A=>Math.max(0,Math.min(255,A)).toString(16).padStart(2,"0"))).join(""),alpha:Math.max(0,Math.min(1,i))}}const Ii="https://api.qr-platform.com",ai="undefined"!=typeof window&&void 0!==window.document,Bi="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,Ci="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent;let li;async function Qi(A,e){if(A.startsWith("data:"))return Promise.resolve(A);try{const t={method:"GET",mode:"cors"};"anonymous"!==e&&"use-credentials"!==e||(t.credentials="use-credentials"===e?"include":"omit");const i=await fetch(A,t);if(!i.ok)return console.warn(`[QRCodeJs] Failed to fetch image directly: ${i.status} ${i.statusText}`),null;if(ai){const A=await i.blob();return A.type.startsWith("image/")?new Promise(((e,t)=>{const i=new FileReader;i.onloadend=()=>e(i.result),i.onerror=A=>{console.warn("[QRCodeJs] FileReader error:",A),t(new Error("Failed to read image blob"))},i.readAsDataURL(A)})):(console.warn(`[QRCodeJs] Fetched resource is not an image: ${A.type}`),null)}if(Bi||Ci){const A=i.headers.get("content-type");if(!A||!A.startsWith("image/"))return console.warn(`[QRCodeJs] Fetched resource is not an image or content-type missing: ${A}`),null;const e=await i.arrayBuffer();let t="";if(Bi){const A=await async function(){if(li)return li;if(Bi)try{const A=await Promise.resolve().then((function(){return rn}));li=A.Buffer}catch(A){console.error("[QRCodeJs] Failed to dynamically import 'buffer' in Node.js:",A),li=void 0}return li}();if(!A)return console.error("[QRCodeJs] Buffer module not loaded in Node.js environment."),null;t=A.from(e).toString("base64")}else if(t=function(A){let e="";const t=new Uint8Array(A),i=t.byteLength;for(let A=0;A<i;A++)e+=String.fromCharCode(t[A]);return"undefined"!=typeof btoa?btoa(e):""}(e),!t)return console.warn("[QRCodeJs] Failed to convert ArrayBuffer to Base64 in Worker."),null;return`data:${A};base64,${t}`}return console.warn("[QRCodeJs] Unknown environment, cannot convert image to Data URL."),null}catch(A){return console.warn("[QRCodeJs] Error fetching image directly:",A),null}}async function Ei(A){const e=encodeURIComponent(A),t=`${Ii}/v1/utils/get-dataurl?url=${e}`;try{const A=await fetch(t,{method:"GET",headers:{"x-client-name":"QRCode.js"},mode:"cors"});if(!A.ok)return console.warn(`[QRCodeJs] Failed to fetch image via proxy: ${A.status} ${A.statusText}`),null;const e=await A.json();return e&&"string"==typeof e.dataUrl&&e.dataUrl.startsWith("data:image/")?e.dataUrl:(console.warn("[QRCodeJs] Proxy response did not contain a valid dataUrl:",e),null)}catch(A){return console.warn("[QRCodeJs] Error fetching image via proxy:",A),null}}const hi=[[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],ci=[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]];class di{constructor(A){var e,t,i,o,n,r,s,g,I,a,B;this.roundValue=A=>"number"==typeof A?A:parseInt(A.replace("%",""),10)/100;const C=A.margin||0,l="circle"===A.shape?.1:.3,{bordersMain:Q,bordersOuter:E,bordersInner:h}=A,c=Math.min(A.width,A.height),d=b(null===(e=A.borderOptions)||void 0===e?void 0:e.radius),u=b(null===(t=A.borderOptions)||void 0===t||null===(t=t.inner)||void 0===t?void 0:t.radius,d),p=d&&k(d)>0?k(d)/100*c:0,m=d&&k(u)>0?k(u)/100*c:0,f=null!=m?m:p,y=f>0&&null!==(i=A.borderOptions)&&void 0!==i&&i.hasBorder?f*l:0;this._hls=A.hls,this.finalWidth=A.width+Q.left+Q.right+E.left+E.right+h.left+h.right,this.finalHeight=A.height+Q.top+Q.bottom+E.top+E.bottom+h.top+h.bottom;const w=Q.left+Q.right+E.left+E.right+h.left+h.right,D=Q.top+Q.bottom+E.top+E.bottom+h.top+h.bottom,S=null!==(o=A.borderOptions)&&void 0!==o&&o.hasBorder?this.finalWidth-w-2*E.left-2*h.left-h.right-2*C-y:this.finalWidth-2*C,F=null!==(n=A.borderOptions)&&void 0!==n&&n.hasBorder?this.finalHeight-D-2*E.top-2*h.top-h.top-2*C-y:this.finalHeight-2*C,R=S/A.width,U=F/A.height,N=Math.min(R,U),Y=Math.min(Math.max(null!==(r=A.scale)&&void 0!==r?r:1,0),1.5),V=Math.min(Math.max(null!==(s=null===(g=A.borderOptions)||void 0===g||null===(g=g.inner)||void 0===g?void 0:g.scale)&&void 0!==s?s:1,0),1.5),Z=(null===(I=A.borderOptions)||void 0===I||null===(I=I.inner)||void 0===I?void 0:I.horizontalOffset)||0,O=(null===(a=A.borderOptions)||void 0===a||null===(a=a.inner)||void 0===a?void 0:a.verticalOffset)||0;A.scale=N*Y*V||1,this.options=A,this.document=A.document,this.imageTools=A.imageTools||si,this._element=this.document.createElementNS("http://www.w3.org/2000/svg","svg");const W=ti(A.width),M=ti(A.height);A.isResponsive||(this._element.setAttribute("width",W),this._element.setAttribute("height",M)),this._element.setAttribute("viewBox",`0 0 ${W} ${M}`),this.defs=this.document.createElementNS("http://www.w3.org/2000/svg","defs"),this._element.appendChild(this.defs),this._innerQrGroup=this.document.createElementNS("http://www.w3.org/2000/svg","g");let H=(S-A.width*A.scale)/2+C-Z+y/2,T=(F-A.height*A.scale)/2+C-O+y/2;if(null!==(B=A.borderOptions)&&void 0!==B&&B.hasBorder){var X,x;const e={top:J(A.borderOptions,"top"),right:J(A.borderOptions,"right"),bottom:G(A.borderOptions,"bottom",this._hls),left:J(A.borderOptions,"left")},t=A.borderOptions.thickness||0,i=(null===(X=A.borderOptions.borderOuter)||void 0===X?void 0:X.thickness)||0,o=(null===(x=A.borderOptions.borderInner)||void 0===x?void 0:x.thickness)||0,n=A.borderOptions.noBorderThickness||t/4;T+=((e.top?t:n)-(e.bottom?t:n))/2+i+o+o/2,H+=((e.left?t:n)-(e.right?t:n))/2+i+o+o/2}A.verticalOffset&&(T-=A.verticalOffset),A.horizontalOffset&&(H-=A.horizontalOffset),this._instanceId=di.instanceCount++,1===A.scale&&0===H&&0===T||this._innerQrGroup.setAttribute("transform",`translate(${H}, ${T}) scale(${A.scale})`),this._maskedQrGroup=this.document.createElementNS("http://www.w3.org/2000/svg","g"),this._maskedQrGroup.setAttribute("mask",`url(#qr-mask-${this._instanceId})`),this._maskedQrGroup.appendChild(this._innerQrGroup),this._element.appendChild(this._maskedQrGroup)}get element(){return this._element}get qrGroup(){return this._innerQrGroup||this._element}get width(){return this.finalWidth}get height(){return this.finalHeight}get svgSize(){return{width:this.options.width,height:this.options.height}}getElement(){return this._element}async drawQR(A){var e;const t=A.getModuleCount(),i=parseInt(((t-17)/4).toFixed(0),10),o=this.options.dotsOptions.size;let n={hideXDots:0,hideYDots:0,width:0,height:0};if(this.qr=A,null!==(e=this.options.borderOptions)&&void 0!==e&&e.hasBorder||this.drawBackground(),this.options.image){const A=await this.imageTools.getSize(this.options.image,this.options.imageOptions.crossOrigin),{imageOptions:e}=this.options;if(this.options.imageOptions.mode==j.background){const t=0,i=(this.finalWidth-2*t*o)*e.imageSize,r=(this.finalHeight-2*t*o)*e.imageSize;let{width:s,height:g}=A;g=g/s*i,s=i,g>r&&(s=s/g*r,g=r),n={hideXDots:0,hideYDots:0,width:s,height:g}}else{const e=this.options.imageOptions.imageSize*this.options.errorCorrectionPercent,r=Q.getPatternPosition(i),s=Math.floor(e*(t*t-192-2*(t-16)-r.length**2*25));n=function({originalHeight:A,originalWidth:e,maxHiddenDots:t,maxHiddenAxisDots:i,dotSize:o,margin:n}){const r={x:0,y:0},s={x:0,y:0};if(A<=0||e<=0||t<=0||o<=0||4*n**2>t)return{height:0,width:0,hideYDots:0,hideXDots:0};i&&i%2==0&&(i=Math.max(1,i-1));const g=Math.max(e,A),I=Math.min(e,A);let a=0,B=(i||t)-2*n;do{const A=a+(B-a)/2;let e=Math.max(1,Math.ceil(A+2*n));e%2==0&&e++;let i=Math.max(1,Math.ceil(A*I/g+2*n));i%2==0&&i++,e*i>t?B=A:a=A}while(Math.abs(a-B)>.001);const C=a;let l=Math.max(1,Math.ceil(C+2*n));l%2==0&&l++;let Q=Math.max(1,Math.ceil(C*I/g+2*n));Q%2==0&&Q++,e>A?(r.x=l,r.y=Q):(r.x=Q,r.y=l);const E=(r.x-2*n)*o,h=(r.y-2*n)*o;return s.x=E,s.y=E*A/e,s.y>h&&(s.y=h,s.x=h*e/A),{height:Math.round(s.y+2*n*o),width:Math.round(s.x+2*n*o),hideYDots:r.y,hideXDots:r.x}}({originalWidth:A.width,originalHeight:A.height,maxHiddenDots:s,maxHiddenAxisDots:t-14,dotSize:o,margin:this.options.imageOptions.margin})}}var r;this.options.imageOptions.mode!=j.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:o,radius:null===(r=this.options.imageOptions)||void 0===r?void 0:r.radius});this.drawDots(((A,e)=>!(this.options.imageOptions.mode==j.center&&A>=(t-n.hideXDots)/2&&A<(t+n.hideXDots)/2&&e>=(t-n.hideYDots)/2&&e<(t+n.hideYDots)/2)&&!(A<8&&e<8||A>=t-8&&e<8||e>=t-8&&A<8))),this.options.imageOptions.mode==j.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:o}),this.drawCorners()}drawBackground(){const A=this.options;if(this._element&&A.backgroundOptions){var e;const t=A.backgroundOptions.gradient,i=A.backgroundOptions.color;this.createColor({options:t,color:i,additionalRotation:0,x:0,y:0,height:A.height,width:A.width,name:`background-color-${this._instanceId}`});const o=Math.min(A.width,A.height),n=this.document.createElementNS("http://www.w3.org/2000/svg","rect");[this.backgroundMask,this.backgroundMaskGroup]=this.createMask(`mask-background-color-${this._instanceId}`),this.defs.appendChild(this.backgroundMask);const r=(null===(e=A.backgroundOptions)||void 0===e?void 0:e.round)||0,s=this.roundValue(r);n.setAttribute("x",ti((A.width-o)/2)),n.setAttribute("y",ti((A.height-o)/2)),n.setAttribute("width",ti(o)),n.setAttribute("height",ti(o)),n.setAttribute("rx",ti(o/2*s)),this.backgroundMaskGroup.appendChild(n)}}drawBackgroundForBorder(A,e){const t=this.options;if(t.backgroundOptions){const i=t.backgroundOptions.gradient,o=t.backgroundOptions.color||"#ffffff",n=Math.min(t.width,t.height)-2*A,r=(t.width-n)/2,s=(t.height-n)/2,g=e-A,I=this.createColor({options:i,borderOptions:t.borderOptions,color:o,additionalRotation:0,x:r,y:s,height:n,width:n,name:`background-color-${this._instanceId}`,returnSVGGroup:!0}),a=this.document.createElementNS("http://www.w3.org/2000/svg","rect");return[this.backgroundMask,this.backgroundMaskGroup]=this.createMask(`mask-background-color-${this._instanceId}`),this.defs.appendChild(this.backgroundMask),a.setAttribute("x",ti(r)),a.setAttribute("y",ti(s)),a.setAttribute("width",ti(n)),a.setAttribute("height",ti(n)),a.setAttribute("rx",ti(g)),this.backgroundMaskGroup.appendChild(a),I}}drawDots(A){var e;if(!this.qr)throw new Error("QR code is not defined");const t=this.options,i=this.qr.getModuleCount();if(i>t.width||i>t.height)throw new Error("The canvas is too small");const o=t.dotsOptions.size;let n=Math.min(t.width,t.height);t.imageOptions.mode==j.background&&(n-=2*o*(t.imageOptions.margin||0));const r=Math.floor((t.width-i*o)/2);let s=Math.floor((t.height-i*o)/2);if(t.offset){const A=(t.height-i*o)/2;s+=Math.min(Math.abs(t.offset),A)*Math.sign(t.offset)}let g=new ri(t.dotsOptions.type,this.document);const I=new ri(x.tinySquare,this.document),a=new ri(x.square,this.document);[this.dotsMask,this.dotsMaskGroup]=this.createMask(`mask-dot-color-${this._instanceId}`),this.defs.appendChild(this.dotsMask),t.imageOptions.mode==j.background&&([this.lightDotsMask,this.lightDotsMaskGroup]=this.createMask(`mask-light-dot-color-${this._instanceId}`),this.defs.appendChild(this.lightDotsMask));let B=0,C=i;t.shape===q.circle?(B=Math.floor((n/o-i-2)/2),C=i+2*B):t.imageOptions.mode==j.background&&(B=1,C=i+2*B);const l=r-B*o,E=s-B*o,h=l,c=E,d=i+2*B,u=new Array(C),p=Math.floor(C/2);for(let e=0;e<C;e++){u[e]=new Array(C);for(let o=0;o<C;o++)if(e>B-1&&e<C-B&&o>B-1&&o<C-B){const t=e-B,i=o-B;A&&!A(t,i)?u[e][o]=void 0:u[e][o]=!!this.qr.isDark(i,t)}else t.shape===q.circle&&Math.sqrt((e-p)*(e-p)+(o-p)*(o-p))>p?u[e][o]=void 0:u[e][o]=e!=B-1&&e!=C-B&&o!=B-1&&o!=C-B?this.qr.isDark(o-2*B<0?o:o>=i?o-2*B:o-B,e-2*B<0?e:e>=i?e-2*B:e-B):(o==B-1&&(e<B+8||e>C-B-9)||o==C-B&&e<B+8||e==B-1&&(o<B+8||o>C-B-9)||e==C-B&&o<B+8)&&void 0}const m=(i-17)/4,f=Q.getPatternPosition(m);for(let A=0;A<C;A++){const e=f.find((e=>A-B>e-3&&A-B<e+3));for(let t=0;t<C;t++){const i=f.find((A=>t-B>A-3&&t-B<A+3));null!=u[A][t]&&(this.lightDotsMask&&(g=e&&i&&(e!=f[0]&&i!=f[0]||i!=f[0]&&i!=f[f.length-1]||e!=f[0]&&e!=f[f.length-1])?a:I),u[A][t]?(g.draw({x:l+A*o,y:E+t*o,size:o,getNeighbor:(e,i)=>{var o;return!0===(null===(o=u[A+e])||void 0===o?void 0:o[t+i])}}),g.element&&this.dotsMaskGroup&&this.dotsMaskGroup.appendChild(g.element)):this.lightDotsMask&&(g.draw({x:l+A*o,y:E+t*o,size:o,getNeighbor:(e,i)=>{var o;return!1===(null===(o=u[A+e])||void 0===o?void 0:o[t+i])}}),g.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(g.element)))}}this.lightDotsMask&&this.createColor({color:t.imageOptions.backgroundColor,additionalRotation:0,x:h,y:c,height:d*o,width:d*o,name:`light-dot-color-${this._instanceId}`}),this.createColor({options:null===(e=t.dotsOptions)||void 0===e?void 0:e.gradient,color:t.dotsOptions.color,additionalRotation:0,x:h,y:c,height:d*o,width:d*o,name:`dot-color-${this._instanceId}`})}drawCorners(){if(!this.qr)throw new Error("QR code is not defined");const A=this.qrGroup,e=this.options;if(!A)throw new Error("Element code is not defined");const t=this.qr.getModuleCount(),i=e.dotsOptions.size,o=7*i,n=3*i,r=Math.floor((e.width-t*i)/2);let s=Math.floor((e.height-t*i)/2);if(e.offset){const A=(e.height-t*i)/2,o=Math.min(Math.abs(e.offset),A)*Math.sign(e.offset);s+=o}[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((([A,g,I])=>{var a,B,C,l,Q,E;const h=r+A*i*(t-7),c=s+g*i*(t-7);let d=this.dotsMask,u=this.dotsMaskGroup,p=this.dotsMask,m=this.dotsMaskGroup;var f,y,w,D;(null!==(a=e.cornersSquareOptions)&&void 0!==a&&a.gradient||null!==(B=e.cornersSquareOptions)&&void 0!==B&&B.color)&&([d,u]=this.createMask(`mask-corners-square-color-${A}-${g}-${this._instanceId}`),this.defs.appendChild(d),p=d,m=u,this.createColor({options:null===(f=e.cornersSquareOptions)||void 0===f?void 0:f.gradient,color:null===(y=e.cornersSquareOptions)||void 0===y?void 0:y.color,additionalRotation:I,x:h,y:c,height:o,width:o,name:`corners-square-color-${A}-${g}-${this._instanceId}`}));if(null!==(C=e.cornersSquareOptions)&&void 0!==C&&C.type){const A=new ni(e.cornersSquareOptions.type,this.document);A.draw({x:h,y:c,size:o,rotation:I}),A.element&&u&&u.appendChild(A.element),A.fill&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(A.fill)}else{const A=new ri(e.dotsOptions.type,this.document);for(let e=0;e<hi.length;e++)for(let t=0;t<hi[e].length;t++){var S,F;if(null!==(S=hi[e])&&void 0!==S&&S[t])A.draw({x:h+e*i,y:c+t*i,size:i,getNeighbor:(A,i)=>{var o;return!(null===(o=hi[e+A])||void 0===o||!o[t+i])}}),A.element&&u&&u.appendChild(A.element);else!this.lightDotsMask||null!==(F=ci[e])&&void 0!==F&&F[t]||(A.draw({x:h+e*i,y:c+t*i,size:i,getNeighbor:(A,i)=>{var o,n;return!(null!==(o=hi[e+A])&&void 0!==o&&o[t+i]||null!==(n=ci[e+A])&&void 0!==n&&n[t+i])}}),A.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(A.element))}if(this.lightDotsMask)for(let e=-1;e<8;e++)for(let t=-1;t<8;t++)-1!=e&&7!=e&&-1!=t&&7!=t||(A.draw({x:h+e*i,y:c+t*i,size:i,getNeighbor:(A,i)=>{const o=e+A,n=t+i;return o>=-1&&o<=7&&n>=-1&&n<=7&&(-1==o||7==o||-1==n||7==n)}}),A.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(A.element))}(null!==(l=e.cornersDotOptions)&&void 0!==l&&l.gradient||null!==(Q=e.cornersDotOptions)&&void 0!==Q&&Q.color)&&([p,m]=this.createMask(`mask-corners-dot-color-${A}-${g}-${this._instanceId}`),this.defs.appendChild(p),this.createColor({options:null===(w=e.cornersDotOptions)||void 0===w?void 0:w.gradient,color:null===(D=e.cornersDotOptions)||void 0===D?void 0:D.color,additionalRotation:I,x:h+2*i,y:c+2*i,height:n,width:n,name:`corners-dot-color-${A}-${g}-${this._instanceId}`}));if(null!==(E=e.cornersDotOptions)&&void 0!==E&&E.type){const A=new oi(e.cornersDotOptions.type,this.document);A.draw({x:h+2*i,y:c+2*i,size:n,rotation:I}),A.element&&m&&m.appendChild(A.element)}else{const A=new ri(e.dotsOptions.type,this.document);for(let e=0;e<ci.length;e++)for(let t=0;t<ci[e].length;t++){var R;null!==(R=ci[e])&&void 0!==R&&R[t]&&(A.draw({x:h+e*i,y:c+t*i,size:i,getNeighbor:(A,i)=>{var o;return!(null===(o=ci[e+A])||void 0===o||!o[t+i])}}),A.element&&m&&m.appendChild(A.element))}}}))}async drawImage({width:A,height:e,count:t,dotSize:i,radius:o}){var n;const r=this.options,s=Math.floor((r.width-t*i)/2);let g=Math.floor((r.height-t*i)/2);if(r.offset){const A=(r.height-t*i)/2;g+=Math.min(Math.abs(r.offset),A)*Math.sign(r.offset)}let I=r.imageOptions.margin*i;r.imageOptions.mode==j.background&&(I=0);const a=s+I+(t*i-A)/2,B=g+I+(t*i-e)/2,C=A-2*I,l=e-2*I;let Q=null;try{"string"==typeof r.image?Q=await Qi(r.image,r.imageOptions.crossOrigin):r.image&&(Q=await this.imageTools.toDataURL(r.image)),"string"!=typeof r.image||Q||(console.warn("Direct image fetch failed, attempting proxy..."),Q=await Ei(r.image))}catch(A){if(console.warn("[QRCodeJs] Error fetching image directly:",A),"string"==typeof r.image)try{console.warn("[QRCodeJs] Direct image fetch failed via error, attempting proxy..."),Q=await Ei(r.image)}catch(A){console.warn("[QRCodeJs] Failed to load image via proxy:",A)}}Q||(console.warn("[QRCodeJs] Failed to load image directly and via proxy. Using fallback SVG."),Q=di.FALLBACK_IMAGE_DATA_URL);let E=null;if(o){E=`clip-path-image-${this._instanceId}`;const A=this.document.createElementNS("http://www.w3.org/2000/svg","clipPath");A.setAttribute("id",E);const e=this.document.createElementNS("http://www.w3.org/2000/svg","rect");e.setAttribute("x",ti(a)),e.setAttribute("y",ti(B)),e.setAttribute("width",ti(C)),e.setAttribute("height",ti(l));const t="number"==typeof o?`${o}px`:o;e.setAttribute("rx",t),e.setAttribute("ry",t),A.appendChild(e),this.defs.appendChild(A)}if(r.imageOptions.backgroundColor){const A=this.document.createElementNS("http://www.w3.org/2000/svg","rect");A.setAttribute("x",ti(a)),A.setAttribute("y",ti(B)),A.setAttribute("width",ti(C)),A.setAttribute("height",ti(l)),E&&A.setAttribute("clip-path",`url(#${E})`);const e=gi(r.imageOptions.backgroundColor);A.setAttribute("fill",e.value),e.alpha<1&&A.setAttribute("opacity",e.alpha.toFixed(7)),this.qrGroup.appendChild(A)}const h=this.document.createElementNS("http://www.w3.org/2000/svg","image");if(h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",Q),h.setAttribute("x",ti(a)),h.setAttribute("y",ti(B)),h.setAttribute("id",`qr-image-${this._instanceId}`),h.setAttribute("width",`${ti(C)}px`),h.setAttribute("height",`${ti(l)}px`),h.setAttribute("preserveAspectRatio","xMidYMid meet"),null!==(n=r.imageOptions)&&void 0!==n&&n.padding){const A=r.imageOptions.padding;h.setAttribute("x",ti(a+A)),h.setAttribute("y",ti(B+A)),h.setAttribute("width",`${ti(C-2*A)}px`),h.setAttribute("height",`${ti(l-2*A)}px`)}E&&h.setAttribute("clip-path",`url(#${E})`),this.qrGroup.appendChild(h)}createColor({options:A,borderOptions:e,color:t,additionalRotation:i,x:o,y:n,height:r,width:s,name:g,returnSVGGroup:I=!1}){const a=s>r?s:r,B=this.document.createElementNS("http://www.w3.org/2000/svg","rect");if(B.setAttribute("x",ti(o)),B.setAttribute("y",ti(n)),B.setAttribute("height",ti(r)),B.setAttribute("width",ti(s)),B.setAttribute("style",`mask:url(#mask-${g}-${this._instanceId})`),A){let t;if(A.type===T.radial){t=this.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),t.setAttribute("id",g+"-"+this._instanceId),t.setAttribute("gradientUnits","userSpaceOnUse");let A=o+s/2,i=n+r/2;if(e){const t=e.thickness?e.thickness/2:0,g=2;J(e,"top")&&!G(e,"bottom",this._hls)?i=n+t*g+r/2:!J(e,"top")&&G(e,"bottom",this._hls)&&(i=n-t*g+r/2),J(e,"right")&&!J(e,"left")?A=o-t*g+s/2:!J(e,"right")&&J(e,"left")&&(A=o+t*g+s/2)}t.setAttribute("fx",ti(A)),t.setAttribute("fy",ti(i)),t.setAttribute("cx",ti(o+s/2)),t.setAttribute("cy",ti(n+r/2)),t.setAttribute("r",ti(a/2))}else{const e=((A.rotation||0)+i)%(2*Math.PI),I=(e+2*Math.PI)%(2*Math.PI);let a=o+s/2,B=n+r/2,C=o+s/2,l=n+r/2;I>=0&&I<=.25*Math.PI||I>1.75*Math.PI&&I<=2*Math.PI?(a-=s/2,B-=r/2*Math.tan(e),C+=s/2,l+=r/2*Math.tan(e)):I>.25*Math.PI&&I<=.75*Math.PI?(B-=r/2,a-=s/2/Math.tan(e),l+=r/2,C+=s/2/Math.tan(e)):I>.75*Math.PI&&I<=1.25*Math.PI?(a+=s/2,B+=r/2*Math.tan(e),C-=s/2,l-=r/2*Math.tan(e)):I>1.25*Math.PI&&I<=1.75*Math.PI&&(B+=r/2,a+=s/2/Math.tan(e),l-=r/2,C-=s/2/Math.tan(e)),t=this.document.createElementNS("http://www.w3.org/2000/svg","linearGradient"),t.setAttribute("id",g+"-"+this._instanceId),t.setAttribute("gradientUnits","userSpaceOnUse"),t.setAttribute("x1",ti(a)),t.setAttribute("y1",ti(B)),t.setAttribute("x2",ti(C)),t.setAttribute("y2",ti(l))}A.colorStops.forEach((A=>{const e=this.document.createElementNS("http://www.w3.org/2000/svg","stop");e.setAttribute("offset",`${ti(100*A.offset)}%`);const i=gi(A.color);e.setAttribute("stop-color",i.value),i.alpha<1&&e.setAttribute("stop-opacity",i.alpha.toFixed(7)),t.appendChild(e)})),B.setAttribute("fill",`url(#${g}-${this._instanceId})`),this.defs.appendChild(t)}else if(t){const A=gi(t);B.setAttribute("fill",A.value),A.alpha<1&&B.setAttribute("opacity",A.alpha.toFixed(7))}if(I)return B;g.startsWith("background-color")?this._element.insertBefore(B,this._maskedQrGroup):this.qrGroup.appendChild(B)}createMask(A){const e=`${A}-${this._instanceId}`,t=this.options,i=this.document.createElementNS("http://www.w3.org/2000/svg","mask");i.setAttribute("id",e),i.setAttribute("maskUnits","userSpaceOnUse"),i.setAttribute("x","0"),i.setAttribute("y","0"),i.setAttribute("width",ti(t.width)),i.setAttribute("height",ti(t.height));const o=this.document.createElementNS("http://www.w3.org/2000/svg","g");return o.setAttribute("fill","#fff"),i.appendChild(o),[i,o]}}di.instanceCount=0,di.FALLBACK_IMAGE_DATA_URL="data:image/png;base64,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";const ui=[{id:"classic-dark",name:"Classic Dark",style:{primaryColor:"#ffffff",secondaryColor:"#ffffff",thirdColor:"#bdc3c7",backgroundColor:"#052136",borderFontColor:"#2f2f33"}},{id:"modern-dark",name:"Modern Dark",style:{primaryColor:"#2ecc71",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#052136",borderColor:"#2c3e50",borderFontColor:"#f1c40f"}},{id:"blue-realism-dark",name:"Blue Realism Dark",style:{primaryColor:"#3498db",secondaryColor:"#2ecc71",thirdColor:"#8debb2",backgroundColor:"#052136",borderFontColor:"#8debb2"}},{id:"vibrant-dark",name:"Vibrant Dark",style:{primaryColor:"#f39c12",secondaryColor:"#9b59b6",thirdColor:"#1abc9c",backgroundColor:"#052136"}},{id:"neon-dark",name:"Neon Dark",style:{primaryColor:"#f1c40f",secondaryColor:"#e74c3c",thirdColor:"#3498db",backgroundColor:"#052136"}},{id:"sunset-dark",name:"Sunset Dark",style:{primaryColor:"#e67e22",secondaryColor:"#8e44ad",thirdColor:"#16a085",backgroundColor:"#052136"}},{id:"oceanic-dark",name:"Oceanic Dark",style:{primaryColor:"#3498db",secondaryColor:"#1abc9c",thirdColor:"#ecf0f1",backgroundColor:"#052136",borderFontColor:"#ecf0f1"}},{id:"bold-dark",name:"Bold Dark",style:{primaryColor:"#e74c3c",secondaryColor:"#9b59b6",thirdColor:"#2ecc71",backgroundColor:"#052136",borderColor:"#175782",borderFontColor:"#ecf0f1"}},{id:"twilight-dark",name:"Twilight Dark",style:{primaryColor:"#8e44ad",secondaryColor:"#f39c12",thirdColor:"#34db77",backgroundColor:"#052136",borderFontColor:"#34db77"}},{id:"coral-dark",name:"Coral Dark",style:{primaryColor:"#1abc9c",secondaryColor:"#e74c3c",thirdColor:"#f1c40f",backgroundColor:"#052136"}},{id:"midnight-sunset-dark",name:"Midnight Sunset Dark",style:{primaryColor:"#9b59b6",secondaryColor:"#f1c40f",thirdColor:"#1abc9c",backgroundColor:"#052136",borderFontColor:"#5ee9cd"}},{id:"citrus-dark",name:"Citrus Dark",style:{primaryColor:"#f39c12",secondaryColor:"#2ecc71",thirdColor:"#ecf0f1",backgroundColor:"#34495e",borderFontColor:"#ecf0f1"}},{id:"frost-fire-dark",name:"Frost Fire Dark",style:{primaryColor:"#3498db",secondaryColor:"#ecf0f1",thirdColor:"#e74c3c",backgroundColor:"#052136",borderFontColor:"#ecf0f1"}},{id:"turquoise-sun-dark",name:"Turquoise Sun Dark",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#2c3e50",borderFontColor:"#f1c40f"}},{id:"emerald-carrot-sky-dark",name:"Emerald Carrot Sky Dark",style:{primaryColor:"#00e676",secondaryColor:"#E67E22",thirdColor:"#0288d1",backgroundColor:"#052136",borderFontColor:"#ecf0f1"}},{id:"emerald-bloom-dark",name:"Emerald Bloom Dark",style:{primaryColor:"#2ecc71",secondaryColor:"#9b59b6",thirdColor:"#e74c3c",backgroundColor:"#052136",borderFontColor:"#2c3e50"}},{id:"green-sky-dark",name:"Green Sky Dark",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#052136",borderFontColor:"#f1c40f"}},{id:"blue-sky-dark",name:"Blue Sky Dark",style:{primaryColor:"#3498db",secondaryColor:"#2980b9",thirdColor:"#1abc9c",backgroundColor:"#052136"}}],pi=[{id:"classic",name:"Classic",style:{primaryColor:"#000000",secondaryColor:"#000000",thirdColor:"#757575",backgroundColor:"#ffffff"}},{id:"modern",name:"Modern",style:{primaryColor:"#4CAF50",secondaryColor:"#007fff",thirdColor:"#d81b60",backgroundColor:"#ffffff"}},{id:"rounded",name:"Rounded",style:{primaryColor:"#007bff",secondaryColor:"#4CAF50",thirdColor:"#d32f2f",backgroundColor:"#ffffff"}},{id:"vibrant",name:"Vibrant",style:{primaryColor:"#ff5722",secondaryColor:"#3f51b5",thirdColor:"#2e7d32",backgroundColor:"#ffffff"}},{id:"pastel",name:"Pastel",style:{primaryColor:"#f48fb1",secondaryColor:"#26C6DA",thirdColor:"#00695c",backgroundColor:"#f5f5f5",dotShape:x.dot,cornerSquareShape:K.square,cornerDotShape:L.square}},{id:"earthy",name:"Earthy",style:{primaryColor:"#795548",secondaryColor:"#4db6ac",thirdColor:"#8e24aa",backgroundColor:"#efebe9"}},{id:"sunset",name:"Sunset",style:{primaryColor:"#bf360c",secondaryColor:"#ab47bc",thirdColor:"#00796b",backgroundColor:"#fff3e0"}},{id:"oceanic",name:"Oceanic",style:{primaryColor:"#0288d1",secondaryColor:"#26a69a",thirdColor:"#6a1b9a",backgroundColor:"#e0f7fa"}},{id:"bold",name:"Bold",style:{primaryColor:"#d50000",secondaryColor:"#6200ea",thirdColor:"#388e3c",backgroundColor:"#fafafa"}},{id:"lime-glow",name:"Lime Glow",style:{primaryColor:"#afb42b",secondaryColor:"#536dfe",thirdColor:"#c62828",backgroundColor:"#fffde7"}},{id:"twilight",name:"Twilight",style:{primaryColor:"#4527a0",secondaryColor:"#d84315",thirdColor:"#00796b",backgroundColor:"#eceff1"}},{id:"meadow",name:"Meadow",style:{primaryColor:"#388e3c",secondaryColor:"#689f38",thirdColor:"#ad1457",backgroundColor:"#f1f8e9"}},{id:"coral",name:"Coral",style:{primaryColor:"#c2185b",secondaryColor:"#00838f",thirdColor:"#f57f17",backgroundColor:"#ffebee"}},{id:"blue-sky",name:"Blue Sky",style:{primaryColor:"#3498db",secondaryColor:"#2980b9",thirdColor:"#1abc9c",backgroundColor:"#ecf0f1",borderColor:"#3498db",borderInnerColor:"#1abc9c",borderOuterColor:"#2980b9",borderFontColor:"#ecf0f1"}},{id:"green-sky",name:"Green Sky",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#2c3e50",borderFontColor:"#ffffff"}},{id:"midnight-sunset",name:"Midnight Sunset",style:{primaryColor:"#5c6bc0",secondaryColor:"#fbc02d",thirdColor:"#00695c",backgroundColor:"#fff"}},{id:"citrus",name:"Citrus",style:{primaryColor:"#f57c00",secondaryColor:"#558b2f",thirdColor:"#6d4c41",backgroundColor:"#fff8e1"}},{id:"dusk",name:"Dusk",style:{primaryColor:"#6a1b9a",secondaryColor:"#e65100",thirdColor:"#2e7d32",backgroundColor:"#d7ccc8"}},{id:"frost",name:"Frost",style:{primaryColor:"#0277bd",secondaryColor:"#37474f",thirdColor:"#c2185b",backgroundColor:"#e1f5fe"}},{id:"autumn",name:"Autumn",style:{primaryColor:"#d84315",secondaryColor:"#827717",thirdColor:"#4a148c",backgroundColor:"#efebe9"}},{id:"turquoise-sun",name:"Turquoise Sun",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#ffffff"}},{id:"emerald-bloom",name:"Emerald Bloom",style:{primaryColor:"#2ecc71",secondaryColor:"#9b59b6",thirdColor:"#c0392b",backgroundColor:"#ecf0f1"}},{id:"sea-lilac",name:"Sea Lilac",style:{primaryColor:"#16a085",secondaryColor:"#8e44ad",thirdColor:"#95a5a6",backgroundColor:"#ecf0f1"}},{id:"belize-pumpkin",name:"Belize Pumpkin",style:{primaryColor:"#2980b9",secondaryColor:"#d35400",thirdColor:"#7f8c8d",backgroundColor:"#ecf0f1"}},{id:"midnight-glow",name:"Midnight Glow",style:{primaryColor:"#2c3e50",secondaryColor:"#f39c12",thirdColor:"#1abc9c",backgroundColor:"#ecf0f1"}},{id:"asphalt-emerald",name:"Asphalt Emerald",style:{primaryColor:"#34495e",secondaryColor:"#2ecc71",thirdColor:"#f39c12",backgroundColor:"#ffffff"}},{id:"wisteria-dusk",name:"Wisteria Dusk",style:{primaryColor:"#8e44ad",secondaryColor:"#2c3e50",thirdColor:"#27ae60",backgroundColor:"#ecf0f1"}},{id:"sunRiver",name:"Sun River",style:{primaryColor:"#f1c40f",secondaryColor:"#3498db",thirdColor:"#95a5a6",backgroundColor:"#ffffff"}},{id:"forest",name:"Forest",style:{primaryColor:"#1abc9c",secondaryColor:"#2ecc71",thirdColor:"#27ae60",backgroundColor:"#ecf0f1"}},{id:"cosmic",name:"Cosmic",style:{primaryColor:"#f1c40f",secondaryColor:"#1abc9c",thirdColor:"#e74c3c",backgroundColor:"#2c3e50"}},{id:"radiant",name:"Radiant",style:{primaryColor:"#e74c3c",secondaryColor:"#f1c40f",thirdColor:"#2ecc71",backgroundColor:"#ecf0f1"}},{id:"marine",name:"Marine",style:{primaryColor:"#3498db",secondaryColor:"#2980b9",thirdColor:"#16a085",backgroundColor:"#ecf0f1"}},{id:"inverse",name:"Inverse",style:{primaryColor:"#ecf0f1",secondaryColor:"#bdc3c7",thirdColor:"#95a5a6",backgroundColor:"#2c3e50"}},{id:"wet-carrot",name:"Wet Carrot",style:{primaryColor:"#34495e",secondaryColor:"#e67e22",thirdColor:"#e74c3c",backgroundColor:"#bdc3c7"}},{id:"pomegranate-sky",name:"Pomegranate Sky",style:{primaryColor:"#e74c3c",secondaryColor:"#3498db",thirdColor:"#9b59b6",backgroundColor:"#bdc3c7"}},...ui];function mi(A){return pi.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function fi(A){return pi.find((e=>e.id===A))}const yi={hasBorder:!0,thickness:30,radius:"0",borderOuter:{thickness:0},borderInner:{thickness:0},decorations:{top:{enableText:!1},bottom:{enableText:!1},left:{enableText:!1},right:{enableText:!1}}},wi={id:"square-border-thin",name:"Square Border (Thin)",options:{borderOptions:{...yi,thickness:40,radius:"10%",decorations:{top:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!0,style:{fontSize:21},value:"SCAN ME"},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!0}}}}},Di={id:"square-border-medium",name:"Square Border (Medium)",options:{borderOptions:{...yi,thickness:20,radius:"15%"}}},Si={id:"square-border-thick",name:"Square Border (Thick)",options:{borderOptions:{...yi,thickness:20,radius:"2%"}}},Fi={id:"rounded-border-thin-slight",name:"Rounded Border (Thin, Slight)",options:{borderOptions:{...yi,thickness:10,radius:"10%"}}},Ri={id:"rounded-border-medium-medium",name:"Rounded Border (Medium)",options:{margin:-6,shape:"circle",borderOptions:{...yi,thickness:12,radius:"35%"}}},ki={id:"rounded-border-thick-high",name:"Rounded Border (Thick, High)",options:{shape:"circle",borderOptions:{...yi,thickness:30,radius:"50"}}},bi={id:"rounded-border-thick-text",name:"Rounded Border (Thick, Text)",options:{shape:"circle",borderOptions:{...yi,thickness:50,borderOuter:{thickness:10},radius:"50%",decorations:{top:{enableText:!0,curveAdjustment:0,offset:4,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},bottom:{enableText:!0,offset:2,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Ui={id:"rounded-border-outside-top-bottom-text",name:"Rounded Border Outside (Top & Bottom Text)",options:{shape:"circle",margin:-16,borderOptions:{...yi,thickness:50,radius:"30",borderOuter:{thickness:10},borderInner:{thickness:6},decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,offset:4,curveDisabled:!0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},bottom:{enableText:!0,offset:-2,curveDisabled:!0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Ni={id:"rounded-border-outside-left-right-text",name:"Rounded Border Outside (Left & Right Text)",options:{margin:-20,shape:"circle",borderOptions:{...yi,thickness:50,radius:"20%",inner:{radius:"20"},borderOuter:{thickness:10},decorations:{top:{disabled:!0,enableText:!1},bottom:{disabled:!0,enableText:!1},left:{enableText:!0,offset:5,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},right:{enableText:!0,offset:6,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Yi={id:"rounded-border-top-bottom-text",name:"Rounded Border (Top & Bottom Text)",options:{borderOptions:{...yi,thickness:50,radius:"30",decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO CONNECT"},bottom:{enableText:!0,offset:-2,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Ji={id:"rounded-border-left-right-text",name:"Rounded Border (Left & Right Text)",options:{margin:5,borderOptions:{...yi,thickness:50,radius:"20%",inner:{radius:"20"},decorations:{top:{disabled:!0},bottom:{disabled:!0},left:{enableText:!0,offset:5,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},right:{enableText:!0,offset:5,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Gi={id:"double-square-border-thin",name:"Double Square Border Inside (Thin)",options:{borderOptions:{...yi,thickness:16,radius:"2%",borderInner:{thickness:6}}}},Vi={id:"double-square-border-medium",name:"Double Square Border Outside (Medium)",options:{borderOptions:{...yi,thickness:16,radius:"2%",borderOuter:{thickness:6}}}},Zi={id:"double-rounded-border-medium",name:"Double Rounded Border (Medium)",options:{shape:"circle",margin:-20,borderOptions:{...yi,thickness:60,radius:"25",borderOuter:{thickness:10},borderInner:{thickness:10},decorations:{bottom:{disabled:!0},left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,curveAdjustment:0,offset:4,curveDisabled:!0,value:"SCAN ME",style:{fontSize:30}}}}}},Oi={id:"double-rounded-border-thick",name:"Double Rounded Border Outside (Thick)",options:{borderOptions:{...yi,thickness:40,radius:"22%",borderOuter:{thickness:6},decorations:{top:{disabled:!0},left:{disabled:!0},bottom:{enableText:!0,curveAdjustment:0,offset:2,value:"SCAN ME",style:{fontSize:20}},right:{enableText:!0,curveAdjustment:0,offset:5,value:"YOUR NAME",style:{fontSize:20}}}}}},Wi={id:"inner-square-border-medium",name:"Inner Square Border Inside (Medium)",options:{borderOptions:{...yi,thickness:10,radius:"2%",borderInner:{thickness:12}}}},Mi={id:"outer-rounded-border-medium",name:"Outer Rounded Border (Medium)",options:{margin:-20,shape:"circle",borderOptions:{...yi,inner:{radius:"20%"},thickness:15,radius:"25%",borderOuter:{thickness:20}}}},Hi={id:"rounded-inner-offset-text",name:"Rounded Inner Offset Text",options:{shape:"circle",margin:-20,borderOptions:{...yi,thickness:25,radius:"30%",borderInner:{thickness:8},decorations:{top:{enableText:!0,offset:3,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"SCAN ME"},bottom:{enableText:!0,offset:3,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"YOUR NAME"}}}}},Ti={id:"square-thick-outer-thin-inner",name:"Square Thick Outer/Thin Inner",options:{borderOptions:{...yi,thickness:10,radius:"50%",inner:{radius:"12%"},borderOuter:{thickness:10},borderInner:{thickness:15},decorations:{bottom:{enableText:!0,offset:-3,curveAdjustment:0,curveDisabled:!0,style:{fontSize:18,fontWeight:"normal"}}}}}},Xi={id:"square-thick-outer-round",name:"Square Thick Outer Round",options:{margin:6,borderOptions:{...yi,thickness:25,radius:"50%",inner:{radius:"15%"},borderOuter:{thickness:10},borderInner:{thickness:20},decorations:{bottom:{enableText:!0,offset:-3,curveAdjustment:0,curveDisabled:!0,style:{fontSize:18,fontWeight:"normal"}}}}}},xi={id:"square-thick-outer-thin-inner-bottom-text",name:"Square Thick Outer/Thin Inner Bottom Text",options:{borderOptions:{...yi,thickness:10,radius:"4%",inner:{radius:"10%"},borderOuter:{thickness:5},borderInner:{thickness:12},decorations:{bottom:{disabled:!0},left:{disabled:!0},right:{disabled:!0},top:{disabled:!0}}}}},Li=[wi,Di,Si,Fi,Ri,ki,bi,Yi,Ji,Ui,Ni,Gi,Vi,Zi,Oi,Wi,Mi,Hi,Ti,Xi,{id:"pill-curved-text-top-bottom",name:"Pill Curved Text Top/Bottom",options:{shape:"circle",borderOptions:{...yi,thickness:35,borderInner:{thickness:10},radius:"50%",decorations:{top:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"TOP CURVED TEXT"},bottom:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"BOTTOM CURVED TEXT"}}}}},{id:"double-varied-thickness-top-text",name:"Double Varied Thickness Top Text",options:{borderOptions:{...yi,thickness:25,radius:"10%",borderOuter:{thickness:8},borderInner:{thickness:4},decorations:{top:{enableText:!0,offset:3,curveAdjustment:0,curveDisabled:!0,style:{fontSize:19},value:"IMPORTANT INFO"},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:19},value:"SCAN ME"}}}}},{id:"outer-border-white-rounded-text",name:"Outer Border White Rounded Text",options:{borderOptions:{...yi,thickness:25,color:"#ffffff",radius:"25%",borderOuter:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,offset:10,curveAdjustment:0,curveDisabled:!1,style:{fontSize:18,fontWeight:"bold",letterSpacing:1,fontColor:"#000000"},value:"SCAN TO FOLLOW"}}}}},{id:"inner-border-white-rounded-text",name:"Inner Border White Rounded Text",options:{margin:6,borderOptions:{...yi,thickness:25,color:"#ffffff",radius:"25%",borderInner:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,offset:-4,style:{fontSize:18,fontWeight:"bold",letterSpacing:1,fontColor:"#000000"},value:"SCAN TO FOLLOW"}}}}},{id:"inner-offset-square-text",name:"Inner Offset Square Text",options:{borderOptions:{...yi,thickness:30,radius:"16%",borderInner:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!0,style:{fontSize:22},value:"SCAN ME"}}}}},{id:"thin-rounded-all-sides-text",name:"Thin Rounded All Sides Text",options:{borderOptions:{...yi,borderInner:{thickness:10},thickness:14,radius:"20%",decorations:{top:{enableText:!0,value:"TOP",style:{fontSize:12},offset:3},bottom:{enableText:!0,value:"BOTTOM",style:{fontSize:12},offset:1},left:{enableText:!0,value:"LEFT",style:{fontSize:12},offset:4},right:{enableText:!0,value:"RIGHT",style:{fontSize:12},offset:4}}}}},{id:"thick-square-double-text",name:"Thick Square Double Text",options:{borderOptions:{...yi,thickness:25,radius:"2%",borderOuter:{thickness:5},borderInner:{thickness:5},decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,value:"HEADER",offset:6,style:{fontSize:18}},bottom:{enableText:!0,value:"FOOTER",offset:2,style:{fontSize:18}}}}}},{id:"high-radius-thin-double-curved-text",name:"High Radius Thin Double Curved Text",options:{margin:-16,shape:"circle",borderOptions:{...yi,thickness:26,radius:"35%",borderOuter:{thickness:6},borderInner:{thickness:13},decorations:{top:{enableText:!0,value:"TOP TEXT",offset:8,curveDisabled:!1,style:{fontSize:16}},right:{disabled:!0},left:{disabled:!0},bottom:{enableText:!0,curveDisabled:!1,offset:4,style:{fontSize:16}}}}}},xi,{id:"minimalist-thin-square",name:"Minimalist Thin Square",options:{borderOptions:{...yi,thickness:8,radius:"4%"}}},{id:"minimalist-thin-rounded",name:"Minimalist Thin Rounded",options:{margin:4,borderOptions:{...yi,thickness:8,radius:"25%"}}},{id:"chunky-square-border-text",name:"Chunky Square Border Text",options:{margin:10,borderOptions:{...yi,thickness:50,radius:"5%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:18,fontWeight:"bold"},offset:4},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4}}}}},{id:"chunky-rounded-border",name:"Chunky Rounded Border",options:{margin:6,borderOptions:{...yi,thickness:50,radius:"50%",inner:{radius:"15%"},borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:18,fontWeight:"bold"},offset:4},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:18,fontWeight:"bold"}}}}}},{id:"double-thick-main-thin-subs-rounded",name:"Double Thick Main Thin Subs Rounded",options:{margin:2,borderOptions:{...yi,thickness:25,radius:"20%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:16,fontWeight:"bold"},offset:5},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:16,fontWeight:"bold"},offset:6},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:16,fontWeight:"bold"},offset:6},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:16,fontWeight:"bold"},offset:4}}}}},{id:"double-thick-main-thick-subs-square",name:"Double Thick Main Thick Subs Square",options:{margin:2,borderOptions:{...yi,thickness:25,radius:"4%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:5,value:"SCAN ME"},left:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:7,value:"LEFT TEXT"},right:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:7,value:"RIGHT TEXT"},bottom:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:5,value:"BOTTOM TEXT"}}}}},{id:"inner-thick-rounded",name:"Inner Thick Rounded",options:{borderOptions:{...yi,thickness:2,radius:"35%",borderOuter:{thickness:10},borderInner:{thickness:30},inner:{radius:"15%"},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:38},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:40},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:38},bottom:{enableText:!0,value:"BOTTOM TEXT",curveDisabled:!0,style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:29}}}}},{id:"outer-thick-square",name:"Outer Thick Square",options:{borderOptions:{...yi,thickness:10,radius:"2%",borderOuter:{thickness:20},borderInner:{thickness:0}}}},{id:"pill-double-thin-text",name:"Pill Double Thin Text",options:{margin:-2,shape:"circle",borderOptions:{...yi,thickness:30,radius:"50%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{disabled:!1,enableText:!0,value:"SCAN ME",offset:5,style:{fontSize:18,fontWeight:"bold"}},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!1,enableText:!0,value:"BOTTOM TEXT",offset:3,style:{fontSize:18,fontWeight:"bold"}}}}}},{id:"double-thin-circle-inner-rounded",name:"Double Thin Circle Inner Rounded",options:{margin:-28,shape:"circle",borderOptions:{...yi,thickness:20,radius:"10%",inner:{radius:"25%"},borderOuter:{thickness:4},borderInner:{thickness:4},decorations:{top:{disabled:!1},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!1}}}}},{id:"square-top-bottom-text",name:"Square Top/Bottom Text",options:{borderOptions:{...yi,thickness:30,radius:"10%",decorations:{top:{enableText:!0,value:"SCAN CODE",offset:1,style:{fontSize:16}},bottom:{enableText:!0,value:"VISIT OUR SITE",style:{fontSize:16}}}}}},{id:"rounded-left-right-text",name:"Rounded Left/Right Text",options:{margin:2,borderOptions:{...yi,thickness:30,radius:"20%",decorations:{top:{disabled:!0},bottom:{disabled:!0},left:{enableText:!0,offset:2,value:"LEFT TEXT",style:{fontSize:19}},right:{enableText:!0,offset:2,value:"RIGHT TEXT",style:{fontSize:19}}}}}},{id:"square-left-text-only",name:"Square Left Text Only",options:{margin:2,borderOptions:{...yi,borderInner:{thickness:10},thickness:45,radius:"5%",decorations:{left:{enableText:!0,value:"SCAN ME",offset:6,style:{fontSize:20,fontWeight:"bold",letterSpacing:1}},top:{disabled:!0},bottom:{disabled:!0},right:{disabled:!0}}}}},{id:"square-right-text-only",name:"Square Right Text Only",options:{margin:2,borderOptions:{...yi,borderInner:{thickness:10},thickness:45,radius:"5%",decorations:{right:{enableText:!0,value:"WEBSITE.COM",offset:6,style:{fontSize:20,fontWeight:"bold",letterSpacing:1}},top:{disabled:!0},bottom:{disabled:!0},left:{disabled:!0}}}}},{id:"rounded-left-right-different-text",name:"Rounded Left+Right Different Text",options:{margin:-20,shape:"circle",borderOptions:{...yi,borderInner:{thickness:10},thickness:40,radius:"35%",decorations:{left:{enableText:!0,offset:4,value:"SCAN",style:{fontSize:20,fontWeight:"bold"}},right:{enableText:!0,value:"NOW",offset:4,style:{fontSize:20,fontWeight:"bold"}},top:{disabled:!0},bottom:{disabled:!0}}}}},{id:"square-left-right-identical-text",name:"Square Left+Right Identical Text",options:{margin:2,borderOptions:{...yi,borderInner:{thickness:10},thickness:40,radius:"2%",decorations:{left:{enableText:!0,value:"QR CODE",offset:4,style:{fontSize:18,fontWeight:"bold"}},right:{enableText:!0,value:"QR CODE",offset:4,style:{fontSize:18,fontWeight:"bold"}},top:{disabled:!0},bottom:{disabled:!0}}}}},{id:"pill-left-right-bottom-text",name:"Pill Left Right Bottom Text",options:{margin:2,shape:"circle",borderOptions:{...yi,borderInner:{thickness:10},thickness:45,inner:{radius:"45%",verticalOffset:-5},radius:"50%",decorations:{top:{disabled:!0},left:{enableText:!0,value:"FOLLOW US",offset:5,style:{fontSize:18,fontWeight:"bold"}},right:{enableText:!0,value:"CONTACT US",offset:5,style:{fontSize:18,fontWeight:"bold"}},bottom:{enableText:!0,value:"WEBSITE.COM",style:{fontSize:18,fontWeight:"bold"}}}}}},{id:"pill-left-right-top-text",name:"Pill Left Right Top Text",options:{margin:2,shape:"circle",borderOptions:{...yi,borderInner:{thickness:10},thickness:45,inner:{radius:"45%",verticalOffset:-5},radius:"50%",decorations:{top:{enableText:!0,value:"WEBSITE.COM",offset:5,curveDisabled:!1,style:{fontSize:20,fontWeight:"bold"}},left:{enableText:!0,value:"FOLLOW US",offset:5,style:{fontSize:18,fontWeight:"bold"}},right:{enableText:!0,value:"SHARE LINK",offset:5,style:{fontSize:18,fontWeight:"bold"}},bottom:{disabled:!0}}}}}];function Ki(A){return Li.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function qi(A){return Li.find((e=>e.id===A))}const ji=[{id:"scan-me",name:"Scan Me, Get Started",options:{topValue:"Scan Me",bottomValue:"Get Started"}},{id:"scan-to-visit-website",name:"Scan to Visit Website",options:{topValue:"Scan Code",bottomValue:"Visit Website"}},{id:"visit-website",name:"Visit Website",options:{value:"Visit Website"}},{id:"follow-me",name:"Follow Me",options:{topValue:"Scan Code",value:"Follow Us"}},{id:"follow-us",name:"Follow Us",options:{topValue:"Scan Code",value:"Follow Us"}},{id:"scan-to-follow",name:"Scan to Follow",options:{value:"Scan to Follow"}},{id:"contact-info",name:"Contact Info",options:{value:"Contact Info"}},{id:"scan-to-pay",name:"Scan To Pay",options:{value:"Scan to Pay"}},{id:"product-details-bottom",name:"Product Details",options:{value:"Product Details",topValue:"Scan Code"}},{id:"event-info-top-bottom",name:"Event Info",options:{value:"Event Information",topValue:"Scan Code"}},{id:"lost-found",name:"Lost & Found",options:{topValue:"Found Me?",bottomValue:"Scan to Return",leftValue:"If Found",rightValue:"Please Scan"}},{id:"scan-to-return",name:"Scan to Return",options:{topValue:"Scan to Return",bottomValue:"Scan to Return",leftValue:"If Found",rightValue:"Please Scan"}},{id:"scan-for-wifi",name:"Scan for WiFi",options:{value:"Scan for WiFi Access"}},{id:"scan-to-connect-wifi",name:"Scan to Connect WiFi",options:{value:"Scan to Connect WiFi"}},{id:"get-directions-bottom",name:"Get Directions",options:{value:"Get Directions",topValue:"Scan Code"}},{id:"special-offer-top",name:"Special Offer",options:{value:"Special Offer",topValue:"Scan Code"}},{id:"limited-time-offer",name:"Limited Time Offer",options:{value:"Limited Time Offer",topValue:"Scan Code"}},{id:"scan-to-download",name:"Scan to Download",options:{bottomValue:"App Name",topValue:"Scan to Download"}},{id:"register-now-top",name:"Register Now",options:{topValue:"Scan Code",value:"Register Now"}},{id:"scan-to-learn-more",name:"Scan to Learn",options:{bottomValue:"Scan to Learn",topValue:"Scan to Learn"}},{id:"your-text-here",name:"Your Text Here",options:{topValue:"Top Text Here",bottomValue:"Bottom Text Here",leftValue:"Left Text",rightValue:"Right Text"}},{id:"visit-website-url",name:"Website URL",options:{value:"www.example.com",topValue:"Scan To Visit"}},{id:"call-to-action",name:"Call To Action",options:{topValue:"Scan Now",bottomValue:"Limited Time"}},{id:"scan-to-check-in",name:"Scan to Check In",options:{value:"Scan to Check In"}},{id:"scan-to-check-in-check-out",name:"Scan to Check In/Out",options:{topValue:"Scan to Register",bottomValue:"Scan to Register",leftValue:"Check In",rightValue:"Check Out"}},{id:"scan-for-menu",name:"Scan for Menu",options:{value:"Scan for Menu"}},{id:"give-feedback",name:"Give Feedback",options:{topValue:"Scan to Feedback",value:"Give Feedback"}},{id:"scan-for-discount",name:"Scan for Discount",options:{value:"Scan for Discount"}},{id:"scan-to-apply",name:"Scan to Apply",options:{bottomValue:"Scan to Apply",topValue:"Scan to Apply"}},{id:"emergency-contact",name:"Emergency Contact",options:{value:"Emergency Contact",topValue:"Scan for Emergency"}},{id:"artwork-info",name:"Artwork Info",options:{value:"Artwork Info"}},{id:"scan-to-save-contact",name:"Scan to Contact",options:{value:"Scan to Contact"}},{id:"scan-to-call-bottom",name:"Scan to Call",options:{value:"Scan to Call"}},{id:"scan-to-watch-video",name:"Scan to Watch",options:{value:"Scan to Watch Video"}},{id:"welcome-scan-to-proceed",name:"Welcome, Scan to Proceed",options:{value:"Welcome",topValue:"Scan to Proceed"}}];function vi(A){return ji.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function Pi(A){return ji.find((e=>e.id===A))}var zi;!function(A){A.svg="svg",A.png="png",A.jpeg="jpeg",A.webp="webp"}(zi||(zi={})),Object.assign(u.stringToBytesFuncs,{UTF8:A=>function(A){const e=[];for(let t=0;t<A.length;t++){let i=A.charCodeAt(t);i<128?e.push(i):i<2048?e.push(192|i>>6,128|63&i):i<55296||i>=57344?e.push(224|i>>12,128|i>>6&63,128|63&i):(t++,i=65536+((1023&i)<<10|1023&A.charCodeAt(t)),e.push(240|i>>18,128|i>>12&63,128|i>>6&63,128|63&i))}return e}(A)});let _i=class A{get size(){return this.qrSVG?{width:this.qrSVG.width,height:this.qrSVG.height}:void 0}constructor(e,t=!1){var i,o,n,r,s,g;this._svgId=`qr-svg-${Math.random().toString(36).substring(2,9)}`,(g=e)&&0!==Object.keys(g).length||(console.warn("QRCodeJs: Options not provided. Using default options and base template."),e=UA);const I=e;let a=UA;A._selectedTemplate&&(a="id"in A._selectedTemplate&&"options"in A._selectedTemplate?f(a,A._selectedTemplate.options):f(a,A._selectedTemplate));let B={};A._selectedBorder&&(B="id"in A._selectedBorder&&"options"in A._selectedBorder?A._selectedBorder.options:A._selectedBorder);let C={};if(A._selectedStyle){const{isValid:e,errors:t}=FA(A._selectedStyle);e?C=SA(A._selectedStyle):console.warn("Invalid static style options ignored during instantiation:",t)}let l={};A._selectedImage&&!A._selectedImageOverride&&(l={image:A._selectedImage});let Q={};A._selectedData&&!A._selectedDataOverride&&(Q={data:A._selectedData});const E={};if(A._selectedText&&!A._selectedTextOverride){let e=null;if(e="id"in A._selectedText&&"options"in A._selectedText?A._selectedText.options:A._selectedText,e){E.borderOptions||(E.borderOptions={}),E.borderOptions.decorations||(E.borderOptions.decorations={});const A=E.borderOptions.decorations,t=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(A.top={value:t}),void 0===e.bottomValue&&(A.bottom={value:t}),void 0===e.leftValue&&(A.left={value:t}),void 0===e.rightValue&&(A.right={value:t})),void 0!==e.topValue&&(A.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(A.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(A.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(A.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}const h=f(a,B,E,C,l,Q,I,null!==(i=A._selectedOptions)&&void 0!==i?i:{}),{warnings:c,validatedOptions:d}=Ai(h);this.options=P(d);const u={};if(A._selectedImageOverride&&A._selectedImage&&(u.image=A._selectedImage),A._selectedTextOverride&&A._selectedText){u.borderOptions||(u.borderOptions={}),u.borderOptions.decorations||(u.borderOptions.decorations={});let e=null;if(e="id"in A._selectedText&&"options"in A._selectedText?A._selectedText.options:A._selectedText,e){const A=u.borderOptions.decorations,t=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(A.top={value:t}),void 0===e.bottomValue&&(A.bottom={value:t}),void 0===e.leftValue&&(A.left={value:t}),void 0===e.rightValue&&(A.right={value:t})),void 0!==e.topValue&&(A.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(A.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(A.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(A.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}return A._selectedDataOverride&&A._selectedData&&(u.data=A._selectedData),A._selectedOptionsOverride&&A._selectedOptions&&Object.keys(u).length>0?this.options=P(f(this.options,f(u,A._selectedOptions))):Object.keys(u).length>0&&(this.options=P(f(this.options,u))),this.id=null===(o=A._selectedInfo)||void 0===o?void 0:o.id,this.name=null===(n=A._selectedInfo)||void 0===n?void 0:n.name,this.description=null===(r=A._selectedInfo)||void 0===r?void 0:r.description,this.metadata=null!==(s=A._selectedMetadata)&&void 0!==s?s:void 0,c.length>0&&this._logValidationWarnings("QR Code Options Validation Warnings:",c),this.update(),this}static setTemplate(e){if(null===e)return A._selectedTemplate=null,A;if("string"==typeof e){const t=e,i=Pt(t);i?A._selectedTemplate=i:(console.warn(`QR Code template name "${t}" not found. Using base template.`),A._selectedTemplate=UA)}else A._selectedTemplate=e;return A}static setTemplateId(e){if(null===e)return A._selectedTemplate=null,A;const t=zt(e);return t?A._selectedTemplate=t:(console.warn(`QR Code template ID "${e}" not found in setTemplateId. Using default.`),A._selectedTemplate=UA),A}static getTemplates(){return{findTextTemplateById:Pi,findTextByName:vi,findTemplateByName:Pt,findTemplateById:zt,findBorderById:qi,findBorderByName:Ki,findStyleById:fi,findStyleByName:mi,baseTemplates:vt,borderTemplates:Li,styleTemplates:pi,textTemplates:ji}}static setStyle(e){if(null===e)return A._selectedStyle=null,A;let t=null;if("string"==typeof e){const i=e,o=mi(i);o?(t=o.style,A._selectedStyle=t):(console.warn(`QR Code style name "${i}" not found in setStyle. Ignoring.`),A._selectedStyle=null)}else{const{isValid:i,errors:o}=FA(e);i?(t=e,A._selectedStyle=t):(console.warn("Invalid style options object provided to setStyle:",o),A._selectedStyle=null)}return A}static setBorder(e){if(null===e)return A._selectedBorder=null,A;if("string"==typeof e){const t=e,i=Ki(t);i?A._selectedBorder=i:(console.warn(`QR Code border template name "${t}" not found. Ignoring.`),A._selectedBorder=null)}else A._selectedBorder={borderOptions:e};return A}static setBorderId(e){if(null===e)return A._selectedBorder=null,A;const t=qi(e);return t?A._selectedBorder=t:(console.warn(`QR Code border template ID "${e}" not found in setBorderId. Ignoring.`),A._selectedBorder=null),A}static setStyleId(e){if(null===e)return A._selectedStyle=null,A;const t=fi(e);return t?A._selectedStyle=t.style:(console.warn(`QR Code style ID "${e}" not found in setStyleId. Ignoring.`),A._selectedStyle=null),A}static setImage(e,t){return A._selectedImage=e,A._selectedImageOverride=!(null==t||!t.override),A}static setData(e,t){return A._selectedData=e,A._selectedDataOverride=!(null==t||!t.override),A}static setOptions(e,t){return A._selectedOptions=e,A._selectedOptionsOverride=!(null==t||!t.override),A}static setText(e,t){if(null===e)A._selectedText=null;else if("string"==typeof e){const t=vi(e);t?A._selectedText=t:(console.warn(`QR Code text template name "${e}" not found. Ignoring.`),A._selectedText=null)}else A._selectedText=e;return A._selectedTextOverride=!(null==t||!t.override),A}static setTextId(e,t){if(null===e)A._selectedText=null;else{const t=Pi(e);console.log("foundTextTemplate",t),t?A._selectedText=t:(console.warn(`QR Code text template ID "${e}" not found in setTextId. Ignoring.`),A._selectedText=null)}return A._selectedTextOverride=!(null==t||!t.override),A}static setSettings(e){if(null===e)return A._selectedTemplate=null,A._selectedBorder=null,A._selectedStyle=null,A._selectedImage=null,A._selectedImageOverride=!1,A._selectedText=null,A._selectedTextOverride=!1,A._selectedData=null,A._selectedDataOverride=!1,A._selectedOptions=null,A._selectedOptionsOverride=!1,A._selectedInfo=null,A._selectedMetadata=null,A;const{id:t,name:i,description:o,metadata:n,options:r,template:s,templateId:g,style:I,styleId:a,border:B,borderId:C,text:l,textId:Q,image:E,data:h,...c}=e;return A._selectedInfo={id:t,name:i,description:o},A._selectedMetadata=null!=n?n:null,g?A.setTemplateId(g):s&&A.setTemplate(s),a?A.setStyleId(a):I&&A.setStyle(I),C?A.setBorderId(C):B&&A.setBorder(B),Q?A.setTextId(Q):l&&A.setText(l),E&&A.setImage(E),h&&A.setData(h),r&&A.setOptions(r),Object.keys(c).length>0&&console.warn("QRCodeJs.setSettings: Unknown properties in settings object:",c),A}getOptions(){return this.options}getId(){return this.id}getName(){return this.name}getDescription(){return this.description}getMetadata(){return this.metadata}getSettings(){return{...this.id?{id:this.id}:{},...this.name?{name:this.name}:{},...this.description?{description:this.description}:{},...this.metadata?{metadata:this.metadata}:{},options:this.options}}setId(A){return this.id=A,this}setName(A){return this.name=A,this}setDescription(A){return this.description=A,this}setMetadata(A){return this.metadata=A,this}async update(A){var e,t;const i=A?f(this.options,A):this.options,{warnings:o,validatedOptions:n}=Ai(i);if(o.length>0&&this._logValidationWarnings("QR Code JS Options Update Validation Warnings:",o),this.options=P(n),!this.options.data)return void console.warn("QR Code update called without data.");this.options.stringToBytesFuncs&&(Object.assign(u.stringToBytesFuncs,this.options.stringToBytesFuncs),delete this.options.stringToBytesFuncs),this.qr=new u(this.options.qrOptions.typeNumber,this.options.qrOptions.errorCorrectionLevel);const r=(null===(e=this.options.qrOptions)||void 0===e?void 0:e.mode)||function(A){switch(!0){case/^[0-9]*$/.test(A):return d.numeric;case/^[0-9A-Z $%*+\-./:]*$/.test(A):return d.alphanumeric;case/[^\u0000-\u00ff]/.test(A):return d.unicode;default:return d.byte}}(this.options.data);this.qr.addData(this.options.data,r),this.qr.make(),await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise;const s=null===(t=this.qrSVG)||void 0===t?void 0:t.element;if(this.container&&s){const A=this.container.querySelector(`#${this._svgId}`);A&&A!==s&&this.container.replaceChild(s,A)}}append(A,e){var t;if(!A)return console.warn("QR Code append could not find container."),this;if(this.container=A,null!=e&&e.clearContainer)for(;A.firstChild;)A.removeChild(A.firstChild);return null!==(t=this.qrSVG)&&void 0!==t&&t.element&&!A.querySelector(`#${this._svgId}`)&&A.appendChild(this.qrSVG.element),this}async applyExtension(A){if(!A)throw new Error("Extension function should be defined.");this.extension=A,await this.update()}async deleteExtension(){this.extension=void 0,await this.update()}async serialize(A=!1){var e,t;if(!this.qr)throw new Error("QR code is empty");if(null!==(e=this.qrSVG)&&void 0!==e&&e.element||await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise,null===(t=this.qrSVG)||void 0===t||!t.element)return;let i=this.qrSVG.element;if(A){const A=this.qrSVG.element.cloneNode(!0);A.style.filter="invert(1)",i=A}let o=(new XMLSerializer).serializeToString(i);return o='<?xml version="1.0" standalone="no"?>\r\n'+o,o}async _setupSvgAsync(){var A;if(!this.qr)return;let e=this.qr.getModuleCount();this.options.imageOptions.mode===j.background&&this.options.shape!==q.circle&&(e+=2);let t=Math.ceil((this.options.shape===q.circle?Math.sqrt(1.8):1.1)*e);t%2==0&&(t-=1);let i=0;this.options.imageOptions.mode===j.background&&(i+=this.options.imageOptions.margin||0);const o=Math.ceil(this.options.dotsOptions.size*(t+2*i)),n=this.options.borderOptions;let r=0,s=0;const g={top:0,right:0,bottom:0,left:0},I={top:0,right:0,bottom:0,left:0},a={top:0,right:0,bottom:0,left:0},B=(null!=n&&n.noBorderThickness||null!=n&&n.thickness)&&n.thickness?n.thickness/4:0;if(null!=n&&n.hasBorder){var C,l,Q,E;const A=null!==(C=n.borderOuter)&&void 0!==C&&C.thickness?2*(null===(l=n.borderOuter)||void 0===l?void 0:l.thickness):0,e=null!==(Q=n.borderInner)&&void 0!==Q&&Q.thickness?2*(null===(E=n.borderInner)||void 0===E?void 0:E.thickness):0;var h,c,d,u,p,m,f,y;if(A>0&&(I.top=A/2,I.bottom=A/2,I.left=A/2,I.right=A/2),e>0&&(a.top=e/2,a.bottom=e/2,a.left=e/2,a.right=e/2),J(n,"left"))g.left=null!==(h=n.thickness)&&void 0!==h?h:0,r+=null!==(c=n.thickness)&&void 0!==c?c:0;else g.left=B,r+=B;if(J(n,"right"))g.right=null!==(d=n.thickness)&&void 0!==d?d:0,r+=null!==(u=n.thickness)&&void 0!==u?u:0;else g.right=B,r+=B;if(J(n,"top"))g.top=null!==(p=n.thickness)&&void 0!==p?p:0,s+=null!==(m=n.thickness)&&void 0!==m?m:0;else g.top=B,s+=B;if(G(n,"bottom",this._hls()))g.bottom=null!==(f=n.thickness)&&void 0!==f?f:0,s+=null!==(y=n.thickness)&&void 0!==y?y:0;else g.bottom=B,s+=B}const w=o+r,D=o+s;this.qrSVG=new di({...this.options,width:w,height:D,bordersMain:g,bordersOuter:I,bordersInner:a,errorCorrectionPercent:z[this.options.qrOptions.errorCorrectionLevel],hls:this._hls()}),null!==(A=this.qrSVG)&&void 0!==A&&A.element?(this.qrSVG.element.id=this._svgId,this.svgDrawingPromise=this.qrSVG.drawQR(this.qr).then((()=>{var A,e,t;null!==(A=this.qrSVG)&&void 0!==A&&A.element&&(this.options.instanceId=this.qrSVG._instanceId,null!==(e=this.options.borderOptions)&&void 0!==e&&e.hasBorder&&H(this.options.borderOptions)(this.qrSVG.element,this.options,o,this.qrSVG.drawBackgroundForBorder.bind(this.qrSVG),g,I,a,B,this._hls),null===(t=this.extension)||void 0===t||t.call(this,this.qrSVG.element,this.options))})).catch((A=>{throw console.error("Error during SVG drawing or post-processing:",A),A}))):console.error("QRSVG element not created immediately after instantiation.")}async _drawToCanvasForValidation(A){var e,i,o;const{width:n=300,height:r=300}=null!==(e=null!==(i=null===(o=this.qrSVG)||void 0===o?void 0:o.svgSize)&&void 0!==i?i:A)&&void 0!==e?e:t,s=n,g=r,I=document.createElement("canvas");I.width=s,I.height=g;const a=await this.serialize();if(!a)throw new Error("Failed to serialize SVG.");const B="data:image/svg+xml;base64,"+btoa(a);return new Promise(((A,e)=>{const t=new Image;t.width=s,t.height=g,t.crossOrigin="Anonymous",t.onload=()=>{const i=I.getContext("2d");if(!i)return e(new Error("Could not get canvas 2D context"));i.drawImage(t,0,0,s,g),A(I)},t.onerror=t.onabort=e,t.src=B}))}async drawToCanvas(A){var e;const t=document.createElement("canvas"),i=window.devicePixelRatio||1,o=(null==A?void 0:A.antialiasFactor)||2,n=(null==A?void 0:A.antialiasLevel)||"medium",r=null===(e=null==A?void 0:A.antialias)||void 0===e||e,s=(async()=>{try{var e,s;const g=await this.serialize();if(!g)return void console.warn("SVG serialization returned empty.");const I="data:image/svg+xml;base64,"+function(A){const e=(new TextEncoder).encode(A),t=Array.from(e,(A=>String.fromCharCode(A))).join("");return btoa(t)}(g),a=new Image;await new Promise(((A,e)=>{a.onload=()=>A(),a.onerror=A=>e(new Error(`Image load error: ${A}`)),a.onabort=()=>e(new Error("Image load aborted")),a.src=I}));const{width:B,height:C}=null!==(e=null===(s=this.qrSVG)||void 0===s?void 0:s.svgSize)&&void 0!==e?e:{},l=null!=B?B:a.naturalWidth,Q=null!=C?C:a.naturalHeight;if(l<=0||Q<=0)throw new Error("Invalid SVG dimensions");let E,h;void 0!==(null==A?void 0:A.width)&&void 0!==(null==A?void 0:A.height)?(E=A.width,h=A.height):void 0!==(null==A?void 0:A.width)?(E=A.width,h=E*(Q/l)):void 0!==(null==A?void 0:A.height)?(h=A.height,E=h*(l/Q)):(E=l,h=Q),t.width=E*i,t.height=h*i,t.style.width=`${E}px`,t.style.height=`${h}px`;const c=E/l,d=h/Q,u=Math.min(c,d),p=l*u,m=Q*u,f=(E-p)/2,y=(h-m)/2;let w;try{w=new OffscreenCanvas(p*i*o,m*i*o)}catch(A){w=document.createElement("canvas"),w.width=p*i*o,w.height=m*i*o}const D=w.getContext("2d");if(!D)throw new Error("Could not get OffscreenCanvas 2D context");D.imageSmoothingEnabled=r,D.imageSmoothingQuality=n,D.drawImage(a,0,0,w.width,w.height);const S=t.getContext("2d");if(!S)throw new Error("Could not get canvas 2D context");S.imageSmoothingEnabled=r,S.imageSmoothingQuality=n,S.scale(i,i),S.drawImage(w,0,0,w.width,w.height,f,y,p,m)}catch(A){throw console.error("Error drawing to canvas:",A),A}})();return{canvas:t,canvasDrawingPromise:s}}async _drawToCanvasPrevious(A){var e,i;const{width:o=300,height:n=300}=null!==(e=null!=A?A:null===(i=this.qrSVG)||void 0===i?void 0:i.svgSize)&&void 0!==e?e:t,r=1*o,s=1*n,g=document.createElement("canvas");g.width=r,g.height=s;const I=(async()=>{try{const A=await this.serialize();if(!A)return void console.warn("SVG serialization returned empty.");const e="data:image/svg+xml;base64,"+btoa(A),t=new Image;t.width=r,t.height=s,await new Promise(((A,i)=>{t.onload=()=>{const e=Math.ceil(2*Math.max(o,n)/Math.max(t.width,t.height));let I;try{I=new OffscreenCanvas(t.width*e*2,t.height*e*2)}catch(A){I=document.createElement("canvas"),I.width=t.width*e*2,I.height=t.height*e*2}const a=I.getContext("2d");if(!a)return i(new Error("Could not get OffscreenCanvas 2D context"));a.drawImage(t,0,0,I.width,I.height);const B=g.getContext("2d");if(!B)return i(new Error("Could not get canvas 2D context"));B.drawImage(I,0,0,I.width,I.height,0,0,r,s),A()},t.onerror=A=>i(new Error(`Image load error: ${A}`)),t.onabort=()=>i(new Error("Image load aborted")),t.src=e}))}catch(A){throw console.error("Error drawing to canvas:",A),A}})();return{canvas:g,canvasDrawingPromise:I}}downloadURI(A,e){const t=document.createElement("a");t.download=e,t.href=A,document.body.appendChild(t),t.click(),document.body.removeChild(t)}async download(A,e){if("undefined"==typeof Blob)throw new Error("Cannot download in Node.js environment");let t=zi.png,i="qr";if(A&&(A.name&&(i=A.name),A.extension&&(t=A.extension)),"svg"===t.toLowerCase()){const A=await this.serialize();if(!A)return;const e="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(A);this.downloadURI(e,`${i}.svg`)}else{const A=await this.drawToCanvas(e);if(!A)return;const{canvas:o,canvasDrawingPromise:n}=A;await n;const r=o.toDataURL(`image/${t}`);this.downloadURI(r,`${i}.${t}`)}}async createOptimizedQRCanvas(A){var e,i,o;const{width:n=300,height:r=300}=null!==(e=null!==(i=null===(o=this.qrSVG)||void 0===o?void 0:o.svgSize)&&void 0!==i?i:A)&&void 0!==e?e:t,s=document.createElement("canvas");s.width=n,s.height=r;const g=await this.serialize();if(!g)throw new Error("Failed to serialize SVG.");const I="data:image/svg+xml;base64,"+btoa(Array.from((new TextEncoder).encode(g)).map((A=>String.fromCharCode(A))).join(""));return new Promise(((A,e)=>{const t=new Image;t.width=n,t.height=r,t.crossOrigin="Anonymous",t.onload=()=>{const i=s.getContext("2d");if(!i)return e(new Error("Could not get canvas 2D context"));i.imageSmoothingEnabled=!1,i.drawImage(t,0,0,n,r),this.applyQRThreshold(s),A(s)},t.onerror=A=>e(new Error(`Image load error: ${A}`)),t.onabort=()=>e(new Error("Image load aborted")),t.src=I}))}applyQRThreshold(A){const e=A.getContext("2d");if(!e)return;const t=e.getImageData(0,0,A.width,A.height),i=t.data;for(let A=0;A<i.length;A+=4){const e=(i[A]+i[A+1]+i[A+2])/3<128?0:255;i[A]=i[A+1]=i[A+2]=e}e.putImageData(t,0,0)}_hls(){return!1}_logValidationWarnings(A,e){console.warn(A),e.forEach((A=>{console.warn(`option: ${A.path} - '${A.value}' : ${A.message}`)}))}};_i.version="0.11.10",_i._selectedTemplate=null,_i._selectedBorder=null,_i._selectedStyle=null,_i._selectedImage=null,_i._selectedImageOverride=!1,_i._selectedText=null,_i._selectedTextOverride=!1,_i._selectedData=null,_i._selectedDataOverride=!1,_i._selectedOptions=null,_i._selectedOptionsOverride=!1,_i._selectedInfo=null,_i._selectedMetadata=null;const $i=new TextEncoder,Ao=new TextDecoder;function eo(A){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof A?A:Ao.decode(A),{alphabet:"base64url"});let e=A;e instanceof Uint8Array&&(e=Ao.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return function(A){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(A);const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A<e.length;A++)t[A]=e.charCodeAt(A);return t}(e)}catch(A){throw new TypeError("The input to be decoded is not correctly encoded.")}}function to(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||!A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var i=t.call(A,e);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:e+""}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}class io extends Error{constructor(A,e){var t;super(A,e),to(this,"code","ERR_JOSE_GENERIC"),this.name=this.constructor.name,null===(t=Error.captureStackTrace)||void 0===t||t.call(Error,this,this.constructor)}}to(io,"code","ERR_JOSE_GENERIC");class oo extends io{constructor(A,e,t="unspecified",i="unspecified"){super(A,{cause:{claim:t,reason:i,payload:e}}),to(this,"code","ERR_JWT_CLAIM_VALIDATION_FAILED"),to(this,"claim",void 0),to(this,"reason",void 0),to(this,"payload",void 0),this.claim=t,this.reason=i,this.payload=e}}to(oo,"code","ERR_JWT_CLAIM_VALIDATION_FAILED");class no extends io{constructor(A,e,t="unspecified",i="unspecified"){super(A,{cause:{claim:t,reason:i,payload:e}}),to(this,"code","ERR_JWT_EXPIRED"),to(this,"claim",void 0),to(this,"reason",void 0),to(this,"payload",void 0),this.claim=t,this.reason=i,this.payload=e}}to(no,"code","ERR_JWT_EXPIRED");class ro extends io{constructor(...A){super(...A),to(this,"code","ERR_JOSE_ALG_NOT_ALLOWED")}}to(ro,"code","ERR_JOSE_ALG_NOT_ALLOWED");class so extends io{constructor(...A){super(...A),to(this,"code","ERR_JOSE_NOT_SUPPORTED")}}to(so,"code","ERR_JOSE_NOT_SUPPORTED");to(class extends io{constructor(A="decryption operation failed",e){super(A,e),to(this,"code","ERR_JWE_DECRYPTION_FAILED")}},"code","ERR_JWE_DECRYPTION_FAILED");to(class extends io{constructor(...A){super(...A),to(this,"code","ERR_JWE_INVALID")}},"code","ERR_JWE_INVALID");class go extends io{constructor(...A){super(...A),to(this,"code","ERR_JWS_INVALID")}}to(go,"code","ERR_JWS_INVALID");class Io extends io{constructor(...A){super(...A),to(this,"code","ERR_JWT_INVALID")}}to(Io,"code","ERR_JWT_INVALID");to(class extends io{constructor(...A){super(...A),to(this,"code","ERR_JWK_INVALID")}},"code","ERR_JWK_INVALID");to(class extends io{constructor(...A){super(...A),to(this,"code","ERR_JWKS_INVALID")}},"code","ERR_JWKS_INVALID");to(class extends io{constructor(A="no applicable key found in the JSON Web Key Set",e){super(A,e),to(this,"code","ERR_JWKS_NO_MATCHING_KEY")}},"code","ERR_JWKS_NO_MATCHING_KEY");to(class extends io{constructor(A="multiple matching keys found in the JSON Web Key Set",e){super(A,e),to(this,Symbol.asyncIterator,void 0),to(this,"code","ERR_JWKS_MULTIPLE_MATCHING_KEYS")}},"code","ERR_JWKS_MULTIPLE_MATCHING_KEYS");to(class extends io{constructor(A="request timed out",e){super(A,e),to(this,"code","ERR_JWKS_TIMEOUT")}},"code","ERR_JWKS_TIMEOUT");class ao extends io{constructor(A="signature verification failed",e){super(A,e),to(this,"code","ERR_JWS_SIGNATURE_VERIFICATION_FAILED")}}function Bo(A,e="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${e} must be ${A}`)}function Co(A,e){return A.name===e}function lo(A){return parseInt(A.name.slice(4),10)}function Qo(A,e,t){switch(e){case"HS256":case"HS384":case"HS512":{if(!Co(A.algorithm,"HMAC"))throw Bo("HMAC");const t=parseInt(e.slice(2),10);if(lo(A.algorithm.hash)!==t)throw Bo(`SHA-${t}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!Co(A.algorithm,"RSASSA-PKCS1-v1_5"))throw Bo("RSASSA-PKCS1-v1_5");const t=parseInt(e.slice(2),10);if(lo(A.algorithm.hash)!==t)throw Bo(`SHA-${t}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!Co(A.algorithm,"RSA-PSS"))throw Bo("RSA-PSS");const t=parseInt(e.slice(2),10);if(lo(A.algorithm.hash)!==t)throw Bo(`SHA-${t}`,"algorithm.hash");break}case"Ed25519":case"EdDSA":if(!Co(A.algorithm,"Ed25519"))throw Bo("Ed25519");break;case"ES256":case"ES384":case"ES512":{if(!Co(A.algorithm,"ECDSA"))throw Bo("ECDSA");const t=function(A){switch(A){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}(e);if(A.algorithm.namedCurve!==t)throw Bo(t,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}!function(A,e){if(!A.usages.includes(e))throw new TypeError(`CryptoKey does not support this operation, its usages must include ${e}.`)}(A,t)}function Eo(A,e,...t){if((t=t.filter(Boolean)).length>2){const e=t.pop();A+=`one of type ${t.join(", ")}, or ${e}.`}else 2===t.length?A+=`one of type ${t[0]} or ${t[1]}.`:A+=`of type ${t[0]}.`;if(null==e)A+=` Received ${e}`;else if("function"==typeof e&&e.name)A+=` Received function ${e.name}`;else if("object"==typeof e&&null!=e){var i;null!==(i=e.constructor)&&void 0!==i&&i.name&&(A+=` Received an instance of ${e.constructor.name}`)}return A}to(ao,"code","ERR_JWS_SIGNATURE_VERIFICATION_FAILED");function ho(A,e,...t){return Eo(`Key for the ${A} algorithm must be `,e,...t)}function co(A){return"CryptoKey"===(null==A?void 0:A[Symbol.toStringTag])}function uo(A){return"KeyObject"===(null==A?void 0:A[Symbol.toStringTag])}var po=A=>co(A)||uo(A);var mo=A=>{if("object"!=typeof(e=A)||null===e||"[object Object]"!==Object.prototype.toString.call(A))return!1;var e;if(null===Object.getPrototypeOf(A))return!0;let t=A;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(A)===t};const fo=(A,e,t=0)=>{0===t&&(e.unshift(e.length),e.unshift(6));const i=A.indexOf(e[0],t);if(-1===i)return!1;const o=A.subarray(i,i+e.length);return o.length===e.length&&(o.every(((A,t)=>A===e[t]))||fo(A,e,i+1))},yo=async(A,e,t,i,o)=>{let n,r;const s=new Uint8Array(atob(t.replace(A,"")).split("").map((A=>A.charCodeAt(0))));switch(i){case"PS256":case"PS384":case"PS512":n={name:"RSA-PSS",hash:`SHA-${i.slice(-3)}`},r=["verify"];break;case"RS256":case"RS384":case"RS512":n={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${i.slice(-3)}`},r=["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":n={name:"RSA-OAEP",hash:`SHA-${parseInt(i.slice(-3),10)||1}`},r=["encrypt","wrapKey"];break;case"ES256":n={name:"ECDSA",namedCurve:"P-256"},r=["verify"];break;case"ES384":n={name:"ECDSA",namedCurve:"P-384"},r=["verify"];break;case"ES512":n={name:"ECDSA",namedCurve:"P-521"},r=["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{const A=(A=>{switch(!0){case fo(A,[42,134,72,206,61,3,1,7]):return"P-256";case fo(A,[43,129,4,0,34]):return"P-384";case fo(A,[43,129,4,0,35]):return"P-521";default:return}})(s);n=null!=A&&A.startsWith("P-")?{name:"ECDH",namedCurve:A}:{name:"X25519"},r=[];break}case"Ed25519":case"EdDSA":n={name:"Ed25519"},r=["verify"];break;default:throw new so('Invalid or unsupported "alg" (Algorithm) value')}return crypto.subtle.importKey(e,s,n,!0,r)};var wo=async A=>{var e,t;if(!A.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');const{algorithm:i,keyUsages:o}=function(A){let e,t;switch(A.kty){case"RSA":switch(A.alg){case"PS256":case"PS384":case"PS512":e={name:"RSA-PSS",hash:`SHA-${A.alg.slice(-3)}`},t=A.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":e={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${A.alg.slice(-3)}`},t=A.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":e={name:"RSA-OAEP",hash:`SHA-${parseInt(A.alg.slice(-3),10)||1}`},t=A.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new so('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(A.alg){case"ES256":e={name:"ECDSA",namedCurve:"P-256"},t=A.d?["sign"]:["verify"];break;case"ES384":e={name:"ECDSA",namedCurve:"P-384"},t=A.d?["sign"]:["verify"];break;case"ES512":e={name:"ECDSA",namedCurve:"P-521"},t=A.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:"ECDH",namedCurve:A.crv},t=A.d?["deriveBits"]:[];break;default:throw new so('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(A.alg){case"Ed25519":case"EdDSA":e={name:"Ed25519"},t=A.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:A.crv},t=A.d?["deriveBits"]:[];break;default:throw new so('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new so('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:e,keyUsages:t}}(A),n={...A};return delete n.alg,delete n.use,crypto.subtle.importKey("jwk",n,i,null!==(e=A.ext)&&void 0!==e?e:!A.d,null!==(t=A.key_ops)&&void 0!==t?t:o)};async function Do(A,e,t){if(0!==A.indexOf("-----BEGIN PUBLIC KEY-----"))throw new TypeError('"spki" must be SPKI formatted string');return((A,e)=>yo(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",A,e))(A,e)}function So(A){return mo(A)&&"string"==typeof A.kty}let Fo;const Ro=async(A,e,t,i=!1)=>{Fo||(Fo=new WeakMap);let o=Fo.get(A);if(null!=o&&o[t])return o[t];const n=await wo({...e,alg:t});return i&&Object.freeze(A),o?o[t]=n:Fo.set(A,{[t]:n}),n};var ko=async(A,e)=>{if(A instanceof Uint8Array)return A;if(co(A))return A;if(uo(A)){if("secret"===A.type)return A.export();if("toCryptoKey"in A&&"function"==typeof A.toCryptoKey)try{return((A,e)=>{Fo||(Fo=new WeakMap);let t=Fo.get(A);if(null!=t&&t[e])return t[e];const i="public"===A.type,o=!!i;let n;if("x25519"===A.asymmetricKeyType){switch(e){case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":break;default:throw new TypeError("given KeyObject instance cannot be used for this algorithm")}n=A.toCryptoKey(A.asymmetricKeyType,o,i?[]:["deriveBits"])}if("ed25519"===A.asymmetricKeyType){if("EdDSA"!==e&&"Ed25519"!==e)throw new TypeError("given KeyObject instance cannot be used for this algorithm");n=A.toCryptoKey(A.asymmetricKeyType,o,[i?"verify":"sign"])}if("rsa"===A.asymmetricKeyType){let t;switch(e){case"RSA-OAEP":t="SHA-1";break;case"RS256":case"PS256":case"RSA-OAEP-256":t="SHA-256";break;case"RS384":case"PS384":case"RSA-OAEP-384":t="SHA-384";break;case"RS512":case"PS512":case"RSA-OAEP-512":t="SHA-512";break;default:throw new TypeError("given KeyObject instance cannot be used for this algorithm")}if(e.startsWith("RSA-OAEP"))return A.toCryptoKey({name:"RSA-OAEP",hash:t},o,i?["encrypt"]:["decrypt"]);n=A.toCryptoKey({name:e.startsWith("PS")?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:t},o,[i?"verify":"sign"])}if("ec"===A.asymmetricKeyType){var r;const t=new Map([["prime256v1","P-256"],["secp384r1","P-384"],["secp521r1","P-521"]]).get(null===(r=A.asymmetricKeyDetails)||void 0===r?void 0:r.namedCurve);if(!t)throw new TypeError("given KeyObject instance cannot be used for this algorithm");"ES256"===e&&"P-256"===t&&(n=A.toCryptoKey({name:"ECDSA",namedCurve:t},o,[i?"verify":"sign"])),"ES384"===e&&"P-384"===t&&(n=A.toCryptoKey({name:"ECDSA",namedCurve:t},o,[i?"verify":"sign"])),"ES512"===e&&"P-521"===t&&(n=A.toCryptoKey({name:"ECDSA",namedCurve:t},o,[i?"verify":"sign"])),e.startsWith("ECDH-ES")&&(n=A.toCryptoKey({name:"ECDH",namedCurve:t},o,i?[]:["deriveBits"]))}if(!n)throw new TypeError("given KeyObject instance cannot be used for this algorithm");return t?t[e]=n:Fo.set(A,{[e]:n}),n})(A,e)}catch(A){if(A instanceof TypeError)throw A}let t=A.export({format:"jwk"});return Ro(A,t,e)}if(So(A))return A.k?eo(A.k):Ro(A,A,e,!0);throw new Error("unreachable")};const bo=A=>null==A?void 0:A[Symbol.toStringTag],Uo=(A,e,t)=>{if(void 0!==e.use){let A;switch(t){case"sign":case"verify":A="sig";break;case"encrypt":case"decrypt":A="enc"}if(e.use!==A)throw new TypeError(`Invalid key for this operation, its "use" must be "${A}" when present`)}if(void 0!==e.alg&&e.alg!==A)throw new TypeError(`Invalid key for this operation, its "alg" must be "${A}" when present`);if(Array.isArray(e.key_ops)){var i,o;let n;switch(!0){case"verify"===t:case"dir"===A:case A.includes("CBC-HS"):n=t;break;case A.startsWith("PBES2"):n="deriveBits";break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(A):n=!A.includes("GCM")&&A.endsWith("KW")?"unwrapKey":t;break;case"encrypt"===t:n="wrapKey";break;case"decrypt"===t:n=A.startsWith("RSA")?"unwrapKey":"deriveBits"}if(n&&!1===(null===(i=e.key_ops)||void 0===i||null===(o=i.includes)||void 0===o?void 0:o.call(i,n)))throw new TypeError(`Invalid key for this operation, its "key_ops" must include "${n}" when present`)}return!0};var No=(A,e,t)=>{A.startsWith("HS")||"dir"===A||A.startsWith("PBES2")||/^A(?:128|192|256)(?:GCM)?(?:KW)?$/.test(A)||/^A(?:128|192|256)CBC-HS(?:256|384|512)$/.test(A)?((A,e,t)=>{if(!(e instanceof Uint8Array)){if(So(e)){if(function(A){return"oct"===A.kty&&"string"==typeof A.k}(e)&&Uo(A,e,t))return;throw new TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!po(e))throw new TypeError(ho(A,e,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"));if("secret"!==e.type)throw new TypeError(`${bo(e)} instances for symmetric algorithms must be of type "secret"`)}})(A,e,t):((A,e,t)=>{if(So(e))switch(t){case"decrypt":case"sign":if(function(A){return"oct"!==A.kty&&"string"==typeof A.d}(e)&&Uo(A,e,t))return;throw new TypeError("JSON Web Key for this operation be a private JWK");case"encrypt":case"verify":if(function(A){return"oct"!==A.kty&&void 0===A.d}(e)&&Uo(A,e,t))return;throw new TypeError("JSON Web Key for this operation be a public JWK")}if(!po(e))throw new TypeError(ho(A,e,"CryptoKey","KeyObject","JSON Web Key"));if("secret"===e.type)throw new TypeError(`${bo(e)} instances for asymmetric algorithms must not be of type "secret"`);if("public"===e.type)switch(t){case"sign":throw new TypeError(`${bo(e)} instances for asymmetric algorithm signing must be of type "private"`);case"decrypt":throw new TypeError(`${bo(e)} instances for asymmetric algorithm decryption must be of type "private"`)}if("private"===e.type)switch(t){case"verify":throw new TypeError(`${bo(e)} instances for asymmetric algorithm verifying must be of type "public"`);case"encrypt":throw new TypeError(`${bo(e)} instances for asymmetric algorithm encryption must be of type "public"`)}})(A,e,t)},Yo=async(A,e,t)=>{if(e instanceof Uint8Array){if(!A.startsWith("HS"))throw new TypeError(((A,...e)=>Eo("Key must be ",A,...e))(e,"CryptoKey","KeyObject","JSON Web Key"));return crypto.subtle.importKey("raw",e,{hash:`SHA-${A.slice(-3)}`,name:"HMAC"},!1,[t])}return Qo(e,A,t),e},Jo=async(A,e,t,i)=>{const o=await Yo(A,e,"verify");((A,e)=>{if(A.startsWith("RS")||A.startsWith("PS")){const{modulusLength:t}=e.algorithm;if("number"!=typeof t||t<2048)throw new TypeError(`${A} requires key modulusLength to be 2048 bits or larger`)}})(A,o);const n=((A,e)=>{const t=`SHA-${A.slice(-3)}`;switch(A){case"HS256":case"HS384":case"HS512":return{hash:t,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:t,name:"RSA-PSS",saltLength:parseInt(A.slice(-3),10)>>3};case"RS256":case"RS384":case"RS512":return{hash:t,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:t,name:"ECDSA",namedCurve:e.namedCurve};case"Ed25519":case"EdDSA":return{name:"Ed25519"};default:throw new so(`alg ${A} is not supported either by JOSE or your javascript runtime`)}})(A,o.algorithm);try{return await crypto.subtle.verify(n,o,t,i)}catch(A){return!1}};async function Go(A,e,t){var i;if(!mo(A))throw new go("Flattened JWS must be an object");if(void 0===A.protected&&void 0===A.header)throw new go('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==A.protected&&"string"!=typeof A.protected)throw new go("JWS Protected Header incorrect type");if(void 0===A.payload)throw new go("JWS Payload missing");if("string"!=typeof A.signature)throw new go("JWS Signature missing or incorrect type");if(void 0!==A.header&&!mo(A.header))throw new go("JWS Unprotected Header incorrect type");let o={};if(A.protected)try{const e=eo(A.protected);o=JSON.parse(Ao.decode(e))}catch(A){throw new go("JWS Protected Header is invalid")}if(!((...A)=>{const e=A.filter(Boolean);if(0===e.length||1===e.length)return!0;let t;for(const A of e){const e=Object.keys(A);if(t&&0!==t.size)for(const A of e){if(t.has(A))return!1;t.add(A)}else t=new Set(e)}return!0})(o,A.header))throw new go("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const n={...o,...A.header},r=((A,e,t,i,o)=>{if(void 0!==o.crit&&void 0===(null==i?void 0:i.crit))throw new A('"crit" (Critical) Header Parameter MUST be integrity protected');if(!i||void 0===i.crit)return new Set;if(!Array.isArray(i.crit)||0===i.crit.length||i.crit.some((A=>"string"!=typeof A||0===A.length)))throw new A('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let n;n=void 0!==t?new Map([...Object.entries(t),...e.entries()]):e;for(const e of i.crit){if(!n.has(e))throw new so(`Extension Header Parameter "${e}" is not recognized`);if(void 0===o[e])throw new A(`Extension Header Parameter "${e}" is missing`);if(n.get(e)&&void 0===i[e])throw new A(`Extension Header Parameter "${e}" MUST be integrity protected`)}return new Set(i.crit)})(go,new Map([["b64",!0]]),null==t?void 0:t.crit,o,n);let s=!0;if(r.has("b64")&&(s=o.b64,"boolean"!=typeof s))throw new go('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:g}=n;if("string"!=typeof g||!g)throw new go('JWS "alg" (Algorithm) Header Parameter missing or invalid');const I=t&&((A,e)=>{if(void 0!==e&&(!Array.isArray(e)||e.some((A=>"string"!=typeof A))))throw new TypeError(`"${A}" option must be an array of strings`);if(e)return new Set(e)})("algorithms",t.algorithms);if(I&&!I.has(g))throw new ro('"alg" (Algorithm) Header Parameter value not allowed');if(s){if("string"!=typeof A.payload)throw new go("JWS Payload must be a string")}else if("string"!=typeof A.payload&&!(A.payload instanceof Uint8Array))throw new go("JWS Payload must be a string or an Uint8Array instance");let a=!1;"function"==typeof e&&(e=await e(o,A),a=!0),No(g,e,"verify");const B=function(...A){const e=A.reduce(((A,{length:e})=>A+e),0),t=new Uint8Array(e);let i=0;for(const e of A)t.set(e,i),i+=e.length;return t}($i.encode(null!==(i=A.protected)&&void 0!==i?i:""),$i.encode("."),"string"==typeof A.payload?$i.encode(A.payload):A.payload);let C;try{C=eo(A.signature)}catch(A){throw new go("Failed to base64url decode the signature")}const l=await ko(e,g);if(!await Jo(g,l,C,B))throw new ao;let Q;if(s)try{Q=eo(A.payload)}catch(A){throw new go("Failed to base64url decode the payload")}else Q="string"==typeof A.payload?$i.encode(A.payload):A.payload;const E={payload:Q};return void 0!==A.protected&&(E.protectedHeader=o),void 0!==A.header&&(E.unprotectedHeader=A.header),a?{...E,key:l}:E}const Vo=86400,Zo=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;var Oo=A=>{const e=Zo.exec(A);if(!e||e[4]&&e[1])throw new TypeError("Invalid time period format");const t=parseFloat(e[2]);let i;switch(e[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":i=Math.round(t);break;case"minute":case"minutes":case"min":case"mins":case"m":i=Math.round(60*t);break;case"hour":case"hours":case"hr":case"hrs":case"h":i=Math.round(3600*t);break;case"day":case"days":case"d":i=Math.round(t*Vo);break;case"week":case"weeks":case"w":i=Math.round(604800*t);break;default:i=Math.round(31557600*t)}return"-"===e[1]||"ago"===e[4]?-i:i};const Wo=A=>A.toLowerCase().replace(/^application\//,"");function Mo(A,e,t={}){let i;try{i=JSON.parse(Ao.decode(e))}catch(A){}if(!mo(i))throw new Io("JWT Claims Set must be a top-level JSON object");const{typ:o}=t;if(o&&("string"!=typeof A.typ||Wo(A.typ)!==Wo(o)))throw new oo('unexpected "typ" JWT header value',i,"typ","check_failed");const{requiredClaims:n=[],issuer:r,subject:s,audience:g,maxTokenAge:I}=t,a=[...n];void 0!==I&&a.push("iat"),void 0!==g&&a.push("aud"),void 0!==s&&a.push("sub"),void 0!==r&&a.push("iss");for(const A of new Set(a.reverse()))if(!(A in i))throw new oo(`missing required "${A}" claim`,i,A,"missing");if(r&&!(Array.isArray(r)?r:[r]).includes(i.iss))throw new oo('unexpected "iss" claim value',i,"iss","check_failed");if(s&&i.sub!==s)throw new oo('unexpected "sub" claim value',i,"sub","check_failed");if(g&&(B=i.aud,C="string"==typeof g?[g]:g,!("string"==typeof B?C.includes(B):Array.isArray(B)&&C.some(Set.prototype.has.bind(new Set(B))))))throw new oo('unexpected "aud" claim value',i,"aud","check_failed");var B,C;let l;switch(typeof t.clockTolerance){case"string":l=Oo(t.clockTolerance);break;case"number":l=t.clockTolerance;break;case"undefined":l=0;break;default:throw new TypeError("Invalid clockTolerance option type")}const{currentDate:Q}=t,E=(h=Q||new Date,Math.floor(h.getTime()/1e3));var h;if((void 0!==i.iat||I)&&"number"!=typeof i.iat)throw new oo('"iat" claim must be a number',i,"iat","invalid");if(void 0!==i.nbf){if("number"!=typeof i.nbf)throw new oo('"nbf" claim must be a number',i,"nbf","invalid");if(i.nbf>E+l)throw new oo('"nbf" claim timestamp check failed',i,"nbf","check_failed")}if(void 0!==i.exp){if("number"!=typeof i.exp)throw new oo('"exp" claim must be a number',i,"exp","invalid");if(i.exp<=E-l)throw new no('"exp" claim timestamp check failed',i,"exp","check_failed")}if(I){const A=E-i.iat;if(A-l>("number"==typeof I?I:Oo(I)))throw new no('"iat" claim timestamp check failed (too far in the past)',i,"iat","check_failed");if(A<0-l)throw new oo('"iat" claim timestamp check failed (it should be in the past)',i,"iat","check_failed")}return i}async function Ho(A,e,t){var i;const o=await async function(A,e,t){if(A instanceof Uint8Array&&(A=Ao.decode(A)),"string"!=typeof A)throw new go("Compact JWS must be a string or Uint8Array");const{0:i,1:o,2:n,length:r}=A.split(".");if(3!==r)throw new go("Invalid Compact JWS");const s=await Go({payload:o,protected:i,signature:n},e,t),g={payload:s.payload,protectedHeader:s.protectedHeader};return"function"==typeof e?{...g,key:s.key}:g}(A,e,t);if(null!==(i=o.protectedHeader.crit)&&void 0!==i&&i.includes("b64")&&!1===o.protectedHeader.b64)throw new Io("JWTs MUST NOT use unencoded payload");const n={payload:Mo(o.protectedHeader,o.payload,t),protectedHeader:o.protectedHeader};return"function"==typeof e?{...n,key:o.key}:n}const To="QRCodeJsLicense",Xo=m(["ol","ac","hl","so","t"].reverse().join("")),xo=m(["ol","ac","it","no"].reverse().join("")),Lo=m(["oh","ts","an","em"].reverse().join(""));class Ko{constructor(){this._hls=!1,this._decodedToken=null,this._licenseKey=null,this._isInitialized=!1,this._initPromise=null,this._licenseFetcher=async A=>{const e=Ko._customLicenseApiUrl||`${Ii}//v1/license/get-token`;try{const i=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({licenseKey:A})});if(!i.ok){var t;let A={};try{A=await i.json()}catch(A){}throw new Error(`Failed to fetch token: ${i.status} ${(null===(t=A)||void 0===t?void 0:t.error)||i.statusText}`)}const o=await i.text();if(!o)throw new Error("Fetched token is empty.");return o}catch(A){throw console.error(`LicenseManager: Default fetcher failed: ${A.message}`),new Error(`License fetcher failed: ${A.message}`)}}}static get instance(){return Ko._instance||(Ko._instance=new Ko),Ko._instance}static setDefaultLicenseApiUrl(A){"string"==typeof A&&A?Ko._customLicenseApiUrl=A:console.warn("LicenseManager: Invalid URL provided to setDefaultLicenseApiUrl.")}get hls(){return this._hls}get isInitialized(){return this._isInitialized}getLicenseDetails(){return this._hls?this._decodedToken:null}get licenseKey(){return this._licenseKey}configureLicenseFetcher(A){if("function"!=typeof A)throw new Error("License fetcher must be a function that accepts a license key string and returns a Promise<string>.");this._licenseFetcher=A,this.resetInitialization(),this.resetLicenseState()}async initialize(){return this._isInitialized&&this._initPromise||this._initPromise||(this._initPromise=this._performInitialization()),this._initPromise}async _performInitialization(){if(this._hls)return this._isInitialized=!0,!0;this.resetLicenseState();const A=this._getStoredLicenseData(),e=A.token||null,t=A.key||null;if(this._licenseKey=t,!e)return this._isInitialized=!0,!1;const i=await this._validateAndStoreToken(e,t);if(i.isValid)return this._hls=!0,this._decodedToken=i.license,this._isInitialized=!0,!0;if(i.reason||console.warn("LicenseManager: Stored license token failed validation during initialization (unknown reason)."),!t)return console.warn("LicenseManager: Cannot refresh token: No license key found in storage."),this._isInitialized=!0,!1;console.warn("LicenseManager: Attempting to refresh token using stored license key...");try{const A=await this.activateWithKey(t);return this._isInitialized=!0,A.isValid}catch(A){return console.error(`LicenseManager: Auto-refresh attempt failed unexpectedly: ${A.message}`),this._licenseKey=t,this._isInitialized=!0,!1}}resetInitialization(){this._isInitialized=!1,this._initPromise=null}resetLicenseState(){this._hls=!1,this._decodedToken=null,this._licenseKey=null}async activateWithToken(A){let e;return this.resetInitialization(),null===A?(e=await this._validateAndStoreToken(null,this._licenseKey),this._hls=!1,this._decodedToken=null):"string"==typeof A&&A?(e=await this._validateAndStoreToken(A,null),this._hls=e.isValid,this._decodedToken=e.license,e.isValid?this._licenseKey=this._getStoredLicenseData().key||null:this._licenseKey=null):(console.warn("Invalid token string provided to activateWithToken()."),e=await this._validateAndStoreToken(null,null),e.reason="TOKEN_INVALID",this._hls=!1,this._decodedToken=null,this._licenseKey=null),this._isInitialized=!0,this._initPromise=Promise.resolve(this._hls),!e.isValid&&e.reason&&this._logValidationWarning(e.reason,{token:A,license:e.license}),e}async activateWithKey(A){this.resetInitialization();let e={isValid:!1,token:null,license:null};if(A&&"string"==typeof A){this._licenseKey=A;let o=null,n=null;const r=this._getStoredLicenseData();if(o=r.token||null,n=r.key||null,o&&n===A?(e=await this._validateAndStoreToken(o,A),e.isValid||(e.reason?this._logValidationWarning(e.reason,{licenseKey:A,license:e.license}):console.warn("LicenseManager: Cached token validation failed (unknown reason). Attempting to fetch a new token..."))):(e={isValid:!1,token:null,license:null},o&&n!==A&&console.warn("LicenseManager: Cached token belongs to a different license key. Fetching new token...")),!e.isValid)try{const t=await this._licenseFetcher(A);e=await this._validateAndStoreToken(t,A)}catch(o){var t,i;let n="FETCH_FAILED";null!=o&&null!==(t=o.message)&&void 0!==t&&t.includes("Invalid license key")?n="KEY_INVALID":null!=o&&null!==(i=o.message)&&void 0!==i&&i.includes("License has expired")&&(n="TOKEN_EXPIRED"),await this._validateAndStoreToken(null,A),e={isValid:!1,token:null,license:null,reason:n}}this._hls=e.isValid,this._decodedToken=e.license}else console.warn("Invalid license key provided to activateWithKey()."),await this._validateAndStoreToken(null,null),e={isValid:!1,token:null,license:null,reason:"KEY_INVALID"},this._hls=!1,this._decodedToken=null,this._licenseKey=null;return this._isInitialized=!0,this._initPromise=Promise.resolve(this._hls),!e.isValid&&e.reason&&this._logValidationWarning(e.reason,{licenseKey:A,license:e.license}),e}_checkDomain(A){const e=window[xo],t=window[xo][Lo];if(Ko._currentHostname=t,!e||"string"!=typeof t||!t)return{domainValid:!0};const i=Ko._currentHostname.toLowerCase();if(i===Xo)return{domainValid:!0};const o=A.domains;if(!o||0===o.length)return{domainValid:!0};const n=o.map((A=>A.toLowerCase()));if(n.includes(i))return{domainValid:!0};for(const A of n)if(i.endsWith("."+A))return{domainValid:!0};return{domainValid:!1,reason:"DOMAIN_MISMATCH"}}_logValidationWarning(A,e){var t,i,o;let n=`LicenseManager: Validation failed. Reason: ${A}`;try{switch(A){case"DOMAIN_MISMATCH":const A=null!==(t=Ko._currentHostname)&&void 0!==t?t:"N/A";n=`LicenseManager: Domain mismatch. License is restricted to [${(null==e||null===(i=e.license)||void 0===i||null===(i=i.domains)||void 0===i?void 0:i.join(", "))||"Not specified in token"}], but the current domain is "${A}".`;break;case"TOKEN_EXPIRED":n=`LicenseManager: License token expired on ${null!=e&&null!==(o=e.license)&&void 0!==o&&o.exp?new Date(1e3*e.license.exp).toISOString():"N/A"}.`;break;case"TOKEN_INVALID":n="LicenseManager: License token is invalid (e.g., signature mismatch, malformed).";break;case"FETCH_FAILED":n="LicenseManager: Failed to fetch license token from the server. Check network or API endpoint.",null!=e&&e.licenseKey&&(n+=` (Key: ${e.licenseKey})`);break;case"KEY_INVALID":n="LicenseManager: The provided license key appears invalid or could not be found by the server.",null!=e&&e.licenseKey&&(n+=` (Key: ${e.licenseKey})`)}}catch(A){console.error("LicenseManager: Error generating validation warning message:",A)}console.warn(n)}_getStoredLicenseData(){if("undefined"==typeof localStorage)return{};try{const A=localStorage.getItem(To);return A?JSON.parse(A):{}}catch(A){return console.warn("LicenseManager: Failed to parse license data from localStorage.",A),localStorage.removeItem(To),{}}}_setStoredLicenseData(A){if("undefined"!=typeof localStorage)try{const e={};void 0!==A.token&&(e.token=A.token),void 0!==A.key&&(e.key=A.key),Object.keys(e).length>0?localStorage.setItem(To,JSON.stringify(e)):localStorage.removeItem(To)}catch(A){console.warn("LicenseManager: Failed to store license data to localStorage.",A)}}async _validateAndStoreToken(A,e){var t;const i=this._getStoredLicenseData(),o=null!==(t=null!=e?e:i.key)&&void 0!==t?t:void 0;if(!A)return this._setStoredLicenseData({key:o}),{isValid:!1,token:null,license:null};let n,r=null;try{r=await async function(A){try{const e=await Do("-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ZCmxp1vq4LJLviS9d2u\nY5V9IykLzCrNcj8fCenqEyir5b4+FGE3hvLqp9zT+IYRF2cV2K0aGe9G0COFZsX2\nE5ye1DguyvPQgRMPO8y7bxXJ3da1IP7Gs+/3gy4iuzRV4Uhy73jUVpqE/zZ2JAv/\nsY36Rxmq4h7YE/F6YQk3DeZvnHjS7spUlp/+d3W67G8v2jiYWy3pO08Sn0rF2cjg\nXrJA5jcNr7ksER7AQcwayaLT4rAV4+EOcDYXL2egnqoTEmRzQYD2ReHBsO6jB0Ud\nbmsNepxbBdq/fBr+5HNj2tUJItarfH3BUVRFu/L1xP8wOEQa8wmPRwrJdPsI3bdk\n7QIDAQAB\n-----END PUBLIC KEY-----","RS256"),{payload:t}=await Ho(A,e,{algorithms:["RS256"]});if(!t||"string"!=typeof t.sub)throw new io("Decoded token payload structure is invalid.");return t}catch(A){throw A}}(A);try{const e=this._checkDomain(r);if(!e.domainValid)return n=e.reason,i.token===A&&this._setStoredLicenseData({key:o}),{isValid:!1,token:null,license:r,reason:n}}catch(e){return console.error("LicenseManager: Internal error during domain check.",e),n="TOKEN_INVALID",i.token===A&&this._setStoredLicenseData({key:o}),{isValid:!1,token:null,license:r,reason:n}}return this._setStoredLicenseData({token:A,key:o}),{isValid:!0,token:A,license:r}}catch(e){return e instanceof no?n="TOKEN_EXPIRED":(n="TOKEN_INVALID",console.error("LicenseManager: Token validation failed.",e)),i.token===A&&this._setStoredLicenseData({key:o}),{isValid:!1,token:null,license:r,reason:n}}}}Ko._instance=null,Ko._customLicenseApiUrl=null,Ko._currentHostname=null;class qo extends _i{constructor(A,e=!1){super(A),e||(Ko.instance.isInitialized||Ko.instance.hls?Ko.instance.isInitialized&&!Ko.instance.hls&&console.warn("QRCode.js: No valid license found. Some features may be limited."):console.warn("QRCode.js: License state not yet initialized. Call QRCodeJs.initializeIfNeeded() or activate a license."))}_hls(){return Ko.instance.isInitialized?Ko.instance.hls:(Ko.instance.initialize().catch((A=>{console.error("QRCode.js: Background license initialization failed:",A)})),!1)}static async initializeIfNeeded(){return Ko.instance.initialize()}static get hls(){return Ko.instance.isInitialized?Ko.instance.hls:(Ko.instance.initialize().catch((A=>{console.error("QRCode.js: Background license initialization failed:",A)})),!1)}static getLicenseDetails(){return Ko.instance.isInitialized?Ko.instance.getLicenseDetails():(Ko.instance.initialize().catch((A=>{console.error("QRCode.js: Background license initialization failed:",A)})),null)}static configureLicenseFetcher(A){Ko.instance.configureLicenseFetcher(A)}static async token(A){return Ko.instance.activateWithToken(A)}static setLicenseUrl(A){return Ko.setDefaultLicenseApiUrl(A),this}static async license(A){return Ko.instance.activateWithKey(A)}async validateScanning(A="zbar",e=!1){if(!this._hls())return console.warn("QRCode.js: Scanning validation requires a valid license."),Promise.reject({isValid:!1,message:"Valid license required for scanning validation."});try{const{default:A}=await Promise.resolve().then((function(){return Rn})),t=await this.serialize(),i=this.size;if(!i)throw new Error("QR code dimensions not available for validation. Ensure the QR code has been generated.");const{width:o,height:n}=i,r=await(new A).validate(t,(async()=>this.serialize(!0)),o,n,e);if(r.isValid)return r;{console.debug("Zbar validation failed, trying Zxing...");const{default:A}=await Promise.resolve().then((function(){return vr}));return(new A).validate(t,(async()=>this.serialize(!0)),e)}}catch(A){const e=A instanceof Error?A.message:"Unknown validation error";return console.error(`Validation failed: ${e}`,A),Promise.reject({isValid:!1,message:e})}}static useTemplate(A){return new vo(this,A)}static useTemplateId(A){return new vo(this).useTemplateId(A)}static useStyle(A){return new vo(this).useStyle(A)}static useStyleId(A){return new vo(this).useStyleId(A)}static useBorder(A){return new vo(this).useBorder(A)}static useBorderId(A){return new vo(this).useBorderId(A)}static useImage(A,e){return new vo(this).useImage(A,e)}static useText(A,e){return new vo(this).useText(A,e)}static useTextId(A,e){return new vo(this).useTextId(A,e)}static useData(A,e){return new vo(this).useData(A,e)}static useOptions(A,e){return new vo(this).useOptions(A,e)}static useSettings(A){return new vo(this).useSettings(A)}}class jo extends qo{_hls(){return!0}constructor(A){super(A,!0)}}class vo{constructor(A,e){this._templateSource=null,this._borderSource=null,this._styleSource=null,this._imageSource=null,this._imageOverride=!1,this._textSource=null,this._textOverride=!1,this._isTemplateById=!1,this._isBorderById=!1,this._isStyleById=!1,this._isTextById=!1,this._optionsSource=null,this._optionsOverride=!1,this._dataSource=null,this._dataOverride=!1,this._idSource=null,this._nameSource=null,this._descriptionSource=null,this._metadataSource=null,this._initialOptions=null,this._qrCodeConstructor=A,"string"==typeof e?(this._templateSource=e,this._isTemplateById=!1):e&&(this._initialOptions=e)}useTemplate(A){return this._templateSource=A,this._isTemplateById=!1,this._initialOptions=null,this}useTemplateId(A){return this._templateSource=A,this._isTemplateById=!0,this._initialOptions=null,this}useStyle(A){return this._styleSource=A,this._isStyleById=!1,this}useStyleId(A){return this._styleSource=A,this._isStyleById=!0,this}useBorder(A){return this._borderSource=A,this._isBorderById=!1,this}useBorderId(A){return this._borderSource=A,this._isBorderById=!0,this}useImage(A,e){return this._imageSource=A,this._imageOverride=!(null==e||!e.override),this}useData(A,e){return this._dataSource=A,this._dataOverride=!(null==e||!e.override),this}useText(A,e){return this._textSource=A,this._isTextById=!1,this._textOverride=!(null==e||!e.override),this._initialOptions=null,this}useTextId(A,e){return this._textSource=A,this._isTextById=!0,this._textOverride=!(null==e||!e.override),this._initialOptions=null,this}useOptions(A,e){return this._optionsSource=A,this._optionsOverride=!(null==e||!e.override),this._initialOptions=null,this}useId(A){return this._idSource=A,this._initialOptions=null,this}useName(A){return this._nameSource=A,this._initialOptions=null,this}useDescription(A){return this._descriptionSource=A,this._initialOptions=null,this}useMetadata(A){return this._metadataSource=A,this._initialOptions=null,this}useSettings(A){return this._initialOptions=null,void 0!==A.id&&(this._idSource=A.id),void 0!==A.name&&(this._nameSource=A.name),void 0!==A.description&&(this._descriptionSource=A.description),void 0!==A.metadata&&(this._metadataSource=A.metadata),A.templateId?(this._templateSource=A.templateId,this._isTemplateById=!0):A.template&&(this._templateSource=A.template,this._isTemplateById=!1),A.borderId?(this._borderSource=A.borderId,this._isBorderById=!0):A.border&&(A.border,this._borderSource=A.border,this._isBorderById=!1),this._textOverride||(A.textId?(this._textSource=A.textId,this._isTextById=!0):A.text&&(this._textSource=A.text,this._isTextById=!1)),A.style?(this._styleSource=A.style,this._isStyleById=!1):A.styleId&&(this._styleSource=A.styleId,this._isStyleById=!0),this._imageOverride||A.image&&(this._imageSource=A.image,this._imageOverride=!1),this._dataOverride||A.data&&(this._dataSource=A.data,this._dataOverride=!1),this._optionsOverride||A.options&&(this._optionsSource=A.options),this._initialOptions=null,this}_resolveAndMergeConfig(A={}){let e={};e=this._initialOptions?f({},this._initialOptions):f({},UA);let t=null;if(this._templateSource&&"string"==typeof this._templateSource){const A=(this._isTemplateById?zt:Pt)(this._templateSource);if(A)t=A.options;else{const A=this._isTemplateById?"ID":"name";console.warn(`QR Code template ${A} "${this._templateSource}" not found. Using base template.`)}}else this._templateSource&&"string"!=typeof this._templateSource&&(t=this._templateSource);t&&(e=f(e,t));let i=null;if(this._borderSource)if("string"==typeof this._borderSource){const A=(this._isBorderById?qi:Ki)(this._borderSource);if(A)i=A.options;else{const A=this._isBorderById?"ID":"name";console.warn(`QR Code border ${A} "${this._borderSource}" not found. Ignoring.`)}}else i={borderOptions:this._borderSource};i&&(e=f(e,i));let o=null;if(this._textSource&&!this._textOverride){let A=null;if("string"==typeof this._textSource){const e=(this._isTextById?Pi:vi)(this._textSource);if(e)A=e.options;else{const A=this._isTextById?"ID":"name";console.warn(`QR Code text template ${A} "${this._textSource}" not found. Ignoring.`)}}else A=this._textSource;if(A){o={borderOptions:{decorations:{}}};const e=o.borderOptions.decorations,t=null===A.value?void 0:A.value;void 0!==A.value&&(void 0===A.topValue&&(e.top={value:t}),void 0===A.bottomValue&&(e.bottom={value:t}),void 0===A.leftValue&&(e.left={value:t}),void 0===A.rightValue&&(e.right={value:t})),void 0!==A.topValue&&(e.top={value:null===A.topValue?void 0:A.topValue}),void 0!==A.leftValue&&(e.left={value:null===A.leftValue?void 0:A.leftValue}),void 0!==A.rightValue&&(e.right={value:null===A.rightValue?void 0:A.rightValue}),void 0!==A.bottomValue&&(e.bottom={value:null===A.bottomValue?void 0:A.bottomValue})}}o&&(e=f(e,o));let n=null;if(this._styleSource)if("string"==typeof this._styleSource){const A=(this._isStyleById?fi:mi)(this._styleSource);if(A)n=A.style;else{const A=this._isStyleById?"ID":"name";console.warn(`QR Code style ${A} "${this._styleSource}" not found. Ignoring.`)}}else{const{isValid:A,errors:e}=FA(this._styleSource);A?n=this._styleSource:console.warn("Invalid style options object provided:",e)}if(n){e=f(e,SA(n))}if(this._imageSource&&!this._imageOverride&&(e=f(e,{image:this._imageSource})),this._dataSource&&!this._dataOverride&&(e=f(e,{data:this._dataSource})),this._optionsSource&&!this._optionsOverride&&(e=f(e,this._optionsSource)),e=f(e,A),this._imageOverride&&this._imageSource&&(e=f(e,{image:this._imageSource})),this._textOverride&&this._textSource){const A={borderOptions:{decorations:{}}};let t=null;if("string"==typeof this._textSource){const A=(this._isTextById?Pi:vi)(this._textSource);A&&(t=A.options)}else t=this._textSource;if(t){const i=A.borderOptions.decorations,o=null===t.value?void 0:t.value;void 0!==t.value&&(void 0===t.topValue&&(i.top={value:o}),void 0===t.bottomValue&&(i.bottom={value:o}),void 0===t.leftValue&&(i.left={value:o}),void 0===t.rightValue&&(i.right={value:o})),void 0!==t.topValue&&(i.top={value:null===t.topValue?void 0:t.topValue}),void 0!==t.leftValue&&(i.left={value:null===t.leftValue?void 0:t.leftValue}),void 0!==t.rightValue&&(i.right={value:null===t.rightValue?void 0:t.rightValue}),void 0!==t.bottomValue&&(i.bottom={value:null===t.bottomValue?void 0:t.bottomValue}),e=f(e,A)}}return this._dataOverride&&this._dataSource&&(e=f(e,{data:this._dataSource})),this._optionsSource&&this._optionsOverride&&(e=f(e,this._optionsSource)),e}options(A){const e=this._resolveAndMergeConfig(A),t=new this._qrCodeConstructor(e);return null!==this._idSource&&t.setId(this._idSource),null!==this._nameSource&&t.setName(this._nameSource),null!==this._descriptionSource&&t.setDescription(this._descriptionSource),null!==this._metadataSource&&t.setMetadata(this._metadataSource),t}build(){const A=this._resolveAndMergeConfig(),e=new this._qrCodeConstructor(A);return null!==this._idSource&&e.setId(this._idSource),null!==this._nameSource&&e.setName(this._nameSource),null!==this._descriptionSource&&e.setDescription(this._descriptionSource),null!==this._metadataSource&&e.setMetadata(this._metadataSource),e}}function Po(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}"undefined"!=typeof window&&(window.QRCodeJs=qo,window.__=jo);var zo,_o={},$o={};var An,en,tn={};
|
|
2
2
|
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */function on(){return An||(An=1,tn.read=function(A,e,t,i,o){var n,r,s=8*o-i-1,g=(1<<s)-1,I=g>>1,a=-7,B=t?o-1:0,C=t?-1:1,l=A[e+B];for(B+=C,n=l&(1<<-a)-1,l>>=-a,a+=s;a>0;n=256*n+A[e+B],B+=C,a-=8);for(r=n&(1<<-a)-1,n>>=-a,a+=i;a>0;r=256*r+A[e+B],B+=C,a-=8);if(0===n)n=1-I;else{if(n===g)return r?NaN:1/0*(l?-1:1);r+=Math.pow(2,i),n-=I}return(l?-1:1)*r*Math.pow(2,n-i)},tn.write=function(A,e,t,i,o,n){var r,s,g,I=8*n-o-1,a=(1<<I)-1,B=a>>1,C=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,l=i?0:n-1,Q=i?1:-1,E=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,r=a):(r=Math.floor(Math.log(e)/Math.LN2),e*(g=Math.pow(2,-r))<1&&(r--,g*=2),(e+=r+B>=1?C/g:C*Math.pow(2,1-B))*g>=2&&(r++,g/=2),r+B>=a?(s=0,r=a):r+B>=1?(s=(e*g-1)*Math.pow(2,o),r+=B):(s=e*Math.pow(2,B-1)*Math.pow(2,o),r=0));o>=8;A[t+l]=255&s,l+=Q,s/=256,o-=8);for(r=r<<o|s,I+=o;I>0;A[t+l]=255&r,l+=Q,r/=256,I-=8);A[t+l-Q]|=128*E}),tn}
|
|
3
3
|
/*!
|
|
4
4
|
* The buffer module from node.js, for the browser.
|