@qr-platform/qr-code.js 0.20.1 → 0.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +5 -0
- package/docs/advanced-examples.md +39 -0
- package/docs/api-reference-guide.md +3 -1
- package/docs/documentation.md +66 -3
- package/docs/examples.md +76 -0
- package/docs/typescript-types-definitions.md +21 -1
- package/docs/usage-guide.md +43 -8
- package/lib/browser.js +1 -1
- package/lib/core/qr-svg.d.ts +2 -0
- package/lib/esm.js +1 -1
- package/lib/index.js +1 -1
- package/lib/node/core/qr-svg.d.ts +2 -0
- package/lib/node/plugins/QRBorderPlugin.d.ts +2 -2
- package/lib/node/utils/options.d.ts +20 -4
- package/lib/node.js +1 -1
- package/lib/plugins/QRBorderPlugin.d.ts +2 -2
- package/lib/utils/options.d.ts +20 -4
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={width:500,height:500};class t{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 o,r,n;!function(e){e[e.L=1]="L",e[e.M=0]="M",e[e.Q=3]="Q",e[e.H=2]="H"}(o||(o={}));class i{constructor(){throw new Error("error")}static glog(e){if(e<1)throw new Error("log("+e+")");return i.LOG_TABLE[e]}static gexp(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return i.EXP_TABLE[e]}}i.initialize=(()=>{i.EXP_TABLE=[],i.LOG_TABLE=[];for(let e=0;e<256;e+=1)i.EXP_TABLE.push(e<8?1<<e:i.EXP_TABLE[e-4]^i.EXP_TABLE[e-5]^i.EXP_TABLE[e-6]^i.EXP_TABLE[e-8]),i.LOG_TABLE.push(0);for(let e=0;e<255;e+=1)i.LOG_TABLE[i.EXP_TABLE[e]]=e})();class s{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+=i.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]^=i.gexp(i.glog(this.getAt(o))+i.glog(e.getAt(r)));return new s(t)}mod(e){if(this.getLength()-e.getLength()<0)return this;const t=i.glog(this.getAt(0))-i.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]^=i.gexp(i.glog(e.getAt(r))+t);return new s(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"}(r||(r={}));class a{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 r.MODE_NUMBER:return 10;case r.MODE_ALPHA_NUM:return 9;case r.MODE_8BIT_BYTE:case r.MODE_KANJI:return 8;default:throw new Error("mode:"+this.mode)}else if(e<27)switch(this.mode){case r.MODE_NUMBER:return 12;case r.MODE_ALPHA_NUM:return 11;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 10;default:throw new Error("mode:"+this.mode)}else{if(!(e<41))throw new Error("typeNumber:"+e);switch(this.mode){case r.MODE_NUMBER:return 14;case r.MODE_ALPHA_NUM:return 13;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 12;default:throw new Error("mode:"+this.mode)}}}}class l extends a{constructor(e,t){super(r.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 d extends a{constructor(e){super(r.MODE_ALPHA_NUM,e)}write(e){const t=this.getData();let o=0;for(;o+1<t.length;)e.put(45*d.getCode(t.charAt(o))+d.getCode(t.charAt(o+1)),11),o+=2;o<t.length&&e.put(d.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 c extends a{constructor(e,t){super(r.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 u extends a{constructor(e){super(r.MODE_NUMBER,e)}write(e){const t=this.getData();let o=0;for(;o+2<t.length;)e.put(u.strToNum(t.substring(o,o+3)),10),o+=3;o<t.length&&(t.length-o==1?e.put(u.strToNum(t.substring(o,o+1)),4):t.length-o==2&&e.put(u.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+u.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"}(n||(n={}));class h{constructor(){throw new Error("error")}static getPatternPosition(e){return h.PATTERN_POSITION_TABLE[e-1]}static getMaxLength(e,t,n){const i=e-1;let s=0,a=0;switch(n){case o.L:s=0;break;case o.M:s=1;break;case o.Q:s=2;break;case o.H:s=3;break;default:throw new Error("e:"+n)}switch(t){case r.MODE_NUMBER:a=0;break;case r.MODE_ALPHA_NUM:a=1;break;case r.MODE_8BIT_BYTE:a=2;break;case r.MODE_KANJI:a=3;break;default:throw new Error("m:"+t)}return h.MAX_LENGTH[i][s][a]}static getErrorCorrectPolynomial(e){let t=new s([1]);for(let o=0;o<e;o+=1)t=t.multiply(new s([1,i.gexp(o)]));return t}static getMaskFunc(e){switch(e){case n.PATTERN000:return(e,t)=>(e+t)%2==0;case n.PATTERN001:return(e,t)=>e%2==0;case n.PATTERN010:return(e,t)=>t%3==0;case n.PATTERN011:return(e,t)=>(e+t)%3==0;case n.PATTERN100:return(e,t)=>(~~(e/2)+~~(t/3))%2==0;case n.PATTERN101:return(e,t)=>e*t%2+e*t%3==0;case n.PATTERN110:return(e,t)=>(e*t%2+e*t%3)%2==0;case n.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(;h.getBCHDigit(t)-h.getBCHDigit(h.G15)>=0;)t^=h.G15<<h.getBCHDigit(t)-h.getBCHDigit(h.G15);return(e<<10|t)^h.G15_MASK}static getBCHTypeNumber(e){let t=e<<12;for(;h.getBCHDigit(t)-h.getBCHDigit(h.G18)>=0;)t^=h.G18<<h.getBCHDigit(t)-h.getBCHDigit(h.G18);return e<<12|t}static getBCHDigit(e){let t=0;for(;0!=e;)t+=1,e>>>=1;return t}}h.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]],h.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]]],h.G15=1335,h.G18=7973,h.G15_MASK=21522;class p{constructor(e,t){this.totalCount=e,this.dataCount=t}getDataCount(){return this.dataCount}getTotalCount(){return this.totalCount}static getRSBlocks(e,t){const o=p.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 p(r,i))}return n}static getRsBlockTable(e,t){switch(t){case o.L:return p.RS_BLOCK_TABLE[4*(e-1)+0];case o.M:return p.RS_BLOCK_TABLE[4*(e-1)+1];case o.Q:return p.RS_BLOCK_TABLE[4*(e-1)+2];case o.H:return p.RS_BLOCK_TABLE[4*(e-1)+3]}throw new Error("tn:"+e+"/ecl:"+t)}}p.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 m=Array(41).fill(0).map(((e,t)=>t));var g,f;!function(e){e.L="L",e.M="M",e.Q="Q",e.H="H"}(g||(g={})),function(e){e.numeric="numeric",e.alphanumeric="alphanumeric",e.byte="byte",e.kanji="kanji",e.unicode="unicode"}(f||(f={}));class b{constructor(e=0,t=g.L){this.modules=[],this.moduleCount=0,this.typeNumber=e,this.errorCorrectLevel=o[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=f.byte){if(e instanceof a)this.qrDataList.push(e);else{if("string"!=typeof e)throw new Error(typeof e);switch(t){case f.numeric:this.qrDataList.push(new u(e));break;case f.alphanumeric:this.qrDataList.push(new d(e));break;case f.byte:this.qrDataList.push(new l(e,b.stringToBytesFuncs.default));break;case f.unicode:this.qrDataList.push(new l(e,b.stringToBytesFuncs.UTF8));break;case f.kanji:this.qrDataList.push(new c(e,b.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 o=p.getRSBlocks(e,this.errorCorrectLevel),r=new t;this.qrDataList.forEach((t=>{r.put(t.getMode(),4),r.put(t.getLength(),t.getLengthInBits(e)),t.write(r)}));const n=o.reduce(((e,t)=>e+t.getDataCount()),0);if(r.getLengthInBits()<=8*n)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=h.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=b.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=h.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=h.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=h.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=h.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,o,r){const n=p.getRSBlocks(e,o),i=new t;r.forEach((t=>{i.put(t.getMode(),4),i.put(t.getLength(),t.getLengthInBits(e)),t.write(i)}));const s=n.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(b.PAD0,8),i.getLengthInBits()>=8*s));)i.put(b.PAD1,8);return b.createBytes(i,n)}static createBytes(e,t){let o=0,r=0,n=0;const i=new Array(t.length).map((e=>[])),a=new Array(t.length).map((e=>[]));function l(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]=l(c);for(let t=0;t<i[d].length;t+=1)i[d][t]=255&e.getBuffer()[t+o];o+=c;const p=h.getErrorCorrectPolynomial(u),m=new s(i[d],p.getLength()-1).mod(p);a[d]=l(p.getLength()-1);for(let e=0;e<a[d].length;e+=1){const t=e+m.getLength()-a[d].length;a[d][e]=t>=0?m.getAt(t):0}}const d=l(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<a[o].length&&(d[c]=a[o][e],c+=1);return d}}b.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}},b.PAD0=236,b.PAD1=17;const y=e=>!!e&&"object"==typeof e&&!Array.isArray(e);function O(e,t=!1){const o=e.split("").reverse().join("");return t?o.toLocaleUpperCase():o}function C(e,...t){if(!t.length)return e;const o=t.shift();return void 0!==o&&y(e)&&y(o)?(e={...e},Object.keys(o).forEach((t=>{const r=e[t],n=o[t];Array.isArray(r)&&Array.isArray(n)?e[t]=n:y(r)&&y(n)?e[t]=C({...r},n):e[t]=void 0===n?r:n})),C(e,...t)):e}O("rq",!0),O("-",!0),O("talp",!0),O("mrof",!0),O("a".repeat(6)+"#",!0);const S="top",v="bottom",k="left",w="right";const A=e=>"number"==typeof e?e:parseInt(e.replace("%",""),10),T=(e,t="0%")=>e?e.endsWith("%")?e:e+"%":t,q="text",I="image",D=(e,t)=>{var o,r;return!(null!==(o=null==e||null===(r=e.decorations)||void 0===r||null===(r=r[t])||void 0===r?void 0:r.disabled)&&void 0!==o&&o)},Z=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 x=({document:e,position:t,rotate:o,flip:r,thickness:n,height:i,width:s,round:a,offset:l=0,curveAdjustment:d=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?A(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*d*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,l);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},W=({document:e,thickness:t,value:o,svg:r,position:n,height:i,width:s,round:a,style:l,offset:d=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===w?b=90:n===v?y=!u:n===k&&(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+d-(i-s>0?0:(s-i)/2);if(n===v?u=i-2*h-t/2-d:n===S&&(u=2*h+t/2+d),n===S||n===v){let e=0;!f[k]&&f[w]?e=-(t-g)/2:f[k]&&!f[w]&&(e=(t-g)/2),c+=e}else if(n===k||n===w){let e=0;!f[S]&&f[v]?e=n===k?(t-g)/2:-(t-g)/2:f[S]&&!f[v]&&(e=n===k?-(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=Z(l);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=x({document:e,position:n,rotate:b,flip:y,thickness:t,height:i,width:s,round:a,offset:d,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=Z(r);return i.setAttribute("style",a),i.appendChild(s),i})({document:e,position:n,value:o,style:l,instanceId:m}))}},V=({document:e,thickness:t,value:o,svg:r,position:n,height:i,width:s,offset:a=0,style:l})=>{const d=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===S?u+=(c-t)/2:n===w?(u+=c-t,h+=(c-t)/2):n===v?(u+=(c-t)/2,h+=c-t):n===k&&(h+=(c-t)/2),d.setAttribute("href",o||""),d.setAttribute("x",`${u}`),d.setAttribute("y",`${h}`),d.setAttribute("style",(null==l?void 0:l.toString())||""),r.appendChild(d)};var j,R,M,B,Y,J,X;function G(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 E(e){var t,o,r;const n={...e};if(n.imageOptions={...n.imageOptions,imageSize:Math.min(1,Number(null===(t=n.imageOptions)||void 0===t?void 0:t.imageSize))||1,margin:Number(null===(o=n.imageOptions)||void 0===o?void 0:o.margin)||0,padding:Number(null===(r=n.imageOptions)||void 0===r?void 0:r.padding)||0},n.imageOptions.mode==X.overlay&&(n.imageOptions.margin=0),n.dotsOptions={...n.dotsOptions},n.dotsOptions.gradient&&(n.dotsOptions.gradient=G(n.dotsOptions.gradient)),n.dotsOptions.size=Math.round(Math.max(0,n.dotsOptions.size)||10),n.cornersSquareOptions&&(n.cornersSquareOptions={...n.cornersSquareOptions},n.cornersSquareOptions.gradient&&(n.cornersSquareOptions.gradient=G(n.cornersSquareOptions.gradient))),n.cornersDotOptions&&(n.cornersDotOptions={...n.cornersDotOptions},n.cornersDotOptions.gradient&&(n.cornersDotOptions.gradient=G(n.cornersDotOptions.gradient))),n.backgroundOptions&&(n.backgroundOptions={...n.backgroundOptions},n.backgroundOptions.gradient&&(n.backgroundOptions.gradient=G(n.backgroundOptions.gradient))),n.borderOptions&&n.borderOptions.decorations){const e=["top","bottom","left","right"];for(const t of e){let e=n.borderOptions.decorations[t];e||(n.borderOptions.decorations[t]={enableText:!1,value:void 0},e=n.borderOptions.decorations[t]),!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||n.document||(n.document=document),n}!function(e){e.radial="radial",e.linear="linear"}(j||(j={})),function(e){e.svg="svg",e.png="png",e.jpeg="jpeg",e.webp="webp"}(R||(R={})),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"}(M||(M={})),function(e){e.dot="dot",e.square="square",e.heart="heart",e.rounded="rounded",e.classy="classy",e.outpoint="outpoint",e.inpoint="inpoint"}(B||(B={})),function(e){e.dot="dot",e.square="square",e.rounded="rounded",e.classy="classy",e.outpoint="outpoint",e.inpoint="inpoint"}(Y||(Y={})),function(e){e.square="square",e.circle="circle"}(J||(J={})),function(e){e.center="center",e.overlay="overlay",e.background="background"}(X||(X={}));const F={[g.L]:.07,[g.M]:.15,[g.Q]:.25,[g.H]:.3};class L{constructor(e="",t={}){if(e instanceof L)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(L.names[e])e=L.names[e],n=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(r=ge.rgb.exec(e))return{r:r[1],g:r[2],b:r[3]};if(r=ge.rgba.exec(e))return{r:r[1],g:r[2],b:r[3],a:r[4]};if(r=ge.hsl.exec(e))return{h:r[1],s:r[2],l:r[3]};if(r=ge.hsla.exec(e))return{h:r[1],s:r[2],l:r[3],a:r[4]};if(r=ge.hsv.exec(e))return{h:r[1],s:r[2],v:r[3]};if(r=ge.hsva.exec(e))return{h:r[1],s:r[2],v:r[3],a:r[4]};if(r=ge.hex8.exec(e))return{r:ce(r[1]),g:ce(r[2]),b:ce(r[3]),a:me(r[4]),format:n?"name":"hex8"};if(r=ge.hex6.exec(e))return{r:ce(r[1]),g:ce(r[2]),b:ce(r[3]),format:n?"name":"hex"};if(r=ge.hex4.exec(e))return{r:ce(r[1]+""+r[1]),g:ce(r[2]+""+r[2]),b:ce(r[3]+""+r[3]),a:me(r[4]+""+r[4]),format:n?"name":"hex8"};if(r=ge.hex3.exec(e))return{r:ce(r[1]+""+r[1]),g:ce(r[2]+""+r[2]),b:ce(r[3]+""+r[3]),format:n?"name":"hex"};return!1}(e));"object"==typeof e&&(fe(e.r)&&fe(e.g)&&fe(e.b)?(l=e.r,d=e.g,c=e.b,t={r:255*le(l,255),g:255*le(d,255),b:255*le(c,255)},s=!0,a="%"===String(e.r).slice(-1)?"prgb":"rgb"):fe(e.h)&&fe(e.s)&&fe(e.v)?(r=he(e.s),n=he(e.v),t=function(e,t,o){e=6*le(e,360),t=le(t,100),o=le(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),l=r%6,d=[o,s,i,i,a,o][l],c=[a,o,o,s,i,i][l],u=[i,i,a,o,o,qw][l];return{r:255*d,g:255*c,b:255*u}}(e.h,r,n),s=!0,a="hsv"):fe(e.h)&&fe(e.s)&&fe(e.l)&&(r=he(e.s),i=he(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=le(e,360),t=le(t,100),o=le(o,100),0===t)r=n=i=o;else{const a=o<.5?o*(1+t):o+t-o*t,l=2*o-a;r=s(l,a,e+1/3),n=s(l,a,e),i=s(l,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 l,d,c;return o=ae(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=ae(e),this._roundA=Math.round(100*this._a)/100,this}toHsv(){const e=N(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}}toHsvString(){const e=N(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=z(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}}toHslString(){const e=z(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 P(this._r,this._g,this._b,e)}toHexString(e){return"#"+this.toHex(e)}toHex8(e){return function(e,t,o,r,n){const i=[ue(Math.round(e).toString(16)),ue(Math.round(t).toString(16)),ue(Math.round(o).toString(16)),ue(pe(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*le(this._r,255))+"%",g:Math.round(100*le(this._g,255))+"%",b:Math.round(100*le(this._b,255))+"%",a:this._a}}toPercentageRgbString(){return 1==this._a?`rgb(${Math.round(100*le(this._r,255))}%, ${Math.round(100*le(this._g,255))}%, ${Math.round(100*le(this._b,255))}%)`:`rgba(${Math.round(100*le(this._r,255))}%, ${Math.round(100*le(this._g,255))}%, ${Math.round(100*le(this._b,255))}%, ${this._roundA})`}toName(){return 0===this._a?"transparent":!(this._a<1)&&(L.hexNames[P(this._r,this._g,this._b,!0)]||!1)}toFilter(e){const t="#"+U(this._r,this._g,this._b,this._a);let o=t;const r=this._gradientType?"GradientType = 1, ":"";if(e){const t=new L(e);o="#"+U(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 L(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(Q,...e)}brighten(...e){return this._applyModification($,...e)}darken(...e){return this._applyModification(ee,...e)}desaturate(...e){return this._applyModification(_,...e)}saturate(...e){return this._applyModification(H,...e)}greyscale(...e){return this._applyModification(K,...e)}spin(...e){return this._applyModification(te,...e)}_applyCombination(e,...t){return e(this,...t)}analogous(...e){return this._applyCombination(ie,...e)}complement(...e){return this._applyCombination(oe,...e)}monochromatic(...e){return this._applyCombination(se,...e)}splitcomplement(...e){return this._applyCombination(ne,...e)}triad(){return this._applyCombination(re,3)}tetrad(){return this._applyCombination(re,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]:he(e[o]));e=t}return new L(e,t)}static equals(e,t){return!(!e||!t)&&new L(e).toRgbString()===new L(t).toRgbString()}static random(){return L.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})}static mix(e,t,o){o=0===o?0:o||50;const r=new L(e).toRgb(),n=new L(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 L(s)}static readability(e,t){const o=new L(e),r=new L(t);return(Math.max(o.getLuminance(),r.getLuminance())+.05)/(Math.min(o.getLuminance(),r.getLuminance())+.05)}static isReadable(e,t,o){const r=L.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:l}=o;for(const o of t)r=L.readability(e,o),r>i&&(i=r,n=new L(o));return L.isReadable(e,n,{level:a,size:l})||!s?n:(o.includeFallbackColors=!1,L.mostReadable(e,["#fff","#000"],o))}}function z(e,t,o){e=le(e,255),t=le(t,255),o=le(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 l=r-n;switch(s=a>.5?l/(2-r-n):l/(r+n),r){case e:i=(t-o)/l+(t<o?6:0);break;case t:i=(o-e)/l+2;break;case o:i=(e-t)/l+4}i/=6}return{h:i,s,l:a}}function N(e,t,o){e=le(e,255),t=le(t,255),o=le(o,255);const r=Math.max(e,t,o),n=Math.min(e,t,o);let i;const s=r,a=r-n,l=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:l,v:s}}function P(e,t,o,r){const n=[ue(Math.round(e).toString(16)),ue(Math.round(t).toString(16)),ue(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 U(e,t,o,r){return[ue(pe(r)),ue(Math.round(e).toString(16)),ue(Math.round(t).toString(16)),ue(Math.round(o).toString(16))].join("")}function _(e,t){t=0===t?0:t||10;const o=new L(e).toHsl();return o.s-=t/100,o.s=de(o.s),new L(o)}function H(e,t){t=0===t?0:t||10;const o=new L(e).toHsl();return o.s+=t/100,o.s=de(o.s),new L(o)}function K(e){return new L(e).desaturate(100)}function Q(e,t){t=0===t?0:t||10;const o=new L(e).toHsl();return o.l+=t/100,o.l=de(o.l),new L(o)}function $(e,t){t=0===t?0:t||10;const o=new L(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 L(o)}function ee(e,t){t=0===t?0:t||10;const o=new L(e).toHsl();return o.l-=t/100,o.l=de(o.l),new L(o)}function te(e,t){const o=new L(e).toHsl(),r=(o.h+t)%360;return o.h=r<0?360+r:r,new L(o)}L.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"},L.hexNames=function(e){const t={};for(const o in e)e.hasOwnProperty(o)&&(t[e[o]]=o);return t}(L.names);const oe=e=>{const t=new L(e).toHsl();return t.h=(t.h+180)%360,new L(t)},re=(e,t)=>{if(isNaN(t)||t<=0)throw new Error("Argument to polyad must be a positive number");const o=new L(e).toHsl(),r=[new L(e)],n=360/t;for(let e=1;e<t;e++)r.push(new L({h:(o.h+e*n)%360,s:o.s,l:o.l}));return r};function ne(e){const t=new L(e).toHsl(),o=t.h;return[new L(e),new L({h:(o+72)%360,s:t.s,l:t.l}),new L({h:(o+216)%360,s:t.s,l:t.l})]}function ie(e,t,o){t=t||6,o=o||30;const r=new L(e).toHsl(),n=360/o,i=[new L(e)];for(r.h=(r.h-(n*t>>1)+720)%360;--t;)r.h=(r.h+n)%360,i.push(new L(r));return i}function se(e,t){t=t||6;const o=new L(e).toHsv(),r=o.h,n=o.s;let i=o.v;const s=[],a=1/t;for(;t--;)s.push(new L({h:r,s:n,v:i})),i=(i+a)%1;return s}function ae(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function le(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 de(e){return Math.min(1,Math.max(0,e))}function ce(e){return parseInt(e,16)}function ue(e){return 1==e.length?"0"+e:""+e}function he(e){return e<=1&&(e=100*e+"%"),e}function pe(e){return Math.round(255*parseFloat(e)).toString(16)}function me(e){return ce(e)/255}const ge=(()=>{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 fe(e){return!!ge.CSS_UNIT.exec(e)}function be(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 ye(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=>{var o,s;const a=`borderText${t.charAt(0).toUpperCase()+t.slice(1)}`,l=e[a];var d;void 0!==l?(n[t]||(n[t]={}),n[t]={...n[t],value:l,enableText:!0,style:{...(null===(d=n[t])||void 0===d?void 0:d.style)||{},...r}},i=!0):null!==(o=n[t])&&void 0!==o&&o.value&&Object.keys(r).length>0&&(null===(s=n[t])||void 0===s||!s.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 L(e.secondaryColor).isDark();o.color=new L(e.primaryColor).darken(t?-12:12).toString()}if(e.thirdColor&&!e.borderInnerColor&&(o.borderInner||(o.borderInner={}),o.borderInner.color=new L(e.thirdColor).darken(2).toString()),e.primaryColor&&!e.borderOuterColor&&(o.borderOuter=o.borderOuter||{},o.borderOuter.color=new L(e.primaryColor).darken(2).toString()),e.backgroundColor&&!e.borderFontColor&&o.color){const t=new L(e.backgroundColor),r=new L(o.color),n=L.readability(t,r),i=t.isDark();if(n<2){be(o,(i?t.lighten(15):t.darken(15)).toString())}else{be(o,(i?t.lighten(20):t.lighten(10)).toString())}}}return t}function Oe(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 Ce{constructor(){}close(){}}class Se extends Ce{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;Se.isWhitespace(e)||(this.buffer=this.buffer<<6|Se.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 ve extends Ce{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 Se(new ve(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 ke={shape:J.square,qrOptions:{typeNumber:m[0],mode:void 0,errorCorrectionLevel:g.Q},imageOptions:{mode:X.center,imageSize:.4,padding:4,margin:.2,crossOrigin:void 0},cornersSquareOptions:{type:Y.rounded,color:"#000000"},cornersDotOptions:{type:B.dot,color:"#000000"},dotsOptions:{type:M.verticalLine,color:"#000000",size:10},backgroundOptions:{color:"#FFFFFF"},borderOptions:{decorations:{}}},we={...ke,shape:J.square,cornersSquareOptions:{type:Y.square},cornersDotOptions:{type:B.square},dotsOptions:{type:M.square}},Ae={...ke,shape:J.square,cornersSquareOptions:{type:Y.rounded},cornersDotOptions:{type:B.rounded},dotsOptions:{type:M.verticalLine,size:10}},Te={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{type:Y.dot},cornersDotOptions:{type:B.dot}},qe={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{type:Y.dot},cornersDotOptions:{type:B.dot}},Ie={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{type:Y.classy},cornersDotOptions:{type:B.classy}},De={...ke,dotsOptions:{...ke.dotsOptions,type:M.extraRounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},Ze={...ke,dotsOptions:{...ke.dotsOptions,type:M.verticalLine},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},xe={...ke,dotsOptions:{...ke.dotsOptions,type:M.horizontalLine},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},We={...ke,dotsOptions:{...ke.dotsOptions,type:M.classyRounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.outpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.outpoint}},Ve={...ke,dotsOptions:{...ke.dotsOptions,type:M.smallSquare},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.inpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.inpoint}},je={...ke,dotsOptions:{...ke.dotsOptions,type:M.tinySquare},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.heart}},Re={...ke,dotsOptions:{...ke.dotsOptions,type:M.star},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},Me={...ke,dotsOptions:{...ke.dotsOptions,type:M.plus},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},Be={...ke,dotsOptions:{...ke.dotsOptions,type:M.diamond},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},Ye={...ke,dotsOptions:{...ke.dotsOptions,type:M.randomDot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},Je={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.outpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.outpoint}},Xe={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.inpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.inpoint}},Ge={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.outpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.outpoint}},Ee={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.inpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.inpoint}},Fe={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.outpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.outpoint}},Le={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.inpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.inpoint}},ze={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.outpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.outpoint}},Ne={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.inpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.inpoint}},Pe={...ke,shape:J.circle,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},Ue={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},_e={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},He={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},Ke={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},Qe={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},$e={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},et={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},tt={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},ot={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},rt={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},nt={...ke,dotsOptions:{...ke.dotsOptions,type:M.extraRounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},it={...ke,dotsOptions:{...ke.dotsOptions,type:M.extraRounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},st={...ke,dotsOptions:{...ke.dotsOptions,type:M.classyRounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},at={...ke,dotsOptions:{...ke.dotsOptions,type:M.classyRounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},lt={...ke,dotsOptions:{...ke.dotsOptions,type:M.verticalLine},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},dt={...ke,dotsOptions:{...ke.dotsOptions,type:M.horizontalLine},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},ct={...ke,dotsOptions:{...ke.dotsOptions,type:M.horizontalLine},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},ut={...ke,dotsOptions:{...ke.dotsOptions,type:M.smallSquare},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},ht={...ke,dotsOptions:{...ke.dotsOptions,type:M.smallSquare},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},pt={...ke,dotsOptions:{...ke.dotsOptions,type:M.tinySquare},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},mt={...ke,dotsOptions:{...ke.dotsOptions,type:M.tinySquare},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},gt={...ke,dotsOptions:{...ke.dotsOptions,type:M.star},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},ft={...ke,dotsOptions:{...ke.dotsOptions,type:M.star},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},bt={...ke,dotsOptions:{...ke.dotsOptions,type:M.plus},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},yt={...ke,dotsOptions:{...ke.dotsOptions,type:M.plus},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},Ot={...ke,dotsOptions:{...ke.dotsOptions,type:M.diamond},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},Ct={...ke,dotsOptions:{...ke.dotsOptions,type:M.diamond},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},St={...ke,dotsOptions:{...ke.dotsOptions,type:M.randomDot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},vt={...ke,dotsOptions:{...ke.dotsOptions,type:M.randomDot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},kt={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},wt={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},At={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},Tt={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.outpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},qt={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},It={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},Dt={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},Zt={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},xt={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},Wt={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},Vt={...we,shape:J.circle},jt={...ke,shape:J.circle},Rt={...Te,shape:J.circle},Mt={...qe,shape:J.circle},Bt={...Ie,shape:J.circle},Yt={...De,shape:J.circle},Jt={...Ze,shape:J.circle},Xt={...xe,shape:J.circle},Gt={...We,shape:J.circle},Et={...Ve,shape:J.circle},Ft={...je,shape:J.circle},Lt={...Re,shape:J.circle},zt={...Me,shape:J.circle},Nt={...Be,shape:J.circle},Pt={...Ye,shape:J.circle},Ut={...Je,shape:J.circle},_t={...Xe,shape:J.circle},Ht={...Ge,shape:J.circle},Kt={...Ee,shape:J.circle},Qt={...Fe,shape:J.circle},$t={...Le,shape:J.circle},eo={...ze,shape:J.circle},to={...Ne,shape:J.circle},oo={...Ue,shape:J.circle},ro={..._e,shape:J.circle},no={...He,shape:J.circle},io={...Ke,shape:J.circle},so={...Qe,shape:J.circle},ao={...$e,shape:J.circle},lo={...et,shape:J.circle},co={...tt,shape:J.circle},uo={...ot,shape:J.circle},ho={...rt,shape:J.circle},po={...nt,shape:J.circle},mo={...it,shape:J.circle},go={...st,shape:J.circle},fo={...at,shape:J.circle},bo={...lt,shape:J.circle},yo={...dt,shape:J.circle},Oo={...ct,shape:J.circle},Co={...ut,shape:J.circle},So={...ht,shape:J.circle},vo={...pt,shape:J.circle},ko={...mt,shape:J.circle},wo={...gt,shape:J.circle},Ao={...ft,shape:J.circle},To={...bt,shape:J.circle},qo={...yt,shape:J.circle},Io={...Ot,shape:J.circle},Do={...Ct,shape:J.circle},Zo={...St,shape:J.circle},xo={...vt,shape:J.circle},Wo={...kt,shape:J.circle},Vo={...wt,shape:J.circle},jo={...At,shape:J.circle},Ro={...Tt,shape:J.circle},Mo={...qt,shape:J.circle},Bo={...It,shape:J.circle},Yo={...Dt,shape:J.circle},Jo={...Zt,shape:J.circle},Xo={...xt,shape:J.circle},Go={...Wt,shape:J.circle},Eo=[{id:"base",name:"Default",options:ke},{id:"plain",name:"Square Plain",options:we},{id:"plain-circle",name:"Square Plain (Circle)",options:Vt},{id:"base-line-rounded",name:"Lines Rounded",options:Ae},{id:"rounded",name:"Rounded",options:Te},{id:"dots",name:"Dots",options:qe},{id:"classy",name:"Classy",options:Ie},{id:"extra-rounded-dots-square-corners",name:"Extra Rounded Dots Square Corners",options:De},{id:"vertical-line-dots-classy-corners",name:"Vertical Lines Classy Corners",options:Ze},{id:"horizontal-line-dots-rounded-corners",name:"Horizontal Lines Rounded Corners",options:xe},{id:"classy-rounded-dots-outpoint-corners",name:"Classy Rounded Dots Outpoint Corners",options:We},{id:"small-square-dots-inpoint-corners",name:"Small Square Dots Inpoint Corners",options:Ve},{id:"tiny-square-dots-square-corners-heart-corners",name:"Tiny Square Dots Heart Corners",options:je},{id:"star-dots-classy-corners",name:"Star Dots Classy Corners",options:Re},{id:"plus-dots-rounded-corners",name:"Plus Dots Rounded Corners",options:Me},{id:"diamond-dots-square-corners",name:"Diamond Dots Square Corners",options:Be},{id:"random-dot-dots-dot-corners",name:"Random Dots",options:Ye},{id:"dot-dots-outpoint-corners",name:"Dots Outpoint Corners",options:Je},{id:"dot-dots-inpoint-corners",name:"Dots Inpoint Corners",options:Xe},{id:"rounded-dots-outpoint-corners",name:"Rounded Dots Outpoint Corners",options:Ge},{id:"rounded-dots-inpoint-corners",name:"Rounded Dots Inpoint Corners",options:Ee},{id:"classy-dots-outpoint-corners",name:"Classy Dots Outpoint Corners",options:Fe},{id:"classy-dots-inpoint-corners",name:"Classy Dots Inpoint Corners",options:Le},{id:"square-dots-outpoint-corners",name:"Square Dots Outpoint Corners",options:ze},{id:"square-dots-inpoint-corners",name:"Square Dots Inpoint Corners",options:Ne},{id:"dot-dots-square-corners",name:"Dots Square Corners",options:Ue},{id:"dot-dots-rounded-corners",name:"Dots Rounded Corners",options:_e},{id:"dot-dots-classy-corners",name:"Dots Classy Corners",options:He},{id:"rounded-dots-square-corners",name:"Rounded Dots Square Corners",options:Ke},{id:"rounded-dots-classy-corners",name:"Rounded Dots Classy Corners",options:Qe},{id:"classy-dots-square-corners",name:"Classy Dots Square Corners",options:$e},{id:"classy-dots-rounded-corners",name:"Classy Dots Rounded Corners",options:et},{id:"square-dots-dot-corners",name:"Square Dots Dot Corners",options:tt},{id:"square-dots-rounded-corners",name:"Square Dots Rounded Corners",options:ot},{id:"square-dots-classy-corners",name:"Square Dots Classy Corners",options:rt},{id:"extra-rounded-dots-dot-corners",name:"Extra Rounded Dots Dot Corners",options:nt},{id:"extra-rounded-dots-classy-corners",name:"Extra Rounded Dots Classy Corners",options:it},{id:"classy-rounded-dots-dot-corners",name:"Classy Rounded Dots Dot Corners",options:st},{id:"classy-rounded-dots-square-corners",name:"Classy Rounded Dots Square Corners",options:at},{id:"vertical-line-dots-square-corners",name:"Vertical Lines Square Corners",options:lt},{id:"horizontal-line-dots-square-corners",name:"Horizontal Lines Square Corners",options:dt},{id:"horizontal-line-dots-classy-corners",name:"Horizontal Lines Classy Corners",options:ct},{id:"small-square-dots-dot-corners",name:"Small Square Dots Dot Corners",options:ut},{id:"small-square-dots-rounded-corners",name:"Small Square Dots Rounded Corners",options:ht},{id:"tiny-square-dots-dot-corners",name:"Tiny Square Dots Dot Corners",options:pt},{id:"tiny-square-dots-square-corners",name:"Tiny Square Dots Square Corners",options:mt},{id:"star-dots-dot-corners",name:"Star Dots Dot Corners",options:gt},{id:"star-dots-square-corners",name:"Star Dots Square Corners",options:ft},{id:"plus-dots-dot-corners",name:"Plus Dots Dot Corners",options:bt},{id:"plus-dots-square-corners",name:"Plus Dots Square Corners",options:yt},{id:"diamond-dots-dot-corners",name:"Diamond Dots Dot Corners",options:Ot},{id:"diamond-dots-classy-corners",name:"Diamond Dots Classy Corners",options:Ct},{id:"random-dot-dots-square-corners",name:"Random Dots Square Corners",options:St},{id:"random-dot-dots-classy-corners",name:"Random Dots Classy Corners",options:vt},{id:"dot-dots-square-corners-dot-corners",name:"Dots Square/Dot Corners",options:kt},{id:"dot-dots-dot-corners-square-corners",name:"Dots Dot/Square Corners",options:wt},{id:"rounded-dots-square-corners-dot-corners",name:"Rounded Dots Square/Dot Corners",options:At},{id:"rounded-dots-dot-corners-square-corners",name:"Rounded Dots Dot/Square Corners",options:Tt},{id:"classy-dots-square-corners-dot-corners",name:"Classy Dots Square/Dot Corners",options:qt},{id:"classy-dots-dot-corners-square-corners",name:"Classy Dots Dot/Square Corners",options:It},{id:"square-dots-rounded-corners-dot-corners",name:"Square Dots Rounded/Dot Corners",options:Dt},{id:"square-dots-dot-corners-rounded-corners",name:"Square Dots Dot/Rounded Corners",options:Zt},{id:"dot-dots-classy-corners-dot-corners",name:"Dots Classy/Dot Corners",options:xt},{id:"dot-dots-dot-corners-classy-corners",name:"Dots Dot/Classy Corners",options:Wt},{id:"circle-shape-dot-dots-square-corners",name:"Circle Dots Square Corners",options:oo},{id:"circle-shape-rounded-dots-rounded-corners",name:"Circle Rounded",options:Pe},{id:"circle-shape-square-dots-square-corners",name:"Circle Square Plain",options:Vt},{id:"circle-shape-vertical-line-dots-rounded-corners",name:"Circle Lines Rounded",options:jt},{id:"circle-shape-rounded-dots-dot-corners",name:"Circle Rounded Dots",options:Rt},{id:"circle-shape-dot-dots-dot-corners",name:"Circle Dots",options:Mt},{id:"circle-shape-classy-dots-classy-corners",name:"Circle Classy",options:Bt},{id:"circle-shape-extra-rounded-dots-square-corners",name:"Circle Extra Rounded Dots Square Corners",options:Yt},{id:"circle-shape-vertical-line-dots-classy-corners",name:"Circle Vertical Lines Classy Corners",options:Jt},{id:"circle-shape-horizontal-line-dots-rounded-corners",name:"Circle Horizontal Lines Rounded Corners",options:Xt},{id:"circle-shape-classy-rounded-dots-outpoint-corners",name:"Circle Classy Rounded Dots Outpoint Corners",options:Gt},{id:"circle-shape-small-square-dots-inpoint-corners",name:"Circle Small Square Dots Inpoint Corners",options:Et},{id:"circle-shape-tiny-square-dots-square-corners-heart-corners",name:"Circle Tiny Square Dots Heart Corners",options:Ft},{id:"circle-shape-star-dots-classy-corners",name:"Circle Star Dots Classy Corners",options:Lt},{id:"circle-shape-plus-dots-rounded-corners",name:"Circle Plus Dots Rounded Corners",options:zt},{id:"circle-shape-diamond-dots-square-corners",name:"Circle Diamond Dots Square Corners",options:Nt},{id:"circle-shape-random-dot-dots-dot-corners",name:"Circle Random Dots",options:Pt},{id:"circle-shape-dot-dots-outpoint-corners",name:"Circle Dots Outpoint Corners",options:Ut},{id:"circle-shape-dot-dots-inpoint-corners",name:"Circle Dots Inpoint Corners",options:_t},{id:"circle-shape-rounded-dots-outpoint-corners",name:"Circle Rounded Dots Outpoint Corners",options:Ht},{id:"circle-shape-rounded-dots-inpoint-corners",name:"Circle Rounded Dots Inpoint Corners",options:Kt},{id:"circle-shape-classy-dots-outpoint-corners",name:"Circle Classy Dots Outpoint Corners",options:Qt},{id:"circle-shape-classy-dots-inpoint-corners",name:"Circle Classy Dots Inpoint Corners",options:$t},{id:"circle-shape-square-dots-outpoint-corners",name:"Circle Square Dots Outpoint Corners",options:eo},{id:"circle-shape-square-dots-inpoint-corners",name:"Circle Square Dots Inpoint Corners",options:to},{id:"circle-shape-dot-dots-rounded-corners",name:"Circle Dots Rounded Corners",options:ro},{id:"circle-shape-dot-dots-classy-corners",name:"Circle Dots Classy Corners",options:no},{id:"circle-shape-rounded-dots-square-corners",name:"Circle Rounded Dots Square Corners",options:io},{id:"circle-shape-rounded-dots-classy-corners",name:"Circle Rounded Dots Classy Corners",options:so},{id:"circle-shape-classy-dots-square-corners",name:"Circle Classy Dots Square Corners",options:ao},{id:"circle-shape-classy-dots-rounded-corners",name:"Circle Classy Dots Rounded Corners",options:lo},{id:"circle-shape-square-dots-dot-corners",name:"Circle Square Dots Dot Corners",options:co},{id:"circle-shape-square-dots-rounded-corners",name:"Circle Square Dots Rounded Corners",options:uo},{id:"circle-shape-square-dots-classy-corners",name:"Circle Square Dots Classy Corners",options:ho},{id:"circle-shape-extra-rounded-dots-dot-corners",name:"Circle Extra Rounded Dots Dot Corners",options:po},{id:"circle-shape-extra-rounded-dots-classy-corners",name:"Circle Extra Rounded Dots Classy Corners",options:mo},{id:"circle-shape-classy-rounded-dots-dot-corners",name:"Circle Classy Rounded Dots Dot Corners",options:go},{id:"circle-shape-classy-rounded-dots-square-corners",name:"Circle Classy Rounded Dots Square Corners",options:fo},{id:"circle-shape-vertical-line-dots-square-corners",name:"Circle Vertical Lines Square Corners",options:bo},{id:"circle-shape-horizontal-line-dots-square-corners",name:"Circle Horizontal Lines Square Corners",options:yo},{id:"circle-shape-horizontal-line-dots-classy-corners",name:"Circle Horizontal Lines Classy Corners",options:Oo},{id:"circle-shape-small-square-dots-dot-corners",name:"Circle Small Square Dots Dot Corners",options:Co},{id:"circle-shape-small-square-dots-rounded-corners",name:"Circle Small Square Dots Rounded Corners",options:So},{id:"circle-shape-tiny-square-dots-dot-corners",name:"Circle Tiny Square Dots Dot Corners",options:vo},{id:"circle-shape-tiny-square-dots-square-corners",name:"Circle Tiny Square Dots Square Corners",options:ko},{id:"circle-shape-star-dots-dot-corners",name:"Circle Star Dots Dot Corners",options:wo},{id:"circle-shape-star-dots-square-corners",name:"Circle Star Dots Square Corners",options:Ao},{id:"circle-shape-plus-dots-dot-corners",name:"Circle Plus Dots Dot Corners",options:To},{id:"circle-shape-plus-dots-square-corners",name:"Circle Plus Dots Square Corners",options:qo},{id:"circle-shape-diamond-dots-dot-corners",name:"Circle Diamond Dots Dot Corners",options:Io},{id:"circle-shape-diamond-dots-classy-corners",name:"Circle Diamond Dots Classy Corners",options:Do},{id:"circle-shape-random-dot-dots-square-corners",name:"Circle Random Dots Square Corners",options:Zo},{id:"circle-shape-random-dot-dots-classy-corners",name:"Circle Random Dots Classy Corners",options:xo},{id:"circle-shape-dot-dots-square-corners-dot-corners",name:"Circle Dots Square/Dot Corners",options:Wo},{id:"circle-shape-dot-dots-dot-corners-square-corners",name:"Circle Dots Dot/Square Corners",options:Vo},{id:"circle-shape-rounded-dots-square-corners-dot-corners",name:"Circle Rounded Dots Square/Dot Corners",options:jo},{id:"circle-shape-rounded-dots-dot-corners-square-corners",name:"Circle Rounded Dots Dot/Square Corners",options:Ro},{id:"circle-shape-classy-dots-square-corners-dot-corners",name:"Circle Classy Dots Square/Dot Corners",options:Mo},{id:"circle-shape-classy-dots-dot-corners-square-corners",name:"Circle Classy Dots Dot/Square Corners",options:Bo},{id:"circle-shape-square-dots-rounded-corners-dot-corners",name:"Circle Square Dots Rounded/Dot Corners",options:Yo},{id:"circle-shape-square-dots-dot-corners-rounded-corners",name:"Circle Square Dots Dot/Rounded Corners",options:Jo},{id:"circle-shape-dot-dots-classy-corners-dot-corners",name:"Circle Dots Classy/Dot Corners",options:Xo},{id:"circle-shape-dot-dots-dot-corners-classy-corners",name:"Circle Dots Dot/Classy Corners",options:Go}];function Fo(e){return Eo.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Lo(e){return Eo.find((t=>t.id===e))}Lo("base");const zo=e=>"number"==typeof e&&!isNaN(e)&&isFinite(e),No=(e,t)=>{const o=[];return Object.values(j).includes(e.type)||o.push({path:`${t}.type`,message:`Invalid gradient type. Must be one of: ${Object.values(j).join(", ")}`,value:e.type}),void 0===e.rotation||zo(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)=>{var n,i;(!zo(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}),n=e.color,new Set(["black","white","red","green","blue","yellow","purple","gray","grey","cyan","magenta","lime","pink","teal","brown","orange"]).has(n.toLowerCase())||/^#([A-Fa-f0-9]{3}){1,2}$/.test(n)||/^#([A-Fa-f0-9]{4}){1,2}$/.test(n)||(/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.test(n)||/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([01]?\.?\d*)\)$/.test(n))&&((null===(i=n.match(/\d+/g))||void 0===i?void 0:i.map(Number))||[]).every((e=>e>=0&&e<=255))||o.push({path:`${t}.colorStops[${r}].color`,message:"Invalid color format",value:e.color})})),o};function Po(e){const t=[];let o={...ke};if(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(J).includes(e.shape)&&(t.push({path:"shape",message:`Invalid shape type. Must be one of: ${Object.values(J).join(", ")}`,value:e.shape}),e.shape=ke.shape),e.qrOptions){var r,n,i;if(e.qrOptions.typeNumber&&!Object.values(m).includes(e.qrOptions.typeNumber))t.push({path:"qrOptions.typeNumber",message:"Invalid type number",value:e.qrOptions.typeNumber}),e.qrOptions.typeNumber=null===(r=ke.qrOptions)||void 0===r?void 0:r.typeNumber;if(e.qrOptions.errorCorrectionLevel&&!Object.values(g).includes(e.qrOptions.errorCorrectionLevel))t.push({path:"qrOptions.errorCorrectionLevel",message:"Invalid error correction level",value:e.qrOptions.errorCorrectionLevel}),e.qrOptions.errorCorrectionLevel=null===(n=ke.qrOptions)||void 0===n?void 0:n.errorCorrectionLevel;if(e.qrOptions.mode&&!Object.values(f).includes(e.qrOptions.mode))t.push({path:"qrOptions.mode",message:"Invalid mode",value:e.qrOptions.mode}),e.qrOptions.mode=null===(i=ke.qrOptions)||void 0===i?void 0:i.mode}if(e.imageOptions){var s,a,l;if(e.imageOptions.imageSize&&(!zo(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=null===(s=ke.imageOptions)||void 0===s?void 0:s.imageSize;if(e.imageOptions.margin&&(!zo(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=null===(a=ke.imageOptions)||void 0===a?void 0:a.margin;if(e.imageOptions.mode&&!Object.values(X).includes(e.imageOptions.mode))t.push({path:"imageOptions.mode",message:`Invalid image mode. Must be one of: ${Object.values(X).join(", ")}`,value:e.imageOptions.mode}),e.imageOptions.mode=null===(l=ke.imageOptions)||void 0===l?void 0:l.mode}if(e.dotsOptions){var d,c;if(e.dotsOptions.type&&!Object.values(M).includes(e.dotsOptions.type))t.push({path:"dotsOptions.type",message:`Invalid dot type. Must be one of: ${Object.values(M).join(", ")}`,value:e.dotsOptions.type}),e.dotsOptions.type=null===(d=ke.dotsOptions)||void 0===d?void 0:d.type;if(e.dotsOptions.size&&(!zo(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=null===(c=ke.dotsOptions)||void 0===c?void 0:c.size;e.dotsOptions.gradient&&t.push(...No(e.dotsOptions.gradient,"dotsOptions.gradient"))}if(e.cornersSquareOptions){var u;if(e.cornersSquareOptions.type&&!Object.values(Y).includes(e.cornersSquareOptions.type))t.push({path:"cornersSquareOptions.type",message:`Invalid corner square type. Must be one of: ${Object.values(Y).join(", ")}`,value:e.cornersSquareOptions.type}),e.cornersSquareOptions.type=null===(u=ke.cornersSquareOptions)||void 0===u?void 0:u.type;e.cornersSquareOptions.gradient&&t.push(...No(e.cornersSquareOptions.gradient,"cornersSquareOptions.gradient"))}if(e.cornersDotOptions){var h;if(e.cornersDotOptions.type&&!Object.values(B).includes(e.cornersDotOptions.type))t.push({path:"cornersDotOptions.type",message:`Invalid corner dot type. Must be one of: ${Object.values(B).join(", ")}`,value:e.cornersDotOptions.type}),e.cornersDotOptions.type=null===(h=ke.cornersDotOptions)||void 0===h?void 0:h.type;e.cornersDotOptions.gradient&&t.push(...No(e.cornersDotOptions.gradient,"cornersDotOptions.gradient"))}return o={...o,...e},{warnings:t,validatedOptions:o}}const Uo=/\.?0+$/;function _o(e){return e.toFixed(7).replace(Uo,"")}function Ho(e,...t){return e.reduce(((e,o,r)=>{let n="";return r&&(n=t[r-1]),"number"==typeof n&&(n=_o(n)),`${e}${n}${o}`}),"").trim().replace(/[\s\n\r]+/gim," ")}class Ko{get element(){return this._element}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case B.square:t=this.drawSquare;break;case B.heart:t=this.drawHeart;break;case B.rounded:t=this.drawRounded;break;case B.classy:t=this.drawClassy;break;case B.inpoint:t=this.drawInpoint;break;case B.outpoint:t=this.drawOutpoint;break;case B.dot:default:t=this.drawDot}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:n}){var i;const s=e+o/2,a=t+o/2;n(),null===(i=this._element)||void 0===i||i.setAttribute("transform",`rotate(${_o(180*r/Math.PI)},${s},${a})`)}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",_o(o+t/2)),this._element.setAttribute("cy",_o(r+t/2)),this._element.setAttribute("r",_o(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",_o(o+n)),this._element.setAttribute("y",_o(r+n)),this._element.setAttribute("width",_o(t-2*n)),this._element.setAttribute("height",_o(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),_o(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",_o(o)),this._element.setAttribute("y",_o(r)),this._element.setAttribute("width",_o(t)),this._element.setAttribute("height",_o(t)),this._element.setAttribute("rx",_o(t/4)),this._element.setAttribute("ry",_o(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",Ho`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",Ho`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 Qo{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 Y.square:t=this.drawSquare;break;case Y.rounded:t=this.drawExtraRounded;break;case Y.classy:t=this.drawClassy;break;case Y.outpoint:t=this.drawOutpoint;break;case Y.inpoint:t=this.drawInpoint;break;case Y.dot:default:t=this.drawDot}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:n}){var i,s;const a=e+o/2,l=t+o/2;n(),null===(i=this._element)||void 0===i||i.setAttribute("transform",`rotate(${_o(180*r/Math.PI)},${a},${l})`),null===(s=this._fill)||void 0===s||s.setAttribute("transform",`rotate(${_o(180*r/Math.PI)},${a},${l})`)}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",Ho`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",Ho`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",Ho`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",Ho`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",Ho`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",Ho`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",Ho`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",Ho`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",Ho`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",Ho`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 $o{get element(){return this._element}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case M.dot:t=this.drawDot;break;case M.randomDot:t=this.drawRandomDot;break;case M.classy:t=this.drawClassy;break;case M.classyRounded:t=this.drawClassyRounded;break;case M.rounded:t=this.drawRounded;break;case M.verticalLine:t=this.drawVerticalLine;break;case M.horizontalLine:t=this.drawHorizontalLine;break;case M.extraRounded:t=this.drawExtraRounded;break;case M.diamond:t=this.drawDiamond;break;case M.smallSquare:t=this.drawSmallSquare;break;case M.tinySquare:t=this.drawTinySquare;break;case M.star:t=this.drawStar;break;case M.plus:t=this.drawPlus;break;case M.square:default:t=this.drawSquare}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:n}){var i;const s=e+o/2,a=t+o/2;n(),null===(i=this._element)||void 0===i||i.setAttribute("transform",`rotate(${_o(180*r/Math.PI)},${s},${a})`)}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",_o(o+t/2)),this._element.setAttribute("cy",_o(r+t/2)),this._element.setAttribute("r",_o(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",_o(o)),this._element.setAttribute("y",_o(r)),this._element.setAttribute("width",_o(t)),this._element.setAttribute("height",_o(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",Ho`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",Ho`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",Ho`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",Ho`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,l=n+i+s+a;if(0!==l)if(l>2||n&&i||s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else{if(2===l){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===l){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,l=n+i+s+a;if(0!==l)if(l>2||n&&i||s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else{if(2===l){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===l){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:()=>{var r;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const n=e+o/2,i=t+o/2,s=1.3*o/2,a=.5*s;let l="";for(let e=0;e<10;e++){const t=e*Math.PI/5-Math.PI/2,o=e%2==0?s:a;l+=(0===e?"M":"L")+`${n+o*Math.cos(t)},${i+o*Math.sin(t)}`}l+="Z",null===(r=this._element)||void 0===r||r.setAttribute("d",l)}})}drawPlus({x:e,y:t,size:o}){this.rotateFigure({x:e,y:t,size:o,rotation:0,draw:()=>{var r;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const n=.35*o,i=.85*o,s=(o-i)/2,a=n/2,l=[`M ${e+o/2-a} ${t+s}`,`h ${n}`,`v ${i}`,"h "+-n,"z",`M ${e+s} ${t+o/2-a}`,`h ${i}`,`v ${n}`,"h "+-i,"z"].join(" ");null===(r=this._element)||void 0===r||r.setAttribute("d",l)}})}}const er={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:er.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 tr(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 or="undefined"!=typeof window&&void 0!==window.document,rr="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,nr="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent;let ir;async function sr(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(or){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(rr||nr){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(rr){const e=await async function(){if(ir)return ir;if(rr)try{const e=await import("buffer");ir=e.Buffer}catch(e){console.error("[QRCodeJs] Failed to dynamically import 'buffer' in Node.js:",e),ir=void 0}return ir}();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 ar(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 lr=[[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]],dr=[[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 cr{constructor(e){var t,o,r,n,i,s,a,l,d,c,u;this.roundValue=e=>"number"==typeof e?e:parseInt(e.replace("%",""),10)/100;const h=e.margin||0,p="circle"===e.shape?.1:.3,{bordersMain:m,bordersOuter:g,bordersInner:f}=e,b=Math.min(e.width,e.height),y=T(null===(t=e.borderOptions)||void 0===t?void 0:t.radius),O=T(null===(o=e.borderOptions)||void 0===o||null===(o=o.inner)||void 0===o?void 0:o.radius,y),C=y&&A(y)>0?A(y)/100*b:0,S=y&&A(O)>0?A(O)/100*b:0,v=null!=S?S:C,k=v>0&&null!==(r=e.borderOptions)&&void 0!==r&&r.hasBorder?v*p:0;this.finalWidth=e.width+m.left+m.right+g.left+g.right+f.left+f.right,this.finalHeight=e.height+m.top+m.bottom+g.top+g.bottom+f.top+f.bottom;const w=m.left+m.right+g.left+g.right+f.left+f.right,q=m.top+m.bottom+g.top+g.bottom+f.top+f.bottom,I=null!==(n=e.borderOptions)&&void 0!==n&&n.hasBorder?this.finalWidth-w-2*g.left-2*f.left-f.right-2*h-k:this.finalWidth-2*h,Z=null!==(i=e.borderOptions)&&void 0!==i&&i.hasBorder?this.finalHeight-q-2*g.top-2*f.top-f.top-2*h-k:this.finalHeight-2*h,x=I/e.width,W=Z/e.height,V=Math.min(x,W),j=Math.min(Math.max(null!==(s=e.scale)&&void 0!==s?s:1,0),1.5),R=Math.min(Math.max(null!==(a=null===(l=e.borderOptions)||void 0===l||null===(l=l.inner)||void 0===l?void 0:l.scale)&&void 0!==a?a:1,0),1.5),M=(null===(d=e.borderOptions)||void 0===d||null===(d=d.inner)||void 0===d?void 0:d.horizontalOffset)||0,B=(null===(c=e.borderOptions)||void 0===c||null===(c=c.inner)||void 0===c?void 0:c.verticalOffset)||0;e.scale=V*j*R||1,this.options=e,this.document=e.document,this.imageTools=e.imageTools||er,this._element=this.document.createElementNS("http://www.w3.org/2000/svg","svg");const Y=_o(e.width),J=_o(e.height);e.isResponsive||(this._element.setAttribute("width",Y),this._element.setAttribute("height",J)),this._element.setAttribute("viewBox",`0 0 ${Y} ${J}`),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 X=(I-e.width*e.scale)/2+h-M+k/2,G=(Z-e.height*e.scale)/2+h-B+k/2;if(null!==(u=e.borderOptions)&&void 0!==u&&u.hasBorder){var E,F;const t={top:D(e.borderOptions,"top"),right:D(e.borderOptions,"right"),bottom:D(e.borderOptions,"bottom"),left:D(e.borderOptions,"left")},o=e.borderOptions.thickness||0,r=(null===(E=e.borderOptions.borderOuter)||void 0===E?void 0:E.thickness)||0,n=(null===(F=e.borderOptions.borderInner)||void 0===F?void 0:F.thickness)||0,i=e.borderOptions.noBorderThickness||o/4;G+=((t.top?o:i)-(t.bottom?o:i))/2+r+n+n/2,X+=((t.left?o:i)-(t.right?o:i))/2+r+n+n/2}e.verticalOffset&&(G-=e.verticalOffset),e.horizontalOffset&&(X-=e.horizontalOffset),this._instanceId=cr.instanceCount++,1===e.scale&&0===X&&0===G||this._innerQrGroup.setAttribute("transform",`translate(${X}, ${G}) 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){var t;const o=e.getModuleCount(),r=parseInt(((o-17)/4).toFixed(0),10),n=this.options.dotsOptions.size;let i={hideXDots:0,hideYDots:0,width:0,height:0};if(this.qr=e,null!==(t=this.options.borderOptions)&&void 0!==t&&t.hasBorder||this.drawBackground(),this.options.image){const e=await this.imageTools.getSize(this.options.image,this.options.imageOptions.crossOrigin),{imageOptions:t}=this.options;if(this.options.imageOptions.mode==X.background){const o=0,r=(this.finalWidth-2*o*n)*t.imageSize,s=(this.finalHeight-2*o*n)*t.imageSize;let{width:a,height:l}=e;l=l/a*r,a=r,l>s&&(a=a/l*s,l=s),i={hideXDots:0,hideYDots:0,width:a,height:l}}else{const t=this.options.imageOptions.imageSize*this.options.errorCorrectionPercent,s=h.getPatternPosition(r),a=Math.floor(t*(o*o-192-2*(o-16)-s.length**2*25));i=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 l=Math.max(t,e),d=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*d/l+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*d/l+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:o-14,dotSize:n,margin:this.options.imageOptions.margin})}}var s;this.options.imageOptions.mode!=X.overlay&&this.options.image&&i.width>0&&i.height>0&&await this.drawImage({width:i.width,height:i.height,count:o,dotSize:n,radius:null===(s=this.options.imageOptions)||void 0===s?void 0:s.radius});this.drawDots(((e,t)=>!(this.options.imageOptions.mode==X.center&&e>=(o-i.hideXDots)/2&&e<(o+i.hideXDots)/2&&t>=(o-i.hideYDots)/2&&t<(o+i.hideYDots)/2)&&!(e<8&&t<8||e>=o-8&&t<8||t>=o-8&&e<8))),this.options.imageOptions.mode==X.overlay&&this.options.image&&i.width>0&&i.height>0&&await this.drawImage({width:i.width,height:i.height,count:o,dotSize:n}),this.drawCorners()}drawBackground(){const e=this.options;if(this._element&&e.backgroundOptions){var t;const o=e.backgroundOptions.gradient,r=e.backgroundOptions.color;this.createColor({options:o,color:r,additionalRotation:0,x:0,y:0,height:e.height,width:e.width,name:`background-color-${this._instanceId}`});const n=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 s=(null===(t=e.backgroundOptions)||void 0===t?void 0:t.round)||0,a=this.roundValue(s);i.setAttribute("x",_o((e.width-n)/2)),i.setAttribute("y",_o((e.height-n)/2)),i.setAttribute("width",_o(n)),i.setAttribute("height",_o(n)),i.setAttribute("rx",_o(n/2*a)),this.backgroundMaskGroup.appendChild(i)}}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,l=t-e,d=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",_o(s)),c.setAttribute("y",_o(a)),c.setAttribute("width",_o(i)),c.setAttribute("height",_o(i)),c.setAttribute("rx",_o(l)),this.backgroundMaskGroup.appendChild(c),d}}drawDots(e){var t;if(!this.qr)throw new Error("QR code is not defined");const o=this.options,r=this.qr.getModuleCount();if(r>o.width||r>o.height)throw new Error("The canvas is too small");const n=o.dotsOptions.size;let i=Math.min(o.width,o.height);o.imageOptions.mode==X.background&&(i-=2*n*(o.imageOptions.margin||0));const s=Math.floor((o.width-r*n)/2);let a=Math.floor((o.height-r*n)/2);if(o.offset){const e=(o.height-r*n)/2;a+=Math.min(Math.abs(o.offset),e)*Math.sign(o.offset)}let l=new $o(o.dotsOptions.type,this.document);const d=new $o(M.tinySquare,this.document),c=new $o(M.square,this.document);[this.dotsMask,this.dotsMaskGroup]=this.createMask(`mask-dot-color-${this._instanceId}`),this.defs.appendChild(this.dotsMask),o.imageOptions.mode==X.background&&([this.lightDotsMask,this.lightDotsMaskGroup]=this.createMask(`mask-light-dot-color-${this._instanceId}`),this.defs.appendChild(this.lightDotsMask));let u=0,p=r;o.shape===J.circle?(u=Math.floor((i/n-r-2)/2),p=r+2*u):o.imageOptions.mode==X.background&&(u=1,p=r+2*u);const m=s-u*n,g=a-u*n,f=m,b=g,y=r+2*u,O=new Array(p),C=Math.floor(p/2);for(let t=0;t<p;t++){O[t]=new Array(p);for(let n=0;n<p;n++)if(t>u-1&&t<p-u&&n>u-1&&n<p-u){const o=t-u,r=n-u;e&&!e(o,r)?O[t][n]=void 0:O[t][n]=!!this.qr.isDark(r,o)}else o.shape===J.circle&&Math.sqrt((t-C)*(t-C)+(n-C)*(n-C))>C?O[t][n]=void 0:O[t][n]=t!=u-1&&t!=p-u&&n!=u-1&&n!=p-u?this.qr.isDark(n-2*u<0?n:n>=r?n-2*u:n-u,t-2*u<0?t:t>=r?t-2*u:t-u):(n==u-1&&(t<u+8||t>p-u-9)||n==p-u&&t<u+8||t==u-1&&(n<u+8||n>p-u-9)||t==p-u&&n<u+8)&&void 0}const S=(r-17)/4,v=h.getPatternPosition(S);for(let e=0;e<p;e++){const t=v.find((t=>e-u>t-3&&e-u<t+3));for(let o=0;o<p;o++){const r=v.find((e=>o-u>e-3&&o-u<e+3));null!=O[e][o]&&(this.lightDotsMask&&(l=t&&r&&(t!=v[0]&&r!=v[0]||r!=v[0]&&r!=v[v.length-1]||t!=v[0]&&t!=v[v.length-1])?c:d),O[e][o]?(l.draw({x:m+e*n,y:g+o*n,size:n,getNeighbor:(t,r)=>{var n;return!0===(null===(n=O[e+t])||void 0===n?void 0:n[o+r])}}),l.element&&this.dotsMaskGroup&&this.dotsMaskGroup.appendChild(l.element)):this.lightDotsMask&&(l.draw({x:m+e*n,y:g+o*n,size:n,getNeighbor:(t,r)=>{var n;return!1===(null===(n=O[e+t])||void 0===n?void 0:n[o+r])}}),l.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(l.element)))}}this.lightDotsMask&&this.createColor({color:o.imageOptions.backgroundColor,additionalRotation:0,x:f,y:b,height:y*n,width:y*n,name:`light-dot-color-${this._instanceId}`}),this.createColor({options:null===(t=o.dotsOptions)||void 0===t?void 0:t.gradient,color:o.dotsOptions.color,additionalRotation:0,x:f,y:b,height:y*n,width:y*n,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,l,d])=>{var c,u,h,p,m,g;const f=s+e*r*(o-7),b=a+l*r*(o-7);let y=this.dotsMask,O=this.dotsMaskGroup,C=this.dotsMask,S=this.dotsMaskGroup;var v,k,w,A;(null!==(c=t.cornersSquareOptions)&&void 0!==c&&c.gradient||null!==(u=t.cornersSquareOptions)&&void 0!==u&&u.color)&&([y,O]=this.createMask(`mask-corners-square-color-${e}-${l}-${this._instanceId}`),this.defs.appendChild(y),C=y,S=O,this.createColor({options:null===(v=t.cornersSquareOptions)||void 0===v?void 0:v.gradient,color:null===(k=t.cornersSquareOptions)||void 0===k?void 0:k.color,additionalRotation:d,x:f,y:b,height:n,width:n,name:`corners-square-color-${e}-${l}-${this._instanceId}`}));if(null!==(h=t.cornersSquareOptions)&&void 0!==h&&h.type){const e=new Qo(t.cornersSquareOptions.type,this.document);e.draw({x:f,y:b,size:n,rotation:d}),e.element&&O&&O.appendChild(e.element),e.fill&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.fill)}else{const e=new $o(t.dotsOptions.type,this.document);for(let t=0;t<lr.length;t++)for(let o=0;o<lr[t].length;o++){var T,q;if(null!==(T=lr[t])&&void 0!==T&&T[o])e.draw({x:f+t*r,y:b+o*r,size:r,getNeighbor:(e,r)=>{var n;return!(null===(n=lr[t+e])||void 0===n||!n[o+r])}}),e.element&&O&&O.appendChild(e.element);else!this.lightDotsMask||null!==(q=dr[t])&&void 0!==q&&q[o]||(e.draw({x:f+t*r,y:b+o*r,size:r,getNeighbor:(e,r)=>{var n,i;return!(null!==(n=lr[t+e])&&void 0!==n&&n[o+r]||null!==(i=dr[t+e])&&void 0!==i&&i[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:f+t*r,y:b+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))}(null!==(p=t.cornersDotOptions)&&void 0!==p&&p.gradient||null!==(m=t.cornersDotOptions)&&void 0!==m&&m.color)&&([C,S]=this.createMask(`mask-corners-dot-color-${e}-${l}-${this._instanceId}`),this.defs.appendChild(C),this.createColor({options:null===(w=t.cornersDotOptions)||void 0===w?void 0:w.gradient,color:null===(A=t.cornersDotOptions)||void 0===A?void 0:A.color,additionalRotation:d,x:f+2*r,y:b+2*r,height:i,width:i,name:`corners-dot-color-${e}-${l}-${this._instanceId}`}));if(null!==(g=t.cornersDotOptions)&&void 0!==g&&g.type){const e=new Ko(t.cornersDotOptions.type,this.document);e.draw({x:f+2*r,y:b+2*r,size:i,rotation:d}),e.element&&S&&S.appendChild(e.element)}else{const e=new $o(t.dotsOptions.type,this.document);for(let t=0;t<dr.length;t++)for(let o=0;o<dr[t].length;o++){var I;null!==(I=dr[t])&&void 0!==I&&I[o]&&(e.draw({x:f+t*r,y:b+o*r,size:r,getNeighbor:(e,r)=>{var n;return!(null===(n=dr[t+e])||void 0===n||!n[o+r])}}),e.element&&S&&S.appendChild(e.element))}}}))}async drawImage({width:e,height:t,count:o,dotSize:r,radius:n}){var i;const s=this.options,a=Math.floor((s.width-o*r)/2);let l=Math.floor((s.height-o*r)/2);if(s.offset){const e=(s.height-o*r)/2;l+=Math.min(Math.abs(s.offset),e)*Math.sign(s.offset)}let d=s.imageOptions.margin*r;s.imageOptions.mode==X.background&&(d=0);const c=a+d+(o*r-e)/2,u=l+d+(o*r-t)/2,h=e-2*d,p=t-2*d;let m=null;try{"string"==typeof s.image?m=await sr(s.image,s.imageOptions.crossOrigin):s.image&&(m=await this.imageTools.toDataURL(s.image)),"string"!=typeof s.image||m||(console.warn("Direct image fetch failed, attempting proxy..."),m=await ar(s.image))}catch(e){if(console.warn("[QRCodeJs] Error fetching image directly:",e),"string"==typeof s.image)try{console.warn("[QRCodeJs] Direct image fetch failed via error, attempting proxy..."),m=await ar(s.image)}catch(e){console.warn("[QRCodeJs] Failed to load image via proxy:",e)}}m||(console.warn("[QRCodeJs] Failed to load image directly and via proxy. Using fallback SVG."),m=cr.FALLBACK_IMAGE_DATA_URL);let g=null;if(n){g=`clip-path-image-${this._instanceId}`;const e=this.document.createElementNS("http://www.w3.org/2000/svg","clipPath");e.setAttribute("id",g);const t=this.document.createElementNS("http://www.w3.org/2000/svg","rect");t.setAttribute("x",_o(c)),t.setAttribute("y",_o(u)),t.setAttribute("width",_o(h)),t.setAttribute("height",_o(p));const o="number"==typeof n?`${n}px`:n;t.setAttribute("rx",o),t.setAttribute("ry",o),e.appendChild(t),this.defs.appendChild(e)}if(s.imageOptions.backgroundColor){const e=this.document.createElementNS("http://www.w3.org/2000/svg","rect");e.setAttribute("x",_o(c)),e.setAttribute("y",_o(u)),e.setAttribute("width",_o(h)),e.setAttribute("height",_o(p)),g&&e.setAttribute("clip-path",`url(#${g})`);const t=tr(s.imageOptions.backgroundColor);e.setAttribute("fill",t.value),t.alpha<1&&e.setAttribute("opacity",t.alpha.toFixed(7)),this.qrGroup.appendChild(e)}const f=this.document.createElementNS("http://www.w3.org/2000/svg","image");if(f.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",m),f.setAttribute("x",_o(c)),f.setAttribute("y",_o(u)),f.setAttribute("id",`qr-image-${this._instanceId}`),f.setAttribute("width",`${_o(h)}px`),f.setAttribute("height",`${_o(p)}px`),f.setAttribute("preserveAspectRatio","xMidYMid meet"),null!==(i=s.imageOptions)&&void 0!==i&&i.padding){const e=s.imageOptions.padding;f.setAttribute("x",_o(c+e)),f.setAttribute("y",_o(u+e)),f.setAttribute("width",`${_o(h-2*e)}px`),f.setAttribute("height",`${_o(p-2*e)}px`)}g&&f.setAttribute("clip-path",`url(#${g})`),this.qrGroup.appendChild(f)}createColor({options:e,borderOptions:t,color:o,additionalRotation:r,x:n,y:i,height:s,width:a,name:l,returnSVGGroup:d=!1}){const c=a>s?a:s,u=this.document.createElementNS("http://www.w3.org/2000/svg","rect");if(u.setAttribute("x",_o(n)),u.setAttribute("y",_o(i)),u.setAttribute("height",_o(s)),u.setAttribute("width",_o(a)),u.setAttribute("style",`mask:url(#mask-${l}-${this._instanceId})`),e){let o;if(e.type===j.radial){o=this.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),o.setAttribute("id",l+"-"+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,l=2;D(t,"top")&&!D(t,"bottom")?r=i+o*l+s/2:!D(t,"top")&&D(t,"bottom")&&(r=i-o*l+s/2),D(t,"right")&&!D(t,"left")?e=n-o*l+a/2:!D(t,"right")&&D(t,"left")&&(e=n+o*l+a/2)}o.setAttribute("fx",_o(e)),o.setAttribute("fy",_o(r)),o.setAttribute("cx",_o(n+a/2)),o.setAttribute("cy",_o(i+s/2)),o.setAttribute("r",_o(c/2))}else{const t=((e.rotation||0)+r)%(2*Math.PI),d=(t+2*Math.PI)%(2*Math.PI);let c=n+a/2,u=i+s/2,h=n+a/2,p=i+s/2;d>=0&&d<=.25*Math.PI||d>1.75*Math.PI&&d<=2*Math.PI?(c-=a/2,u-=s/2*Math.tan(t),h+=a/2,p+=s/2*Math.tan(t)):d>.25*Math.PI&&d<=.75*Math.PI?(u-=s/2,c-=a/2/Math.tan(t),p+=s/2,h+=a/2/Math.tan(t)):d>.75*Math.PI&&d<=1.25*Math.PI?(c+=a/2,u+=s/2*Math.tan(t),h-=a/2,p-=s/2*Math.tan(t)):d>1.25*Math.PI&&d<=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",l+"-"+this._instanceId),o.setAttribute("gradientUnits","userSpaceOnUse"),o.setAttribute("x1",_o(c)),o.setAttribute("y1",_o(u)),o.setAttribute("x2",_o(h)),o.setAttribute("y2",_o(p))}e.colorStops.forEach((e=>{const t=this.document.createElementNS("http://www.w3.org/2000/svg","stop");t.setAttribute("offset",`${_o(100*e.offset)}%`);const r=tr(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(#${l}-${this._instanceId})`),this.defs.appendChild(o)}else if(o){const e=tr(o);u.setAttribute("fill",e.value),e.alpha<1&&u.setAttribute("opacity",e.alpha.toFixed(7))}if(d)return u;l.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",_o(o.width)),r.setAttribute("height",_o(o.height));const n=this.document.createElementNS("http://www.w3.org/2000/svg","g");return n.setAttribute("fill","#fff"),r.appendChild(n),[r,n]}}cr.instanceCount=0,cr.FALLBACK_IMAGE_DATA_URL="data:image/png;base64,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";const ur=[{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"}}],hr=[{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:M.dot,cornerSquareShape:Y.square,cornerDotShape:B.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"}},...ur];function pr(e){return hr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function mr(e){return hr.find((t=>t.id===e))}const gr={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}}},fr={id:"square-border-thin",name:"Square Border (Thin)",options:{borderOptions:{...gr,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}}}}},br={id:"square-border-medium",name:"Square Border (Medium)",options:{borderOptions:{...gr,thickness:20,radius:"15%"}}},yr={id:"square-border-thick",name:"Square Border (Thick)",options:{borderOptions:{...gr,thickness:20,radius:"2%"}}},Or={id:"rounded-border-thin-slight",name:"Rounded Border (Thin, Slight)",options:{borderOptions:{...gr,thickness:10,radius:"10%"}}},Cr={id:"rounded-border-medium-medium",name:"Rounded Border (Medium)",options:{margin:-6,shape:"circle",borderOptions:{...gr,thickness:12,radius:"35%"}}},Sr={id:"rounded-border-thick-high",name:"Rounded Border (Thick, High)",options:{shape:"circle",borderOptions:{...gr,thickness:30,radius:"50"}}},vr={id:"rounded-border-thick-text",name:"Rounded Border (Thick, Text)",options:{shape:"circle",borderOptions:{...gr,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"}}}}},kr={id:"rounded-border-outside-top-bottom-text",name:"Rounded Border Outside (Top & Bottom Text)",options:{shape:"circle",margin:-16,borderOptions:{...gr,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"}}}}},wr={id:"rounded-border-outside-left-right-text",name:"Rounded Border Outside (Left & Right Text)",options:{margin:-20,shape:"circle",borderOptions:{...gr,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"}}}}},Ar={id:"rounded-border-top-bottom-text",name:"Rounded Border (Top & Bottom Text)",options:{borderOptions:{...gr,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"}}}}},Tr={id:"rounded-border-left-right-text",name:"Rounded Border (Left & Right Text)",options:{margin:5,borderOptions:{...gr,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"}}}}},qr={id:"double-square-border-thin",name:"Double Square Border Inside (Thin)",options:{borderOptions:{...gr,thickness:16,radius:"2%",borderInner:{thickness:6}}}},Ir={id:"double-square-border-medium",name:"Double Square Border Outside (Medium)",options:{borderOptions:{...gr,thickness:16,radius:"2%",borderOuter:{thickness:6}}}},Dr={id:"double-rounded-border-medium",name:"Double Rounded Border (Medium)",options:{shape:"circle",margin:-20,borderOptions:{...gr,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}}}}}},Zr={id:"double-rounded-border-thick",name:"Double Rounded Border Outside (Thick)",options:{borderOptions:{...gr,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}}}}}},xr={id:"inner-square-border-medium",name:"Inner Square Border Inside (Medium)",options:{borderOptions:{...gr,thickness:10,radius:"2%",borderInner:{thickness:12}}}},Wr={id:"outer-rounded-border-medium",name:"Outer Rounded Border (Medium)",options:{margin:-20,shape:"circle",borderOptions:{...gr,inner:{radius:"20%"},thickness:15,radius:"25%",borderOuter:{thickness:20}}}},Vr={id:"rounded-inner-offset-text",name:"Rounded Inner Offset Text",options:{shape:"circle",margin:-20,borderOptions:{...gr,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"}}}}},jr={id:"square-thick-outer-thin-inner",name:"Square Thick Outer/Thin Inner",options:{borderOptions:{...gr,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"}}}}}},Rr={id:"square-thick-outer-round",name:"Square Thick Outer Round",options:{margin:6,borderOptions:{...gr,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"}}}}}},Mr={id:"square-thick-outer-thin-inner-bottom-text",name:"Square Thick Outer/Thin Inner Bottom Text",options:{borderOptions:{...gr,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}}}}},Br=[fr,br,yr,Or,Cr,Sr,vr,Ar,Tr,kr,wr,qr,Ir,Dr,Zr,xr,Wr,Vr,jr,Rr,{id:"pill-curved-text-top-bottom",name:"Pill Curved Text Top/Bottom",options:{shape:"circle",borderOptions:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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}}}}}},Mr,{id:"minimalist-thin-square",name:"Minimalist Thin Square",options:{borderOptions:{...gr,thickness:8,radius:"4%"}}},{id:"minimalist-thin-rounded",name:"Minimalist Thin Rounded",options:{margin:4,borderOptions:{...gr,thickness:8,radius:"25%"}}},{id:"chunky-square-border-text",name:"Chunky Square Border Text",options:{margin:10,borderOptions:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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 Yr(e){return Br.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Jr(e){return Br.find((t=>t.id===e))}const Xr=[{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 Gr(e){return Xr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Er(e){return Xr.find((t=>t.id===e))}var Fr;!function(e){e.svg="svg",e.png="png",e.jpeg="jpeg",e.webp="webp"}(Fr||(Fr={})),Object.assign(b.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 Lr=class t{get size(){return this.qrSVG?{width:this.qrSVG.width,height:this.qrSVG.height}:void 0}constructor(e,o=!1){var r,n,i,s,a,l;this._svgId=`qr-svg-${Math.random().toString(36).substring(2,9)}`,(l=e)&&0!==Object.keys(l).length||(console.warn("QRCodeJs: Options not provided. Using default options and base template."),e=ke);const d=e;let c=ke;t._selectedTemplate&&(c="id"in t._selectedTemplate&&"options"in t._selectedTemplate?C(c,t._selectedTemplate.options):C(c,t._selectedTemplate));let u={};t._selectedBorder&&(u="id"in t._selectedBorder&&"options"in t._selectedBorder?t._selectedBorder.options:t._selectedBorder);let h={};if(t._selectedStyle){const{isValid:e,errors:o}=Oe(t._selectedStyle);e?h=ye(t._selectedStyle):console.warn("Invalid static style options ignored during instantiation:",o)}let p={};t._selectedImage&&!t._selectedImageOverride&&(p={image:t._selectedImage});let m={};t._selectedData&&!t._selectedDataOverride&&(m={data:t._selectedData});const g={};if(t._selectedText&&!t._selectedTextOverride){let e=null;if(e="id"in t._selectedText&&"options"in t._selectedText?t._selectedText.options:t._selectedText,e){g.borderOptions||(g.borderOptions={}),g.borderOptions.decorations||(g.borderOptions.decorations={});const t=g.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})}}const f=C(c,u,g,h,p,m,d,null!==(r=t._selectedOptions)&&void 0!==r?r:{}),{warnings:b,validatedOptions:y}=Po(f);this.options=E(y);const O={};if(t._selectedImageOverride&&t._selectedImage&&(O.image=t._selectedImage),t._selectedTextOverride&&t._selectedText){O.borderOptions||(O.borderOptions={}),O.borderOptions.decorations||(O.borderOptions.decorations={});let e=null;if(e="id"in t._selectedText&&"options"in t._selectedText?t._selectedText.options:t._selectedText,e){const t=O.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})}}return t._selectedDataOverride&&t._selectedData&&(O.data=t._selectedData),t._selectedOptionsOverride&&t._selectedOptions&&Object.keys(O).length>0?this.options=E(C(this.options,C(O,t._selectedOptions))):Object.keys(O).length>0&&(this.options=E(C(this.options,O))),this.id=null===(n=t._selectedInfo)||void 0===n?void 0:n.id,this.name=null===(i=t._selectedInfo)||void 0===i?void 0:i.name,this.description=null===(s=t._selectedInfo)||void 0===s?void 0:s.description,this.metadata=null!==(a=t._selectedMetadata)&&void 0!==a?a:void 0,b.length>0&&this._logValidationWarnings("QR Code Options Validation Warnings:",b),this.update(),this}static setTemplate(e){if(null===e)return t._selectedTemplate=null,t;if("string"==typeof e){const o=e,r=Fo(o);r?t._selectedTemplate=r:(console.warn(`QR Code template name "${o}" not found. Using base template.`),t._selectedTemplate=ke)}else t._selectedTemplate=e;return t}static setTemplateId(e){if(null===e)return t._selectedTemplate=null,t;const o=Lo(e);return o?t._selectedTemplate=o:(console.warn(`QR Code template ID "${e}" not found in setTemplateId. Using default.`),t._selectedTemplate=ke),t}static getTemplates(){return{findTextTemplateById:Er,findTextByName:Gr,findTemplateByName:Fo,findTemplateById:Lo,findBorderById:Jr,findBorderByName:Yr,findStyleById:mr,findStyleByName:pr,baseTemplates:Eo,borderTemplates:Br,styleTemplates:hr,textTemplates:Xr}}static setStyle(e){if(null===e)return t._selectedStyle=null,t;let o=null;if("string"==typeof e){const r=e,n=pr(r);n?(o=n.style,t._selectedStyle=o):(console.warn(`QR Code style name "${r}" not found in setStyle. Ignoring.`),t._selectedStyle=null)}else{const{isValid:r,errors:n}=Oe(e);r?(o=e,t._selectedStyle=o):(console.warn("Invalid style options object provided to setStyle:",n),t._selectedStyle=null)}return t}static setBorder(e){if(null===e)return t._selectedBorder=null,t;if("string"==typeof e){const o=e,r=Yr(o);r?t._selectedBorder=r:(console.warn(`QR Code border template name "${o}" not found. Ignoring.`),t._selectedBorder=null)}else t._selectedBorder={borderOptions:e};return t}static setBorderId(e){if(null===e)return t._selectedBorder=null,t;const o=Jr(e);return o?t._selectedBorder=o:(console.warn(`QR Code border template ID "${e}" not found in setBorderId. Ignoring.`),t._selectedBorder=null),t}static setStyleId(e){if(null===e)return t._selectedStyle=null,t;const o=mr(e);return o?t._selectedStyle=o.style:(console.warn(`QR Code style ID "${e}" not found in setStyleId. Ignoring.`),t._selectedStyle=null),t}static setImage(e,o){return t._selectedImage=e,t._selectedImageOverride=!(null==o||!o.override),t}static setData(e,o){return t._selectedData=e,t._selectedDataOverride=!(null==o||!o.override),t}static setOptions(e,o){return t._selectedOptions=e,t._selectedOptionsOverride=!(null==o||!o.override),t}static setText(e,o){if(null===e)t._selectedText=null;else if("string"==typeof e){const o=Gr(e);o?t._selectedText=o:(console.warn(`QR Code text template name "${e}" not found. Ignoring.`),t._selectedText=null)}else t._selectedText=e;return t._selectedTextOverride=!(null==o||!o.override),t}static setTextId(e,o){if(null===e)t._selectedText=null;else{const o=Er(e);console.log("foundTextTemplate",o),o?t._selectedText=o:(console.warn(`QR Code text template ID "${e}" not found in setTextId. Ignoring.`),t._selectedText=null)}return t._selectedTextOverride=!(null==o||!o.override),t}static setSettings(e){if(null===e)return t._selectedTemplate=null,t._selectedBorder=null,t._selectedStyle=null,t._selectedImage=null,t._selectedImageOverride=!1,t._selectedText=null,t._selectedTextOverride=!1,t._selectedData=null,t._selectedDataOverride=!1,t._selectedOptions=null,t._selectedOptionsOverride=!1,t._selectedInfo=null,t._selectedMetadata=null,t;const{id:o,name:r,description:n,metadata:i,options:s,template:a,templateId:l,style:d,styleId:c,border:u,borderId:h,text:p,textId:m,image:g,data:f,...b}=e;return t._selectedInfo={id:o,name:r,description:n},t._selectedMetadata=null!=i?i:null,l?t.setTemplateId(l):a&&t.setTemplate(a),c?t.setStyleId(c):d&&t.setStyle(d),h?t.setBorderId(h):u&&t.setBorder(u),m?t.setTextId(m):p&&t.setText(p),g&&t.setImage(g),f&&t.setData(f),s&&t.setOptions(s),Object.keys(b).length>0&&console.warn("QRCodeJs.setSettings: Unknown properties in settings object:",b),t}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){var t,o;const r=e?C(this.options,e):this.options,{warnings:n,validatedOptions:i}=Po(r);if(n.length>0&&this._logValidationWarnings("QR Code JS Options Update Validation Warnings:",n),this.options=E(i),!this.options.data)return void console.warn("QR Code update called without data.");this.options.stringToBytesFuncs&&(Object.assign(b.stringToBytesFuncs,this.options.stringToBytesFuncs),delete this.options.stringToBytesFuncs),this.qr=new b(this.options.qrOptions.typeNumber,this.options.qrOptions.errorCorrectionLevel);const s=(null===(t=this.options.qrOptions)||void 0===t?void 0:t.mode)||function(e){switch(!0){case/^[0-9]*$/.test(e):return f.numeric;case/^[0-9A-Z $%*+\-./:]*$/.test(e):return f.alphanumeric;case/[^\u0000-\u00ff]/.test(e):return f.unicode;default:return f.byte}}(this.options.data);this.qr.addData(this.options.data,s),this.qr.make(),await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise;const a=null===(o=this.qrSVG)||void 0===o?void 0:o.element;if(this.container&&a){const e=this.container.querySelector(`#${this._svgId}`);e&&e!==a&&this.container.replaceChild(a,e)}}append(e,t){var o;if(!e)return console.warn("QR Code append could not find container."),this;if(this.container=e,null!=t&&t.clearContainer)for(;e.firstChild;)e.removeChild(e.firstChild);return null!==(o=this.qrSVG)&&void 0!==o&&o.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){var t,o;if(!this.qr)throw new Error("QR code is empty");if(null!==(t=this.qrSVG)&&void 0!==t&&t.element||await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise,null===(o=this.qrSVG)||void 0===o||!o.element)return;let r=this.qrSVG.element;if(e){const e=this.qrSVG.element.cloneNode(!0);e.style.filter="invert(1)",r=e}let n=(new XMLSerializer).serializeToString(r);return n='<?xml version="1.0" standalone="no"?>\r\n'+n,n}async _setupSvgAsync(){var e;if(!this.qr)return;let t=this.qr.getModuleCount();this.options.imageOptions.mode===X.background&&this.options.shape!==J.circle&&(t+=2);let o=Math.ceil((this.options.shape===J.circle?Math.sqrt(1.8):1.1)*t);o%2==0&&(o-=1);let r=0;this.options.imageOptions.mode===X.background&&(r+=this.options.imageOptions.margin||0);const n=Math.ceil(this.options.dotsOptions.size*(o+2*r)),i=this.options.borderOptions;let s=0,a=0;const l={top:0,right:0,bottom:0,left:0},d={top:0,right:0,bottom:0,left:0},c={top:0,right:0,bottom:0,left:0},u=(null!=i&&i.noBorderThickness||null!=i&&i.thickness)&&i.thickness?i.thickness/4:0;if(null!=i&&i.hasBorder){var h,p,m,g;const e=null!==(h=i.borderOuter)&&void 0!==h&&h.thickness?2*(null===(p=i.borderOuter)||void 0===p?void 0:p.thickness):0,t=null!==(m=i.borderInner)&&void 0!==m&&m.thickness?2*(null===(g=i.borderInner)||void 0===g?void 0:g.thickness):0;var f,b,y,O,C,Z,x,j;if(e>0&&(d.top=e/2,d.bottom=e/2,d.left=e/2,d.right=e/2),t>0&&(c.top=t/2,c.bottom=t/2,c.left=t/2,c.right=t/2),D(i,"left"))l.left=null!==(f=i.thickness)&&void 0!==f?f:0,s+=null!==(b=i.thickness)&&void 0!==b?b:0;else l.left=u,s+=u;if(D(i,"right"))l.right=null!==(y=i.thickness)&&void 0!==y?y:0,s+=null!==(O=i.thickness)&&void 0!==O?O:0;else l.right=u,s+=u;if(D(i,"top"))l.top=null!==(C=i.thickness)&&void 0!==C?C:0,a+=null!==(Z=i.thickness)&&void 0!==Z?Z:0;else l.top=u,a+=u;if(D(i,"bottom"))l.bottom=null!==(x=i.thickness)&&void 0!==x?x:0,a+=null!==(j=i.thickness)&&void 0!==j?j:0;else l.bottom=u,a+=u}const R=n+s,M=n+a;this.qrSVG=new cr({...this.options,width:R,height:M,bordersMain:l,bordersOuter:d,bordersInner:c,errorCorrectionPercent:F[this.options.qrOptions.errorCorrectionLevel],hls:!0}),null!==(e=this.qrSVG)&&void 0!==e&&e.element?(this.qrSVG.element.id=this._svgId,this.svgDrawingPromise=this.qrSVG.drawQR(this.qr).then((()=>{var e,t,o,r;null!==(e=this.qrSVG)&&void 0!==e&&e.element&&(this.options.instanceId=this.qrSVG._instanceId,null!==(t=this.options.borderOptions)&&void 0!==t&&t.hasBorder&&(r=this.options.borderOptions,(e,t,o,n,i,s,a,l)=>{var d,c,u,h,p,m,g,f,b,y,O,C;const{instanceId:Z}=t,x=o,j=o,R=Math.min(x,j),M=T(r.radius),B=M&&A(M)>0?A(M)/100*R:0,Y=T(null==r||null===(d=r.inner)||void 0===d?void 0:d.radius,B),J=Math.min(Math.max(null!==(c=null===(u=r.inner)||void 0===u?void 0:u.scale)&&void 0!==c?c:1,0),1.5),X=null!==(h=null===(p=r.inner)||void 0===p?void 0:p.horizontalOffset)&&void 0!==h?h:0,G=null!==(m=null===(g=r.inner)||void 0===g?void 0:g.verticalOffset)&&void 0!==m?m:0,E=null!==(f=r.thickness)&&void 0!==f?f:0,F=null!==(b=r.color)&&void 0!==b?b:"#000000",L=null!==(y=r.borderOuter)&&void 0!==y&&y.thickness?r.borderOuter.thickness/2:0,z=null!==(O=r.borderInner)&&void 0!==O&&O.thickness?r.borderInner.thickness/2:0,N=t.document,P=i.left+i.right,U=i.top+i.bottom,_=n(E,B),H={top:D(r,"top"),right:D(r,"right"),bottom:D(r,"bottom"),left:D(r,"left")},K=N.createElementNS("http://www.w3.org/2000/svg","rect"),Q={x:s.left/2,y:s.top/2,width:R+P-s.left,height:R+U-s.top,fill:F,rx:null!=M?M:B};Object.entries(Q).forEach((([e,t])=>{K.setAttribute(e,t.toString())}));const $=N.createElementNS("http://www.w3.org/2000/svg","rect"),ee=B>=200?"50%":B,te=x+P-(i.left+i.right+a.left+a.right+s.left+s.right),oe=j+U-(i.top+i.bottom+a.top+a.bottom+s.top+s.bottom),re=te*J,ne=oe*J,ie=(te-re)/2-X,se=(oe-ne)/2-G,ae={x:i.left+a.left+s.left+ie,y:i.top+a.top+s.top+se,width:re,height:ne,fill:(null==_?void 0:_.getAttribute("fill"))||"#ffffff",rx:null!=Y?Y:ee};Object.entries(ae).forEach((([e,t])=>$.setAttribute(e,t.toString()))),_&&(({strokePath:e,backgroundMaskGroup:t,svgElement:o,color:r="#000000"})=>{e.setAttribute("fill",(null==t?void 0:t.getAttribute("fill"))||r),t.setAttribute("fill","none"),t.setAttribute("stroke-width","0"),o.insertBefore(t,o.firstChild)})({strokePath:$,backgroundMaskGroup:_,svgElement:e,color:F});let le=e.getElementsByTagName("defs")[0];le||(le=N.createElementNS("http://www.w3.org/2000/svg","defs"),e.insertBefore(le,e.firstChild));const de=N.createElementNS("http://www.w3.org/2000/svg","mask");de.setAttribute("id",`qr-mask-${Z}`),de.setAttribute("maskUnits","userSpaceOnUse");const ce=N.createElementNS("http://www.w3.org/2000/svg","rect");if(ce.setAttribute("fill","white"),Object.entries(ae).forEach((([e,t])=>{"fill"!==e&&ce.setAttribute(e,t.toString())})),le.appendChild(de),de.appendChild(ce),e.insertBefore($,null===(C=e.firstChild)||void 0===C?void 0:C.nextSibling),e.insertBefore(K,e.firstChild),r.borderOuter&&"number"==typeof r.borderOuter.thickness&&r.borderOuter.thickness>0){var ue;const t=N.createElementNS("http://www.w3.org/2000/svg","rect"),o={x:s.left/2,y:s.top/2,width:x+P-s.left,height:j+U-s.top,fill:"none",rx:null!=M?M:B,stroke:r.borderOuter.color||"#c0c0c0","stroke-width":r.borderOuter.thickness};Object.entries(o).forEach((([e,o])=>t.setAttribute(e,o.toString()))),e.insertBefore(t,null===(ue=e.firstChild)||void 0===ue?void 0:ue.nextSibling)}if(_&&Array.from(e.getElementsByTagName("rect"))[0]){const t=e.firstChild;t?e.insertBefore(_,t):e.appendChild(_)}if(r.borderInner&&"number"==typeof r.borderInner.thickness&&r.borderInner.thickness>0){const t=N.createElementNS("http://www.w3.org/2000/svg","rect"),o={x:i.left+a.left+s.left+ie,y:i.top+a.top+s.top+se,width:re,height:ne,fill:"none",stroke:r.borderInner.color||"#c0c0c0","stroke-width":a.left,rx:null!=Y?Y:ee};Object.entries(o).forEach((([e,o])=>t.setAttribute(e,o.toString()))),e.appendChild(t)}const he=r,pe=[S,k,w,v];for(const t of pe){var me;const o=null===(me=he.decorations)||void 0===me?void 0:me[t];if(!o||!o.enableText||!H[t])continue;const r=o.type||q,n=r===I?V:r===q?W:void 0;var ge,fe;n&&n({document:N,svg:e,position:t,thickness:null!==(ge=he.thickness)&&void 0!==ge?ge:0,value:null!==(fe=o.value)&&void 0!==fe?fe:"",style:o.style,offset:o.offset,curveAdjustment:o.curveAdjustment,curveDisabled:o.curveDisabled,height:j+U,width:x+P,enabledBorders:H,outerBorderPadding:L,innerBorderPadding:z,round:M,curveRadius:o.curveRadius,instanceId:Z,noBorderThickness:l})}})(this.qrSVG.element,this.options,n,this.qrSVG.drawBackgroundForBorder.bind(this.qrSVG),l,d,c,u),null===(o=this.extension)||void 0===o||o.call(this,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(t){var o,r,n;const{width:i=300,height:s=300}=null!==(o=null!==(r=null===(n=this.qrSVG)||void 0===n?void 0:n.svgSize)&&void 0!==r?r:t)&&void 0!==o?o:e,a=i,l=s,d=document.createElement("canvas");d.width=a,d.height=l;const c=await this.serialize();if(!c)throw new Error("Failed to serialize SVG.");const u="data:image/svg+xml;base64,"+btoa(c);return new Promise(((e,t)=>{const o=new Image;o.width=a,o.height=l,o.crossOrigin="Anonymous",o.onload=()=>{const r=d.getContext("2d");if(!r)return t(new Error("Could not get canvas 2D context"));r.drawImage(o,0,0,a,l),e(d)},o.onerror=o.onabort=t,o.src=u}))}async drawToCanvas(e){var t;const o=document.createElement("canvas"),r=window.devicePixelRatio||1,n=(null==e?void 0:e.antialiasFactor)||2,i=(null==e?void 0:e.antialiasLevel)||"medium",s=null===(t=null==e?void 0:e.antialias)||void 0===t||t,a=(async()=>{try{var t,a;const l=await this.serialize();if(!l)return void console.warn("SVG serialization returned empty.");const d="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)}(l),c=new Image;await new Promise(((e,t)=>{c.onload=()=>e(),c.onerror=e=>t(new Error(`Image load error: ${e}`)),c.onabort=()=>t(new Error("Image load aborted")),c.src=d}));const{width:u,height:h}=null!==(t=null===(a=this.qrSVG)||void 0===a?void 0:a.svgSize)&&void 0!==t?t:{},p=null!=u?u:c.naturalWidth,m=null!=h?h:c.naturalHeight;if(p<=0||m<=0)throw new Error("Invalid SVG dimensions");let g,f;void 0!==(null==e?void 0:e.width)&&void 0!==(null==e?void 0:e.height)?(g=e.width,f=e.height):void 0!==(null==e?void 0:e.width)?(g=e.width,f=g*(m/p)):void 0!==(null==e?void 0:e.height)?(f=e.height,g=f*(p/m)):(g=p,f=m),o.width=g*r,o.height=f*r,o.style.width=`${g}px`,o.style.height=`${f}px`;const b=g/p,y=f/m,O=Math.min(b,y),C=p*O,S=m*O,v=(g-C)/2,k=(f-S)/2;let w;try{w=new OffscreenCanvas(C*r*n,S*r*n)}catch(e){w=document.createElement("canvas"),w.width=C*r*n,w.height=S*r*n}const A=w.getContext("2d");if(!A)throw new Error("Could not get OffscreenCanvas 2D context");A.imageSmoothingEnabled=s,A.imageSmoothingQuality=i,A.drawImage(c,0,0,w.width,w.height);const T=o.getContext("2d");if(!T)throw new Error("Could not get canvas 2D context");T.imageSmoothingEnabled=s,T.imageSmoothingQuality=i,T.scale(r,r),T.drawImage(w,0,0,w.width,w.height,v,k,C,S)}catch(e){throw console.error("Error drawing to canvas:",e),e}})();return{canvas:o,canvasDrawingPromise:a}}async _drawToCanvasPrevious(t){var o,r;const{width:n=300,height:i=300}=null!==(o=null!=t?t:null===(r=this.qrSVG)||void 0===r?void 0:r.svgSize)&&void 0!==o?o:e,s=1*n,a=1*i,l=document.createElement("canvas");l.width=s,l.height=a;const d=(async()=>{try{const e=await this.serialize();if(!e)return void console.warn("SVG serialization returned empty.");const t="data:image/svg+xml;base64,"+btoa(e),o=new Image;o.width=s,o.height=a,await new Promise(((e,r)=>{o.onload=()=>{const t=Math.ceil(2*Math.max(n,i)/Math.max(o.width,o.height));let d;try{d=new OffscreenCanvas(o.width*t*2,o.height*t*2)}catch(e){d=document.createElement("canvas"),d.width=o.width*t*2,d.height=o.height*t*2}const c=d.getContext("2d");if(!c)return r(new Error("Could not get OffscreenCanvas 2D context"));c.drawImage(o,0,0,d.width,d.height);const u=l.getContext("2d");if(!u)return r(new Error("Could not get canvas 2D context"));u.drawImage(d,0,0,d.width,d.height,0,0,s,a),e()},o.onerror=e=>r(new Error(`Image load error: ${e}`)),o.onabort=()=>r(new Error("Image load aborted")),o.src=t}))}catch(e){throw console.error("Error drawing to canvas:",e),e}})();return{canvas:l,canvasDrawingPromise:d}}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=Fr.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(t){var o,r,n;const{width:i=300,height:s=300}=null!==(o=null!==(r=null===(n=this.qrSVG)||void 0===n?void 0:n.svgSize)&&void 0!==r?r:t)&&void 0!==o?o:e,a=document.createElement("canvas");a.width=i,a.height=s;const l=await this.serialize();if(!l)throw new Error("Failed to serialize SVG.");const d="data:image/svg+xml;base64,"+btoa(Array.from((new TextEncoder).encode(l)).map((e=>String.fromCharCode(e))).join(""));return new Promise(((e,t)=>{const o=new Image;o.width=i,o.height=s,o.crossOrigin="Anonymous",o.onload=()=>{const r=a.getContext("2d");if(!r)return t(new Error("Could not get canvas 2D context"));r.imageSmoothingEnabled=!1,r.drawImage(o,0,0,i,s),this.applyQRThreshold(a),e(a)},o.onerror=e=>t(new Error(`Image load error: ${e}`)),o.onabort=()=>t(new Error("Image load aborted")),o.src=d}))}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}`)}))}};Lr.version="0.20.1",Lr._selectedTemplate=null,Lr._selectedBorder=null,Lr._selectedStyle=null,Lr._selectedImage=null,Lr._selectedImageOverride=!1,Lr._selectedText=null,Lr._selectedTextOverride=!1,Lr._selectedData=null,Lr._selectedDataOverride=!1,Lr._selectedOptions=null,Lr._selectedOptionsOverride=!1,Lr._selectedInfo=null,Lr._selectedMetadata=null;class zr extends Lr{constructor(e,t=!1){super(e)}async validateScanning(e="zbar",t=!1){try{const{default:e}=await import("./chunks/zbar-scan-validator-CPwNKIiK.js").then((function(e){return e.z})),o=await this.serialize(),r=this.size;if(!r)throw new Error("QR code dimensions not available for validation. Ensure the QR code has been generated.");const{width:n,height:i}=r,s=await(new e).validate(o,(async()=>this.serialize(!0)),n,i,t);if(s.isValid)return s;{console.debug("Zbar validation failed, trying Zxing...");const{default:e}=await import("./chunks/zxing-scan-validator-BhQsyUDu.js");return(new e).validate(o,(async()=>this.serialize(!0)),t)}}catch(e){const t=e instanceof Error?e.message:"Unknown validation error";return console.error(`Validation failed: ${t}`,e),Promise.reject({isValid:!1,message:t})}}static useTemplate(e){return new Pr(this,e)}static useTemplateId(e){return new Pr(this).useTemplateId(e)}static useStyle(e){return new Pr(this).useStyle(e)}static useStyleId(e){return new Pr(this).useStyleId(e)}static useBorder(e){return new Pr(this).useBorder(e)}static useBorderId(e){return new Pr(this).useBorderId(e)}static useImage(e,t){return new Pr(this).useImage(e,t)}static useText(e,t){return new Pr(this).useText(e,t)}static useTextId(e,t){return new Pr(this).useTextId(e,t)}static useData(e,t){return new Pr(this).useData(e,t)}static useOptions(e,t){return new Pr(this).useOptions(e,t)}static useSettings(e){return new Pr(this).useSettings(e)}}class Nr extends zr{constructor(e){super(e,!0)}}class Pr{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=!(null==t||!t.override),this}useData(e,t){return this._dataSource=e,this._dataOverride=!(null==t||!t.override),this}useText(e,t){return this._textSource=e,this._isTextById=!1,this._textOverride=!(null==t||!t.override),this._initialOptions=null,this}useTextId(e,t){return this._textSource=e,this._isTextById=!0,this._textOverride=!(null==t||!t.override),this._initialOptions=null,this}useOptions(e,t){return this._optionsSource=e,this._optionsOverride=!(null==t||!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?C({},this._initialOptions):C({},ke);let o=null;if(this._templateSource&&"string"==typeof this._templateSource){const e=(this._isTemplateById?Lo:Fo)(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=C(t,o));let r=null;if(this._borderSource)if("string"==typeof this._borderSource){const e=(this._isBorderById?Jr:Yr)(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=C(t,r));let n=null;if(this._textSource&&!this._textOverride){let e=null;if("string"==typeof this._textSource){const t=(this._isTextById?Er:Gr)(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=C(t,n));let i=null;if(this._styleSource)if("string"==typeof this._styleSource){const e=(this._isStyleById?mr:pr)(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}=Oe(this._styleSource);e?i=this._styleSource:console.warn("Invalid style options object provided:",t)}if(i){t=C(t,ye(i))}if(this._imageSource&&!this._imageOverride&&(t=C(t,{image:this._imageSource})),this._dataSource&&!this._dataOverride&&(t=C(t,{data:this._dataSource})),this._optionsSource&&!this._optionsOverride&&(t=C(t,this._optionsSource)),t=C(t,e),this._imageOverride&&this._imageSource&&(t=C(t,{image:this._imageSource})),this._textOverride&&this._textSource){const e={borderOptions:{decorations:{}}};let o=null;if("string"==typeof this._textSource){const e=(this._isTextById?Er:Gr)(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=C(t,e)}}return this._dataOverride&&this._dataSource&&(t=C(t,{data:this._dataSource})),this._optionsSource&&this._optionsOverride&&(t=C(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}}"undefined"!=typeof window&&(window.QRCodeJs=zr,window.__=Nr);export{B as CornerDotType,Y as CornerSquareType,M as DotType,g as ErrorCorrectionLevel,j as GradientType,X as ImageMode,f as Mode,Pr as QRCodeBuilder,zr as QRCodeJs,J as ShapeType,m as TypeNumber,Nr as _};
|
|
1
|
+
const e={width:500,height:500};class t{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 o,r,i;!function(e){e[e.L=1]="L",e[e.M=0]="M",e[e.Q=3]="Q",e[e.H=2]="H"}(o||(o={}));class n{constructor(){throw new Error("error")}static glog(e){if(e<1)throw new Error("log("+e+")");return n.LOG_TABLE[e]}static gexp(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return n.EXP_TABLE[e]}}n.initialize=(()=>{n.EXP_TABLE=[],n.LOG_TABLE=[];for(let e=0;e<256;e+=1)n.EXP_TABLE.push(e<8?1<<e:n.EXP_TABLE[e-4]^n.EXP_TABLE[e-5]^n.EXP_TABLE[e-6]^n.EXP_TABLE[e-8]),n.LOG_TABLE.push(0);for(let e=0;e<255;e+=1)n.LOG_TABLE[n.EXP_TABLE[e]]=e})();class s{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+=n.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]^=n.gexp(n.glog(this.getAt(o))+n.glog(e.getAt(r)));return new s(t)}mod(e){if(this.getLength()-e.getLength()<0)return this;const t=n.glog(this.getAt(0))-n.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]^=n.gexp(n.glog(e.getAt(r))+t);return new s(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"}(r||(r={}));class a{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 r.MODE_NUMBER:return 10;case r.MODE_ALPHA_NUM:return 9;case r.MODE_8BIT_BYTE:case r.MODE_KANJI:return 8;default:throw new Error("mode:"+this.mode)}else if(e<27)switch(this.mode){case r.MODE_NUMBER:return 12;case r.MODE_ALPHA_NUM:return 11;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 10;default:throw new Error("mode:"+this.mode)}else{if(!(e<41))throw new Error("typeNumber:"+e);switch(this.mode){case r.MODE_NUMBER:return 14;case r.MODE_ALPHA_NUM:return 13;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 12;default:throw new Error("mode:"+this.mode)}}}}class l extends a{constructor(e,t){super(r.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 d extends a{constructor(e){super(r.MODE_ALPHA_NUM,e)}write(e){const t=this.getData();let o=0;for(;o+1<t.length;)e.put(45*d.getCode(t.charAt(o))+d.getCode(t.charAt(o+1)),11),o+=2;o<t.length&&e.put(d.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 c extends a{constructor(e,t){super(r.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 u extends a{constructor(e){super(r.MODE_NUMBER,e)}write(e){const t=this.getData();let o=0;for(;o+2<t.length;)e.put(u.strToNum(t.substring(o,o+3)),10),o+=3;o<t.length&&(t.length-o==1?e.put(u.strToNum(t.substring(o,o+1)),4):t.length-o==2&&e.put(u.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+u.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"}(i||(i={}));class h{constructor(){throw new Error("error")}static getPatternPosition(e){return h.PATTERN_POSITION_TABLE[e-1]}static getMaxLength(e,t,i){const n=e-1;let s=0,a=0;switch(i){case o.L:s=0;break;case o.M:s=1;break;case o.Q:s=2;break;case o.H:s=3;break;default:throw new Error("e:"+i)}switch(t){case r.MODE_NUMBER:a=0;break;case r.MODE_ALPHA_NUM:a=1;break;case r.MODE_8BIT_BYTE:a=2;break;case r.MODE_KANJI:a=3;break;default:throw new Error("m:"+t)}return h.MAX_LENGTH[n][s][a]}static getErrorCorrectPolynomial(e){let t=new s([1]);for(let o=0;o<e;o+=1)t=t.multiply(new s([1,n.gexp(o)]));return t}static getMaskFunc(e){switch(e){case i.PATTERN000:return(e,t)=>(e+t)%2==0;case i.PATTERN001:return(e,t)=>e%2==0;case i.PATTERN010:return(e,t)=>t%3==0;case i.PATTERN011:return(e,t)=>(e+t)%3==0;case i.PATTERN100:return(e,t)=>(~~(e/2)+~~(t/3))%2==0;case i.PATTERN101:return(e,t)=>e*t%2+e*t%3==0;case i.PATTERN110:return(e,t)=>(e*t%2+e*t%3)%2==0;case i.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(;h.getBCHDigit(t)-h.getBCHDigit(h.G15)>=0;)t^=h.G15<<h.getBCHDigit(t)-h.getBCHDigit(h.G15);return(e<<10|t)^h.G15_MASK}static getBCHTypeNumber(e){let t=e<<12;for(;h.getBCHDigit(t)-h.getBCHDigit(h.G18)>=0;)t^=h.G18<<h.getBCHDigit(t)-h.getBCHDigit(h.G18);return e<<12|t}static getBCHDigit(e){let t=0;for(;0!=e;)t+=1,e>>>=1;return t}}h.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]],h.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]]],h.G15=1335,h.G18=7973,h.G15_MASK=21522;class p{constructor(e,t){this.totalCount=e,this.dataCount=t}getDataCount(){return this.dataCount}getTotalCount(){return this.totalCount}static getRSBlocks(e,t){const o=p.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 p(r,n))}return i}static getRsBlockTable(e,t){switch(t){case o.L:return p.RS_BLOCK_TABLE[4*(e-1)+0];case o.M:return p.RS_BLOCK_TABLE[4*(e-1)+1];case o.Q:return p.RS_BLOCK_TABLE[4*(e-1)+2];case o.H:return p.RS_BLOCK_TABLE[4*(e-1)+3]}throw new Error("tn:"+e+"/ecl:"+t)}}p.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 m=Array(41).fill(0).map(((e,t)=>t));var g,f;!function(e){e.L="L",e.M="M",e.Q="Q",e.H="H"}(g||(g={})),function(e){e.numeric="numeric",e.alphanumeric="alphanumeric",e.byte="byte",e.kanji="kanji",e.unicode="unicode"}(f||(f={}));class b{constructor(e=0,t=g.L){this.modules=[],this.moduleCount=0,this.typeNumber=e,this.errorCorrectLevel=o[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=f.byte){if(e instanceof a)this.qrDataList.push(e);else{if("string"!=typeof e)throw new Error(typeof e);switch(t){case f.numeric:this.qrDataList.push(new u(e));break;case f.alphanumeric:this.qrDataList.push(new d(e));break;case f.byte:this.qrDataList.push(new l(e,b.stringToBytesFuncs.default));break;case f.unicode:this.qrDataList.push(new l(e,b.stringToBytesFuncs.UTF8));break;case f.kanji:this.qrDataList.push(new c(e,b.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 o=p.getRSBlocks(e,this.errorCorrectLevel),r=new t;this.qrDataList.forEach((t=>{r.put(t.getMode(),4),r.put(t.getLength(),t.getLengthInBits(e)),t.write(r)}));const i=o.reduce(((e,t)=>e+t.getDataCount()),0);if(r.getLengthInBits()<=8*i)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=h.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=b.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=h.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=h.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=h.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=h.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,o,r){const i=p.getRSBlocks(e,o),n=new t;r.forEach((t=>{n.put(t.getMode(),4),n.put(t.getLength(),t.getLengthInBits(e)),t.write(n)}));const s=i.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(b.PAD0,8),n.getLengthInBits()>=8*s));)n.put(b.PAD1,8);return b.createBytes(n,i)}static createBytes(e,t){let o=0,r=0,i=0;const n=new Array(t.length).map((e=>[])),a=new Array(t.length).map((e=>[]));function l(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]=l(c);for(let t=0;t<n[d].length;t+=1)n[d][t]=255&e.getBuffer()[t+o];o+=c;const p=h.getErrorCorrectPolynomial(u),m=new s(n[d],p.getLength()-1).mod(p);a[d]=l(p.getLength()-1);for(let e=0;e<a[d].length;e+=1){const t=e+m.getLength()-a[d].length;a[d][e]=t>=0?m.getAt(t):0}}const d=l(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<a[o].length&&(d[c]=a[o][e],c+=1);return d}}b.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}},b.PAD0=236,b.PAD1=17;const y=e=>!!e&&"object"==typeof e&&!Array.isArray(e);function O(e,t=!1){const o=e.split("").reverse().join("");return t?o.toLocaleUpperCase():o}function C(e,...t){if(!t.length)return e;const o=t.shift();return void 0!==o&&y(e)&&y(o)?(e={...e},Object.keys(o).forEach((t=>{const r=e[t],i=o[t];Array.isArray(r)&&Array.isArray(i)?e[t]=i:y(r)&&y(i)?e[t]=C({...r},i):e[t]=void 0===i?r:i})),C(e,...t)):e}O("rq",!0),O("-",!0),O("talp",!0),O("mrof",!0),O("a".repeat(6)+"#",!0);const S="top",v="bottom",k="left",w="right";const A=e=>"number"==typeof e?e:parseInt(e.replace("%",""),10),T=(e,t="0%")=>e?e.endsWith("%")?e:e+"%":t,q="text",I="image",D=(e,t)=>{var o,r;return!(null!==(o=null==e||null===(r=e.decorations)||void 0===r||null===(r=r[t])||void 0===r?void 0:r.disabled)&&void 0!==o&&o)},Z=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 x=({document:e,position:t,rotate:o,flip:r,thickness:i,height:n,width:s,round:a,offset:l=0,curveAdjustment:d=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?A(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*d*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,l);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},W=({document:e,thickness:t,value:o,svg:r,position:i,height:n,width:s,round:a,style:l,offset:d=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===w?b=90:i===v?y=!u:i===k&&(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+d-(n-s>0?0:(s-n)/2);if(i===v?u=n-2*h-t/2-d:i===S&&(u=2*h+t/2+d),i===S||i===v){let e=0;!f[k]&&f[w]?e=-(t-g)/2:f[k]&&!f[w]&&(e=(t-g)/2),c+=e}else if(i===k||i===w){let e=0;!f[S]&&f[v]?e=i===k?(t-g)/2:-(t-g)/2:f[S]&&!f[v]&&(e=i===k?-(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=Z(l);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=x({document:e,position:i,rotate:b,flip:y,thickness:t,height:n,width:s,round:a,offset:d,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=Z(r);return n.setAttribute("style",a),n.appendChild(s),n})({document:e,position:i,value:o,style:l,instanceId:m}))}},V=({document:e,thickness:t,value:o,svg:r,position:i,height:n,width:s,offset:a=0,style:l})=>{const d=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===S?u+=(c-t)/2:i===w?(u+=c-t,h+=(c-t)/2):i===v?(u+=(c-t)/2,h+=c-t):i===k&&(h+=(c-t)/2),d.setAttribute("href",o||""),d.setAttribute("x",`${u}`),d.setAttribute("y",`${h}`),d.setAttribute("style",(null==l?void 0:l.toString())||""),r.appendChild(d)};var j,R,M,B,Y,J,X;function G(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 E(e){var t,o,r;const i={...e};if(i.imageOptions={...i.imageOptions,imageSize:Math.min(1,Number(null===(t=i.imageOptions)||void 0===t?void 0:t.imageSize))||1,margin:Number(null===(o=i.imageOptions)||void 0===o?void 0:o.margin)||0,padding:Number(null===(r=i.imageOptions)||void 0===r?void 0:r.padding)||0},i.imageOptions.mode==X.overlay&&(i.imageOptions.margin=0),i.dotsOptions={...i.dotsOptions},i.dotsOptions.gradient&&(i.dotsOptions.gradient=G(i.dotsOptions.gradient)),i.dotsOptions.size=Math.round(Math.max(0,i.dotsOptions.size)||10),i.cornersSquareOptions&&(i.cornersSquareOptions={...i.cornersSquareOptions},i.cornersSquareOptions.gradient&&(i.cornersSquareOptions.gradient=G(i.cornersSquareOptions.gradient))),i.cornersDotOptions&&(i.cornersDotOptions={...i.cornersDotOptions},i.cornersDotOptions.gradient&&(i.cornersDotOptions.gradient=G(i.cornersDotOptions.gradient))),i.backgroundOptions&&(i.backgroundOptions={...i.backgroundOptions},i.backgroundOptions.gradient&&(i.backgroundOptions.gradient=G(i.backgroundOptions.gradient))),i.borderOptions&&i.borderOptions.decorations){const e=["top","bottom","left","right"];for(const t of e){let e=i.borderOptions.decorations[t];e||(i.borderOptions.decorations[t]={enableText:!1,value:void 0},e=i.borderOptions.decorations[t]),!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||i.document||(i.document=document),i}!function(e){e.radial="radial",e.linear="linear"}(j||(j={})),function(e){e.svg="svg",e.png="png",e.jpeg="jpeg",e.webp="webp"}(R||(R={})),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"}(M||(M={})),function(e){e.dot="dot",e.square="square",e.heart="heart",e.rounded="rounded",e.classy="classy",e.outpoint="outpoint",e.inpoint="inpoint"}(B||(B={})),function(e){e.dot="dot",e.square="square",e.rounded="rounded",e.classy="classy",e.outpoint="outpoint",e.inpoint="inpoint"}(Y||(Y={})),function(e){e.square="square",e.circle="circle"}(J||(J={})),function(e){e.center="center",e.overlay="overlay",e.background="background"}(X||(X={}));const F={[g.L]:.07,[g.M]:.15,[g.Q]:.25,[g.H]:.3};class L{constructor(e="",t={}){if(e instanceof L)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(L.names[e])e=L.names[e],i=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(r=ge.rgb.exec(e))return{r:r[1],g:r[2],b:r[3]};if(r=ge.rgba.exec(e))return{r:r[1],g:r[2],b:r[3],a:r[4]};if(r=ge.hsl.exec(e))return{h:r[1],s:r[2],l:r[3]};if(r=ge.hsla.exec(e))return{h:r[1],s:r[2],l:r[3],a:r[4]};if(r=ge.hsv.exec(e))return{h:r[1],s:r[2],v:r[3]};if(r=ge.hsva.exec(e))return{h:r[1],s:r[2],v:r[3],a:r[4]};if(r=ge.hex8.exec(e))return{r:ce(r[1]),g:ce(r[2]),b:ce(r[3]),a:me(r[4]),format:i?"name":"hex8"};if(r=ge.hex6.exec(e))return{r:ce(r[1]),g:ce(r[2]),b:ce(r[3]),format:i?"name":"hex"};if(r=ge.hex4.exec(e))return{r:ce(r[1]+""+r[1]),g:ce(r[2]+""+r[2]),b:ce(r[3]+""+r[3]),a:me(r[4]+""+r[4]),format:i?"name":"hex8"};if(r=ge.hex3.exec(e))return{r:ce(r[1]+""+r[1]),g:ce(r[2]+""+r[2]),b:ce(r[3]+""+r[3]),format:i?"name":"hex"};return!1}(e));"object"==typeof e&&(fe(e.r)&&fe(e.g)&&fe(e.b)?(l=e.r,d=e.g,c=e.b,t={r:255*le(l,255),g:255*le(d,255),b:255*le(c,255)},s=!0,a="%"===String(e.r).slice(-1)?"prgb":"rgb"):fe(e.h)&&fe(e.s)&&fe(e.v)?(r=he(e.s),i=he(e.v),t=function(e,t,o){e=6*le(e,360),t=le(t,100),o=le(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),l=r%6,d=[o,s,n,n,a,o][l],c=[a,o,o,s,n,n][l],u=[n,n,a,o,o,qw][l];return{r:255*d,g:255*c,b:255*u}}(e.h,r,i),s=!0,a="hsv"):fe(e.h)&&fe(e.s)&&fe(e.l)&&(r=he(e.s),n=he(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=le(e,360),t=le(t,100),o=le(o,100),0===t)r=i=n=o;else{const a=o<.5?o*(1+t):o+t-o*t,l=2*o-a;r=s(l,a,e+1/3),i=s(l,a,e),n=s(l,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 l,d,c;return o=ae(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=ae(e),this._roundA=Math.round(100*this._a)/100,this}toHsv(){const e=N(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}}toHsvString(){const e=N(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=z(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}}toHslString(){const e=z(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 P(this._r,this._g,this._b,e)}toHexString(e){return"#"+this.toHex(e)}toHex8(e){return function(e,t,o,r,i){const n=[ue(Math.round(e).toString(16)),ue(Math.round(t).toString(16)),ue(Math.round(o).toString(16)),ue(pe(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*le(this._r,255))+"%",g:Math.round(100*le(this._g,255))+"%",b:Math.round(100*le(this._b,255))+"%",a:this._a}}toPercentageRgbString(){return 1==this._a?`rgb(${Math.round(100*le(this._r,255))}%, ${Math.round(100*le(this._g,255))}%, ${Math.round(100*le(this._b,255))}%)`:`rgba(${Math.round(100*le(this._r,255))}%, ${Math.round(100*le(this._g,255))}%, ${Math.round(100*le(this._b,255))}%, ${this._roundA})`}toName(){return 0===this._a?"transparent":!(this._a<1)&&(L.hexNames[P(this._r,this._g,this._b,!0)]||!1)}toFilter(e){const t="#"+U(this._r,this._g,this._b,this._a);let o=t;const r=this._gradientType?"GradientType = 1, ":"";if(e){const t=new L(e);o="#"+U(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 L(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(Q,...e)}brighten(...e){return this._applyModification($,...e)}darken(...e){return this._applyModification(ee,...e)}desaturate(...e){return this._applyModification(_,...e)}saturate(...e){return this._applyModification(H,...e)}greyscale(...e){return this._applyModification(K,...e)}spin(...e){return this._applyModification(te,...e)}_applyCombination(e,...t){return e(this,...t)}analogous(...e){return this._applyCombination(ne,...e)}complement(...e){return this._applyCombination(oe,...e)}monochromatic(...e){return this._applyCombination(se,...e)}splitcomplement(...e){return this._applyCombination(ie,...e)}triad(){return this._applyCombination(re,3)}tetrad(){return this._applyCombination(re,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]:he(e[o]));e=t}return new L(e,t)}static equals(e,t){return!(!e||!t)&&new L(e).toRgbString()===new L(t).toRgbString()}static random(){return L.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})}static mix(e,t,o){o=0===o?0:o||50;const r=new L(e).toRgb(),i=new L(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 L(s)}static readability(e,t){const o=new L(e),r=new L(t);return(Math.max(o.getLuminance(),r.getLuminance())+.05)/(Math.min(o.getLuminance(),r.getLuminance())+.05)}static isReadable(e,t,o){const r=L.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:l}=o;for(const o of t)r=L.readability(e,o),r>n&&(n=r,i=new L(o));return L.isReadable(e,i,{level:a,size:l})||!s?i:(o.includeFallbackColors=!1,L.mostReadable(e,["#fff","#000"],o))}}function z(e,t,o){e=le(e,255),t=le(t,255),o=le(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 l=r-i;switch(s=a>.5?l/(2-r-i):l/(r+i),r){case e:n=(t-o)/l+(t<o?6:0);break;case t:n=(o-e)/l+2;break;case o:n=(e-t)/l+4}n/=6}return{h:n,s,l:a}}function N(e,t,o){e=le(e,255),t=le(t,255),o=le(o,255);const r=Math.max(e,t,o),i=Math.min(e,t,o);let n;const s=r,a=r-i,l=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:l,v:s}}function P(e,t,o,r){const i=[ue(Math.round(e).toString(16)),ue(Math.round(t).toString(16)),ue(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 U(e,t,o,r){return[ue(pe(r)),ue(Math.round(e).toString(16)),ue(Math.round(t).toString(16)),ue(Math.round(o).toString(16))].join("")}function _(e,t){t=0===t?0:t||10;const o=new L(e).toHsl();return o.s-=t/100,o.s=de(o.s),new L(o)}function H(e,t){t=0===t?0:t||10;const o=new L(e).toHsl();return o.s+=t/100,o.s=de(o.s),new L(o)}function K(e){return new L(e).desaturate(100)}function Q(e,t){t=0===t?0:t||10;const o=new L(e).toHsl();return o.l+=t/100,o.l=de(o.l),new L(o)}function $(e,t){t=0===t?0:t||10;const o=new L(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 L(o)}function ee(e,t){t=0===t?0:t||10;const o=new L(e).toHsl();return o.l-=t/100,o.l=de(o.l),new L(o)}function te(e,t){const o=new L(e).toHsl(),r=(o.h+t)%360;return o.h=r<0?360+r:r,new L(o)}L.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"},L.hexNames=function(e){const t={};for(const o in e)e.hasOwnProperty(o)&&(t[e[o]]=o);return t}(L.names);const oe=e=>{const t=new L(e).toHsl();return t.h=(t.h+180)%360,new L(t)},re=(e,t)=>{if(isNaN(t)||t<=0)throw new Error("Argument to polyad must be a positive number");const o=new L(e).toHsl(),r=[new L(e)],i=360/t;for(let e=1;e<t;e++)r.push(new L({h:(o.h+e*i)%360,s:o.s,l:o.l}));return r};function ie(e){const t=new L(e).toHsl(),o=t.h;return[new L(e),new L({h:(o+72)%360,s:t.s,l:t.l}),new L({h:(o+216)%360,s:t.s,l:t.l})]}function ne(e,t,o){t=t||6,o=o||30;const r=new L(e).toHsl(),i=360/o,n=[new L(e)];for(r.h=(r.h-(i*t>>1)+720)%360;--t;)r.h=(r.h+i)%360,n.push(new L(r));return n}function se(e,t){t=t||6;const o=new L(e).toHsv(),r=o.h,i=o.s;let n=o.v;const s=[],a=1/t;for(;t--;)s.push(new L({h:r,s:i,v:n})),n=(n+a)%1;return s}function ae(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function le(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 de(e){return Math.min(1,Math.max(0,e))}function ce(e){return parseInt(e,16)}function ue(e){return 1==e.length?"0"+e:""+e}function he(e){return e<=1&&(e=100*e+"%"),e}function pe(e){return Math.round(255*parseFloat(e)).toString(16)}function me(e){return ce(e)/255}const ge=(()=>{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 fe(e){return!!ge.CSS_UNIT.exec(e)}function be(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 ye(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=>{var o,s;const a=`borderText${t.charAt(0).toUpperCase()+t.slice(1)}`,l=e[a];var d;void 0!==l?(i[t]||(i[t]={}),i[t]={...i[t],value:l,enableText:!0,style:{...(null===(d=i[t])||void 0===d?void 0:d.style)||{},...r}},n=!0):null!==(o=i[t])&&void 0!==o&&o.value&&Object.keys(r).length>0&&(null===(s=i[t])||void 0===s||!s.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 L(e.secondaryColor).isDark();o.color=new L(e.primaryColor).darken(t?-12:12).toString()}if(e.thirdColor&&!e.borderInnerColor&&(o.borderInner||(o.borderInner={}),o.borderInner.color=new L(e.thirdColor).darken(2).toString()),e.primaryColor&&!e.borderOuterColor&&(o.borderOuter=o.borderOuter||{},o.borderOuter.color=new L(e.primaryColor).darken(2).toString()),e.backgroundColor&&!e.borderFontColor&&o.color){const t=new L(e.backgroundColor),r=new L(o.color),i=L.readability(t,r),n=t.isDark();if(i<2){be(o,(n?t.lighten(15):t.darken(15)).toString())}else{be(o,(n?t.lighten(20):t.lighten(10)).toString())}}}return t}function Oe(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 Ce{constructor(){}close(){}}class Se extends Ce{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;Se.isWhitespace(e)||(this.buffer=this.buffer<<6|Se.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 ve extends Ce{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 Se(new ve(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 ke={shape:J.square,qrOptions:{typeNumber:m[0],mode:void 0,errorCorrectionLevel:g.Q},imageOptions:{mode:X.center,imageSize:.4,padding:4,margin:.2,crossOrigin:void 0},cornersSquareOptions:{type:Y.rounded,color:"#000000"},cornersDotOptions:{type:B.dot,color:"#000000"},dotsOptions:{type:M.verticalLine,color:"#000000",size:10},backgroundOptions:{color:"#FFFFFF"},borderOptions:{decorations:{}}},we={...ke,shape:J.square,cornersSquareOptions:{type:Y.square},cornersDotOptions:{type:B.square},dotsOptions:{type:M.square}},Ae={...ke,shape:J.square,cornersSquareOptions:{type:Y.rounded},cornersDotOptions:{type:B.rounded},dotsOptions:{type:M.verticalLine,size:10}},Te={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{type:Y.dot},cornersDotOptions:{type:B.dot}},qe={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{type:Y.dot},cornersDotOptions:{type:B.dot}},Ie={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{type:Y.classy},cornersDotOptions:{type:B.classy}},De={...ke,dotsOptions:{...ke.dotsOptions,type:M.extraRounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},Ze={...ke,dotsOptions:{...ke.dotsOptions,type:M.verticalLine},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},xe={...ke,dotsOptions:{...ke.dotsOptions,type:M.horizontalLine},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},We={...ke,dotsOptions:{...ke.dotsOptions,type:M.classyRounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.outpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.outpoint}},Ve={...ke,dotsOptions:{...ke.dotsOptions,type:M.smallSquare},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.inpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.inpoint}},je={...ke,dotsOptions:{...ke.dotsOptions,type:M.tinySquare},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.heart}},Re={...ke,dotsOptions:{...ke.dotsOptions,type:M.star},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},Me={...ke,dotsOptions:{...ke.dotsOptions,type:M.plus},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},Be={...ke,dotsOptions:{...ke.dotsOptions,type:M.diamond},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},Ye={...ke,dotsOptions:{...ke.dotsOptions,type:M.randomDot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},Je={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.outpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.outpoint}},Xe={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.inpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.inpoint}},Ge={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.outpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.outpoint}},Ee={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.inpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.inpoint}},Fe={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.outpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.outpoint}},Le={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.inpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.inpoint}},ze={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.outpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.outpoint}},Ne={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.inpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.inpoint}},Pe={...ke,shape:J.circle,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},Ue={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},_e={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},He={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},Ke={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},Qe={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},$e={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},et={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},tt={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},ot={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},rt={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},it={...ke,dotsOptions:{...ke.dotsOptions,type:M.extraRounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},nt={...ke,dotsOptions:{...ke.dotsOptions,type:M.extraRounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},st={...ke,dotsOptions:{...ke.dotsOptions,type:M.classyRounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},at={...ke,dotsOptions:{...ke.dotsOptions,type:M.classyRounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},lt={...ke,dotsOptions:{...ke.dotsOptions,type:M.verticalLine},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},dt={...ke,dotsOptions:{...ke.dotsOptions,type:M.horizontalLine},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},ct={...ke,dotsOptions:{...ke.dotsOptions,type:M.horizontalLine},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},ut={...ke,dotsOptions:{...ke.dotsOptions,type:M.smallSquare},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},ht={...ke,dotsOptions:{...ke.dotsOptions,type:M.smallSquare},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},pt={...ke,dotsOptions:{...ke.dotsOptions,type:M.tinySquare},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},mt={...ke,dotsOptions:{...ke.dotsOptions,type:M.tinySquare},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},gt={...ke,dotsOptions:{...ke.dotsOptions,type:M.star},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},ft={...ke,dotsOptions:{...ke.dotsOptions,type:M.star},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},bt={...ke,dotsOptions:{...ke.dotsOptions,type:M.plus},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},yt={...ke,dotsOptions:{...ke.dotsOptions,type:M.plus},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},Ot={...ke,dotsOptions:{...ke.dotsOptions,type:M.diamond},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},Ct={...ke,dotsOptions:{...ke.dotsOptions,type:M.diamond},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},St={...ke,dotsOptions:{...ke.dotsOptions,type:M.randomDot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},vt={...ke,dotsOptions:{...ke.dotsOptions,type:M.randomDot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},kt={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},wt={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},At={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},Tt={...ke,dotsOptions:{...ke.dotsOptions,type:M.rounded},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.outpoint},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},qt={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.square},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},It={...ke,dotsOptions:{...ke.dotsOptions,type:M.classy},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.square}},Dt={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.rounded},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},Zt={...ke,dotsOptions:{...ke.dotsOptions,type:M.square},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.rounded}},xt={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.classy},cornersDotOptions:{...ke.cornersDotOptions,type:B.dot}},Wt={...ke,dotsOptions:{...ke.dotsOptions,type:M.dot},cornersSquareOptions:{...ke.cornersSquareOptions,type:Y.dot},cornersDotOptions:{...ke.cornersDotOptions,type:B.classy}},Vt={...we,shape:J.circle},jt={...ke,shape:J.circle},Rt={...Te,shape:J.circle},Mt={...qe,shape:J.circle},Bt={...Ie,shape:J.circle},Yt={...De,shape:J.circle},Jt={...Ze,shape:J.circle},Xt={...xe,shape:J.circle},Gt={...We,shape:J.circle},Et={...Ve,shape:J.circle},Ft={...je,shape:J.circle},Lt={...Re,shape:J.circle},zt={...Me,shape:J.circle},Nt={...Be,shape:J.circle},Pt={...Ye,shape:J.circle},Ut={...Je,shape:J.circle},_t={...Xe,shape:J.circle},Ht={...Ge,shape:J.circle},Kt={...Ee,shape:J.circle},Qt={...Fe,shape:J.circle},$t={...Le,shape:J.circle},eo={...ze,shape:J.circle},to={...Ne,shape:J.circle},oo={...Ue,shape:J.circle},ro={..._e,shape:J.circle},io={...He,shape:J.circle},no={...Ke,shape:J.circle},so={...Qe,shape:J.circle},ao={...$e,shape:J.circle},lo={...et,shape:J.circle},co={...tt,shape:J.circle},uo={...ot,shape:J.circle},ho={...rt,shape:J.circle},po={...it,shape:J.circle},mo={...nt,shape:J.circle},go={...st,shape:J.circle},fo={...at,shape:J.circle},bo={...lt,shape:J.circle},yo={...dt,shape:J.circle},Oo={...ct,shape:J.circle},Co={...ut,shape:J.circle},So={...ht,shape:J.circle},vo={...pt,shape:J.circle},ko={...mt,shape:J.circle},wo={...gt,shape:J.circle},Ao={...ft,shape:J.circle},To={...bt,shape:J.circle},qo={...yt,shape:J.circle},Io={...Ot,shape:J.circle},Do={...Ct,shape:J.circle},Zo={...St,shape:J.circle},xo={...vt,shape:J.circle},Wo={...kt,shape:J.circle},Vo={...wt,shape:J.circle},jo={...At,shape:J.circle},Ro={...Tt,shape:J.circle},Mo={...qt,shape:J.circle},Bo={...It,shape:J.circle},Yo={...Dt,shape:J.circle},Jo={...Zt,shape:J.circle},Xo={...xt,shape:J.circle},Go={...Wt,shape:J.circle},Eo=[{id:"base",name:"Default",options:ke},{id:"plain",name:"Square Plain",options:we},{id:"plain-circle",name:"Square Plain (Circle)",options:Vt},{id:"base-line-rounded",name:"Lines Rounded",options:Ae},{id:"rounded",name:"Rounded",options:Te},{id:"dots",name:"Dots",options:qe},{id:"classy",name:"Classy",options:Ie},{id:"extra-rounded-dots-square-corners",name:"Extra Rounded Dots Square Corners",options:De},{id:"vertical-line-dots-classy-corners",name:"Vertical Lines Classy Corners",options:Ze},{id:"horizontal-line-dots-rounded-corners",name:"Horizontal Lines Rounded Corners",options:xe},{id:"classy-rounded-dots-outpoint-corners",name:"Classy Rounded Dots Outpoint Corners",options:We},{id:"small-square-dots-inpoint-corners",name:"Small Square Dots Inpoint Corners",options:Ve},{id:"tiny-square-dots-square-corners-heart-corners",name:"Tiny Square Dots Heart Corners",options:je},{id:"star-dots-classy-corners",name:"Star Dots Classy Corners",options:Re},{id:"plus-dots-rounded-corners",name:"Plus Dots Rounded Corners",options:Me},{id:"diamond-dots-square-corners",name:"Diamond Dots Square Corners",options:Be},{id:"random-dot-dots-dot-corners",name:"Random Dots",options:Ye},{id:"dot-dots-outpoint-corners",name:"Dots Outpoint Corners",options:Je},{id:"dot-dots-inpoint-corners",name:"Dots Inpoint Corners",options:Xe},{id:"rounded-dots-outpoint-corners",name:"Rounded Dots Outpoint Corners",options:Ge},{id:"rounded-dots-inpoint-corners",name:"Rounded Dots Inpoint Corners",options:Ee},{id:"classy-dots-outpoint-corners",name:"Classy Dots Outpoint Corners",options:Fe},{id:"classy-dots-inpoint-corners",name:"Classy Dots Inpoint Corners",options:Le},{id:"square-dots-outpoint-corners",name:"Square Dots Outpoint Corners",options:ze},{id:"square-dots-inpoint-corners",name:"Square Dots Inpoint Corners",options:Ne},{id:"dot-dots-square-corners",name:"Dots Square Corners",options:Ue},{id:"dot-dots-rounded-corners",name:"Dots Rounded Corners",options:_e},{id:"dot-dots-classy-corners",name:"Dots Classy Corners",options:He},{id:"rounded-dots-square-corners",name:"Rounded Dots Square Corners",options:Ke},{id:"rounded-dots-classy-corners",name:"Rounded Dots Classy Corners",options:Qe},{id:"classy-dots-square-corners",name:"Classy Dots Square Corners",options:$e},{id:"classy-dots-rounded-corners",name:"Classy Dots Rounded Corners",options:et},{id:"square-dots-dot-corners",name:"Square Dots Dot Corners",options:tt},{id:"square-dots-rounded-corners",name:"Square Dots Rounded Corners",options:ot},{id:"square-dots-classy-corners",name:"Square Dots Classy Corners",options:rt},{id:"extra-rounded-dots-dot-corners",name:"Extra Rounded Dots Dot Corners",options:it},{id:"extra-rounded-dots-classy-corners",name:"Extra Rounded Dots Classy Corners",options:nt},{id:"classy-rounded-dots-dot-corners",name:"Classy Rounded Dots Dot Corners",options:st},{id:"classy-rounded-dots-square-corners",name:"Classy Rounded Dots Square Corners",options:at},{id:"vertical-line-dots-square-corners",name:"Vertical Lines Square Corners",options:lt},{id:"horizontal-line-dots-square-corners",name:"Horizontal Lines Square Corners",options:dt},{id:"horizontal-line-dots-classy-corners",name:"Horizontal Lines Classy Corners",options:ct},{id:"small-square-dots-dot-corners",name:"Small Square Dots Dot Corners",options:ut},{id:"small-square-dots-rounded-corners",name:"Small Square Dots Rounded Corners",options:ht},{id:"tiny-square-dots-dot-corners",name:"Tiny Square Dots Dot Corners",options:pt},{id:"tiny-square-dots-square-corners",name:"Tiny Square Dots Square Corners",options:mt},{id:"star-dots-dot-corners",name:"Star Dots Dot Corners",options:gt},{id:"star-dots-square-corners",name:"Star Dots Square Corners",options:ft},{id:"plus-dots-dot-corners",name:"Plus Dots Dot Corners",options:bt},{id:"plus-dots-square-corners",name:"Plus Dots Square Corners",options:yt},{id:"diamond-dots-dot-corners",name:"Diamond Dots Dot Corners",options:Ot},{id:"diamond-dots-classy-corners",name:"Diamond Dots Classy Corners",options:Ct},{id:"random-dot-dots-square-corners",name:"Random Dots Square Corners",options:St},{id:"random-dot-dots-classy-corners",name:"Random Dots Classy Corners",options:vt},{id:"dot-dots-square-corners-dot-corners",name:"Dots Square/Dot Corners",options:kt},{id:"dot-dots-dot-corners-square-corners",name:"Dots Dot/Square Corners",options:wt},{id:"rounded-dots-square-corners-dot-corners",name:"Rounded Dots Square/Dot Corners",options:At},{id:"rounded-dots-dot-corners-square-corners",name:"Rounded Dots Dot/Square Corners",options:Tt},{id:"classy-dots-square-corners-dot-corners",name:"Classy Dots Square/Dot Corners",options:qt},{id:"classy-dots-dot-corners-square-corners",name:"Classy Dots Dot/Square Corners",options:It},{id:"square-dots-rounded-corners-dot-corners",name:"Square Dots Rounded/Dot Corners",options:Dt},{id:"square-dots-dot-corners-rounded-corners",name:"Square Dots Dot/Rounded Corners",options:Zt},{id:"dot-dots-classy-corners-dot-corners",name:"Dots Classy/Dot Corners",options:xt},{id:"dot-dots-dot-corners-classy-corners",name:"Dots Dot/Classy Corners",options:Wt},{id:"circle-shape-dot-dots-square-corners",name:"Circle Dots Square Corners",options:oo},{id:"circle-shape-rounded-dots-rounded-corners",name:"Circle Rounded",options:Pe},{id:"circle-shape-square-dots-square-corners",name:"Circle Square Plain",options:Vt},{id:"circle-shape-vertical-line-dots-rounded-corners",name:"Circle Lines Rounded",options:jt},{id:"circle-shape-rounded-dots-dot-corners",name:"Circle Rounded Dots",options:Rt},{id:"circle-shape-dot-dots-dot-corners",name:"Circle Dots",options:Mt},{id:"circle-shape-classy-dots-classy-corners",name:"Circle Classy",options:Bt},{id:"circle-shape-extra-rounded-dots-square-corners",name:"Circle Extra Rounded Dots Square Corners",options:Yt},{id:"circle-shape-vertical-line-dots-classy-corners",name:"Circle Vertical Lines Classy Corners",options:Jt},{id:"circle-shape-horizontal-line-dots-rounded-corners",name:"Circle Horizontal Lines Rounded Corners",options:Xt},{id:"circle-shape-classy-rounded-dots-outpoint-corners",name:"Circle Classy Rounded Dots Outpoint Corners",options:Gt},{id:"circle-shape-small-square-dots-inpoint-corners",name:"Circle Small Square Dots Inpoint Corners",options:Et},{id:"circle-shape-tiny-square-dots-square-corners-heart-corners",name:"Circle Tiny Square Dots Heart Corners",options:Ft},{id:"circle-shape-star-dots-classy-corners",name:"Circle Star Dots Classy Corners",options:Lt},{id:"circle-shape-plus-dots-rounded-corners",name:"Circle Plus Dots Rounded Corners",options:zt},{id:"circle-shape-diamond-dots-square-corners",name:"Circle Diamond Dots Square Corners",options:Nt},{id:"circle-shape-random-dot-dots-dot-corners",name:"Circle Random Dots",options:Pt},{id:"circle-shape-dot-dots-outpoint-corners",name:"Circle Dots Outpoint Corners",options:Ut},{id:"circle-shape-dot-dots-inpoint-corners",name:"Circle Dots Inpoint Corners",options:_t},{id:"circle-shape-rounded-dots-outpoint-corners",name:"Circle Rounded Dots Outpoint Corners",options:Ht},{id:"circle-shape-rounded-dots-inpoint-corners",name:"Circle Rounded Dots Inpoint Corners",options:Kt},{id:"circle-shape-classy-dots-outpoint-corners",name:"Circle Classy Dots Outpoint Corners",options:Qt},{id:"circle-shape-classy-dots-inpoint-corners",name:"Circle Classy Dots Inpoint Corners",options:$t},{id:"circle-shape-square-dots-outpoint-corners",name:"Circle Square Dots Outpoint Corners",options:eo},{id:"circle-shape-square-dots-inpoint-corners",name:"Circle Square Dots Inpoint Corners",options:to},{id:"circle-shape-dot-dots-rounded-corners",name:"Circle Dots Rounded Corners",options:ro},{id:"circle-shape-dot-dots-classy-corners",name:"Circle Dots Classy Corners",options:io},{id:"circle-shape-rounded-dots-square-corners",name:"Circle Rounded Dots Square Corners",options:no},{id:"circle-shape-rounded-dots-classy-corners",name:"Circle Rounded Dots Classy Corners",options:so},{id:"circle-shape-classy-dots-square-corners",name:"Circle Classy Dots Square Corners",options:ao},{id:"circle-shape-classy-dots-rounded-corners",name:"Circle Classy Dots Rounded Corners",options:lo},{id:"circle-shape-square-dots-dot-corners",name:"Circle Square Dots Dot Corners",options:co},{id:"circle-shape-square-dots-rounded-corners",name:"Circle Square Dots Rounded Corners",options:uo},{id:"circle-shape-square-dots-classy-corners",name:"Circle Square Dots Classy Corners",options:ho},{id:"circle-shape-extra-rounded-dots-dot-corners",name:"Circle Extra Rounded Dots Dot Corners",options:po},{id:"circle-shape-extra-rounded-dots-classy-corners",name:"Circle Extra Rounded Dots Classy Corners",options:mo},{id:"circle-shape-classy-rounded-dots-dot-corners",name:"Circle Classy Rounded Dots Dot Corners",options:go},{id:"circle-shape-classy-rounded-dots-square-corners",name:"Circle Classy Rounded Dots Square Corners",options:fo},{id:"circle-shape-vertical-line-dots-square-corners",name:"Circle Vertical Lines Square Corners",options:bo},{id:"circle-shape-horizontal-line-dots-square-corners",name:"Circle Horizontal Lines Square Corners",options:yo},{id:"circle-shape-horizontal-line-dots-classy-corners",name:"Circle Horizontal Lines Classy Corners",options:Oo},{id:"circle-shape-small-square-dots-dot-corners",name:"Circle Small Square Dots Dot Corners",options:Co},{id:"circle-shape-small-square-dots-rounded-corners",name:"Circle Small Square Dots Rounded Corners",options:So},{id:"circle-shape-tiny-square-dots-dot-corners",name:"Circle Tiny Square Dots Dot Corners",options:vo},{id:"circle-shape-tiny-square-dots-square-corners",name:"Circle Tiny Square Dots Square Corners",options:ko},{id:"circle-shape-star-dots-dot-corners",name:"Circle Star Dots Dot Corners",options:wo},{id:"circle-shape-star-dots-square-corners",name:"Circle Star Dots Square Corners",options:Ao},{id:"circle-shape-plus-dots-dot-corners",name:"Circle Plus Dots Dot Corners",options:To},{id:"circle-shape-plus-dots-square-corners",name:"Circle Plus Dots Square Corners",options:qo},{id:"circle-shape-diamond-dots-dot-corners",name:"Circle Diamond Dots Dot Corners",options:Io},{id:"circle-shape-diamond-dots-classy-corners",name:"Circle Diamond Dots Classy Corners",options:Do},{id:"circle-shape-random-dot-dots-square-corners",name:"Circle Random Dots Square Corners",options:Zo},{id:"circle-shape-random-dot-dots-classy-corners",name:"Circle Random Dots Classy Corners",options:xo},{id:"circle-shape-dot-dots-square-corners-dot-corners",name:"Circle Dots Square/Dot Corners",options:Wo},{id:"circle-shape-dot-dots-dot-corners-square-corners",name:"Circle Dots Dot/Square Corners",options:Vo},{id:"circle-shape-rounded-dots-square-corners-dot-corners",name:"Circle Rounded Dots Square/Dot Corners",options:jo},{id:"circle-shape-rounded-dots-dot-corners-square-corners",name:"Circle Rounded Dots Dot/Square Corners",options:Ro},{id:"circle-shape-classy-dots-square-corners-dot-corners",name:"Circle Classy Dots Square/Dot Corners",options:Mo},{id:"circle-shape-classy-dots-dot-corners-square-corners",name:"Circle Classy Dots Dot/Square Corners",options:Bo},{id:"circle-shape-square-dots-rounded-corners-dot-corners",name:"Circle Square Dots Rounded/Dot Corners",options:Yo},{id:"circle-shape-square-dots-dot-corners-rounded-corners",name:"Circle Square Dots Dot/Rounded Corners",options:Jo},{id:"circle-shape-dot-dots-classy-corners-dot-corners",name:"Circle Dots Classy/Dot Corners",options:Xo},{id:"circle-shape-dot-dots-dot-corners-classy-corners",name:"Circle Dots Dot/Classy Corners",options:Go}];function Fo(e){return Eo.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Lo(e){return Eo.find((t=>t.id===e))}Lo("base");const zo=e=>"number"==typeof e&&!isNaN(e)&&isFinite(e),No=(e,t)=>{const o=[];return Object.values(j).includes(e.type)||o.push({path:`${t}.type`,message:`Invalid gradient type. Must be one of: ${Object.values(j).join(", ")}`,value:e.type}),void 0===e.rotation||zo(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)=>{var i,n;(!zo(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}),i=e.color,new Set(["black","white","red","green","blue","yellow","purple","gray","grey","cyan","magenta","lime","pink","teal","brown","orange"]).has(i.toLowerCase())||/^#([A-Fa-f0-9]{3}){1,2}$/.test(i)||/^#([A-Fa-f0-9]{4}){1,2}$/.test(i)||(/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.test(i)||/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([01]?\.?\d*)\)$/.test(i))&&((null===(n=i.match(/\d+/g))||void 0===n?void 0:n.map(Number))||[]).every((e=>e>=0&&e<=255))||o.push({path:`${t}.colorStops[${r}].color`,message:"Invalid color format",value:e.color})})),o};function Po(e){const t=[];let o={...ke};if(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(J).includes(e.shape)&&(t.push({path:"shape",message:`Invalid shape type. Must be one of: ${Object.values(J).join(", ")}`,value:e.shape}),e.shape=ke.shape),e.qrOptions){var r,i,n;if(e.qrOptions.typeNumber&&!Object.values(m).includes(e.qrOptions.typeNumber))t.push({path:"qrOptions.typeNumber",message:"Invalid type number",value:e.qrOptions.typeNumber}),e.qrOptions.typeNumber=null===(r=ke.qrOptions)||void 0===r?void 0:r.typeNumber;if(e.qrOptions.errorCorrectionLevel&&!Object.values(g).includes(e.qrOptions.errorCorrectionLevel))t.push({path:"qrOptions.errorCorrectionLevel",message:"Invalid error correction level",value:e.qrOptions.errorCorrectionLevel}),e.qrOptions.errorCorrectionLevel=null===(i=ke.qrOptions)||void 0===i?void 0:i.errorCorrectionLevel;if(e.qrOptions.mode&&!Object.values(f).includes(e.qrOptions.mode))t.push({path:"qrOptions.mode",message:"Invalid mode",value:e.qrOptions.mode}),e.qrOptions.mode=null===(n=ke.qrOptions)||void 0===n?void 0:n.mode}if(e.imageOptions){var s,a,l;if(e.imageOptions.imageSize&&(!zo(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=null===(s=ke.imageOptions)||void 0===s?void 0:s.imageSize;if(e.imageOptions.margin&&(!zo(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=null===(a=ke.imageOptions)||void 0===a?void 0:a.margin;if(e.imageOptions.mode&&!Object.values(X).includes(e.imageOptions.mode))t.push({path:"imageOptions.mode",message:`Invalid image mode. Must be one of: ${Object.values(X).join(", ")}`,value:e.imageOptions.mode}),e.imageOptions.mode=null===(l=ke.imageOptions)||void 0===l?void 0:l.mode}if(e.dotsOptions){var d,c;if(e.dotsOptions.type&&!Object.values(M).includes(e.dotsOptions.type))t.push({path:"dotsOptions.type",message:`Invalid dot type. Must be one of: ${Object.values(M).join(", ")}`,value:e.dotsOptions.type}),e.dotsOptions.type=null===(d=ke.dotsOptions)||void 0===d?void 0:d.type;if(e.dotsOptions.size&&(!zo(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=null===(c=ke.dotsOptions)||void 0===c?void 0:c.size;e.dotsOptions.gradient&&t.push(...No(e.dotsOptions.gradient,"dotsOptions.gradient"))}if(e.cornersSquareOptions){var u;if(e.cornersSquareOptions.type&&!Object.values(Y).includes(e.cornersSquareOptions.type))t.push({path:"cornersSquareOptions.type",message:`Invalid corner square type. Must be one of: ${Object.values(Y).join(", ")}`,value:e.cornersSquareOptions.type}),e.cornersSquareOptions.type=null===(u=ke.cornersSquareOptions)||void 0===u?void 0:u.type;e.cornersSquareOptions.gradient&&t.push(...No(e.cornersSquareOptions.gradient,"cornersSquareOptions.gradient"))}if(e.cornersDotOptions){var h;if(e.cornersDotOptions.type&&!Object.values(B).includes(e.cornersDotOptions.type))t.push({path:"cornersDotOptions.type",message:`Invalid corner dot type. Must be one of: ${Object.values(B).join(", ")}`,value:e.cornersDotOptions.type}),e.cornersDotOptions.type=null===(h=ke.cornersDotOptions)||void 0===h?void 0:h.type;e.cornersDotOptions.gradient&&t.push(...No(e.cornersDotOptions.gradient,"cornersDotOptions.gradient"))}return o={...o,...e},{warnings:t,validatedOptions:o}}const Uo=/\.?0+$/;function _o(e){return e.toFixed(7).replace(Uo,"")}function Ho(e,...t){return e.reduce(((e,o,r)=>{let i="";return r&&(i=t[r-1]),"number"==typeof i&&(i=_o(i)),`${e}${i}${o}`}),"").trim().replace(/[\s\n\r]+/gim," ")}class Ko{get element(){return this._element}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case B.square:t=this.drawSquare;break;case B.heart:t=this.drawHeart;break;case B.rounded:t=this.drawRounded;break;case B.classy:t=this.drawClassy;break;case B.inpoint:t=this.drawInpoint;break;case B.outpoint:t=this.drawOutpoint;break;case B.dot:default:t=this.drawDot}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:i}){var n;const s=e+o/2,a=t+o/2;i(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${_o(180*r/Math.PI)},${s},${a})`)}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",_o(o+t/2)),this._element.setAttribute("cy",_o(r+t/2)),this._element.setAttribute("r",_o(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",_o(o+i)),this._element.setAttribute("y",_o(r+i)),this._element.setAttribute("width",_o(t-2*i)),this._element.setAttribute("height",_o(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),_o(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",_o(o)),this._element.setAttribute("y",_o(r)),this._element.setAttribute("width",_o(t)),this._element.setAttribute("height",_o(t)),this._element.setAttribute("rx",_o(t/4)),this._element.setAttribute("ry",_o(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",Ho`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",Ho`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 Qo{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 Y.square:t=this.drawSquare;break;case Y.rounded:t=this.drawExtraRounded;break;case Y.classy:t=this.drawClassy;break;case Y.outpoint:t=this.drawOutpoint;break;case Y.inpoint:t=this.drawInpoint;break;case Y.dot:default:t=this.drawDot}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:i}){var n,s;const a=e+o/2,l=t+o/2;i(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${_o(180*r/Math.PI)},${a},${l})`),null===(s=this._fill)||void 0===s||s.setAttribute("transform",`rotate(${_o(180*r/Math.PI)},${a},${l})`)}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",Ho`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",Ho`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",Ho`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",Ho`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",Ho`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",Ho`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",Ho`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",Ho`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",Ho`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",Ho`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 $o{get element(){return this._element}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case M.dot:t=this.drawDot;break;case M.randomDot:t=this.drawRandomDot;break;case M.classy:t=this.drawClassy;break;case M.classyRounded:t=this.drawClassyRounded;break;case M.rounded:t=this.drawRounded;break;case M.verticalLine:t=this.drawVerticalLine;break;case M.horizontalLine:t=this.drawHorizontalLine;break;case M.extraRounded:t=this.drawExtraRounded;break;case M.diamond:t=this.drawDiamond;break;case M.smallSquare:t=this.drawSmallSquare;break;case M.tinySquare:t=this.drawTinySquare;break;case M.star:t=this.drawStar;break;case M.plus:t=this.drawPlus;break;case M.square:default:t=this.drawSquare}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:i}){var n;const s=e+o/2,a=t+o/2;i(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${_o(180*r/Math.PI)},${s},${a})`)}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",_o(o+t/2)),this._element.setAttribute("cy",_o(r+t/2)),this._element.setAttribute("r",_o(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",_o(o)),this._element.setAttribute("y",_o(r)),this._element.setAttribute("width",_o(t)),this._element.setAttribute("height",_o(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",Ho`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",Ho`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",Ho`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",Ho`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,l=i+n+s+a;if(0!==l)if(l>2||i&&n||s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else{if(2===l){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===l){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,l=i+n+s+a;if(0!==l)if(l>2||i&&n||s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else{if(2===l){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===l){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:()=>{var r;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const i=e+o/2,n=t+o/2,s=1.3*o/2,a=.5*s;let l="";for(let e=0;e<10;e++){const t=e*Math.PI/5-Math.PI/2,o=e%2==0?s:a;l+=(0===e?"M":"L")+`${i+o*Math.cos(t)},${n+o*Math.sin(t)}`}l+="Z",null===(r=this._element)||void 0===r||r.setAttribute("d",l)}})}drawPlus({x:e,y:t,size:o}){this.rotateFigure({x:e,y:t,size:o,rotation:0,draw:()=>{var r;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const i=.35*o,n=.85*o,s=(o-n)/2,a=i/2,l=[`M ${e+o/2-a} ${t+s}`,`h ${i}`,`v ${n}`,"h "+-i,"z",`M ${e+s} ${t+o/2-a}`,`h ${n}`,`v ${i}`,"h "+-n,"z"].join(" ");null===(r=this._element)||void 0===r||r.setAttribute("d",l)}})}}const er={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:er.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 tr(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 or="undefined"!=typeof window&&void 0!==window.document,rr="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,ir="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent;let nr;async function sr(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(or){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(rr||ir){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(rr){const e=await async function(){if(nr)return nr;if(rr)try{const e=await import("buffer");nr=e.Buffer}catch(e){console.error("[QRCodeJs] Failed to dynamically import 'buffer' in Node.js:",e),nr=void 0}return nr}();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 ar(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 lr=[[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]],dr=[[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 cr{constructor(e){var t,o,r,i,n,s,a,l,d,c,u;this.roundValue=e=>"number"==typeof e?e:parseInt(e.replace("%",""),10)/100;const h=e.margin||0,p="circle"===e.shape?.1:.3,{bordersMain:m,bordersOuter:g,bordersInner:f}=e,b=Math.min(e.width,e.height),y=T(null===(t=e.borderOptions)||void 0===t?void 0:t.radius),O=T(null===(o=e.borderOptions)||void 0===o||null===(o=o.inner)||void 0===o?void 0:o.radius,y),C=y&&A(y)>0?A(y)/100*b:0,S=y&&A(O)>0?A(O)/100*b:0,v=null!=S?S:C,k=v>0&&null!==(r=e.borderOptions)&&void 0!==r&&r.hasBorder?v*p:0;this.finalWidth=e.width+m.left+m.right+g.left+g.right+f.left+f.right,this.finalHeight=e.height+m.top+m.bottom+g.top+g.bottom+f.top+f.bottom;const w=m.left+m.right+g.left+g.right+f.left+f.right,q=m.top+m.bottom+g.top+g.bottom+f.top+f.bottom,I=null!==(i=e.borderOptions)&&void 0!==i&&i.hasBorder?this.finalWidth-w-2*g.left-2*f.left-f.right-2*h-k:this.finalWidth-2*h,Z=null!==(n=e.borderOptions)&&void 0!==n&&n.hasBorder?this.finalHeight-q-2*g.top-2*f.top-f.top-2*h-k:this.finalHeight-2*h,x=I/e.width,W=Z/e.height,V=Math.min(x,W),j=Math.min(Math.max(null!==(s=e.scale)&&void 0!==s?s:1,0),1.5),R=Math.min(Math.max(null!==(a=null===(l=e.borderOptions)||void 0===l||null===(l=l.inner)||void 0===l?void 0:l.scale)&&void 0!==a?a:1,0),1.5),M=(null===(d=e.borderOptions)||void 0===d||null===(d=d.inner)||void 0===d?void 0:d.horizontalOffset)||0,B=(null===(c=e.borderOptions)||void 0===c||null===(c=c.inner)||void 0===c?void 0:c.verticalOffset)||0;e.scale=V*j*R||1,this.options=e,this.document=e.document,this.imageTools=e.imageTools||er,this._element=this.document.createElementNS("http://www.w3.org/2000/svg","svg");const Y=_o(e.width),J=_o(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",_o(t))),o&&("string"==typeof o?this._element.setAttribute("height",o):this._element.setAttribute("height",_o(o)))}this._element.setAttribute("viewBox",`0 0 ${Y} ${J}`),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 X=(I-e.width*e.scale)/2+h-M+k/2,G=(Z-e.height*e.scale)/2+h-B+k/2;if(null!==(u=e.borderOptions)&&void 0!==u&&u.hasBorder){var E,F;const t={top:D(e.borderOptions,"top"),right:D(e.borderOptions,"right"),bottom:D(e.borderOptions,"bottom"),left:D(e.borderOptions,"left")},o=e.borderOptions.thickness||0,r=(null===(E=e.borderOptions.borderOuter)||void 0===E?void 0:E.thickness)||0,i=(null===(F=e.borderOptions.borderInner)||void 0===F?void 0:F.thickness)||0,n=e.borderOptions.noBorderThickness||o/4;G+=((t.top?o:n)-(t.bottom?o:n))/2+r+i+i/2,X+=((t.left?o:n)-(t.right?o:n))/2+r+i+i/2}e.verticalOffset&&(G-=e.verticalOffset),e.horizontalOffset&&(X-=e.horizontalOffset),this._instanceId=cr.instanceCount++,1===e.scale&&0===X&&0===G||this._innerQrGroup.setAttribute("transform",`translate(${X}, ${G}) 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){var t;const o=e.getModuleCount(),r=parseInt(((o-17)/4).toFixed(0),10),i=this.options.dotsOptions.size;let n={hideXDots:0,hideYDots:0,width:0,height:0};if(this.qr=e,null!==(t=this.options.borderOptions)&&void 0!==t&&t.hasBorder||this.drawBackground(),this.options.image){const e=await this.imageTools.getSize(this.options.image,this.options.imageOptions.crossOrigin),{imageOptions:t}=this.options;if(this.options.imageOptions.mode==X.background){const o=0,r=(this.finalWidth-2*o*i)*t.imageSize,s=(this.finalHeight-2*o*i)*t.imageSize;let{width:a,height:l}=e;l=l/a*r,a=r,l>s&&(a=a/l*s,l=s),n={hideXDots:0,hideYDots:0,width:a,height:l}}else{const t=this.options.imageOptions.imageSize*this.options.errorCorrectionPercent,s=h.getPatternPosition(r),a=Math.floor(t*(o*o-192-2*(o-16)-s.length**2*25));n=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 l=Math.max(t,e),d=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*d/l+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*d/l+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:o-14,dotSize:i,margin:this.options.imageOptions.margin})}}var s;this.options.imageOptions.mode!=X.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:o,dotSize:i,radius:null===(s=this.options.imageOptions)||void 0===s?void 0:s.radius});this.drawDots(((e,t)=>!(this.options.imageOptions.mode==X.center&&e>=(o-n.hideXDots)/2&&e<(o+n.hideXDots)/2&&t>=(o-n.hideYDots)/2&&t<(o+n.hideYDots)/2)&&!(e<8&&t<8||e>=o-8&&t<8||t>=o-8&&e<8))),this.options.imageOptions.mode==X.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:o,dotSize:i}),this.drawCorners()}drawBackground(){const e=this.options;if(this._element&&e.backgroundOptions){var t;const o=e.backgroundOptions.gradient,r=e.backgroundOptions.color;this.createColor({options:o,color:r,additionalRotation:0,x:0,y:0,height:e.height,width:e.width,name:`background-color-${this._instanceId}`});const i=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 s=(null===(t=e.backgroundOptions)||void 0===t?void 0:t.round)||0,a=this.roundValue(s);n.setAttribute("x",_o((e.width-i)/2)),n.setAttribute("y",_o((e.height-i)/2)),n.setAttribute("width",_o(i)),n.setAttribute("height",_o(i)),n.setAttribute("rx",_o(i/2*a)),this.backgroundMaskGroup.appendChild(n)}}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,l=t-e,d=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",_o(s)),c.setAttribute("y",_o(a)),c.setAttribute("width",_o(n)),c.setAttribute("height",_o(n)),c.setAttribute("rx",_o(l)),this.backgroundMaskGroup.appendChild(c),d}}drawDots(e){var t;if(!this.qr)throw new Error("QR code is not defined");const o=this.options,r=this.qr.getModuleCount();if(r>o.width||r>o.height)throw new Error("The canvas is too small");const i=o.dotsOptions.size;let n=Math.min(o.width,o.height);o.imageOptions.mode==X.background&&(n-=2*i*(o.imageOptions.margin||0));const s=Math.floor((o.width-r*i)/2);let a=Math.floor((o.height-r*i)/2);if(o.offset){const e=(o.height-r*i)/2;a+=Math.min(Math.abs(o.offset),e)*Math.sign(o.offset)}let l=new $o(o.dotsOptions.type,this.document);const d=new $o(M.tinySquare,this.document),c=new $o(M.square,this.document);[this.dotsMask,this.dotsMaskGroup]=this.createMask(`mask-dot-color-${this._instanceId}`),this.defs.appendChild(this.dotsMask),o.imageOptions.mode==X.background&&([this.lightDotsMask,this.lightDotsMaskGroup]=this.createMask(`mask-light-dot-color-${this._instanceId}`),this.defs.appendChild(this.lightDotsMask));let u=0,p=r;o.shape===J.circle?(u=Math.floor((n/i-r-2)/2),p=r+2*u):o.imageOptions.mode==X.background&&(u=1,p=r+2*u);const m=s-u*i,g=a-u*i,f=m,b=g,y=r+2*u,O=new Array(p),C=Math.floor(p/2);for(let t=0;t<p;t++){O[t]=new Array(p);for(let i=0;i<p;i++)if(t>u-1&&t<p-u&&i>u-1&&i<p-u){const o=t-u,r=i-u;e&&!e(o,r)?O[t][i]=void 0:O[t][i]=!!this.qr.isDark(r,o)}else o.shape===J.circle&&Math.sqrt((t-C)*(t-C)+(i-C)*(i-C))>C?O[t][i]=void 0:O[t][i]=t!=u-1&&t!=p-u&&i!=u-1&&i!=p-u?this.qr.isDark(i-2*u<0?i:i>=r?i-2*u:i-u,t-2*u<0?t:t>=r?t-2*u:t-u):(i==u-1&&(t<u+8||t>p-u-9)||i==p-u&&t<u+8||t==u-1&&(i<u+8||i>p-u-9)||t==p-u&&i<u+8)&&void 0}const S=(r-17)/4,v=h.getPatternPosition(S);for(let e=0;e<p;e++){const t=v.find((t=>e-u>t-3&&e-u<t+3));for(let o=0;o<p;o++){const r=v.find((e=>o-u>e-3&&o-u<e+3));null!=O[e][o]&&(this.lightDotsMask&&(l=t&&r&&(t!=v[0]&&r!=v[0]||r!=v[0]&&r!=v[v.length-1]||t!=v[0]&&t!=v[v.length-1])?c:d),O[e][o]?(l.draw({x:m+e*i,y:g+o*i,size:i,getNeighbor:(t,r)=>{var i;return!0===(null===(i=O[e+t])||void 0===i?void 0:i[o+r])}}),l.element&&this.dotsMaskGroup&&this.dotsMaskGroup.appendChild(l.element)):this.lightDotsMask&&(l.draw({x:m+e*i,y:g+o*i,size:i,getNeighbor:(t,r)=>{var i;return!1===(null===(i=O[e+t])||void 0===i?void 0:i[o+r])}}),l.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(l.element)))}}this.lightDotsMask&&this.createColor({color:o.imageOptions.backgroundColor,additionalRotation:0,x:f,y:b,height:y*i,width:y*i,name:`light-dot-color-${this._instanceId}`}),this.createColor({options:null===(t=o.dotsOptions)||void 0===t?void 0:t.gradient,color:o.dotsOptions.color,additionalRotation:0,x:f,y:b,height:y*i,width:y*i,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,l,d])=>{var c,u,h,p,m,g;const f=s+e*r*(o-7),b=a+l*r*(o-7);let y=this.dotsMask,O=this.dotsMaskGroup,C=this.dotsMask,S=this.dotsMaskGroup;var v,k,w,A;(null!==(c=t.cornersSquareOptions)&&void 0!==c&&c.gradient||null!==(u=t.cornersSquareOptions)&&void 0!==u&&u.color)&&([y,O]=this.createMask(`mask-corners-square-color-${e}-${l}-${this._instanceId}`),this.defs.appendChild(y),C=y,S=O,this.createColor({options:null===(v=t.cornersSquareOptions)||void 0===v?void 0:v.gradient,color:null===(k=t.cornersSquareOptions)||void 0===k?void 0:k.color,additionalRotation:d,x:f,y:b,height:i,width:i,name:`corners-square-color-${e}-${l}-${this._instanceId}`}));if(null!==(h=t.cornersSquareOptions)&&void 0!==h&&h.type){const e=new Qo(t.cornersSquareOptions.type,this.document);e.draw({x:f,y:b,size:i,rotation:d}),e.element&&O&&O.appendChild(e.element),e.fill&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.fill)}else{const e=new $o(t.dotsOptions.type,this.document);for(let t=0;t<lr.length;t++)for(let o=0;o<lr[t].length;o++){var T,q;if(null!==(T=lr[t])&&void 0!==T&&T[o])e.draw({x:f+t*r,y:b+o*r,size:r,getNeighbor:(e,r)=>{var i;return!(null===(i=lr[t+e])||void 0===i||!i[o+r])}}),e.element&&O&&O.appendChild(e.element);else!this.lightDotsMask||null!==(q=dr[t])&&void 0!==q&&q[o]||(e.draw({x:f+t*r,y:b+o*r,size:r,getNeighbor:(e,r)=>{var i,n;return!(null!==(i=lr[t+e])&&void 0!==i&&i[o+r]||null!==(n=dr[t+e])&&void 0!==n&&n[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:f+t*r,y:b+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))}(null!==(p=t.cornersDotOptions)&&void 0!==p&&p.gradient||null!==(m=t.cornersDotOptions)&&void 0!==m&&m.color)&&([C,S]=this.createMask(`mask-corners-dot-color-${e}-${l}-${this._instanceId}`),this.defs.appendChild(C),this.createColor({options:null===(w=t.cornersDotOptions)||void 0===w?void 0:w.gradient,color:null===(A=t.cornersDotOptions)||void 0===A?void 0:A.color,additionalRotation:d,x:f+2*r,y:b+2*r,height:n,width:n,name:`corners-dot-color-${e}-${l}-${this._instanceId}`}));if(null!==(g=t.cornersDotOptions)&&void 0!==g&&g.type){const e=new Ko(t.cornersDotOptions.type,this.document);e.draw({x:f+2*r,y:b+2*r,size:n,rotation:d}),e.element&&S&&S.appendChild(e.element)}else{const e=new $o(t.dotsOptions.type,this.document);for(let t=0;t<dr.length;t++)for(let o=0;o<dr[t].length;o++){var I;null!==(I=dr[t])&&void 0!==I&&I[o]&&(e.draw({x:f+t*r,y:b+o*r,size:r,getNeighbor:(e,r)=>{var i;return!(null===(i=dr[t+e])||void 0===i||!i[o+r])}}),e.element&&S&&S.appendChild(e.element))}}}))}async drawImage({width:e,height:t,count:o,dotSize:r,radius:i}){var n;const s=this.options,a=Math.floor((s.width-o*r)/2);let l=Math.floor((s.height-o*r)/2);if(s.offset){const e=(s.height-o*r)/2;l+=Math.min(Math.abs(s.offset),e)*Math.sign(s.offset)}let d=s.imageOptions.margin*r;s.imageOptions.mode==X.background&&(d=0);const c=a+d+(o*r-e)/2,u=l+d+(o*r-t)/2,h=e-2*d,p=t-2*d;let m=null;try{"string"==typeof s.image?m=await sr(s.image,s.imageOptions.crossOrigin):s.image&&(m=await this.imageTools.toDataURL(s.image)),"string"!=typeof s.image||m||(console.warn("Direct image fetch failed, attempting proxy..."),m=await ar(s.image))}catch(e){if(console.warn("[QRCodeJs] Error fetching image directly:",e),"string"==typeof s.image)try{console.warn("[QRCodeJs] Direct image fetch failed via error, attempting proxy..."),m=await ar(s.image)}catch(e){console.warn("[QRCodeJs] Failed to load image via proxy:",e)}}m||(console.warn("[QRCodeJs] Failed to load image directly and via proxy. Using fallback SVG."),m=cr.FALLBACK_IMAGE_DATA_URL);let g=null;if(i){g=`clip-path-image-${this._instanceId}`;const e=this.document.createElementNS("http://www.w3.org/2000/svg","clipPath");e.setAttribute("id",g);const t=this.document.createElementNS("http://www.w3.org/2000/svg","rect");t.setAttribute("x",_o(c)),t.setAttribute("y",_o(u)),t.setAttribute("width",_o(h)),t.setAttribute("height",_o(p));const o="number"==typeof i?`${i}px`:i;t.setAttribute("rx",o),t.setAttribute("ry",o),e.appendChild(t),this.defs.appendChild(e)}if(s.imageOptions.backgroundColor){const e=this.document.createElementNS("http://www.w3.org/2000/svg","rect");e.setAttribute("x",_o(c)),e.setAttribute("y",_o(u)),e.setAttribute("width",_o(h)),e.setAttribute("height",_o(p)),g&&e.setAttribute("clip-path",`url(#${g})`);const t=tr(s.imageOptions.backgroundColor);e.setAttribute("fill",t.value),t.alpha<1&&e.setAttribute("opacity",t.alpha.toFixed(7)),this.qrGroup.appendChild(e)}const f=this.document.createElementNS("http://www.w3.org/2000/svg","image");if(f.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",m),f.setAttribute("x",_o(c)),f.setAttribute("y",_o(u)),f.setAttribute("id",`qr-image-${this._instanceId}`),f.setAttribute("width",`${_o(h)}px`),f.setAttribute("height",`${_o(p)}px`),f.setAttribute("preserveAspectRatio","xMidYMid meet"),null!==(n=s.imageOptions)&&void 0!==n&&n.padding){const e=s.imageOptions.padding;f.setAttribute("x",_o(c+e)),f.setAttribute("y",_o(u+e)),f.setAttribute("width",`${_o(h-2*e)}px`),f.setAttribute("height",`${_o(p-2*e)}px`)}g&&f.setAttribute("clip-path",`url(#${g})`),this.qrGroup.appendChild(f)}createColor({options:e,borderOptions:t,color:o,additionalRotation:r,x:i,y:n,height:s,width:a,name:l,returnSVGGroup:d=!1}){const c=a>s?a:s,u=this.document.createElementNS("http://www.w3.org/2000/svg","rect");if(u.setAttribute("x",_o(i)),u.setAttribute("y",_o(n)),u.setAttribute("height",_o(s)),u.setAttribute("width",_o(a)),u.setAttribute("style",`mask:url(#mask-${l}-${this._instanceId})`),e){let o;if(e.type===j.radial){o=this.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),o.setAttribute("id",l+"-"+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,l=2;D(t,"top")&&!D(t,"bottom")?r=n+o*l+s/2:!D(t,"top")&&D(t,"bottom")&&(r=n-o*l+s/2),D(t,"right")&&!D(t,"left")?e=i-o*l+a/2:!D(t,"right")&&D(t,"left")&&(e=i+o*l+a/2)}o.setAttribute("fx",_o(e)),o.setAttribute("fy",_o(r)),o.setAttribute("cx",_o(i+a/2)),o.setAttribute("cy",_o(n+s/2)),o.setAttribute("r",_o(c/2))}else{const t=((e.rotation||0)+r)%(2*Math.PI),d=(t+2*Math.PI)%(2*Math.PI);let c=i+a/2,u=n+s/2,h=i+a/2,p=n+s/2;d>=0&&d<=.25*Math.PI||d>1.75*Math.PI&&d<=2*Math.PI?(c-=a/2,u-=s/2*Math.tan(t),h+=a/2,p+=s/2*Math.tan(t)):d>.25*Math.PI&&d<=.75*Math.PI?(u-=s/2,c-=a/2/Math.tan(t),p+=s/2,h+=a/2/Math.tan(t)):d>.75*Math.PI&&d<=1.25*Math.PI?(c+=a/2,u+=s/2*Math.tan(t),h-=a/2,p-=s/2*Math.tan(t)):d>1.25*Math.PI&&d<=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",l+"-"+this._instanceId),o.setAttribute("gradientUnits","userSpaceOnUse"),o.setAttribute("x1",_o(c)),o.setAttribute("y1",_o(u)),o.setAttribute("x2",_o(h)),o.setAttribute("y2",_o(p))}e.colorStops.forEach((e=>{const t=this.document.createElementNS("http://www.w3.org/2000/svg","stop");t.setAttribute("offset",`${_o(100*e.offset)}%`);const r=tr(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(#${l}-${this._instanceId})`),this.defs.appendChild(o)}else if(o){const e=tr(o);u.setAttribute("fill",e.value),e.alpha<1&&u.setAttribute("opacity",e.alpha.toFixed(7))}if(d)return u;l.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",_o(o.width)),r.setAttribute("height",_o(o.height));const i=this.document.createElementNS("http://www.w3.org/2000/svg","g");return i.setAttribute("fill","#fff"),r.appendChild(i),[r,i]}}cr.instanceCount=0,cr.FALLBACK_IMAGE_DATA_URL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGoAAAAyCAYAAAC0/E4NAAAAAXNSR0IArs4c6QAACPtJREFUeF7tmweMdFUVx38IKmCl2ZWgIMUGiooRpQgGBDGGjmgsCCgKioIoxQIKWOgaCwIqvYSOEY0aBBUVsEJQaRZs2AAVC3zen56TXB6zM29m9tudYd9JNtl9c+e+e+//3HP+p+wSixaxiE4m/gSW6ICaeIz+t8AOqOnAqQNqSnDqgOqAmpYTmJJ1dj5qaoE6Efgo8FpgnynZxSjL3B84DzgU2GqUCRbTd9YH7gB+cO/573ujPgLsC+wNfGwxLWYSplURPxc/r5mEBcUangj8tZz/7R1Q/z+B+yVQvwD+Azy53La/A5cDjwaeaSQG3ANcHz+rA08Fluyhpf8Cvgv8GXge8KgZNNl3XReatS6wdDHDf4uxD2l8x/X8BPh9rEeNbCPDAvVP4EexruWL2VwbePwML2q7z7uBnwK/A54NPBwY60b55V8BxwB7Vot7QnnBBcBbgSuq51sA5xT7/+B45oJ2BU5obExAjwI2r55fEz7D96W8HTgr/vhl9dxn2zXmdMPnlnc9aQBawwD1w6IM28ah1tMeCPjzwBH3uVkoWM75RuB84B+jmr4Eygk3BDYGjmu8xI2vGmCq3V8Ado4VHFEc5DviRu5WPnsKcCnw6fj838BSoVmPiWcezAbA94CT4pmKkUCpCNsUP/qwOKzHAl8st/nUuKnXAiv0AastULfFunXwKulLAS3Mh0J5JSP7DbnPW6vb6D6dUwX9RMzjnkbyUQnUQcXUvT8m8wCfG79/Fdgofj8aeFswxg/HsxcD3wBuLM57lXimuVwztPSGOAwJzJFFAd4MfLw65A8A7wUSKM2QSuGt+1JsNIe/IW6uirTHLAD1ziBVWg0tSsrPwsT795+A5YC2+3wX4Nm8pSjTsdWcSeTGBurncRucWz+jrVbq/Ps3gReGqTgzPv9L+LgVi/ZrBn8LfL9o5uvjVmqnVyvm7WnFlHkTPASBSMl3JVBqnybOv29u+EOV5iVhTi+ZBaByTV8uvnmTxnzPKWb6auBbwHpFQdvuMxX/loaJ1t/qg8cGStupY1c0BTo//YxEIqUXUC5Azfl8ANE8P4HSHCYB0Rmn3c+xvusRYfp6+abmnAJ51ZhAqVSaZEVT5AHWot/9TFGqk4tyvSqI1qB9rlz57l4FplkhE5orWV4boLYGzo6x+hJ9ihv1+dPL38+IwFpNFShNouD00CYETmKSN8qDeXX8nX6wicnjguTMhFUbH5XvdY5aSXPOLYv5vxi4qLBZCVSbfcoUk7neWf2ec8qmxyYTowDlbVsjVvHrQiA8wJRnATKqNH3eKv3YHyuz6ljHODaBylsrvdeMpvI4VjOpP/RANE3jAOV300xdBryomsyzeGRYFmm7StZ2n4Ih4fpKmOmcNk382KZvFKBkYi+LGKdOi7hxWZ2SQJkhkC1KHN4XnxlTmeJxngTKyN0D1PwalxlrpUggZE86634psDY3yjlfF6yzmalJX2hsqTJqGYbdZ5NMHFxiUgnbvAD1m+oWvSkC3SuBT1aH6+I8YINaN65IW/1dgLxRSk3PBcPvuClBldg4VgLjTTNgTrLT61YlUI6V5PQS/Y8WIJnq7kGUDBGk5SrKacAOwDD71ORpPRTXocLqT2WqSiugTMiqicY9/q6kSapvlC9zwiaZ+HahzC9osL5TqpgqD0SaL73fPjacpsVbJwAZQDu/MYv2vyYIrkWwpM21yL6Mz/SB/SRvSr8xyfTck4pTB+F+z5htx2qCYfapeXZPmsAU96myyYgHxlED9jfyx/odb4bMzdRTzaYMAKXj+cyX6FBlRcuWeMOgc6XC+IyRjm+swA39GFBxNIfGZotDDMo1cTcBMjdTZZl5qd83zD7viiy5caFnos+bQSarHmXWwttgVrvOaKtpliUGBbGLA6AJmXOygJLqSnkVTc06YQb0O/onfVvNGifkEOdiGZMFlDs2RvLH1FDKpmHyBiVa5+LE5ukdkwdUHoTZDH2XjKtXyWSeDmy+Xju5QM3XiUzoe+ceKBmalHyQGBvpp9qKGfYzIjiV9n8tstPGbgaWsyHe8OcXpvbKRiZ9NuYeMMfcA/Wd2OygzX0qio2DxuXnyRiz5GJB8xUla39AMZ1G/LMhZuo1xQa4BrpzKPMH1FpRFJxpsw8a0jdZgjHvZ6BrrNYBNaYa5Y0ywGu0RPWd2fyeyVgDYHN7zd4JA19TUKaDTJD2A8pCn8G3eUQTtxb9eokBqeMMvA0VktwsqBvVFigbP/RVplxqsThpAjfzcG1Mn8CYujqkMZclE03tMtXzLKXUQ22jM9m7oIDqZ/q8EZlOypqPwOwCPCAyF/oifZBNlEoboOx5sLBn/tBDN19ow425PGM1+ziUOvA27+l4a2sZ2y0ooPrZOTXelJGmRy03K2FDSdadrGv5zMy3N64NUGbTVQ6lrncZr2nWLLVoivVxmlZL7GZEknkKquUWQVxwQJnp7iXeDtP/yh9K9lxiIUEweZkNLWbYhwHKm+SNcl7btmvRHBoOaNYMHUy6WmKRoNRFyaxBLSig2voogbH2IzlolhmGASoLiv1usubQkrr1oZfHO+vxC5KetwFK06d2W7PRT9iwaLlbpmbgOQxQ+rfPRjldf9dLbNC3dKG/8rbbXVSLbW2WY7ob1TgYHb01KAuG0vrM+WV9ahigDo9GyV6mz/Y0fZjKIzO0dU2xgvvQak3ZVtAB1QDq3aU97bBGtdkhH4yMwzBASe9tkLQqLQFJKm6nkWTCfkJvkERCyq+ZtS3NKqwigPZEWPXtgGoAlUGrh6v/sEVZrb6wGmeR0TjIfgaLjv1SSPape/jeUAmLYvwkw9Mn2fcteTi9KrHbzyFwMkDfrSwIoOwa8j85BjVIJhZ7NRKg3iIB8Qa8JwZZJrd3woaZrwcZEEzpdN2GrSnzHw70VbXsFNXjOkORzTP1OOcUUMfbHzGHMve5vlE2Z5+CfkTKbKNNUmY7f+ytyM6ltnObExRoYyNjq5mqxvbZmULSTNpX2KtHou07xxw3HUCNucn7w9c7oKYExQ6oDqgpOYEpWWZ3ozqgpuQEpmSZ3Y3qgJqSE5iSZf4Xj2EayusawNsAAAAASUVORK5CYII=";const ur=[{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"}}],hr=[{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:M.dot,cornerSquareShape:Y.square,cornerDotShape:B.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"}},...ur];function pr(e){return hr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function mr(e){return hr.find((t=>t.id===e))}const gr={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}}},fr={id:"square-border-thin",name:"Square Border (Thin)",options:{borderOptions:{...gr,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}}}}},br={id:"square-border-medium",name:"Square Border (Medium)",options:{borderOptions:{...gr,thickness:20,radius:"15%"}}},yr={id:"square-border-thick",name:"Square Border (Thick)",options:{borderOptions:{...gr,thickness:20,radius:"2%"}}},Or={id:"rounded-border-thin-slight",name:"Rounded Border (Thin, Slight)",options:{borderOptions:{...gr,thickness:10,radius:"10%"}}},Cr={id:"rounded-border-medium-medium",name:"Rounded Border (Medium)",options:{margin:-6,shape:"circle",borderOptions:{...gr,thickness:12,radius:"35%"}}},Sr={id:"rounded-border-thick-high",name:"Rounded Border (Thick, High)",options:{shape:"circle",borderOptions:{...gr,thickness:30,radius:"50"}}},vr={id:"rounded-border-thick-text",name:"Rounded Border (Thick, Text)",options:{shape:"circle",borderOptions:{...gr,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"}}}}},kr={id:"rounded-border-outside-top-bottom-text",name:"Rounded Border Outside (Top & Bottom Text)",options:{shape:"circle",margin:-16,borderOptions:{...gr,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"}}}}},wr={id:"rounded-border-outside-left-right-text",name:"Rounded Border Outside (Left & Right Text)",options:{margin:-20,shape:"circle",borderOptions:{...gr,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"}}}}},Ar={id:"rounded-border-top-bottom-text",name:"Rounded Border (Top & Bottom Text)",options:{borderOptions:{...gr,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"}}}}},Tr={id:"rounded-border-left-right-text",name:"Rounded Border (Left & Right Text)",options:{margin:5,borderOptions:{...gr,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"}}}}},qr={id:"double-square-border-thin",name:"Double Square Border Inside (Thin)",options:{borderOptions:{...gr,thickness:16,radius:"2%",borderInner:{thickness:6}}}},Ir={id:"double-square-border-medium",name:"Double Square Border Outside (Medium)",options:{borderOptions:{...gr,thickness:16,radius:"2%",borderOuter:{thickness:6}}}},Dr={id:"double-rounded-border-medium",name:"Double Rounded Border (Medium)",options:{shape:"circle",margin:-20,borderOptions:{...gr,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}}}}}},Zr={id:"double-rounded-border-thick",name:"Double Rounded Border Outside (Thick)",options:{borderOptions:{...gr,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}}}}}},xr={id:"inner-square-border-medium",name:"Inner Square Border Inside (Medium)",options:{borderOptions:{...gr,thickness:10,radius:"2%",borderInner:{thickness:12}}}},Wr={id:"outer-rounded-border-medium",name:"Outer Rounded Border (Medium)",options:{margin:-20,shape:"circle",borderOptions:{...gr,inner:{radius:"20%"},thickness:15,radius:"25%",borderOuter:{thickness:20}}}},Vr={id:"rounded-inner-offset-text",name:"Rounded Inner Offset Text",options:{shape:"circle",margin:-20,borderOptions:{...gr,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"}}}}},jr={id:"square-thick-outer-thin-inner",name:"Square Thick Outer/Thin Inner",options:{borderOptions:{...gr,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"}}}}}},Rr={id:"square-thick-outer-round",name:"Square Thick Outer Round",options:{margin:6,borderOptions:{...gr,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"}}}}}},Mr={id:"square-thick-outer-thin-inner-bottom-text",name:"Square Thick Outer/Thin Inner Bottom Text",options:{borderOptions:{...gr,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}}}}},Br=[fr,br,yr,Or,Cr,Sr,vr,Ar,Tr,kr,wr,qr,Ir,Dr,Zr,xr,Wr,Vr,jr,Rr,{id:"pill-curved-text-top-bottom",name:"Pill Curved Text Top/Bottom",options:{shape:"circle",borderOptions:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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}}}}}},Mr,{id:"minimalist-thin-square",name:"Minimalist Thin Square",options:{borderOptions:{...gr,thickness:8,radius:"4%"}}},{id:"minimalist-thin-rounded",name:"Minimalist Thin Rounded",options:{margin:4,borderOptions:{...gr,thickness:8,radius:"25%"}}},{id:"chunky-square-border-text",name:"Chunky Square Border Text",options:{margin:10,borderOptions:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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:{...gr,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 Yr(e){return Br.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Jr(e){return Br.find((t=>t.id===e))}const Xr=[{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 Gr(e){return Xr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Er(e){return Xr.find((t=>t.id===e))}var Fr;!function(e){e.svg="svg",e.png="png",e.jpeg="jpeg",e.webp="webp"}(Fr||(Fr={})),Object.assign(b.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 Lr=class t{get size(){return this.qrSVG?{width:this.qrSVG.width,height:this.qrSVG.height}:void 0}constructor(e,o=!1){var r,i,n,s,a,l;this._svgId=`qr-svg-${Math.random().toString(36).substring(2,9)}`,(l=e)&&0!==Object.keys(l).length||(console.warn("QRCodeJs: Options not provided. Using default options and base template."),e=ke);const d=e;let c=ke;t._selectedTemplate&&(c="id"in t._selectedTemplate&&"options"in t._selectedTemplate?C(c,t._selectedTemplate.options):C(c,t._selectedTemplate));let u={};t._selectedBorder&&(u="id"in t._selectedBorder&&"options"in t._selectedBorder?t._selectedBorder.options:t._selectedBorder);let h={};if(t._selectedStyle){const{isValid:e,errors:o}=Oe(t._selectedStyle);e?h=ye(t._selectedStyle):console.warn("Invalid static style options ignored during instantiation:",o)}let p={};t._selectedImage&&!t._selectedImageOverride&&(p={image:t._selectedImage});let m={};t._selectedData&&!t._selectedDataOverride&&(m={data:t._selectedData});const g={};if(t._selectedText&&!t._selectedTextOverride){let e=null;if(e="id"in t._selectedText&&"options"in t._selectedText?t._selectedText.options:t._selectedText,e){g.borderOptions||(g.borderOptions={}),g.borderOptions.decorations||(g.borderOptions.decorations={});const t=g.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})}}const f=C(c,u,g,h,p,m,d,null!==(r=t._selectedOptions)&&void 0!==r?r:{}),{warnings:b,validatedOptions:y}=Po(f);this.options=E(y);const O={};if(t._selectedImageOverride&&t._selectedImage&&(O.image=t._selectedImage),t._selectedTextOverride&&t._selectedText){O.borderOptions||(O.borderOptions={}),O.borderOptions.decorations||(O.borderOptions.decorations={});let e=null;if(e="id"in t._selectedText&&"options"in t._selectedText?t._selectedText.options:t._selectedText,e){const t=O.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})}}return t._selectedDataOverride&&t._selectedData&&(O.data=t._selectedData),t._selectedOptionsOverride&&t._selectedOptions&&Object.keys(O).length>0?this.options=E(C(this.options,C(O,t._selectedOptions))):Object.keys(O).length>0&&(this.options=E(C(this.options,O))),this.id=null===(i=t._selectedInfo)||void 0===i?void 0:i.id,this.name=null===(n=t._selectedInfo)||void 0===n?void 0:n.name,this.description=null===(s=t._selectedInfo)||void 0===s?void 0:s.description,this.metadata=null!==(a=t._selectedMetadata)&&void 0!==a?a:void 0,b.length>0&&this._logValidationWarnings("QR Code Options Validation Warnings:",b),this.update(),this}static setTemplate(e){if(null===e)return t._selectedTemplate=null,t;if("string"==typeof e){const o=e,r=Fo(o);r?t._selectedTemplate=r:(console.warn(`QR Code template name "${o}" not found. Using base template.`),t._selectedTemplate=ke)}else t._selectedTemplate=e;return t}static setTemplateId(e){if(null===e)return t._selectedTemplate=null,t;const o=Lo(e);return o?t._selectedTemplate=o:(console.warn(`QR Code template ID "${e}" not found in setTemplateId. Using default.`),t._selectedTemplate=ke),t}static getTemplates(){return{findTextTemplateById:Er,findTextByName:Gr,findTemplateByName:Fo,findTemplateById:Lo,findBorderById:Jr,findBorderByName:Yr,findStyleById:mr,findStyleByName:pr,baseTemplates:Eo,borderTemplates:Br,styleTemplates:hr,textTemplates:Xr}}static setStyle(e){if(null===e)return t._selectedStyle=null,t;let o=null;if("string"==typeof e){const r=e,i=pr(r);i?(o=i.style,t._selectedStyle=o):(console.warn(`QR Code style name "${r}" not found in setStyle. Ignoring.`),t._selectedStyle=null)}else{const{isValid:r,errors:i}=Oe(e);r?(o=e,t._selectedStyle=o):(console.warn("Invalid style options object provided to setStyle:",i),t._selectedStyle=null)}return t}static setBorder(e){if(null===e)return t._selectedBorder=null,t;if("string"==typeof e){const o=e,r=Yr(o);r?t._selectedBorder=r:(console.warn(`QR Code border template name "${o}" not found. Ignoring.`),t._selectedBorder=null)}else t._selectedBorder={borderOptions:e};return t}static setBorderId(e){if(null===e)return t._selectedBorder=null,t;const o=Jr(e);return o?t._selectedBorder=o:(console.warn(`QR Code border template ID "${e}" not found in setBorderId. Ignoring.`),t._selectedBorder=null),t}static setStyleId(e){if(null===e)return t._selectedStyle=null,t;const o=mr(e);return o?t._selectedStyle=o.style:(console.warn(`QR Code style ID "${e}" not found in setStyleId. Ignoring.`),t._selectedStyle=null),t}static setImage(e,o){return t._selectedImage=e,t._selectedImageOverride=!(null==o||!o.override),t}static setData(e,o){return t._selectedData=e,t._selectedDataOverride=!(null==o||!o.override),t}static setOptions(e,o){return t._selectedOptions=e,t._selectedOptionsOverride=!(null==o||!o.override),t}static setText(e,o){if(null===e)t._selectedText=null;else if("string"==typeof e){const o=Gr(e);o?t._selectedText=o:(console.warn(`QR Code text template name "${e}" not found. Ignoring.`),t._selectedText=null)}else t._selectedText=e;return t._selectedTextOverride=!(null==o||!o.override),t}static setTextId(e,o){if(null===e)t._selectedText=null;else{const o=Er(e);console.log("foundTextTemplate",o),o?t._selectedText=o:(console.warn(`QR Code text template ID "${e}" not found in setTextId. Ignoring.`),t._selectedText=null)}return t._selectedTextOverride=!(null==o||!o.override),t}static setSettings(e){if(null===e)return t._selectedTemplate=null,t._selectedBorder=null,t._selectedStyle=null,t._selectedImage=null,t._selectedImageOverride=!1,t._selectedText=null,t._selectedTextOverride=!1,t._selectedData=null,t._selectedDataOverride=!1,t._selectedOptions=null,t._selectedOptionsOverride=!1,t._selectedInfo=null,t._selectedMetadata=null,t;const{id:o,name:r,description:i,metadata:n,options:s,template:a,templateId:l,style:d,styleId:c,border:u,borderId:h,text:p,textId:m,image:g,data:f,...b}=e;return t._selectedInfo={id:o,name:r,description:i},t._selectedMetadata=null!=n?n:null,l?t.setTemplateId(l):a&&t.setTemplate(a),c?t.setStyleId(c):d&&t.setStyle(d),h?t.setBorderId(h):u&&t.setBorder(u),m?t.setTextId(m):p&&t.setText(p),g&&t.setImage(g),f&&t.setData(f),s&&t.setOptions(s),Object.keys(b).length>0&&console.warn("QRCodeJs.setSettings: Unknown properties in settings object:",b),t}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){var t,o;const r=e?C(this.options,e):this.options,{warnings:i,validatedOptions:n}=Po(r);if(i.length>0&&this._logValidationWarnings("QR Code JS Options Update Validation Warnings:",i),this.options=E(n),!this.options.data)return void console.warn("QR Code update called without data.");this.options.stringToBytesFuncs&&(Object.assign(b.stringToBytesFuncs,this.options.stringToBytesFuncs),delete this.options.stringToBytesFuncs),this.qr=new b(this.options.qrOptions.typeNumber,this.options.qrOptions.errorCorrectionLevel);const s=(null===(t=this.options.qrOptions)||void 0===t?void 0:t.mode)||function(e){switch(!0){case/^[0-9]*$/.test(e):return f.numeric;case/^[0-9A-Z $%*+\-./:]*$/.test(e):return f.alphanumeric;case/[^\u0000-\u00ff]/.test(e):return f.unicode;default:return f.byte}}(this.options.data);this.qr.addData(this.options.data,s),this.qr.make(),await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise;const a=null===(o=this.qrSVG)||void 0===o?void 0:o.element;if(this.container&&a){const e=this.container.querySelector(`#${this._svgId}`);e&&e!==a&&this.container.replaceChild(a,e)}}append(e,t){var o;if(!e)return console.warn("QR Code append could not find container."),this;if(this.container=e,null!=t&&t.clearContainer)for(;e.firstChild;)e.removeChild(e.firstChild);return null!==(o=this.qrSVG)&&void 0!==o&&o.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){var t,o;if(!this.qr)throw new Error("QR code is empty");if(null!==(t=this.qrSVG)&&void 0!==t&&t.element||await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise,null===(o=this.qrSVG)||void 0===o||!o.element)return;let r=this.qrSVG.element;if(e){const e=this.qrSVG.element.cloneNode(!0);e.style.filter="invert(1)",r=e}let i=(new XMLSerializer).serializeToString(r);return i='<?xml version="1.0" standalone="no"?>\r\n'+i,i}async _setupSvgAsync(){var e;if(!this.qr)return;let t=this.qr.getModuleCount();this.options.imageOptions.mode===X.background&&this.options.shape!==J.circle&&(t+=2);let o=Math.ceil((this.options.shape===J.circle?Math.sqrt(1.8):1.1)*t);o%2==0&&(o-=1);let r=0;this.options.imageOptions.mode===X.background&&(r+=this.options.imageOptions.margin||0);const i=Math.ceil(this.options.dotsOptions.size*(o+2*r)),n=this.options.borderOptions;let s=0,a=0;const l={top:0,right:0,bottom:0,left:0},d={top:0,right:0,bottom:0,left:0},c={top:0,right:0,bottom:0,left:0},u=(null!=n&&n.noBorderThickness||null!=n&&n.thickness)&&n.thickness?n.thickness/4:0;if(null!=n&&n.hasBorder){var h,p,m,g;const e=null!==(h=n.borderOuter)&&void 0!==h&&h.thickness?2*(null===(p=n.borderOuter)||void 0===p?void 0:p.thickness):0,t=null!==(m=n.borderInner)&&void 0!==m&&m.thickness?2*(null===(g=n.borderInner)||void 0===g?void 0:g.thickness):0;var f,b,y,O,C,Z,x,j;if(e>0&&(d.top=e/2,d.bottom=e/2,d.left=e/2,d.right=e/2),t>0&&(c.top=t/2,c.bottom=t/2,c.left=t/2,c.right=t/2),D(n,"left"))l.left=null!==(f=n.thickness)&&void 0!==f?f:0,s+=null!==(b=n.thickness)&&void 0!==b?b:0;else l.left=u,s+=u;if(D(n,"right"))l.right=null!==(y=n.thickness)&&void 0!==y?y:0,s+=null!==(O=n.thickness)&&void 0!==O?O:0;else l.right=u,s+=u;if(D(n,"top"))l.top=null!==(C=n.thickness)&&void 0!==C?C:0,a+=null!==(Z=n.thickness)&&void 0!==Z?Z:0;else l.top=u,a+=u;if(D(n,"bottom"))l.bottom=null!==(x=n.thickness)&&void 0!==x?x:0,a+=null!==(j=n.thickness)&&void 0!==j?j:0;else l.bottom=u,a+=u}const R=i+s,M=i+a;this.qrSVG=new cr({...this.options,width:R,height:M,userWidth:this.options.width,userHeight:this.options.height,bordersMain:l,bordersOuter:d,bordersInner:c,errorCorrectionPercent:F[this.options.qrOptions.errorCorrectionLevel],hls:!0}),null!==(e=this.qrSVG)&&void 0!==e&&e.element?(this.qrSVG.element.id=this._svgId,this.svgDrawingPromise=this.qrSVG.drawQR(this.qr).then((()=>{var e,t,o,r;null!==(e=this.qrSVG)&&void 0!==e&&e.element&&(this.options.instanceId=this.qrSVG._instanceId,null!==(t=this.options.borderOptions)&&void 0!==t&&t.hasBorder&&(r=this.options.borderOptions,(e,t,o,i,n,s,a,l)=>{var d,c,u,h,p,m,g,f,b,y,O,C;const{instanceId:Z}=t,x=o,j=o,R=Math.min(x,j),M=T(r.radius),B=M&&A(M)>0?A(M)/100*R:0,Y=T(null==r||null===(d=r.inner)||void 0===d?void 0:d.radius,B),J=Math.min(Math.max(null!==(c=null===(u=r.inner)||void 0===u?void 0:u.scale)&&void 0!==c?c:1,0),1.5),X=null!==(h=null===(p=r.inner)||void 0===p?void 0:p.horizontalOffset)&&void 0!==h?h:0,G=null!==(m=null===(g=r.inner)||void 0===g?void 0:g.verticalOffset)&&void 0!==m?m:0,E=null!==(f=r.thickness)&&void 0!==f?f:0,F=null!==(b=r.color)&&void 0!==b?b:"#000000",L=null!==(y=r.borderOuter)&&void 0!==y&&y.thickness?r.borderOuter.thickness/2:0,z=null!==(O=r.borderInner)&&void 0!==O&&O.thickness?r.borderInner.thickness/2:0,N=t.document,P=n.left+n.right,U=n.top+n.bottom,_=i(E,B),H={top:D(r,"top"),right:D(r,"right"),bottom:D(r,"bottom"),left:D(r,"left")},K=N.createElementNS("http://www.w3.org/2000/svg","rect"),Q={x:s.left/2,y:s.top/2,width:R+P-s.left,height:R+U-s.top,fill:F,rx:null!=M?M:B};Object.entries(Q).forEach((([e,t])=>{K.setAttribute(e,t.toString())}));const $=N.createElementNS("http://www.w3.org/2000/svg","rect"),ee=B>=200?"50%":B,te=x+P-(n.left+n.right+a.left+a.right+s.left+s.right),oe=j+U-(n.top+n.bottom+a.top+a.bottom+s.top+s.bottom),re=te*J,ie=oe*J,ne=(te-re)/2-X,se=(oe-ie)/2-G,ae={x:n.left+a.left+s.left+ne,y:n.top+a.top+s.top+se,width:re,height:ie,fill:(null==_?void 0:_.getAttribute("fill"))||"#ffffff",rx:null!=Y?Y:ee};Object.entries(ae).forEach((([e,t])=>$.setAttribute(e,t.toString()))),_&&(({strokePath:e,backgroundMaskGroup:t,svgElement:o,color:r="#000000"})=>{e.setAttribute("fill",(null==t?void 0:t.getAttribute("fill"))||r),t.setAttribute("fill","none"),t.setAttribute("stroke-width","0"),o.insertBefore(t,o.firstChild)})({strokePath:$,backgroundMaskGroup:_,svgElement:e,color:F});let le=e.getElementsByTagName("defs")[0];le||(le=N.createElementNS("http://www.w3.org/2000/svg","defs"),e.insertBefore(le,e.firstChild));const de=N.createElementNS("http://www.w3.org/2000/svg","mask");de.setAttribute("id",`qr-mask-${Z}`),de.setAttribute("maskUnits","userSpaceOnUse");const ce=N.createElementNS("http://www.w3.org/2000/svg","rect");if(ce.setAttribute("fill","white"),Object.entries(ae).forEach((([e,t])=>{"fill"!==e&&ce.setAttribute(e,t.toString())})),le.appendChild(de),de.appendChild(ce),e.insertBefore($,null===(C=e.firstChild)||void 0===C?void 0:C.nextSibling),e.insertBefore(K,e.firstChild),r.borderOuter&&"number"==typeof r.borderOuter.thickness&&r.borderOuter.thickness>0){var ue;const t=N.createElementNS("http://www.w3.org/2000/svg","rect"),o={x:s.left/2,y:s.top/2,width:x+P-s.left,height:j+U-s.top,fill:"none",rx:null!=M?M:B,stroke:r.borderOuter.color||"#c0c0c0","stroke-width":r.borderOuter.thickness};Object.entries(o).forEach((([e,o])=>t.setAttribute(e,o.toString()))),e.insertBefore(t,null===(ue=e.firstChild)||void 0===ue?void 0:ue.nextSibling)}if(_&&Array.from(e.getElementsByTagName("rect"))[0]){const t=e.firstChild;t?e.insertBefore(_,t):e.appendChild(_)}if(r.borderInner&&"number"==typeof r.borderInner.thickness&&r.borderInner.thickness>0){const t=N.createElementNS("http://www.w3.org/2000/svg","rect"),o={x:n.left+a.left+s.left+ne,y:n.top+a.top+s.top+se,width:re,height:ie,fill:"none",stroke:r.borderInner.color||"#c0c0c0","stroke-width":a.left,rx:null!=Y?Y:ee};Object.entries(o).forEach((([e,o])=>t.setAttribute(e,o.toString()))),e.appendChild(t)}const he=r,pe=[S,k,w,v];for(const t of pe){var me;const o=null===(me=he.decorations)||void 0===me?void 0:me[t];if(!o||!o.enableText||!H[t])continue;const r=o.type||q,i=r===I?V:r===q?W:void 0;var ge,fe;i&&i({document:N,svg:e,position:t,thickness:null!==(ge=he.thickness)&&void 0!==ge?ge:0,value:null!==(fe=o.value)&&void 0!==fe?fe:"",style:o.style,offset:o.offset,curveAdjustment:o.curveAdjustment,curveDisabled:o.curveDisabled,height:j+U,width:x+P,enabledBorders:H,outerBorderPadding:L,innerBorderPadding:z,round:M,curveRadius:o.curveRadius,instanceId:Z,noBorderThickness:l})}})(this.qrSVG.element,this.options,i,this.qrSVG.drawBackgroundForBorder.bind(this.qrSVG),l,d,c,u),null===(o=this.extension)||void 0===o||o.call(this,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(t){var o,r,i;const{width:n=300,height:s=300}=null!==(o=null!==(r=null===(i=this.qrSVG)||void 0===i?void 0:i.svgSize)&&void 0!==r?r:t)&&void 0!==o?o:e,a=n,l=s,d=document.createElement("canvas");d.width=a,d.height=l;const c=await this.serialize();if(!c)throw new Error("Failed to serialize SVG.");const u="data:image/svg+xml;base64,"+btoa(c);return new Promise(((e,t)=>{const o=new Image;o.width=a,o.height=l,o.crossOrigin="Anonymous",o.onload=()=>{const r=d.getContext("2d");if(!r)return t(new Error("Could not get canvas 2D context"));r.drawImage(o,0,0,a,l),e(d)},o.onerror=o.onabort=t,o.src=u}))}async drawToCanvas(e){var t;const o=document.createElement("canvas"),r=window.devicePixelRatio||1,i=(null==e?void 0:e.antialiasFactor)||2,n=(null==e?void 0:e.antialiasLevel)||"medium",s=null===(t=null==e?void 0:e.antialias)||void 0===t||t,a=(async()=>{try{var t,a;const l=await this.serialize();if(!l)return void console.warn("SVG serialization returned empty.");const d="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)}(l),c=new Image;await new Promise(((e,t)=>{c.onload=()=>e(),c.onerror=e=>t(new Error(`Image load error: ${e}`)),c.onabort=()=>t(new Error("Image load aborted")),c.src=d}));const{width:u,height:h}=null!==(t=null===(a=this.qrSVG)||void 0===a?void 0:a.svgSize)&&void 0!==t?t:{},p=null!=u?u:c.naturalWidth,m=null!=h?h:c.naturalHeight;if(p<=0||m<=0)throw new Error("Invalid SVG dimensions");let g,f;void 0!==(null==e?void 0:e.width)&&void 0!==(null==e?void 0:e.height)?(g=e.width,f=e.height):void 0!==(null==e?void 0:e.width)?(g=e.width,f=g*(m/p)):void 0!==(null==e?void 0:e.height)?(f=e.height,g=f*(p/m)):(g=p,f=m),o.width=g*r,o.height=f*r,o.style.width=`${g}px`,o.style.height=`${f}px`;const b=g/p,y=f/m,O=Math.min(b,y),C=p*O,S=m*O,v=(g-C)/2,k=(f-S)/2;let w;try{w=new OffscreenCanvas(C*r*i,S*r*i)}catch(e){w=document.createElement("canvas"),w.width=C*r*i,w.height=S*r*i}const A=w.getContext("2d");if(!A)throw new Error("Could not get OffscreenCanvas 2D context");A.imageSmoothingEnabled=s,A.imageSmoothingQuality=n,A.drawImage(c,0,0,w.width,w.height);const T=o.getContext("2d");if(!T)throw new Error("Could not get canvas 2D context");T.imageSmoothingEnabled=s,T.imageSmoothingQuality=n,T.scale(r,r),T.drawImage(w,0,0,w.width,w.height,v,k,C,S)}catch(e){throw console.error("Error drawing to canvas:",e),e}})();return{canvas:o,canvasDrawingPromise:a}}async _drawToCanvasPrevious(t){var o,r;const{width:i=300,height:n=300}=null!==(o=null!=t?t:null===(r=this.qrSVG)||void 0===r?void 0:r.svgSize)&&void 0!==o?o:e,s=1*i,a=1*n,l=document.createElement("canvas");l.width=s,l.height=a;const d=(async()=>{try{const e=await this.serialize();if(!e)return void console.warn("SVG serialization returned empty.");const t="data:image/svg+xml;base64,"+btoa(e),o=new Image;o.width=s,o.height=a,await new Promise(((e,r)=>{o.onload=()=>{const t=Math.ceil(2*Math.max(i,n)/Math.max(o.width,o.height));let d;try{d=new OffscreenCanvas(o.width*t*2,o.height*t*2)}catch(e){d=document.createElement("canvas"),d.width=o.width*t*2,d.height=o.height*t*2}const c=d.getContext("2d");if(!c)return r(new Error("Could not get OffscreenCanvas 2D context"));c.drawImage(o,0,0,d.width,d.height);const u=l.getContext("2d");if(!u)return r(new Error("Could not get canvas 2D context"));u.drawImage(d,0,0,d.width,d.height,0,0,s,a),e()},o.onerror=e=>r(new Error(`Image load error: ${e}`)),o.onabort=()=>r(new Error("Image load aborted")),o.src=t}))}catch(e){throw console.error("Error drawing to canvas:",e),e}})();return{canvas:l,canvasDrawingPromise:d}}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=Fr.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(t){var o,r,i;const{width:n=300,height:s=300}=null!==(o=null!==(r=null===(i=this.qrSVG)||void 0===i?void 0:i.svgSize)&&void 0!==r?r:t)&&void 0!==o?o:e,a=document.createElement("canvas");a.width=n,a.height=s;const l=await this.serialize();if(!l)throw new Error("Failed to serialize SVG.");const d="data:image/svg+xml;base64,"+btoa(Array.from((new TextEncoder).encode(l)).map((e=>String.fromCharCode(e))).join(""));return new Promise(((e,t)=>{const o=new Image;o.width=n,o.height=s,o.crossOrigin="Anonymous",o.onload=()=>{const r=a.getContext("2d");if(!r)return t(new Error("Could not get canvas 2D context"));r.imageSmoothingEnabled=!1,r.drawImage(o,0,0,n,s),this.applyQRThreshold(a),e(a)},o.onerror=e=>t(new Error(`Image load error: ${e}`)),o.onabort=()=>t(new Error("Image load aborted")),o.src=d}))}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}`)}))}};Lr.version="0.20.2",Lr._selectedTemplate=null,Lr._selectedBorder=null,Lr._selectedStyle=null,Lr._selectedImage=null,Lr._selectedImageOverride=!1,Lr._selectedText=null,Lr._selectedTextOverride=!1,Lr._selectedData=null,Lr._selectedDataOverride=!1,Lr._selectedOptions=null,Lr._selectedOptionsOverride=!1,Lr._selectedInfo=null,Lr._selectedMetadata=null;class zr extends Lr{constructor(e,t=!1){super(e)}async validateScanning(e="zbar",t=!1){try{const{default:e}=await import("./chunks/zbar-scan-validator-CPwNKIiK.js").then((function(e){return e.z})),o=await this.serialize(),r=this.size;if(!r)throw new Error("QR code dimensions not available for validation. Ensure the QR code has been generated.");const{width:i,height:n}=r,s=await(new e).validate(o,(async()=>this.serialize(!0)),i,n,t);if(s.isValid)return s;{console.debug("Zbar validation failed, trying Zxing...");const{default:e}=await import("./chunks/zxing-scan-validator-BhQsyUDu.js");return(new e).validate(o,(async()=>this.serialize(!0)),t)}}catch(e){const t=e instanceof Error?e.message:"Unknown validation error";return console.error(`Validation failed: ${t}`,e),Promise.reject({isValid:!1,message:t})}}static useTemplate(e){return new Pr(this,e)}static useTemplateId(e){return new Pr(this).useTemplateId(e)}static useStyle(e){return new Pr(this).useStyle(e)}static useStyleId(e){return new Pr(this).useStyleId(e)}static useBorder(e){return new Pr(this).useBorder(e)}static useBorderId(e){return new Pr(this).useBorderId(e)}static useImage(e,t){return new Pr(this).useImage(e,t)}static useText(e,t){return new Pr(this).useText(e,t)}static useTextId(e,t){return new Pr(this).useTextId(e,t)}static useData(e,t){return new Pr(this).useData(e,t)}static useOptions(e,t){return new Pr(this).useOptions(e,t)}static useSettings(e){return new Pr(this).useSettings(e)}}class Nr extends zr{constructor(e){super(e,!0)}}class Pr{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=!(null==t||!t.override),this}useData(e,t){return this._dataSource=e,this._dataOverride=!(null==t||!t.override),this}useText(e,t){return this._textSource=e,this._isTextById=!1,this._textOverride=!(null==t||!t.override),this._initialOptions=null,this}useTextId(e,t){return this._textSource=e,this._isTextById=!0,this._textOverride=!(null==t||!t.override),this._initialOptions=null,this}useOptions(e,t){return this._optionsSource=e,this._optionsOverride=!(null==t||!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?C({},this._initialOptions):C({},ke);let o=null;if(this._templateSource&&"string"==typeof this._templateSource){const e=(this._isTemplateById?Lo:Fo)(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=C(t,o));let r=null;if(this._borderSource)if("string"==typeof this._borderSource){const e=(this._isBorderById?Jr:Yr)(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=C(t,r));let i=null;if(this._textSource&&!this._textOverride){let e=null;if("string"==typeof this._textSource){const t=(this._isTextById?Er:Gr)(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=C(t,i));let n=null;if(this._styleSource)if("string"==typeof this._styleSource){const e=(this._isStyleById?mr:pr)(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}=Oe(this._styleSource);e?n=this._styleSource:console.warn("Invalid style options object provided:",t)}if(n){t=C(t,ye(n))}if(this._imageSource&&!this._imageOverride&&(t=C(t,{image:this._imageSource})),this._dataSource&&!this._dataOverride&&(t=C(t,{data:this._dataSource})),this._optionsSource&&!this._optionsOverride&&(t=C(t,this._optionsSource)),t=C(t,e),this._imageOverride&&this._imageSource&&(t=C(t,{image:this._imageSource})),this._textOverride&&this._textSource){const e={borderOptions:{decorations:{}}};let o=null;if("string"==typeof this._textSource){const e=(this._isTextById?Er:Gr)(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=C(t,e)}}return this._dataOverride&&this._dataSource&&(t=C(t,{data:this._dataSource})),this._optionsSource&&this._optionsOverride&&(t=C(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}}"undefined"!=typeof window&&(window.QRCodeJs=zr,window.__=Nr);export{B as CornerDotType,Y as CornerSquareType,M as DotType,g as ErrorCorrectionLevel,j as GradientType,X as ImageMode,f as Mode,Pr as QRCodeBuilder,zr as QRCodeJs,J as ShapeType,m as TypeNumber,Nr as _};
|