@qr-platform/qr-code.js 0.20.2 → 0.20.3

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/node.js CHANGED
@@ -1 +1 @@
1
- import e from"@xmldom/xmldom";import{fileTypeFromBuffer as t}from"file-type";import o from"image-size";const r={width:500,height:500};class n{constructor(){this.buffer=[],this.length=0}getBuffer(){return this.buffer}getLengthInBits(){return this.length}toString(){let e="";for(let t=0;t<this.getLengthInBits();t+=1)e+=this.getBit(t)?"1":"0";return e}getBit(e){return 1==(this.buffer[~~(e/8)]>>>7-e%8&1)}put(e,t){for(let o=0;o<t;o+=1)this.putBit(1==(e>>>t-o-1&1))}putBit(e){this.length==8*this.buffer.length&&this.buffer.push(0),e&&(this.buffer[~~(this.length/8)]|=128>>>this.length%8),this.length+=1}}var i,s,a;!function(e){e[e.L=1]="L",e[e.M=0]="M",e[e.Q=3]="Q",e[e.H=2]="H"}(i||(i={}));class d{constructor(){throw new Error("error")}static glog(e){if(e<1)throw new Error("log("+e+")");return d.LOG_TABLE[e]}static gexp(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return d.EXP_TABLE[e]}}d.initialize=(()=>{d.EXP_TABLE=[],d.LOG_TABLE=[];for(let e=0;e<256;e+=1)d.EXP_TABLE.push(e<8?1<<e:d.EXP_TABLE[e-4]^d.EXP_TABLE[e-5]^d.EXP_TABLE[e-6]^d.EXP_TABLE[e-8]),d.LOG_TABLE.push(0);for(let e=0;e<255;e+=1)d.LOG_TABLE[d.EXP_TABLE[e]]=e})();class l{constructor(e,t=0){let o=0;for(;o<e.length&&0==e[o];)o+=1;this.num=[];const r=e.length-o;for(let t=0;t<r;t+=1)this.num.push(e[o+t]);for(let e=0;e<t;e+=1)this.num.push(0)}getAt(e){return this.num[e]}getLength(){return this.num.length}toString(){let e="";for(let t=0;t<this.getLength();t+=1)t>0&&(e+=","),e+=this.getAt(t);return e.toString()}toLogString(){let e="";for(let t=0;t<this.getLength();t+=1)t>0&&(e+=","),e+=d.glog(this.getAt(t));return e.toString()}multiply(e){const t=[],o=this.getLength()+e.getLength()-1;for(let e=0;e<o;e+=1)t.push(0);for(let o=0;o<this.getLength();o+=1)for(let r=0;r<e.getLength();r+=1)t[o+r]^=d.gexp(d.glog(this.getAt(o))+d.glog(e.getAt(r)));return new l(t)}mod(e){if(this.getLength()-e.getLength()<0)return this;const t=d.glog(this.getAt(0))-d.glog(e.getAt(0)),o=[];for(let e=0;e<this.getLength();e+=1)o.push(this.getAt(e));for(let r=0;r<e.getLength();r+=1)o[r]^=d.gexp(d.glog(e.getAt(r))+t);return new l(o).mod(e)}}!function(e){e[e.MODE_NUMBER=1]="MODE_NUMBER",e[e.MODE_ALPHA_NUM=2]="MODE_ALPHA_NUM",e[e.MODE_8BIT_BYTE=4]="MODE_8BIT_BYTE",e[e.MODE_KANJI=8]="MODE_KANJI"}(s||(s={}));class c{constructor(e,t){this.mode=e,this.data=t}getMode(){return this.mode}getData(){return this.data}getLengthInBits(e){if(1<=e&&e<10)switch(this.mode){case s.MODE_NUMBER:return 10;case s.MODE_ALPHA_NUM:return 9;case s.MODE_8BIT_BYTE:case s.MODE_KANJI:return 8;default:throw new Error("mode:"+this.mode)}else if(e<27)switch(this.mode){case s.MODE_NUMBER:return 12;case s.MODE_ALPHA_NUM:return 11;case s.MODE_8BIT_BYTE:return 16;case s.MODE_KANJI:return 10;default:throw new Error("mode:"+this.mode)}else{if(!(e<41))throw new Error("typeNumber:"+e);switch(this.mode){case s.MODE_NUMBER:return 14;case s.MODE_ALPHA_NUM:return 13;case s.MODE_8BIT_BYTE:return 16;case s.MODE_KANJI:return 12;default:throw new Error("mode:"+this.mode)}}}}class u extends c{constructor(e,t){super(s.MODE_8BIT_BYTE,e),this.stringToBytes=t}write(e){this.stringToBytes(this.getData()).forEach((t=>e.put(t,8)))}getLength(){return this.stringToBytes(this.getData()).length}}class h extends c{constructor(e){super(s.MODE_ALPHA_NUM,e)}write(e){const t=this.getData();let o=0;for(;o+1<t.length;)e.put(45*h.getCode(t.charAt(o))+h.getCode(t.charAt(o+1)),11),o+=2;o<t.length&&e.put(h.getCode(t.charAt(o)),6)}getLength(){return this.getData().length}static getCode(e){if("0"<=e&&e<="9")return e.charCodeAt(0)-"0".charCodeAt(0);if("A"<=e&&e<="Z")return e.charCodeAt(0)-"A".charCodeAt(0)+10;switch(e){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 :"+e)}}}class p extends c{constructor(e,t){super(s.MODE_KANJI,e),this.stringToBytes=t}write(e){const t=this.stringToBytes(this.getData());let o=0;for(;o+1<t.length;){let r=(255&t[o])<<8|255&t[o+1];if(33088<=r&&r<=40956)r-=33088;else{if(!(57408<=r&&r<=60351))throw new Error("illegal char at "+(o+1)+"/"+r);r-=49472}r=192*(r>>>8&255)+(255&r),e.put(r,13),o+=2}if(o<t.length)throw new Error("illegal char at "+(o+1))}getLength(){return this.stringToBytes(this.getData()).length/2}}class m extends c{constructor(e){super(s.MODE_NUMBER,e)}write(e){const t=this.getData();let o=0;for(;o+2<t.length;)e.put(m.strToNum(t.substring(o,o+3)),10),o+=3;o<t.length&&(t.length-o==1?e.put(m.strToNum(t.substring(o,o+1)),4):t.length-o==2&&e.put(m.strToNum(t.substring(o,o+2)),7))}getLength(){return this.getData().length}static strToNum(e){let t=0;for(let o=0;o<e.length;o+=1)t=10*t+m.chatToNum(e.charAt(o));return t}static chatToNum(e){if("0"<=e&&e<="9")return e.charCodeAt(0)-"0".charCodeAt(0);throw new Error("illegal char :"+e)}}!function(e){e[e.PATTERN000=0]="PATTERN000",e[e.PATTERN001=1]="PATTERN001",e[e.PATTERN010=2]="PATTERN010",e[e.PATTERN011=3]="PATTERN011",e[e.PATTERN100=4]="PATTERN100",e[e.PATTERN101=5]="PATTERN101",e[e.PATTERN110=6]="PATTERN110",e[e.PATTERN111=7]="PATTERN111"}(a||(a={}));class g{constructor(){throw new Error("error")}static getPatternPosition(e){return g.PATTERN_POSITION_TABLE[e-1]}static getMaxLength(e,t,o){const r=e-1;let n=0,a=0;switch(o){case i.L:n=0;break;case i.M:n=1;break;case i.Q:n=2;break;case i.H:n=3;break;default:throw new Error("e:"+o)}switch(t){case s.MODE_NUMBER:a=0;break;case s.MODE_ALPHA_NUM:a=1;break;case s.MODE_8BIT_BYTE:a=2;break;case s.MODE_KANJI:a=3;break;default:throw new Error("m:"+t)}return g.MAX_LENGTH[r][n][a]}static getErrorCorrectPolynomial(e){let t=new l([1]);for(let o=0;o<e;o+=1)t=t.multiply(new l([1,d.gexp(o)]));return t}static getMaskFunc(e){switch(e){case a.PATTERN000:return(e,t)=>(e+t)%2==0;case a.PATTERN001:return(e,t)=>e%2==0;case a.PATTERN010:return(e,t)=>t%3==0;case a.PATTERN011:return(e,t)=>(e+t)%3==0;case a.PATTERN100:return(e,t)=>(~~(e/2)+~~(t/3))%2==0;case a.PATTERN101:return(e,t)=>e*t%2+e*t%3==0;case a.PATTERN110:return(e,t)=>(e*t%2+e*t%3)%2==0;case a.PATTERN111:return(e,t)=>(e*t%3+(e+t)%2)%2==0;default:throw new Error("mask:"+e)}}static getLostPoint(e){const t=e.getModuleCount();let o=0;for(let r=0;r<t;r+=1)for(let n=0;n<t;n+=1){let i=0;const s=e.isDark(r,n);for(let o=-1;o<=1;o+=1)if(!(r+o<0||t<=r+o))for(let a=-1;a<=1;a+=1)n+a<0||t<=n+a||0==o&&0==a||s==e.isDark(r+o,n+a)&&(i+=1);i>5&&(o+=3+i-5)}for(let r=0;r<t-1;r+=1)for(let n=0;n<t-1;n+=1){let t=0;e.isDark(r,n)&&(t+=1),e.isDark(r+1,n)&&(t+=1),e.isDark(r,n+1)&&(t+=1),e.isDark(r+1,n+1)&&(t+=1),0!=t&&4!=t||(o+=3)}for(let r=0;r<t;r+=1)for(let n=0;n<t-6;n+=1)e.isDark(r,n)&&!e.isDark(r,n+1)&&e.isDark(r,n+2)&&e.isDark(r,n+3)&&e.isDark(r,n+4)&&!e.isDark(r,n+5)&&e.isDark(r,n+6)&&(o+=40);for(let r=0;r<t;r+=1)for(let n=0;n<t-6;n+=1)e.isDark(n,r)&&!e.isDark(n+1,r)&&e.isDark(n+2,r)&&e.isDark(n+3,r)&&e.isDark(n+4,r)&&!e.isDark(n+5,r)&&e.isDark(n+6,r)&&(o+=40);let r=0;for(let o=0;o<t;o+=1)for(let n=0;n<t;n+=1)e.isDark(n,o)&&(r+=1);return o+=10*(Math.abs(100*r/t/t-50)/5),o}static getBCHTypeInfo(e){let t=e<<10;for(;g.getBCHDigit(t)-g.getBCHDigit(g.G15)>=0;)t^=g.G15<<g.getBCHDigit(t)-g.getBCHDigit(g.G15);return(e<<10|t)^g.G15_MASK}static getBCHTypeNumber(e){let t=e<<12;for(;g.getBCHDigit(t)-g.getBCHDigit(g.G18)>=0;)t^=g.G18<<g.getBCHDigit(t)-g.getBCHDigit(g.G18);return e<<12|t}static getBCHDigit(e){let t=0;for(;0!=e;)t+=1,e>>>=1;return t}}g.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]],g.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]]],g.G15=1335,g.G18=7973,g.G15_MASK=21522;class f{constructor(e,t){this.totalCount=e,this.dataCount=t}getDataCount(){return this.dataCount}getTotalCount(){return this.totalCount}static getRSBlocks(e,t){const o=f.getRsBlockTable(e,t),r=o.length/3,n=[];for(let e=0;e<r;e+=1){const t=o[3*e+0],r=o[3*e+1],i=o[3*e+2];for(let e=0;e<t;e+=1)n.push(new f(r,i))}return n}static getRsBlockTable(e,t){switch(t){case i.L:return f.RS_BLOCK_TABLE[4*(e-1)+0];case i.M:return f.RS_BLOCK_TABLE[4*(e-1)+1];case i.Q:return f.RS_BLOCK_TABLE[4*(e-1)+2];case i.H:return f.RS_BLOCK_TABLE[4*(e-1)+3]}throw new Error("tn:"+e+"/ecl:"+t)}}f.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 b=Array(41).fill(0).map(((e,t)=>t));var y,O;!function(e){e.L="L",e.M="M",e.Q="Q",e.H="H"}(y||(y={})),function(e){e.numeric="numeric",e.alphanumeric="alphanumeric",e.byte="byte",e.kanji="kanji",e.unicode="unicode"}(O||(O={}));class C{constructor(e=0,t=y.L){this.modules=[],this.moduleCount=0,this.typeNumber=e,this.errorCorrectLevel=i[t],this.qrDataList=[]}getTypeNumber(){return this.typeNumber}setTypeNumber(e){this.typeNumber=e}getErrorCorrectLevel(){return this.errorCorrectLevel}setErrorCorrectLevel(e){this.errorCorrectLevel=e}clearData(){this.qrDataList=[]}addData(e,t=O.byte){if(e instanceof c)this.qrDataList.push(e);else{if("string"!=typeof e)throw new Error(typeof e);switch(t){case O.numeric:this.qrDataList.push(new m(e));break;case O.alphanumeric:this.qrDataList.push(new h(e));break;case O.byte:this.qrDataList.push(new u(e,C.stringToBytesFuncs.default));break;case O.unicode:this.qrDataList.push(new u(e,C.stringToBytesFuncs.UTF8));break;case O.kanji:this.qrDataList.push(new p(e,C.stringToBytesFuncs.SJIS));break;default:throw new Error("mode:"+t)}}}isDark(e,t){return!(!this.modules[e]||null==this.modules[e][t])&&this.modules[e][t]}getModuleCount(){return this.moduleCount}make(){if(this.typeNumber<1){let e=1;for(;e<40;e++){const t=f.getRSBlocks(e,this.errorCorrectLevel),o=new n;this.qrDataList.forEach((t=>{o.put(t.getMode(),4),o.put(t.getLength(),t.getLengthInBits(e)),t.write(o)}));const r=t.reduce(((e,t)=>e+t.getDataCount()),0);if(o.getLengthInBits()<=8*r)break}this.typeNumber=e}this.makeImpl(!1,this.getBestMaskPattern())}getBestMaskPattern(){let e=0,t=0;for(let o=0;o<8;o+=1){this.makeImpl(!0,o);const r=g.getLostPoint(this);(0==o||e>r)&&(e=r,t=o)}return t}makeImpl(e,t){this.moduleCount=4*this.typeNumber+17,this.modules=[];for(let e=0;e<this.moduleCount;e+=1){this.modules.push([]);for(let t=0;t<this.moduleCount;t+=1)this.modules[e].push(null)}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(e,t),this.typeNumber>=7&&this.setupTypeNumber(e);const o=C.createData(this.typeNumber,this.errorCorrectLevel,this.qrDataList);this.mapData(o,t)}mapData(e,t){let o=-1,r=this.moduleCount-1,n=7,i=0;const s=g.getMaskFunc(t);for(let t=this.moduleCount-1;t>0;t-=2)for(6==t&&(t-=1);;){for(let o=0;o<2;o+=1)if(null==this.modules[r][t-o]){let a=!1;i<e.length&&(a=1==(e[i]>>>n&1));s(r,t-o)&&(a=!a),this.modules[r][t-o]=a,n-=1,-1==n&&(i+=1,n=7)}if(r+=o,r<0||this.moduleCount<=r){r-=o,o=-o;break}}}setupPositionAdjustPattern(){const e=g.getPatternPosition(this.typeNumber);e.forEach((t=>{e.forEach((e=>{if(null==this.modules[t][e])for(let o=-2;o<=2;o+=1)for(let r=-2;r<=2;r+=1)this.modules[t+o][e+r]=-2==o||2==o||-2==r||2==r||0==o&&0==r}))}))}setupPositionProbePattern(e,t){for(let o=-1;o<=7;o+=1)for(let r=-1;r<=7;r+=1)e+o<=-1||this.moduleCount<=e+o||t+r<=-1||this.moduleCount<=t+r||(this.modules[e+o][t+r]=0<=o&&o<=6&&(0==r||6==r)||0<=r&&r<=6&&(0==o||6==o)||2<=o&&o<=4&&2<=r&&r<=4)}setupTimingPattern(){for(let e=8;e<this.moduleCount-8;e+=1)null==this.modules[e][6]&&(this.modules[e][6]=e%2==0);for(let e=8;e<this.moduleCount-8;e+=1)null==this.modules[6][e]&&(this.modules[6][e]=e%2==0)}setupTypeNumber(e){const t=g.getBCHTypeNumber(this.typeNumber);for(let o=0;o<18;o+=1)this.modules[~~(o/3)][o%3+this.moduleCount-8-3]=!e&&1==(t>>o&1);for(let o=0;o<18;o+=1)this.modules[o%3+this.moduleCount-8-3][~~(o/3)]=!e&&1==(t>>o&1)}setupTypeInfo(e,t){const o=this.errorCorrectLevel<<3|t,r=g.getBCHTypeInfo(o);for(let t=0;t<15;t+=1){const o=!e&&1==(r>>t&1);t<6?this.modules[t][8]=o:t<8?this.modules[t+1][8]=o:this.modules[this.moduleCount-15+t][8]=o}for(let t=0;t<15;t+=1){const o=!e&&1==(r>>t&1);t<8?this.modules[8][this.moduleCount-t-1]=o:t<9?this.modules[8][15-t-1+1]=o:this.modules[8][15-t-1]=o}this.modules[this.moduleCount-8][8]=!e}static createData(e,t,o){const r=f.getRSBlocks(e,t),i=new n;o.forEach((t=>{i.put(t.getMode(),4),i.put(t.getLength(),t.getLengthInBits(e)),t.write(i)}));const s=r.reduce(((e,t)=>e+t.getDataCount()),0);if(i.getLengthInBits()>8*s)throw new Error("code length overflow. ("+i.getLengthInBits()+">"+8*s+")");for(i.getLengthInBits()+4<=8*s&&i.put(0,4);i.getLengthInBits()%8!=0;)i.putBit(!1);for(;!(i.getLengthInBits()>=8*s||(i.put(C.PAD0,8),i.getLengthInBits()>=8*s));)i.put(C.PAD1,8);return C.createBytes(i,r)}static createBytes(e,t){let o=0,r=0,n=0;const i=new Array(t.length).map((e=>[])),s=new Array(t.length).map((e=>[]));function a(e){const t=[];for(let o=0;o<e;o+=1)t.push(0);return t}for(let d=0;d<t.length;d+=1){const c=t[d].getDataCount(),u=t[d].getTotalCount()-c;r=Math.max(r,c),n=Math.max(n,u),i[d]=a(c);for(let t=0;t<i[d].length;t+=1)i[d][t]=255&e.getBuffer()[t+o];o+=c;const h=g.getErrorCorrectPolynomial(u),p=new l(i[d],h.getLength()-1).mod(h);s[d]=a(h.getLength()-1);for(let e=0;e<s[d].length;e+=1){const t=e+p.getLength()-s[d].length;s[d][e]=t>=0?p.getAt(t):0}}const d=a(t.reduce(((e,t)=>e+t.getTotalCount()),0));let c=0;for(let e=0;e<r;e+=1)for(let o=0;o<t.length;o+=1)e<i[o].length&&(d[c]=i[o][e],c+=1);for(let e=0;e<n;e+=1)for(let o=0;o<t.length;o+=1)e<s[o].length&&(d[c]=s[o][e],c+=1);return d}}C.stringToBytesFuncs={default(e){const t=[];for(let o=0;o<e.length;o+=1){const r=e.charCodeAt(o);t.push(255&r)}return t}},C.PAD0=236,C.PAD1=17;const S=e=>!!e&&"object"==typeof e&&!Array.isArray(e);function k(e,t=!1){const o=e.split("").reverse().join("");return t?o.toLocaleUpperCase():o}function w(e,...t){if(!t.length)return e;const o=t.shift();return void 0!==o&&S(e)&&S(o)?(e={...e},Object.keys(o).forEach((t=>{const r=e[t],n=o[t];Array.isArray(r)&&Array.isArray(n)?e[t]=n:S(r)&&S(n)?e[t]=w({...r},n):e[t]=void 0===n?r:n})),w(e,...t)):e}k("rq",!0),k("-",!0),k("talp",!0),k("mrof",!0),k("a".repeat(6)+"#",!0);const v="top",A="bottom",T="left",q="right";const I=e=>"number"==typeof e?e:parseInt(e.replace("%",""),10),Z=(e,t="0%")=>e?e.endsWith("%")?e:e+"%":t,D="text",x="image",W=(e,t)=>!e?.decorations?.[t]?.disabled,V=e=>{if("string"==typeof e)return e;const{fontFace:t="Helvetica",fontSize:o=20,fontColor:r="#ffffff",letterSpacing:n=1,textTransform:i="uppercase",fontWeight:s="bold"}=e||{};return`font-weight: ${s}; text-transform: ${i}; font-size: ${o}px; font-family: ${t}; fill: ${r}; letter-spacing: ${n}px;`};const j=({document:e,position:t,rotate:o,flip:r,thickness:n,height:i,width:s,round:a,offset:d=0,curveAdjustment:l=0,curveRadius:c,outerBorderPadding:u=0,instanceId:h})=>{const p=Math.min(s,i),m=e.createElementNS("http://www.w3.org/2000/svg","path"),g=(e=>{if(e>=50)return 1;const t=[{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}],o=t.find((t=>e<=t.R))||t[0],r=t.find((t=>e>t.R))||t[t.length-1],{R:n,P:i}=o,{R:s,P:a}=r;return i+(e-n)/(s-n)*(a-i)})("string"==typeof a?I(a):a),f=void 0!==c?function(e){let t;return t="number"==typeof e?e:"string"==typeof e?(e.includes("%"),parseFloat(e)):0,t=Math.min(Math.max(t,0),50),.5+t/50*.5}(c):g,b=(p-n-2*u-10*l*2)/2*f,y=((e,t,o,r)=>{const n=o/2,i=r/2;let s="";return e&&(s+=`rotate(${e}, ${n}, ${i}) `),t&&(s+=`translate(${n}, ${i}) scale(1, -1) translate(${-n}, ${-i}) `),s.trim()})(o,r,s,i);m.setAttribute("id",`${t}-text-path-${h}`),m.setAttribute("transform",y);const{startX:O,startY:C,pathWidth:S}=((e,t,o,r,n={})=>{let i=t/2,s=t/2+r,a=e-t;return o&&(a-=2*o,i+=o,s+=o),i+=n.left||0,s+=n.top||0,{startX:i,startY:s,pathWidth:a}})(p,n,u,d);return m.setAttribute("d",((e,t,o,r)=>`\n M${e},${t+r}\n a${r},${r} 0 0 1 ${r},${-r}\n h${o-2*r}\n a${r},${r} 0 0 1 ${r},${r}\n `)(O,C,S,b)),m},R=({document:e,thickness:t,value:o,svg:r,position:n,height:i,width:s,round:a,style:d,offset:l=0,curveAdjustment:c=0,curveDisabled:u=!1,outerBorderPadding:h=0,curveRadius:p,instanceId:m,noBorderThickness:g,enabledBorders:f})=>{let b=0,y=!1;if(n===q?b=90:n===A?y=!u:n===T&&(b=270),u){const a=e.createElementNS("http://www.w3.org/2000/svg","text");let c=s/2,u=(i-Math.min(s,i)+t)/2+2*h+l-(i-s>0?0:(s-i)/2);if(n===A?u=i-2*h-t/2-l:n===v&&(u=2*h+t/2+l),n===v||n===A){let e=0;!f[T]&&f[q]?e=-(t-g)/2:f[T]&&!f[q]&&(e=(t-g)/2),c+=e}else if(n===T||n===q){let e=0;!f[v]&&f[A]?e=n===T?(t-g)/2:-(t-g)/2:f[v]&&!f[A]&&(e=n===T?-(t-g)/2:(t-g)/2),c+=e}let p="";0!==b&&(p+=`rotate(${b}, ${s/2}, ${i/2}) `),a.setAttribute("x",c.toString()),a.setAttribute("y",u.toString()),a.setAttribute("text-anchor","middle"),a.setAttribute("dominant-baseline","middle"),p&&a.setAttribute("transform",p.trim()),a.textContent=o;const m=V(d);a.setAttribute("style",m),r.appendChild(a)}else{let u=r.getElementsByTagName("defs")[0];u||(u=e.createElementNS("http://www.w3.org/2000/svg","defs"),r.appendChild(u));const O=j({document:e,position:n,rotate:b,flip:y,thickness:t,height:i,width:s,round:a,offset:l,curveAdjustment:c,outerBorderPadding:h,curveRadius:p,instanceId:m}),{x:C,y:S}=function(e,t,o,r){let n=0,i=0;const s=(t-o)/2;return r.left&&r.right&&r.top&&r.bottom?(n=0,i=0):"top"===e||"bottom"===e?!r.left&&r.right?n=-s:(r.left&&!r.right||r.left&&r.right)&&(n=s):"left"!==e&&"right"!==e||(!r.top&&r.bottom?r.left&&r.right?(n="left"===e?2*+s:0,i=-s):n="left"===e?+s:-s:r.top&&!r.bottom?r.left&&r.right?(n="left"===e?0:2*s,i=-s):n=0:r.top&&r.bottom?i=r.left&&r.right?2*+s:+s:(n=r.left&&r.right?2*+s:+s,i=r.left&&r.right?2*-s:-s)),{x:n,y:i}}(n,t,g,f);if(0!==C||0!==S){const e=`${O.getAttribute("transform")||""} translate(${C}, ${S})`.trim();O.setAttribute("transform",e)}u.appendChild(O),r.appendChild((({document:e,value:t,position:o,style:r,instanceId:n})=>{const i=e.createElementNS("http://www.w3.org/2000/svg","text"),s=e.createElementNS("http://www.w3.org/2000/svg","textPath");s.setAttribute("href",`#${o}-text-path-${n}`),s.setAttribute("text-anchor","middle"),s.setAttribute("startOffset","50%"),s.textContent=t,s.setAttribute("alignment-baseline","middle");const a=V(r);return i.setAttribute("style",a),i.appendChild(s),i})({document:e,position:n,value:o,style:d,instanceId:m}))}},M=({document:e,thickness:t,value:o,svg:r,position:n,height:i,width:s,offset:a=0,style:d})=>{const l=e.createElementNS("http://www.w3.org/2000/svg","image"),c=Math.min(s,i);let u=(s-c+t)/2,h=(i-c+t)/2+a;n===v?u+=(c-t)/2:n===q?(u+=c-t,h+=(c-t)/2):n===A?(u+=(c-t)/2,h+=c-t):n===T&&(h+=(c-t)/2),l.setAttribute("href",o||""),l.setAttribute("x",`${u}`),l.setAttribute("y",`${h}`),l.setAttribute("style",d?.toString()||""),r.appendChild(l)};var B,Y,J,G,X,E,F;function L(e){const t={...e};if(!t.colorStops||!t.colorStops.length)throw new Error("Field 'colorStops' is required in gradient");return t.rotation?t.rotation=Number(t.rotation):t.rotation=0,t.colorStops=t.colorStops.map((e=>({...e,offset:Number(e.offset)}))),t}function P(e){const t={...e};if(t.imageOptions={...t.imageOptions,imageSize:Math.min(1,Number(t.imageOptions?.imageSize))||1,margin:Number(t.imageOptions?.margin)||0,padding:Number(t.imageOptions?.padding)||0},t.imageOptions.mode==F.overlay&&(t.imageOptions.margin=0),t.dotsOptions={...t.dotsOptions},t.dotsOptions.gradient&&(t.dotsOptions.gradient=L(t.dotsOptions.gradient)),t.dotsOptions.size=Math.round(Math.max(0,t.dotsOptions.size)||10),t.cornersSquareOptions&&(t.cornersSquareOptions={...t.cornersSquareOptions},t.cornersSquareOptions.gradient&&(t.cornersSquareOptions.gradient=L(t.cornersSquareOptions.gradient))),t.cornersDotOptions&&(t.cornersDotOptions={...t.cornersDotOptions},t.cornersDotOptions.gradient&&(t.cornersDotOptions.gradient=L(t.cornersDotOptions.gradient))),t.backgroundOptions&&(t.backgroundOptions={...t.backgroundOptions},t.backgroundOptions.gradient&&(t.backgroundOptions.gradient=L(t.backgroundOptions.gradient))),t.borderOptions&&t.borderOptions.decorations){const e=["top","bottom","left","right"];for(const o of e){let e=t.borderOptions.decorations[o];e||(t.borderOptions.decorations[o]={enableText:!1,value:void 0},e=t.borderOptions.decorations[o]),!1===e.enableText?e.value=void 0:!0===e.enableText?null!==e.value&&void 0!==e.value||(e.value=""):void 0===e.enableText&&(e.value&&"string"==typeof e.value&&!1!==e.enableText&&""!==e.value.trim()?e.enableText=!0:(e.enableText=!1,e.value=void 0))}}return"undefined"==typeof document||t.document||(t.document=document),t}!function(e){e.radial="radial",e.linear="linear"}(B||(B={})),function(e){e.svg="svg",e.png="png",e.jpeg="jpeg",e.webp="webp"}(Y||(Y={})),function(e){e.dot="dot",e.randomDot="random-dot",e.rounded="rounded",e.extraRounded="extra-rounded",e.verticalLine="vertical-line",e.horizontalLine="horizontal-line",e.classy="classy",e.classyRounded="classy-rounded",e.square="square",e.smallSquare="small-square",e.tinySquare="tiny-square",e.star="star",e.plus="plus",e.diamond="diamond"}(J||(J={})),function(e){e.dot="dot",e.square="square",e.heart="heart",e.rounded="rounded",e.classy="classy",e.outpoint="outpoint",e.inpoint="inpoint"}(G||(G={})),function(e){e.dot="dot",e.square="square",e.rounded="rounded",e.classy="classy",e.outpoint="outpoint",e.inpoint="inpoint"}(X||(X={})),function(e){e.square="square",e.circle="circle"}(E||(E={})),function(e){e.center="center",e.overlay="overlay",e.background="background"}(F||(F={}));const N={[y.L]:.07,[y.M]:.15,[y.Q]:.25,[y.H]:.3};class z{constructor(e="",t={}){if(e instanceof z)return e;const o=function(e){let t={r:0,g:0,b:0},o=1,r=null,n=null,i=null,s=!1,a=!1;"string"==typeof e&&(e=function(e){const t=/^\s+/,o=/\s+$/;e=e.replace(t,"").replace(o,"").toLowerCase();let r,n=!1;if(z.names[e])e=z.names[e],n=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(r=ye.rgb.exec(e))return{r:r[1],g:r[2],b:r[3]};if(r=ye.rgba.exec(e))return{r:r[1],g:r[2],b:r[3],a:r[4]};if(r=ye.hsl.exec(e))return{h:r[1],s:r[2],l:r[3]};if(r=ye.hsla.exec(e))return{h:r[1],s:r[2],l:r[3],a:r[4]};if(r=ye.hsv.exec(e))return{h:r[1],s:r[2],v:r[3]};if(r=ye.hsva.exec(e))return{h:r[1],s:r[2],v:r[3],a:r[4]};if(r=ye.hex8.exec(e))return{r:pe(r[1]),g:pe(r[2]),b:pe(r[3]),a:be(r[4]),format:n?"name":"hex8"};if(r=ye.hex6.exec(e))return{r:pe(r[1]),g:pe(r[2]),b:pe(r[3]),format:n?"name":"hex"};if(r=ye.hex4.exec(e))return{r:pe(r[1]+""+r[1]),g:pe(r[2]+""+r[2]),b:pe(r[3]+""+r[3]),a:be(r[4]+""+r[4]),format:n?"name":"hex8"};if(r=ye.hex3.exec(e))return{r:pe(r[1]+""+r[1]),g:pe(r[2]+""+r[2]),b:pe(r[3]+""+r[3]),format:n?"name":"hex"};return!1}(e));"object"==typeof e&&(Oe(e.r)&&Oe(e.g)&&Oe(e.b)?(d=e.r,l=e.g,c=e.b,t={r:255*ue(d,255),g:255*ue(l,255),b:255*ue(c,255)},s=!0,a="%"===String(e.r).slice(-1)?"prgb":"rgb"):Oe(e.h)&&Oe(e.s)&&Oe(e.v)?(r=ge(e.s),n=ge(e.v),t=function(e,t,o){e=6*ue(e,360),t=ue(t,100),o=ue(o,100);const r=Math.floor(e),n=e-r,i=o*(1-t),s=o*(1-n*t),a=o*(1-(1-n)*t),d=r%6,l=[o,s,i,i,a,o][d],c=[a,o,o,s,i,i][d],u=[i,i,a,o,o,qw][d];return{r:255*l,g:255*c,b:255*u}}(e.h,r,n),s=!0,a="hsv"):Oe(e.h)&&Oe(e.s)&&Oe(e.l)&&(r=ge(e.s),i=ge(e.l),t=function(e,t,o){let r,n,i;function s(e,t,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?e+6*(t-e)*o:o<.5?t:o<2/3?e+(t-e)*(2/3-o)*6:e}if(e=ue(e,360),t=ue(t,100),o=ue(o,100),0===t)r=n=i=o;else{const a=o<.5?o*(1+t):o+t-o*t,d=2*o-a;r=s(d,a,e+1/3),n=s(d,a,e),i=s(d,a,e-1/3)}return{r:255*r,g:255*n,b:255*i}}(e.h,r,i),s=!0,a="hsl"),e.hasOwnProperty("a")&&(o=e.a));var d,l,c;return o=ce(o),{ok:s,format:e.format||a,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:o}}(e);this._originalInput=e,this._r=o.r,this._g=o.g,this._b=o.b,this._a=o.a,this._roundA=Math.round(100*this._a)/100,this._format=t.format||o.format,this._gradientType=t.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=o.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 e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3}getLuminance(){const e=this.toRgb(),t=e.r/255,o=e.g/255,r=e.b/255;return.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))}setAlpha(e){return this._a=ce(e),this._roundA=Math.round(100*this._a)/100,this}toHsv(){const e=H(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}}toHsvString(){const e=H(this._r,this._g,this._b),t=Math.round(360*e.h),o=Math.round(100*e.s),r=Math.round(100*e.v);return 1==this._a?`hsv(${t}, ${o}%, ${r}%)`:`hsva(${t}, ${o}%, ${r}%, ${this._roundA})`}toHsl(){const e=U(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}}toHslString(){const e=U(this._r,this._g,this._b),t=Math.round(360*e.h),o=Math.round(100*e.s),r=Math.round(100*e.l);return 1==this._a?`hsl(${t}, ${o}%, ${r}%)`:`hsla(${t}, ${o}%, ${r}%, ${this._roundA})`}toHex(e){return _(this._r,this._g,this._b,e)}toHexString(e){return"#"+this.toHex(e)}toHex8(e){return function(e,t,o,r,n){const i=[me(Math.round(e).toString(16)),me(Math.round(t).toString(16)),me(Math.round(o).toString(16)),me(fe(r))];if(n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)&&i[3].charAt(0)==i[3].charAt(1))return i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0);return i.join("")}(this._r,this._g,this._b,this._a,e)}toHex8String(e){return"#"+this.toHex8(e)}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*ue(this._r,255))+"%",g:Math.round(100*ue(this._g,255))+"%",b:Math.round(100*ue(this._b,255))+"%",a:this._a}}toPercentageRgbString(){return 1==this._a?`rgb(${Math.round(100*ue(this._r,255))}%, ${Math.round(100*ue(this._g,255))}%, ${Math.round(100*ue(this._b,255))}%)`:`rgba(${Math.round(100*ue(this._r,255))}%, ${Math.round(100*ue(this._g,255))}%, ${Math.round(100*ue(this._b,255))}%, ${this._roundA})`}toName(){return 0===this._a?"transparent":!(this._a<1)&&(z.hexNames[_(this._r,this._g,this._b,!0)]||!1)}toFilter(e){const t="#"+K(this._r,this._g,this._b,this._a);let o=t;const r=this._gradientType?"GradientType = 1, ":"";if(e){const t=new z(e);o="#"+K(t._r,t._g,t._b,t._a)}return`progid:DXImageTransform.Microsoft.gradient(${r}startColorstr=${t},endColorstr=${o})`}toString(e){const t=!!e;e=e||this._format;let o=!1;const r=this._a<1&&this._a>=0;return t||!r||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(o=this.toRgbString()),"prgb"===e&&(o=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(o=this.toHexString()),"hex3"===e&&(o=this.toHexString(!0)),"hex4"===e&&(o=this.toHex8String(!0)),"hex8"===e&&(o=this.toHex8String()),"name"===e&&(o=this.toName()),"hsl"===e&&(o=this.toHslString()),"hsv"===e&&(o=this.toHsvString()),o||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()}clone(){return new z(this.toString())}_applyModification(e,...t){const o=e(this,...t);return this._r=o._r,this._g=o._g,this._b=o._b,this.setAlpha(o._a),this}lighten(...e){return this._applyModification(te,...e)}brighten(...e){return this._applyModification(oe,...e)}darken(...e){return this._applyModification(re,...e)}desaturate(...e){return this._applyModification(Q,...e)}saturate(...e){return this._applyModification($,...e)}greyscale(...e){return this._applyModification(ee,...e)}spin(...e){return this._applyModification(ne,...e)}_applyCombination(e,...t){return e(this,...t)}analogous(...e){return this._applyCombination(de,...e)}complement(...e){return this._applyCombination(ie,...e)}monochromatic(...e){return this._applyCombination(le,...e)}splitcomplement(...e){return this._applyCombination(ae,...e)}triad(){return this._applyCombination(se,3)}tetrad(){return this._applyCombination(se,4)}static fromRatio(e,t){if("object"==typeof e){const t={};for(const o in e)e.hasOwnProperty(o)&&(t[o]="a"===o?e[o]:ge(e[o]));e=t}return new z(e,t)}static equals(e,t){return!(!e||!t)&&new z(e).toRgbString()===new z(t).toRgbString()}static random(){return z.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})}static mix(e,t,o){o=0===o?0:o||50;const r=new z(e).toRgb(),n=new z(t).toRgb(),i=o/100,s={r:(n.r-r.r)*i+r.r,g:(n.g-r.g)*i+r.g,b:(n.b-r.b)*i+r.b,a:(n.a-r.a)*i+r.a};return new z(s)}static readability(e,t){const o=new z(e),r=new z(t);return(Math.max(o.getLuminance(),r.getLuminance())+.05)/(Math.min(o.getLuminance(),r.getLuminance())+.05)}static isReadable(e,t,o){const r=z.readability(e,t);let n=!1;const i=function(e){let t,o;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),o=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==o&&"large"!==o&&(o="small");return{level:t,size:o}}(o);switch(i.level+i.size){case"AAsmall":case"AAAlarge":n=r>=4.5;break;case"AAlarge":n=r>=3;break;case"AAAsmall":n=r>=7}return n}static mostReadable(e,t,o={}){let r,n=null,i=0;const{includeFallbackColors:s,level:a,size:d}=o;for(const o of t)r=z.readability(e,o),r>i&&(i=r,n=new z(o));return z.isReadable(e,n,{level:a,size:d})||!s?n:(o.includeFallbackColors=!1,z.mostReadable(e,["#fff","#000"],o))}}function U(e,t,o){e=ue(e,255),t=ue(t,255),o=ue(o,255);const r=Math.max(e,t,o),n=Math.min(e,t,o);let i,s;const a=(r+n)/2;if(r==n)i=s=0;else{const d=r-n;switch(s=a>.5?d/(2-r-n):d/(r+n),r){case e:i=(t-o)/d+(t<o?6:0);break;case t:i=(o-e)/d+2;break;case o:i=(e-t)/d+4}i/=6}return{h:i,s,l:a}}function H(e,t,o){e=ue(e,255),t=ue(t,255),o=ue(o,255);const r=Math.max(e,t,o),n=Math.min(e,t,o);let i;const s=r,a=r-n,d=0===r?0:a/r;if(r==n)i=0;else{switch(r){case e:i=(t-o)/a+(t<o?6:0);break;case t:i=(o-e)/a+2;break;case o:i=(e-t)/a+4}i/=6}return{h:i,s:d,v:s}}function _(e,t,o,r){const n=[me(Math.round(e).toString(16)),me(Math.round(t).toString(16)),me(Math.round(o).toString(16))];return r&&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[0].charAt(0)+n[1].charAt(0)+n[2].charAt(0):n.join("")}function K(e,t,o,r){return[me(fe(r)),me(Math.round(e).toString(16)),me(Math.round(t).toString(16)),me(Math.round(o).toString(16))].join("")}function Q(e,t){t=0===t?0:t||10;const o=new z(e).toHsl();return o.s-=t/100,o.s=he(o.s),new z(o)}function $(e,t){t=0===t?0:t||10;const o=new z(e).toHsl();return o.s+=t/100,o.s=he(o.s),new z(o)}function ee(e){return new z(e).desaturate(100)}function te(e,t){t=0===t?0:t||10;const o=new z(e).toHsl();return o.l+=t/100,o.l=he(o.l),new z(o)}function oe(e,t){t=0===t?0:t||10;const o=new z(e).toRgb();return o.r=Math.max(0,Math.min(255,o.r-Math.round(-t/100*255))),o.g=Math.max(0,Math.min(255,o.g-Math.round(-t/100*255))),o.b=Math.max(0,Math.min(255,o.b-Math.round(-t/100*255))),new z(o)}function re(e,t){t=0===t?0:t||10;const o=new z(e).toHsl();return o.l-=t/100,o.l=he(o.l),new z(o)}function ne(e,t){const o=new z(e).toHsl(),r=(o.h+t)%360;return o.h=r<0?360+r:r,new z(o)}z.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"},z.hexNames=function(e){const t={};for(const o in e)e.hasOwnProperty(o)&&(t[e[o]]=o);return t}(z.names);const ie=e=>{const t=new z(e).toHsl();return t.h=(t.h+180)%360,new z(t)},se=(e,t)=>{if(isNaN(t)||t<=0)throw new Error("Argument to polyad must be a positive number");const o=new z(e).toHsl(),r=[new z(e)],n=360/t;for(let e=1;e<t;e++)r.push(new z({h:(o.h+e*n)%360,s:o.s,l:o.l}));return r};function ae(e){const t=new z(e).toHsl(),o=t.h;return[new z(e),new z({h:(o+72)%360,s:t.s,l:t.l}),new z({h:(o+216)%360,s:t.s,l:t.l})]}function de(e,t,o){t=t||6,o=o||30;const r=new z(e).toHsl(),n=360/o,i=[new z(e)];for(r.h=(r.h-(n*t>>1)+720)%360;--t;)r.h=(r.h+n)%360,i.push(new z(r));return i}function le(e,t){t=t||6;const o=new z(e).toHsv(),r=o.h,n=o.s;let i=o.v;const s=[],a=1/t;for(;t--;)s.push(new z({h:r,s:n,v:i})),i=(i+a)%1;return s}function ce(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function ue(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");const o=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(e);return e=Math.min(t,Math.max(0,parseFloat(e))),o&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function he(e){return Math.min(1,Math.max(0,e))}function pe(e){return parseInt(e,16)}function me(e){return 1==e.length?"0"+e:""+e}function ge(e){return e<=1&&(e=100*e+"%"),e}function fe(e){return Math.round(255*parseFloat(e)).toString(16)}function be(e){return pe(e)/255}const ye=(()=>{const e="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",t=`[\\s|\\(]+(${e})[,|\\s]+(${e})[,|\\s]+(${e})\\s*\\)?`,o=`[\\s|\\(]+(${e})[,|\\s]+(${e})[,|\\s]+(${e})[,|\\s]+(${e})\\s*\\)?`;return{CSS_UNIT:new RegExp(e),rgb:new RegExp("rgb"+t),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+t),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+t),hsva:new RegExp("hsva"+o),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 Oe(e){return!!ye.CSS_UNIT.exec(e)}function Ce(e,t){e.decorations||(e.decorations={}),["top","right","bottom","left"].forEach((o=>{e.decorations[o]||(e.decorations[o]={}),e.decorations[o].style||(e.decorations[o].style={}),e.decorations[o].style.fontColor=t}))}function Se(e){const t={};if((e.primaryColor||e.dotsGradient)&&(t.dotsOptions={...t.dotsOptions,...e.primaryColor&&{color:e.primaryColor},...e.dotsGradient&&{gradient:e.dotsGradient}}),(e.secondaryColor||e.cornersGradient)&&(t.cornersSquareOptions={...t.cornersSquareOptions,...e.secondaryColor&&{color:e.secondaryColor},...e.cornersGradient&&{gradient:e.cornersGradient}},t.cornersDotOptions={...t.cornersDotOptions,...e.secondaryColor&&{color:e.secondaryColor}}),(e.thirdColor||e.cornersDotGradient)&&(t.cornersDotOptions={...t.cornersDotOptions,...e.thirdColor&&{color:e.thirdColor},...e.cornersDotGradient&&{gradient:e.cornersDotGradient}}),(e.backgroundColor||e.backgroundGradient)&&(t.backgroundOptions={...t.backgroundOptions,...e.backgroundColor&&{color:e.backgroundColor},...e.backgroundGradient&&{gradient:e.backgroundGradient}}),e.dotShape&&(t.dotsOptions={...t.dotsOptions,type:e.dotShape}),e.cornerSquareShape&&(t.cornersSquareOptions={...t.cornersSquareOptions,type:e.cornerSquareShape}),e.cornerDotShape&&(t.cornersDotOptions={...t.cornersDotOptions,type:e.cornerDotShape}),e.logo&&(t.image=e.logo),(void 0!==e.logoSize||e.logoMode||void 0!==e.logoMargin||e.logoBackgroundColor||void 0!==e.logoPadding||void 0!==e.logoRadius)&&(t.imageOptions={...t.imageOptions,...void 0!==e.logoSize&&{imageSize:e.logoSize},...e.logoMode&&{mode:e.logoMode},...void 0!==e.logoMargin&&{margin:e.logoMargin},...e.logoBackgroundColor&&{backgroundColor:e.logoBackgroundColor},...void 0!==e.logoPadding&&{padding:e.logoPadding},...void 0!==e.logoRadius&&{radius:e.logoRadius}}),e.borderColor||void 0!==e.borderThickness||void 0!==e.borderRadius||e.borderInnerColor||void 0!==e.borderInnerThickness||void 0!==e.borderInnerRadius||e.borderOuterColor||void 0!==e.borderOuterThickness||e.borderTextTop||e.borderTextRight||e.borderTextBottom||e.borderTextLeft||e.borderFontFace||void 0!==e.borderFontSize||e.borderFontColor||void 0!==e.borderLetterSpacing||e.borderTextTransform||e.borderFontWeight){t.borderOptions||(t.borderOptions={hasBorder:!0});const o=t.borderOptions;e.borderColor&&(o.color=e.borderColor),void 0!==e.borderThickness&&(o.thickness=e.borderThickness),void 0!==e.borderRadius&&(o.radius=String(e.borderRadius)),void 0===e.borderInnerColor&&void 0===e.borderInnerThickness||(o.borderInner||(o.borderInner={}),void 0!==e.borderInnerColor&&(o.borderInner.color=e.borderInnerColor),void 0!==e.borderInnerThickness&&(o.borderInner.thickness=e.borderInnerThickness)),void 0!==e.borderInnerRadius&&(o.inner||(o.inner={}),o.inner.radius=String(e.borderInnerRadius)),void 0===e.borderOuterColor&&void 0===e.borderOuterThickness||(o.borderOuter||(o.borderOuter={}),void 0!==e.borderOuterColor&&(o.borderOuter.color=e.borderOuterColor),void 0!==e.borderOuterThickness&&(o.borderOuter.thickness=e.borderOuterThickness));const r={};e.borderFontFace&&(r.fontFace=e.borderFontFace),void 0!==e.borderFontSize&&(r.fontSize=e.borderFontSize),e.borderFontColor&&(r.fontColor=e.borderFontColor),void 0!==e.borderLetterSpacing&&(r.letterSpacing=e.borderLetterSpacing),e.borderTextTransform&&(r.textTransform=e.borderTextTransform),e.borderFontWeight&&(r.fontWeight=e.borderFontWeight),o.decorations||(o.decorations={});const n=o.decorations?JSON.parse(JSON.stringify(o.decorations)):{};let i=!1;Object.keys(r).length>0&&(i=!0,["top","right","bottom","left"].forEach((e=>{n[e]||(n[e]={}),n[e].style||(n[e].style={}),n[e].style={...n[e].style,...r}}))),["top","right","bottom","left"].forEach((t=>{const o=`borderText${t.charAt(0).toUpperCase()+t.slice(1)}`,s=e[o];void 0!==s?(n[t]||(n[t]={}),n[t]={...n[t],value:s,enableText:!0,style:{...n[t]?.style||{},...r}},i=!0):n[t]?.value&&Object.keys(r).length>0&&!n[t]?.style&&(n[t].style||(n[t].style={}),n[t].style={...n[t].style,...r},i=!0)})),i&&(o.decorations=n)}if(!!(e.primaryColor||e.secondaryColor||e.thirdColor||e.backgroundColor)){t.borderOptions||(t.borderOptions={hasBorder:!0});const o=t.borderOptions;if(e.secondaryColor&&!e.borderColor){const t=new z(e.secondaryColor).isDark();o.color=new z(e.primaryColor).darken(t?-12:12).toString()}if(e.thirdColor&&!e.borderInnerColor&&(o.borderInner||(o.borderInner={}),o.borderInner.color=new z(e.thirdColor).darken(2).toString()),e.primaryColor&&!e.borderOuterColor&&(o.borderOuter=o.borderOuter||{},o.borderOuter.color=new z(e.primaryColor).darken(2).toString()),e.backgroundColor&&!e.borderFontColor&&o.color){const t=new z(e.backgroundColor),r=new z(o.color),n=z.readability(t,r),i=t.isDark();if(n<2){Ce(o,(i?t.lighten(15):t.darken(15)).toString())}else{Ce(o,(i?t.lighten(20):t.lighten(10)).toString())}}}return t}function ke(e){const t=[];return void 0!==e.logoSize&&("number"!=typeof e.logoSize||e.logoSize<0||e.logoSize>1)&&t.push("logoSize must be a number between 0 and 1."),{isValid:0===t.length,errors:t}}class we{constructor(){}close(){}}class ve extends we{constructor(e){super(),this.istream=e,this.buffer=0,this.buflen=0}readByte(){for(;this.buflen<8;){const e=this.istream.readByte();if(-1==e){if(0==this.buflen)return-1;throw new Error("unexpected end of file./"+this.buflen)}if(e=="=".charCodeAt(0))return this.buflen=0,-1;ve.isWhitespace(e)||(this.buffer=this.buffer<<6|ve.decode(e),this.buflen+=6)}const e=this.buffer>>>this.buflen-8&255;return this.buflen-=8,e}static isWhitespace(e){return e=="\v".charCodeAt(0)||e=="\t".charCodeAt(0)||e=="\r".charCodeAt(0)||e=="\n".charCodeAt(0)}static decode(e){if("A".charCodeAt(0)<=e&&e<="Z".charCodeAt(0))return e-"A".charCodeAt(0);if("a".charCodeAt(0)<=e&&e<="z".charCodeAt(0))return e-"a".charCodeAt(0)+26;if("0".charCodeAt(0)<=e&&e<="9".charCodeAt(0))return e-"0".charCodeAt(0)+52;if(e=="+".charCodeAt(0))return 62;if(e=="/".charCodeAt(0))return 63;throw new Error("c:"+e)}}class Ae extends we{constructor(e){super(),this.bytes=e,this.pos=0}readByte(){if(this.pos<this.bytes.length){const e=this.bytes[this.pos];return this.pos+=1,e}return-1}}(function(e,t){const o=(()=>{const o=new ve(new Ae(function(e){const t=[];for(let o=0;o<e.length;o+=1)t.push(e.charCodeAt(o));return t}(e))),r=()=>{const e=o.readByte();if(-1==e)throw new Error("eof");return e};let n=0;const i={};for(;;){const e=o.readByte();if(-1==e)break;const t=r(),s=r()<<8|r();i[String.fromCharCode(e<<8|t)]=s,n+=1}if(n!=t)throw new Error(n+"!="+t);return i})(),r="?".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 Te={shape:E.square,qrOptions:{typeNumber:b[0],mode:void 0,errorCorrectionLevel:y.Q},imageOptions:{mode:F.center,imageSize:.4,padding:4,margin:.2,crossOrigin:void 0},cornersSquareOptions:{type:X.rounded,color:"#000000"},cornersDotOptions:{type:G.dot,color:"#000000"},dotsOptions:{type:J.verticalLine,color:"#000000",size:10},backgroundOptions:{color:"#FFFFFF"},borderOptions:{decorations:{}}},qe={...Te,shape:E.square,cornersSquareOptions:{type:X.square},cornersDotOptions:{type:G.square},dotsOptions:{type:J.square}},Ie={...Te,shape:E.square,cornersSquareOptions:{type:X.rounded},cornersDotOptions:{type:G.rounded},dotsOptions:{type:J.verticalLine,size:10}},Ze={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{type:X.dot},cornersDotOptions:{type:G.dot}},De={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{type:X.dot},cornersDotOptions:{type:G.dot}},xe={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{type:X.classy},cornersDotOptions:{type:G.classy}},We={...Te,dotsOptions:{...Te.dotsOptions,type:J.extraRounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},Ve={...Te,dotsOptions:{...Te.dotsOptions,type:J.verticalLine},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},je={...Te,dotsOptions:{...Te.dotsOptions,type:J.horizontalLine},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},Re={...Te,dotsOptions:{...Te.dotsOptions,type:J.classyRounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.outpoint}},Me={...Te,dotsOptions:{...Te.dotsOptions,type:J.smallSquare},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.inpoint}},Be={...Te,dotsOptions:{...Te.dotsOptions,type:J.tinySquare},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.heart}},Ye={...Te,dotsOptions:{...Te.dotsOptions,type:J.star},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},Je={...Te,dotsOptions:{...Te.dotsOptions,type:J.plus},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},Ge={...Te,dotsOptions:{...Te.dotsOptions,type:J.diamond},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},Xe={...Te,dotsOptions:{...Te.dotsOptions,type:J.randomDot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},Ee={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.outpoint}},Fe={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.inpoint}},Le={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.outpoint}},Pe={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.inpoint}},Ne={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.outpoint}},ze={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.inpoint}},Ue={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.outpoint}},He={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.inpoint}},_e={...Te,shape:E.circle,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},Ke={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},Qe={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},$e={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},et={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},tt={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},ot={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},rt={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},nt={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},it={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},st={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},at={...Te,dotsOptions:{...Te.dotsOptions,type:J.extraRounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},dt={...Te,dotsOptions:{...Te.dotsOptions,type:J.extraRounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},lt={...Te,dotsOptions:{...Te.dotsOptions,type:J.classyRounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},ct={...Te,dotsOptions:{...Te.dotsOptions,type:J.classyRounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},ut={...Te,dotsOptions:{...Te.dotsOptions,type:J.verticalLine},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},ht={...Te,dotsOptions:{...Te.dotsOptions,type:J.horizontalLine},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},pt={...Te,dotsOptions:{...Te.dotsOptions,type:J.horizontalLine},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},mt={...Te,dotsOptions:{...Te.dotsOptions,type:J.smallSquare},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},gt={...Te,dotsOptions:{...Te.dotsOptions,type:J.smallSquare},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},ft={...Te,dotsOptions:{...Te.dotsOptions,type:J.tinySquare},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},bt={...Te,dotsOptions:{...Te.dotsOptions,type:J.tinySquare},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},yt={...Te,dotsOptions:{...Te.dotsOptions,type:J.star},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},Ot={...Te,dotsOptions:{...Te.dotsOptions,type:J.star},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},Ct={...Te,dotsOptions:{...Te.dotsOptions,type:J.plus},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},St={...Te,dotsOptions:{...Te.dotsOptions,type:J.plus},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},kt={...Te,dotsOptions:{...Te.dotsOptions,type:J.diamond},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},wt={...Te,dotsOptions:{...Te.dotsOptions,type:J.diamond},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},vt={...Te,dotsOptions:{...Te.dotsOptions,type:J.randomDot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},At={...Te,dotsOptions:{...Te.dotsOptions,type:J.randomDot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},Tt={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},qt={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},It={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},Zt={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},Dt={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},xt={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},Wt={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},Vt={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},jt={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},Rt={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},Mt={...qe,shape:E.circle},Bt={...Te,shape:E.circle},Yt={...Ze,shape:E.circle},Jt={...De,shape:E.circle},Gt={...xe,shape:E.circle},Xt={...We,shape:E.circle},Et={...Ve,shape:E.circle},Ft={...je,shape:E.circle},Lt={...Re,shape:E.circle},Pt={...Me,shape:E.circle},Nt={...Be,shape:E.circle},zt={...Ye,shape:E.circle},Ut={...Je,shape:E.circle},Ht={...Ge,shape:E.circle},_t={...Xe,shape:E.circle},Kt={...Ee,shape:E.circle},Qt={...Fe,shape:E.circle},$t={...Le,shape:E.circle},eo={...Pe,shape:E.circle},to={...Ne,shape:E.circle},oo={...ze,shape:E.circle},ro={...Ue,shape:E.circle},no={...He,shape:E.circle},io={...Ke,shape:E.circle},so={...Qe,shape:E.circle},ao={...$e,shape:E.circle},lo={...et,shape:E.circle},co={...tt,shape:E.circle},uo={...ot,shape:E.circle},ho={...rt,shape:E.circle},po={...nt,shape:E.circle},mo={...it,shape:E.circle},go={...st,shape:E.circle},fo={...at,shape:E.circle},bo={...dt,shape:E.circle},yo={...lt,shape:E.circle},Oo={...ct,shape:E.circle},Co={...ut,shape:E.circle},So={...ht,shape:E.circle},ko={...pt,shape:E.circle},wo={...mt,shape:E.circle},vo={...gt,shape:E.circle},Ao={...ft,shape:E.circle},To={...bt,shape:E.circle},qo={...yt,shape:E.circle},Io={...Ot,shape:E.circle},Zo={...Ct,shape:E.circle},Do={...St,shape:E.circle},xo={...kt,shape:E.circle},Wo={...wt,shape:E.circle},Vo={...vt,shape:E.circle},jo={...At,shape:E.circle},Ro={...Tt,shape:E.circle},Mo={...qt,shape:E.circle},Bo={...It,shape:E.circle},Yo={...Zt,shape:E.circle},Jo={...Dt,shape:E.circle},Go={...xt,shape:E.circle},Xo={...Wt,shape:E.circle},Eo={...Vt,shape:E.circle},Fo={...jt,shape:E.circle},Lo={...Rt,shape:E.circle},Po=[{id:"base",name:"Default",options:Te},{id:"plain",name:"Square Plain",options:qe},{id:"plain-circle",name:"Square Plain (Circle)",options:Mt},{id:"base-line-rounded",name:"Lines Rounded",options:Ie},{id:"rounded",name:"Rounded",options:Ze},{id:"dots",name:"Dots",options:De},{id:"classy",name:"Classy",options:xe},{id:"extra-rounded-dots-square-corners",name:"Extra Rounded Dots Square Corners",options:We},{id:"vertical-line-dots-classy-corners",name:"Vertical Lines Classy Corners",options:Ve},{id:"horizontal-line-dots-rounded-corners",name:"Horizontal Lines Rounded Corners",options:je},{id:"classy-rounded-dots-outpoint-corners",name:"Classy Rounded Dots Outpoint Corners",options:Re},{id:"small-square-dots-inpoint-corners",name:"Small Square Dots Inpoint Corners",options:Me},{id:"tiny-square-dots-square-corners-heart-corners",name:"Tiny Square Dots Heart Corners",options:Be},{id:"star-dots-classy-corners",name:"Star Dots Classy Corners",options:Ye},{id:"plus-dots-rounded-corners",name:"Plus Dots Rounded Corners",options:Je},{id:"diamond-dots-square-corners",name:"Diamond Dots Square Corners",options:Ge},{id:"random-dot-dots-dot-corners",name:"Random Dots",options:Xe},{id:"dot-dots-outpoint-corners",name:"Dots Outpoint Corners",options:Ee},{id:"dot-dots-inpoint-corners",name:"Dots Inpoint Corners",options:Fe},{id:"rounded-dots-outpoint-corners",name:"Rounded Dots Outpoint Corners",options:Le},{id:"rounded-dots-inpoint-corners",name:"Rounded Dots Inpoint Corners",options:Pe},{id:"classy-dots-outpoint-corners",name:"Classy Dots Outpoint Corners",options:Ne},{id:"classy-dots-inpoint-corners",name:"Classy Dots Inpoint Corners",options:ze},{id:"square-dots-outpoint-corners",name:"Square Dots Outpoint Corners",options:Ue},{id:"square-dots-inpoint-corners",name:"Square Dots Inpoint Corners",options:He},{id:"dot-dots-square-corners",name:"Dots Square Corners",options:Ke},{id:"dot-dots-rounded-corners",name:"Dots Rounded Corners",options:Qe},{id:"dot-dots-classy-corners",name:"Dots Classy Corners",options:$e},{id:"rounded-dots-square-corners",name:"Rounded Dots Square Corners",options:et},{id:"rounded-dots-classy-corners",name:"Rounded Dots Classy Corners",options:tt},{id:"classy-dots-square-corners",name:"Classy Dots Square Corners",options:ot},{id:"classy-dots-rounded-corners",name:"Classy Dots Rounded Corners",options:rt},{id:"square-dots-dot-corners",name:"Square Dots Dot Corners",options:nt},{id:"square-dots-rounded-corners",name:"Square Dots Rounded Corners",options:it},{id:"square-dots-classy-corners",name:"Square Dots Classy Corners",options:st},{id:"extra-rounded-dots-dot-corners",name:"Extra Rounded Dots Dot Corners",options:at},{id:"extra-rounded-dots-classy-corners",name:"Extra Rounded Dots Classy Corners",options:dt},{id:"classy-rounded-dots-dot-corners",name:"Classy Rounded Dots Dot Corners",options:lt},{id:"classy-rounded-dots-square-corners",name:"Classy Rounded Dots Square Corners",options:ct},{id:"vertical-line-dots-square-corners",name:"Vertical Lines Square Corners",options:ut},{id:"horizontal-line-dots-square-corners",name:"Horizontal Lines Square Corners",options:ht},{id:"horizontal-line-dots-classy-corners",name:"Horizontal Lines Classy Corners",options:pt},{id:"small-square-dots-dot-corners",name:"Small Square Dots Dot Corners",options:mt},{id:"small-square-dots-rounded-corners",name:"Small Square Dots Rounded Corners",options:gt},{id:"tiny-square-dots-dot-corners",name:"Tiny Square Dots Dot Corners",options:ft},{id:"tiny-square-dots-square-corners",name:"Tiny Square Dots Square Corners",options:bt},{id:"star-dots-dot-corners",name:"Star Dots Dot Corners",options:yt},{id:"star-dots-square-corners",name:"Star Dots Square Corners",options:Ot},{id:"plus-dots-dot-corners",name:"Plus Dots Dot Corners",options:Ct},{id:"plus-dots-square-corners",name:"Plus Dots Square Corners",options:St},{id:"diamond-dots-dot-corners",name:"Diamond Dots Dot Corners",options:kt},{id:"diamond-dots-classy-corners",name:"Diamond Dots Classy Corners",options:wt},{id:"random-dot-dots-square-corners",name:"Random Dots Square Corners",options:vt},{id:"random-dot-dots-classy-corners",name:"Random Dots Classy Corners",options:At},{id:"dot-dots-square-corners-dot-corners",name:"Dots Square/Dot Corners",options:Tt},{id:"dot-dots-dot-corners-square-corners",name:"Dots Dot/Square Corners",options:qt},{id:"rounded-dots-square-corners-dot-corners",name:"Rounded Dots Square/Dot Corners",options:It},{id:"rounded-dots-dot-corners-square-corners",name:"Rounded Dots Dot/Square Corners",options:Zt},{id:"classy-dots-square-corners-dot-corners",name:"Classy Dots Square/Dot Corners",options:Dt},{id:"classy-dots-dot-corners-square-corners",name:"Classy Dots Dot/Square Corners",options:xt},{id:"square-dots-rounded-corners-dot-corners",name:"Square Dots Rounded/Dot Corners",options:Wt},{id:"square-dots-dot-corners-rounded-corners",name:"Square Dots Dot/Rounded Corners",options:Vt},{id:"dot-dots-classy-corners-dot-corners",name:"Dots Classy/Dot Corners",options:jt},{id:"dot-dots-dot-corners-classy-corners",name:"Dots Dot/Classy Corners",options:Rt},{id:"circle-shape-dot-dots-square-corners",name:"Circle Dots Square Corners",options:io},{id:"circle-shape-rounded-dots-rounded-corners",name:"Circle Rounded",options:_e},{id:"circle-shape-square-dots-square-corners",name:"Circle Square Plain",options:Mt},{id:"circle-shape-vertical-line-dots-rounded-corners",name:"Circle Lines Rounded",options:Bt},{id:"circle-shape-rounded-dots-dot-corners",name:"Circle Rounded Dots",options:Yt},{id:"circle-shape-dot-dots-dot-corners",name:"Circle Dots",options:Jt},{id:"circle-shape-classy-dots-classy-corners",name:"Circle Classy",options:Gt},{id:"circle-shape-extra-rounded-dots-square-corners",name:"Circle Extra Rounded Dots Square Corners",options:Xt},{id:"circle-shape-vertical-line-dots-classy-corners",name:"Circle Vertical Lines Classy Corners",options:Et},{id:"circle-shape-horizontal-line-dots-rounded-corners",name:"Circle Horizontal Lines Rounded Corners",options:Ft},{id:"circle-shape-classy-rounded-dots-outpoint-corners",name:"Circle Classy Rounded Dots Outpoint Corners",options:Lt},{id:"circle-shape-small-square-dots-inpoint-corners",name:"Circle Small Square Dots Inpoint Corners",options:Pt},{id:"circle-shape-tiny-square-dots-square-corners-heart-corners",name:"Circle Tiny Square Dots Heart Corners",options:Nt},{id:"circle-shape-star-dots-classy-corners",name:"Circle Star Dots Classy Corners",options:zt},{id:"circle-shape-plus-dots-rounded-corners",name:"Circle Plus Dots Rounded Corners",options:Ut},{id:"circle-shape-diamond-dots-square-corners",name:"Circle Diamond Dots Square Corners",options:Ht},{id:"circle-shape-random-dot-dots-dot-corners",name:"Circle Random Dots",options:_t},{id:"circle-shape-dot-dots-outpoint-corners",name:"Circle Dots Outpoint Corners",options:Kt},{id:"circle-shape-dot-dots-inpoint-corners",name:"Circle Dots Inpoint Corners",options:Qt},{id:"circle-shape-rounded-dots-outpoint-corners",name:"Circle Rounded Dots Outpoint Corners",options:$t},{id:"circle-shape-rounded-dots-inpoint-corners",name:"Circle Rounded Dots Inpoint Corners",options:eo},{id:"circle-shape-classy-dots-outpoint-corners",name:"Circle Classy Dots Outpoint Corners",options:to},{id:"circle-shape-classy-dots-inpoint-corners",name:"Circle Classy Dots Inpoint Corners",options:oo},{id:"circle-shape-square-dots-outpoint-corners",name:"Circle Square Dots Outpoint Corners",options:ro},{id:"circle-shape-square-dots-inpoint-corners",name:"Circle Square Dots Inpoint Corners",options:no},{id:"circle-shape-dot-dots-rounded-corners",name:"Circle Dots Rounded Corners",options:so},{id:"circle-shape-dot-dots-classy-corners",name:"Circle Dots Classy Corners",options:ao},{id:"circle-shape-rounded-dots-square-corners",name:"Circle Rounded Dots Square Corners",options:lo},{id:"circle-shape-rounded-dots-classy-corners",name:"Circle Rounded Dots Classy Corners",options:co},{id:"circle-shape-classy-dots-square-corners",name:"Circle Classy Dots Square Corners",options:uo},{id:"circle-shape-classy-dots-rounded-corners",name:"Circle Classy Dots Rounded Corners",options:ho},{id:"circle-shape-square-dots-dot-corners",name:"Circle Square Dots Dot Corners",options:po},{id:"circle-shape-square-dots-rounded-corners",name:"Circle Square Dots Rounded Corners",options:mo},{id:"circle-shape-square-dots-classy-corners",name:"Circle Square Dots Classy Corners",options:go},{id:"circle-shape-extra-rounded-dots-dot-corners",name:"Circle Extra Rounded Dots Dot Corners",options:fo},{id:"circle-shape-extra-rounded-dots-classy-corners",name:"Circle Extra Rounded Dots Classy Corners",options:bo},{id:"circle-shape-classy-rounded-dots-dot-corners",name:"Circle Classy Rounded Dots Dot Corners",options:yo},{id:"circle-shape-classy-rounded-dots-square-corners",name:"Circle Classy Rounded Dots Square Corners",options:Oo},{id:"circle-shape-vertical-line-dots-square-corners",name:"Circle Vertical Lines Square Corners",options:Co},{id:"circle-shape-horizontal-line-dots-square-corners",name:"Circle Horizontal Lines Square Corners",options:So},{id:"circle-shape-horizontal-line-dots-classy-corners",name:"Circle Horizontal Lines Classy Corners",options:ko},{id:"circle-shape-small-square-dots-dot-corners",name:"Circle Small Square Dots Dot Corners",options:wo},{id:"circle-shape-small-square-dots-rounded-corners",name:"Circle Small Square Dots Rounded Corners",options:vo},{id:"circle-shape-tiny-square-dots-dot-corners",name:"Circle Tiny Square Dots Dot Corners",options:Ao},{id:"circle-shape-tiny-square-dots-square-corners",name:"Circle Tiny Square Dots Square Corners",options:To},{id:"circle-shape-star-dots-dot-corners",name:"Circle Star Dots Dot Corners",options:qo},{id:"circle-shape-star-dots-square-corners",name:"Circle Star Dots Square Corners",options:Io},{id:"circle-shape-plus-dots-dot-corners",name:"Circle Plus Dots Dot Corners",options:Zo},{id:"circle-shape-plus-dots-square-corners",name:"Circle Plus Dots Square Corners",options:Do},{id:"circle-shape-diamond-dots-dot-corners",name:"Circle Diamond Dots Dot Corners",options:xo},{id:"circle-shape-diamond-dots-classy-corners",name:"Circle Diamond Dots Classy Corners",options:Wo},{id:"circle-shape-random-dot-dots-square-corners",name:"Circle Random Dots Square Corners",options:Vo},{id:"circle-shape-random-dot-dots-classy-corners",name:"Circle Random Dots Classy Corners",options:jo},{id:"circle-shape-dot-dots-square-corners-dot-corners",name:"Circle Dots Square/Dot Corners",options:Ro},{id:"circle-shape-dot-dots-dot-corners-square-corners",name:"Circle Dots Dot/Square Corners",options:Mo},{id:"circle-shape-rounded-dots-square-corners-dot-corners",name:"Circle Rounded Dots Square/Dot Corners",options:Bo},{id:"circle-shape-rounded-dots-dot-corners-square-corners",name:"Circle Rounded Dots Dot/Square Corners",options:Yo},{id:"circle-shape-classy-dots-square-corners-dot-corners",name:"Circle Classy Dots Square/Dot Corners",options:Jo},{id:"circle-shape-classy-dots-dot-corners-square-corners",name:"Circle Classy Dots Dot/Square Corners",options:Go},{id:"circle-shape-square-dots-rounded-corners-dot-corners",name:"Circle Square Dots Rounded/Dot Corners",options:Xo},{id:"circle-shape-square-dots-dot-corners-rounded-corners",name:"Circle Square Dots Dot/Rounded Corners",options:Eo},{id:"circle-shape-dot-dots-classy-corners-dot-corners",name:"Circle Dots Classy/Dot Corners",options:Fo},{id:"circle-shape-dot-dots-dot-corners-classy-corners",name:"Circle Dots Dot/Classy Corners",options:Lo}];function No(e){return Po.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function zo(e){return Po.find((t=>t.id===e))}zo("base");const Uo=e=>"number"==typeof e&&!isNaN(e)&&isFinite(e),Ho=(e,t)=>{const o=[];return Object.values(B).includes(e.type)||o.push({path:`${t}.type`,message:`Invalid gradient type. Must be one of: ${Object.values(B).join(", ")}`,value:e.type}),void 0===e.rotation||Uo(e.rotation)||o.push({path:`${t}.rotation`,message:"Rotation must be a valid number",value:e.rotation}),!e.colorStops||!Array.isArray(e.colorStops)||e.colorStops.length<2?o.push({path:`${t}.colorStops`,message:"Gradient must have at least 2 color stops",value:e.colorStops}):e.colorStops.forEach(((e,r)=>{(!Uo(e.offset)||e.offset<0||e.offset>1)&&o.push({path:`${t}.colorStops[${r}].offset`,message:"Color stop offset must be between 0 and 1",value:e.offset}),(e=>{if(new Set(["black","white","red","green","blue","yellow","purple","gray","grey","cyan","magenta","lime","pink","teal","brown","orange"]).has(e.toLowerCase()))return!0;if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(e))return!0;if(/^#([A-Fa-f0-9]{4}){1,2}$/.test(e))return!0;if(/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.test(e)||/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([01]?\.?\d*)\)$/.test(e))return(e.match(/\d+/g)?.map(Number)||[]).every((e=>e>=0&&e<=255));return!1})(e.color)||o.push({path:`${t}.colorStops[${r}].color`,message:"Invalid color format",value:e.color})})),o};function _o(e){const t=[];let o={...Te};return e.data&&"string"==typeof e.data||t.push({path:"data",message:"QR data is required and must be a string",value:e.data}),e.shape&&!Object.values(E).includes(e.shape)&&(t.push({path:"shape",message:`Invalid shape type. Must be one of: ${Object.values(E).join(", ")}`,value:e.shape}),e.shape=Te.shape),e.qrOptions&&(e.qrOptions.typeNumber&&!Object.values(b).includes(e.qrOptions.typeNumber)&&(t.push({path:"qrOptions.typeNumber",message:"Invalid type number",value:e.qrOptions.typeNumber}),e.qrOptions.typeNumber=Te.qrOptions?.typeNumber),e.qrOptions.errorCorrectionLevel&&!Object.values(y).includes(e.qrOptions.errorCorrectionLevel)&&(t.push({path:"qrOptions.errorCorrectionLevel",message:"Invalid error correction level",value:e.qrOptions.errorCorrectionLevel}),e.qrOptions.errorCorrectionLevel=Te.qrOptions?.errorCorrectionLevel),e.qrOptions.mode&&!Object.values(O).includes(e.qrOptions.mode)&&(t.push({path:"qrOptions.mode",message:"Invalid mode",value:e.qrOptions.mode}),e.qrOptions.mode=Te.qrOptions?.mode)),e.imageOptions&&(e.imageOptions.imageSize&&(!Uo(e.imageOptions.imageSize)||e.imageOptions.imageSize<=0||e.imageOptions.imageSize>1)&&(t.push({path:"imageOptions.imageSize",message:"Image size must be between 0 and 1",value:e.imageOptions.imageSize}),e.imageOptions.imageSize=Te.imageOptions?.imageSize),e.imageOptions.margin&&(!Uo(e.imageOptions.margin)||e.imageOptions.margin<0)&&(t.push({path:"imageOptions.margin",message:"Margin must be a non-negative number",value:e.imageOptions.margin}),e.imageOptions.margin=Te.imageOptions?.margin),e.imageOptions.mode&&!Object.values(F).includes(e.imageOptions.mode)&&(t.push({path:"imageOptions.mode",message:`Invalid image mode. Must be one of: ${Object.values(F).join(", ")}`,value:e.imageOptions.mode}),e.imageOptions.mode=Te.imageOptions?.mode)),e.dotsOptions&&(e.dotsOptions.type&&!Object.values(J).includes(e.dotsOptions.type)&&(t.push({path:"dotsOptions.type",message:`Invalid dot type. Must be one of: ${Object.values(J).join(", ")}`,value:e.dotsOptions.type}),e.dotsOptions.type=Te.dotsOptions?.type),e.dotsOptions.size&&(!Uo(e.dotsOptions.size)||e.dotsOptions.size<=0)&&(t.push({path:"dotsOptions.size",message:"Dot size must be a positive number",value:e.dotsOptions.size}),e.dotsOptions.size=Te.dotsOptions?.size),e.dotsOptions.gradient&&t.push(...Ho(e.dotsOptions.gradient,"dotsOptions.gradient"))),e.cornersSquareOptions&&(e.cornersSquareOptions.type&&!Object.values(X).includes(e.cornersSquareOptions.type)&&(t.push({path:"cornersSquareOptions.type",message:`Invalid corner square type. Must be one of: ${Object.values(X).join(", ")}`,value:e.cornersSquareOptions.type}),e.cornersSquareOptions.type=Te.cornersSquareOptions?.type),e.cornersSquareOptions.gradient&&t.push(...Ho(e.cornersSquareOptions.gradient,"cornersSquareOptions.gradient"))),e.cornersDotOptions&&(e.cornersDotOptions.type&&!Object.values(G).includes(e.cornersDotOptions.type)&&(t.push({path:"cornersDotOptions.type",message:`Invalid corner dot type. Must be one of: ${Object.values(G).join(", ")}`,value:e.cornersDotOptions.type}),e.cornersDotOptions.type=Te.cornersDotOptions?.type),e.cornersDotOptions.gradient&&t.push(...Ho(e.cornersDotOptions.gradient,"cornersDotOptions.gradient"))),o={...o,...e},{warnings:t,validatedOptions:o}}const Ko=/\.?0+$/;function Qo(e){return e.toFixed(7).replace(Ko,"")}function $o(e,...t){return e.reduce(((e,o,r)=>{let n="";return r&&(n=t[r-1]),"number"==typeof n&&(n=Qo(n)),`${e}${n}${o}`}),"").trim().replace(/[\s\n\r]+/gim," ")}class er{get element(){return this._element}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case G.square:t=this.drawSquare;break;case G.heart:t=this.drawHeart;break;case G.rounded:t=this.drawRounded;break;case G.classy:t=this.drawClassy;break;case G.inpoint:t=this.drawInpoint;break;case G.outpoint:t=this.drawOutpoint;break;case G.dot:default:t=this.drawDot}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:n}){const i=e+o/2,s=t+o/2;n(),this._element?.setAttribute("transform",`rotate(${Qo(180*r/Math.PI)},${i},${s})`)}basicDot(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",Qo(o+t/2)),this._element.setAttribute("cy",Qo(r+t/2)),this._element.setAttribute("r",Qo(t/2.1))}})}basicSquare(e){const{size:t,x:o,y:r}=e,n=t/11;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",Qo(o+n)),this._element.setAttribute("y",Qo(r+n)),this._element.setAttribute("width",Qo(t-2*n)),this._element.setAttribute("height",Qo(t-2*n))}})}basicHeart(e){const{size:t,x:o,y:r}=e;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");let n=!1,i=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((e=>"string"==typeof e?(i=0,n=e.toUpperCase()==e,e):(i++,e*=t,n&&(e+=i%2==1?o:r),Qo(e)))).join(" "))}basicRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",Qo(o)),this._element.setAttribute("y",Qo(r)),this._element.setAttribute("width",Qo(t)),this._element.setAttribute("height",Qo(t)),this._element.setAttribute("rx",Qo(t/4)),this._element.setAttribute("ry",Qo(t/4))}})}basicClassy(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o} ${r+2.5*n} v ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*n} h ${4.5*n} v ${-4.5*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*-n} h ${-2*n} H ${o} z`)}})}basicInpoint(e){const{size:t,x:o,y:r}=e,n=t;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o} ${r+n/2} v ${n/4} a ${n/4}, ${n/4} 0 0 0 ${n/4}, ${n/4} h ${n/4*3} v ${-n/4*3} a ${n/4}, ${n/4} 0 0 0 ${-n/4}, ${-n/4} h ${-n/2} a ${n/4}, ${n/4} 0 0 0 ${-n/4}, ${n/4} z`)}})}drawDot({x:e,y:t,size:o,rotation:r}){this.basicDot({x:e,y:t,size:o,rotation:r})}drawSquare({x:e,y:t,size:o,rotation:r}){this.basicSquare({x:e,y:t,size:o,rotation:r})}drawHeart({x:e,y:t,size:o,rotation:r}){this.basicHeart({x:e,y:t,size:o,rotation:r})}drawRounded({x:e,y:t,size:o,rotation:r}){this.basicRounded({x:e,y:t,size:o,rotation:r})}drawClassy({x:e,y:t,size:o,rotation:r}){this.basicClassy({x:e,y:t,size:o,rotation:r})}drawInpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:r})}drawOutpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:(r||0)+Math.PI})}}class tr{get element(){return this._element}get fill(){return this._fill}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case X.square:t=this.drawSquare;break;case X.rounded:t=this.drawExtraRounded;break;case X.classy:t=this.drawClassy;break;case X.outpoint:t=this.drawOutpoint;break;case X.inpoint:t=this.drawInpoint;break;case X.dot:default:t=this.drawDot}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:n}){const i=e+o/2,s=t+o/2;n(),this._element?.setAttribute("transform",`rotate(${Qo(180*r/Math.PI)},${i},${s})`),this._fill?.setAttribute("transform",`rotate(${Qo(180*r/Math.PI)},${i},${s})`)}basicDot(e){const{size:t,x:o,y:r}=e,n=t/8,i=.5*t,s=i-n;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o+t/2} ${r+(t/2-i)} a ${i} ${i} 0 1 0 0.1 0 z m 0 ${n} a ${s} ${s} 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",$o`M ${o+t/2} ${r+(t/2-(i+n))} a ${i+n} ${i+n} 0 1 0 0.1 0 z`)}})}basicSquare(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o} ${r} v ${t} h ${t} v ${-t} z M ${o+n} ${r+n} h ${t-2*n} v ${t-2*n} h ${2*n-t} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",$o`M ${o-n} ${r-n} h ${t+2*n} v ${t+2*n} h ${-t-2*n} z`)}})}basicExtraRounded(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o} ${r+2.5*n} v ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*n} h ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*-n} v ${-2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*-n} h ${-2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*n} z M ${o+2.5*n} ${r+n} h ${2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*n} v ${2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*n} h ${-2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*-n} v ${-2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*-n} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",$o`M ${o-n} ${r+2.5*n} v ${2*n} a ${3.5*n} ${3.5*n}, 0, 0, 0, ${3.5*n} ${3.5*n} h ${2*n} a ${3.5*n} ${3.5*n}, 0, 0, 0, ${3.5*n} ${3.5*-n} v ${-2*n} a ${3.5*n} ${3.5*n}, 0, 0, 0, ${3.5*-n} ${3.5*-n} h ${-2*n} a ${3.5*n} ${3.5*n}, 0, 0, 0, ${3.5*-n} ${3.5*n} z`)}})}basicClassy(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o} ${r+2.5*n} v ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*n} h ${4.5*n} v ${-4.5*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*-n} h ${-2*n} H ${o} z M ${o+2.5*n} ${r+n} h ${2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*n} v ${3.5*n} h ${-3.5*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*-n} v ${-3.5*n} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",$o`M ${o+.5*n} ${r-n} h ${4*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*n} ${3.5*n} v ${5.5*n} h ${-5.5*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*-n} ${3.5*-n} v ${-5.5*n} z`)}})}basicInpoint(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o} ${r+2.5*n} v ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*n} h ${4.5*n} v ${-4.5*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*-n} h ${-2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*n} z M ${o+2.5*n} ${r+n} h ${2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*n} v ${3.5*n} h ${-3.5*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*-n} v ${-2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*-n} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",$o`M ${o+.5*n} ${r-n} h ${4*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*n} ${3.5*n} v ${5.5*n} h ${-5.5*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*-n} ${3.5*-n} v ${-2*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*n} ${3.5*-n} z`)}})}drawDot({x:e,y:t,size:o,rotation:r}){this.basicDot({x:e,y:t,size:o,rotation:r})}drawSquare({x:e,y:t,size:o,rotation:r}){this.basicSquare({x:e,y:t,size:o,rotation:r})}drawExtraRounded({x:e,y:t,size:o,rotation:r}){this.basicExtraRounded({x:e,y:t,size:o,rotation:r})}drawClassy({x:e,y:t,size:o,rotation:r}){this.basicClassy({x:e,y:t,size:o,rotation:r})}drawInpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:r})}drawOutpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:(r||0)+Math.PI})}}class or{get element(){return this._element}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case J.dot:t=this.drawDot;break;case J.randomDot:t=this.drawRandomDot;break;case J.classy:t=this.drawClassy;break;case J.classyRounded:t=this.drawClassyRounded;break;case J.rounded:t=this.drawRounded;break;case J.verticalLine:t=this.drawVerticalLine;break;case J.horizontalLine:t=this.drawHorizontalLine;break;case J.extraRounded:t=this.drawExtraRounded;break;case J.diamond:t=this.drawDiamond;break;case J.smallSquare:t=this.drawSmallSquare;break;case J.tinySquare:t=this.drawTinySquare;break;case J.star:t=this.drawStar;break;case J.plus:t=this.drawPlus;break;case J.square:default:t=this.drawSquare}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:n}){const i=e+o/2,s=t+o/2;n(),this._element?.setAttribute("transform",`rotate(${Qo(180*r/Math.PI)},${i},${s})`)}basicDot(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",Qo(o+t/2)),this._element.setAttribute("cy",Qo(r+t/2)),this._element.setAttribute("r",Qo(t/2))}})}basicSquare(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",Qo(o)),this._element.setAttribute("y",Qo(r)),this._element.setAttribute("width",Qo(t)),this._element.setAttribute("height",Qo(t))}})}basicSideRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",$o`M ${o} ${r} v ${t} h ${t/2} a ${t/2} ${t/2}, 0, 0, 0, 0 ${-t} z`)}})}basicCornerRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",$o`M ${o} ${r} v ${t} h ${t} v ${-t/2} a ${t/2} ${t/2}, 0, 0, 0, ${-t/2} ${-t/2} z`)}})}basicCornerExtraRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",$o`M ${o} ${r} v ${t} h ${t} a ${t} ${t}, 0, 0, 0, ${-t} ${-t} z`)}})}basicCornersRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",$o`M ${o} ${r} v ${t/2} a ${t/2} ${t/2}, 0, 0, 0, ${t/2} ${t/2} h ${t/2} v ${-t/2} a ${t/2} ${t/2}, 0, 0, 0, ${-t/2} ${-t/2} z`)}})}drawDot({x:e,y:t,size:o}){this.basicDot({x:e,y:t,size:o,rotation:0})}drawRandomDot({x:e,y:t,size:o}){const r=.25*Math.random()+.75;this.basicDot({x:e,y:t,size:o*r,rotation:0})}drawSquare({x:e,y:t,size:o}){this.basicSquare({x:e,y:t,size:o,rotation:0})}drawSmallSquare({x:e,y:t,size:o}){const r=o;o=.7*r,e+=.15*r,t+=.15*r,this.basicSquare({x:e,y:t,size:o,rotation:0})}drawTinySquare({x:e,y:t,size:o}){const r=o;o=.6*r,e+=.35*r,t+=.35*r,this.basicSquare({x:e,y:t,size:o,rotation:0})}drawDiamond({x:e,y:t,size:o}){this.basicSquare({x:e,y:t,size:o,rotation:Math.PI/4})}drawRounded({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,d=n+i+s+a;if(0!==d)if(d>2||n&&i||s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else{if(2===d){let r=0;return n&&s?r=Math.PI/2:s&&i?r=Math.PI:i&&a&&(r=-Math.PI/2),void this.basicCornerRounded({x:e,y:t,size:o,rotation:r})}if(1===d){let r=0;return s?r=Math.PI/2:i?r=Math.PI:a&&(r=-Math.PI/2),void this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}else this.basicDot({x:e,y:t,size:o,rotation:0})}drawVerticalLine({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;if(0===n+i+s+a||n&&!s&&!a||i&&!s&&!a)this.basicDot({x:e,y:t,size:o,rotation:0});else if(s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else if(!s||a)if(!a||s);else{const r=-Math.PI/2;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}else{const r=Math.PI/2;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}drawHorizontalLine({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;if(0===n+i+s+a||s&&!n&&!i||a&&!n&&!i)this.basicDot({x:e,y:t,size:o,rotation:0});else if(n&&i)this.basicSquare({x:e,y:t,size:o,rotation:0});else if(!n||i)if(!i||n);else{const r=Math.PI;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}else{const r=0;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}drawExtraRounded({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,d=n+i+s+a;if(0!==d)if(d>2||n&&i||s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else{if(2===d){let r=0;return n&&s?r=Math.PI/2:s&&i?r=Math.PI:i&&a&&(r=-Math.PI/2),void this.basicCornerExtraRounded({x:e,y:t,size:o,rotation:r})}if(1===d){let r=0;return s?r=Math.PI/2:i?r=Math.PI:a&&(r=-Math.PI/2),void this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}else this.basicDot({x:e,y:t,size:o,rotation:0})}drawClassy({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==n+i+s+a?n||s?i||a?this.basicSquare({x:e,y:t,size:o,rotation:0}):this.basicCornerRounded({x:e,y:t,size:o,rotation:Math.PI/2}):this.basicCornerRounded({x:e,y:t,size:o,rotation:-Math.PI/2}):this.basicCornersRounded({x:e,y:t,size:o,rotation:Math.PI/2})}drawClassyRounded({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==n+i+s+a?n||s?i||a?this.basicSquare({x:e,y:t,size:o,rotation:0}):this.basicCornerExtraRounded({x:e,y:t,size:o,rotation:Math.PI/2}):this.basicCornerExtraRounded({x:e,y:t,size:o,rotation:-Math.PI/2}):this.basicCornersRounded({x:e,y:t,size:o,rotation:Math.PI/2})}drawStar({x:e,y:t,size:o}){this.rotateFigure({x:e,y:t,size:o,rotation:0,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const r=e+o/2,n=t+o/2,i=1.3*o/2,s=.5*i;let a="";for(let e=0;e<10;e++){const t=e*Math.PI/5-Math.PI/2,o=e%2==0?i:s;a+=(0===e?"M":"L")+`${r+o*Math.cos(t)},${n+o*Math.sin(t)}`}a+="Z",this._element?.setAttribute("d",a)}})}drawPlus({x:e,y:t,size:o}){this.rotateFigure({x:e,y:t,size:o,rotation:0,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const r=.35*o,n=.85*o,i=(o-n)/2,s=r/2,a=[`M ${e+o/2-s} ${t+i}`,`h ${r}`,`v ${n}`,"h "+-r,"z",`M ${e+i} ${t+o/2-s}`,`h ${n}`,`v ${r}`,"h "+-n,"z"].join(" ");this._element?.setAttribute("d",a)}})}}const rr={toDataURL:e=>"string"==typeof e&&e.startsWith("data:")?Promise.resolve(e):new Promise(((t,o)=>{if("string"==typeof e){const r=new XMLHttpRequest,n=()=>{r.abort()};r.onload=()=>{if(r.status<200||r.status>=300)return n(),void o(new Error(`Failed to load image: ${r.statusText}`));const e=new FileReader;e.onloadend=()=>{n(),t(e.result)},e.onerror=()=>{n(),o(new Error("Failed to read image blob"))},e.readAsDataURL(r.response)},r.onerror=r.ontimeout=r.onabort=()=>{n(),o(new Error("Image load aborted or failed"))};try{r.open("GET",e,!0),r.responseType="blob",r.timeout=1e4,r.send()}catch(e){n(),o(e)}}else{const r=new FileReader;r.onloadend=()=>{t(r.result)},r.onerror=()=>{o(new Error("Failed to read local image"))},r.readAsDataURL(e)}})).catch((e=>(console.error("Image loading error:",e),"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjY2NjIi8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiMwMDAiIGZvbnQtc2l6ZT0iMTYiPkxvZ28gbG9hZCBlcnJvcjwvdGV4dD48L3N2Zz4="))),getSize:(e,t)=>new Promise(((o,r)=>{const n=new Image,i=setTimeout((()=>{r(new Error("Image loading timed out"))}),15e3);"string"==typeof t&&(n.crossOrigin=t);const s=()=>{clearTimeout(i),n.onload=n.onerror=n.onabort=null,n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="};n.onload=()=>{s(),o({width:n.width,height:n.height})},n.onerror=n.onabort=()=>{s(),r(new Error("Failed to load image"))};try{"string"==typeof e?n.src=e:rr.toDataURL(e).then((e=>{e?n.src=e:r(new Error("Invalid image source"))})).catch(r)}catch(e){s(),r(e)}})).catch((e=>(console.warn("[QRCodeJs] Image size detection error:",e),{width:200,height:200})))};function nr(e){let t,o=[],r=1;if("#"===(e=e.toLowerCase())[0]){const t=e.slice(1),n=t.length;n<=4?(o=[parseInt(t[0]+t[0],16),parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16)],4===n&&(r=parseInt(t[3]+t[3],16)/255)):(o=[parseInt(t[0]+t[1],16),parseInt(t[2]+t[3],16),parseInt(t[4]+t[5],16)],8===n&&(r=parseInt(t[6]+t[7],16)/255)),o[0]||(o[0]=0),o[1]||(o[1]=0),o[2]||(o[2]=0)}else{if(!(t=/^((?:rgba?))\s*\(([^)]*)\)/.exec(e)))return{value:e,alpha:r};{const e=3;o=t[2].trim().split(/\s*[,/]\s*|\s+/),o=o.map(((e,t)=>{if("%"===e[e.length-1]){const o=parseFloat(e)/100;return 3===t?o:255*o}return"none"===e?0:parseFloat(e)})),r=o.length>e?o.pop():1}}return{value:"#"+o.map((e=>Math.max(0,Math.min(255,e)).toString(16).padStart(2,"0"))).join(""),alpha:Math.max(0,Math.min(1,r))}}const ir="undefined"!=typeof window&&void 0!==window.document,sr="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,ar="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent;let dr;async function lr(e,t){if(e.startsWith("data:"))return Promise.resolve(e);try{const o={method:"GET",mode:"cors"};"anonymous"!==t&&"use-credentials"!==t||(o.credentials="use-credentials"===t?"include":"omit");const r=await fetch(e,o);if(!r.ok)return console.warn(`[QRCodeJs] Failed to fetch image directly: ${r.status} ${r.statusText}`),null;if(ir){const e=await r.blob();return e.type.startsWith("image/")?new Promise(((t,o)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.onerror=e=>{console.warn("[QRCodeJs] FileReader error:",e),o(new Error("Failed to read image blob"))},r.readAsDataURL(e)})):(console.warn(`[QRCodeJs] Fetched resource is not an image: ${e.type}`),null)}if(sr||ar){const e=r.headers.get("content-type");if(!e||!e.startsWith("image/"))return console.warn(`[QRCodeJs] Fetched resource is not an image or content-type missing: ${e}`),null;const t=await r.arrayBuffer();let o="";if(sr){const e=await async function(){if(dr)return dr;if(sr)try{const e=await import("buffer");dr=e.Buffer}catch(e){console.error("[QRCodeJs] Failed to dynamically import 'buffer' in Node.js:",e),dr=void 0}return dr}();if(!e)return console.error("[QRCodeJs] Buffer module not loaded in Node.js environment."),null;o=e.from(t).toString("base64")}else if(o=function(e){let t="";const o=new Uint8Array(e),r=o.byteLength;for(let e=0;e<r;e++)t+=String.fromCharCode(o[e]);return"undefined"!=typeof btoa?btoa(t):""}(t),!o)return console.warn("[QRCodeJs] Failed to convert ArrayBuffer to Base64 in Worker."),null;return`data:${e};base64,${o}`}return console.warn("[QRCodeJs] Unknown environment, cannot convert image to Data URL."),null}catch(e){return console.warn("[QRCodeJs] Error fetching image directly:",e),null}}async function cr(e){const t=`https://api.qr-platform.com/v1/utils/get-dataurl?url=${encodeURIComponent(e)}`;try{const e=await fetch(t,{method:"GET",headers:{"x-client-name":"QRCode.js"},mode:"cors"});if(!e.ok)return console.warn(`[QRCodeJs] Failed to fetch image via proxy: ${e.status} ${e.statusText}`),null;const o=await e.json();return o&&"string"==typeof o.dataUrl&&o.dataUrl.startsWith("data:image/")?o.dataUrl:(console.warn("[QRCodeJs] Proxy response did not contain a valid dataUrl:",o),null)}catch(e){return console.warn("[QRCodeJs] Error fetching image via proxy:",e),null}}const ur=[[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]],hr=[[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 pr{constructor(e){this.roundValue=e=>"number"==typeof e?e:parseInt(e.replace("%",""),10)/100;const t=e.margin||0,o="circle"===e.shape?.1:.3,{bordersMain:r,bordersOuter:n,bordersInner:i}=e,s=Math.min(e.width,e.height),a=Z(e.borderOptions?.radius),d=Z(e.borderOptions?.inner?.radius,a),l=a&&I(a)>0?I(a)/100*s:0,c=(a&&I(d)>0?I(d)/100*s:0)??l,u=c>0&&e.borderOptions?.hasBorder?c*o:0;this.finalWidth=e.width+r.left+r.right+n.left+n.right+i.left+i.right,this.finalHeight=e.height+r.top+r.bottom+n.top+n.bottom+i.top+i.bottom;const h=r.left+r.right+n.left+n.right+i.left+i.right,p=r.top+r.bottom+n.top+n.bottom+i.top+i.bottom,m=e.borderOptions?.hasBorder?this.finalWidth-h-2*n.left-2*i.left-i.right-2*t-u:this.finalWidth-2*t,g=e.borderOptions?.hasBorder?this.finalHeight-p-2*n.top-2*i.top-i.top-2*t-u:this.finalHeight-2*t,f=m/e.width,b=g/e.height,y=Math.min(f,b),O=Math.min(Math.max(e.scale??1,0),1.5),C=Math.min(Math.max(e.borderOptions?.inner?.scale??1,0),1.5),S=e.borderOptions?.inner?.horizontalOffset||0,k=e.borderOptions?.inner?.verticalOffset||0;e.scale=y*O*C||1,this.options=e,this.document=e.document,this.imageTools=e.imageTools||rr,this._element=this.document.createElementNS("http://www.w3.org/2000/svg","svg");const w=Qo(e.width),v=Qo(e.height);if(e.isResponsive)this._element.setAttribute("height","100%"),this._element.setAttribute("width","100%");else{const t=e.userWidth||e.width,o=e.userHeight||e.height;t&&("string"==typeof t?this._element.setAttribute("width",t):this._element.setAttribute("width",Qo(t))),o&&("string"==typeof o?this._element.setAttribute("height",o):this._element.setAttribute("height",Qo(o)))}this._element.setAttribute("viewBox",`0 0 ${w} ${v}`),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 A=(m-e.width*e.scale)/2+t-S+u/2,T=(g-e.height*e.scale)/2+t-k+u/2;if(e.borderOptions?.hasBorder){const t={top:W(e.borderOptions,"top"),right:W(e.borderOptions,"right"),bottom:W(e.borderOptions,"bottom"),left:W(e.borderOptions,"left")},o=e.borderOptions.thickness||0,r=e.borderOptions.borderOuter?.thickness||0,n=e.borderOptions.borderInner?.thickness||0,i=e.borderOptions.noBorderThickness||o/4;T+=((t.top?o:i)-(t.bottom?o:i))/2+r+n+n/2,A+=((t.left?o:i)-(t.right?o:i))/2+r+n+n/2}e.verticalOffset&&(T-=e.verticalOffset),e.horizontalOffset&&(A-=e.horizontalOffset),this._instanceId=pr.instanceCount++,1===e.scale&&0===A&&0===T||this._innerQrGroup.setAttribute("transform",`translate(${A}, ${T}) scale(${e.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(e){const t=e.getModuleCount(),o=parseInt(((t-17)/4).toFixed(0),10),r=this.options.dotsOptions.size;let n={hideXDots:0,hideYDots:0,width:0,height:0};if(this.qr=e,this.options.borderOptions?.hasBorder||this.drawBackground(),this.options.image){const e=await this.imageTools.getSize(this.options.image,this.options.imageOptions.crossOrigin),{imageOptions:i}=this.options;if(this.options.imageOptions.mode==F.background){const t=0,o=(this.finalWidth-2*t*r)*i.imageSize,s=(this.finalHeight-2*t*r)*i.imageSize;let{width:a,height:d}=e;d=d/a*o,a=o,d>s&&(a=a/d*s,d=s),n={hideXDots:0,hideYDots:0,width:a,height:d}}else{const i=this.options.imageOptions.imageSize*this.options.errorCorrectionPercent,s=g.getPatternPosition(o),a=Math.floor(i*(t*t-192-2*(t-16)-s.length**2*25));n=function({originalHeight:e,originalWidth:t,maxHiddenDots:o,maxHiddenAxisDots:r,dotSize:n,margin:i}){const s={x:0,y:0},a={x:0,y:0};if(e<=0||t<=0||o<=0||n<=0||4*i**2>o)return{height:0,width:0,hideYDots:0,hideXDots:0};r&&r%2==0&&(r=Math.max(1,r-1));const d=Math.max(t,e),l=Math.min(t,e);let c=0,u=(r||o)-2*i;do{const e=c+(u-c)/2;let t=Math.max(1,Math.ceil(e+2*i));t%2==0&&t++;let r=Math.max(1,Math.ceil(e*l/d+2*i));r%2==0&&r++,t*r>o?u=e:c=e}while(Math.abs(c-u)>.001);const h=c;let p=Math.max(1,Math.ceil(h+2*i));p%2==0&&p++;let m=Math.max(1,Math.ceil(h*l/d+2*i));m%2==0&&m++,t>e?(s.x=p,s.y=m):(s.x=m,s.y=p);const g=(s.x-2*i)*n,f=(s.y-2*i)*n;return a.x=g,a.y=g*e/t,a.y>f&&(a.y=f,a.x=f*t/e),{height:Math.round(a.y+2*i*n),width:Math.round(a.x+2*i*n),hideYDots:s.y,hideXDots:s.x}}({originalWidth:e.width,originalHeight:e.height,maxHiddenDots:a,maxHiddenAxisDots:t-14,dotSize:r,margin:this.options.imageOptions.margin})}}this.options.imageOptions.mode!=F.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:r,radius:this.options.imageOptions?.radius}),this.drawDots(((e,o)=>!(this.options.imageOptions.mode==F.center&&e>=(t-n.hideXDots)/2&&e<(t+n.hideXDots)/2&&o>=(t-n.hideYDots)/2&&o<(t+n.hideYDots)/2)&&!(e<8&&o<8||e>=t-8&&o<8||o>=t-8&&e<8))),this.options.imageOptions.mode==F.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:r}),this.drawCorners()}drawBackground(){const e=this.options;if(this._element&&e.backgroundOptions){const t=e.backgroundOptions.gradient,o=e.backgroundOptions.color;this.createColor({options:t,color:o,additionalRotation:0,x:0,y:0,height:e.height,width:e.width,name:`background-color-${this._instanceId}`});const r=Math.min(e.width,e.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 i=e.backgroundOptions?.round||0,s=this.roundValue(i);n.setAttribute("x",Qo((e.width-r)/2)),n.setAttribute("y",Qo((e.height-r)/2)),n.setAttribute("width",Qo(r)),n.setAttribute("height",Qo(r)),n.setAttribute("rx",Qo(r/2*s)),this.backgroundMaskGroup.appendChild(n)}}drawBackgroundForBorder(e,t){const o=this.options;if(o.backgroundOptions){const r=o.backgroundOptions.gradient,n=o.backgroundOptions.color||"#ffffff",i=Math.min(o.width,o.height)-2*e,s=(o.width-i)/2,a=(o.height-i)/2,d=t-e,l=this.createColor({options:r,borderOptions:o.borderOptions,color:n,additionalRotation:0,x:s,y:a,height:i,width:i,name:`background-color-${this._instanceId}`,returnSVGGroup:!0}),c=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),c.setAttribute("x",Qo(s)),c.setAttribute("y",Qo(a)),c.setAttribute("width",Qo(i)),c.setAttribute("height",Qo(i)),c.setAttribute("rx",Qo(d)),this.backgroundMaskGroup.appendChild(c),l}}drawDots(e){if(!this.qr)throw new Error("QR code is not defined");const t=this.options,o=this.qr.getModuleCount();if(o>t.width||o>t.height)throw new Error("The canvas is too small");const r=t.dotsOptions.size;let n=Math.min(t.width,t.height);t.imageOptions.mode==F.background&&(n-=2*r*(t.imageOptions.margin||0));const i=Math.floor((t.width-o*r)/2);let s=Math.floor((t.height-o*r)/2);if(t.offset){const e=(t.height-o*r)/2;s+=Math.min(Math.abs(t.offset),e)*Math.sign(t.offset)}let a=new or(t.dotsOptions.type,this.document);const d=new or(J.tinySquare,this.document),l=new or(J.square,this.document);[this.dotsMask,this.dotsMaskGroup]=this.createMask(`mask-dot-color-${this._instanceId}`),this.defs.appendChild(this.dotsMask),t.imageOptions.mode==F.background&&([this.lightDotsMask,this.lightDotsMaskGroup]=this.createMask(`mask-light-dot-color-${this._instanceId}`),this.defs.appendChild(this.lightDotsMask));let c=0,u=o;t.shape===E.circle?(c=Math.floor((n/r-o-2)/2),u=o+2*c):t.imageOptions.mode==F.background&&(c=1,u=o+2*c);const h=i-c*r,p=s-c*r,m=h,f=p,b=o+2*c,y=new Array(u),O=Math.floor(u/2);for(let r=0;r<u;r++){y[r]=new Array(u);for(let n=0;n<u;n++)if(r>c-1&&r<u-c&&n>c-1&&n<u-c){const t=r-c,o=n-c;e&&!e(t,o)?y[r][n]=void 0:y[r][n]=!!this.qr.isDark(o,t)}else t.shape===E.circle&&Math.sqrt((r-O)*(r-O)+(n-O)*(n-O))>O?y[r][n]=void 0:y[r][n]=r!=c-1&&r!=u-c&&n!=c-1&&n!=u-c?this.qr.isDark(n-2*c<0?n:n>=o?n-2*c:n-c,r-2*c<0?r:r>=o?r-2*c:r-c):(n==c-1&&(r<c+8||r>u-c-9)||n==u-c&&r<c+8||r==c-1&&(n<c+8||n>u-c-9)||r==u-c&&n<c+8)&&void 0}const C=(o-17)/4,S=g.getPatternPosition(C);for(let e=0;e<u;e++){const t=S.find((t=>e-c>t-3&&e-c<t+3));for(let o=0;o<u;o++){const n=S.find((e=>o-c>e-3&&o-c<e+3));null!=y[e][o]&&(this.lightDotsMask&&(a=t&&n&&(t!=S[0]&&n!=S[0]||n!=S[0]&&n!=S[S.length-1]||t!=S[0]&&t!=S[S.length-1])?l:d),y[e][o]?(a.draw({x:h+e*r,y:p+o*r,size:r,getNeighbor:(t,r)=>!0===y[e+t]?.[o+r]}),a.element&&this.dotsMaskGroup&&this.dotsMaskGroup.appendChild(a.element)):this.lightDotsMask&&(a.draw({x:h+e*r,y:p+o*r,size:r,getNeighbor:(t,r)=>!1===y[e+t]?.[o+r]}),a.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(a.element)))}}this.lightDotsMask&&this.createColor({color:t.imageOptions.backgroundColor,additionalRotation:0,x:m,y:f,height:b*r,width:b*r,name:`light-dot-color-${this._instanceId}`}),this.createColor({options:t.dotsOptions?.gradient,color:t.dotsOptions.color,additionalRotation:0,x:m,y:f,height:b*r,width:b*r,name:`dot-color-${this._instanceId}`})}drawCorners(){if(!this.qr)throw new Error("QR code is not defined");const e=this.qrGroup,t=this.options;if(!e)throw new Error("Element code is not defined");const o=this.qr.getModuleCount(),r=t.dotsOptions.size,n=7*r,i=3*r,s=Math.floor((t.width-o*r)/2);let a=Math.floor((t.height-o*r)/2);if(t.offset){const e=(t.height-o*r)/2,n=Math.min(Math.abs(t.offset),e)*Math.sign(t.offset);a+=n}[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((([e,d,l])=>{const c=s+e*r*(o-7),u=a+d*r*(o-7);let h=this.dotsMask,p=this.dotsMaskGroup,m=this.dotsMask,g=this.dotsMaskGroup;if((t.cornersSquareOptions?.gradient||t.cornersSquareOptions?.color)&&([h,p]=this.createMask(`mask-corners-square-color-${e}-${d}-${this._instanceId}`),this.defs.appendChild(h),m=h,g=p,this.createColor({options:t.cornersSquareOptions?.gradient,color:t.cornersSquareOptions?.color,additionalRotation:l,x:c,y:u,height:n,width:n,name:`corners-square-color-${e}-${d}-${this._instanceId}`})),t.cornersSquareOptions?.type){const e=new tr(t.cornersSquareOptions.type,this.document);e.draw({x:c,y:u,size:n,rotation:l}),e.element&&p&&p.appendChild(e.element),e.fill&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.fill)}else{const e=new or(t.dotsOptions.type,this.document);for(let t=0;t<ur.length;t++)for(let o=0;o<ur[t].length;o++)ur[t]?.[o]?(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>!!ur[t+e]?.[o+r]}),e.element&&p&&p.appendChild(e.element)):this.lightDotsMask&&!hr[t]?.[o]&&(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>!ur[t+e]?.[o+r]&&!hr[t+e]?.[o+r]}),e.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.element));if(this.lightDotsMask)for(let t=-1;t<8;t++)for(let o=-1;o<8;o++)-1!=t&&7!=t&&-1!=o&&7!=o||(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>{const n=t+e,i=o+r;return n>=-1&&n<=7&&i>=-1&&i<=7&&(-1==n||7==n||-1==i||7==i)}}),e.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.element))}if((t.cornersDotOptions?.gradient||t.cornersDotOptions?.color)&&([m,g]=this.createMask(`mask-corners-dot-color-${e}-${d}-${this._instanceId}`),this.defs.appendChild(m),this.createColor({options:t.cornersDotOptions?.gradient,color:t.cornersDotOptions?.color,additionalRotation:l,x:c+2*r,y:u+2*r,height:i,width:i,name:`corners-dot-color-${e}-${d}-${this._instanceId}`})),t.cornersDotOptions?.type){const e=new er(t.cornersDotOptions.type,this.document);e.draw({x:c+2*r,y:u+2*r,size:i,rotation:l}),e.element&&g&&g.appendChild(e.element)}else{const e=new or(t.dotsOptions.type,this.document);for(let t=0;t<hr.length;t++)for(let o=0;o<hr[t].length;o++)hr[t]?.[o]&&(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>!!hr[t+e]?.[o+r]}),e.element&&g&&g.appendChild(e.element))}}))}async drawImage({width:e,height:t,count:o,dotSize:r,radius:n}){const i=this.options,s=Math.floor((i.width-o*r)/2);let a=Math.floor((i.height-o*r)/2);if(i.offset){const e=(i.height-o*r)/2;a+=Math.min(Math.abs(i.offset),e)*Math.sign(i.offset)}let d=i.imageOptions.margin*r;i.imageOptions.mode==F.background&&(d=0);const l=s+d+(o*r-e)/2,c=a+d+(o*r-t)/2,u=e-2*d,h=t-2*d;let p=null;try{"string"==typeof i.image?p=await lr(i.image,i.imageOptions.crossOrigin):i.image&&(p=await this.imageTools.toDataURL(i.image)),"string"!=typeof i.image||p||(console.warn("Direct image fetch failed, attempting proxy..."),p=await cr(i.image))}catch(e){if(console.warn("[QRCodeJs] Error fetching image directly:",e),"string"==typeof i.image)try{console.warn("[QRCodeJs] Direct image fetch failed via error, attempting proxy..."),p=await cr(i.image)}catch(e){console.warn("[QRCodeJs] Failed to load image via proxy:",e)}}p||(console.warn("[QRCodeJs] Failed to load image directly and via proxy. Using fallback SVG."),p=pr.FALLBACK_IMAGE_DATA_URL);let m=null;if(n){m=`clip-path-image-${this._instanceId}`;const e=this.document.createElementNS("http://www.w3.org/2000/svg","clipPath");e.setAttribute("id",m);const t=this.document.createElementNS("http://www.w3.org/2000/svg","rect");t.setAttribute("x",Qo(l)),t.setAttribute("y",Qo(c)),t.setAttribute("width",Qo(u)),t.setAttribute("height",Qo(h));const o="number"==typeof n?`${n}px`:n;t.setAttribute("rx",o),t.setAttribute("ry",o),e.appendChild(t),this.defs.appendChild(e)}if(i.imageOptions.backgroundColor){const e=this.document.createElementNS("http://www.w3.org/2000/svg","rect");e.setAttribute("x",Qo(l)),e.setAttribute("y",Qo(c)),e.setAttribute("width",Qo(u)),e.setAttribute("height",Qo(h)),m&&e.setAttribute("clip-path",`url(#${m})`);const t=nr(i.imageOptions.backgroundColor);e.setAttribute("fill",t.value),t.alpha<1&&e.setAttribute("opacity",t.alpha.toFixed(7)),this.qrGroup.appendChild(e)}const g=this.document.createElementNS("http://www.w3.org/2000/svg","image");if(g.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",p),g.setAttribute("x",Qo(l)),g.setAttribute("y",Qo(c)),g.setAttribute("id",`qr-image-${this._instanceId}`),g.setAttribute("width",`${Qo(u)}px`),g.setAttribute("height",`${Qo(h)}px`),g.setAttribute("preserveAspectRatio","xMidYMid meet"),i.imageOptions?.padding){const e=i.imageOptions.padding;g.setAttribute("x",Qo(l+e)),g.setAttribute("y",Qo(c+e)),g.setAttribute("width",`${Qo(u-2*e)}px`),g.setAttribute("height",`${Qo(h-2*e)}px`)}m&&g.setAttribute("clip-path",`url(#${m})`),this.qrGroup.appendChild(g)}createColor({options:e,borderOptions:t,color:o,additionalRotation:r,x:n,y:i,height:s,width:a,name:d,returnSVGGroup:l=!1}){const c=a>s?a:s,u=this.document.createElementNS("http://www.w3.org/2000/svg","rect");if(u.setAttribute("x",Qo(n)),u.setAttribute("y",Qo(i)),u.setAttribute("height",Qo(s)),u.setAttribute("width",Qo(a)),u.setAttribute("style",`mask:url(#mask-${d}-${this._instanceId})`),e){let o;if(e.type===B.radial){o=this.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),o.setAttribute("id",d+"-"+this._instanceId),o.setAttribute("gradientUnits","userSpaceOnUse");let e=n+a/2,r=i+s/2;if(t){const o=t.thickness?t.thickness/2:0,d=2;W(t,"top")&&!W(t,"bottom")?r=i+o*d+s/2:!W(t,"top")&&W(t,"bottom")&&(r=i-o*d+s/2),W(t,"right")&&!W(t,"left")?e=n-o*d+a/2:!W(t,"right")&&W(t,"left")&&(e=n+o*d+a/2)}o.setAttribute("fx",Qo(e)),o.setAttribute("fy",Qo(r)),o.setAttribute("cx",Qo(n+a/2)),o.setAttribute("cy",Qo(i+s/2)),o.setAttribute("r",Qo(c/2))}else{const t=((e.rotation||0)+r)%(2*Math.PI),l=(t+2*Math.PI)%(2*Math.PI);let c=n+a/2,u=i+s/2,h=n+a/2,p=i+s/2;l>=0&&l<=.25*Math.PI||l>1.75*Math.PI&&l<=2*Math.PI?(c-=a/2,u-=s/2*Math.tan(t),h+=a/2,p+=s/2*Math.tan(t)):l>.25*Math.PI&&l<=.75*Math.PI?(u-=s/2,c-=a/2/Math.tan(t),p+=s/2,h+=a/2/Math.tan(t)):l>.75*Math.PI&&l<=1.25*Math.PI?(c+=a/2,u+=s/2*Math.tan(t),h-=a/2,p-=s/2*Math.tan(t)):l>1.25*Math.PI&&l<=1.75*Math.PI&&(u+=s/2,c+=a/2/Math.tan(t),p-=s/2,h-=a/2/Math.tan(t)),o=this.document.createElementNS("http://www.w3.org/2000/svg","linearGradient"),o.setAttribute("id",d+"-"+this._instanceId),o.setAttribute("gradientUnits","userSpaceOnUse"),o.setAttribute("x1",Qo(c)),o.setAttribute("y1",Qo(u)),o.setAttribute("x2",Qo(h)),o.setAttribute("y2",Qo(p))}e.colorStops.forEach((e=>{const t=this.document.createElementNS("http://www.w3.org/2000/svg","stop");t.setAttribute("offset",`${Qo(100*e.offset)}%`);const r=nr(e.color);t.setAttribute("stop-color",r.value),r.alpha<1&&t.setAttribute("stop-opacity",r.alpha.toFixed(7)),o.appendChild(t)})),u.setAttribute("fill",`url(#${d}-${this._instanceId})`),this.defs.appendChild(o)}else if(o){const e=nr(o);u.setAttribute("fill",e.value),e.alpha<1&&u.setAttribute("opacity",e.alpha.toFixed(7))}if(l)return u;d.startsWith("background-color")?this._element.insertBefore(u,this._maskedQrGroup):this.qrGroup.appendChild(u)}createMask(e){const t=`${e}-${this._instanceId}`,o=this.options,r=this.document.createElementNS("http://www.w3.org/2000/svg","mask");r.setAttribute("id",t),r.setAttribute("maskUnits","userSpaceOnUse"),r.setAttribute("x","0"),r.setAttribute("y","0"),r.setAttribute("width",Qo(o.width)),r.setAttribute("height",Qo(o.height));const n=this.document.createElementNS("http://www.w3.org/2000/svg","g");return n.setAttribute("fill","#fff"),r.appendChild(n),[r,n]}}pr.instanceCount=0,pr.FALLBACK_IMAGE_DATA_URL="data:image/png;base64,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";const mr=[{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"}}],gr=[{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:J.dot,cornerSquareShape:X.square,cornerDotShape:G.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"}},...mr];function fr(e){return gr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function br(e){return gr.find((t=>t.id===e))}const yr={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}}},Or={id:"square-border-thin",name:"Square Border (Thin)",options:{borderOptions:{...yr,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}}}}},Cr={id:"square-border-medium",name:"Square Border (Medium)",options:{borderOptions:{...yr,thickness:20,radius:"15%"}}},Sr={id:"square-border-thick",name:"Square Border (Thick)",options:{borderOptions:{...yr,thickness:20,radius:"2%"}}},kr={id:"rounded-border-thin-slight",name:"Rounded Border (Thin, Slight)",options:{borderOptions:{...yr,thickness:10,radius:"10%"}}},wr={id:"rounded-border-medium-medium",name:"Rounded Border (Medium)",options:{margin:-6,shape:"circle",borderOptions:{...yr,thickness:12,radius:"35%"}}},vr={id:"rounded-border-thick-high",name:"Rounded Border (Thick, High)",options:{shape:"circle",borderOptions:{...yr,thickness:30,radius:"50"}}},Ar={id:"rounded-border-thick-text",name:"Rounded Border (Thick, Text)",options:{shape:"circle",borderOptions:{...yr,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"}}}}},Tr={id:"rounded-border-outside-top-bottom-text",name:"Rounded Border Outside (Top & Bottom Text)",options:{shape:"circle",margin:-16,borderOptions:{...yr,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"}}}}},qr={id:"rounded-border-outside-left-right-text",name:"Rounded Border Outside (Left & Right Text)",options:{margin:-20,shape:"circle",borderOptions:{...yr,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"}}}}},Ir={id:"rounded-border-top-bottom-text",name:"Rounded Border (Top & Bottom Text)",options:{borderOptions:{...yr,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"}}}}},Zr={id:"rounded-border-left-right-text",name:"Rounded Border (Left & Right Text)",options:{margin:5,borderOptions:{...yr,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"}}}}},Dr={id:"double-square-border-thin",name:"Double Square Border Inside (Thin)",options:{borderOptions:{...yr,thickness:16,radius:"2%",borderInner:{thickness:6}}}},xr={id:"double-square-border-medium",name:"Double Square Border Outside (Medium)",options:{borderOptions:{...yr,thickness:16,radius:"2%",borderOuter:{thickness:6}}}},Wr={id:"double-rounded-border-medium",name:"Double Rounded Border (Medium)",options:{shape:"circle",margin:-20,borderOptions:{...yr,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}}}}}},Vr={id:"double-rounded-border-thick",name:"Double Rounded Border Outside (Thick)",options:{borderOptions:{...yr,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}}}}}},jr={id:"inner-square-border-medium",name:"Inner Square Border Inside (Medium)",options:{borderOptions:{...yr,thickness:10,radius:"2%",borderInner:{thickness:12}}}},Rr={id:"outer-rounded-border-medium",name:"Outer Rounded Border (Medium)",options:{margin:-20,shape:"circle",borderOptions:{...yr,inner:{radius:"20%"},thickness:15,radius:"25%",borderOuter:{thickness:20}}}},Mr={id:"rounded-inner-offset-text",name:"Rounded Inner Offset Text",options:{shape:"circle",margin:-20,borderOptions:{...yr,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"}}}}},Br={id:"square-thick-outer-thin-inner",name:"Square Thick Outer/Thin Inner",options:{borderOptions:{...yr,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"}}}}}},Yr={id:"square-thick-outer-round",name:"Square Thick Outer Round",options:{margin:6,borderOptions:{...yr,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"}}}}}},Jr={id:"square-thick-outer-thin-inner-bottom-text",name:"Square Thick Outer/Thin Inner Bottom Text",options:{borderOptions:{...yr,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}}}}},Gr=[Or,Cr,Sr,kr,wr,vr,Ar,Ir,Zr,Tr,qr,Dr,xr,Wr,Vr,jr,Rr,Mr,Br,Yr,{id:"pill-curved-text-top-bottom",name:"Pill Curved Text Top/Bottom",options:{shape:"circle",borderOptions:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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}}}}}},Jr,{id:"minimalist-thin-square",name:"Minimalist Thin Square",options:{borderOptions:{...yr,thickness:8,radius:"4%"}}},{id:"minimalist-thin-rounded",name:"Minimalist Thin Rounded",options:{margin:4,borderOptions:{...yr,thickness:8,radius:"25%"}}},{id:"chunky-square-border-text",name:"Chunky Square Border Text",options:{margin:10,borderOptions:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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 Xr(e){return Gr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Er(e){return Gr.find((t=>t.id===e))}const Fr=[{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 Lr(e){return Fr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Pr(e){return Fr.find((t=>t.id===e))}var Nr;!function(e){e.svg="svg",e.png="png",e.jpeg="jpeg",e.webp="webp"}(Nr||(Nr={})),Object.assign(C.stringToBytesFuncs,{UTF8:e=>function(e){const t=[];for(let o=0;o<e.length;o++){let r=e.charCodeAt(o);r<128?t.push(r):r<2048?t.push(192|r>>6,128|63&r):r<55296||r>=57344?t.push(224|r>>12,128|r>>6&63,128|63&r):(o++,r=65536+((1023&r)<<10|1023&e.charCodeAt(o)),t.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r))}return t}(e)});let zr=class e{get size(){return this.qrSVG?{width:this.qrSVG.width,height:this.qrSVG.height}:void 0}constructor(t,o=!1){var r;this._svgId=`qr-svg-${Math.random().toString(36).substring(2,9)}`,(r=t)&&0!==Object.keys(r).length||(console.warn("QRCodeJs: Options not provided. Using default options and base template."),t=Te);const n=t;let i=Te;e._selectedTemplate&&(i="id"in e._selectedTemplate&&"options"in e._selectedTemplate?w(i,e._selectedTemplate.options):w(i,e._selectedTemplate));let s={};e._selectedBorder&&(s="id"in e._selectedBorder&&"options"in e._selectedBorder?e._selectedBorder.options:e._selectedBorder);let a={};if(e._selectedStyle){const{isValid:t,errors:o}=ke(e._selectedStyle);t?a=Se(e._selectedStyle):console.warn("Invalid static style options ignored during instantiation:",o)}let d={};e._selectedImage&&!e._selectedImageOverride&&(d={image:e._selectedImage});let l={};e._selectedData&&!e._selectedDataOverride&&(l={data:e._selectedData});const c={};if(e._selectedText&&!e._selectedTextOverride){let t=null;if(t="id"in e._selectedText&&"options"in e._selectedText?e._selectedText.options:e._selectedText,t){c.borderOptions||(c.borderOptions={}),c.borderOptions.decorations||(c.borderOptions.decorations={});const e=c.borderOptions.decorations,o=null===t.value?void 0:t.value;void 0!==t.value&&(void 0===t.topValue&&(e.top={value:o}),void 0===t.bottomValue&&(e.bottom={value:o}),void 0===t.leftValue&&(e.left={value:o}),void 0===t.rightValue&&(e.right={value:o})),void 0!==t.topValue&&(e.top={value:null===t.topValue?void 0:t.topValue}),void 0!==t.leftValue&&(e.left={value:null===t.leftValue?void 0:t.leftValue}),void 0!==t.rightValue&&(e.right={value:null===t.rightValue?void 0:t.rightValue}),void 0!==t.bottomValue&&(e.bottom={value:null===t.bottomValue?void 0:t.bottomValue})}}const u=w(i,s,c,a,d,l,n,e._selectedOptions??{}),{warnings:h,validatedOptions:p}=_o(u);this.options=P(p);const m={};if(e._selectedImageOverride&&e._selectedImage&&(m.image=e._selectedImage),e._selectedTextOverride&&e._selectedText){m.borderOptions||(m.borderOptions={}),m.borderOptions.decorations||(m.borderOptions.decorations={});let t=null;if(t="id"in e._selectedText&&"options"in e._selectedText?e._selectedText.options:e._selectedText,t){const e=m.borderOptions.decorations,o=null===t.value?void 0:t.value;void 0!==t.value&&(void 0===t.topValue&&(e.top={value:o}),void 0===t.bottomValue&&(e.bottom={value:o}),void 0===t.leftValue&&(e.left={value:o}),void 0===t.rightValue&&(e.right={value:o})),void 0!==t.topValue&&(e.top={value:null===t.topValue?void 0:t.topValue}),void 0!==t.leftValue&&(e.left={value:null===t.leftValue?void 0:t.leftValue}),void 0!==t.rightValue&&(e.right={value:null===t.rightValue?void 0:t.rightValue}),void 0!==t.bottomValue&&(e.bottom={value:null===t.bottomValue?void 0:t.bottomValue})}}return e._selectedDataOverride&&e._selectedData&&(m.data=e._selectedData),e._selectedOptionsOverride&&e._selectedOptions&&Object.keys(m).length>0?this.options=P(w(this.options,w(m,e._selectedOptions))):Object.keys(m).length>0&&(this.options=P(w(this.options,m))),this.id=e._selectedInfo?.id,this.name=e._selectedInfo?.name,this.description=e._selectedInfo?.description,this.metadata=e._selectedMetadata??void 0,h.length>0&&this._logValidationWarnings("QR Code Options Validation Warnings:",h),this.update(),this}static setTemplate(t){if(null===t)return e._selectedTemplate=null,e;if("string"==typeof t){const o=t,r=No(o);r?e._selectedTemplate=r:(console.warn(`QR Code template name "${o}" not found. Using base template.`),e._selectedTemplate=Te)}else e._selectedTemplate=t;return e}static setTemplateId(t){if(null===t)return e._selectedTemplate=null,e;const o=zo(t);return o?e._selectedTemplate=o:(console.warn(`QR Code template ID "${t}" not found in setTemplateId. Using default.`),e._selectedTemplate=Te),e}static getTemplates(){return{findTextTemplateById:Pr,findTextByName:Lr,findTemplateByName:No,findTemplateById:zo,findBorderById:Er,findBorderByName:Xr,findStyleById:br,findStyleByName:fr,baseTemplates:Po,borderTemplates:Gr,styleTemplates:gr,textTemplates:Fr}}static setStyle(t){if(null===t)return e._selectedStyle=null,e;let o=null;if("string"==typeof t){const r=t,n=fr(r);n?(o=n.style,e._selectedStyle=o):(console.warn(`QR Code style name "${r}" not found in setStyle. Ignoring.`),e._selectedStyle=null)}else{const{isValid:r,errors:n}=ke(t);r?(o=t,e._selectedStyle=o):(console.warn("Invalid style options object provided to setStyle:",n),e._selectedStyle=null)}return e}static setBorder(t){if(null===t)return e._selectedBorder=null,e;if("string"==typeof t){const o=t,r=Xr(o);r?e._selectedBorder=r:(console.warn(`QR Code border template name "${o}" not found. Ignoring.`),e._selectedBorder=null)}else e._selectedBorder={borderOptions:t};return e}static setBorderId(t){if(null===t)return e._selectedBorder=null,e;const o=Er(t);return o?e._selectedBorder=o:(console.warn(`QR Code border template ID "${t}" not found in setBorderId. Ignoring.`),e._selectedBorder=null),e}static setStyleId(t){if(null===t)return e._selectedStyle=null,e;const o=br(t);return o?e._selectedStyle=o.style:(console.warn(`QR Code style ID "${t}" not found in setStyleId. Ignoring.`),e._selectedStyle=null),e}static setImage(t,o){return e._selectedImage=t,e._selectedImageOverride=!!o?.override,e}static setData(t,o){return e._selectedData=t,e._selectedDataOverride=!!o?.override,e}static setOptions(t,o){return e._selectedOptions=t,e._selectedOptionsOverride=!!o?.override,e}static setText(t,o){if(null===t)e._selectedText=null;else if("string"==typeof t){const o=Lr(t);o?e._selectedText=o:(console.warn(`QR Code text template name "${t}" not found. Ignoring.`),e._selectedText=null)}else e._selectedText=t;return e._selectedTextOverride=!!o?.override,e}static setTextId(t,o){if(null===t)e._selectedText=null;else{const o=Pr(t);console.log("foundTextTemplate",o),o?e._selectedText=o:(console.warn(`QR Code text template ID "${t}" not found in setTextId. Ignoring.`),e._selectedText=null)}return e._selectedTextOverride=!!o?.override,e}static setSettings(t){if(null===t)return e._selectedTemplate=null,e._selectedBorder=null,e._selectedStyle=null,e._selectedImage=null,e._selectedImageOverride=!1,e._selectedText=null,e._selectedTextOverride=!1,e._selectedData=null,e._selectedDataOverride=!1,e._selectedOptions=null,e._selectedOptionsOverride=!1,e._selectedInfo=null,e._selectedMetadata=null,e;const{id:o,name:r,description:n,metadata:i,options:s,template:a,templateId:d,style:l,styleId:c,border:u,borderId:h,text:p,textId:m,image:g,data:f,...b}=t;return e._selectedInfo={id:o,name:r,description:n},e._selectedMetadata=i??null,d?e.setTemplateId(d):a&&e.setTemplate(a),c?e.setStyleId(c):l&&e.setStyle(l),h?e.setBorderId(h):u&&e.setBorder(u),m?e.setTextId(m):p&&e.setText(p),g&&e.setImage(g),f&&e.setData(f),s&&e.setOptions(s),Object.keys(b).length>0&&console.warn("QRCodeJs.setSettings: Unknown properties in settings object:",b),e}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(e){return this.id=e,this}setName(e){return this.name=e,this}setDescription(e){return this.description=e,this}setMetadata(e){return this.metadata=e,this}async update(e){const t=e?w(this.options,e):this.options,{warnings:o,validatedOptions:r}=_o(t);if(o.length>0&&this._logValidationWarnings("QR Code JS Options Update Validation Warnings:",o),this.options=P(r),!this.options.data)return void console.warn("QR Code update called without data.");this.options.stringToBytesFuncs&&(Object.assign(C.stringToBytesFuncs,this.options.stringToBytesFuncs),delete this.options.stringToBytesFuncs),this.qr=new C(this.options.qrOptions.typeNumber,this.options.qrOptions.errorCorrectionLevel);const n=this.options.qrOptions?.mode||function(e){switch(!0){case/^[0-9]*$/.test(e):return O.numeric;case/^[0-9A-Z $%*+\-./:]*$/.test(e):return O.alphanumeric;case/[^\u0000-\u00ff]/.test(e):return O.unicode;default:return O.byte}}(this.options.data);this.qr.addData(this.options.data,n),this.qr.make(),await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise;const i=this.qrSVG?.element;if(this.container&&i){const e=this.container.querySelector(`#${this._svgId}`);e&&e!==i&&this.container.replaceChild(i,e)}}append(e,t){if(!e)return console.warn("QR Code append could not find container."),this;if(this.container=e,t?.clearContainer)for(;e.firstChild;)e.removeChild(e.firstChild);return this.qrSVG?.element&&!e.querySelector(`#${this._svgId}`)&&e.appendChild(this.qrSVG.element),this}async applyExtension(e){if(!e)throw new Error("Extension function should be defined.");this.extension=e,await this.update()}async deleteExtension(){this.extension=void 0,await this.update()}async serialize(e=!1){if(!this.qr)throw new Error("QR code is empty");if(this.qrSVG?.element||await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise,!this.qrSVG?.element)return;let t=this.qrSVG.element;if(e){const e=this.qrSVG.element.cloneNode(!0);e.style.filter="invert(1)",t=e}let o=(new XMLSerializer).serializeToString(t);return o='<?xml version="1.0" standalone="no"?>\r\n'+o,o}async _setupSvgAsync(){if(!this.qr)return;let e=this.qr.getModuleCount();this.options.imageOptions.mode===F.background&&this.options.shape!==E.circle&&(e+=2);let t=Math.ceil((this.options.shape===E.circle?Math.sqrt(1.8):1.1)*e);t%2==0&&(t-=1);let o=0;this.options.imageOptions.mode===F.background&&(o+=this.options.imageOptions.margin||0);const r=Math.ceil(this.options.dotsOptions.size*(t+2*o)),n=this.options.borderOptions;let i=0,s=0;const a={top:0,right:0,bottom:0,left:0},d={top:0,right:0,bottom:0,left:0},l={top:0,right:0,bottom:0,left:0},c=(n?.noBorderThickness||n?.thickness)&&n.thickness?n.thickness/4:0;if(n?.hasBorder){const e=n.borderOuter?.thickness?2*n.borderOuter?.thickness:0,t=n.borderInner?.thickness?2*n.borderInner?.thickness:0;e>0&&(d.top=e/2,d.bottom=e/2,d.left=e/2,d.right=e/2),t>0&&(l.top=t/2,l.bottom=t/2,l.left=t/2,l.right=t/2),W(n,"left")?(a.left=n.thickness??0,i+=n.thickness??0):(a.left=c,i+=c),W(n,"right")?(a.right=n.thickness??0,i+=n.thickness??0):(a.right=c,i+=c),W(n,"top")?(a.top=n.thickness??0,s+=n.thickness??0):(a.top=c,s+=c),W(n,"bottom")?(a.bottom=n.thickness??0,s+=n.thickness??0):(a.bottom=c,s+=c)}const u=r+i,h=r+s;this.qrSVG=new pr({...this.options,width:u,height:h,userWidth:this.options.width,userHeight:this.options.height,bordersMain:a,bordersOuter:d,bordersInner:l,errorCorrectionPercent:N[this.options.qrOptions.errorCorrectionLevel],hls:!0}),this.qrSVG?.element?(this.qrSVG.element.id=this._svgId,this.svgDrawingPromise=this.qrSVG.drawQR(this.qr).then((()=>{var e;this.qrSVG?.element&&(this.options.instanceId=this.qrSVG._instanceId,this.options.borderOptions?.hasBorder&&(e=this.options.borderOptions,(t,o,r,n,i,s,a,d)=>{const{instanceId:l}=o,c=r,u=r,h=Math.min(c,u),p=Z(e.radius),m=p&&I(p)>0?I(p)/100*h:0,g=Z(e?.inner?.radius,m),f=Math.min(Math.max(e.inner?.scale??1,0),1.5),b=e.inner?.horizontalOffset??0,y=e.inner?.verticalOffset??0,O=e.thickness??0,C=e.color??"#000000",S=e.borderOuter?.thickness?e.borderOuter.thickness/2:0,k=e.borderInner?.thickness?e.borderInner.thickness/2:0,w=o.document,V=i.left+i.right,j=i.top+i.bottom,B=n(O,m),Y={top:W(e,"top"),right:W(e,"right"),bottom:W(e,"bottom"),left:W(e,"left")},J=w.createElementNS("http://www.w3.org/2000/svg","rect"),G={x:s.left/2,y:s.top/2,width:h+V-s.left,height:h+j-s.top,fill:C,rx:p??m};Object.entries(G).forEach((([e,t])=>{J.setAttribute(e,t.toString())}));const X=w.createElementNS("http://www.w3.org/2000/svg","rect"),E=m>=200?"50%":m,F=c+V-(i.left+i.right+a.left+a.right+s.left+s.right),L=u+j-(i.top+i.bottom+a.top+a.bottom+s.top+s.bottom),P=F*f,N=L*f,z=(F-P)/2-b,U=(L-N)/2-y,H={x:i.left+a.left+s.left+z,y:i.top+a.top+s.top+U,width:P,height:N,fill:B?.getAttribute("fill")||"#ffffff",rx:g??E};Object.entries(H).forEach((([e,t])=>X.setAttribute(e,t.toString()))),B&&(({strokePath:e,backgroundMaskGroup:t,svgElement:o,color:r="#000000"})=>{e.setAttribute("fill",t?.getAttribute("fill")||r),t.setAttribute("fill","none"),t.setAttribute("stroke-width","0"),o.insertBefore(t,o.firstChild)})({strokePath:X,backgroundMaskGroup:B,svgElement:t,color:C});let _=t.getElementsByTagName("defs")[0];_||(_=w.createElementNS("http://www.w3.org/2000/svg","defs"),t.insertBefore(_,t.firstChild));const K=w.createElementNS("http://www.w3.org/2000/svg","mask");K.setAttribute("id",`qr-mask-${l}`),K.setAttribute("maskUnits","userSpaceOnUse");const Q=w.createElementNS("http://www.w3.org/2000/svg","rect");if(Q.setAttribute("fill","white"),Object.entries(H).forEach((([e,t])=>{"fill"!==e&&Q.setAttribute(e,t.toString())})),_.appendChild(K),K.appendChild(Q),t.insertBefore(X,t.firstChild?.nextSibling),t.insertBefore(J,t.firstChild),e.borderOuter&&"number"==typeof e.borderOuter.thickness&&e.borderOuter.thickness>0){const o=w.createElementNS("http://www.w3.org/2000/svg","rect"),r={x:s.left/2,y:s.top/2,width:c+V-s.left,height:u+j-s.top,fill:"none",rx:p??m,stroke:e.borderOuter.color||"#c0c0c0","stroke-width":e.borderOuter.thickness};Object.entries(r).forEach((([e,t])=>o.setAttribute(e,t.toString()))),t.insertBefore(o,t.firstChild?.nextSibling)}if(B&&Array.from(t.getElementsByTagName("rect"))[0]){const e=t.firstChild;e?t.insertBefore(B,e):t.appendChild(B)}if(e.borderInner&&"number"==typeof e.borderInner.thickness&&e.borderInner.thickness>0){const o=w.createElementNS("http://www.w3.org/2000/svg","rect"),r={x:i.left+a.left+s.left+z,y:i.top+a.top+s.top+U,width:P,height:N,fill:"none",stroke:e.borderInner.color||"#c0c0c0","stroke-width":a.left,rx:g??E};Object.entries(r).forEach((([e,t])=>o.setAttribute(e,t.toString()))),t.appendChild(o)}const $=e,ee=[v,T,q,A];for(const e of ee){const o=$.decorations?.[e];if(!o||!o.enableText||!Y[e])continue;const r=o.type||D,n=r===x?M:r===D?R:void 0;n&&n({document:w,svg:t,position:e,thickness:$.thickness??0,value:o.value??"",style:o.style,offset:o.offset,curveAdjustment:o.curveAdjustment,curveDisabled:o.curveDisabled,height:u+j,width:c+V,enabledBorders:Y,outerBorderPadding:S,innerBorderPadding:k,round:p,curveRadius:o.curveRadius,instanceId:l,noBorderThickness:d})}})(this.qrSVG.element,this.options,r,this.qrSVG.drawBackgroundForBorder.bind(this.qrSVG),a,d,l,c),this.extension?.(this.qrSVG.element,this.options))})).catch((e=>{throw console.error("Error during SVG drawing or post-processing:",e),e}))):console.error("QRSVG element not created immediately after instantiation.")}async _drawToCanvasForValidation(e){const{width:t=300,height:o=300}=this.qrSVG?.svgSize??e??r,n=t,i=o,s=document.createElement("canvas");s.width=n,s.height=i;const a=await this.serialize();if(!a)throw new Error("Failed to serialize SVG.");const d="data:image/svg+xml;base64,"+btoa(a);return new Promise(((e,t)=>{const o=new Image;o.width=n,o.height=i,o.crossOrigin="Anonymous",o.onload=()=>{const r=s.getContext("2d");if(!r)return t(new Error("Could not get canvas 2D context"));r.drawImage(o,0,0,n,i),e(s)},o.onerror=o.onabort=t,o.src=d}))}async drawToCanvas(e){const t=document.createElement("canvas"),o=window.devicePixelRatio||1,r=e?.antialiasFactor||2,n=e?.antialiasLevel||"medium",i=e?.antialias??!0,s=(async()=>{try{const s=await this.serialize();if(!s)return void console.warn("SVG serialization returned empty.");const a="data:image/svg+xml;base64,"+function(e){const t=(new TextEncoder).encode(e),o=Array.from(t,(e=>String.fromCharCode(e))).join("");return btoa(o)}(s),d=new Image;await new Promise(((e,t)=>{d.onload=()=>e(),d.onerror=e=>t(new Error(`Image load error: ${e}`)),d.onabort=()=>t(new Error("Image load aborted")),d.src=a}));const{width:l,height:c}=this.qrSVG?.svgSize??{},u=l??d.naturalWidth,h=c??d.naturalHeight;if(u<=0||h<=0)throw new Error("Invalid SVG dimensions");let p,m;void 0!==e?.width&&void 0!==e?.height?(p=e.width,m=e.height):void 0!==e?.width?(p=e.width,m=p*(h/u)):void 0!==e?.height?(m=e.height,p=m*(u/h)):(p=u,m=h),t.width=p*o,t.height=m*o,t.style.width=`${p}px`,t.style.height=`${m}px`;const g=p/u,f=m/h,b=Math.min(g,f),y=u*b,O=h*b,C=(p-y)/2,S=(m-O)/2;let k;try{k=new OffscreenCanvas(y*o*r,O*o*r)}catch(e){k=document.createElement("canvas"),k.width=y*o*r,k.height=O*o*r}const w=k.getContext("2d");if(!w)throw new Error("Could not get OffscreenCanvas 2D context");w.imageSmoothingEnabled=i,w.imageSmoothingQuality=n,w.drawImage(d,0,0,k.width,k.height);const v=t.getContext("2d");if(!v)throw new Error("Could not get canvas 2D context");v.imageSmoothingEnabled=i,v.imageSmoothingQuality=n,v.scale(o,o),v.drawImage(k,0,0,k.width,k.height,C,S,y,O)}catch(e){throw console.error("Error drawing to canvas:",e),e}})();return{canvas:t,canvasDrawingPromise:s}}async _drawToCanvasPrevious(e){const{width:t=300,height:o=300}=e??this.qrSVG?.svgSize??r,n=1*t,i=1*o,s=document.createElement("canvas");s.width=n,s.height=i;const a=(async()=>{try{const e=await this.serialize();if(!e)return void console.warn("SVG serialization returned empty.");const r="data:image/svg+xml;base64,"+btoa(e),a=new Image;a.width=n,a.height=i,await new Promise(((e,d)=>{a.onload=()=>{const r=Math.ceil(2*Math.max(t,o)/Math.max(a.width,a.height));let l;try{l=new OffscreenCanvas(a.width*r*2,a.height*r*2)}catch(e){l=document.createElement("canvas"),l.width=a.width*r*2,l.height=a.height*r*2}const c=l.getContext("2d");if(!c)return d(new Error("Could not get OffscreenCanvas 2D context"));c.drawImage(a,0,0,l.width,l.height);const u=s.getContext("2d");if(!u)return d(new Error("Could not get canvas 2D context"));u.drawImage(l,0,0,l.width,l.height,0,0,n,i),e()},a.onerror=e=>d(new Error(`Image load error: ${e}`)),a.onabort=()=>d(new Error("Image load aborted")),a.src=r}))}catch(e){throw console.error("Error drawing to canvas:",e),e}})();return{canvas:s,canvasDrawingPromise:a}}downloadURI(e,t){const o=document.createElement("a");o.download=t,o.href=e,document.body.appendChild(o),o.click(),document.body.removeChild(o)}async download(e,t){if("undefined"==typeof Blob)throw new Error("Cannot download in Node.js environment");let o=Nr.png,r="qr";if(e&&(e.name&&(r=e.name),e.extension&&(o=e.extension)),"svg"===o.toLowerCase()){const e=await this.serialize();if(!e)return;const t="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(e);this.downloadURI(t,`${r}.svg`)}else{const e=await this.drawToCanvas(t);if(!e)return;const{canvas:n,canvasDrawingPromise:i}=e;await i;const s=n.toDataURL(`image/${o}`);this.downloadURI(s,`${r}.${o}`)}}async createOptimizedQRCanvas(e){const{width:t=300,height:o=300}=this.qrSVG?.svgSize??e??r,n=document.createElement("canvas");n.width=t,n.height=o;const i=await this.serialize();if(!i)throw new Error("Failed to serialize SVG.");const s="data:image/svg+xml;base64,"+btoa(Array.from((new TextEncoder).encode(i)).map((e=>String.fromCharCode(e))).join(""));return new Promise(((e,r)=>{const i=new Image;i.width=t,i.height=o,i.crossOrigin="Anonymous",i.onload=()=>{const s=n.getContext("2d");if(!s)return r(new Error("Could not get canvas 2D context"));s.imageSmoothingEnabled=!1,s.drawImage(i,0,0,t,o),this.applyQRThreshold(n),e(n)},i.onerror=e=>r(new Error(`Image load error: ${e}`)),i.onabort=()=>r(new Error("Image load aborted")),i.src=s}))}applyQRThreshold(e){const t=e.getContext("2d");if(!t)return;const o=t.getImageData(0,0,e.width,e.height),r=o.data;for(let e=0;e<r.length;e+=4){const t=(r[e]+r[e+1]+r[e+2])/3<128?0:255;r[e]=r[e+1]=r[e+2]=t}t.putImageData(o,0,0)}_logValidationWarnings(e,t){console.warn(e),t.forEach((e=>{console.warn(`option: ${e.path} - '${e.value}' : ${e.message}`)}))}};zr.version="0.20.2",zr._selectedTemplate=null,zr._selectedBorder=null,zr._selectedStyle=null,zr._selectedImage=null,zr._selectedImageOverride=!1,zr._selectedText=null,zr._selectedTextOverride=!1,zr._selectedData=null,zr._selectedDataOverride=!1,zr._selectedOptions=null,zr._selectedOptionsOverride=!1,zr._selectedInfo=null,zr._selectedMetadata=null;const Ur="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjY2NjIi8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiMwMDAiIGZvbnQtc2l6ZT0iMTYiPkxvZ28gbG9hZCBlcnJvcjwvdGV4dD48L3N2Zz4=";class Hr extends zr{static async initXmldom(){if(!Hr._xmldomSync){const t=e;Hr._xmldomSync=t}}constructor(e,r=!1){if(!Hr._xmldomSync)throw new Error("You must call QRCodeJs.initXmldom() before constructing QRCodeJs");const{DOMImplementation:n,DOMParser:i,XMLSerializer:s}=Hr._xmldomSync,a=(new n).createDocument(null,"");global.XMLSerializer=s,global.DOMParser=i;const d=new Map,l=async e=>{try{if("string"==typeof e){let o=d.get(e);return o||(o=new Promise((async(o,r)=>{const n=new AbortController,i=setTimeout((()=>{n.abort(),r(new Error("Image load timed out"))}),15e3);try{const r=await fetch(e,{signal:n.signal,headers:{"User-Agent":"QR-Plarform/1 (https://www.qr-platform.com; contact@qr-platform.com)"}});if(!r.ok)throw new Error(`HTTP ${r.status} - ${r.statusText}`);const s=Buffer.from(await r.arrayBuffer()),a=await t(s);clearTimeout(i),o({contentType:r.headers.get("Content-Type")||a?.mime,data:s})}catch(e){clearTimeout(i),r(e)}})),d.set(e,o),o)}{const o=Buffer.isBuffer(e)?e:Buffer.from(await e.arrayBuffer()),r=await t(o);return{contentType:r?.mime,data:o}}}catch(e){return console.warn("[QRCodeJs] Image loading failed:",e),{contentType:"image/svg+xml",data:Buffer.from(Ur.split(",")[1],"base64")}}};super({...e,document:e.document||a,imageTools:e.imageTools||{toDataURL:async e=>{try{if("string"==typeof e&&e.startsWith("data:"))return e;const{contentType:t,data:o}=await l(e);return`data:${t?.replace("application/xml","image/svg+xml")||"image/png"};base64,${o.toString("base64")}`}catch(e){return console.warn("[QRCodeJs] Data URL conversion failed:",e),Ur}},getSize:async t=>{try{const{data:r}=Buffer.isBuffer(e.image)?{data:e.image}:await l(t),n=o(r);return{width:n.width||200,height:n.height||200}}catch(e){return console.warn("[QRCodeJs] Image size detection failed:",e),{width:200,height:200}}}}})}static async validateImageData(e){try{const t="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent,{qrValidatorZbar:o}=t?await import("./chunks/scan-validator-worker-nTaVszLU.js"):await import("./chunks/scan-validator-node-_qhS-Z_9.js"),r=await o.validateZbarImageData(e);if(r.isValid)return{...r,validator:"ZBAR"};{console.debug("Zbar validation failed, trying Zxing...");const{qrValidatorZxing:t}=await import("./chunks/scan-validator-zxing-node-Cek8GusT.js");return{...await t.validateImageData(e),validator:"ZXING"}}}catch(e){return console.debug(`Zbar and Zxing validation threw an error: ${e instanceof Error?e.message:String(e)}`),Promise.reject({isValid:!1,message:e instanceof Error?e.message:"Zbar and Zxing validation failed with an error"})}}async validateScanning(){try{const e=await this.serialize(),t="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent,{qrValidatorZbar:o}=t?await import("./chunks/scan-validator-worker-nTaVszLU.js"):await import("./chunks/scan-validator-node-_qhS-Z_9.js"),r=await o.validateZbar(e,!1);if(r.isValid)return{...r,validator:"ZBAR"};{console.debug("Zbar validation failed, trying Zxing...");const{qrValidatorZxing:t}=await import("./chunks/scan-validator-zxing-node-Cek8GusT.js");return{...await t.validateZxing(e),validator:"ZXING"}}}catch(e){return console.debug(`Zbar and Zxing validation threw an error: ${e instanceof Error?e.message:String(e)}`),Promise.reject({isValid:!1,message:e instanceof Error?e.message:"Zbar and Zxing validation failed with an error"})}}static async validateSvg(e){if(!e)return Promise.reject({isValid:!1,message:"SVG source is required for scanning validation."});try{const t=e,o="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent,{qrValidatorZbar:r}=o?await import("./chunks/scan-validator-worker-nTaVszLU.js"):await import("./chunks/scan-validator-node-_qhS-Z_9.js"),n=await r.validateZbar(t,!1);if(n.isValid)return{...n,validator:"ZBAR"};{console.debug("Zbar validation failed, trying Zxing...");const{qrValidatorZxing:e}=await import("./chunks/scan-validator-zxing-node-Cek8GusT.js");return{...await e.validateZxing(t),validator:"ZXING"}}}catch(e){return console.debug(`Zbar and Zxing validation threw an error: ${e instanceof Error?e.message:String(e)}`),Promise.reject({isValid:!1,message:e instanceof Error?e.message:"Zbar and Zxing validation failed with an error"})}}static useTemplate(e){return new _r(this,e)}static useTemplateId(e){return new _r(this).useTemplateId(e)}static useStyle(e){return new _r(this).useStyle(e)}static useStyleId(e){return new _r(this).useStyleId(e)}static useBorder(e){return new _r(this).useBorder(e)}static useBorderId(e){return new _r(this).useBorderId(e)}static useImage(e,t){return new _r(this).useImage(e,t)}static useData(e,t){return new _r(this).useData(e,t)}static useText(e,t){return new _r(this).useText(e,t)}static useTextId(e,t){return new _r(this).useTextId(e,t)}static useOptions(e,t){return new _r(this).useOptions(e,t)}static useSettings(e){return new _r(this).useSettings(e)}}Hr._xmldomSync=null,Hr._initPromise=null,Hr._initPromise=Hr.initXmldom();class _r{constructor(e,t){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=e,"string"==typeof t?(this._templateSource=t,this._isTemplateById=!1):t&&(this._initialOptions=t)}useTemplate(e){return this._templateSource=e,this._isTemplateById=!1,this._initialOptions=null,this}useTemplateId(e){return this._templateSource=e,this._isTemplateById=!0,this._initialOptions=null,this}useStyle(e){return this._styleSource=e,this._isStyleById=!1,this}useStyleId(e){return this._styleSource=e,this._isStyleById=!0,this}useBorder(e){return this._borderSource=e,this._isBorderById=!1,this}useBorderId(e){return this._borderSource=e,this._isBorderById=!0,this}useImage(e,t){return this._imageSource=e,this._imageOverride=!!t?.override,this}useData(e,t){return this._dataSource=e,this._dataOverride=!!t?.override,this}useText(e,t){return this._textSource=e,this._isTextById=!1,this._textOverride=!!t?.override,this._initialOptions=null,this}useTextId(e,t){return this._textSource=e,this._isTextById=!0,this._textOverride=!!t?.override,this._initialOptions=null,this}useOptions(e,t){return this._optionsSource=e,this._optionsOverride=!!t?.override,this._initialOptions=null,this}useId(e){return this._idSource=e,this._initialOptions=null,this}useName(e){return this._nameSource=e,this._initialOptions=null,this}useDescription(e){return this._descriptionSource=e,this._initialOptions=null,this}useMetadata(e){return this._metadataSource=e,this._initialOptions=null,this}useSettings(e){return this._initialOptions=null,void 0!==e.id&&(this._idSource=e.id),void 0!==e.name&&(this._nameSource=e.name),void 0!==e.description&&(this._descriptionSource=e.description),void 0!==e.metadata&&(this._metadataSource=e.metadata),e.templateId?(this._templateSource=e.templateId,this._isTemplateById=!0):e.template&&(this._templateSource=e.template,this._isTemplateById=!1),e.borderId?(this._borderSource=e.borderId,this._isBorderById=!0):e.border&&(e.border,this._borderSource=e.border,this._isBorderById=!1),this._textOverride||(e.textId?(this._textSource=e.textId,this._isTextById=!0):e.text&&(this._textSource=e.text,this._isTextById=!1)),e.style?(this._styleSource=e.style,this._isStyleById=!1):e.styleId&&(this._styleSource=e.styleId,this._isStyleById=!0),this._imageOverride||e.image&&(this._imageSource=e.image,this._imageOverride=!1),this._dataOverride||e.data&&(this._dataSource=e.data,this._dataOverride=!1),this._optionsOverride||e.options&&(this._optionsSource=e.options),this._initialOptions=null,this}_resolveAndMergeConfig(e={}){let t={};t=this._initialOptions?w({},this._initialOptions):w({},Te);let o=null;if(this._templateSource&&"string"==typeof this._templateSource){const e=(this._isTemplateById?zo:No)(this._templateSource);if(e)o=e.options;else{const e=this._isTemplateById?"ID":"name";console.warn(`QR Code template ${e} "${this._templateSource}" not found. Using base template.`)}}else this._templateSource&&"string"!=typeof this._templateSource&&(o=this._templateSource);o&&(t=w(t,o));let r=null;if(this._borderSource)if("string"==typeof this._borderSource){const e=(this._isBorderById?Er:Xr)(this._borderSource);if(e)r=e.options;else{const e=this._isBorderById?"ID":"name";console.warn(`QR Code border ${e} "${this._borderSource}" not found. Ignoring.`)}}else r={borderOptions:this._borderSource};r&&(t=w(t,r));let n=null;if(this._textSource&&!this._textOverride){let e=null;if("string"==typeof this._textSource){const t=(this._isTextById?Pr:Lr)(this._textSource);if(t)e=t.options;else{const e=this._isTextById?"ID":"name";console.warn(`QR Code text template ${e} "${this._textSource}" not found. Ignoring.`)}}else e=this._textSource;if(e){n={borderOptions:{decorations:{}}};const t=n.borderOptions.decorations,o=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(t.top={value:o}),void 0===e.bottomValue&&(t.bottom={value:o}),void 0===e.leftValue&&(t.left={value:o}),void 0===e.rightValue&&(t.right={value:o})),void 0!==e.topValue&&(t.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(t.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(t.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(t.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}n&&(t=w(t,n));let i=null;if(this._styleSource)if("string"==typeof this._styleSource){const e=(this._isStyleById?br:fr)(this._styleSource);if(e)i=e.style;else{const e=this._isStyleById?"ID":"name";console.warn(`QR Code style ${e} "${this._styleSource}" not found. Ignoring.`)}}else{const{isValid:e,errors:t}=ke(this._styleSource);e?i=this._styleSource:console.warn("Invalid style options object provided:",t)}if(i){t=w(t,Se(i))}if(this._imageSource&&!this._imageOverride&&(t=w(t,{image:this._imageSource})),this._dataSource&&!this._dataOverride&&(t=w(t,{data:this._dataSource})),this._optionsSource&&!this._optionsOverride&&(t=w(t,this._optionsSource)),t=w(t,e),this._imageOverride&&this._imageSource&&(t=w(t,{image:this._imageSource})),this._textOverride&&this._textSource){const e={borderOptions:{decorations:{}}};let o=null;if("string"==typeof this._textSource){const e=(this._isTextById?Pr:Lr)(this._textSource);e&&(o=e.options)}else o=this._textSource;if(o){const r=e.borderOptions.decorations,n=null===o.value?void 0:o.value;void 0!==o.value&&(void 0===o.topValue&&(r.top={value:n}),void 0===o.bottomValue&&(r.bottom={value:n}),void 0===o.leftValue&&(r.left={value:n}),void 0===o.rightValue&&(r.right={value:n})),void 0!==o.topValue&&(r.top={value:null===o.topValue?void 0:o.topValue}),void 0!==o.leftValue&&(r.left={value:null===o.leftValue?void 0:o.leftValue}),void 0!==o.rightValue&&(r.right={value:null===o.rightValue?void 0:o.rightValue}),void 0!==o.bottomValue&&(r.bottom={value:null===o.bottomValue?void 0:o.bottomValue}),t=w(t,e)}}return this._dataOverride&&this._dataSource&&(t=w(t,{data:this._dataSource})),this._optionsSource&&this._optionsOverride&&(t=w(t,this._optionsSource)),t}options(e){const t=this._resolveAndMergeConfig(e),o=new this._qrCodeConstructor(t);return null!==this._idSource&&o.setId(this._idSource),null!==this._nameSource&&o.setName(this._nameSource),null!==this._descriptionSource&&o.setDescription(this._descriptionSource),null!==this._metadataSource&&o.setMetadata(this._metadataSource),o}build(){const e=this._resolveAndMergeConfig(),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}}class Kr extends Hr{constructor(e){super(e,!0)}}export{G as CornerDotType,X as CornerSquareType,J as DotType,y as ErrorCorrectionLevel,N as ErrorCorrectionPercents,B as GradientType,F as ImageMode,O as Mode,_r as QRCodeBuilder,Hr as QRCodeJs,E as ShapeType,b as TypeNumber,Kr as _};
1
+ import e from"@xmldom/xmldom";import{fileTypeFromBuffer as t}from"file-type";import o from"image-size";const r={width:500,height:500};class i{constructor(){this.buffer=[],this.length=0}getBuffer(){return this.buffer}getLengthInBits(){return this.length}toString(){let e="";for(let t=0;t<this.getLengthInBits();t+=1)e+=this.getBit(t)?"1":"0";return e}getBit(e){return 1==(this.buffer[~~(e/8)]>>>7-e%8&1)}put(e,t){for(let o=0;o<t;o+=1)this.putBit(1==(e>>>t-o-1&1))}putBit(e){this.length==8*this.buffer.length&&this.buffer.push(0),e&&(this.buffer[~~(this.length/8)]|=128>>>this.length%8),this.length+=1}}var n,s,a;!function(e){e[e.L=1]="L",e[e.M=0]="M",e[e.Q=3]="Q",e[e.H=2]="H"}(n||(n={}));class d{constructor(){throw new Error("error")}static glog(e){if(e<1)throw new Error("log("+e+")");return d.LOG_TABLE[e]}static gexp(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return d.EXP_TABLE[e]}}d.initialize=(()=>{d.EXP_TABLE=[],d.LOG_TABLE=[];for(let e=0;e<256;e+=1)d.EXP_TABLE.push(e<8?1<<e:d.EXP_TABLE[e-4]^d.EXP_TABLE[e-5]^d.EXP_TABLE[e-6]^d.EXP_TABLE[e-8]),d.LOG_TABLE.push(0);for(let e=0;e<255;e+=1)d.LOG_TABLE[d.EXP_TABLE[e]]=e})();class l{constructor(e,t=0){let o=0;for(;o<e.length&&0==e[o];)o+=1;this.num=[];const r=e.length-o;for(let t=0;t<r;t+=1)this.num.push(e[o+t]);for(let e=0;e<t;e+=1)this.num.push(0)}getAt(e){return this.num[e]}getLength(){return this.num.length}toString(){let e="";for(let t=0;t<this.getLength();t+=1)t>0&&(e+=","),e+=this.getAt(t);return e.toString()}toLogString(){let e="";for(let t=0;t<this.getLength();t+=1)t>0&&(e+=","),e+=d.glog(this.getAt(t));return e.toString()}multiply(e){const t=[],o=this.getLength()+e.getLength()-1;for(let e=0;e<o;e+=1)t.push(0);for(let o=0;o<this.getLength();o+=1)for(let r=0;r<e.getLength();r+=1)t[o+r]^=d.gexp(d.glog(this.getAt(o))+d.glog(e.getAt(r)));return new l(t)}mod(e){if(this.getLength()-e.getLength()<0)return this;const t=d.glog(this.getAt(0))-d.glog(e.getAt(0)),o=[];for(let e=0;e<this.getLength();e+=1)o.push(this.getAt(e));for(let r=0;r<e.getLength();r+=1)o[r]^=d.gexp(d.glog(e.getAt(r))+t);return new l(o).mod(e)}}!function(e){e[e.MODE_NUMBER=1]="MODE_NUMBER",e[e.MODE_ALPHA_NUM=2]="MODE_ALPHA_NUM",e[e.MODE_8BIT_BYTE=4]="MODE_8BIT_BYTE",e[e.MODE_KANJI=8]="MODE_KANJI"}(s||(s={}));class c{constructor(e,t){this.mode=e,this.data=t}getMode(){return this.mode}getData(){return this.data}getLengthInBits(e){if(1<=e&&e<10)switch(this.mode){case s.MODE_NUMBER:return 10;case s.MODE_ALPHA_NUM:return 9;case s.MODE_8BIT_BYTE:case s.MODE_KANJI:return 8;default:throw new Error("mode:"+this.mode)}else if(e<27)switch(this.mode){case s.MODE_NUMBER:return 12;case s.MODE_ALPHA_NUM:return 11;case s.MODE_8BIT_BYTE:return 16;case s.MODE_KANJI:return 10;default:throw new Error("mode:"+this.mode)}else{if(!(e<41))throw new Error("typeNumber:"+e);switch(this.mode){case s.MODE_NUMBER:return 14;case s.MODE_ALPHA_NUM:return 13;case s.MODE_8BIT_BYTE:return 16;case s.MODE_KANJI:return 12;default:throw new Error("mode:"+this.mode)}}}}class u extends c{constructor(e,t){super(s.MODE_8BIT_BYTE,e),this.stringToBytes=t}write(e){this.stringToBytes(this.getData()).forEach((t=>e.put(t,8)))}getLength(){return this.stringToBytes(this.getData()).length}}class h extends c{constructor(e){super(s.MODE_ALPHA_NUM,e)}write(e){const t=this.getData();let o=0;for(;o+1<t.length;)e.put(45*h.getCode(t.charAt(o))+h.getCode(t.charAt(o+1)),11),o+=2;o<t.length&&e.put(h.getCode(t.charAt(o)),6)}getLength(){return this.getData().length}static getCode(e){if("0"<=e&&e<="9")return e.charCodeAt(0)-"0".charCodeAt(0);if("A"<=e&&e<="Z")return e.charCodeAt(0)-"A".charCodeAt(0)+10;switch(e){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 :"+e)}}}class p extends c{constructor(e,t){super(s.MODE_KANJI,e),this.stringToBytes=t}write(e){const t=this.stringToBytes(this.getData());let o=0;for(;o+1<t.length;){let r=(255&t[o])<<8|255&t[o+1];if(33088<=r&&r<=40956)r-=33088;else{if(!(57408<=r&&r<=60351))throw new Error("illegal char at "+(o+1)+"/"+r);r-=49472}r=192*(r>>>8&255)+(255&r),e.put(r,13),o+=2}if(o<t.length)throw new Error("illegal char at "+(o+1))}getLength(){return this.stringToBytes(this.getData()).length/2}}class m extends c{constructor(e){super(s.MODE_NUMBER,e)}write(e){const t=this.getData();let o=0;for(;o+2<t.length;)e.put(m.strToNum(t.substring(o,o+3)),10),o+=3;o<t.length&&(t.length-o==1?e.put(m.strToNum(t.substring(o,o+1)),4):t.length-o==2&&e.put(m.strToNum(t.substring(o,o+2)),7))}getLength(){return this.getData().length}static strToNum(e){let t=0;for(let o=0;o<e.length;o+=1)t=10*t+m.chatToNum(e.charAt(o));return t}static chatToNum(e){if("0"<=e&&e<="9")return e.charCodeAt(0)-"0".charCodeAt(0);throw new Error("illegal char :"+e)}}!function(e){e[e.PATTERN000=0]="PATTERN000",e[e.PATTERN001=1]="PATTERN001",e[e.PATTERN010=2]="PATTERN010",e[e.PATTERN011=3]="PATTERN011",e[e.PATTERN100=4]="PATTERN100",e[e.PATTERN101=5]="PATTERN101",e[e.PATTERN110=6]="PATTERN110",e[e.PATTERN111=7]="PATTERN111"}(a||(a={}));class g{constructor(){throw new Error("error")}static getPatternPosition(e){return g.PATTERN_POSITION_TABLE[e-1]}static getMaxLength(e,t,o){const r=e-1;let i=0,a=0;switch(o){case n.L:i=0;break;case n.M:i=1;break;case n.Q:i=2;break;case n.H:i=3;break;default:throw new Error("e:"+o)}switch(t){case s.MODE_NUMBER:a=0;break;case s.MODE_ALPHA_NUM:a=1;break;case s.MODE_8BIT_BYTE:a=2;break;case s.MODE_KANJI:a=3;break;default:throw new Error("m:"+t)}return g.MAX_LENGTH[r][i][a]}static getErrorCorrectPolynomial(e){let t=new l([1]);for(let o=0;o<e;o+=1)t=t.multiply(new l([1,d.gexp(o)]));return t}static getMaskFunc(e){switch(e){case a.PATTERN000:return(e,t)=>(e+t)%2==0;case a.PATTERN001:return(e,t)=>e%2==0;case a.PATTERN010:return(e,t)=>t%3==0;case a.PATTERN011:return(e,t)=>(e+t)%3==0;case a.PATTERN100:return(e,t)=>(~~(e/2)+~~(t/3))%2==0;case a.PATTERN101:return(e,t)=>e*t%2+e*t%3==0;case a.PATTERN110:return(e,t)=>(e*t%2+e*t%3)%2==0;case a.PATTERN111:return(e,t)=>(e*t%3+(e+t)%2)%2==0;default:throw new Error("mask:"+e)}}static getLostPoint(e){const t=e.getModuleCount();let o=0;for(let r=0;r<t;r+=1)for(let i=0;i<t;i+=1){let n=0;const s=e.isDark(r,i);for(let o=-1;o<=1;o+=1)if(!(r+o<0||t<=r+o))for(let a=-1;a<=1;a+=1)i+a<0||t<=i+a||0==o&&0==a||s==e.isDark(r+o,i+a)&&(n+=1);n>5&&(o+=3+n-5)}for(let r=0;r<t-1;r+=1)for(let i=0;i<t-1;i+=1){let t=0;e.isDark(r,i)&&(t+=1),e.isDark(r+1,i)&&(t+=1),e.isDark(r,i+1)&&(t+=1),e.isDark(r+1,i+1)&&(t+=1),0!=t&&4!=t||(o+=3)}for(let r=0;r<t;r+=1)for(let i=0;i<t-6;i+=1)e.isDark(r,i)&&!e.isDark(r,i+1)&&e.isDark(r,i+2)&&e.isDark(r,i+3)&&e.isDark(r,i+4)&&!e.isDark(r,i+5)&&e.isDark(r,i+6)&&(o+=40);for(let r=0;r<t;r+=1)for(let i=0;i<t-6;i+=1)e.isDark(i,r)&&!e.isDark(i+1,r)&&e.isDark(i+2,r)&&e.isDark(i+3,r)&&e.isDark(i+4,r)&&!e.isDark(i+5,r)&&e.isDark(i+6,r)&&(o+=40);let r=0;for(let o=0;o<t;o+=1)for(let i=0;i<t;i+=1)e.isDark(i,o)&&(r+=1);return o+=10*(Math.abs(100*r/t/t-50)/5),o}static getBCHTypeInfo(e){let t=e<<10;for(;g.getBCHDigit(t)-g.getBCHDigit(g.G15)>=0;)t^=g.G15<<g.getBCHDigit(t)-g.getBCHDigit(g.G15);return(e<<10|t)^g.G15_MASK}static getBCHTypeNumber(e){let t=e<<12;for(;g.getBCHDigit(t)-g.getBCHDigit(g.G18)>=0;)t^=g.G18<<g.getBCHDigit(t)-g.getBCHDigit(g.G18);return e<<12|t}static getBCHDigit(e){let t=0;for(;0!=e;)t+=1,e>>>=1;return t}}g.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]],g.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]]],g.G15=1335,g.G18=7973,g.G15_MASK=21522;class f{constructor(e,t){this.totalCount=e,this.dataCount=t}getDataCount(){return this.dataCount}getTotalCount(){return this.totalCount}static getRSBlocks(e,t){const o=f.getRsBlockTable(e,t),r=o.length/3,i=[];for(let e=0;e<r;e+=1){const t=o[3*e+0],r=o[3*e+1],n=o[3*e+2];for(let e=0;e<t;e+=1)i.push(new f(r,n))}return i}static getRsBlockTable(e,t){switch(t){case n.L:return f.RS_BLOCK_TABLE[4*(e-1)+0];case n.M:return f.RS_BLOCK_TABLE[4*(e-1)+1];case n.Q:return f.RS_BLOCK_TABLE[4*(e-1)+2];case n.H:return f.RS_BLOCK_TABLE[4*(e-1)+3]}throw new Error("tn:"+e+"/ecl:"+t)}}f.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 b=Array(41).fill(0).map(((e,t)=>t));var y,O;!function(e){e.L="L",e.M="M",e.Q="Q",e.H="H"}(y||(y={})),function(e){e.numeric="numeric",e.alphanumeric="alphanumeric",e.byte="byte",e.kanji="kanji",e.unicode="unicode"}(O||(O={}));class C{constructor(e=0,t=y.L){this.modules=[],this.moduleCount=0,this.typeNumber=e,this.errorCorrectLevel=n[t],this.qrDataList=[]}getTypeNumber(){return this.typeNumber}setTypeNumber(e){this.typeNumber=e}getErrorCorrectLevel(){return this.errorCorrectLevel}setErrorCorrectLevel(e){this.errorCorrectLevel=e}clearData(){this.qrDataList=[]}addData(e,t=O.byte){if(e instanceof c)this.qrDataList.push(e);else{if("string"!=typeof e)throw new Error(typeof e);switch(t){case O.numeric:this.qrDataList.push(new m(e));break;case O.alphanumeric:this.qrDataList.push(new h(e));break;case O.byte:this.qrDataList.push(new u(e,C.stringToBytesFuncs.default));break;case O.unicode:this.qrDataList.push(new u(e,C.stringToBytesFuncs.UTF8));break;case O.kanji:this.qrDataList.push(new p(e,C.stringToBytesFuncs.SJIS));break;default:throw new Error("mode:"+t)}}}isDark(e,t){return!(!this.modules[e]||null==this.modules[e][t])&&this.modules[e][t]}getModuleCount(){return this.moduleCount}make(){if(this.typeNumber<1){let e=1;for(;e<40;e++){const t=f.getRSBlocks(e,this.errorCorrectLevel),o=new i;this.qrDataList.forEach((t=>{o.put(t.getMode(),4),o.put(t.getLength(),t.getLengthInBits(e)),t.write(o)}));const r=t.reduce(((e,t)=>e+t.getDataCount()),0);if(o.getLengthInBits()<=8*r)break}this.typeNumber=e}this.makeImpl(!1,this.getBestMaskPattern())}getBestMaskPattern(){let e=0,t=0;for(let o=0;o<8;o+=1){this.makeImpl(!0,o);const r=g.getLostPoint(this);(0==o||e>r)&&(e=r,t=o)}return t}makeImpl(e,t){this.moduleCount=4*this.typeNumber+17,this.modules=[];for(let e=0;e<this.moduleCount;e+=1){this.modules.push([]);for(let t=0;t<this.moduleCount;t+=1)this.modules[e].push(null)}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(e,t),this.typeNumber>=7&&this.setupTypeNumber(e);const o=C.createData(this.typeNumber,this.errorCorrectLevel,this.qrDataList);this.mapData(o,t)}mapData(e,t){let o=-1,r=this.moduleCount-1,i=7,n=0;const s=g.getMaskFunc(t);for(let t=this.moduleCount-1;t>0;t-=2)for(6==t&&(t-=1);;){for(let o=0;o<2;o+=1)if(null==this.modules[r][t-o]){let a=!1;n<e.length&&(a=1==(e[n]>>>i&1));s(r,t-o)&&(a=!a),this.modules[r][t-o]=a,i-=1,-1==i&&(n+=1,i=7)}if(r+=o,r<0||this.moduleCount<=r){r-=o,o=-o;break}}}setupPositionAdjustPattern(){const e=g.getPatternPosition(this.typeNumber);e.forEach((t=>{e.forEach((e=>{if(null==this.modules[t][e])for(let o=-2;o<=2;o+=1)for(let r=-2;r<=2;r+=1)this.modules[t+o][e+r]=-2==o||2==o||-2==r||2==r||0==o&&0==r}))}))}setupPositionProbePattern(e,t){for(let o=-1;o<=7;o+=1)for(let r=-1;r<=7;r+=1)e+o<=-1||this.moduleCount<=e+o||t+r<=-1||this.moduleCount<=t+r||(this.modules[e+o][t+r]=0<=o&&o<=6&&(0==r||6==r)||0<=r&&r<=6&&(0==o||6==o)||2<=o&&o<=4&&2<=r&&r<=4)}setupTimingPattern(){for(let e=8;e<this.moduleCount-8;e+=1)null==this.modules[e][6]&&(this.modules[e][6]=e%2==0);for(let e=8;e<this.moduleCount-8;e+=1)null==this.modules[6][e]&&(this.modules[6][e]=e%2==0)}setupTypeNumber(e){const t=g.getBCHTypeNumber(this.typeNumber);for(let o=0;o<18;o+=1)this.modules[~~(o/3)][o%3+this.moduleCount-8-3]=!e&&1==(t>>o&1);for(let o=0;o<18;o+=1)this.modules[o%3+this.moduleCount-8-3][~~(o/3)]=!e&&1==(t>>o&1)}setupTypeInfo(e,t){const o=this.errorCorrectLevel<<3|t,r=g.getBCHTypeInfo(o);for(let t=0;t<15;t+=1){const o=!e&&1==(r>>t&1);t<6?this.modules[t][8]=o:t<8?this.modules[t+1][8]=o:this.modules[this.moduleCount-15+t][8]=o}for(let t=0;t<15;t+=1){const o=!e&&1==(r>>t&1);t<8?this.modules[8][this.moduleCount-t-1]=o:t<9?this.modules[8][15-t-1+1]=o:this.modules[8][15-t-1]=o}this.modules[this.moduleCount-8][8]=!e}static createData(e,t,o){const r=f.getRSBlocks(e,t),n=new i;o.forEach((t=>{n.put(t.getMode(),4),n.put(t.getLength(),t.getLengthInBits(e)),t.write(n)}));const s=r.reduce(((e,t)=>e+t.getDataCount()),0);if(n.getLengthInBits()>8*s)throw new Error("code length overflow. ("+n.getLengthInBits()+">"+8*s+")");for(n.getLengthInBits()+4<=8*s&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*s||(n.put(C.PAD0,8),n.getLengthInBits()>=8*s));)n.put(C.PAD1,8);return C.createBytes(n,r)}static createBytes(e,t){let o=0,r=0,i=0;const n=new Array(t.length).map((e=>[])),s=new Array(t.length).map((e=>[]));function a(e){const t=[];for(let o=0;o<e;o+=1)t.push(0);return t}for(let d=0;d<t.length;d+=1){const c=t[d].getDataCount(),u=t[d].getTotalCount()-c;r=Math.max(r,c),i=Math.max(i,u),n[d]=a(c);for(let t=0;t<n[d].length;t+=1)n[d][t]=255&e.getBuffer()[t+o];o+=c;const h=g.getErrorCorrectPolynomial(u),p=new l(n[d],h.getLength()-1).mod(h);s[d]=a(h.getLength()-1);for(let e=0;e<s[d].length;e+=1){const t=e+p.getLength()-s[d].length;s[d][e]=t>=0?p.getAt(t):0}}const d=a(t.reduce(((e,t)=>e+t.getTotalCount()),0));let c=0;for(let e=0;e<r;e+=1)for(let o=0;o<t.length;o+=1)e<n[o].length&&(d[c]=n[o][e],c+=1);for(let e=0;e<i;e+=1)for(let o=0;o<t.length;o+=1)e<s[o].length&&(d[c]=s[o][e],c+=1);return d}}C.stringToBytesFuncs={default(e){const t=[];for(let o=0;o<e.length;o+=1){const r=e.charCodeAt(o);t.push(255&r)}return t}},C.PAD0=236,C.PAD1=17;const S=e=>!!e&&"object"==typeof e&&!Array.isArray(e);function k(e,t=!1){const o=e.split("").reverse().join("");return t?o.toLocaleUpperCase():o}function w(e,...t){if(!t.length)return e;const o=t.shift();return void 0!==o&&S(e)&&S(o)?(e={...e},Object.keys(o).forEach((t=>{const r=e[t],i=o[t];Array.isArray(r)&&Array.isArray(i)?e[t]=i:S(r)&&S(i)?e[t]=w({...r},i):e[t]=void 0===i?r:i})),w(e,...t)):e}k("rq",!0),k("-",!0),k("talp",!0),k("mrof",!0),k("a".repeat(6)+"#",!0);const v="top",A="bottom",T="left",q="right";const I=e=>"number"==typeof e?e:parseInt(e.replace("%",""),10),Z=(e,t="0%")=>e?e.endsWith("%")?e:e+"%":t,D="text",x="image",W=(e,t)=>!e?.decorations?.[t]?.disabled,V=e=>{if("string"==typeof e)return e;const{fontFace:t="Helvetica",fontSize:o=20,fontColor:r="#ffffff",letterSpacing:i=1,textTransform:n="uppercase",fontWeight:s="bold"}=e||{};return`font-weight: ${s}; text-transform: ${n}; font-size: ${o}px; font-family: ${t}; fill: ${r}; letter-spacing: ${i}px;`};const j=({document:e,position:t,rotate:o,flip:r,thickness:i,height:n,width:s,round:a,offset:d=0,curveAdjustment:l=0,curveRadius:c,outerBorderPadding:u=0,instanceId:h})=>{const p=Math.min(s,n),m=e.createElementNS("http://www.w3.org/2000/svg","path"),g=(e=>{if(e>=50)return 1;const t=[{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}],o=t.find((t=>e<=t.R))||t[0],r=t.find((t=>e>t.R))||t[t.length-1],{R:i,P:n}=o,{R:s,P:a}=r;return n+(e-i)/(s-i)*(a-n)})("string"==typeof a?I(a):a),f=void 0!==c?function(e){let t;return t="number"==typeof e?e:"string"==typeof e?(e.includes("%"),parseFloat(e)):0,t=Math.min(Math.max(t,0),50),.5+t/50*.5}(c):g,b=(p-i-2*u-10*l*2)/2*f,y=((e,t,o,r)=>{const i=o/2,n=r/2;let s="";return e&&(s+=`rotate(${e}, ${i}, ${n}) `),t&&(s+=`translate(${i}, ${n}) scale(1, -1) translate(${-i}, ${-n}) `),s.trim()})(o,r,s,n);m.setAttribute("id",`${t}-text-path-${h}`),m.setAttribute("transform",y);const{startX:O,startY:C,pathWidth:S}=((e,t,o,r,i={})=>{let n=t/2,s=t/2+r,a=e-t;return o&&(a-=2*o,n+=o,s+=o),n+=i.left||0,s+=i.top||0,{startX:n,startY:s,pathWidth:a}})(p,i,u,d);return m.setAttribute("d",((e,t,o,r)=>`\n M${e},${t+r}\n a${r},${r} 0 0 1 ${r},${-r}\n h${o-2*r}\n a${r},${r} 0 0 1 ${r},${r}\n `)(O,C,S,b)),m},R=({document:e,thickness:t,value:o,svg:r,position:i,height:n,width:s,round:a,style:d,offset:l=0,curveAdjustment:c=0,curveDisabled:u=!1,outerBorderPadding:h=0,curveRadius:p,instanceId:m,noBorderThickness:g,enabledBorders:f})=>{let b=0,y=!1;if(i===q?b=90:i===A?y=!u:i===T&&(b=270),u){const a=e.createElementNS("http://www.w3.org/2000/svg","text");let c=s/2,u=(n-Math.min(s,n)+t)/2+2*h+l-(n-s>0?0:(s-n)/2);if(i===A?u=n-2*h-t/2-l:i===v&&(u=2*h+t/2+l),i===v||i===A){let e=0;!f[T]&&f[q]?e=-(t-g)/2:f[T]&&!f[q]&&(e=(t-g)/2),c+=e}else if(i===T||i===q){let e=0;!f[v]&&f[A]?e=i===T?(t-g)/2:-(t-g)/2:f[v]&&!f[A]&&(e=i===T?-(t-g)/2:(t-g)/2),c+=e}let p="";0!==b&&(p+=`rotate(${b}, ${s/2}, ${n/2}) `),a.setAttribute("x",c.toString()),a.setAttribute("y",u.toString()),a.setAttribute("text-anchor","middle"),a.setAttribute("dominant-baseline","middle"),p&&a.setAttribute("transform",p.trim()),a.textContent=o;const m=V(d);a.setAttribute("style",m),r.appendChild(a)}else{let u=r.getElementsByTagName("defs")[0];u||(u=e.createElementNS("http://www.w3.org/2000/svg","defs"),r.appendChild(u));const O=j({document:e,position:i,rotate:b,flip:y,thickness:t,height:n,width:s,round:a,offset:l,curveAdjustment:c,outerBorderPadding:h,curveRadius:p,instanceId:m}),{x:C,y:S}=function(e,t,o,r){let i=0,n=0;const s=(t-o)/2;return r.left&&r.right&&r.top&&r.bottom?(i=0,n=0):"top"===e||"bottom"===e?!r.left&&r.right?i=-s:(r.left&&!r.right||r.left&&r.right)&&(i=s):"left"!==e&&"right"!==e||(!r.top&&r.bottom?r.left&&r.right?(i="left"===e?2*+s:0,n=-s):i="left"===e?+s:-s:r.top&&!r.bottom?r.left&&r.right?(i="left"===e?0:2*s,n=-s):i=0:r.top&&r.bottom?n=r.left&&r.right?2*+s:+s:(i=r.left&&r.right?2*+s:+s,n=r.left&&r.right?2*-s:-s)),{x:i,y:n}}(i,t,g,f);if(0!==C||0!==S){const e=`${O.getAttribute("transform")||""} translate(${C}, ${S})`.trim();O.setAttribute("transform",e)}u.appendChild(O),r.appendChild((({document:e,value:t,position:o,style:r,instanceId:i})=>{const n=e.createElementNS("http://www.w3.org/2000/svg","text"),s=e.createElementNS("http://www.w3.org/2000/svg","textPath");s.setAttribute("href",`#${o}-text-path-${i}`),s.setAttribute("text-anchor","middle"),s.setAttribute("startOffset","50%"),s.textContent=t,s.setAttribute("alignment-baseline","middle");const a=V(r);return n.setAttribute("style",a),n.appendChild(s),n})({document:e,position:i,value:o,style:d,instanceId:m}))}},M=({document:e,thickness:t,value:o,svg:r,position:i,height:n,width:s,offset:a=0,style:d})=>{const l=e.createElementNS("http://www.w3.org/2000/svg","image"),c=Math.min(s,n);let u=(s-c+t)/2,h=(n-c+t)/2+a;i===v?u+=(c-t)/2:i===q?(u+=c-t,h+=(c-t)/2):i===A?(u+=(c-t)/2,h+=c-t):i===T&&(h+=(c-t)/2),l.setAttribute("href",o||""),l.setAttribute("x",`${u}`),l.setAttribute("y",`${h}`),l.setAttribute("style",d?.toString()||""),r.appendChild(l)};var B,Y,J,G,X,E,F;function L(e){const t={...e};if(!t.colorStops||!t.colorStops.length)throw new Error("Field 'colorStops' is required in gradient");return t.rotation?t.rotation=Number(t.rotation):t.rotation=0,t.colorStops=t.colorStops.map((e=>({...e,offset:Number(e.offset)}))),t}function z(e){const t={...e};if(t.imageOptions={...t.imageOptions,imageSize:Math.min(1,Number(t.imageOptions?.imageSize))||1,margin:Number(t.imageOptions?.margin)||0,padding:Number(t.imageOptions?.padding)||0},t.imageOptions.mode==F.overlay&&(t.imageOptions.margin=0),t.dotsOptions={...t.dotsOptions},t.dotsOptions.gradient&&(t.dotsOptions.gradient=L(t.dotsOptions.gradient)),t.dotsOptions.size=Math.round(Math.max(0,t.dotsOptions.size)||10),t.cornersSquareOptions&&(t.cornersSquareOptions={...t.cornersSquareOptions},t.cornersSquareOptions.gradient&&(t.cornersSquareOptions.gradient=L(t.cornersSquareOptions.gradient))),t.cornersDotOptions&&(t.cornersDotOptions={...t.cornersDotOptions},t.cornersDotOptions.gradient&&(t.cornersDotOptions.gradient=L(t.cornersDotOptions.gradient))),t.backgroundOptions&&(t.backgroundOptions={...t.backgroundOptions},t.backgroundOptions.gradient&&(t.backgroundOptions.gradient=L(t.backgroundOptions.gradient))),t.borderOptions&&t.borderOptions.decorations){const e=["top","bottom","left","right"];for(const o of e){let e=t.borderOptions.decorations[o];e||(t.borderOptions.decorations[o]={enableText:!1,value:void 0},e=t.borderOptions.decorations[o]),!1===e.enableText?e.value=void 0:!0===e.enableText?null!==e.value&&void 0!==e.value||(e.value=""):void 0===e.enableText&&(e.value&&"string"==typeof e.value&&!1!==e.enableText&&""!==e.value.trim()?e.enableText=!0:(e.enableText=!1,e.value=void 0))}}return"undefined"==typeof document||t.document||(t.document=document),t}!function(e){e.radial="radial",e.linear="linear"}(B||(B={})),function(e){e.svg="svg",e.png="png",e.jpeg="jpeg",e.webp="webp"}(Y||(Y={})),function(e){e.dot="dot",e.randomDot="random-dot",e.rounded="rounded",e.extraRounded="extra-rounded",e.verticalLine="vertical-line",e.horizontalLine="horizontal-line",e.classy="classy",e.classyRounded="classy-rounded",e.square="square",e.smallSquare="small-square",e.tinySquare="tiny-square",e.star="star",e.plus="plus",e.diamond="diamond"}(J||(J={})),function(e){e.dot="dot",e.square="square",e.heart="heart",e.rounded="rounded",e.classy="classy",e.outpoint="outpoint",e.inpoint="inpoint"}(G||(G={})),function(e){e.dot="dot",e.square="square",e.rounded="rounded",e.classy="classy",e.outpoint="outpoint",e.inpoint="inpoint"}(X||(X={})),function(e){e.square="square",e.circle="circle"}(E||(E={})),function(e){e.center="center",e.overlay="overlay",e.background="background"}(F||(F={}));const P={[y.L]:.07,[y.M]:.15,[y.Q]:.25,[y.H]:.3};class N{constructor(e="",t={}){if(e instanceof N)return e;const o=function(e){let t={r:0,g:0,b:0},o=1,r=null,i=null,n=null,s=!1,a=!1;"string"==typeof e&&(e=function(e){const t=/^\s+/,o=/\s+$/;e=e.replace(t,"").replace(o,"").toLowerCase();let r,i=!1;if(N.names[e])e=N.names[e],i=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(r=ye.rgb.exec(e))return{r:r[1],g:r[2],b:r[3]};if(r=ye.rgba.exec(e))return{r:r[1],g:r[2],b:r[3],a:r[4]};if(r=ye.hsl.exec(e))return{h:r[1],s:r[2],l:r[3]};if(r=ye.hsla.exec(e))return{h:r[1],s:r[2],l:r[3],a:r[4]};if(r=ye.hsv.exec(e))return{h:r[1],s:r[2],v:r[3]};if(r=ye.hsva.exec(e))return{h:r[1],s:r[2],v:r[3],a:r[4]};if(r=ye.hex8.exec(e))return{r:pe(r[1]),g:pe(r[2]),b:pe(r[3]),a:be(r[4]),format:i?"name":"hex8"};if(r=ye.hex6.exec(e))return{r:pe(r[1]),g:pe(r[2]),b:pe(r[3]),format:i?"name":"hex"};if(r=ye.hex4.exec(e))return{r:pe(r[1]+""+r[1]),g:pe(r[2]+""+r[2]),b:pe(r[3]+""+r[3]),a:be(r[4]+""+r[4]),format:i?"name":"hex8"};if(r=ye.hex3.exec(e))return{r:pe(r[1]+""+r[1]),g:pe(r[2]+""+r[2]),b:pe(r[3]+""+r[3]),format:i?"name":"hex"};return!1}(e));"object"==typeof e&&(Oe(e.r)&&Oe(e.g)&&Oe(e.b)?(d=e.r,l=e.g,c=e.b,t={r:255*ue(d,255),g:255*ue(l,255),b:255*ue(c,255)},s=!0,a="%"===String(e.r).slice(-1)?"prgb":"rgb"):Oe(e.h)&&Oe(e.s)&&Oe(e.v)?(r=ge(e.s),i=ge(e.v),t=function(e,t,o){e=6*ue(e,360),t=ue(t,100),o=ue(o,100);const r=Math.floor(e),i=e-r,n=o*(1-t),s=o*(1-i*t),a=o*(1-(1-i)*t),d=r%6,l=[o,s,n,n,a,o][d],c=[a,o,o,s,n,n][d],u=[n,n,a,o,o,qw][d];return{r:255*l,g:255*c,b:255*u}}(e.h,r,i),s=!0,a="hsv"):Oe(e.h)&&Oe(e.s)&&Oe(e.l)&&(r=ge(e.s),n=ge(e.l),t=function(e,t,o){let r,i,n;function s(e,t,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?e+6*(t-e)*o:o<.5?t:o<2/3?e+(t-e)*(2/3-o)*6:e}if(e=ue(e,360),t=ue(t,100),o=ue(o,100),0===t)r=i=n=o;else{const a=o<.5?o*(1+t):o+t-o*t,d=2*o-a;r=s(d,a,e+1/3),i=s(d,a,e),n=s(d,a,e-1/3)}return{r:255*r,g:255*i,b:255*n}}(e.h,r,n),s=!0,a="hsl"),e.hasOwnProperty("a")&&(o=e.a));var d,l,c;return o=ce(o),{ok:s,format:e.format||a,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:o}}(e);this._originalInput=e,this._r=o.r,this._g=o.g,this._b=o.b,this._a=o.a,this._roundA=Math.round(100*this._a)/100,this._format=t.format||o.format,this._gradientType=t.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=o.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 e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3}getLuminance(){const e=this.toRgb(),t=e.r/255,o=e.g/255,r=e.b/255;return.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))}setAlpha(e){return this._a=ce(e),this._roundA=Math.round(100*this._a)/100,this}toHsv(){const e=H(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}}toHsvString(){const e=H(this._r,this._g,this._b),t=Math.round(360*e.h),o=Math.round(100*e.s),r=Math.round(100*e.v);return 1==this._a?`hsv(${t}, ${o}%, ${r}%)`:`hsva(${t}, ${o}%, ${r}%, ${this._roundA})`}toHsl(){const e=U(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}}toHslString(){const e=U(this._r,this._g,this._b),t=Math.round(360*e.h),o=Math.round(100*e.s),r=Math.round(100*e.l);return 1==this._a?`hsl(${t}, ${o}%, ${r}%)`:`hsla(${t}, ${o}%, ${r}%, ${this._roundA})`}toHex(e){return _(this._r,this._g,this._b,e)}toHexString(e){return"#"+this.toHex(e)}toHex8(e){return function(e,t,o,r,i){const n=[me(Math.round(e).toString(16)),me(Math.round(t).toString(16)),me(Math.round(o).toString(16)),me(fe(r))];if(i&&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,e)}toHex8String(e){return"#"+this.toHex8(e)}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*ue(this._r,255))+"%",g:Math.round(100*ue(this._g,255))+"%",b:Math.round(100*ue(this._b,255))+"%",a:this._a}}toPercentageRgbString(){return 1==this._a?`rgb(${Math.round(100*ue(this._r,255))}%, ${Math.round(100*ue(this._g,255))}%, ${Math.round(100*ue(this._b,255))}%)`:`rgba(${Math.round(100*ue(this._r,255))}%, ${Math.round(100*ue(this._g,255))}%, ${Math.round(100*ue(this._b,255))}%, ${this._roundA})`}toName(){return 0===this._a?"transparent":!(this._a<1)&&(N.hexNames[_(this._r,this._g,this._b,!0)]||!1)}toFilter(e){const t="#"+K(this._r,this._g,this._b,this._a);let o=t;const r=this._gradientType?"GradientType = 1, ":"";if(e){const t=new N(e);o="#"+K(t._r,t._g,t._b,t._a)}return`progid:DXImageTransform.Microsoft.gradient(${r}startColorstr=${t},endColorstr=${o})`}toString(e){const t=!!e;e=e||this._format;let o=!1;const r=this._a<1&&this._a>=0;return t||!r||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(o=this.toRgbString()),"prgb"===e&&(o=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(o=this.toHexString()),"hex3"===e&&(o=this.toHexString(!0)),"hex4"===e&&(o=this.toHex8String(!0)),"hex8"===e&&(o=this.toHex8String()),"name"===e&&(o=this.toName()),"hsl"===e&&(o=this.toHslString()),"hsv"===e&&(o=this.toHsvString()),o||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()}clone(){return new N(this.toString())}_applyModification(e,...t){const o=e(this,...t);return this._r=o._r,this._g=o._g,this._b=o._b,this.setAlpha(o._a),this}lighten(...e){return this._applyModification(te,...e)}brighten(...e){return this._applyModification(oe,...e)}darken(...e){return this._applyModification(re,...e)}desaturate(...e){return this._applyModification(Q,...e)}saturate(...e){return this._applyModification($,...e)}greyscale(...e){return this._applyModification(ee,...e)}spin(...e){return this._applyModification(ie,...e)}_applyCombination(e,...t){return e(this,...t)}analogous(...e){return this._applyCombination(de,...e)}complement(...e){return this._applyCombination(ne,...e)}monochromatic(...e){return this._applyCombination(le,...e)}splitcomplement(...e){return this._applyCombination(ae,...e)}triad(){return this._applyCombination(se,3)}tetrad(){return this._applyCombination(se,4)}static fromRatio(e,t){if("object"==typeof e){const t={};for(const o in e)e.hasOwnProperty(o)&&(t[o]="a"===o?e[o]:ge(e[o]));e=t}return new N(e,t)}static equals(e,t){return!(!e||!t)&&new N(e).toRgbString()===new N(t).toRgbString()}static random(){return N.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})}static mix(e,t,o){o=0===o?0:o||50;const r=new N(e).toRgb(),i=new N(t).toRgb(),n=o/100,s={r:(i.r-r.r)*n+r.r,g:(i.g-r.g)*n+r.g,b:(i.b-r.b)*n+r.b,a:(i.a-r.a)*n+r.a};return new N(s)}static readability(e,t){const o=new N(e),r=new N(t);return(Math.max(o.getLuminance(),r.getLuminance())+.05)/(Math.min(o.getLuminance(),r.getLuminance())+.05)}static isReadable(e,t,o){const r=N.readability(e,t);let i=!1;const n=function(e){let t,o;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),o=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==o&&"large"!==o&&(o="small");return{level:t,size:o}}(o);switch(n.level+n.size){case"AAsmall":case"AAAlarge":i=r>=4.5;break;case"AAlarge":i=r>=3;break;case"AAAsmall":i=r>=7}return i}static mostReadable(e,t,o={}){let r,i=null,n=0;const{includeFallbackColors:s,level:a,size:d}=o;for(const o of t)r=N.readability(e,o),r>n&&(n=r,i=new N(o));return N.isReadable(e,i,{level:a,size:d})||!s?i:(o.includeFallbackColors=!1,N.mostReadable(e,["#fff","#000"],o))}}function U(e,t,o){e=ue(e,255),t=ue(t,255),o=ue(o,255);const r=Math.max(e,t,o),i=Math.min(e,t,o);let n,s;const a=(r+i)/2;if(r==i)n=s=0;else{const d=r-i;switch(s=a>.5?d/(2-r-i):d/(r+i),r){case e:n=(t-o)/d+(t<o?6:0);break;case t:n=(o-e)/d+2;break;case o:n=(e-t)/d+4}n/=6}return{h:n,s,l:a}}function H(e,t,o){e=ue(e,255),t=ue(t,255),o=ue(o,255);const r=Math.max(e,t,o),i=Math.min(e,t,o);let n;const s=r,a=r-i,d=0===r?0:a/r;if(r==i)n=0;else{switch(r){case e:n=(t-o)/a+(t<o?6:0);break;case t:n=(o-e)/a+2;break;case o:n=(e-t)/a+4}n/=6}return{h:n,s:d,v:s}}function _(e,t,o,r){const i=[me(Math.round(e).toString(16)),me(Math.round(t).toString(16)),me(Math.round(o).toString(16))];return r&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join("")}function K(e,t,o,r){return[me(fe(r)),me(Math.round(e).toString(16)),me(Math.round(t).toString(16)),me(Math.round(o).toString(16))].join("")}function Q(e,t){t=0===t?0:t||10;const o=new N(e).toHsl();return o.s-=t/100,o.s=he(o.s),new N(o)}function $(e,t){t=0===t?0:t||10;const o=new N(e).toHsl();return o.s+=t/100,o.s=he(o.s),new N(o)}function ee(e){return new N(e).desaturate(100)}function te(e,t){t=0===t?0:t||10;const o=new N(e).toHsl();return o.l+=t/100,o.l=he(o.l),new N(o)}function oe(e,t){t=0===t?0:t||10;const o=new N(e).toRgb();return o.r=Math.max(0,Math.min(255,o.r-Math.round(-t/100*255))),o.g=Math.max(0,Math.min(255,o.g-Math.round(-t/100*255))),o.b=Math.max(0,Math.min(255,o.b-Math.round(-t/100*255))),new N(o)}function re(e,t){t=0===t?0:t||10;const o=new N(e).toHsl();return o.l-=t/100,o.l=he(o.l),new N(o)}function ie(e,t){const o=new N(e).toHsl(),r=(o.h+t)%360;return o.h=r<0?360+r:r,new N(o)}N.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"},N.hexNames=function(e){const t={};for(const o in e)e.hasOwnProperty(o)&&(t[e[o]]=o);return t}(N.names);const ne=e=>{const t=new N(e).toHsl();return t.h=(t.h+180)%360,new N(t)},se=(e,t)=>{if(isNaN(t)||t<=0)throw new Error("Argument to polyad must be a positive number");const o=new N(e).toHsl(),r=[new N(e)],i=360/t;for(let e=1;e<t;e++)r.push(new N({h:(o.h+e*i)%360,s:o.s,l:o.l}));return r};function ae(e){const t=new N(e).toHsl(),o=t.h;return[new N(e),new N({h:(o+72)%360,s:t.s,l:t.l}),new N({h:(o+216)%360,s:t.s,l:t.l})]}function de(e,t,o){t=t||6,o=o||30;const r=new N(e).toHsl(),i=360/o,n=[new N(e)];for(r.h=(r.h-(i*t>>1)+720)%360;--t;)r.h=(r.h+i)%360,n.push(new N(r));return n}function le(e,t){t=t||6;const o=new N(e).toHsv(),r=o.h,i=o.s;let n=o.v;const s=[],a=1/t;for(;t--;)s.push(new N({h:r,s:i,v:n})),n=(n+a)%1;return s}function ce(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function ue(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");const o=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(e);return e=Math.min(t,Math.max(0,parseFloat(e))),o&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function he(e){return Math.min(1,Math.max(0,e))}function pe(e){return parseInt(e,16)}function me(e){return 1==e.length?"0"+e:""+e}function ge(e){return e<=1&&(e=100*e+"%"),e}function fe(e){return Math.round(255*parseFloat(e)).toString(16)}function be(e){return pe(e)/255}const ye=(()=>{const e="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",t=`[\\s|\\(]+(${e})[,|\\s]+(${e})[,|\\s]+(${e})\\s*\\)?`,o=`[\\s|\\(]+(${e})[,|\\s]+(${e})[,|\\s]+(${e})[,|\\s]+(${e})\\s*\\)?`;return{CSS_UNIT:new RegExp(e),rgb:new RegExp("rgb"+t),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+t),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+t),hsva:new RegExp("hsva"+o),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 Oe(e){return!!ye.CSS_UNIT.exec(e)}function Ce(e,t){e.decorations||(e.decorations={}),["top","right","bottom","left"].forEach((o=>{e.decorations[o]||(e.decorations[o]={}),e.decorations[o].style||(e.decorations[o].style={}),e.decorations[o].style.fontColor=t}))}function Se(e){const t={};if((e.primaryColor||e.dotsGradient)&&(t.dotsOptions={...t.dotsOptions,...e.primaryColor&&{color:e.primaryColor},...e.dotsGradient&&{gradient:e.dotsGradient}}),(e.secondaryColor||e.cornersGradient)&&(t.cornersSquareOptions={...t.cornersSquareOptions,...e.secondaryColor&&{color:e.secondaryColor},...e.cornersGradient&&{gradient:e.cornersGradient}},t.cornersDotOptions={...t.cornersDotOptions,...e.secondaryColor&&{color:e.secondaryColor}}),(e.thirdColor||e.cornersDotGradient)&&(t.cornersDotOptions={...t.cornersDotOptions,...e.thirdColor&&{color:e.thirdColor},...e.cornersDotGradient&&{gradient:e.cornersDotGradient}}),(e.backgroundColor||e.backgroundGradient)&&(t.backgroundOptions={...t.backgroundOptions,...e.backgroundColor&&{color:e.backgroundColor},...e.backgroundGradient&&{gradient:e.backgroundGradient}}),e.dotShape&&(t.dotsOptions={...t.dotsOptions,type:e.dotShape}),e.cornerSquareShape&&(t.cornersSquareOptions={...t.cornersSquareOptions,type:e.cornerSquareShape}),e.cornerDotShape&&(t.cornersDotOptions={...t.cornersDotOptions,type:e.cornerDotShape}),e.logo&&(t.image=e.logo),(void 0!==e.logoSize||e.logoMode||void 0!==e.logoMargin||e.logoBackgroundColor||void 0!==e.logoPadding||void 0!==e.logoRadius)&&(t.imageOptions={...t.imageOptions,...void 0!==e.logoSize&&{imageSize:e.logoSize},...e.logoMode&&{mode:e.logoMode},...void 0!==e.logoMargin&&{margin:e.logoMargin},...e.logoBackgroundColor&&{backgroundColor:e.logoBackgroundColor},...void 0!==e.logoPadding&&{padding:e.logoPadding},...void 0!==e.logoRadius&&{radius:e.logoRadius}}),e.borderColor||void 0!==e.borderThickness||void 0!==e.borderRadius||e.borderInnerColor||void 0!==e.borderInnerThickness||void 0!==e.borderInnerRadius||e.borderOuterColor||void 0!==e.borderOuterThickness||e.borderTextTop||e.borderTextRight||e.borderTextBottom||e.borderTextLeft||e.borderFontFace||void 0!==e.borderFontSize||e.borderFontColor||void 0!==e.borderLetterSpacing||e.borderTextTransform||e.borderFontWeight){t.borderOptions||(t.borderOptions={hasBorder:!0});const o=t.borderOptions;e.borderColor&&(o.color=e.borderColor),void 0!==e.borderThickness&&(o.thickness=e.borderThickness),void 0!==e.borderRadius&&(o.radius=String(e.borderRadius)),void 0===e.borderInnerColor&&void 0===e.borderInnerThickness||(o.borderInner||(o.borderInner={}),void 0!==e.borderInnerColor&&(o.borderInner.color=e.borderInnerColor),void 0!==e.borderInnerThickness&&(o.borderInner.thickness=e.borderInnerThickness)),void 0!==e.borderInnerRadius&&(o.inner||(o.inner={}),o.inner.radius=String(e.borderInnerRadius)),void 0===e.borderOuterColor&&void 0===e.borderOuterThickness||(o.borderOuter||(o.borderOuter={}),void 0!==e.borderOuterColor&&(o.borderOuter.color=e.borderOuterColor),void 0!==e.borderOuterThickness&&(o.borderOuter.thickness=e.borderOuterThickness));const r={};e.borderFontFace&&(r.fontFace=e.borderFontFace),void 0!==e.borderFontSize&&(r.fontSize=e.borderFontSize),e.borderFontColor&&(r.fontColor=e.borderFontColor),void 0!==e.borderLetterSpacing&&(r.letterSpacing=e.borderLetterSpacing),e.borderTextTransform&&(r.textTransform=e.borderTextTransform),e.borderFontWeight&&(r.fontWeight=e.borderFontWeight),o.decorations||(o.decorations={});const i=o.decorations?JSON.parse(JSON.stringify(o.decorations)):{};let n=!1;Object.keys(r).length>0&&(n=!0,["top","right","bottom","left"].forEach((e=>{i[e]||(i[e]={}),i[e].style||(i[e].style={}),i[e].style={...i[e].style,...r}}))),["top","right","bottom","left"].forEach((t=>{const o=`borderText${t.charAt(0).toUpperCase()+t.slice(1)}`,s=e[o];void 0!==s?(i[t]||(i[t]={}),i[t]={...i[t],value:s,enableText:!0,style:{...i[t]?.style||{},...r}},n=!0):i[t]?.value&&Object.keys(r).length>0&&!i[t]?.style&&(i[t].style||(i[t].style={}),i[t].style={...i[t].style,...r},n=!0)})),n&&(o.decorations=i)}if(!!(e.primaryColor||e.secondaryColor||e.thirdColor||e.backgroundColor)){t.borderOptions||(t.borderOptions={hasBorder:!0});const o=t.borderOptions;if(e.secondaryColor&&!e.borderColor){const t=new N(e.secondaryColor).isDark();o.color=new N(e.primaryColor).darken(t?-12:12).toString()}if(e.thirdColor&&!e.borderInnerColor&&(o.borderInner||(o.borderInner={}),o.borderInner.color=new N(e.thirdColor).darken(2).toString()),e.primaryColor&&!e.borderOuterColor&&(o.borderOuter=o.borderOuter||{},o.borderOuter.color=new N(e.primaryColor).darken(2).toString()),e.backgroundColor&&!e.borderFontColor&&o.color){const t=new N(e.backgroundColor),r=new N(o.color),i=N.readability(t,r),n=t.isDark();if(i<2){Ce(o,(n?t.lighten(15):t.darken(15)).toString())}else{Ce(o,(n?t.lighten(20):t.lighten(10)).toString())}}}return t}function ke(e){const t=[];return void 0!==e.logoSize&&("number"!=typeof e.logoSize||e.logoSize<0||e.logoSize>1)&&t.push("logoSize must be a number between 0 and 1."),{isValid:0===t.length,errors:t}}class we{constructor(){}close(){}}class ve extends we{constructor(e){super(),this.istream=e,this.buffer=0,this.buflen=0}readByte(){for(;this.buflen<8;){const e=this.istream.readByte();if(-1==e){if(0==this.buflen)return-1;throw new Error("unexpected end of file./"+this.buflen)}if(e=="=".charCodeAt(0))return this.buflen=0,-1;ve.isWhitespace(e)||(this.buffer=this.buffer<<6|ve.decode(e),this.buflen+=6)}const e=this.buffer>>>this.buflen-8&255;return this.buflen-=8,e}static isWhitespace(e){return e=="\v".charCodeAt(0)||e=="\t".charCodeAt(0)||e=="\r".charCodeAt(0)||e=="\n".charCodeAt(0)}static decode(e){if("A".charCodeAt(0)<=e&&e<="Z".charCodeAt(0))return e-"A".charCodeAt(0);if("a".charCodeAt(0)<=e&&e<="z".charCodeAt(0))return e-"a".charCodeAt(0)+26;if("0".charCodeAt(0)<=e&&e<="9".charCodeAt(0))return e-"0".charCodeAt(0)+52;if(e=="+".charCodeAt(0))return 62;if(e=="/".charCodeAt(0))return 63;throw new Error("c:"+e)}}class Ae extends we{constructor(e){super(),this.bytes=e,this.pos=0}readByte(){if(this.pos<this.bytes.length){const e=this.bytes[this.pos];return this.pos+=1,e}return-1}}(function(e,t){const o=(()=>{const o=new ve(new Ae(function(e){const t=[];for(let o=0;o<e.length;o+=1)t.push(e.charCodeAt(o));return t}(e))),r=()=>{const e=o.readByte();if(-1==e)throw new Error("eof");return e};let i=0;const n={};for(;;){const e=o.readByte();if(-1==e)break;const t=r(),s=r()<<8|r();n[String.fromCharCode(e<<8|t)]=s,i+=1}if(i!=t)throw new Error(i+"!="+t);return n})(),r="?".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 Te={shape:E.square,qrOptions:{typeNumber:b[0],mode:void 0,errorCorrectionLevel:y.Q},imageOptions:{mode:F.center,imageSize:.4,padding:4,margin:.2,crossOrigin:void 0},cornersSquareOptions:{type:X.rounded,color:"#000000"},cornersDotOptions:{type:G.dot,color:"#000000"},dotsOptions:{type:J.verticalLine,color:"#000000",size:10},backgroundOptions:{color:"#FFFFFF"},borderOptions:{decorations:{}}},qe={...Te,shape:E.square,cornersSquareOptions:{type:X.square},cornersDotOptions:{type:G.square},dotsOptions:{type:J.square}},Ie={...Te,shape:E.square,cornersSquareOptions:{type:X.rounded},cornersDotOptions:{type:G.rounded},dotsOptions:{type:J.verticalLine,size:10}},Ze={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{type:X.dot},cornersDotOptions:{type:G.dot}},De={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{type:X.dot},cornersDotOptions:{type:G.dot}},xe={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{type:X.classy},cornersDotOptions:{type:G.classy}},We={...Te,dotsOptions:{...Te.dotsOptions,type:J.extraRounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},Ve={...Te,dotsOptions:{...Te.dotsOptions,type:J.verticalLine},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},je={...Te,dotsOptions:{...Te.dotsOptions,type:J.horizontalLine},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},Re={...Te,dotsOptions:{...Te.dotsOptions,type:J.classyRounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.outpoint}},Me={...Te,dotsOptions:{...Te.dotsOptions,type:J.smallSquare},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.inpoint}},Be={...Te,dotsOptions:{...Te.dotsOptions,type:J.tinySquare},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.heart}},Ye={...Te,dotsOptions:{...Te.dotsOptions,type:J.star},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},Je={...Te,dotsOptions:{...Te.dotsOptions,type:J.plus},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},Ge={...Te,dotsOptions:{...Te.dotsOptions,type:J.diamond},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},Xe={...Te,dotsOptions:{...Te.dotsOptions,type:J.randomDot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},Ee={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.outpoint}},Fe={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.inpoint}},Le={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.outpoint}},ze={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.inpoint}},Pe={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.outpoint}},Ne={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.inpoint}},Ue={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.outpoint}},He={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.inpoint}},_e={...Te,shape:E.circle,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},Ke={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},Qe={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},$e={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},et={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},tt={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},ot={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},rt={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},it={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},nt={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},st={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},at={...Te,dotsOptions:{...Te.dotsOptions,type:J.extraRounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},dt={...Te,dotsOptions:{...Te.dotsOptions,type:J.extraRounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},lt={...Te,dotsOptions:{...Te.dotsOptions,type:J.classyRounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},ct={...Te,dotsOptions:{...Te.dotsOptions,type:J.classyRounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},ut={...Te,dotsOptions:{...Te.dotsOptions,type:J.verticalLine},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},ht={...Te,dotsOptions:{...Te.dotsOptions,type:J.horizontalLine},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},pt={...Te,dotsOptions:{...Te.dotsOptions,type:J.horizontalLine},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},mt={...Te,dotsOptions:{...Te.dotsOptions,type:J.smallSquare},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},gt={...Te,dotsOptions:{...Te.dotsOptions,type:J.smallSquare},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},ft={...Te,dotsOptions:{...Te.dotsOptions,type:J.tinySquare},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},bt={...Te,dotsOptions:{...Te.dotsOptions,type:J.tinySquare},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},yt={...Te,dotsOptions:{...Te.dotsOptions,type:J.star},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},Ot={...Te,dotsOptions:{...Te.dotsOptions,type:J.star},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},Ct={...Te,dotsOptions:{...Te.dotsOptions,type:J.plus},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},St={...Te,dotsOptions:{...Te.dotsOptions,type:J.plus},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},kt={...Te,dotsOptions:{...Te.dotsOptions,type:J.diamond},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},wt={...Te,dotsOptions:{...Te.dotsOptions,type:J.diamond},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},vt={...Te,dotsOptions:{...Te.dotsOptions,type:J.randomDot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},At={...Te,dotsOptions:{...Te.dotsOptions,type:J.randomDot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},Tt={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},qt={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},It={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},Zt={...Te,dotsOptions:{...Te.dotsOptions,type:J.rounded},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},Dt={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.square},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},xt={...Te,dotsOptions:{...Te.dotsOptions,type:J.classy},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.square}},Wt={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},Vt={...Te,dotsOptions:{...Te.dotsOptions,type:J.square},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.rounded}},jt={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.classy},cornersDotOptions:{...Te.cornersDotOptions,type:G.dot}},Rt={...Te,dotsOptions:{...Te.dotsOptions,type:J.dot},cornersSquareOptions:{...Te.cornersSquareOptions,type:X.dot},cornersDotOptions:{...Te.cornersDotOptions,type:G.classy}},Mt={...qe,shape:E.circle},Bt={...Te,shape:E.circle},Yt={...Ze,shape:E.circle},Jt={...De,shape:E.circle},Gt={...xe,shape:E.circle},Xt={...We,shape:E.circle},Et={...Ve,shape:E.circle},Ft={...je,shape:E.circle},Lt={...Re,shape:E.circle},zt={...Me,shape:E.circle},Pt={...Be,shape:E.circle},Nt={...Ye,shape:E.circle},Ut={...Je,shape:E.circle},Ht={...Ge,shape:E.circle},_t={...Xe,shape:E.circle},Kt={...Ee,shape:E.circle},Qt={...Fe,shape:E.circle},$t={...Le,shape:E.circle},eo={...ze,shape:E.circle},to={...Pe,shape:E.circle},oo={...Ne,shape:E.circle},ro={...Ue,shape:E.circle},io={...He,shape:E.circle},no={...Ke,shape:E.circle},so={...Qe,shape:E.circle},ao={...$e,shape:E.circle},lo={...et,shape:E.circle},co={...tt,shape:E.circle},uo={...ot,shape:E.circle},ho={...rt,shape:E.circle},po={...it,shape:E.circle},mo={...nt,shape:E.circle},go={...st,shape:E.circle},fo={...at,shape:E.circle},bo={...dt,shape:E.circle},yo={...lt,shape:E.circle},Oo={...ct,shape:E.circle},Co={...ut,shape:E.circle},So={...ht,shape:E.circle},ko={...pt,shape:E.circle},wo={...mt,shape:E.circle},vo={...gt,shape:E.circle},Ao={...ft,shape:E.circle},To={...bt,shape:E.circle},qo={...yt,shape:E.circle},Io={...Ot,shape:E.circle},Zo={...Ct,shape:E.circle},Do={...St,shape:E.circle},xo={...kt,shape:E.circle},Wo={...wt,shape:E.circle},Vo={...vt,shape:E.circle},jo={...At,shape:E.circle},Ro={...Tt,shape:E.circle},Mo={...qt,shape:E.circle},Bo={...It,shape:E.circle},Yo={...Zt,shape:E.circle},Jo={...Dt,shape:E.circle},Go={...xt,shape:E.circle},Xo={...Wt,shape:E.circle},Eo={...Vt,shape:E.circle},Fo={...jt,shape:E.circle},Lo={...Rt,shape:E.circle},zo=[{id:"base",name:"Default",options:Te},{id:"plain",name:"Square Plain",options:qe},{id:"plain-circle",name:"Square Plain (Circle)",options:Mt},{id:"base-line-rounded",name:"Lines Rounded",options:Ie},{id:"rounded",name:"Rounded",options:Ze},{id:"dots",name:"Dots",options:De},{id:"classy",name:"Classy",options:xe},{id:"extra-rounded-dots-square-corners",name:"Extra Rounded Dots Square Corners",options:We},{id:"vertical-line-dots-classy-corners",name:"Vertical Lines Classy Corners",options:Ve},{id:"horizontal-line-dots-rounded-corners",name:"Horizontal Lines Rounded Corners",options:je},{id:"classy-rounded-dots-outpoint-corners",name:"Classy Rounded Dots Outpoint Corners",options:Re},{id:"small-square-dots-inpoint-corners",name:"Small Square Dots Inpoint Corners",options:Me},{id:"tiny-square-dots-square-corners-heart-corners",name:"Tiny Square Dots Heart Corners",options:Be},{id:"star-dots-classy-corners",name:"Star Dots Classy Corners",options:Ye},{id:"plus-dots-rounded-corners",name:"Plus Dots Rounded Corners",options:Je},{id:"diamond-dots-square-corners",name:"Diamond Dots Square Corners",options:Ge},{id:"random-dot-dots-dot-corners",name:"Random Dots",options:Xe},{id:"dot-dots-outpoint-corners",name:"Dots Outpoint Corners",options:Ee},{id:"dot-dots-inpoint-corners",name:"Dots Inpoint Corners",options:Fe},{id:"rounded-dots-outpoint-corners",name:"Rounded Dots Outpoint Corners",options:Le},{id:"rounded-dots-inpoint-corners",name:"Rounded Dots Inpoint Corners",options:ze},{id:"classy-dots-outpoint-corners",name:"Classy Dots Outpoint Corners",options:Pe},{id:"classy-dots-inpoint-corners",name:"Classy Dots Inpoint Corners",options:Ne},{id:"square-dots-outpoint-corners",name:"Square Dots Outpoint Corners",options:Ue},{id:"square-dots-inpoint-corners",name:"Square Dots Inpoint Corners",options:He},{id:"dot-dots-square-corners",name:"Dots Square Corners",options:Ke},{id:"dot-dots-rounded-corners",name:"Dots Rounded Corners",options:Qe},{id:"dot-dots-classy-corners",name:"Dots Classy Corners",options:$e},{id:"rounded-dots-square-corners",name:"Rounded Dots Square Corners",options:et},{id:"rounded-dots-classy-corners",name:"Rounded Dots Classy Corners",options:tt},{id:"classy-dots-square-corners",name:"Classy Dots Square Corners",options:ot},{id:"classy-dots-rounded-corners",name:"Classy Dots Rounded Corners",options:rt},{id:"square-dots-dot-corners",name:"Square Dots Dot Corners",options:it},{id:"square-dots-rounded-corners",name:"Square Dots Rounded Corners",options:nt},{id:"square-dots-classy-corners",name:"Square Dots Classy Corners",options:st},{id:"extra-rounded-dots-dot-corners",name:"Extra Rounded Dots Dot Corners",options:at},{id:"extra-rounded-dots-classy-corners",name:"Extra Rounded Dots Classy Corners",options:dt},{id:"classy-rounded-dots-dot-corners",name:"Classy Rounded Dots Dot Corners",options:lt},{id:"classy-rounded-dots-square-corners",name:"Classy Rounded Dots Square Corners",options:ct},{id:"vertical-line-dots-square-corners",name:"Vertical Lines Square Corners",options:ut},{id:"horizontal-line-dots-square-corners",name:"Horizontal Lines Square Corners",options:ht},{id:"horizontal-line-dots-classy-corners",name:"Horizontal Lines Classy Corners",options:pt},{id:"small-square-dots-dot-corners",name:"Small Square Dots Dot Corners",options:mt},{id:"small-square-dots-rounded-corners",name:"Small Square Dots Rounded Corners",options:gt},{id:"tiny-square-dots-dot-corners",name:"Tiny Square Dots Dot Corners",options:ft},{id:"tiny-square-dots-square-corners",name:"Tiny Square Dots Square Corners",options:bt},{id:"star-dots-dot-corners",name:"Star Dots Dot Corners",options:yt},{id:"star-dots-square-corners",name:"Star Dots Square Corners",options:Ot},{id:"plus-dots-dot-corners",name:"Plus Dots Dot Corners",options:Ct},{id:"plus-dots-square-corners",name:"Plus Dots Square Corners",options:St},{id:"diamond-dots-dot-corners",name:"Diamond Dots Dot Corners",options:kt},{id:"diamond-dots-classy-corners",name:"Diamond Dots Classy Corners",options:wt},{id:"random-dot-dots-square-corners",name:"Random Dots Square Corners",options:vt},{id:"random-dot-dots-classy-corners",name:"Random Dots Classy Corners",options:At},{id:"dot-dots-square-corners-dot-corners",name:"Dots Square/Dot Corners",options:Tt},{id:"dot-dots-dot-corners-square-corners",name:"Dots Dot/Square Corners",options:qt},{id:"rounded-dots-square-corners-dot-corners",name:"Rounded Dots Square/Dot Corners",options:It},{id:"rounded-dots-dot-corners-square-corners",name:"Rounded Dots Dot/Square Corners",options:Zt},{id:"classy-dots-square-corners-dot-corners",name:"Classy Dots Square/Dot Corners",options:Dt},{id:"classy-dots-dot-corners-square-corners",name:"Classy Dots Dot/Square Corners",options:xt},{id:"square-dots-rounded-corners-dot-corners",name:"Square Dots Rounded/Dot Corners",options:Wt},{id:"square-dots-dot-corners-rounded-corners",name:"Square Dots Dot/Rounded Corners",options:Vt},{id:"dot-dots-classy-corners-dot-corners",name:"Dots Classy/Dot Corners",options:jt},{id:"dot-dots-dot-corners-classy-corners",name:"Dots Dot/Classy Corners",options:Rt},{id:"circle-shape-dot-dots-square-corners",name:"Circle Dots Square Corners",options:no},{id:"circle-shape-rounded-dots-rounded-corners",name:"Circle Rounded",options:_e},{id:"circle-shape-square-dots-square-corners",name:"Circle Square Plain",options:Mt},{id:"circle-shape-vertical-line-dots-rounded-corners",name:"Circle Lines Rounded",options:Bt},{id:"circle-shape-rounded-dots-dot-corners",name:"Circle Rounded Dots",options:Yt},{id:"circle-shape-dot-dots-dot-corners",name:"Circle Dots",options:Jt},{id:"circle-shape-classy-dots-classy-corners",name:"Circle Classy",options:Gt},{id:"circle-shape-extra-rounded-dots-square-corners",name:"Circle Extra Rounded Dots Square Corners",options:Xt},{id:"circle-shape-vertical-line-dots-classy-corners",name:"Circle Vertical Lines Classy Corners",options:Et},{id:"circle-shape-horizontal-line-dots-rounded-corners",name:"Circle Horizontal Lines Rounded Corners",options:Ft},{id:"circle-shape-classy-rounded-dots-outpoint-corners",name:"Circle Classy Rounded Dots Outpoint Corners",options:Lt},{id:"circle-shape-small-square-dots-inpoint-corners",name:"Circle Small Square Dots Inpoint Corners",options:zt},{id:"circle-shape-tiny-square-dots-square-corners-heart-corners",name:"Circle Tiny Square Dots Heart Corners",options:Pt},{id:"circle-shape-star-dots-classy-corners",name:"Circle Star Dots Classy Corners",options:Nt},{id:"circle-shape-plus-dots-rounded-corners",name:"Circle Plus Dots Rounded Corners",options:Ut},{id:"circle-shape-diamond-dots-square-corners",name:"Circle Diamond Dots Square Corners",options:Ht},{id:"circle-shape-random-dot-dots-dot-corners",name:"Circle Random Dots",options:_t},{id:"circle-shape-dot-dots-outpoint-corners",name:"Circle Dots Outpoint Corners",options:Kt},{id:"circle-shape-dot-dots-inpoint-corners",name:"Circle Dots Inpoint Corners",options:Qt},{id:"circle-shape-rounded-dots-outpoint-corners",name:"Circle Rounded Dots Outpoint Corners",options:$t},{id:"circle-shape-rounded-dots-inpoint-corners",name:"Circle Rounded Dots Inpoint Corners",options:eo},{id:"circle-shape-classy-dots-outpoint-corners",name:"Circle Classy Dots Outpoint Corners",options:to},{id:"circle-shape-classy-dots-inpoint-corners",name:"Circle Classy Dots Inpoint Corners",options:oo},{id:"circle-shape-square-dots-outpoint-corners",name:"Circle Square Dots Outpoint Corners",options:ro},{id:"circle-shape-square-dots-inpoint-corners",name:"Circle Square Dots Inpoint Corners",options:io},{id:"circle-shape-dot-dots-rounded-corners",name:"Circle Dots Rounded Corners",options:so},{id:"circle-shape-dot-dots-classy-corners",name:"Circle Dots Classy Corners",options:ao},{id:"circle-shape-rounded-dots-square-corners",name:"Circle Rounded Dots Square Corners",options:lo},{id:"circle-shape-rounded-dots-classy-corners",name:"Circle Rounded Dots Classy Corners",options:co},{id:"circle-shape-classy-dots-square-corners",name:"Circle Classy Dots Square Corners",options:uo},{id:"circle-shape-classy-dots-rounded-corners",name:"Circle Classy Dots Rounded Corners",options:ho},{id:"circle-shape-square-dots-dot-corners",name:"Circle Square Dots Dot Corners",options:po},{id:"circle-shape-square-dots-rounded-corners",name:"Circle Square Dots Rounded Corners",options:mo},{id:"circle-shape-square-dots-classy-corners",name:"Circle Square Dots Classy Corners",options:go},{id:"circle-shape-extra-rounded-dots-dot-corners",name:"Circle Extra Rounded Dots Dot Corners",options:fo},{id:"circle-shape-extra-rounded-dots-classy-corners",name:"Circle Extra Rounded Dots Classy Corners",options:bo},{id:"circle-shape-classy-rounded-dots-dot-corners",name:"Circle Classy Rounded Dots Dot Corners",options:yo},{id:"circle-shape-classy-rounded-dots-square-corners",name:"Circle Classy Rounded Dots Square Corners",options:Oo},{id:"circle-shape-vertical-line-dots-square-corners",name:"Circle Vertical Lines Square Corners",options:Co},{id:"circle-shape-horizontal-line-dots-square-corners",name:"Circle Horizontal Lines Square Corners",options:So},{id:"circle-shape-horizontal-line-dots-classy-corners",name:"Circle Horizontal Lines Classy Corners",options:ko},{id:"circle-shape-small-square-dots-dot-corners",name:"Circle Small Square Dots Dot Corners",options:wo},{id:"circle-shape-small-square-dots-rounded-corners",name:"Circle Small Square Dots Rounded Corners",options:vo},{id:"circle-shape-tiny-square-dots-dot-corners",name:"Circle Tiny Square Dots Dot Corners",options:Ao},{id:"circle-shape-tiny-square-dots-square-corners",name:"Circle Tiny Square Dots Square Corners",options:To},{id:"circle-shape-star-dots-dot-corners",name:"Circle Star Dots Dot Corners",options:qo},{id:"circle-shape-star-dots-square-corners",name:"Circle Star Dots Square Corners",options:Io},{id:"circle-shape-plus-dots-dot-corners",name:"Circle Plus Dots Dot Corners",options:Zo},{id:"circle-shape-plus-dots-square-corners",name:"Circle Plus Dots Square Corners",options:Do},{id:"circle-shape-diamond-dots-dot-corners",name:"Circle Diamond Dots Dot Corners",options:xo},{id:"circle-shape-diamond-dots-classy-corners",name:"Circle Diamond Dots Classy Corners",options:Wo},{id:"circle-shape-random-dot-dots-square-corners",name:"Circle Random Dots Square Corners",options:Vo},{id:"circle-shape-random-dot-dots-classy-corners",name:"Circle Random Dots Classy Corners",options:jo},{id:"circle-shape-dot-dots-square-corners-dot-corners",name:"Circle Dots Square/Dot Corners",options:Ro},{id:"circle-shape-dot-dots-dot-corners-square-corners",name:"Circle Dots Dot/Square Corners",options:Mo},{id:"circle-shape-rounded-dots-square-corners-dot-corners",name:"Circle Rounded Dots Square/Dot Corners",options:Bo},{id:"circle-shape-rounded-dots-dot-corners-square-corners",name:"Circle Rounded Dots Dot/Square Corners",options:Yo},{id:"circle-shape-classy-dots-square-corners-dot-corners",name:"Circle Classy Dots Square/Dot Corners",options:Jo},{id:"circle-shape-classy-dots-dot-corners-square-corners",name:"Circle Classy Dots Dot/Square Corners",options:Go},{id:"circle-shape-square-dots-rounded-corners-dot-corners",name:"Circle Square Dots Rounded/Dot Corners",options:Xo},{id:"circle-shape-square-dots-dot-corners-rounded-corners",name:"Circle Square Dots Dot/Rounded Corners",options:Eo},{id:"circle-shape-dot-dots-classy-corners-dot-corners",name:"Circle Dots Classy/Dot Corners",options:Fo},{id:"circle-shape-dot-dots-dot-corners-classy-corners",name:"Circle Dots Dot/Classy Corners",options:Lo}];function Po(e){return zo.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function No(e){return zo.find((t=>t.id===e))}No("base");const Uo=e=>"number"==typeof e&&!isNaN(e)&&isFinite(e),Ho=(e,t)=>{const o=[];return Object.values(B).includes(e.type)||o.push({path:`${t}.type`,message:`Invalid gradient type. Must be one of: ${Object.values(B).join(", ")}`,value:e.type}),void 0===e.rotation||Uo(e.rotation)||o.push({path:`${t}.rotation`,message:"Rotation must be a valid number",value:e.rotation}),!e.colorStops||!Array.isArray(e.colorStops)||e.colorStops.length<2?o.push({path:`${t}.colorStops`,message:"Gradient must have at least 2 color stops",value:e.colorStops}):e.colorStops.forEach(((e,r)=>{(!Uo(e.offset)||e.offset<0||e.offset>1)&&o.push({path:`${t}.colorStops[${r}].offset`,message:"Color stop offset must be between 0 and 1",value:e.offset}),(e=>{if(new Set(["black","white","red","green","blue","yellow","purple","gray","grey","cyan","magenta","lime","pink","teal","brown","orange"]).has(e.toLowerCase()))return!0;if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(e))return!0;if(/^#([A-Fa-f0-9]{4}){1,2}$/.test(e))return!0;if(/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.test(e)||/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([01]?\.?\d*)\)$/.test(e))return(e.match(/\d+/g)?.map(Number)||[]).every((e=>e>=0&&e<=255));return!1})(e.color)||o.push({path:`${t}.colorStops[${r}].color`,message:"Invalid color format",value:e.color})})),o};function _o(e){const t=[];let o={...Te};return e.data&&"string"==typeof e.data||t.push({path:"data",message:"QR data is required and must be a string",value:e.data}),e.shape&&!Object.values(E).includes(e.shape)&&(t.push({path:"shape",message:`Invalid shape type. Must be one of: ${Object.values(E).join(", ")}`,value:e.shape}),e.shape=Te.shape),e.qrOptions&&(e.qrOptions.typeNumber&&!Object.values(b).includes(e.qrOptions.typeNumber)&&(t.push({path:"qrOptions.typeNumber",message:"Invalid type number",value:e.qrOptions.typeNumber}),e.qrOptions.typeNumber=Te.qrOptions?.typeNumber),e.qrOptions.errorCorrectionLevel&&!Object.values(y).includes(e.qrOptions.errorCorrectionLevel)&&(t.push({path:"qrOptions.errorCorrectionLevel",message:"Invalid error correction level",value:e.qrOptions.errorCorrectionLevel}),e.qrOptions.errorCorrectionLevel=Te.qrOptions?.errorCorrectionLevel),e.qrOptions.mode&&!Object.values(O).includes(e.qrOptions.mode)&&(t.push({path:"qrOptions.mode",message:"Invalid mode",value:e.qrOptions.mode}),e.qrOptions.mode=Te.qrOptions?.mode)),e.imageOptions&&(e.imageOptions.imageSize&&(!Uo(e.imageOptions.imageSize)||e.imageOptions.imageSize<=0||e.imageOptions.imageSize>1)&&(t.push({path:"imageOptions.imageSize",message:"Image size must be between 0 and 1",value:e.imageOptions.imageSize}),e.imageOptions.imageSize=Te.imageOptions?.imageSize),e.imageOptions.margin&&(!Uo(e.imageOptions.margin)||e.imageOptions.margin<0)&&(t.push({path:"imageOptions.margin",message:"Margin must be a non-negative number",value:e.imageOptions.margin}),e.imageOptions.margin=Te.imageOptions?.margin),e.imageOptions.mode&&!Object.values(F).includes(e.imageOptions.mode)&&(t.push({path:"imageOptions.mode",message:`Invalid image mode. Must be one of: ${Object.values(F).join(", ")}`,value:e.imageOptions.mode}),e.imageOptions.mode=Te.imageOptions?.mode)),e.dotsOptions&&(e.dotsOptions.type&&!Object.values(J).includes(e.dotsOptions.type)&&(t.push({path:"dotsOptions.type",message:`Invalid dot type. Must be one of: ${Object.values(J).join(", ")}`,value:e.dotsOptions.type}),e.dotsOptions.type=Te.dotsOptions?.type),e.dotsOptions.size&&(!Uo(e.dotsOptions.size)||e.dotsOptions.size<=0)&&(t.push({path:"dotsOptions.size",message:"Dot size must be a positive number",value:e.dotsOptions.size}),e.dotsOptions.size=Te.dotsOptions?.size),e.dotsOptions.gradient&&t.push(...Ho(e.dotsOptions.gradient,"dotsOptions.gradient"))),e.cornersSquareOptions&&(e.cornersSquareOptions.type&&!Object.values(X).includes(e.cornersSquareOptions.type)&&(t.push({path:"cornersSquareOptions.type",message:`Invalid corner square type. Must be one of: ${Object.values(X).join(", ")}`,value:e.cornersSquareOptions.type}),e.cornersSquareOptions.type=Te.cornersSquareOptions?.type),e.cornersSquareOptions.gradient&&t.push(...Ho(e.cornersSquareOptions.gradient,"cornersSquareOptions.gradient"))),e.cornersDotOptions&&(e.cornersDotOptions.type&&!Object.values(G).includes(e.cornersDotOptions.type)&&(t.push({path:"cornersDotOptions.type",message:`Invalid corner dot type. Must be one of: ${Object.values(G).join(", ")}`,value:e.cornersDotOptions.type}),e.cornersDotOptions.type=Te.cornersDotOptions?.type),e.cornersDotOptions.gradient&&t.push(...Ho(e.cornersDotOptions.gradient,"cornersDotOptions.gradient"))),o={...o,...e},{warnings:t,validatedOptions:o}}const Ko=/\.?0+$/;function Qo(e){return e.toFixed(7).replace(Ko,"")}function $o(e,...t){return e.reduce(((e,o,r)=>{let i="";return r&&(i=t[r-1]),"number"==typeof i&&(i=Qo(i)),`${e}${i}${o}`}),"").trim().replace(/[\s\n\r]+/gim," ")}class er{get element(){return this._element}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case G.square:t=this.drawSquare;break;case G.heart:t=this.drawHeart;break;case G.rounded:t=this.drawRounded;break;case G.classy:t=this.drawClassy;break;case G.inpoint:t=this.drawInpoint;break;case G.outpoint:t=this.drawOutpoint;break;case G.dot:default:t=this.drawDot}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:i}){const n=e+o/2,s=t+o/2;i(),this._element?.setAttribute("transform",`rotate(${Qo(180*r/Math.PI)},${n},${s})`)}basicDot(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",Qo(o+t/2)),this._element.setAttribute("cy",Qo(r+t/2)),this._element.setAttribute("r",Qo(t/2.1))}})}basicSquare(e){const{size:t,x:o,y:r}=e,i=t/11;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",Qo(o+i)),this._element.setAttribute("y",Qo(r+i)),this._element.setAttribute("width",Qo(t-2*i)),this._element.setAttribute("height",Qo(t-2*i))}})}basicHeart(e){const{size:t,x:o,y:r}=e;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");let i=!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((e=>"string"==typeof e?(n=0,i=e.toUpperCase()==e,e):(n++,e*=t,i&&(e+=n%2==1?o:r),Qo(e)))).join(" "))}basicRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",Qo(o)),this._element.setAttribute("y",Qo(r)),this._element.setAttribute("width",Qo(t)),this._element.setAttribute("height",Qo(t)),this._element.setAttribute("rx",Qo(t/4)),this._element.setAttribute("ry",Qo(t/4))}})}basicClassy(e){const{size:t,x:o,y:r}=e,i=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o} ${r+2.5*i} v ${2*i} a ${2.5*i} ${2.5*i}, 0, 0, 0, ${2.5*i} ${2.5*i} h ${4.5*i} v ${-4.5*i} a ${2.5*i} ${2.5*i}, 0, 0, 0, ${2.5*-i} ${2.5*-i} h ${-2*i} H ${o} z`)}})}basicInpoint(e){const{size:t,x:o,y:r}=e,i=t;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o} ${r+i/2} v ${i/4} a ${i/4}, ${i/4} 0 0 0 ${i/4}, ${i/4} h ${i/4*3} v ${-i/4*3} a ${i/4}, ${i/4} 0 0 0 ${-i/4}, ${-i/4} h ${-i/2} a ${i/4}, ${i/4} 0 0 0 ${-i/4}, ${i/4} z`)}})}drawDot({x:e,y:t,size:o,rotation:r}){this.basicDot({x:e,y:t,size:o,rotation:r})}drawSquare({x:e,y:t,size:o,rotation:r}){this.basicSquare({x:e,y:t,size:o,rotation:r})}drawHeart({x:e,y:t,size:o,rotation:r}){this.basicHeart({x:e,y:t,size:o,rotation:r})}drawRounded({x:e,y:t,size:o,rotation:r}){this.basicRounded({x:e,y:t,size:o,rotation:r})}drawClassy({x:e,y:t,size:o,rotation:r}){this.basicClassy({x:e,y:t,size:o,rotation:r})}drawInpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:r})}drawOutpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:(r||0)+Math.PI})}}class tr{get element(){return this._element}get fill(){return this._fill}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case X.square:t=this.drawSquare;break;case X.rounded:t=this.drawExtraRounded;break;case X.classy:t=this.drawClassy;break;case X.outpoint:t=this.drawOutpoint;break;case X.inpoint:t=this.drawInpoint;break;case X.dot:default:t=this.drawDot}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:i}){const n=e+o/2,s=t+o/2;i(),this._element?.setAttribute("transform",`rotate(${Qo(180*r/Math.PI)},${n},${s})`),this._fill?.setAttribute("transform",`rotate(${Qo(180*r/Math.PI)},${n},${s})`)}basicDot(e){const{size:t,x:o,y:r}=e,i=t/8,n=.5*t,s=n-i;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o+t/2} ${r+(t/2-n)} a ${n} ${n} 0 1 0 0.1 0 z m 0 ${i} a ${s} ${s} 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",$o`M ${o+t/2} ${r+(t/2-(n+i))} a ${n+i} ${n+i} 0 1 0 0.1 0 z`)}})}basicSquare(e){const{size:t,x:o,y:r}=e,i=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o} ${r} v ${t} h ${t} v ${-t} z M ${o+i} ${r+i} h ${t-2*i} v ${t-2*i} h ${2*i-t} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",$o`M ${o-i} ${r-i} h ${t+2*i} v ${t+2*i} h ${-t-2*i} z`)}})}basicExtraRounded(e){const{size:t,x:o,y:r}=e,i=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o} ${r+2.5*i} v ${2*i} a ${2.5*i} ${2.5*i}, 0, 0, 0, ${2.5*i} ${2.5*i} h ${2*i} a ${2.5*i} ${2.5*i}, 0, 0, 0, ${2.5*i} ${2.5*-i} v ${-2*i} a ${2.5*i} ${2.5*i}, 0, 0, 0, ${2.5*-i} ${2.5*-i} h ${-2*i} a ${2.5*i} ${2.5*i}, 0, 0, 0, ${2.5*-i} ${2.5*i} z M ${o+2.5*i} ${r+i} h ${2*i} a ${1.5*i} ${1.5*i}, 0, 0, 1, ${1.5*i} ${1.5*i} v ${2*i} a ${1.5*i} ${1.5*i}, 0, 0, 1, ${1.5*-i} ${1.5*i} h ${-2*i} a ${1.5*i} ${1.5*i}, 0, 0, 1, ${1.5*-i} ${1.5*-i} v ${-2*i} a ${1.5*i} ${1.5*i}, 0, 0, 1, ${1.5*i} ${1.5*-i} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",$o`M ${o-i} ${r+2.5*i} v ${2*i} a ${3.5*i} ${3.5*i}, 0, 0, 0, ${3.5*i} ${3.5*i} h ${2*i} a ${3.5*i} ${3.5*i}, 0, 0, 0, ${3.5*i} ${3.5*-i} v ${-2*i} a ${3.5*i} ${3.5*i}, 0, 0, 0, ${3.5*-i} ${3.5*-i} h ${-2*i} a ${3.5*i} ${3.5*i}, 0, 0, 0, ${3.5*-i} ${3.5*i} z`)}})}basicClassy(e){const{size:t,x:o,y:r}=e,i=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o} ${r+2.5*i} v ${2*i} a ${2.5*i} ${2.5*i}, 0, 0, 0, ${2.5*i} ${2.5*i} h ${4.5*i} v ${-4.5*i} a ${2.5*i} ${2.5*i}, 0, 0, 0, ${2.5*-i} ${2.5*-i} h ${-2*i} H ${o} z M ${o+2.5*i} ${r+i} h ${2*i} a ${1.5*i} ${1.5*i}, 0, 0, 1, ${1.5*i} ${1.5*i} v ${3.5*i} h ${-3.5*i} a ${1.5*i} ${1.5*i}, 0, 0, 1, ${1.5*-i} ${1.5*-i} v ${-3.5*i} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",$o`M ${o+.5*i} ${r-i} h ${4*i} a ${3.5*i} ${3.5*i}, 0, 0, 1, ${3.5*i} ${3.5*i} v ${5.5*i} h ${-5.5*i} a ${3.5*i} ${3.5*i}, 0, 0, 1, ${3.5*-i} ${3.5*-i} v ${-5.5*i} z`)}})}basicInpoint(e){const{size:t,x:o,y:r}=e,i=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",$o`M ${o} ${r+2.5*i} v ${2*i} a ${2.5*i} ${2.5*i}, 0, 0, 0, ${2.5*i} ${2.5*i} h ${4.5*i} v ${-4.5*i} a ${2.5*i} ${2.5*i}, 0, 0, 0, ${2.5*-i} ${2.5*-i} h ${-2*i} a ${2.5*i} ${2.5*i}, 0, 0, 0, ${2.5*-i} ${2.5*i} z M ${o+2.5*i} ${r+i} h ${2*i} a ${1.5*i} ${1.5*i}, 0, 0, 1, ${1.5*i} ${1.5*i} v ${3.5*i} h ${-3.5*i} a ${1.5*i} ${1.5*i}, 0, 0, 1, ${1.5*-i} ${1.5*-i} v ${-2*i} a ${1.5*i} ${1.5*i}, 0, 0, 1, ${1.5*i} ${1.5*-i} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",$o`M ${o+.5*i} ${r-i} h ${4*i} a ${3.5*i} ${3.5*i}, 0, 0, 1, ${3.5*i} ${3.5*i} v ${5.5*i} h ${-5.5*i} a ${3.5*i} ${3.5*i}, 0, 0, 1, ${3.5*-i} ${3.5*-i} v ${-2*i} a ${3.5*i} ${3.5*i}, 0, 0, 1, ${3.5*i} ${3.5*-i} z`)}})}drawDot({x:e,y:t,size:o,rotation:r}){this.basicDot({x:e,y:t,size:o,rotation:r})}drawSquare({x:e,y:t,size:o,rotation:r}){this.basicSquare({x:e,y:t,size:o,rotation:r})}drawExtraRounded({x:e,y:t,size:o,rotation:r}){this.basicExtraRounded({x:e,y:t,size:o,rotation:r})}drawClassy({x:e,y:t,size:o,rotation:r}){this.basicClassy({x:e,y:t,size:o,rotation:r})}drawInpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:r})}drawOutpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:(r||0)+Math.PI})}}class or{get element(){return this._element}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case J.dot:t=this.drawDot;break;case J.randomDot:t=this.drawRandomDot;break;case J.classy:t=this.drawClassy;break;case J.classyRounded:t=this.drawClassyRounded;break;case J.rounded:t=this.drawRounded;break;case J.verticalLine:t=this.drawVerticalLine;break;case J.horizontalLine:t=this.drawHorizontalLine;break;case J.extraRounded:t=this.drawExtraRounded;break;case J.diamond:t=this.drawDiamond;break;case J.smallSquare:t=this.drawSmallSquare;break;case J.tinySquare:t=this.drawTinySquare;break;case J.star:t=this.drawStar;break;case J.plus:t=this.drawPlus;break;case J.square:default:t=this.drawSquare}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:i}){const n=e+o/2,s=t+o/2;i(),this._element?.setAttribute("transform",`rotate(${Qo(180*r/Math.PI)},${n},${s})`)}basicDot(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",Qo(o+t/2)),this._element.setAttribute("cy",Qo(r+t/2)),this._element.setAttribute("r",Qo(t/2))}})}basicSquare(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",Qo(o)),this._element.setAttribute("y",Qo(r)),this._element.setAttribute("width",Qo(t)),this._element.setAttribute("height",Qo(t))}})}basicSideRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",$o`M ${o} ${r} v ${t} h ${t/2} a ${t/2} ${t/2}, 0, 0, 0, 0 ${-t} z`)}})}basicCornerRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",$o`M ${o} ${r} v ${t} h ${t} v ${-t/2} a ${t/2} ${t/2}, 0, 0, 0, ${-t/2} ${-t/2} z`)}})}basicCornerExtraRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",$o`M ${o} ${r} v ${t} h ${t} a ${t} ${t}, 0, 0, 0, ${-t} ${-t} z`)}})}basicCornersRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",$o`M ${o} ${r} v ${t/2} a ${t/2} ${t/2}, 0, 0, 0, ${t/2} ${t/2} h ${t/2} v ${-t/2} a ${t/2} ${t/2}, 0, 0, 0, ${-t/2} ${-t/2} z`)}})}drawDot({x:e,y:t,size:o}){this.basicDot({x:e,y:t,size:o,rotation:0})}drawRandomDot({x:e,y:t,size:o}){const r=.25*Math.random()+.75;this.basicDot({x:e,y:t,size:o*r,rotation:0})}drawSquare({x:e,y:t,size:o}){this.basicSquare({x:e,y:t,size:o,rotation:0})}drawSmallSquare({x:e,y:t,size:o}){const r=o;o=.7*r,e+=.15*r,t+=.15*r,this.basicSquare({x:e,y:t,size:o,rotation:0})}drawTinySquare({x:e,y:t,size:o}){const r=o;o=.6*r,e+=.35*r,t+=.35*r,this.basicSquare({x:e,y:t,size:o,rotation:0})}drawDiamond({x:e,y:t,size:o}){this.basicSquare({x:e,y:t,size:o,rotation:Math.PI/4})}drawRounded({x:e,y:t,size:o,getNeighbor:r}){const i=r?+r(-1,0):0,n=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,d=i+n+s+a;if(0!==d)if(d>2||i&&n||s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else{if(2===d){let r=0;return i&&s?r=Math.PI/2:s&&n?r=Math.PI:n&&a&&(r=-Math.PI/2),void this.basicCornerRounded({x:e,y:t,size:o,rotation:r})}if(1===d){let r=0;return s?r=Math.PI/2:n?r=Math.PI:a&&(r=-Math.PI/2),void this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}else this.basicDot({x:e,y:t,size:o,rotation:0})}drawVerticalLine({x:e,y:t,size:o,getNeighbor:r}){const i=r?+r(-1,0):0,n=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;if(0===i+n+s+a||i&&!s&&!a||n&&!s&&!a)this.basicDot({x:e,y:t,size:o,rotation:0});else if(s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else if(!s||a)if(!a||s);else{const r=-Math.PI/2;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}else{const r=Math.PI/2;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}drawHorizontalLine({x:e,y:t,size:o,getNeighbor:r}){const i=r?+r(-1,0):0,n=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;if(0===i+n+s+a||s&&!i&&!n||a&&!i&&!n)this.basicDot({x:e,y:t,size:o,rotation:0});else if(i&&n)this.basicSquare({x:e,y:t,size:o,rotation:0});else if(!i||n)if(!n||i);else{const r=Math.PI;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}else{const r=0;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}drawExtraRounded({x:e,y:t,size:o,getNeighbor:r}){const i=r?+r(-1,0):0,n=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,d=i+n+s+a;if(0!==d)if(d>2||i&&n||s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else{if(2===d){let r=0;return i&&s?r=Math.PI/2:s&&n?r=Math.PI:n&&a&&(r=-Math.PI/2),void this.basicCornerExtraRounded({x:e,y:t,size:o,rotation:r})}if(1===d){let r=0;return s?r=Math.PI/2:n?r=Math.PI:a&&(r=-Math.PI/2),void this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}else this.basicDot({x:e,y:t,size:o,rotation:0})}drawClassy({x:e,y:t,size:o,getNeighbor:r}){const i=r?+r(-1,0):0,n=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==i+n+s+a?i||s?n||a?this.basicSquare({x:e,y:t,size:o,rotation:0}):this.basicCornerRounded({x:e,y:t,size:o,rotation:Math.PI/2}):this.basicCornerRounded({x:e,y:t,size:o,rotation:-Math.PI/2}):this.basicCornersRounded({x:e,y:t,size:o,rotation:Math.PI/2})}drawClassyRounded({x:e,y:t,size:o,getNeighbor:r}){const i=r?+r(-1,0):0,n=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==i+n+s+a?i||s?n||a?this.basicSquare({x:e,y:t,size:o,rotation:0}):this.basicCornerExtraRounded({x:e,y:t,size:o,rotation:Math.PI/2}):this.basicCornerExtraRounded({x:e,y:t,size:o,rotation:-Math.PI/2}):this.basicCornersRounded({x:e,y:t,size:o,rotation:Math.PI/2})}drawStar({x:e,y:t,size:o}){this.rotateFigure({x:e,y:t,size:o,rotation:0,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const r=e+o/2,i=t+o/2,n=1.3*o/2,s=.5*n;let a="";for(let e=0;e<10;e++){const t=e*Math.PI/5-Math.PI/2,o=e%2==0?n:s;a+=(0===e?"M":"L")+`${r+o*Math.cos(t)},${i+o*Math.sin(t)}`}a+="Z",this._element?.setAttribute("d",a)}})}drawPlus({x:e,y:t,size:o}){this.rotateFigure({x:e,y:t,size:o,rotation:0,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const r=.35*o,i=.85*o,n=(o-i)/2,s=r/2,a=[`M ${e+o/2-s} ${t+n}`,`h ${r}`,`v ${i}`,"h "+-r,"z",`M ${e+n} ${t+o/2-s}`,`h ${i}`,`v ${r}`,"h "+-i,"z"].join(" ");this._element?.setAttribute("d",a)}})}}const rr={toDataURL:e=>"string"==typeof e&&e.startsWith("data:")?Promise.resolve(e):new Promise(((t,o)=>{if("string"==typeof e){const r=new XMLHttpRequest,i=()=>{r.abort()};r.onload=()=>{if(r.status<200||r.status>=300)return i(),void o(new Error(`Failed to load image: ${r.statusText}`));const e=new FileReader;e.onloadend=()=>{i(),t(e.result)},e.onerror=()=>{i(),o(new Error("Failed to read image blob"))},e.readAsDataURL(r.response)},r.onerror=r.ontimeout=r.onabort=()=>{i(),o(new Error("Image load aborted or failed"))};try{r.open("GET",e,!0),r.responseType="blob",r.timeout=1e4,r.send()}catch(e){i(),o(e)}}else{const r=new FileReader;r.onloadend=()=>{t(r.result)},r.onerror=()=>{o(new Error("Failed to read local image"))},r.readAsDataURL(e)}})).catch((e=>(console.error("Image loading error:",e),"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjY2NjIi8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiMwMDAiIGZvbnQtc2l6ZT0iMTYiPkxvZ28gbG9hZCBlcnJvcjwvdGV4dD48L3N2Zz4="))),getSize:(e,t)=>new Promise(((o,r)=>{const i=new Image,n=setTimeout((()=>{r(new Error("Image loading timed out"))}),15e3);"string"==typeof t&&(i.crossOrigin=t);const s=()=>{clearTimeout(n),i.onload=i.onerror=i.onabort=null,i.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="};i.onload=()=>{s(),o({width:i.width,height:i.height})},i.onerror=i.onabort=()=>{s(),r(new Error("Failed to load image"))};try{"string"==typeof e?i.src=e:rr.toDataURL(e).then((e=>{e?i.src=e:r(new Error("Invalid image source"))})).catch(r)}catch(e){s(),r(e)}})).catch((e=>(console.warn("[QRCodeJs] Image size detection error:",e),{width:200,height:200})))};function ir(e){let t,o=[],r=1;if("#"===(e=e.toLowerCase())[0]){const t=e.slice(1),i=t.length;i<=4?(o=[parseInt(t[0]+t[0],16),parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16)],4===i&&(r=parseInt(t[3]+t[3],16)/255)):(o=[parseInt(t[0]+t[1],16),parseInt(t[2]+t[3],16),parseInt(t[4]+t[5],16)],8===i&&(r=parseInt(t[6]+t[7],16)/255)),o[0]||(o[0]=0),o[1]||(o[1]=0),o[2]||(o[2]=0)}else{if(!(t=/^((?:rgba?))\s*\(([^)]*)\)/.exec(e)))return{value:e,alpha:r};{const e=3;o=t[2].trim().split(/\s*[,/]\s*|\s+/),o=o.map(((e,t)=>{if("%"===e[e.length-1]){const o=parseFloat(e)/100;return 3===t?o:255*o}return"none"===e?0:parseFloat(e)})),r=o.length>e?o.pop():1}}return{value:"#"+o.map((e=>Math.max(0,Math.min(255,e)).toString(16).padStart(2,"0"))).join(""),alpha:Math.max(0,Math.min(1,r))}}const nr="undefined"!=typeof window&&void 0!==window.document,sr="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,ar="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent;let dr;async function lr(e,t){if(e.startsWith("data:"))return Promise.resolve(e);try{const o={method:"GET",mode:"cors"};"anonymous"!==t&&"use-credentials"!==t||(o.credentials="use-credentials"===t?"include":"omit");const r=await fetch(e,o);if(!r.ok)return console.warn(`[QRCodeJs] Failed to fetch image directly: ${r.status} ${r.statusText}`),null;if(nr){const e=await r.blob();return e.type.startsWith("image/")?new Promise(((t,o)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.onerror=e=>{console.warn("[QRCodeJs] FileReader error:",e),o(new Error("Failed to read image blob"))},r.readAsDataURL(e)})):(console.warn(`[QRCodeJs] Fetched resource is not an image: ${e.type}`),null)}if(sr||ar){const e=r.headers.get("content-type");if(!e||!e.startsWith("image/"))return console.warn(`[QRCodeJs] Fetched resource is not an image or content-type missing: ${e}`),null;const t=await r.arrayBuffer();let o="";if(sr){const e=await async function(){if(dr)return dr;if(sr)try{const e=await import("buffer");dr=e.Buffer}catch(e){console.error("[QRCodeJs] Failed to dynamically import 'buffer' in Node.js:",e),dr=void 0}return dr}();if(!e)return console.error("[QRCodeJs] Buffer module not loaded in Node.js environment."),null;o=e.from(t).toString("base64")}else if(o=function(e){let t="";const o=new Uint8Array(e),r=o.byteLength;for(let e=0;e<r;e++)t+=String.fromCharCode(o[e]);return"undefined"!=typeof btoa?btoa(t):""}(t),!o)return console.warn("[QRCodeJs] Failed to convert ArrayBuffer to Base64 in Worker."),null;return`data:${e};base64,${o}`}return console.warn("[QRCodeJs] Unknown environment, cannot convert image to Data URL."),null}catch(e){return console.warn("[QRCodeJs] Error fetching image directly:",e),null}}async function cr(e){const t=`https://api.qr-platform.com/v1/utils/get-dataurl?url=${encodeURIComponent(e)}`;try{const e=await fetch(t,{method:"GET",headers:{"x-client-name":"QRCode.js"},mode:"cors"});if(!e.ok)return console.warn(`[QRCodeJs] Failed to fetch image via proxy: ${e.status} ${e.statusText}`),null;const o=await e.json();return o&&"string"==typeof o.dataUrl&&o.dataUrl.startsWith("data:image/")?o.dataUrl:(console.warn("[QRCodeJs] Proxy response did not contain a valid dataUrl:",o),null)}catch(e){return console.warn("[QRCodeJs] Error fetching image via proxy:",e),null}}const ur=[[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]],hr=[[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 pr{constructor(e){this.roundValue=e=>"number"==typeof e?e:parseInt(e.replace("%",""),10)/100;const t=e.margin||0,o="circle"===e.shape?.1:.3,{bordersMain:r,bordersOuter:i,bordersInner:n}=e,s=Math.min(e.width,e.height),a=Z(e.borderOptions?.radius),d=Z(e.borderOptions?.inner?.radius,a),l=a&&I(a)>0?I(a)/100*s:0,c=(a&&I(d)>0?I(d)/100*s:0)??l,u=c>0&&e.borderOptions?.hasBorder?c*o:0;this.finalWidth=e.width+r.left+r.right+i.left+i.right+n.left+n.right,this.finalHeight=e.height+r.top+r.bottom+i.top+i.bottom+n.top+n.bottom;const h=r.left+r.right+i.left+i.right+n.left+n.right,p=r.top+r.bottom+i.top+i.bottom+n.top+n.bottom,m=e.borderOptions?.hasBorder?this.finalWidth-h-2*i.left-2*n.left-n.right-2*t-u:this.finalWidth-2*t,g=e.borderOptions?.hasBorder?this.finalHeight-p-2*i.top-2*n.top-n.top-2*t-u:this.finalHeight-2*t,f=m/e.width,b=g/e.height,y=Math.min(f,b),O=Math.min(Math.max(e.scale??1,0),1.5),C=Math.min(Math.max(e.borderOptions?.inner?.scale??1,0),1.5),S=e.borderOptions?.inner?.horizontalOffset||0,k=e.borderOptions?.inner?.verticalOffset||0;e.scale=y*O*C||1,this.options=e,this.document=e.document,this.imageTools=e.imageTools||rr,this._element=this.document.createElementNS("http://www.w3.org/2000/svg","svg");const w=Qo(e.width),v=Qo(e.height);if(e.isResponsive)this._element.setAttribute("height","100%"),this._element.setAttribute("width","100%");else{const t=e.userWidth||e.width,o=e.userHeight||e.height;t&&("string"==typeof t?this._element.setAttribute("width",t):this._element.setAttribute("width",Qo(t))),o&&("string"==typeof o?this._element.setAttribute("height",o):this._element.setAttribute("height",Qo(o)))}e.zoomFactor&&1!==e.zoomFactor?this._element.setAttribute("viewBox",`0 0 ${e.width/e.zoomFactor} ${e.height/e.zoomFactor}`):this._element.setAttribute("viewBox",`0 0 ${w} ${v}`),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 A=(m-e.width*e.scale)/2+t-S+u/2,T=(g-e.height*e.scale)/2+t-k+u/2;if(e.borderOptions?.hasBorder){const t={top:W(e.borderOptions,"top"),right:W(e.borderOptions,"right"),bottom:W(e.borderOptions,"bottom"),left:W(e.borderOptions,"left")},o=e.borderOptions.thickness||0,r=e.borderOptions.borderOuter?.thickness||0,i=e.borderOptions.borderInner?.thickness||0,n=e.borderOptions.noBorderThickness||o/4;T+=((t.top?o:n)-(t.bottom?o:n))/2+r+i+i/2,A+=((t.left?o:n)-(t.right?o:n))/2+r+i+i/2}e.verticalOffset&&(T-=e.verticalOffset),e.horizontalOffset&&(A-=e.horizontalOffset),this._instanceId=pr.instanceCount++,1===e.scale&&0===A&&0===T||this._innerQrGroup.setAttribute("transform",`translate(${A}, ${T}) scale(${e.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(e){const t=e.getModuleCount(),o=parseInt(((t-17)/4).toFixed(0),10),r=this.options.dotsOptions.size;let i={hideXDots:0,hideYDots:0,width:0,height:0};if(this.qr=e,this.options.borderOptions?.hasBorder||this.drawBackground(),this.options.image){const e=await this.imageTools.getSize(this.options.image,this.options.imageOptions.crossOrigin),{imageOptions:n}=this.options;if(this.options.imageOptions.mode==F.background){const t=0,o=(this.finalWidth-2*t*r)*n.imageSize,s=(this.finalHeight-2*t*r)*n.imageSize;let{width:a,height:d}=e;d=d/a*o,a=o,d>s&&(a=a/d*s,d=s),i={hideXDots:0,hideYDots:0,width:a,height:d}}else{const n=this.options.imageOptions.imageSize*this.options.errorCorrectionPercent,s=g.getPatternPosition(o),a=Math.floor(n*(t*t-192-2*(t-16)-s.length**2*25));i=function({originalHeight:e,originalWidth:t,maxHiddenDots:o,maxHiddenAxisDots:r,dotSize:i,margin:n}){const s={x:0,y:0},a={x:0,y:0};if(e<=0||t<=0||o<=0||i<=0||4*n**2>o)return{height:0,width:0,hideYDots:0,hideXDots:0};r&&r%2==0&&(r=Math.max(1,r-1));const d=Math.max(t,e),l=Math.min(t,e);let c=0,u=(r||o)-2*n;do{const e=c+(u-c)/2;let t=Math.max(1,Math.ceil(e+2*n));t%2==0&&t++;let r=Math.max(1,Math.ceil(e*l/d+2*n));r%2==0&&r++,t*r>o?u=e:c=e}while(Math.abs(c-u)>.001);const h=c;let p=Math.max(1,Math.ceil(h+2*n));p%2==0&&p++;let m=Math.max(1,Math.ceil(h*l/d+2*n));m%2==0&&m++,t>e?(s.x=p,s.y=m):(s.x=m,s.y=p);const g=(s.x-2*n)*i,f=(s.y-2*n)*i;return a.x=g,a.y=g*e/t,a.y>f&&(a.y=f,a.x=f*t/e),{height:Math.round(a.y+2*n*i),width:Math.round(a.x+2*n*i),hideYDots:s.y,hideXDots:s.x}}({originalWidth:e.width,originalHeight:e.height,maxHiddenDots:a,maxHiddenAxisDots:t-14,dotSize:r,margin:this.options.imageOptions.margin})}}this.options.imageOptions.mode!=F.overlay&&this.options.image&&i.width>0&&i.height>0&&await this.drawImage({width:i.width,height:i.height,count:t,dotSize:r,radius:this.options.imageOptions?.radius}),this.drawDots(((e,o)=>!(this.options.imageOptions.mode==F.center&&e>=(t-i.hideXDots)/2&&e<(t+i.hideXDots)/2&&o>=(t-i.hideYDots)/2&&o<(t+i.hideYDots)/2)&&!(e<8&&o<8||e>=t-8&&o<8||o>=t-8&&e<8))),this.options.imageOptions.mode==F.overlay&&this.options.image&&i.width>0&&i.height>0&&await this.drawImage({width:i.width,height:i.height,count:t,dotSize:r}),this.drawCorners()}drawBackground(){const e=this.options;if(this._element&&e.backgroundOptions){const t=e.backgroundOptions.gradient,o=e.backgroundOptions.color;this.createColor({options:t,color:o,additionalRotation:0,x:0,y:0,height:e.height,width:e.width,name:`background-color-${this._instanceId}`});const r=Math.min(e.width,e.height),i=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 n=e.backgroundOptions?.round||0,s=this.roundValue(n);i.setAttribute("x",Qo((e.width-r)/2)),i.setAttribute("y",Qo((e.height-r)/2)),i.setAttribute("width",Qo(r)),i.setAttribute("height",Qo(r)),i.setAttribute("rx",Qo(r/2*s)),this.backgroundMaskGroup.appendChild(i)}}drawBackgroundForBorder(e,t){const o=this.options;if(o.backgroundOptions){const r=o.backgroundOptions.gradient,i=o.backgroundOptions.color||"#ffffff",n=Math.min(o.width,o.height)-2*e,s=(o.width-n)/2,a=(o.height-n)/2,d=t-e,l=this.createColor({options:r,borderOptions:o.borderOptions,color:i,additionalRotation:0,x:s,y:a,height:n,width:n,name:`background-color-${this._instanceId}`,returnSVGGroup:!0}),c=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),c.setAttribute("x",Qo(s)),c.setAttribute("y",Qo(a)),c.setAttribute("width",Qo(n)),c.setAttribute("height",Qo(n)),c.setAttribute("rx",Qo(d)),this.backgroundMaskGroup.appendChild(c),l}}drawDots(e){if(!this.qr)throw new Error("QR code is not defined");const t=this.options,o=this.qr.getModuleCount();if(o>t.width||o>t.height)throw new Error("The canvas is too small");const r=t.dotsOptions.size;let i=Math.min(t.width,t.height);t.imageOptions.mode==F.background&&(i-=2*r*(t.imageOptions.margin||0));const n=Math.floor((t.width-o*r)/2);let s=Math.floor((t.height-o*r)/2);if(t.offset){const e=(t.height-o*r)/2;s+=Math.min(Math.abs(t.offset),e)*Math.sign(t.offset)}let a=new or(t.dotsOptions.type,this.document);const d=new or(J.tinySquare,this.document),l=new or(J.square,this.document);[this.dotsMask,this.dotsMaskGroup]=this.createMask(`mask-dot-color-${this._instanceId}`),this.defs.appendChild(this.dotsMask),t.imageOptions.mode==F.background&&([this.lightDotsMask,this.lightDotsMaskGroup]=this.createMask(`mask-light-dot-color-${this._instanceId}`),this.defs.appendChild(this.lightDotsMask));let c=0,u=o;t.shape===E.circle?(c=Math.floor((i/r-o-2)/2),u=o+2*c):t.imageOptions.mode==F.background&&(c=1,u=o+2*c);const h=n-c*r,p=s-c*r,m=h,f=p,b=o+2*c,y=new Array(u),O=Math.floor(u/2);for(let r=0;r<u;r++){y[r]=new Array(u);for(let i=0;i<u;i++)if(r>c-1&&r<u-c&&i>c-1&&i<u-c){const t=r-c,o=i-c;e&&!e(t,o)?y[r][i]=void 0:y[r][i]=!!this.qr.isDark(o,t)}else t.shape===E.circle&&Math.sqrt((r-O)*(r-O)+(i-O)*(i-O))>O?y[r][i]=void 0:y[r][i]=r!=c-1&&r!=u-c&&i!=c-1&&i!=u-c?this.qr.isDark(i-2*c<0?i:i>=o?i-2*c:i-c,r-2*c<0?r:r>=o?r-2*c:r-c):(i==c-1&&(r<c+8||r>u-c-9)||i==u-c&&r<c+8||r==c-1&&(i<c+8||i>u-c-9)||r==u-c&&i<c+8)&&void 0}const C=(o-17)/4,S=g.getPatternPosition(C);for(let e=0;e<u;e++){const t=S.find((t=>e-c>t-3&&e-c<t+3));for(let o=0;o<u;o++){const i=S.find((e=>o-c>e-3&&o-c<e+3));null!=y[e][o]&&(this.lightDotsMask&&(a=t&&i&&(t!=S[0]&&i!=S[0]||i!=S[0]&&i!=S[S.length-1]||t!=S[0]&&t!=S[S.length-1])?l:d),y[e][o]?(a.draw({x:h+e*r,y:p+o*r,size:r,getNeighbor:(t,r)=>!0===y[e+t]?.[o+r]}),a.element&&this.dotsMaskGroup&&this.dotsMaskGroup.appendChild(a.element)):this.lightDotsMask&&(a.draw({x:h+e*r,y:p+o*r,size:r,getNeighbor:(t,r)=>!1===y[e+t]?.[o+r]}),a.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(a.element)))}}this.lightDotsMask&&this.createColor({color:t.imageOptions.backgroundColor,additionalRotation:0,x:m,y:f,height:b*r,width:b*r,name:`light-dot-color-${this._instanceId}`}),this.createColor({options:t.dotsOptions?.gradient,color:t.dotsOptions.color,additionalRotation:0,x:m,y:f,height:b*r,width:b*r,name:`dot-color-${this._instanceId}`})}drawCorners(){if(!this.qr)throw new Error("QR code is not defined");const e=this.qrGroup,t=this.options;if(!e)throw new Error("Element code is not defined");const o=this.qr.getModuleCount(),r=t.dotsOptions.size,i=7*r,n=3*r,s=Math.floor((t.width-o*r)/2);let a=Math.floor((t.height-o*r)/2);if(t.offset){const e=(t.height-o*r)/2,i=Math.min(Math.abs(t.offset),e)*Math.sign(t.offset);a+=i}[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((([e,d,l])=>{const c=s+e*r*(o-7),u=a+d*r*(o-7);let h=this.dotsMask,p=this.dotsMaskGroup,m=this.dotsMask,g=this.dotsMaskGroup;if((t.cornersSquareOptions?.gradient||t.cornersSquareOptions?.color)&&([h,p]=this.createMask(`mask-corners-square-color-${e}-${d}-${this._instanceId}`),this.defs.appendChild(h),m=h,g=p,this.createColor({options:t.cornersSquareOptions?.gradient,color:t.cornersSquareOptions?.color,additionalRotation:l,x:c,y:u,height:i,width:i,name:`corners-square-color-${e}-${d}-${this._instanceId}`})),t.cornersSquareOptions?.type){const e=new tr(t.cornersSquareOptions.type,this.document);e.draw({x:c,y:u,size:i,rotation:l}),e.element&&p&&p.appendChild(e.element),e.fill&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.fill)}else{const e=new or(t.dotsOptions.type,this.document);for(let t=0;t<ur.length;t++)for(let o=0;o<ur[t].length;o++)ur[t]?.[o]?(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>!!ur[t+e]?.[o+r]}),e.element&&p&&p.appendChild(e.element)):this.lightDotsMask&&!hr[t]?.[o]&&(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>!ur[t+e]?.[o+r]&&!hr[t+e]?.[o+r]}),e.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.element));if(this.lightDotsMask)for(let t=-1;t<8;t++)for(let o=-1;o<8;o++)-1!=t&&7!=t&&-1!=o&&7!=o||(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>{const i=t+e,n=o+r;return i>=-1&&i<=7&&n>=-1&&n<=7&&(-1==i||7==i||-1==n||7==n)}}),e.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.element))}if((t.cornersDotOptions?.gradient||t.cornersDotOptions?.color)&&([m,g]=this.createMask(`mask-corners-dot-color-${e}-${d}-${this._instanceId}`),this.defs.appendChild(m),this.createColor({options:t.cornersDotOptions?.gradient,color:t.cornersDotOptions?.color,additionalRotation:l,x:c+2*r,y:u+2*r,height:n,width:n,name:`corners-dot-color-${e}-${d}-${this._instanceId}`})),t.cornersDotOptions?.type){const e=new er(t.cornersDotOptions.type,this.document);e.draw({x:c+2*r,y:u+2*r,size:n,rotation:l}),e.element&&g&&g.appendChild(e.element)}else{const e=new or(t.dotsOptions.type,this.document);for(let t=0;t<hr.length;t++)for(let o=0;o<hr[t].length;o++)hr[t]?.[o]&&(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>!!hr[t+e]?.[o+r]}),e.element&&g&&g.appendChild(e.element))}}))}async drawImage({width:e,height:t,count:o,dotSize:r,radius:i}){const n=this.options,s=Math.floor((n.width-o*r)/2);let a=Math.floor((n.height-o*r)/2);if(n.offset){const e=(n.height-o*r)/2;a+=Math.min(Math.abs(n.offset),e)*Math.sign(n.offset)}let d=n.imageOptions.margin*r;n.imageOptions.mode==F.background&&(d=0);const l=s+d+(o*r-e)/2,c=a+d+(o*r-t)/2,u=e-2*d,h=t-2*d;let p=null;try{"string"==typeof n.image?p=await lr(n.image,n.imageOptions.crossOrigin):n.image&&(p=await this.imageTools.toDataURL(n.image)),"string"!=typeof n.image||p||(console.warn("Direct image fetch failed, attempting proxy..."),p=await cr(n.image))}catch(e){if(console.warn("[QRCodeJs] Error fetching image directly:",e),"string"==typeof n.image)try{console.warn("[QRCodeJs] Direct image fetch failed via error, attempting proxy..."),p=await cr(n.image)}catch(e){console.warn("[QRCodeJs] Failed to load image via proxy:",e)}}p||(console.warn("[QRCodeJs] Failed to load image directly and via proxy. Using fallback SVG."),p=pr.FALLBACK_IMAGE_DATA_URL);let m=null;if(i){m=`clip-path-image-${this._instanceId}`;const e=this.document.createElementNS("http://www.w3.org/2000/svg","clipPath");e.setAttribute("id",m);const t=this.document.createElementNS("http://www.w3.org/2000/svg","rect");t.setAttribute("x",Qo(l)),t.setAttribute("y",Qo(c)),t.setAttribute("width",Qo(u)),t.setAttribute("height",Qo(h));const o="number"==typeof i?`${i}px`:i;t.setAttribute("rx",o),t.setAttribute("ry",o),e.appendChild(t),this.defs.appendChild(e)}if(n.imageOptions.backgroundColor){const e=this.document.createElementNS("http://www.w3.org/2000/svg","rect");e.setAttribute("x",Qo(l)),e.setAttribute("y",Qo(c)),e.setAttribute("width",Qo(u)),e.setAttribute("height",Qo(h)),m&&e.setAttribute("clip-path",`url(#${m})`);const t=ir(n.imageOptions.backgroundColor);e.setAttribute("fill",t.value),t.alpha<1&&e.setAttribute("opacity",t.alpha.toFixed(7)),this.qrGroup.appendChild(e)}const g=this.document.createElementNS("http://www.w3.org/2000/svg","image");if(g.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",p),g.setAttribute("x",Qo(l)),g.setAttribute("y",Qo(c)),g.setAttribute("id",`qr-image-${this._instanceId}`),g.setAttribute("width",`${Qo(u)}px`),g.setAttribute("height",`${Qo(h)}px`),g.setAttribute("preserveAspectRatio","xMidYMid meet"),n.imageOptions?.padding){const e=n.imageOptions.padding;g.setAttribute("x",Qo(l+e)),g.setAttribute("y",Qo(c+e)),g.setAttribute("width",`${Qo(u-2*e)}px`),g.setAttribute("height",`${Qo(h-2*e)}px`)}m&&g.setAttribute("clip-path",`url(#${m})`),this.qrGroup.appendChild(g)}createColor({options:e,borderOptions:t,color:o,additionalRotation:r,x:i,y:n,height:s,width:a,name:d,returnSVGGroup:l=!1}){const c=a>s?a:s,u=this.document.createElementNS("http://www.w3.org/2000/svg","rect");if(u.setAttribute("x",Qo(i)),u.setAttribute("y",Qo(n)),u.setAttribute("height",Qo(s)),u.setAttribute("width",Qo(a)),u.setAttribute("style",`mask:url(#mask-${d}-${this._instanceId})`),e){let o;if(e.type===B.radial){o=this.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),o.setAttribute("id",d+"-"+this._instanceId),o.setAttribute("gradientUnits","userSpaceOnUse");let e=i+a/2,r=n+s/2;if(t){const o=t.thickness?t.thickness/2:0,d=2;W(t,"top")&&!W(t,"bottom")?r=n+o*d+s/2:!W(t,"top")&&W(t,"bottom")&&(r=n-o*d+s/2),W(t,"right")&&!W(t,"left")?e=i-o*d+a/2:!W(t,"right")&&W(t,"left")&&(e=i+o*d+a/2)}o.setAttribute("fx",Qo(e)),o.setAttribute("fy",Qo(r)),o.setAttribute("cx",Qo(i+a/2)),o.setAttribute("cy",Qo(n+s/2)),o.setAttribute("r",Qo(c/2))}else{const t=((e.rotation||0)+r)%(2*Math.PI),l=(t+2*Math.PI)%(2*Math.PI);let c=i+a/2,u=n+s/2,h=i+a/2,p=n+s/2;l>=0&&l<=.25*Math.PI||l>1.75*Math.PI&&l<=2*Math.PI?(c-=a/2,u-=s/2*Math.tan(t),h+=a/2,p+=s/2*Math.tan(t)):l>.25*Math.PI&&l<=.75*Math.PI?(u-=s/2,c-=a/2/Math.tan(t),p+=s/2,h+=a/2/Math.tan(t)):l>.75*Math.PI&&l<=1.25*Math.PI?(c+=a/2,u+=s/2*Math.tan(t),h-=a/2,p-=s/2*Math.tan(t)):l>1.25*Math.PI&&l<=1.75*Math.PI&&(u+=s/2,c+=a/2/Math.tan(t),p-=s/2,h-=a/2/Math.tan(t)),o=this.document.createElementNS("http://www.w3.org/2000/svg","linearGradient"),o.setAttribute("id",d+"-"+this._instanceId),o.setAttribute("gradientUnits","userSpaceOnUse"),o.setAttribute("x1",Qo(c)),o.setAttribute("y1",Qo(u)),o.setAttribute("x2",Qo(h)),o.setAttribute("y2",Qo(p))}e.colorStops.forEach((e=>{const t=this.document.createElementNS("http://www.w3.org/2000/svg","stop");t.setAttribute("offset",`${Qo(100*e.offset)}%`);const r=ir(e.color);t.setAttribute("stop-color",r.value),r.alpha<1&&t.setAttribute("stop-opacity",r.alpha.toFixed(7)),o.appendChild(t)})),u.setAttribute("fill",`url(#${d}-${this._instanceId})`),this.defs.appendChild(o)}else if(o){const e=ir(o);u.setAttribute("fill",e.value),e.alpha<1&&u.setAttribute("opacity",e.alpha.toFixed(7))}if(l)return u;d.startsWith("background-color")?this._element.insertBefore(u,this._maskedQrGroup):this.qrGroup.appendChild(u)}createMask(e){const t=`${e}-${this._instanceId}`,o=this.options,r=this.document.createElementNS("http://www.w3.org/2000/svg","mask");r.setAttribute("id",t),r.setAttribute("maskUnits","userSpaceOnUse"),r.setAttribute("x","0"),r.setAttribute("y","0"),r.setAttribute("width",Qo(o.width)),r.setAttribute("height",Qo(o.height));const i=this.document.createElementNS("http://www.w3.org/2000/svg","g");return i.setAttribute("fill","#fff"),r.appendChild(i),[r,i]}}pr.instanceCount=0,pr.FALLBACK_IMAGE_DATA_URL="data:image/png;base64,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";const mr=[{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"}}],gr=[{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:J.dot,cornerSquareShape:X.square,cornerDotShape:G.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"}},...mr];function fr(e){return gr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function br(e){return gr.find((t=>t.id===e))}const yr={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}}},Or={id:"square-border-thin",name:"Square Border (Thin)",options:{borderOptions:{...yr,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}}}}},Cr={id:"square-border-medium",name:"Square Border (Medium)",options:{borderOptions:{...yr,thickness:20,radius:"15%"}}},Sr={id:"square-border-thick",name:"Square Border (Thick)",options:{borderOptions:{...yr,thickness:20,radius:"2%"}}},kr={id:"rounded-border-thin-slight",name:"Rounded Border (Thin, Slight)",options:{borderOptions:{...yr,thickness:10,radius:"10%"}}},wr={id:"rounded-border-medium-medium",name:"Rounded Border (Medium)",options:{margin:-6,shape:"circle",borderOptions:{...yr,thickness:12,radius:"35%"}}},vr={id:"rounded-border-thick-high",name:"Rounded Border (Thick, High)",options:{shape:"circle",borderOptions:{...yr,thickness:30,radius:"50"}}},Ar={id:"rounded-border-thick-text",name:"Rounded Border (Thick, Text)",options:{shape:"circle",borderOptions:{...yr,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"}}}}},Tr={id:"rounded-border-outside-top-bottom-text",name:"Rounded Border Outside (Top & Bottom Text)",options:{shape:"circle",margin:-16,borderOptions:{...yr,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"}}}}},qr={id:"rounded-border-outside-left-right-text",name:"Rounded Border Outside (Left & Right Text)",options:{margin:-20,shape:"circle",borderOptions:{...yr,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"}}}}},Ir={id:"rounded-border-top-bottom-text",name:"Rounded Border (Top & Bottom Text)",options:{borderOptions:{...yr,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"}}}}},Zr={id:"rounded-border-left-right-text",name:"Rounded Border (Left & Right Text)",options:{margin:5,borderOptions:{...yr,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"}}}}},Dr={id:"double-square-border-thin",name:"Double Square Border Inside (Thin)",options:{borderOptions:{...yr,thickness:16,radius:"2%",borderInner:{thickness:6}}}},xr={id:"double-square-border-medium",name:"Double Square Border Outside (Medium)",options:{borderOptions:{...yr,thickness:16,radius:"2%",borderOuter:{thickness:6}}}},Wr={id:"double-rounded-border-medium",name:"Double Rounded Border (Medium)",options:{shape:"circle",margin:-20,borderOptions:{...yr,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}}}}}},Vr={id:"double-rounded-border-thick",name:"Double Rounded Border Outside (Thick)",options:{borderOptions:{...yr,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}}}}}},jr={id:"inner-square-border-medium",name:"Inner Square Border Inside (Medium)",options:{borderOptions:{...yr,thickness:10,radius:"2%",borderInner:{thickness:12}}}},Rr={id:"outer-rounded-border-medium",name:"Outer Rounded Border (Medium)",options:{margin:-20,shape:"circle",borderOptions:{...yr,inner:{radius:"20%"},thickness:15,radius:"25%",borderOuter:{thickness:20}}}},Mr={id:"rounded-inner-offset-text",name:"Rounded Inner Offset Text",options:{shape:"circle",margin:-20,borderOptions:{...yr,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"}}}}},Br={id:"square-thick-outer-thin-inner",name:"Square Thick Outer/Thin Inner",options:{borderOptions:{...yr,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"}}}}}},Yr={id:"square-thick-outer-round",name:"Square Thick Outer Round",options:{margin:6,borderOptions:{...yr,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"}}}}}},Jr={id:"square-thick-outer-thin-inner-bottom-text",name:"Square Thick Outer/Thin Inner Bottom Text",options:{borderOptions:{...yr,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}}}}},Gr=[Or,Cr,Sr,kr,wr,vr,Ar,Ir,Zr,Tr,qr,Dr,xr,Wr,Vr,jr,Rr,Mr,Br,Yr,{id:"pill-curved-text-top-bottom",name:"Pill Curved Text Top/Bottom",options:{shape:"circle",borderOptions:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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}}}}}},Jr,{id:"minimalist-thin-square",name:"Minimalist Thin Square",options:{borderOptions:{...yr,thickness:8,radius:"4%"}}},{id:"minimalist-thin-rounded",name:"Minimalist Thin Rounded",options:{margin:4,borderOptions:{...yr,thickness:8,radius:"25%"}}},{id:"chunky-square-border-text",name:"Chunky Square Border Text",options:{margin:10,borderOptions:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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:{...yr,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 Xr(e){return Gr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Er(e){return Gr.find((t=>t.id===e))}const Fr=[{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 Lr(e){return Fr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function zr(e){return Fr.find((t=>t.id===e))}var Pr;!function(e){e.svg="svg",e.png="png",e.jpeg="jpeg",e.webp="webp"}(Pr||(Pr={})),Object.assign(C.stringToBytesFuncs,{UTF8:e=>function(e){const t=[];for(let o=0;o<e.length;o++){let r=e.charCodeAt(o);r<128?t.push(r):r<2048?t.push(192|r>>6,128|63&r):r<55296||r>=57344?t.push(224|r>>12,128|r>>6&63,128|63&r):(o++,r=65536+((1023&r)<<10|1023&e.charCodeAt(o)),t.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r))}return t}(e)});let Nr=class e{get size(){return this.qrSVG?{width:this.qrSVG.width,height:this.qrSVG.height}:void 0}constructor(t,o=!1){var r;this._svgId=`qr-svg-${Math.random().toString(36).substring(2,9)}`,(r=t)&&0!==Object.keys(r).length||(console.warn("QRCodeJs: Options not provided. Using default options and base template."),t=Te);const i=t;let n=Te;e._selectedTemplate&&(n="id"in e._selectedTemplate&&"options"in e._selectedTemplate?w(n,e._selectedTemplate.options):w(n,e._selectedTemplate));let s={};e._selectedBorder&&(s="id"in e._selectedBorder&&"options"in e._selectedBorder?e._selectedBorder.options:e._selectedBorder);let a={};if(e._selectedStyle){const{isValid:t,errors:o}=ke(e._selectedStyle);t?a=Se(e._selectedStyle):console.warn("Invalid static style options ignored during instantiation:",o)}let d={};e._selectedImage&&!e._selectedImageOverride&&(d={image:e._selectedImage});let l={};e._selectedData&&!e._selectedDataOverride&&(l={data:e._selectedData});const c={};if(e._selectedText&&!e._selectedTextOverride){let t=null;if(t="id"in e._selectedText&&"options"in e._selectedText?e._selectedText.options:e._selectedText,t){c.borderOptions||(c.borderOptions={}),c.borderOptions.decorations||(c.borderOptions.decorations={});const e=c.borderOptions.decorations,o=null===t.value?void 0:t.value;void 0!==t.value&&(void 0===t.topValue&&(e.top={value:o}),void 0===t.bottomValue&&(e.bottom={value:o}),void 0===t.leftValue&&(e.left={value:o}),void 0===t.rightValue&&(e.right={value:o})),void 0!==t.topValue&&(e.top={value:null===t.topValue?void 0:t.topValue}),void 0!==t.leftValue&&(e.left={value:null===t.leftValue?void 0:t.leftValue}),void 0!==t.rightValue&&(e.right={value:null===t.rightValue?void 0:t.rightValue}),void 0!==t.bottomValue&&(e.bottom={value:null===t.bottomValue?void 0:t.bottomValue})}}const u=w(n,s,c,a,d,l,i,e._selectedOptions??{}),{warnings:h,validatedOptions:p}=_o(u);this.options=z(p);const m={};if(e._selectedImageOverride&&e._selectedImage&&(m.image=e._selectedImage),e._selectedTextOverride&&e._selectedText){m.borderOptions||(m.borderOptions={}),m.borderOptions.decorations||(m.borderOptions.decorations={});let t=null;if(t="id"in e._selectedText&&"options"in e._selectedText?e._selectedText.options:e._selectedText,t){const e=m.borderOptions.decorations,o=null===t.value?void 0:t.value;void 0!==t.value&&(void 0===t.topValue&&(e.top={value:o}),void 0===t.bottomValue&&(e.bottom={value:o}),void 0===t.leftValue&&(e.left={value:o}),void 0===t.rightValue&&(e.right={value:o})),void 0!==t.topValue&&(e.top={value:null===t.topValue?void 0:t.topValue}),void 0!==t.leftValue&&(e.left={value:null===t.leftValue?void 0:t.leftValue}),void 0!==t.rightValue&&(e.right={value:null===t.rightValue?void 0:t.rightValue}),void 0!==t.bottomValue&&(e.bottom={value:null===t.bottomValue?void 0:t.bottomValue})}}return e._selectedDataOverride&&e._selectedData&&(m.data=e._selectedData),e._selectedOptionsOverride&&e._selectedOptions&&Object.keys(m).length>0?this.options=z(w(this.options,w(m,e._selectedOptions))):Object.keys(m).length>0&&(this.options=z(w(this.options,m))),this.id=e._selectedInfo?.id,this.name=e._selectedInfo?.name,this.description=e._selectedInfo?.description,this.metadata=e._selectedMetadata??void 0,h.length>0&&this._logValidationWarnings("QR Code Options Validation Warnings:",h),this.update(),this}static setTemplate(t){if(null===t)return e._selectedTemplate=null,e;if("string"==typeof t){const o=t,r=Po(o);r?e._selectedTemplate=r:(console.warn(`QR Code template name "${o}" not found. Using base template.`),e._selectedTemplate=Te)}else e._selectedTemplate=t;return e}static setTemplateId(t){if(null===t)return e._selectedTemplate=null,e;const o=No(t);return o?e._selectedTemplate=o:(console.warn(`QR Code template ID "${t}" not found in setTemplateId. Using default.`),e._selectedTemplate=Te),e}static getTemplates(){return{findTextTemplateById:zr,findTextByName:Lr,findTemplateByName:Po,findTemplateById:No,findBorderById:Er,findBorderByName:Xr,findStyleById:br,findStyleByName:fr,baseTemplates:zo,borderTemplates:Gr,styleTemplates:gr,textTemplates:Fr}}static setStyle(t){if(null===t)return e._selectedStyle=null,e;let o=null;if("string"==typeof t){const r=t,i=fr(r);i?(o=i.style,e._selectedStyle=o):(console.warn(`QR Code style name "${r}" not found in setStyle. Ignoring.`),e._selectedStyle=null)}else{const{isValid:r,errors:i}=ke(t);r?(o=t,e._selectedStyle=o):(console.warn("Invalid style options object provided to setStyle:",i),e._selectedStyle=null)}return e}static setBorder(t){if(null===t)return e._selectedBorder=null,e;if("string"==typeof t){const o=t,r=Xr(o);r?e._selectedBorder=r:(console.warn(`QR Code border template name "${o}" not found. Ignoring.`),e._selectedBorder=null)}else e._selectedBorder={borderOptions:t};return e}static setBorderId(t){if(null===t)return e._selectedBorder=null,e;const o=Er(t);return o?e._selectedBorder=o:(console.warn(`QR Code border template ID "${t}" not found in setBorderId. Ignoring.`),e._selectedBorder=null),e}static setStyleId(t){if(null===t)return e._selectedStyle=null,e;const o=br(t);return o?e._selectedStyle=o.style:(console.warn(`QR Code style ID "${t}" not found in setStyleId. Ignoring.`),e._selectedStyle=null),e}static setImage(t,o){return e._selectedImage=t,e._selectedImageOverride=!!o?.override,e}static setData(t,o){return e._selectedData=t,e._selectedDataOverride=!!o?.override,e}static setOptions(t,o){return e._selectedOptions=t,e._selectedOptionsOverride=!!o?.override,e}static setText(t,o){if(null===t)e._selectedText=null;else if("string"==typeof t){const o=Lr(t);o?e._selectedText=o:(console.warn(`QR Code text template name "${t}" not found. Ignoring.`),e._selectedText=null)}else e._selectedText=t;return e._selectedTextOverride=!!o?.override,e}static setTextId(t,o){if(null===t)e._selectedText=null;else{const o=zr(t);console.log("foundTextTemplate",o),o?e._selectedText=o:(console.warn(`QR Code text template ID "${t}" not found in setTextId. Ignoring.`),e._selectedText=null)}return e._selectedTextOverride=!!o?.override,e}static setSettings(t){if(null===t)return e._selectedTemplate=null,e._selectedBorder=null,e._selectedStyle=null,e._selectedImage=null,e._selectedImageOverride=!1,e._selectedText=null,e._selectedTextOverride=!1,e._selectedData=null,e._selectedDataOverride=!1,e._selectedOptions=null,e._selectedOptionsOverride=!1,e._selectedInfo=null,e._selectedMetadata=null,e;const{id:o,name:r,description:i,metadata:n,options:s,template:a,templateId:d,style:l,styleId:c,border:u,borderId:h,text:p,textId:m,image:g,data:f,...b}=t;return e._selectedInfo={id:o,name:r,description:i},e._selectedMetadata=n??null,d?e.setTemplateId(d):a&&e.setTemplate(a),c?e.setStyleId(c):l&&e.setStyle(l),h?e.setBorderId(h):u&&e.setBorder(u),m?e.setTextId(m):p&&e.setText(p),g&&e.setImage(g),f&&e.setData(f),s&&e.setOptions(s),Object.keys(b).length>0&&console.warn("QRCodeJs.setSettings: Unknown properties in settings object:",b),e}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(e){return this.id=e,this}setName(e){return this.name=e,this}setDescription(e){return this.description=e,this}setMetadata(e){return this.metadata=e,this}async update(e){const t=e?w(this.options,e):this.options,{warnings:o,validatedOptions:r}=_o(t);if(o.length>0&&this._logValidationWarnings("QR Code JS Options Update Validation Warnings:",o),this.options=z(r),!this.options.data)return void console.warn("QR Code update called without data.");this.options.stringToBytesFuncs&&(Object.assign(C.stringToBytesFuncs,this.options.stringToBytesFuncs),delete this.options.stringToBytesFuncs),this.qr=new C(this.options.qrOptions.typeNumber,this.options.qrOptions.errorCorrectionLevel);const i=this.options.qrOptions?.mode||function(e){switch(!0){case/^[0-9]*$/.test(e):return O.numeric;case/^[0-9A-Z $%*+\-./:]*$/.test(e):return O.alphanumeric;case/[^\u0000-\u00ff]/.test(e):return O.unicode;default:return O.byte}}(this.options.data);this.qr.addData(this.options.data,i),this.qr.make(),await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise;const n=this.qrSVG?.element;if(this.container&&n){const e=this.container.querySelector(`#${this._svgId}`);e&&e!==n&&this.container.replaceChild(n,e)}}append(e,t){if(!e)return console.warn("QR Code append could not find container."),this;if(this.container=e,t?.clearContainer)for(;e.firstChild;)e.removeChild(e.firstChild);return this.qrSVG?.element&&!e.querySelector(`#${this._svgId}`)&&e.appendChild(this.qrSVG.element),this}async applyExtension(e){if(!e)throw new Error("Extension function should be defined.");this.extension=e,await this.update()}async deleteExtension(){this.extension=void 0,await this.update()}async serialize(e=!1){if(!this.qr)throw new Error("QR code is empty");if(this.qrSVG?.element||await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise,!this.qrSVG?.element)return;let t=this.qrSVG.element;if(e){const e=this.qrSVG.element.cloneNode(!0);e.style.filter="invert(1)",t=e}let o=(new XMLSerializer).serializeToString(t);return o='<?xml version="1.0" standalone="no"?>\r\n'+o,o}async _setupSvgAsync(){if(!this.qr)return;let e=this.qr.getModuleCount();this.options.imageOptions.mode===F.background&&this.options.shape!==E.circle&&(e+=2);let t=Math.ceil((this.options.shape===E.circle?Math.sqrt(1.8):1.1)*e);t%2==0&&(t-=1);let o=0;this.options.imageOptions.mode===F.background&&(o+=this.options.imageOptions.margin||0);const r=Math.ceil(this.options.dotsOptions.size*(t+2*o)),i=this.options.borderOptions;let n=0,s=0;const a={top:0,right:0,bottom:0,left:0},d={top:0,right:0,bottom:0,left:0},l={top:0,right:0,bottom:0,left:0},c=(i?.noBorderThickness||i?.thickness)&&i.thickness?i.thickness/4:0;if(i?.hasBorder){const e=i.borderOuter?.thickness?2*i.borderOuter?.thickness:0,t=i.borderInner?.thickness?2*i.borderInner?.thickness:0;e>0&&(d.top=e/2,d.bottom=e/2,d.left=e/2,d.right=e/2),t>0&&(l.top=t/2,l.bottom=t/2,l.left=t/2,l.right=t/2),W(i,"left")?(a.left=i.thickness??0,n+=i.thickness??0):(a.left=c,n+=c),W(i,"right")?(a.right=i.thickness??0,n+=i.thickness??0):(a.right=c,n+=c),W(i,"top")?(a.top=i.thickness??0,s+=i.thickness??0):(a.top=c,s+=c),W(i,"bottom")?(a.bottom=i.thickness??0,s+=i.thickness??0):(a.bottom=c,s+=c)}const u=r+n,h=r+s;this.qrSVG=new pr({...this.options,width:u,height:h,userWidth:this.options.width,userHeight:this.options.height,bordersMain:a,bordersOuter:d,bordersInner:l,errorCorrectionPercent:P[this.options.qrOptions.errorCorrectionLevel],hls:!0}),this.qrSVG?.element?(this.qrSVG.element.id=this._svgId,this.svgDrawingPromise=this.qrSVG.drawQR(this.qr).then((()=>{var e;this.qrSVG?.element&&(this.options.instanceId=this.qrSVG._instanceId,this.options.borderOptions?.hasBorder&&(e=this.options.borderOptions,(t,o,r,i,n,s,a,d)=>{const{instanceId:l}=o,c=r,u=r,h=Math.min(c,u),p=Z(e.radius),m=p&&I(p)>0?I(p)/100*h:0,g=Z(e?.inner?.radius,m),f=Math.min(Math.max(e.inner?.scale??1,0),1.5),b=e.inner?.horizontalOffset??0,y=e.inner?.verticalOffset??0,O=e.thickness??0,C=e.color??"#000000",S=e.borderOuter?.thickness?e.borderOuter.thickness/2:0,k=e.borderInner?.thickness?e.borderInner.thickness/2:0,w=o.document,V=n.left+n.right,j=n.top+n.bottom,B=i(O,m),Y={top:W(e,"top"),right:W(e,"right"),bottom:W(e,"bottom"),left:W(e,"left")},J=w.createElementNS("http://www.w3.org/2000/svg","rect"),G={x:s.left/2,y:s.top/2,width:h+V-s.left,height:h+j-s.top,fill:C,rx:p??m};Object.entries(G).forEach((([e,t])=>{J.setAttribute(e,t.toString())}));const X=w.createElementNS("http://www.w3.org/2000/svg","rect"),E=m>=200?"50%":m,F=c+V-(n.left+n.right+a.left+a.right+s.left+s.right),L=u+j-(n.top+n.bottom+a.top+a.bottom+s.top+s.bottom),z=F*f,P=L*f,N=(F-z)/2-b,U=(L-P)/2-y,H={x:n.left+a.left+s.left+N,y:n.top+a.top+s.top+U,width:z,height:P,fill:B?.getAttribute("fill")||"#ffffff",rx:g??E};Object.entries(H).forEach((([e,t])=>X.setAttribute(e,t.toString()))),B&&(({strokePath:e,backgroundMaskGroup:t,svgElement:o,color:r="#000000"})=>{e.setAttribute("fill",t?.getAttribute("fill")||r),t.setAttribute("fill","none"),t.setAttribute("stroke-width","0"),o.insertBefore(t,o.firstChild)})({strokePath:X,backgroundMaskGroup:B,svgElement:t,color:C});let _=t.getElementsByTagName("defs")[0];_||(_=w.createElementNS("http://www.w3.org/2000/svg","defs"),t.insertBefore(_,t.firstChild));const K=w.createElementNS("http://www.w3.org/2000/svg","mask");K.setAttribute("id",`qr-mask-${l}`),K.setAttribute("maskUnits","userSpaceOnUse");const Q=w.createElementNS("http://www.w3.org/2000/svg","rect");if(Q.setAttribute("fill","white"),Object.entries(H).forEach((([e,t])=>{"fill"!==e&&Q.setAttribute(e,t.toString())})),_.appendChild(K),K.appendChild(Q),t.insertBefore(X,t.firstChild?.nextSibling),t.insertBefore(J,t.firstChild),e.borderOuter&&"number"==typeof e.borderOuter.thickness&&e.borderOuter.thickness>0){const o=w.createElementNS("http://www.w3.org/2000/svg","rect"),r={x:s.left/2,y:s.top/2,width:c+V-s.left,height:u+j-s.top,fill:"none",rx:p??m,stroke:e.borderOuter.color||"#c0c0c0","stroke-width":e.borderOuter.thickness};Object.entries(r).forEach((([e,t])=>o.setAttribute(e,t.toString()))),t.insertBefore(o,t.firstChild?.nextSibling)}if(B&&Array.from(t.getElementsByTagName("rect"))[0]){const e=t.firstChild;e?t.insertBefore(B,e):t.appendChild(B)}if(e.borderInner&&"number"==typeof e.borderInner.thickness&&e.borderInner.thickness>0){const o=w.createElementNS("http://www.w3.org/2000/svg","rect"),r={x:n.left+a.left+s.left+N,y:n.top+a.top+s.top+U,width:z,height:P,fill:"none",stroke:e.borderInner.color||"#c0c0c0","stroke-width":a.left,rx:g??E};Object.entries(r).forEach((([e,t])=>o.setAttribute(e,t.toString()))),t.appendChild(o)}const $=e,ee=[v,T,q,A];for(const e of ee){const o=$.decorations?.[e];if(!o||!o.enableText||!Y[e])continue;const r=o.type||D,i=r===x?M:r===D?R:void 0;i&&i({document:w,svg:t,position:e,thickness:$.thickness??0,value:o.value??"",style:o.style,offset:o.offset,curveAdjustment:o.curveAdjustment,curveDisabled:o.curveDisabled,height:u+j,width:c+V,enabledBorders:Y,outerBorderPadding:S,innerBorderPadding:k,round:p,curveRadius:o.curveRadius,instanceId:l,noBorderThickness:d})}})(this.qrSVG.element,this.options,r,this.qrSVG.drawBackgroundForBorder.bind(this.qrSVG),a,d,l,c),this.extension?.(this.qrSVG.element,this.options))})).catch((e=>{throw console.error("Error during SVG drawing or post-processing:",e),e}))):console.error("QRSVG element not created immediately after instantiation.")}async _drawToCanvasForValidation(e){const{width:t=300,height:o=300}=this.qrSVG?.svgSize??e??r,i=t,n=o,s=document.createElement("canvas");s.width=i,s.height=n;const a=await this.serialize();if(!a)throw new Error("Failed to serialize SVG.");const d="data:image/svg+xml;base64,"+btoa(a);return new Promise(((e,t)=>{const o=new Image;o.width=i,o.height=n,o.crossOrigin="Anonymous",o.onload=()=>{const r=s.getContext("2d");if(!r)return t(new Error("Could not get canvas 2D context"));r.drawImage(o,0,0,i,n),e(s)},o.onerror=o.onabort=t,o.src=d}))}async drawToCanvas(e){const t=document.createElement("canvas"),o=window.devicePixelRatio||1,r=e?.antialiasFactor||2,i=e?.antialiasLevel||"medium",n=e?.antialias??!0,s=(async()=>{try{const s=await this.serialize();if(!s)return void console.warn("SVG serialization returned empty.");const a="data:image/svg+xml;base64,"+function(e){const t=(new TextEncoder).encode(e),o=Array.from(t,(e=>String.fromCharCode(e))).join("");return btoa(o)}(s),d=new Image;await new Promise(((e,t)=>{d.onload=()=>e(),d.onerror=e=>t(new Error(`Image load error: ${e}`)),d.onabort=()=>t(new Error("Image load aborted")),d.src=a}));const{width:l,height:c}=this.qrSVG?.svgSize??{},u=l??d.naturalWidth,h=c??d.naturalHeight;if(u<=0||h<=0)throw new Error("Invalid SVG dimensions");let p,m;void 0!==e?.width&&void 0!==e?.height?(p=e.width,m=e.height):void 0!==e?.width?(p=e.width,m=p*(h/u)):void 0!==e?.height?(m=e.height,p=m*(u/h)):(p=u,m=h),t.width=p*o,t.height=m*o,t.style.width=`${p}px`,t.style.height=`${m}px`;const g=p/u,f=m/h,b=Math.min(g,f),y=u*b,O=h*b,C=(p-y)/2,S=(m-O)/2;let k;try{k=new OffscreenCanvas(y*o*r,O*o*r)}catch(e){k=document.createElement("canvas"),k.width=y*o*r,k.height=O*o*r}const w=k.getContext("2d");if(!w)throw new Error("Could not get OffscreenCanvas 2D context");w.imageSmoothingEnabled=n,w.imageSmoothingQuality=i,w.drawImage(d,0,0,k.width,k.height);const v=t.getContext("2d");if(!v)throw new Error("Could not get canvas 2D context");v.imageSmoothingEnabled=n,v.imageSmoothingQuality=i,v.scale(o,o),v.drawImage(k,0,0,k.width,k.height,C,S,y,O)}catch(e){throw console.error("Error drawing to canvas:",e),e}})();return{canvas:t,canvasDrawingPromise:s}}async _drawToCanvasPrevious(e){const{width:t=300,height:o=300}=e??this.qrSVG?.svgSize??r,i=1*t,n=1*o,s=document.createElement("canvas");s.width=i,s.height=n;const a=(async()=>{try{const e=await this.serialize();if(!e)return void console.warn("SVG serialization returned empty.");const r="data:image/svg+xml;base64,"+btoa(e),a=new Image;a.width=i,a.height=n,await new Promise(((e,d)=>{a.onload=()=>{const r=Math.ceil(2*Math.max(t,o)/Math.max(a.width,a.height));let l;try{l=new OffscreenCanvas(a.width*r*2,a.height*r*2)}catch(e){l=document.createElement("canvas"),l.width=a.width*r*2,l.height=a.height*r*2}const c=l.getContext("2d");if(!c)return d(new Error("Could not get OffscreenCanvas 2D context"));c.drawImage(a,0,0,l.width,l.height);const u=s.getContext("2d");if(!u)return d(new Error("Could not get canvas 2D context"));u.drawImage(l,0,0,l.width,l.height,0,0,i,n),e()},a.onerror=e=>d(new Error(`Image load error: ${e}`)),a.onabort=()=>d(new Error("Image load aborted")),a.src=r}))}catch(e){throw console.error("Error drawing to canvas:",e),e}})();return{canvas:s,canvasDrawingPromise:a}}downloadURI(e,t){const o=document.createElement("a");o.download=t,o.href=e,document.body.appendChild(o),o.click(),document.body.removeChild(o)}async download(e,t){if("undefined"==typeof Blob)throw new Error("Cannot download in Node.js environment");let o=Pr.png,r="qr";if(e&&(e.name&&(r=e.name),e.extension&&(o=e.extension)),"svg"===o.toLowerCase()){const e=await this.serialize();if(!e)return;const t="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(e);this.downloadURI(t,`${r}.svg`)}else{const e=await this.drawToCanvas(t);if(!e)return;const{canvas:i,canvasDrawingPromise:n}=e;await n;const s=i.toDataURL(`image/${o}`);this.downloadURI(s,`${r}.${o}`)}}async createOptimizedQRCanvas(e){const{width:t=300,height:o=300}=this.qrSVG?.svgSize??e??r,i=document.createElement("canvas");i.width=t,i.height=o;const n=await this.serialize();if(!n)throw new Error("Failed to serialize SVG.");const s="data:image/svg+xml;base64,"+btoa(Array.from((new TextEncoder).encode(n)).map((e=>String.fromCharCode(e))).join(""));return new Promise(((e,r)=>{const n=new Image;n.width=t,n.height=o,n.crossOrigin="Anonymous",n.onload=()=>{const s=i.getContext("2d");if(!s)return r(new Error("Could not get canvas 2D context"));s.imageSmoothingEnabled=!1,s.drawImage(n,0,0,t,o),this.applyQRThreshold(i),e(i)},n.onerror=e=>r(new Error(`Image load error: ${e}`)),n.onabort=()=>r(new Error("Image load aborted")),n.src=s}))}applyQRThreshold(e){const t=e.getContext("2d");if(!t)return;const o=t.getImageData(0,0,e.width,e.height),r=o.data;for(let e=0;e<r.length;e+=4){const t=(r[e]+r[e+1]+r[e+2])/3<128?0:255;r[e]=r[e+1]=r[e+2]=t}t.putImageData(o,0,0)}_logValidationWarnings(e,t){console.warn(e),t.forEach((e=>{console.warn(`option: ${e.path} - '${e.value}' : ${e.message}`)}))}};Nr.version="0.20.3",Nr._selectedTemplate=null,Nr._selectedBorder=null,Nr._selectedStyle=null,Nr._selectedImage=null,Nr._selectedImageOverride=!1,Nr._selectedText=null,Nr._selectedTextOverride=!1,Nr._selectedData=null,Nr._selectedDataOverride=!1,Nr._selectedOptions=null,Nr._selectedOptionsOverride=!1,Nr._selectedInfo=null,Nr._selectedMetadata=null;const Ur="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjY2NjIi8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiMwMDAiIGZvbnQtc2l6ZT0iMTYiPkxvZ28gbG9hZCBlcnJvcjwvdGV4dD48L3N2Zz4=";class Hr extends Nr{static async initXmldom(){if(!Hr._xmldomSync){const t=e;Hr._xmldomSync=t}}constructor(e,r=!1){if(!Hr._xmldomSync)throw new Error("You must call QRCodeJs.initXmldom() before constructing QRCodeJs");const{DOMImplementation:i,DOMParser:n,XMLSerializer:s}=Hr._xmldomSync,a=(new i).createDocument(null,"");global.XMLSerializer=s,global.DOMParser=n;const d=new Map,l=async e=>{try{if("string"==typeof e){let o=d.get(e);return o||(o=new Promise((async(o,r)=>{const i=new AbortController,n=setTimeout((()=>{i.abort(),r(new Error("Image load timed out"))}),15e3);try{const r=await fetch(e,{signal:i.signal,headers:{"User-Agent":"QR-Plarform/1 (https://www.qr-platform.com; contact@qr-platform.com)"}});if(!r.ok)throw new Error(`HTTP ${r.status} - ${r.statusText}`);const s=Buffer.from(await r.arrayBuffer()),a=await t(s);clearTimeout(n),o({contentType:r.headers.get("Content-Type")||a?.mime,data:s})}catch(e){clearTimeout(n),r(e)}})),d.set(e,o),o)}{const o=Buffer.isBuffer(e)?e:Buffer.from(await e.arrayBuffer()),r=await t(o);return{contentType:r?.mime,data:o}}}catch(e){return console.warn("[QRCodeJs] Image loading failed:",e),{contentType:"image/svg+xml",data:Buffer.from(Ur.split(",")[1],"base64")}}};super({...e,document:e.document||a,imageTools:e.imageTools||{toDataURL:async e=>{try{if("string"==typeof e&&e.startsWith("data:"))return e;const{contentType:t,data:o}=await l(e);return`data:${t?.replace("application/xml","image/svg+xml")||"image/png"};base64,${o.toString("base64")}`}catch(e){return console.warn("[QRCodeJs] Data URL conversion failed:",e),Ur}},getSize:async t=>{try{const{data:r}=Buffer.isBuffer(e.image)?{data:e.image}:await l(t),i=o(r);return{width:i.width||200,height:i.height||200}}catch(e){return console.warn("[QRCodeJs] Image size detection failed:",e),{width:200,height:200}}}}})}static async validateImageData(e){try{const t="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent,{qrValidatorZbar:o}=t?await import("./chunks/scan-validator-worker-nTaVszLU.js"):await import("./chunks/scan-validator-node-_qhS-Z_9.js"),r=await o.validateZbarImageData(e);if(r.isValid)return{...r,validator:"ZBAR"};{console.debug("Zbar validation failed, trying Zxing...");const{qrValidatorZxing:t}=await import("./chunks/scan-validator-zxing-node-Cek8GusT.js");return{...await t.validateImageData(e),validator:"ZXING"}}}catch(e){return console.debug(`Zbar and Zxing validation threw an error: ${e instanceof Error?e.message:String(e)}`),Promise.reject({isValid:!1,message:e instanceof Error?e.message:"Zbar and Zxing validation failed with an error"})}}async validateScanning(){try{const e=await this.serialize(),t="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent,{qrValidatorZbar:o}=t?await import("./chunks/scan-validator-worker-nTaVszLU.js"):await import("./chunks/scan-validator-node-_qhS-Z_9.js"),r=await o.validateZbar(e,!1);if(r.isValid)return{...r,validator:"ZBAR"};{console.debug("Zbar validation failed, trying Zxing...");const{qrValidatorZxing:t}=await import("./chunks/scan-validator-zxing-node-Cek8GusT.js");return{...await t.validateZxing(e),validator:"ZXING"}}}catch(e){return console.debug(`Zbar and Zxing validation threw an error: ${e instanceof Error?e.message:String(e)}`),Promise.reject({isValid:!1,message:e instanceof Error?e.message:"Zbar and Zxing validation failed with an error"})}}static async validateSvg(e){if(!e)return Promise.reject({isValid:!1,message:"SVG source is required for scanning validation."});try{const t=e,o="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent,{qrValidatorZbar:r}=o?await import("./chunks/scan-validator-worker-nTaVszLU.js"):await import("./chunks/scan-validator-node-_qhS-Z_9.js"),i=await r.validateZbar(t,!1);if(i.isValid)return{...i,validator:"ZBAR"};{console.debug("Zbar validation failed, trying Zxing...");const{qrValidatorZxing:e}=await import("./chunks/scan-validator-zxing-node-Cek8GusT.js");return{...await e.validateZxing(t),validator:"ZXING"}}}catch(e){return console.debug(`Zbar and Zxing validation threw an error: ${e instanceof Error?e.message:String(e)}`),Promise.reject({isValid:!1,message:e instanceof Error?e.message:"Zbar and Zxing validation failed with an error"})}}static useTemplate(e){return new _r(this,e)}static useTemplateId(e){return new _r(this).useTemplateId(e)}static useStyle(e){return new _r(this).useStyle(e)}static useStyleId(e){return new _r(this).useStyleId(e)}static useBorder(e){return new _r(this).useBorder(e)}static useBorderId(e){return new _r(this).useBorderId(e)}static useImage(e,t){return new _r(this).useImage(e,t)}static useData(e,t){return new _r(this).useData(e,t)}static useText(e,t){return new _r(this).useText(e,t)}static useTextId(e,t){return new _r(this).useTextId(e,t)}static useOptions(e,t){return new _r(this).useOptions(e,t)}static useSettings(e){return new _r(this).useSettings(e)}}Hr._xmldomSync=null,Hr._initPromise=null,Hr._initPromise=Hr.initXmldom();class _r{constructor(e,t){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=e,"string"==typeof t?(this._templateSource=t,this._isTemplateById=!1):t&&(this._initialOptions=t)}useTemplate(e){return this._templateSource=e,this._isTemplateById=!1,this._initialOptions=null,this}useTemplateId(e){return this._templateSource=e,this._isTemplateById=!0,this._initialOptions=null,this}useStyle(e){return this._styleSource=e,this._isStyleById=!1,this}useStyleId(e){return this._styleSource=e,this._isStyleById=!0,this}useBorder(e){return this._borderSource=e,this._isBorderById=!1,this}useBorderId(e){return this._borderSource=e,this._isBorderById=!0,this}useImage(e,t){return this._imageSource=e,this._imageOverride=!!t?.override,this}useData(e,t){return this._dataSource=e,this._dataOverride=!!t?.override,this}useText(e,t){return this._textSource=e,this._isTextById=!1,this._textOverride=!!t?.override,this._initialOptions=null,this}useTextId(e,t){return this._textSource=e,this._isTextById=!0,this._textOverride=!!t?.override,this._initialOptions=null,this}useOptions(e,t){return this._optionsSource=e,this._optionsOverride=!!t?.override,this._initialOptions=null,this}useId(e){return this._idSource=e,this._initialOptions=null,this}useName(e){return this._nameSource=e,this._initialOptions=null,this}useDescription(e){return this._descriptionSource=e,this._initialOptions=null,this}useMetadata(e){return this._metadataSource=e,this._initialOptions=null,this}useSettings(e){return this._initialOptions=null,void 0!==e.id&&(this._idSource=e.id),void 0!==e.name&&(this._nameSource=e.name),void 0!==e.description&&(this._descriptionSource=e.description),void 0!==e.metadata&&(this._metadataSource=e.metadata),e.templateId?(this._templateSource=e.templateId,this._isTemplateById=!0):e.template&&(this._templateSource=e.template,this._isTemplateById=!1),e.borderId?(this._borderSource=e.borderId,this._isBorderById=!0):e.border&&(e.border,this._borderSource=e.border,this._isBorderById=!1),this._textOverride||(e.textId?(this._textSource=e.textId,this._isTextById=!0):e.text&&(this._textSource=e.text,this._isTextById=!1)),e.style?(this._styleSource=e.style,this._isStyleById=!1):e.styleId&&(this._styleSource=e.styleId,this._isStyleById=!0),this._imageOverride||e.image&&(this._imageSource=e.image,this._imageOverride=!1),this._dataOverride||e.data&&(this._dataSource=e.data,this._dataOverride=!1),this._optionsOverride||e.options&&(this._optionsSource=e.options),this._initialOptions=null,this}_resolveAndMergeConfig(e={}){let t={};t=this._initialOptions?w({},this._initialOptions):w({},Te);let o=null;if(this._templateSource&&"string"==typeof this._templateSource){const e=(this._isTemplateById?No:Po)(this._templateSource);if(e)o=e.options;else{const e=this._isTemplateById?"ID":"name";console.warn(`QR Code template ${e} "${this._templateSource}" not found. Using base template.`)}}else this._templateSource&&"string"!=typeof this._templateSource&&(o=this._templateSource);o&&(t=w(t,o));let r=null;if(this._borderSource)if("string"==typeof this._borderSource){const e=(this._isBorderById?Er:Xr)(this._borderSource);if(e)r=e.options;else{const e=this._isBorderById?"ID":"name";console.warn(`QR Code border ${e} "${this._borderSource}" not found. Ignoring.`)}}else r={borderOptions:this._borderSource};r&&(t=w(t,r));let i=null;if(this._textSource&&!this._textOverride){let e=null;if("string"==typeof this._textSource){const t=(this._isTextById?zr:Lr)(this._textSource);if(t)e=t.options;else{const e=this._isTextById?"ID":"name";console.warn(`QR Code text template ${e} "${this._textSource}" not found. Ignoring.`)}}else e=this._textSource;if(e){i={borderOptions:{decorations:{}}};const t=i.borderOptions.decorations,o=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(t.top={value:o}),void 0===e.bottomValue&&(t.bottom={value:o}),void 0===e.leftValue&&(t.left={value:o}),void 0===e.rightValue&&(t.right={value:o})),void 0!==e.topValue&&(t.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(t.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(t.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(t.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}i&&(t=w(t,i));let n=null;if(this._styleSource)if("string"==typeof this._styleSource){const e=(this._isStyleById?br:fr)(this._styleSource);if(e)n=e.style;else{const e=this._isStyleById?"ID":"name";console.warn(`QR Code style ${e} "${this._styleSource}" not found. Ignoring.`)}}else{const{isValid:e,errors:t}=ke(this._styleSource);e?n=this._styleSource:console.warn("Invalid style options object provided:",t)}if(n){t=w(t,Se(n))}if(this._imageSource&&!this._imageOverride&&(t=w(t,{image:this._imageSource})),this._dataSource&&!this._dataOverride&&(t=w(t,{data:this._dataSource})),this._optionsSource&&!this._optionsOverride&&(t=w(t,this._optionsSource)),t=w(t,e),this._imageOverride&&this._imageSource&&(t=w(t,{image:this._imageSource})),this._textOverride&&this._textSource){const e={borderOptions:{decorations:{}}};let o=null;if("string"==typeof this._textSource){const e=(this._isTextById?zr:Lr)(this._textSource);e&&(o=e.options)}else o=this._textSource;if(o){const r=e.borderOptions.decorations,i=null===o.value?void 0:o.value;void 0!==o.value&&(void 0===o.topValue&&(r.top={value:i}),void 0===o.bottomValue&&(r.bottom={value:i}),void 0===o.leftValue&&(r.left={value:i}),void 0===o.rightValue&&(r.right={value:i})),void 0!==o.topValue&&(r.top={value:null===o.topValue?void 0:o.topValue}),void 0!==o.leftValue&&(r.left={value:null===o.leftValue?void 0:o.leftValue}),void 0!==o.rightValue&&(r.right={value:null===o.rightValue?void 0:o.rightValue}),void 0!==o.bottomValue&&(r.bottom={value:null===o.bottomValue?void 0:o.bottomValue}),t=w(t,e)}}return this._dataOverride&&this._dataSource&&(t=w(t,{data:this._dataSource})),this._optionsSource&&this._optionsOverride&&(t=w(t,this._optionsSource)),t}options(e){const t=this._resolveAndMergeConfig(e),o=new this._qrCodeConstructor(t);return null!==this._idSource&&o.setId(this._idSource),null!==this._nameSource&&o.setName(this._nameSource),null!==this._descriptionSource&&o.setDescription(this._descriptionSource),null!==this._metadataSource&&o.setMetadata(this._metadataSource),o}build(){const e=this._resolveAndMergeConfig(),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}}class Kr extends Hr{constructor(e){super(e,!0)}}export{G as CornerDotType,X as CornerSquareType,J as DotType,y as ErrorCorrectionLevel,P as ErrorCorrectionPercents,B as GradientType,F as ImageMode,O as Mode,_r as QRCodeBuilder,Hr as QRCodeJs,E as ShapeType,b as TypeNumber,Kr as _};