@silurus/ooxml 0.29.1 → 0.31.0
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/README.md +4 -2
- package/dist/docx-CeUXDueu.js +1112 -0
- package/dist/docx-PWGB0FtF.cjs +1 -0
- package/dist/docx.cjs +1 -1
- package/dist/docx.mjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +3 -3
- package/dist/pptx-B2GhfV6x.js +23281 -0
- package/dist/pptx-DiXs0Puf.cjs +1 -0
- package/dist/pptx.cjs +1 -1
- package/dist/pptx.mjs +1 -1
- package/dist/{preset-Be9mzXzm.js → preset-D4KAeT8N.js} +3 -11
- package/dist/preset-DX23kV7c.cjs +1 -0
- package/dist/renderer-BOwyHm7d.cjs +1 -0
- package/dist/{renderer-BYSB4UM-.js → renderer-ChX8p6Vl.js} +56 -54
- package/dist/types/index.d.ts +56 -0
- package/dist/types/pptx.d.ts +56 -0
- package/dist/xlsx-CLLZ5i22.cjs +11 -0
- package/dist/xlsx-CVq9ULnO.js +3107 -0
- package/dist/xlsx.cjs +1 -1
- package/dist/xlsx.mjs +1 -1
- package/package.json +1 -1
- package/dist/docx-BJ2QX1sj.js +0 -1050
- package/dist/docx-RfvFutZ6.cjs +0 -1
- package/dist/pptx-BoBbwUHR.js +0 -23250
- package/dist/pptx-DJgmrjy5.cjs +0 -1
- package/dist/preset-DxpCn57X.cjs +0 -1
- package/dist/renderer-Bve7huQq.cjs +0 -1
- package/dist/xlsx-DFPurGhu.js +0 -3107
- package/dist/xlsx-DzHnBF0u.cjs +0 -11
package/dist/pptx.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./autoResize-C6N7p_Or.cjs`),t=require(`./pptx-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./autoResize-C6N7p_Or.cjs`),t=require(`./pptx-DiXs0Puf.cjs`);exports.PptxPresentation=t.r,exports.PptxViewer=t.n,exports.autoResize=e.t,exports.renderSlide=t.i;
|
package/dist/pptx.mjs
CHANGED
|
@@ -688,23 +688,15 @@ function m(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
688
688
|
break;
|
|
689
689
|
}
|
|
690
690
|
case "callout1":
|
|
691
|
-
case "callout2":
|
|
692
|
-
case "callout3":
|
|
693
691
|
case "bordercallout1":
|
|
694
|
-
case "bordercallout2":
|
|
695
|
-
case "bordercallout3":
|
|
696
692
|
case "accentcallout1":
|
|
697
|
-
case "
|
|
698
|
-
|
|
699
|
-
case "accentbordercallout1":
|
|
700
|
-
case "accentbordercallout2":
|
|
701
|
-
case "accentbordercallout3": {
|
|
702
|
-
let u = (o === null ? 44150 : o) / 1e5, d = (s === null ? 98050 : s) / 1e5, f = (c === null ? 5e4 : c) / 1e5, p = (l === null ? 115e3 : l) / 1e5, m = n + Math.max(0, Math.min(1, u)) * i, h = r + Math.max(0, Math.min(1, d)) * a, g = n + f * i, _ = r + p * a;
|
|
693
|
+
case "accentbordercallout1": {
|
|
694
|
+
let u = (s === null ? -8333 : s) / 1e5, d = (o === null ? 18750 : o) / 1e5, f = (l === null ? -38333 : l) / 1e5, p = (c === null ? 112500 : c) / 1e5;
|
|
703
695
|
if (e.rect(n, r, i, a), t.startsWith("accent")) {
|
|
704
696
|
let t = n + i * .08;
|
|
705
697
|
e.moveTo(t, r), e.lineTo(t, r + a);
|
|
706
698
|
}
|
|
707
|
-
e.moveTo(
|
|
699
|
+
e.moveTo(n + u * i, r + d * a), e.lineTo(n + f * i, r + p * a);
|
|
708
700
|
break;
|
|
709
701
|
}
|
|
710
702
|
case "wedgerectcallout": {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,t,n,r,i,a){for(let o of t){let t=0,s=0;for(let c of o)switch(c.cmd){case`moveTo`:e.moveTo(n+c.x*i,r+c.y*a),t=c.x,s=c.y;break;case`lineTo`:e.lineTo(n+c.x*i,r+c.y*a),t=c.x,s=c.y;break;case`cubicBezTo`:e.bezierCurveTo(n+c.x1*i,r+c.y1*a,n+c.x2*i,r+c.y2*a,n+c.x*i,r+c.y*a),t=c.x,s=c.y;break;case`arcTo`:{let o=c.wr*i,l=c.hr*a;if(o<=0||l<=0)break;let u=c.stAng*Math.PI/180,d=c.swAng*Math.PI/180,f=n+t*i,p=r+s*a,m=f-o*Math.cos(u),h=p-l*Math.sin(u),g=u+d;e.ellipse(m,h,o,l,0,u,g,d<0),t=(m+o*Math.cos(g)-n)/i,s=(h+l*Math.sin(g)-r)/a;break}case`close`:e.closePath();break}}}var t={pct5:[0,16,0,0,0,1,0,0],pct10:[136,0,34,0,136,0,34,0],pct20:[136,34,136,34,136,34,136,34],pct25:[136,85,34,85,136,85,34,85],pct30:[170,85,170,85,170,85,170,85],pct40:[170,119,170,221,170,119,170,221],pct50:[170,85,170,85,170,85,170,85],pct60:[221,85,119,85,221,85,119,85],pct70:[238,85,187,85,238,85,187,85],pct75:[238,170,187,170,238,170,187,170],pct80:[254,239,251,191,254,239,251,191],pct90:[255,239,255,251,255,239,255,251],horz:[255,0,0,0,255,0,0,0],vert:[136,136,136,136,136,136,136,136],ltHorz:[0,255,0,0,0,0,0,0],ltVert:[32,32,32,32,32,32,32,32],dkHorz:[255,255,0,0,255,255,0,0],dkVert:[204,204,204,204,204,204,204,204],narHorz:[255,0,255,0,255,0,255,0],narVert:[170,170,170,170,170,170,170,170],cross:[255,136,136,136,255,136,136,136],lgGrid:[255,128,128,128,128,128,128,128],smGrid:[255,136,136,136,255,136,136,136],dotGrid:[136,0,0,0,136,0,0,0],dnDiag:[128,64,32,16,8,4,2,1],upDiag:[1,2,4,8,16,32,64,128],ltDnDiag:[136,68,34,17,136,68,34,17],ltUpDiag:[17,34,68,136,17,34,68,136],dkDnDiag:[195,129,0,129,195,129,0,129],dkUpDiag:[195,129,0,129,195,129,0,129],wdDnDiag:[128,64,32,16,8,4,2,129],wdUpDiag:[1,2,4,8,16,32,64,129],diagCross:[129,66,36,24,24,36,66,129],horzBrick:[255,16,16,16,255,1,1,1],diagBrick:[129,66,36,24,36,66,129,0],lgCheck:[240,240,240,240,15,15,15,15],smCheck:[204,204,51,51,204,204,51,51],trellis:[165,90,165,90,165,90,165,90]};function n(e,n,a){let o=t[e];if(!o)return null;let s=r(8,8);if(!s)return null;let c=s.getContext(`2d`);if(!c)return null;c.fillStyle=i(a),c.fillRect(0,0,8,8),c.fillStyle=i(n);for(let e=0;e<8;e++){let t=o[e];for(let n=0;n<8;n++)t&1<<7-n&&c.fillRect(n,e,1,1)}return s}function r(e,t){if(typeof OffscreenCanvas<`u`)return new OffscreenCanvas(e,t);if(typeof document<`u`){let n=document.createElement(`canvas`);return n.width=e,n.height=t,n}return null}function i(e){return`rgba(${parseInt(e.slice(0,2),16)},${parseInt(e.slice(2,4),16)},${parseInt(e.slice(4,6),16)},${e.length>=8?parseInt(e.slice(6,8),16)/255:1})`}function a(e,t=1){return`rgba(${parseInt(e.slice(0,2),16)},${parseInt(e.slice(2,4),16)},${parseInt(e.slice(4,6),16)},${e.length>=8?parseInt(e.slice(6,8),16)/255:t})`}function o(e,t,n,r,i,o){if(!e||e.fillType===`none`)return null;if(e.fillType===`solid`)return a(e.color);if(e.fillType===`pattern`)return c(e,t);if(e.fillType===`gradient`){let s=e.stops;if(s.length===0)return null;if(s.length===1)return a(s[0].color);let c;if(e.gradType===`radial`){let e=n+i/2,a=r+o/2,s=Math.sqrt(i*i+o*o)/2;c=t.createRadialGradient(e,a,0,e,a,s)}else{let a=e.angle*Math.PI/180,s=n+i/2,l=r+o/2,u=(Math.abs(Math.cos(a))*i+Math.abs(Math.sin(a))*o)/2;c=t.createLinearGradient(s-Math.cos(a)*u,l-Math.sin(a)*u,s+Math.cos(a)*u,l+Math.sin(a)*u)}for(let e of s)c.addColorStop(Math.min(1,Math.max(0,e.position)),a(e.color));return c}return null}var s=new WeakMap;function c(e,t){let r=`${e.preset}|${e.fg}|${e.bg}`,i=s.get(t);i||(i=new Map,s.set(t,i));let o=i.get(r);if(o)return o;let c=n(e.preset,e.fg,e.bg);if(!c)return a(e.fg);let l=t.createPattern(c,`repeat`);return l?(i.set(r,l),l):a(e.fg)}var l={dash:[6,3],dot:[1.5,3],dashDot:[6,3,1.5,3],lgDash:[10,4],lgDashDot:[10,4,1.5,4],lgDashDotDot:[10,4,1.5,4,1.5,4],sysDash:[4,2],sysDot:[1,2],sysDashDot:[4,2,1,2]};function u(e,t,n){if(!t){e.strokeStyle=`transparent`,e.lineWidth=0,e.setLineDash([]);return}e.strokeStyle=a(t.color);let r=Math.max(.5,t.width*n);e.lineWidth=r;let i=t.dashStyle?l[t.dashStyle]:null;e.setLineDash(i?i.map(e=>e*r):[])}function d(e,t,n,r,i,a,o,s=-Math.PI/2){let c=a*2;for(let l=0;l<c;l++){let c=s+l*Math.PI/a,u=l%2==0?1:o,d=t+r*u*Math.cos(c),f=n+i*u*Math.sin(c);l===0?e.moveTo(d,f):e.lineTo(d,f)}e.closePath()}function f(e,t,n,r,i,a,o=-Math.PI/2){for(let s=0;s<a;s++){let c=o+s*2*Math.PI/a,l=t+r*Math.cos(c),u=n+i*Math.sin(c);s===0?e.moveTo(l,u):e.lineTo(l,u)}e.closePath()}function p(e,t,n,r,i,a,o){let s=e=>Math.atan2(r*Math.sin(e),i*Math.cos(e)),c=s(a),l=s(a+o),u=t-r*Math.cos(c),d=n-i*Math.sin(c);return e.ellipse(u,d,Math.abs(r),Math.abs(i),0,c,l,o<0),{x:u+r*Math.cos(l),y:d+i*Math.sin(l)}}function m(e,t,n,r,i,a,o=null,s=null,c=null,l=null){let u=n+i/2,m=r+a/2;switch(t){case`ellipse`:case`oval`:e.ellipse(u,m,i/2,a/2,0,0,Math.PI*2);break;case`rtriangle`:e.moveTo(n,r+a),e.lineTo(n+i,r+a),e.lineTo(n,r),e.closePath();break;case`triangle`:{let t=n+(o??5e4)/1e5*i;e.moveTo(t,r),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.closePath();break}case`diamond`:e.moveTo(u,r),e.lineTo(n+i,m),e.lineTo(u,r+a),e.lineTo(n,m),e.closePath();break;case`parallelogram`:{let t=i*Math.min(.5,(o??25e3)/1e5);e.moveTo(n+t,r),e.lineTo(n+i,r),e.lineTo(n+i-t,r+a),e.lineTo(n,r+a),e.closePath();break}case`trapezoid`:{let t=Math.min(i,a),s=Math.min(i/2,(o??25e3)/1e5*t);e.moveTo(n+s,r),e.lineTo(n+i-s,r),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.closePath();break}case`roundrect`:case`roundrectangle`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.roundRect(n,r,i,a,t);break}case`pentagon`:f(e,u,m,i/2,a/2,5);break;case`hexagon`:f(e,u,m,i/2,a/2,6,0);break;case`heptagon`:f(e,u,m,i/2,a/2,7);break;case`octagon`:f(e,u,m,i/2,a/2,8,-Math.PI/8);break;case`decagon`:f(e,u,m,i/2,a/2,10);break;case`dodecagon`:f(e,u,m,i/2,a/2,12);break;case`star4`:d(e,u,m,i/2,a/2,4,(o??12500)/5e4);break;case`star5`:case`star`:d(e,u,m,i/2,a/2,5,(o??19098)/5e4);break;case`star6`:d(e,u,m,i/2,a/2,6,(o??28868)/5e4,0);break;case`star7`:d(e,u,m,i/2,a/2,7,(o??34142)/5e4);break;case`star8`:d(e,u,m,i/2,a/2,8,(o??37500)/5e4,-Math.PI/2);break;case`star10`:d(e,u,m,i/2,a/2,10,(o??41421)/5e4);break;case`star12`:d(e,u,m,i/2,a/2,12,(o??37500)/5e4,0);break;case`star16`:d(e,u,m,i/2,a/2,16,(o??37500)/5e4,-Math.PI/2);break;case`star24`:d(e,u,m,i/2,a/2,24,(o??37500)/5e4,0);break;case`star32`:d(e,u,m,i/2,a/2,32,(o??37500)/5e4,-Math.PI/2);break;case`rightarrow`:{let t=a*Math.min(1,(o??5e4)/1e5),c=i*Math.min(1,(s??5e4)/1e5),l=r+(a-t)/2;e.moveTo(n,l),e.lineTo(n+i-c,l),e.lineTo(n+i-c,r),e.lineTo(n+i,m),e.lineTo(n+i-c,r+a),e.lineTo(n+i-c,l+t),e.lineTo(n,l+t),e.closePath();break}case`leftarrow`:{let t=a*Math.min(1,(o??5e4)/1e5),c=i*Math.min(1,(s??5e4)/1e5),l=r+(a-t)/2;e.moveTo(n+i,l),e.lineTo(n+c,l),e.lineTo(n+c,r),e.lineTo(n,m),e.lineTo(n+c,r+a),e.lineTo(n+c,l+t),e.lineTo(n+i,l+t),e.closePath();break}case`uparrow`:{let t=i*Math.min(1,(o??5e4)/1e5),c=a*Math.min(1,(s??5e4)/1e5),l=n+(i-t)/2;e.moveTo(u,r),e.lineTo(n+i,r+c),e.lineTo(l+t,r+c),e.lineTo(l+t,r+a),e.lineTo(l,r+a),e.lineTo(l,r+c),e.lineTo(n,r+c),e.closePath();break}case`downarrow`:{let t=i*Math.min(1,(o??5e4)/1e5),c=a*Math.min(1,(s??5e4)/1e5),l=n+(i-t)/2;e.moveTo(u,r+a),e.lineTo(n+i,r+a-c),e.lineTo(l+t,r+a-c),e.lineTo(l+t,r),e.lineTo(l,r),e.lineTo(l,r+a-c),e.lineTo(n,r+a-c),e.closePath();break}case`leftrightarrow`:{let t=a*Math.min(1,(o??5e4)/1e5),c=i*Math.min(.5,(s??25e3)/1e5),l=r+(a-t)/2;e.moveTo(n,m),e.lineTo(n+c,r),e.lineTo(n+c,l),e.lineTo(n+i-c,l),e.lineTo(n+i-c,r),e.lineTo(n+i,m),e.lineTo(n+i-c,r+a),e.lineTo(n+i-c,l+t),e.lineTo(n+c,l+t),e.lineTo(n+c,r+a),e.closePath();break}case`updownarrow`:{let t=i*Math.min(1,(o??5e4)/1e5),c=a*Math.min(.5,(s??25e3)/1e5),l=n+(i-t)/2;e.moveTo(u,r),e.lineTo(n+i,r+c),e.lineTo(l+t,r+c),e.lineTo(l+t,r+a-c),e.lineTo(n+i,r+a-c),e.lineTo(u,r+a),e.lineTo(n,r+a-c),e.lineTo(l,r+a-c),e.lineTo(l,r+c),e.lineTo(n,r+c),e.closePath();break}case`notchedrightarrow`:{let t=a*Math.min(1,(o??5e4)/1e5),c=i*Math.min(1,(s??35e3)/1e5),l=r+(a-t)/2,u=c*.43;e.moveTo(n,l),e.lineTo(n+i-c,l),e.lineTo(n+i-c,r),e.lineTo(n+i,m),e.lineTo(n+i-c,r+a),e.lineTo(n+i-c,l+t),e.lineTo(n,l+t),e.lineTo(n+u,m),e.closePath();break}case`chevron`:{let t=i*Math.min(1,Math.max(0,(o??5e4)/1e5));e.moveTo(n,r),e.lineTo(n+t,r),e.lineTo(n+i,m),e.lineTo(n+t,r+a),e.lineTo(n,r+a),t>0&&e.lineTo(n+t,m),e.closePath();break}case`homeplate`:{let t=a*.4;e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a-t),e.lineTo(u,r+a),e.lineTo(n,r+a-t),e.closePath();break}case`leftbracket`:{let t=Math.min(a*Math.min(5e4,Math.max(0,o??8333))/1e5,a/2);e.moveTo(n+i,r),e.quadraticCurveTo(n,r,n,r+t),a-2*t>.5&&e.lineTo(n,r+a-t),e.quadraticCurveTo(n,r+a,n+i,r+a);break}case`rightbracket`:{let t=Math.min(a*Math.min(5e4,Math.max(0,o??8333))/1e5,a/2);e.moveTo(n,r),e.quadraticCurveTo(n+i,r,n+i,r+t),a-2*t>.5&&e.lineTo(n+i,r+a-t),e.quadraticCurveTo(n+i,r+a,n,r+a);break}case`leftbrace`:{let t=m,o=i*.45;e.moveTo(n+i,r),e.bezierCurveTo(n+i-o,r,n+i-o,t-a*.08,n,t),e.bezierCurveTo(n+i-o,t+a*.08,n+i-o,r+a,n+i,r+a);break}case`rightbrace`:{let t=m,o=i*.45;e.moveTo(n,r),e.bezierCurveTo(n+o,r,n+o,t-a*.08,n+i,t),e.bezierCurveTo(n+o,t+a*.08,n+o,r+a,n,r+a);break}case`callout1`:case`bordercallout1`:case`accentcallout1`:case`accentbordercallout1`:{let u=(s===null?-8333:s)/1e5,d=(o===null?18750:o)/1e5,f=(l===null?-38333:l)/1e5,p=(c===null?112500:c)/1e5;if(e.rect(n,r,i,a),t.startsWith(`accent`)){let t=n+i*.08;e.moveTo(t,r),e.lineTo(t,r+a)}e.moveTo(n+u*i,r+d*a),e.lineTo(n+f*i,r+p*a);break}case`wedgerectcallout`:{e.rect(n,r,i,a*.8);let t=n+i*.2,o=r+a;e.moveTo(n+i*.1,r+a*.8),e.lineTo(t,o),e.lineTo(n+i*.3,r+a*.8),e.closePath();break}case`wedgeellipsecallout`:{let t=(o??-2e4)/1e5*i,n=(s??12e4)/1e5*a,r=u+t,c=m+n;e.ellipse(u,m,i/2,a/2,0,0,Math.PI*2);let l=Math.atan2(n,t),d=Math.PI/10,f=i/2,p=a/2,h=u+f*Math.cos(l-d),g=m+p*Math.sin(l-d),_=u+f*Math.cos(l+d),v=m+p*Math.sin(l+d);e.moveTo(h,g),e.lineTo(r,c),e.lineTo(_,v),e.closePath();break}case`cloudcallout`:{let t=Math.min(i,a)*.22,n=[[u-i*.25,r+a*.35],[u-i*.1,r+a*.15],[u+i*.1,r+a*.1],[u+i*.28,r+a*.2],[u+i*.35,r+a*.4]];e.moveTo(n[0][0]-t,n[0][1]);for(let[r,i]of n)e.arc(r,i,t,Math.PI,0);e.arc(u,r+a*.65,i*.45,0,Math.PI),e.closePath();let c=u+(o??-2e4)/1e5*i,l=m+(s??12e4)/1e5*a;e.moveTo(u+i*.05,r+a*.8),e.arc(c,l,Math.min(i,a)*.07,0,Math.PI*2);break}case`line`:case`straightconnector1`:case`bentconnector2`:case`bentconnector3`:case`bentconnector4`:case`bentconnector5`:case`curvedconnector2`:case`curvedconnector3`:case`curvedconnector4`:case`curvedconnector5`:e.moveTo(n,r),e.lineTo(n+i,r+a);break;case`heart`:e.moveTo(u,r+a*.32),e.bezierCurveTo(u,r,n+i*.05,r,n,r+a*.3),e.bezierCurveTo(n,r+a*.68,u-i*.05,r+a*.78,u,r+a),e.bezierCurveTo(u+i*.05,r+a*.78,n+i,r+a*.68,n+i,r+a*.3),e.bezierCurveTo(n+i-i*.05,r,u,r,u,r+a*.32);break;case`donut`:{let t=i/2,n=a/2,r=Math.min(t,n)*(o??25e3)/1e5,s=t-r,c=n-r;e.ellipse(u,m,t,n,0,0,Math.PI*2,!1),e.moveTo(u+s,m),e.ellipse(u,m,s,c,0,0,Math.PI*2,!0);break}case`nosmoking`:case`nosmokingsign`:{let t=(o??18750)/1e5,n=i/2,r=a/2,s=n*(1-2*t),c=r*(1-2*t);e.ellipse(u,m,n,r,0,0,Math.PI*2,!1),e.moveTo(u+s,m),e.ellipse(u,m,s,c,0,0,Math.PI*2,!0),e.moveTo(u+s,m),e.ellipse(u,m,s,c,0,0,Math.PI/2,!1),e.lineTo(u-s,m),e.ellipse(u,m,s,c,0,Math.PI,3*Math.PI/2,!1),e.closePath();break}case`pie`:case`pieWedge`:{let t=(o??0)/216e5*Math.PI*2,n=(s??162e5)/216e5*Math.PI*2;e.moveTo(u,m),e.arc(u,m,Math.min(i,a)/2,t,n),e.closePath();break}case`cloud`:{let t=a*.28;e.arc(n+i*.25,r+a*.55,t,Math.PI,Math.PI*1.8),e.arc(n+i*.45,r+a*.35,t*1.1,Math.PI*1.3,Math.PI*1.9),e.arc(n+i*.65,r+a*.4,t,Math.PI*1.5,Math.PI*2),e.arc(n+i*.8,r+a*.6,t*.9,Math.PI*1.6,Math.PI*.1),e.arc(n+i*.55,r+a*.75,t,0,Math.PI*.7),e.arc(n+i*.25,r+a*.7,t*.9,0,Math.PI),e.closePath();break}case`funnel`:e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(u+i*.15,r+a),e.lineTo(u-i*.15,r+a),e.closePath();break;case`smileyface`:{e.ellipse(u,m,i/2,a/2,0,0,Math.PI*2),e.closePath();let t=i*.05,n=a*.05,r=m-a*.12;e.moveTo(u-i*.2+t,r),e.ellipse(u-i*.2,r,t,n,0,0,Math.PI*2),e.moveTo(u+i*.2+t,r),e.ellipse(u+i*.2,r,t,n,0,0,Math.PI*2),e.moveTo(u-i*.25,m+a*.05),e.quadraticCurveTo(u,m+a*.3,u+i*.25,m+a*.05);break}case`document`:case`foldedcorner`:{let t=Math.min(i,a)*.15;e.moveTo(n,r),e.lineTo(n+i-t,r),e.lineTo(n+i,r+t),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.closePath(),e.moveTo(n+i-t,r),e.lineTo(n+i-t,r+t),e.lineTo(n+i,r+t);break}case`snip1rect`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.moveTo(n,r),e.lineTo(n+i-t,r),e.lineTo(n+i,r+t),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.closePath();break}case`snip2samerect`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.moveTo(n,r),e.lineTo(n+i-t,r),e.lineTo(n+i,r+t),e.lineTo(n+i,r+a),e.lineTo(n+t,r+a),e.lineTo(n,r+a-t),e.closePath();break}case`snip2diagrect`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.moveTo(n+t,r),e.lineTo(n+i-t,r),e.lineTo(n+i,r+t),e.lineTo(n+i,r+a-t),e.lineTo(n+i-t,r+a),e.lineTo(n+t,r+a),e.lineTo(n,r+a-t),e.lineTo(n,r+t),e.closePath();break}case`snipRoundRect`:case`sniproundrect`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.moveTo(n+t,r),e.lineTo(n+i-t,r),e.lineTo(n+i,r+t),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.quadraticCurveTo(n,r,n+t,r),e.closePath();break}case`round1rect`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.moveTo(n+t,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.lineTo(n,r+t),e.quadraticCurveTo(n,r,n+t,r),e.closePath();break}case`round2samerect`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.moveTo(n+t,r),e.lineTo(n+i-t,r),e.quadraticCurveTo(n+i,r,n+i,r+t),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.lineTo(n,r+t),e.quadraticCurveTo(n,r,n+t,r),e.closePath();break}case`round2diagrect`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.moveTo(n+t,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a-t),e.quadraticCurveTo(n+i,r+a,n+i-t,r+a),e.lineTo(n,r+a),e.lineTo(n,r+t),e.quadraticCurveTo(n,r,n+t,r),e.closePath();break}case`plaque`:{let t=Math.min(i,a)*.25;e.moveTo(n+t,r),e.lineTo(n+i-t,r),e.quadraticCurveTo(n+i,r,n+i,r+t),e.lineTo(n+i,r+a-t),e.quadraticCurveTo(n+i,r+a,n+i-t,r+a),e.lineTo(n+t,r+a),e.quadraticCurveTo(n,r+a,n,r+a-t),e.lineTo(n,r+t),e.quadraticCurveTo(n,r,n+t,r),e.closePath();break}case`can`:{let t=a*.1;e.ellipse(u,r+t,i/2,t,0,0,Math.PI*2),e.moveTo(n,r+t),e.lineTo(n,r+a-t),e.ellipse(u,r+a-t,i/2,t,0,Math.PI,2*Math.PI),e.lineTo(n+i,r+t);break}case`cube`:{let t=Math.min(i,a)*.2;e.moveTo(n+t,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a-t),e.lineTo(n+i-t,r+a),e.lineTo(n,r+a),e.lineTo(n,r+t),e.closePath(),e.moveTo(n+t,r),e.lineTo(n+t,r+t),e.lineTo(n+i-t,r+t),e.moveTo(n+t,r+t),e.lineTo(n,r+t);break}case`bevel`:{let t=Math.min(i,a)*.1;e.rect(n,r,i,a),e.moveTo(n,r),e.lineTo(n+t,r+t),e.lineTo(n+i-t,r+t),e.lineTo(n+i,r),e.moveTo(n+i-t,r+t),e.lineTo(n+i-t,r+a-t),e.lineTo(n+i,r+a),e.moveTo(n+i-t,r+a-t),e.lineTo(n+t,r+a-t),e.lineTo(n,r+a),e.moveTo(n+t,r+a-t),e.lineTo(n+t,r+t);break}case`halfframe`:{let t=Math.min(i,a)*.25;e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+t),e.lineTo(n+t,r+t),e.lineTo(n+t,r+a),e.lineTo(n,r+a),e.closePath();break}case`corner`:{let t=Math.min(i,a)*.25;e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+t),e.lineTo(n+t,r+t),e.lineTo(n+t,r+a),e.lineTo(n,r+a),e.closePath();break}case`irregularSeal1`:case`irregularseal1`:[[10800,5800],[14522,0],[14155,5325],[18380,4457],[16702,7315],[21097,8137],[17607,10475],[21600,13290],[16837,12942],[18145,18095],[14020,14457],[13247,19737],[10532,14935],[8485,21600],[7715,15627],[4762,17617],[5667,13937],[135,14587],[3722,11775],[0,8615],[4627,7617],[370,2295],[7312,6320],[8352,2295]].forEach(([t,o],s)=>{let c=n+i*t/21600,l=r+a*o/21600;s===0?e.moveTo(c,l):e.lineTo(c,l)}),e.closePath();break;case`irregularSeal2`:case`irregularseal2`:[[11462,4342],[14790,0],[14525,5777],[18007,3172],[16380,6532],[21600,6645],[16985,9402],[18270,11290],[16380,12310],[18877,15632],[14640,14350],[14942,17370],[12180,15935],[11612,18842],[9872,17370],[8700,19712],[7527,18125],[4917,21600],[4805,18240],[1285,17825],[3330,15370],[0,12877],[3935,11592],[1172,8270],[5372,7817],[4502,3625],[8550,6382],[9722,1887]].forEach(([t,o],s)=>{let c=n+i*t/21600,l=r+a*o/21600;s===0?e.moveTo(c,l):e.lineTo(c,l)}),e.closePath();break;case`flowchartalternateprocess`:case`flowchartprocess`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.roundRect(n,r,i,a,[{x:t,y:t}]);break}case`flowchartdecision`:e.moveTo(u,r),e.lineTo(n+i,m),e.lineTo(u,r+a),e.lineTo(n,m),e.closePath();break;case`flowchartterminator`:{let t=Math.min(i,a)/2;e.roundRect(n,r,i,a,[{x:t,y:t}]);break}case`flowchartdocument`:{let t=a*.1;e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a-t),e.bezierCurveTo(n+i*.75,r+a,n+i*.25,r+a-t*2,n,r+a-t),e.closePath();break}case`flowchartpredefinedprocess`:{let t=i*.1;e.rect(n,r,i,a),e.moveTo(n+t,r),e.lineTo(n+t,r+a),e.moveTo(n+i-t,r),e.lineTo(n+i-t,r+a);break}case`flowchartsort`:e.moveTo(u,r),e.lineTo(n+i,m),e.lineTo(u,r+a),e.lineTo(n,m),e.closePath(),e.moveTo(n,m),e.lineTo(n+i,m);break;case`flowchartmanualinput`:{let t=a*.2;e.moveTo(n,r+t),e.lineTo(n+i,r),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.closePath();break}case`moon`:e.arc(u,m,Math.min(i,a)/2,-Math.PI/2,Math.PI/2),e.arc(u-i*.2,m,Math.min(i,a)/2,Math.PI/2,-Math.PI/2,!0),e.closePath();break;case`arc`:{let t=216e5,n=(o??162e5)/t*Math.PI*2,r=(s??54e5)/t*Math.PI*2;e.ellipse(u,m,i/2,a/2,0,n,n+r,r<0);break}case`mathequal`:{let t=Math.min(36745,Math.max(0,o??23520)),n=1e5-2*t,r=Math.min(n,Math.max(0,s??11760)),c=a*t/1e5,l=a*r/2e5,d=i*73490/2e5,f=u-d,p=u+d,h=m-l,g=m+l,_=h-c,v=g+c;e.rect(f,_,p-f,h-_),e.rect(f,g,p-f,v-g);break}case`mathmultiply`:{let t=Math.min(i,a)*Math.min(51965,Math.max(0,o??23520))/1e5,s=Math.atan2(a,i),c=Math.sin(s),l=Math.cos(s),u=t/2*c,d=t/2*l;e.moveTo(n+u,r-d),e.lineTo(n-u,r+d),e.lineTo(n+i-u,r+a+d),e.lineTo(n+i+u,r+a-d),e.closePath(),e.moveTo(n+i-u,r-d),e.lineTo(n+i+u,r+d),e.lineTo(n+u,r+a+d),e.lineTo(n-u,r+a-d),e.closePath();break}case`mathplus`:{let t=Math.min(73490,Math.max(0,o??23520)),n=i*73490/2e5,r=a*73490/2e5,s=Math.min(i,a)*t/2e5,c=u-n,l=u+n,d=m-r,f=m+r,p=u-s,h=u+s,g=m-s,_=m+s;e.moveTo(c,g),e.lineTo(p,g),e.lineTo(p,d),e.lineTo(h,d),e.lineTo(h,g),e.lineTo(l,g),e.lineTo(l,_),e.lineTo(h,_),e.lineTo(h,f),e.lineTo(p,f),e.lineTo(p,_),e.lineTo(c,_),e.closePath();break}case`mathminus`:{let t=Math.min(1e5,Math.max(0,o??23520)),n=i*73490/2e5,r=a*t/2e5,s=u-n,c=u+n,l=m-r,d=m+r;e.rect(s,l,c-s,d-l);break}case`mathdivide`:{let t=Math.min(36745,Math.max(1e3,o??23520)),n=(73490+-t)/4,l=36745*i/a,d=Math.min(Math.min(n,l),Math.max(1e3,c??11760)),f=73490+4*d-t,p=Math.min(f,Math.max(0,s??5880)),h=a*t/2e5,g=a*p/1e5,_=a*d/1e5,v=i*73490/2e5,y=m-h,b=m+h,x=y-(g+_)-_,S=r+a-x,C=u-v,w=u+v;e.rect(C,y,w-C,b-y),e.moveTo(u+_,x+_),e.arc(u,x+_,_,0,Math.PI*2),e.moveTo(u+_,S-_),e.arc(u,S-_,_,0,Math.PI*2);break}case`quadarrow`:{let t=i*(o??23e3)/1e5,c=i*(s??3e4)/1e5,l=n+(i-t)/2,d=r+(a-t)/2;e.moveTo(u,r),e.lineTo(n+i-c,r+c),e.lineTo(n+i-c,d),e.lineTo(l+t,d),e.lineTo(l+t,r+c),e.lineTo(n+c,r+c),e.lineTo(n+i,m),e.lineTo(n+i-c,r+a-c),e.lineTo(l+t,r+a-c),e.lineTo(l+t,d+t),e.lineTo(n+i-c,d+t),e.lineTo(n+i-c,r+a-c),e.lineTo(u,r+a),e.lineTo(n+c,r+a-c),e.lineTo(n+c,d+t),e.lineTo(l,d+t),e.lineTo(l,r+a-c),e.lineTo(n,m),e.lineTo(n+c,r+c),e.lineTo(l,r+c),e.lineTo(l,d),e.lineTo(n+c,d),e.closePath();break}case`quadarrowcallout`:{let t=Math.min(i,a),d=Math.min(5e4,Math.max(0,s??18515)),f=d*2,p=Math.min(f,Math.max(0,o??18515)),h=5e4-d,g=Math.min(h,Math.max(0,c??18515)),_=1e5-2*g,v=Math.min(_,Math.max(p,l??48123)),y=t*d/1e5,b=t*p/2e5,x=t*g/1e5,S=i*v/2e5,C=a*v/2e5,w=u-S,T=u+S,E=u-y,D=u+y,O=u-b,k=u+b,A=n+i-x,j=m-C,M=m+C,N=m-y,P=m+y,F=m-b,I=m+b,L=r+a-x;e.moveTo(n,m),e.lineTo(n+x,N),e.lineTo(n+x,F),e.lineTo(w,F),e.lineTo(w,j),e.lineTo(O,j),e.lineTo(O,r+x),e.lineTo(E,r+x),e.lineTo(u,r),e.lineTo(D,r+x),e.lineTo(k,r+x),e.lineTo(k,j),e.lineTo(T,j),e.lineTo(T,F),e.lineTo(A,F),e.lineTo(A,N),e.lineTo(n+i,m),e.lineTo(A,P),e.lineTo(A,I),e.lineTo(T,I),e.lineTo(T,M),e.lineTo(k,M),e.lineTo(k,L),e.lineTo(D,L),e.lineTo(u,r+a),e.lineTo(E,L),e.lineTo(O,L),e.lineTo(O,M),e.lineTo(w,M),e.lineTo(w,I),e.lineTo(n+x,I),e.lineTo(n+x,P),e.closePath();break}case`wave`:{let t=a*(o??12500)/1e5,s=r+t,c=r+a-t;e.moveTo(n,s),e.bezierCurveTo(n+i*.25,r,n+i*.25,r+t*2,n+i*.5,s),e.bezierCurveTo(n+i*.75,r+t*2,n+i*.75,r,n+i,s),e.lineTo(n+i,c),e.bezierCurveTo(n+i*.75,r+a,n+i*.75,r+a-t*2,n+i*.5,c),e.bezierCurveTo(n+i*.25,r+a-t*2,n+i*.25,r+a,n,c),e.closePath();break}case`doublewave`:{let t=a*(o??6250)/1e5,s=r+t,c=r+a-t;e.moveTo(n,s),e.bezierCurveTo(n+i*.25,r,n+i*.25,r+t*2,n+i*.5,s),e.bezierCurveTo(n+i*.75,r+t*2,n+i*.75,r,n+i,s),e.lineTo(n+i,c),e.bezierCurveTo(n+i*.75,r+a,n+i*.75,r+a-t*2,n+i*.5,c),e.bezierCurveTo(n+i*.25,r+a-t*2,n+i*.25,r+a,n,c),e.closePath();break}case`sun`:{let t=Math.min(i,a)/2,n=t*((o??25e3)/1e5+.5),r=Math.min(n,t*.9),s=Math.PI/16;for(let n=0;n<8;n++){let i=n/8*Math.PI*2;e.moveTo(u+r*Math.cos(i-s),m+r*Math.sin(i-s)),e.lineTo(u+t*Math.cos(i),m+t*Math.sin(i)),e.lineTo(u+r*Math.cos(i+s),m+r*Math.sin(i+s)),e.closePath()}e.moveTo(u+r,m),e.arc(u,m,r,0,Math.PI*2);break}case`lightningbolt`:e.moveTo(u+i*.1,r),e.lineTo(n,m-a*.05),e.lineTo(u+i*.05,m-a*.05),e.lineTo(u-i*.1,r+a),e.lineTo(n+i,m+a*.05),e.lineTo(u-i*.05,m+a*.05),e.closePath();break;case`frame`:{let t=Math.min(i,a)*(o??12500)/1e5;e.rect(n,r,i,a),e.rect(n+t,r+t,i-2*t,a-2*t);break}case`bracketpair`:{let t=a*Math.min(5e4,Math.max(0,o??8333))/1e5;e.moveTo(n+i*.4,r),e.quadraticCurveTo(n,r,n,r+t),a-2*t>0&&e.lineTo(n,r+a-t),e.quadraticCurveTo(n,r+a,n+i*.4,r+a),e.moveTo(n+i*.6,r),e.quadraticCurveTo(n+i,r,n+i,r+t),a-2*t>0&&e.lineTo(n+i,r+a-t),e.quadraticCurveTo(n+i,r+a,n+i*.6,r+a);break}case`bracepair`:{let t=i*.2;e.moveTo(n+i*.4,r),e.bezierCurveTo(n+i*.4-t,r,n+i*.4-t,m-a*.08,n,m),e.bezierCurveTo(n+i*.4-t,m+a*.08,n+i*.4-t,r+a,n+i*.4,r+a),e.moveTo(n+i*.6,r),e.bezierCurveTo(n+i*.6+t,r,n+i*.6+t,m-a*.08,n+i,m),e.bezierCurveTo(n+i*.6+t,m+a*.08,n+i*.6+t,r+a,n+i*.6,r+a);break}case`chord`:{let t=(o??27e5)/216e5*Math.PI*2,n=(s??162e5)/216e5*Math.PI*2;e.ellipse(u,m,i/2,a/2,0,t,n),e.closePath();break}case`blockarc`:{let t=Math.min(i,a)/2,n=o??108e5,r=s??0,l=t*(1-(c??25e3)/1e5),d=n/216e5*Math.PI*2,f=r/216e5*Math.PI*2;e.arc(u,m,t,d,f,!1),e.arc(u,m,l,f,d,!0),e.closePath();break}case`teardrop`:{let t=Math.min(i,a)*.4,o=n+t,s=r+a-t;e.arc(o,s,t,0,Math.PI*2*.75),e.bezierCurveTo(o-t*.1,s-t,n+i-t,r+t,n+i,r),e.bezierCurveTo(n+i-t*.2,r+t*.5,o+t,s-t*1.1,o+t,s),e.closePath();break}case`diagstripe`:{let t=a*(o??5e4)/1e5*i/a;e.moveTo(n+t,r),e.lineTo(n+i,r),e.lineTo(n+i-t,r+a),e.lineTo(n,r+a),e.closePath();break}case`wedgeroundrectcallout`:{let t=Math.min(i,a)*.1;e.roundRect(n,r,i,a*.85,t),e.moveTo(n+i*.1,r+a*.85),e.lineTo(n+i*.2,r+a),e.lineTo(n+i*.3,r+a*.85),e.closePath();break}case`rightarrowcallout`:{let t=a*(o??5e4)/1e5,c=i*(s??5e4)/1e5,l=r+(a-t)/2;e.rect(n,l,c,t),e.moveTo(n+c,r),e.lineTo(n+i,m),e.lineTo(n+c,r+a),e.closePath();break}case`leftarrowcallout`:{let t=a*(o??5e4)/1e5,c=i*(s??5e4)/1e5,l=r+(a-t)/2;e.rect(n+i-c,l,c,t),e.moveTo(n+i-c,r),e.lineTo(n,m),e.lineTo(n+i-c,r+a),e.closePath();break}case`uparrowcallout`:{let t=i*(o??5e4)/1e5,c=a*(s??5e4)/1e5,l=n+(i-t)/2;e.rect(l,r+c,t,a-c),e.moveTo(n,r+c),e.lineTo(u,r),e.lineTo(n+i,r+c),e.closePath();break}case`downarrowcallout`:{let t=i*(o??5e4)/1e5,c=a*(s??5e4)/1e5,l=n+(i-t)/2;e.rect(l,r,t,a-c),e.moveTo(n,r+a-c),e.lineTo(u,r+a),e.lineTo(n+i,r+a-c),e.closePath();break}case`leftrightarrowcallout`:{let t=a*(o??5e4)/1e5,c=i*(s??25e3)/1e5,l=r+(a-t)/2;e.rect(n+c,l,i-2*c,t),e.moveTo(n+c,r),e.lineTo(n,m),e.lineTo(n+c,r+a),e.closePath(),e.moveTo(n+i-c,r),e.lineTo(n+i,m),e.lineTo(n+i-c,r+a),e.closePath();break}case`leftrightuparrow`:{let t=i*(o??25e3)/1e5,c=a*(s??3e4)/1e5,l=n+(i-t)/2;e.moveTo(u,r),e.lineTo(n+i,r+c),e.lineTo(l+t,r+c),e.lineTo(l+t,r+a),e.lineTo(l,r+a),e.lineTo(l,r+c),e.lineTo(n,r+c),e.closePath();break}case`leftuparrow`:{let t=Math.min(i,a),l=Math.min(5e4,Math.max(0,s??25e3)),u=l*2,d=Math.min(u,Math.max(0,o??25e3)),f=1e5-u,p=t*Math.min(f,Math.max(0,c??25e3))/1e5,m=t*l/5e4,h=i-m,g=a-m,_=t*l/1e5,v=i-_,y=a-_,b=t*d/2e5,x=v-b,S=v+b,C=y-b,w=y+b;e.moveTo(n,r+y),e.lineTo(n+p,r+g),e.lineTo(n+p,r+C),e.lineTo(n+x,r+C),e.lineTo(n+x,r+p),e.lineTo(n+h,r+p),e.lineTo(n+v,r),e.lineTo(n+i,r+p),e.lineTo(n+S,r+p),e.lineTo(n+S,r+w),e.lineTo(n+p,r+w),e.lineTo(n+p,r+a),e.closePath();break}case`uturnarrow`:{let t=i*(o??25e3)/1e5,s=(i-t)/2,c=Math.max(0,s-t),l=n+t+s,u=r+t+s,d=t*2,f=r+a-t*2.5;e.moveTo(n,r+a),e.lineTo(n,u),e.arc(l,u,s,Math.PI,0),e.lineTo(n+i,f),e.lineTo(n+i+(d-t)/2,f),e.lineTo(l+t/2,r+a),e.lineTo(n+i-(d-t)/2-t,f),e.lineTo(n+i-t,f),e.lineTo(n+i-t,u),e.arc(l,u,c,0,Math.PI,!0),e.lineTo(n+t,r+a),e.closePath();break}case`bentarrow`:case`bentuparrow`:{let t=Math.min(i,a)*.25;e.moveTo(n,m-t/2),e.lineTo(n+i-t*2,m-t/2),e.lineTo(n+i-t*2,r+t),e.lineTo(n+i,m),e.lineTo(n+i-t*2,r+a-t),e.lineTo(n+i-t*2,m+t/2),e.lineTo(n,m+t/2),e.closePath();break}case`plus`:{let t=Math.min(i,a)*(o??25e3)/1e5;e.rect(u-t,r,2*t,a),e.rect(n,m-t,i,2*t);break}case`mathnotequal`:{let t=Math.min(5e4,Math.max(0,o??23520)),n=Math.min(66e5,Math.max(42e5,s??66e5)),l=Math.min(1e5-2*t,Math.max(0,c??11760)),d=a*t/1e5,f=a*l/2e5,p=i*73490/2e5,h=a/2,g=(n/6e4-90)*Math.PI/180,_=h*Math.tan(g),v=Math.hypot(_,h)*d/h;e.rect(u-p,m-f-d,2*p,d),e.rect(u-p,m+f,2*p,d),e.moveTo(u+_-v/2,r),e.lineTo(u+_+v/2,r),e.lineTo(u-_+v/2,r+a),e.lineTo(u-_-v/2,r+a),e.closePath();break}case`flowchartconnector`:e.ellipse(u,m,i/2,a/2,0,0,Math.PI*2);break;case`flowchartdelay`:{let t=a/2;e.moveTo(n,r),e.lineTo(n+i-t,r),e.arc(n+i-t,m,t,-Math.PI/2,Math.PI/2),e.lineTo(n,r+a),e.closePath();break}case`flowchartdisplay`:{let t=i*.2,o=i*.15;e.moveTo(n+t,r),e.lineTo(n+i-o,r),e.arc(n+i-o,m,a/2,-Math.PI/2,Math.PI/2),e.lineTo(n+t,r+a),e.lineTo(n,m),e.closePath();break}case`flowchartinputoutput`:case`flowchartpunchedcard`:{let t=i*.2;e.moveTo(n+t,r),e.lineTo(n+i,r),e.lineTo(n+i-t,r+a),e.lineTo(n,r+a),e.closePath();break}case`flowchartmerge`:e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(u,r+a),e.closePath();break;case`flowchartextract`:e.moveTo(u,r),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.closePath();break;case`flowchartoffpageconnector`:{let t=a*.3;e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a-t),e.lineTo(u,r+a),e.lineTo(n,r+a-t),e.closePath();break}case`flowchartonlinestorage`:case`flowchartmanuallabel`:case`flowchartpuncheddisk`:e.rect(n,r,i,a);break;case`horizontalscroll`:{let t=Math.min(i,a)*.15;e.roundRect(n+t,r,i-t,a,t),e.moveTo(n+t,r+t*2),e.arc(n+t,r+t,t,Math.PI/2,Math.PI*2.5);break}case`verticalscroll`:{let t=Math.min(i,a)*.15;e.roundRect(n,r+t,i,a-t,t),e.moveTo(n+t*2,r+t),e.arc(n+t,r+t,t,0,Math.PI*2);break}case`ribbon`:{let t=Math.min(33333,Math.max(0,o??16667)),c=i*Math.min(75e3,Math.max(25e3,s??5e4))/2e5,l=i/8,u=i/32,d=i/2-c,f=i/2+c,p=d+u,m=f-u,h=d+l,g=f-l,_=h-u,v=g+u,y=i-l,b=a*t/2e5,x=a*t/1e5,S=a-x,C=S/2;e.moveTo(n,r),e.lineTo(n+_,r),e.lineTo(n+p,r+b),e.lineTo(n+m,r+x),e.lineTo(n+v,r+b),e.lineTo(n+i,r),e.lineTo(n+y,r+C),e.lineTo(n+i,r+S),e.lineTo(n+f,r+S),e.lineTo(n+f,r+a),e.lineTo(n+p,r+a),e.lineTo(n+d,r+S),e.lineTo(n,r+S),e.lineTo(n+l,r+C),e.closePath();break}case`ribbon2`:{let t=Math.min(33333,Math.max(0,o??16667)),c=i*Math.min(75e3,Math.max(25e3,s??5e4))/2e5,l=i/8,u=i/32,d=i/2-c,f=i/2+c,p=d+u,m=f-u,h=d+l,g=f-l,_=h-u,v=g+u,y=i-l,b=a*t/2e5,x=a*t/1e5,S=a-b,C=a-x,w=x,T=(w+a)/2;e.moveTo(n,r+a),e.lineTo(n+_,r+a),e.lineTo(n+p,r+S),e.lineTo(n+m,r+C),e.lineTo(n+v,r+S),e.lineTo(n+i,r+a),e.lineTo(n+y,r+T),e.lineTo(n+i,r+w),e.lineTo(n+f,r+w),e.lineTo(n+f,r),e.lineTo(n+p,r),e.lineTo(n+d,r+w),e.lineTo(n,r+w),e.lineTo(n+l,r+T),e.closePath();break}case`ellipseribbon`:{let t=Math.min(1e5,Math.max(0,o??25e3)),l=Math.min(75e3,Math.max(25e3,s??5e4)),u=Math.max(0,t-(1e5-t)/2),d=Math.min(t,Math.max(u,c??12500)),f=i/8,p=i*l/2e5,m=i/2-p,h=m+f,g=i-h,_=i-m,v=i-f,y=a*d/1e5,b=4*y/i,x=b*(h-h*h/i),S=h/2,C=b*S,w=i-S,T=a*t/1e5,E=T-y,D=b*(m-m*m/i),O=D+E,k=y+E-O+y+E,A=a-T,j=(y*14/16+A)/2,M=D+A,N=O+A,P=m/2,F=b*P+A,I=i-P,L=k+A;e.moveTo(n,r),e.quadraticCurveTo(n+S,r+C,n+h,r+x),e.lineTo(n+m,r+O),e.quadraticCurveTo(n+i/2,r+k,n+_,r+O),e.lineTo(n+g,r+x),e.quadraticCurveTo(n+w,r+C,n+i,r),e.lineTo(n+v,r+j),e.lineTo(n+i,r+A),e.quadraticCurveTo(n+I,r+F,n+_,r+M),e.lineTo(n+_,r+N),e.quadraticCurveTo(n+i/2,r+L,n+m,r+N),e.lineTo(n+m,r+M),e.quadraticCurveTo(n+P,r+F,n,r+A),e.lineTo(n+f,r+j),e.closePath();break}case`ellipseribbon2`:{let t=Math.min(1e5,Math.max(0,o??25e3)),l=Math.min(75e3,Math.max(25e3,s??5e4)),u=Math.max(0,t-(1e5-t)/2),d=Math.min(t,Math.max(u,c??12500)),f=i/8,p=i*l/2e5,m=i/2-p,h=m+f,g=i-h,_=i-m,v=i-f,y=a*d/1e5,b=4*y/i,x=a-b*(h-h*h/i),S=h/2,C=a-b*S,w=i-S,T=a*t/1e5,E=T-y,D=b*(m-m*m/i),O=D+E,k=a-O,A=y+E-O+y+E,j=a-A,M=a-T,N=a-(y*14/16+M)/2,P=a-(D+M),F=a-(O+M),I=m/2,L=a-(b*I+M),R=i-I,z=a-(A+M);e.moveTo(n,r+a),e.quadraticCurveTo(n+S,r+C,n+h,r+x),e.lineTo(n+m,r+k),e.quadraticCurveTo(n+i/2,r+j,n+_,r+k),e.lineTo(n+g,r+x),e.quadraticCurveTo(n+w,r+C,n+i,r+a),e.lineTo(n+v,r+N),e.lineTo(n+i,r+T),e.quadraticCurveTo(n+R,r+L,n+_,r+P),e.lineTo(n+_,r+F),e.quadraticCurveTo(n+i/2,r+z,n+m,r+F),e.lineTo(n+m,r+P),e.quadraticCurveTo(n+I,r+L,n,r+T),e.lineTo(n+f,r+N),e.closePath();break}case`circulararrow`:{let t=(s??0)/6e4*Math.PI/180,n=(o??162e5)/6e4*Math.PI/180,r=(c??5e4)/1e5,l=Math.min(i,a)/2,d=l*(1-r),f=(l+d)/2,p=l-d,h=t+n;e.arc(u,m,l,t,h,!1),e.arc(u,m,d,h,t,!0),e.closePath();let g=Math.sin(h),_=-Math.cos(h),v=p*1.5,y=u+f*Math.cos(h)+v*g,b=m+f*Math.sin(h)+v*_;e.moveTo(y,b),e.lineTo(u+l*Math.cos(h),m+l*Math.sin(h)),e.lineTo(u+d*Math.cos(h),m+d*Math.sin(h)),e.closePath();break}case`curvedrightarrow`:{let t=Math.min(i,a),l=a/2,u=5e4*a/t,d=Math.min(u,Math.max(0,s??5e4)),f=t*Math.min(d,Math.max(0,o??25e3))/1e5,m=t*d/1e5,h=l-(f+m)/4,g=(2*h)**2-f**2,_=1e5*(Math.sqrt(Math.max(0,g))*i/(2*h))/t,v=t*Math.min(_,Math.max(0,c??25e3))/1e5,y=Math.sqrt(Math.max(0,i*i-v*v))*h/i,b=h+f,x=h+y,S=b+y,C=(m-f)/2,w=x-C,T=S+C,E=a-m/2,D=i-v,O=Math.atan2(v,y),k=-O,A=Math.PI-O;e.moveTo(n,r+h),p(e,n,r+h,i,h,Math.PI,k),e.lineTo(n+D,r+w),e.lineTo(n+i,r+E),e.lineTo(n+D,r+T),e.lineTo(n+D,r+S),p(e,n+D,r+S,i,h,A,O),e.closePath();break}case`curvedleftarrow`:{let t=Math.min(i,a),l=a/2,u=5e4*a/t,d=Math.min(u,Math.max(0,s??5e4)),f=t*Math.min(d,Math.max(0,o??25e3))/1e5,m=t*d/1e5,h=l-(f+m)/4,g=(2*h)**2-f**2,_=Math.sqrt(Math.max(0,g))*i/(2*h),v=1e5*_/t,y=t*Math.min(v,Math.max(0,c??25e3))/1e5,b=Math.sqrt(Math.max(0,i*i-y*y))*h/i,x=h+f,S=h+b,C=x+b,w=(m-f)/2,T=S-w,E=C+w,D=a-m/2,O=y,k=Math.atan2(y,b),A=f/2,j=Math.atan2(A,_),M=j-k,N=k-j,P=-j;e.moveTo(n,r+D),e.lineTo(n+O,r+T),e.lineTo(n+O,r+S);let F=p(e,n+O,r+S,i,h,k,M);p(e,F.x,F.y,i,h,P,N),e.lineTo(n+O,r+E),e.closePath();break}case`curveduparrow`:{let t=Math.min(i,a),l=i/2,u=5e4*i/t,d=Math.min(u,Math.max(0,s??5e4)),f=t*Math.min(1e5,Math.max(0,o??25e3))/1e5,m=t*d/1e5,h=l-(f+m)/4,g=(2*h)**2-f**2,_=Math.sqrt(Math.max(0,g))*a/(2*h),v=1e5*_/t,y=t*Math.min(v,Math.max(0,c??25e3))/1e5,b=Math.sqrt(Math.max(0,a*a-y*y))*h/a,x=h+f,S=h+b,C=x+b,w=(m-f)/2,T=S-w,E=C+w,D=i-m/2,O=y,k=Math.atan2(y,b),A=f/2,j=Math.atan2(A,_),M=j-k,N=k-j,P=Math.PI/2-k,F=Math.PI/2-j;e.moveTo(n+D,r),e.lineTo(n+E,r+O),e.lineTo(n+C,r+O);let I=p(e,n+C,r+O,h,a,P,N);p(e,I.x,I.y,h,a,F,M),e.lineTo(n+T,r+O),e.closePath();break}case`curveddownarrow`:{let t=Math.min(i,a),l=i/2,u=5e4*i/t,d=Math.min(u,Math.max(0,s??5e4)),f=t*Math.min(1e5,Math.max(0,o??25e3))/1e5,m=t*d/1e5,h=l-(f+m)/4,g=(2*h)**2-f**2,_=Math.sqrt(Math.max(0,g))*a/(2*h),v=1e5*_/t,y=t*Math.min(v,Math.max(0,c??25e3))/1e5,b=Math.sqrt(Math.max(0,a*a-y*y))*h/a,x=h+f,S=h+b,C=x+b,w=(m-f)/2,T=S-w,E=C+w,D=i-m/2,O=a-y,k=Math.atan2(y,b),A=f/2,j=Math.atan2(A,_),M=3*Math.PI/2+k;3*Math.PI/2-j,j-Math.PI/2,Math.PI/2-j,e.moveTo(n+D,r+a),e.lineTo(n+T,r+O),e.lineTo(n+S,r+O),p(e,n+S,r+O,h,a,M,-k),e.lineTo(n+x,r),p(e,n+x,r,h,a,3*Math.PI/2,k),e.lineTo(n+E,r+O),e.closePath();break}case`stripedrightarrow`:{let t=Math.min(i,a),c=t/32,l=t/16,u=t/8,d=t*(o??5e4)/1e5,f=i*(s??5e4)/1e5,p=m-d/2,h=m+d/2,g=n+i-f;e.rect(n,p,c,d),e.rect(n+l,p,l,d),e.rect(n+u,p,u,d),e.moveTo(g,p),e.lineTo(g,r),e.lineTo(n+i,m),e.lineTo(g,r+a),e.lineTo(g,h),e.lineTo(n+u*2,h),e.lineTo(n+u*2,p),e.closePath();break}case`flowchartpreparation`:{let t=i*.2;e.moveTo(n+t,r),e.lineTo(n+i-t,r),e.lineTo(n+i,m),e.lineTo(n+i-t,r+a),e.lineTo(n+t,r+a),e.lineTo(n,m),e.closePath();break}case`flowchartcollate`:e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n,r+a),e.lineTo(n+i,r+a),e.closePath();break;case`flowchartmagneticdisk`:{let t=a*.15;e.moveTo(n,r+t),e.ellipse(u,r+t,i/2,t,0,Math.PI,0),e.lineTo(n+i,r+a-t),e.ellipse(u,r+a-t,i/2,t,0,0,Math.PI),e.lineTo(n,r+t),e.closePath(),e.moveTo(n+i,r+t),e.ellipse(u,r+t,i/2,t,0,0,Math.PI);break}case`flowchartinternalstorage`:{e.rect(n,r,i,a);let t=i*.15,o=a*.15;e.moveTo(n+t,r),e.lineTo(n+t,r+a),e.moveTo(n,r+o),e.lineTo(n+i,r+o);break}case`flowchartmagneticdrum`:{let t=i*.15;e.moveTo(n+t,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a),e.lineTo(n+t,r+a),e.ellipse(n+t,m,t,a/2,0,Math.PI/2,-Math.PI/2,!0),e.closePath(),e.moveTo(n+i,r),e.ellipse(n+i,m,t,a/2,0,-Math.PI/2,Math.PI/2);break}case`flowchartsumingjunction`:case`flowchartsummingjunction`:{e.ellipse(u,m,i/2,a/2,0,0,Math.PI*2);let t=Math.min(i,a)/2*.65;e.moveTo(u-t,m-t),e.lineTo(u+t,m+t),e.moveTo(u+t,m-t),e.lineTo(u-t,m+t);break}case`flowchartmagnetictape`:{let t=Math.min(i,a)/2,n=u+t*.5;e.moveTo(u,r+a),e.arc(u,m,t,Math.PI/2,Math.PI/2+Math.PI*2*.875),e.lineTo(n,m+t*.5),e.lineTo(n,r+a),e.closePath();break}case`flowchartpunchedtape`:{let t=a*.12;e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a-t),e.bezierCurveTo(n+i*.75,r+a,n+i*.25,r+a-t*2,n,r+a-t),e.closePath(),e.moveTo(n,r+t),e.bezierCurveTo(n+i*.25,r,n+i*.75,r+t*2,n+i,r+t);break}case`flowchartmanualoperation`:{let t=i*.15;e.moveTo(n+t,r),e.lineTo(n+i-t,r),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.closePath();break}case`flowchartmultidocument`:{let t=a*.1,o=i*.04;e.rect(n+o*2,r-a*.08,i-o*2,a*.1),e.rect(n+o,r-a*.04,i-o,a*.06),e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a-t),e.bezierCurveTo(n+i*.75,r+a,n+i*.25,r+a-t*2,n,r+a-t),e.closePath();break}case`rttriangle`:e.moveTo(n,r),e.lineTo(n,r+a),e.lineTo(n+i,r+a),e.closePath();break;default:e.rect(n,r,i,a);break}}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return m}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=[`4472C4`,`ED7D31`,`A9D18E`,`FF0000`,`70AD47`,`4BACC6`,`FFC000`,`9E480E`,`843C0C`,`636363`,`255E91`,`967300`];function t(t,n){return n?.color?`#${n.color}`:`#${e[t%e.length]}`}function n(t,n){let r=n.dataPointColors?.[t];return r?`#${r}`:`#${e[t%e.length]}`}function r(e,t){let n=e.startsWith(`#`)?e.slice(1):e;return`rgba(${parseInt(n.slice(0,2),16)},${parseInt(n.slice(2,4),16)},${parseInt(n.slice(4,6),16)},${t})`}function i(e,t=5){if(e===0)return 1;let n=e/t,r=10**Math.floor(Math.log10(n)),i=n/r;return(i<1.5?1:i<3.5?2:i<7.5?5:10)*r}function a(e,t){if(e<=0)return t;let n=Math.ceil(e/t)*t;return e/n>=.9?n+t:n}function o(e,t){if(e>=0)return 0;let n=Math.floor(e/t)*t;return Math.abs(n-e)<t*1e-9?n-t:n}function s(e){return Number.isInteger(e)?String(e):e.toFixed(6).replace(/\.?0+$/,``)}function c(e,t){if(!t)return s(e);if(l(t))return u(e,t);let n=d(t),r;return r=e>0?n[0]??t:e<0?n[1]??n[0]??t:n[2]??n[0]??t,r===``?``:(e<0&&n.length<2?`-`:``)+f(Math.abs(e),r)}function l(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(r===`"`){t=!t;continue}if(!t){if(r===`\\`){n++;continue}if(r===`[`){for(;n<e.length&&e[n]!==`]`;)n++;continue}if(r===`y`||r===`Y`||r===`d`||r===`D`||r===`m`||r===`M`||r===`h`||r===`H`||r===`s`||r===`S`)return!0}}return!1}function u(e,t){let n=Date.UTC(1899,11,30),r=e<60?e+1:e,i=n+Math.floor(r)*864e5,a=new Date(i),o=a.getUTCFullYear(),s=a.getUTCMonth()+1,c=a.getUTCDate(),l=(e-Math.floor(e))*86400,u=Math.floor(l/3600),d=Math.floor(l%3600/60),f=Math.floor(l%60),p=``,m=!1,h=0;for(;h<t.length;){let e=t[h];if(e===`"`){m=!m,h++;continue}if(m){p+=e,h++;continue}if(e===`\\`&&h+1<t.length){p+=t[h+1],h+=2;continue}if(e===`[`){for(;h<t.length&&t[h]!==`]`;)h++;h<t.length&&h++;continue}if(e===`y`||e===`Y`){let e=0;for(;h<t.length&&(t[h]===`y`||t[h]===`Y`);)e++,h++;p+=e>=3?String(o):String(o%100).padStart(2,`0`);continue}if(e===`m`||e===`M`){let e=0;for(;h<t.length&&(t[h]===`m`||t[h]===`M`);)e++,h++;p.match(/[Hh]+\W*$/)?p+=e>=2?String(d).padStart(2,`0`):String(d):p+=e>=2?String(s).padStart(2,`0`):String(s);continue}if(e===`d`||e===`D`){let e=0;for(;h<t.length&&(t[h]===`d`||t[h]===`D`);)e++,h++;p+=e>=2?String(c).padStart(2,`0`):String(c);continue}if(e===`h`||e===`H`){let e=0;for(;h<t.length&&(t[h]===`h`||t[h]===`H`);)e++,h++;p+=e>=2?String(u).padStart(2,`0`):String(u);continue}if(e===`s`||e===`S`){let e=0;for(;h<t.length&&(t[h]===`s`||t[h]===`S`);)e++,h++;p+=e>=2?String(f).padStart(2,`0`):String(f);continue}p+=e,h++}return p}function d(e){let t=[],n=``;for(let r=0;r<e.length;r++){let i=e[r];if(i===`\\`&&r+1<e.length){n+=i+e[r+1],r++;continue}if(i===`"`){for(n+=i,r++;r<e.length&&e[r]!==`"`;)n+=e[r],r++;r<e.length&&(n+=e[r]);continue}if(i===`[`){for(n+=i,r++;r<e.length&&e[r]!==`]`;)n+=e[r],r++;r<e.length&&(n+=e[r]);continue}if(i===`;`){t.push(n),n=``;continue}n+=i}return t.push(n),t}function f(e,t){let n=[],r=0,i=!1,a=!1;for(;r<t.length;){let e=t[r];if(e===`"`){r++;let e=``;for(;r<t.length&&t[r]!==`"`;)e+=t[r],r++;r<t.length&&r++,n.push({kind:`lit`,text:e});continue}if(e===`\\`&&r+1<t.length){n.push({kind:`lit`,text:t[r+1]}),r+=2;continue}if(e===`_`&&r+1<t.length){n.push({kind:`lit`,text:` `}),r+=2;continue}if(e===`*`&&r+1<t.length){r+=2;continue}if(e===`[`){for(r++;r<t.length&&t[r]!==`]`;)r++;r<t.length&&r++;continue}if(e===`%`){a=!0,n.push({kind:`lit`,text:`%`}),r++;continue}if(e===`#`||e===`0`||e===`.`||e===`,`||e===`?`){let e=``;for(;r<t.length&&(t[r]===`#`||t[r]===`0`||t[r]===`.`||t[r]===`,`||t[r]===`?`);)e+=t[r],r++;n.push({kind:`num`,text:e}),i=!0;continue}n.push({kind:`lit`,text:e}),r++}if(!i)return n.map(e=>e.text).join(``);let o=a?e*100:e,s=``;for(let e of n)e.kind===`num`&&(s+=e.text);let c=p(o,s),l=!1;return n.map(e=>e.kind===`lit`?e.text:l?``:(l=!0,c)).join(``)}function p(e,t){let n=t.indexOf(`.`),r=n>=0?t.slice(0,n):t,i=n>=0?t.slice(n+1):``,a=/,/.test(r),o=(i.match(/[#0?]/g)??[]).length,s=(r.replace(/,/g,``).match(/0/g)??[]).length,[c,l=``]=e.toFixed(o).split(`.`),u=c.padStart(s,`0`),d=a?u.replace(/\B(?=(\d{3})+(?!\d))/g,`,`):u;return o===0?d:`${d}.${l.padEnd(o,`0`)}`}function m(e,t,n,r,i,a,o,s){e.save(),e.font=`${s}px sans-serif`,e.fillStyle=`#555`,o===`cat`?(e.textAlign=`center`,e.textBaseline=`bottom`,e.fillText(t.slice(0,30),n+i/2,r+a+s+2)):(e.translate(n-s-4,r+a/2),e.rotate(-Math.PI/2),e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(t.slice(0,30),0,0)),e.restore()}function h(e,n,r,i,a,o,s=`vertical`){if(s===`horizontal`){let s=Math.max(9,Math.min(12,o*.7));e.font=`${s}px sans-serif`,e.textBaseline=`middle`;let c=n.map((e,t)=>e.name||`Series ${t+1}`),l=c.map(t=>14+e.measureText(t.slice(0,30)).width),u=r+(a-(l.reduce((e,t)=>e+t,0)+12*Math.max(0,n.length-1)))/2,d=i+o/2;for(let r=0;r<n.length;r++)e.fillStyle=t(r,n[r]),e.fillRect(u,d-s/2,10,s),e.fillStyle=`#333`,e.textAlign=`left`,e.fillText(c[r].slice(0,30),u+10+4,d),u+=l[r]+12;return}let c=Math.max(9,Math.min(12,o/(n.length+1)));e.font=`${c}px sans-serif`,e.textBaseline=`middle`;let l=c+4,u=i+(o-l*n.length)/2;for(let i=0;i<n.length;i++){e.fillStyle=t(i,n[i]),e.fillRect(r,u,10,c),e.fillStyle=`#333`,e.textAlign=`left`;let a=n[i].name||`Series ${i+1}`;e.fillText(a.slice(0,20),r+10+4,u+c/2),u+=l}}function g(e,t,n){if(!e.showLegend)return null;let r=e.legendPos??`r`,i=r===`l`?`l`:r===`t`?`t`:r===`b`?`b`:`r`;return i===`r`||i===`l`?{side:i,reserveW:Math.max(80,t*.22),reserveH:0}:{side:i,reserveW:0,reserveH:Math.max(18,n*.08)}}function _(e,t,n,r,i,a,o,s,c,l,u,d){if(!n)return;let f=t.legendManualLayout;if(f&&f.xMode===`edge`&&f.yMode===`edge`&&f.w>0&&f.h>0){let n=r+f.x*a,s=i+f.y*o,c=f.w*a,l=f.h*o,u=c>=l?`horizontal`:`vertical`;h(e,t.series,n,s,c,l,u);return}switch(n.side){case`r`:h(e,t.series,r+a-n.reserveW+4,c,n.reserveW-8,u);break;case`l`:h(e,t.series,r+4,c,n.reserveW-8,u);break;case`t`:h(e,t.series,s,i+d,l,n.reserveH,`horizontal`);break;case`b`:h(e,t.series,s,i+o-n.reserveH,l,n.reserveH,`horizontal`);break}}function v(e,t,n,r,i,a,o){if(t===`none`||!t)return;let s=o?Math.max(4,o+2):4,c=e.strokeStyle,l=e.lineWidth;if(e.strokeStyle=a??`#888`,e.lineWidth=o??1,e.beginPath(),n===`val`){let n=r,a=i,o=t===`out`||t===`cross`?-s:0,c=t===`in`||t===`cross`?s:0;e.moveTo(n+o,a),e.lineTo(n+c,a)}else{let n=r,a=i,o=t===`out`||t===`cross`?s:0,c=t===`in`||t===`cross`?-s:0;e.moveTo(a,n+o),e.lineTo(a,n+c)}e.stroke(),e.strokeStyle=c,e.lineWidth=l}function y(e,t,n){return e.titleFontSizeHpt?e.titleFontSizeHpt/100*n:Math.max(10,t*.085)}function b(e,t,n){return e?e/100*n:Math.max(8,t*.045)}function x(e,t,n,r,i,a){t.title&&(e.font=`bold ${a}px ${t.titleFontFace?`"${t.titleFontFace}", Calibri, Arial, sans-serif`:`Calibri, Arial, sans-serif`}`,e.fillStyle=t.titleFontColor?`#${t.titleFontColor}`:`#333`,e.textAlign=`center`,e.textBaseline=`top`,e.fillText(t.title,n+i/2,r))}function S(e){if(e.categories.length>0)return e.categories;let t=e.series[0];if(t?.categories&&t.categories.length>0)return t.categories;let n=0;for(let t of e.series)t.values.length>n&&(n=t.values.length);return n>0?Array.from({length:n},(e,t)=>String(t+1)):[]}function C(e,t,n,r,i,a,o,s,c){let l=s??`outEnd`;if(e.fillStyle=c?`#${c}`:`#333`,o===`vertical`){let o=n+a/2;l===`inBase`?(e.textAlign=`center`,e.textBaseline=`bottom`,e.fillText(t,o,r+i-2)):l===`inEnd`?(e.textAlign=`center`,e.textBaseline=`top`,e.fillText(t,o,r+2)):l===`ctr`?(e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(t,o,r+i/2)):(e.textAlign=`center`,e.textBaseline=`bottom`,e.fillText(t,o,r-1))}else{let o=r+a/2;l===`inBase`?(e.textAlign=`left`,e.textBaseline=`middle`,e.fillText(t,n+4,o)):l===`inEnd`?(e.textAlign=`right`,e.textBaseline=`middle`,e.fillText(t,n+i-4,o)):l===`ctr`?(e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(t,n+i/2,o)):(e.textAlign=`left`,e.textBaseline=`middle`,e.fillText(t,n+i+2,o))}}function w(e,n,r,o){let{x:s,y:l,w:u,h:d}=r,f=n.chartType===`clusteredBarH`||n.chartType===`stackedBarH`||n.chartType===`stackedBarHPct`,p=n.chartType.startsWith(`stacked`),h=n.chartType===`stackedBarPct`||n.chartType===`stackedBarHPct`,v=n.series.filter(e=>e.seriesType!==`line`),b=n.series.filter(e=>e.seriesType===`line`),w=S(n),T=w.length;if(T===0)return;let E=n.title?y(n,d,o):0,D=n.title?d*.02:0,O=n.title?d*.025:0,k=n.title?E+D+O:0,A=g(n,u,d),j=A?.side===`r`?A.reserveW:0,M=A?.side===`l`?A.reserveW:0,N=A?.side===`t`?A.reserveH:0,P=A?.side===`b`?A.reserveH:0,F=Math.max(8,Math.min(10,d*.045)),I=n.catAxisTitle?F+4:0,L=n.valAxisTitle?F+4:0,R={t:k+N+d*.02,r:j+u*.03,b:d*.14+I+P,l:u*.12+L+M};f&&(R.l=(n.catAxisHidden?u*.03:u*.22)+L+M,R.b=(n.valAxisHidden?d*.02:d*.08)+I+P),x(e,n,s,l+D,u,E);let z=n.plotAreaManualLayout,B,V,H,U;if(z&&z.w!=null&&z.h!=null?(B=s+z.x*u,V=l+z.y*d,H=z.w*u,U=z.h*d):(B=s+R.l,V=l+R.t,H=u-R.l-R.r,U=d-R.t-R.b),H<=0||U<=0)return;n.plotAreaBg&&(e.fillStyle=`#${n.plotAreaBg}`,e.fillRect(B,V,H,U));let W=0;for(let e=0;e<T;e++){let t=0;for(let n of v){let r=n.values[e]??0;p?t+=Math.abs(r):W=Math.max(W,Math.abs(r))}p&&(W=Math.max(W,t))}h&&(W=100),n.valMax!=null&&(W=n.valMax),W===0&&(W=1);let G=i(W),K=n.valMax??a(W,G),q=`#e0e0e0`,J=Math.round(K/G);if(e.textBaseline=`middle`,e.font=`${Math.max(8,Math.min(11,U/20))}px sans-serif`,e.fillStyle=`#555`,!n.valAxisHidden)for(let t=0;t<=J;t++){let r=t*G,i=h?`${Math.round(r)}%`:c(r,n.valAxisFormatCode);if(f){let n=B+r/K*H;e.strokeStyle=t===0?`#aaa`:q,e.lineWidth=t===0?1:.5,e.beginPath(),e.moveTo(n,V),e.lineTo(n,V+U),e.stroke(),e.textAlign=`center`,e.fillText(i,n,V+U+10)}else{let n=V+U-r/K*U;e.strokeStyle=t===0?`#aaa`:q,e.lineWidth=t===0?1:.5,e.beginPath(),e.moveTo(B,n),e.lineTo(B+H,n),e.stroke(),e.textAlign=`right`,e.fillText(i,B-4,n)}}e.strokeStyle=`#aaa`,e.lineWidth=1,f?(e.beginPath(),e.moveTo(B,V),e.lineTo(B,V+U),e.stroke()):(e.beginPath(),e.moveTo(B,V+U),e.lineTo(B+H,V+U),e.stroke());let Y=f?U/T:H/T,X=p?1:Math.max(1,v.length),Z=p?0:n.barOverlap??0,ee=n.barGapWidth??150,Q=Y/(1+(X-1)*(1-Z/100)+ee/100),te=p?0:Q*(1-Z/100),$=(Y-(Q+(X-1)*te))/2;for(let r=0;r<T;r++){let i=0,a=0;if(h){for(let e of v)a+=Math.abs(e.values[r]??0);a===0&&(a=1)}for(let s=0;s<v.length;s++){let l=v[s],u=l.values[r]??0,d=h?Math.abs(u)/a*100:Math.abs(u),m=t(s,l);if(f){let t=p?s:v.length-1-s,a=p?V+(T-1-r)*Y+$:V+(T-1-r)*Y+$+t*te,u=d/K*H,f=p?B+i/K*H:B;e.fillStyle=m,e.fillRect(f,a,u,Q),n.showDataLabels&&d>0&&(e.font=`bold ${n.dataLabelFontSizeHpt?n.dataLabelFontSizeHpt/100*o:Math.max(7,Math.min(11,Q*.6))}px sans-serif`,C(e,h?`${Math.round(d)}%`:c(d,n.dataLabelFormatCode??l.valFormatCode??null),f,a,u,Q,`horizontal`,n.dataLabelPosition??null,n.dataLabelFontColor??null))}else{let t=p?B+r*Y+$:B+r*Y+$+s*te,a=d/K*U,u=V+U-(p?i+d:d)/K*U;e.fillStyle=m,e.fillRect(t,u,Q,a),n.showDataLabels&&d>0&&(e.font=`bold ${n.dataLabelFontSizeHpt?n.dataLabelFontSizeHpt/100*o:Math.max(7,Math.min(11,Q*.6))}px sans-serif`,C(e,h?`${Math.round(d)}%`:c(d,n.dataLabelFormatCode??l.valFormatCode??null),t,u,a,Q,`vertical`,n.dataLabelPosition??null,n.dataLabelFontColor??null))}p&&(i+=d)}}if(!n.catAxisHidden){e.fillStyle=`#555`,e.font=`${Math.max(8,Math.min(11,Y*.5))}px sans-serif`;for(let t=0;t<T;t++){let n=(w[t]??``).toString().slice(0,12);if(f){let r=V+(T-1-t)*Y+Y/2;e.textAlign=`right`,e.textBaseline=`middle`,e.fillText(n,B-4,r)}else{let r=B+t*Y+Y/2;e.textAlign=`center`,e.textBaseline=`top`,e.fillText(n,r,V+U+3)}}}if(b.length>0&&!f)for(let n=0;n<b.length;n++){let r=b[n],i=t(v.length+n,r);e.strokeStyle=i,e.lineWidth=2,e.setLineDash([]),e.beginPath();let a=!1;for(let t=0;t<T;t++){let n=r.values[t];if(n==null){a=!1;continue}let i=B+t*Y+Y/2,o=V+U-n/K*U;a?e.lineTo(i,o):(e.moveTo(i,o),a=!0)}if(e.stroke(),r.showMarker!==!1)for(let t=0;t<T;t++){let n=r.values[t];if(n==null)continue;let a=B+t*Y+Y/2,o=V+U-n/K*U;e.fillStyle=i,e.beginPath(),e.arc(a,o,3,0,Math.PI*2),e.fill()}}_(e,f&&!p?{...n,series:[...n.series].reverse()}:n,A,s,l,u,d,B,V,H,U,k+2),n.catAxisTitle&&m(e,n.catAxisTitle,B,V,H,U,`cat`,F),n.valAxisTitle&&m(e,n.valAxisTitle,B,V,H,U,`val`,F)}function T(e,n,r,l){let{x:u,y:d,w:f,h:p}=r,h=S(n),C=h.length;if(C===0)return;let w=n.title?y(n,p,l):0,T=n.title?p*.045:0,E=n.title?p*.035:0,D=n.title?w+T+E:0,O=g(n,f,p),k=O?.side===`r`?O.reserveW:0,A=O?.side===`l`?O.reserveW:0,j=O?.side===`t`?O.reserveH:0,M=O?.side===`b`?O.reserveH:0,N=b(n.catAxisFontSizeHpt,p,l),P=b(n.valAxisFontSizeHpt,p,l),F=Math.max(N,P),I=n.catAxisTitle?F+4:0,L=n.valAxisTitle?F+4:0,R={t:D+j+P/2+2,r:k+f*.05,b:N+12+I+M,l:P*2.2+10+L+A};x(e,n,u,d+T,f,w);let z=u+R.l,B=d+R.t,V=f-R.l-R.r,H=p-R.t-R.b;if(V<=0||H<=0)return;n.plotAreaBg&&(e.fillStyle=`#${n.plotAreaBg}`,e.fillRect(z,B,V,H));let U=1/0,W=-1/0;for(let e of n.series)for(let t of e.values)t!=null&&(U=Math.min(U,t),W=Math.max(W,t));isFinite(U)||(U=0,W=1),n.valMin==null?U>0&&(U=0):U=n.valMin,n.valMax==null?W<0&&(W=0):W=n.valMax,W===U&&(W=U+1);let G=i(W-U),K=n.valMin??o(U,G),q=n.valMax??a(W,G),J=q-K;if(J===0)return;let Y=e=>B+H-(e-K)/J*H,X=n.catAxisCrossBetween===`midCat`?e=>z+(C===1?V/2:e/(C-1)*V):e=>z+(e+.5)/C*V;if(!n.valAxisHidden){let t=Math.round((q-K)/G);e.font=`${P}px sans-serif`,e.textBaseline=`middle`;for(let r=0;r<=t;r++){let t=K+r*G,i=Y(t);e.strokeStyle=t===0?`#aaa`:`#e0e0e0`,e.lineWidth=t===0?1:.5,e.beginPath(),e.moveTo(z,i),e.lineTo(z+V,i),e.stroke(),v(e,n.valAxisMajorTickMark,`val`,z,i),e.fillStyle=`#555`,e.textAlign=`right`,e.fillText(c(t,n.valAxisFormatCode),z-6,i)}}e.strokeStyle=`#aaa`,e.lineWidth=1,e.beginPath(),e.moveTo(z,B+H),e.lineTo(z+V,B+H),e.stroke(),n.valAxisHidden||(e.beginPath(),e.moveTo(z,B),e.lineTo(z,B+H),e.stroke());let Z=Math.max(1,2.25*l),ee=Math.max(2,2.5*l),Q=b(n.dataLabelFontSizeHpt,p,l);for(let r=0;r<n.series.length;r++){let i=n.series[r],a=t(r,i);e.strokeStyle=a,e.lineWidth=Z,e.setLineDash([]),e.beginPath();let o=!1;for(let t=0;t<C;t++){let n=i.values[t];if(n==null){o=!1;continue}let r=X(t),a=Y(n);o?e.lineTo(r,a):(e.moveTo(r,a),o=!0)}e.stroke(),e.fillStyle=a;let c=i.showMarker!==!1;for(let t=0;t<C;t++){let r=i.values[t];if(r!=null&&(c&&(e.beginPath(),e.arc(X(t),Y(r),ee,0,Math.PI*2),e.fill()),n.showDataLabels)){e.font=`${Q}px sans-serif`,e.fillStyle=`#333`,e.textAlign=`center`,e.textBaseline=`bottom`;let n=c?ee+1:2;e.fillText(s(r),X(t),Y(r)-n),e.fillStyle=a}}}if(!n.catAxisHidden){let t=Math.max(1,Math.ceil(C/8));e.fillStyle=`#555`,e.textAlign=`center`,e.textBaseline=`top`,e.font=`${N}px sans-serif`;for(let r=0;r<C;r+=t){let t=X(r);v(e,n.catAxisMajorTickMark,`cat`,B+H,t),e.fillStyle=`#555`,e.fillText((h[r]??``).toString().slice(0,10),t,B+H+5)}}_(e,n,O,u,d,f,p,z,B,V,H,D+2),n.catAxisTitle&&m(e,n.catAxisTitle,z,B,V,H,`cat`,F),n.valAxisTitle&&m(e,n.valAxisTitle,z,B,V,H,`val`,F)}function E(e,n,o,s){let{x:l,y:u,w:d,h:f}=o,p=S(n),h=p.length;if(h===0)return;let v=n.chartType===`stackedArea`||n.chartType===`stackedAreaPct`,b=n.title?y(n,f,s):0,C=n.title?f*.035:0,w=n.title?f*.035:0,T=n.title?b+C+w:0,E=g(n,d,f),D=E?.side===`r`?E.reserveW:0,O=E?.side===`l`?E.reserveW:0,k=E?.side===`t`?E.reserveH:0,A=E?.side===`b`?E.reserveH:0,j=Math.max(8,Math.min(10,f*.045)),M=n.catAxisTitle?j+4:0,N=n.valAxisTitle?j+4:0,P={t:T+k+f*.02,r:D+d*.05,b:f*.14+M+A,l:d*.12+N+O};x(e,n,l,u+C,d,b);let F=l+P.l,I=u+P.t,L=d-P.l-P.r,R=f-P.t-P.b;if(L<=0||R<=0)return;n.plotAreaBg&&(e.fillStyle=`#${n.plotAreaBg}`,e.fillRect(F,I,L,R));let z=0;for(let e=0;e<h;e++)if(v){let t=0;for(let r of n.series)t+=r.values[e]??0;z=Math.max(z,t)}else for(let t of n.series)z=Math.max(z,t.values[e]??0);n.valMax!=null&&(z=n.valMax),z===0&&(z=1);let B=i(z),V=n.valMax??a(z,B),H=e=>F+(h===1?L/2:e/(h-1)*L),U=e=>I+R-e/V*R;if(!n.valAxisHidden){e.font=`${Math.max(8,Math.min(11,R/20))}px sans-serif`,e.textBaseline=`middle`;let t=Math.round(V/B);for(let r=0;r<=t;r++){let t=r*B,i=U(t);e.strokeStyle=r===0?`#aaa`:`#e0e0e0`,e.lineWidth=r===0?1:.5,e.beginPath(),e.moveTo(F,i),e.lineTo(F+L,i),e.stroke(),e.fillStyle=`#555`,e.textAlign=`right`,e.fillText(c(t,n.valAxisFormatCode),F-4,i)}}e.strokeStyle=`#aaa`,e.lineWidth=1,e.beginPath(),e.moveTo(F,I+R),e.lineTo(F+L,I+R),e.stroke();let W=v?Array(h).fill(0):null;for(let i=n.series.length-1;i>=0;i--){let a=n.series[i],o=t(i,a),s=I+R;if(e.beginPath(),v&&W){for(let t=0;t<h;t++){let n=(a.values[t]??0)+W[t],r=H(t),i=U(n);t===0?e.moveTo(r,i):e.lineTo(r,i)}for(let t=h-1;t>=0;t--)e.lineTo(H(t),U(W[t]));for(let e=0;e<h;e++)W[e]+=a.values[e]??0}else{e.moveTo(H(0),s);for(let t=0;t<h;t++)e.lineTo(H(t),U(a.values[t]??0));e.lineTo(H(h-1),s)}e.closePath(),e.fillStyle=r(o,.6),e.fill(),e.strokeStyle=o,e.lineWidth=1.5,e.setLineDash([]),e.stroke()}if(!n.catAxisHidden){let t=Math.max(1,Math.ceil(h/8));e.fillStyle=`#555`,e.textAlign=`center`,e.textBaseline=`top`,e.font=`${Math.max(8,Math.min(11,L/h*.8))}px sans-serif`;for(let n=0;n<h;n+=t)e.fillText((p[n]??``).toString().slice(0,10),H(n),I+R+3)}_(e,n,E,l,u,d,f,F,I,L,R,T+2),n.catAxisTitle&&m(e,n.catAxisTitle,F,I,L,R,`cat`,j),n.valAxisTitle&&m(e,n.valAxisTitle,F,I,L,R,`val`,j)}function D(t,r,i,a,o){let{x:s,y:c,w:l,h:u}=i,d=r.series[0];if(!d)return;let f=d.categories&&d.categories.length>0?d.categories:r.categories,p=d.values.map(e=>Math.abs(e??0)),m=p.reduce((e,t)=>e+t,0);if(m===0)return;let h=r.title?y(r,u,o):0,g=r.title?u*.035:0,v=r.title?u*.035:0,b=r.title?h+g+v:0;x(t,r,s,c+g,l,h);let S=r.showLegend?(()=>{let e=r.legendPos??`r`,t=e===`l`?`l`:e===`t`?`t`:e===`b`?`b`:`r`;return t===`r`||t===`l`?{side:t,reserveW:Math.max(80,l*.28),reserveH:0}:{side:t,reserveW:0,reserveH:Math.max(18,u*.08)}})():null,C=S?.side===`r`?S.reserveW:0,w=S?.side===`l`?S.reserveW:0,T=S?.side===`t`?S.reserveH:0,E=S?.side===`b`?S.reserveH:0,D=l-C-w,O=u-b-T-E-u*.02,k=s+w+D/2,A=c+b+T+u*.02+O/2,j=Math.min(D,O)*.42,M=a?j*.5:0,N=-Math.PI/2;for(let e=0;e<p.length;e++){let i=p[e]/m*Math.PI*2,o=n(e,d);if(t.beginPath(),t.moveTo(k,A),t.arc(k,A,j,N,N+i),t.closePath(),t.fillStyle=o,t.fill(),t.strokeStyle=`#fff`,t.lineWidth=1,t.stroke(),r.showDataLabels&&i>.15){let n=N+i/2,r=j*(a?.75:.6),o=k+Math.cos(n)*r,s=A+Math.sin(n)*r,c=Math.round(p[e]/m*100);t.font=`bold ${Math.max(8,j*.1)}px sans-serif`,t.fillStyle=`#fff`,t.textAlign=`center`,t.textBaseline=`middle`,t.fillText(`${c}%`,o,s)}N+=i}if(a&&(t.beginPath(),t.arc(k,A,M,0,Math.PI*2),t.fillStyle=`#fff`,t.fill()),S){let n=p.map((t,n)=>({name:(f[n]??`Item ${n+1}`).toString(),color:d.dataPointColors?.[n]??d.color??e[n%e.length],values:[]})),i=k-D/2;_(t,{...r,series:n},S,s,c,l,u,i,A-O/2,D,O,b+2)}}function O(e,n,o,c){let{x:l,y:u,w:d,h:f}=o,p=S(n),m=p.length;if(m<3)return;let h=n.title?y(n,f,c):0,v=n.title?f*.035:0,C=n.title?f*.035:0,w=n.title?h+v+C:0,T=g(n,d,f),E=T?.side===`r`?T.reserveW:0,D=T?.side===`l`?T.reserveW:0,O=T?.side===`t`?T.reserveH:0,k=T?.side===`b`?T.reserveH:0;x(e,n,l,u+v,d,h);let A=d-E-D,j=f-w-O-k-f*.02,M=l+D+A/2,N=u+w+O+f*.02+j/2,P=Math.min(A,j)*.38,F=0;for(let e of n.series)for(let t of e.values)F=Math.max(F,t??0);n.valMax!=null&&(F=n.valMax),F===0&&(F=1);let I=i(F),L=n.valMax??a(F,I),R=-Math.PI/2,z=e=>R+e/m*Math.PI*2,B=Math.round(L/I);e.strokeStyle=`#ddd`,e.lineWidth=.5;for(let t=1;t<=B;t++){let n=t/B*P;e.beginPath();for(let t=0;t<m;t++){let r=z(t),i=M+Math.cos(r)*n,a=N+Math.sin(r)*n;t===0?e.moveTo(i,a):e.lineTo(i,a)}e.closePath(),e.stroke()}e.strokeStyle=`#bbb`,e.lineWidth=.5;for(let t=0;t<m;t++){let n=z(t);e.beginPath(),e.moveTo(M,N),e.lineTo(M+Math.cos(n)*P,N+Math.sin(n)*P),e.stroke()}if(!n.valAxisHidden){e.font=`${b(n.valAxisFontSizeHpt,f,c)}px sans-serif`,e.fillStyle=`#555`,e.textAlign=`right`,e.textBaseline=`middle`;for(let t=1;t<=B;t++){let n=t/B*L,r=t/B*P;e.fillText(s(n),M-3,N-r)}}e.font=`${Math.max(8,Math.min(11,P*.2))}px sans-serif`,e.fillStyle=`#444`,e.textBaseline=`middle`;for(let t=0;t<m;t++){let n=z(t),r=M+Math.cos(n)*(P+12),i=N+Math.sin(n)*(P+12);e.textAlign=Math.cos(n)<-.1?`right`:Math.cos(n)>.1?`left`:`center`,e.fillText((p[t]??``).toString().slice(0,12),r,i)}for(let i=0;i<n.series.length;i++){let a=n.series[i],o=t(i,a);e.beginPath();for(let t=0;t<m;t++){let n=(a.values[t]??0)/L,r=z(t),i=M+Math.cos(r)*P*n,o=N+Math.sin(r)*P*n;t===0?e.moveTo(i,o):e.lineTo(i,o)}e.closePath(),e.fillStyle=r(o,.25),e.fill(),e.strokeStyle=o,e.lineWidth=2,e.stroke()}_(e,n,T,l,u,d,f,M-A/2,N-j/2,A,j,w+2)}function k(e,n,r,a){let{x:o,y:s,w:l,h:u}=r,d=n.title?y(n,u,a):0,f=n.title?u*.035:0,p=n.title?u*.035:0,h=n.title?d+f+p:0,b=g(n,l,u),S=b?.side===`r`?b.reserveW:0,C=b?.side===`l`?b.reserveW:0,w=b?.side===`t`?b.reserveH:0,T=b?.side===`b`?b.reserveH:0,E=Math.max(8,Math.min(10,u*.045)),D=n.catAxisTitle?E+4:0,O=n.valAxisTitle?E+4:0;if(n.title){let t=n.titleManualLayout;t&&(t.x!==void 0||t.y!==void 0)?x(e,n,o+t.x*l,s+t.y*u,(t.w??.5)*l,d):x(e,n,o,s+f,l,d)}let k=n.plotAreaManualLayout,N,F,I,L;if(k&&k.w!=null&&k.h!=null)N=o+k.x*l,F=s+k.y*u,I=k.w*l,L=k.h*u;else{let e={t:h+w+u*.02,r:S+l*.05,b:(n.catAxisHidden?u*.04:u*.12)+D+T,l:(n.valAxisHidden?l*.04:l*.12)+O+C};N=o+e.l,F=s+e.t,I=l-e.l-e.r,L=u-e.t-e.b}if(I<=0||L<=0)return;n.plotAreaBg&&(e.fillStyle=`#${n.plotAreaBg}`,e.fillRect(N,F,I,L));let R=[],z=[];for(let e of n.series){let t=e.categories??[];for(let e of t){let t=parseFloat(e);isNaN(t)||R.push(t)}for(let t of e.values)t!=null&&z.push(t)}let B=R.length===0;if(B){let e=Math.max(...n.series.map(e=>e.values.length));for(let t=0;t<e;t++)R.push(t)}let V=Math.min(...R),H=Math.max(...R),U=Math.min(...z),W=Math.max(...z);if(V===H&&(--V,H+=1),U===W&&(--U,W+=1),n.valMin==null?U>0&&(U=0):U=n.valMin,n.valMax!=null&&(W=n.valMax),n.catAxisMin!=null&&(V=n.catAxisMin),n.catAxisMax!=null&&(H=n.catAxisMax),n.catAxisMin==null||n.catAxisMax==null){let e=i(H-V);e>0&&(n.catAxisMin??(V=Math.floor(V/e)*e),n.catAxisMax??(H=Math.ceil(H/e)*e))}let G=e=>N+(e-V)/(H-V)*I,K=e=>F+L-(e-U)/(W-U)*L;if(!n.valAxisHidden){let t=Math.max(8,Math.min(11,L/20));e.font=`${n.valAxisFontBold?`bold `:``}${t}px sans-serif`;let r=i(W-U),a=Math.round((W-U)/r)+1;for(let t=0;t<a;t++){let i=U+t*r;if(i>W+r*.01)break;let a=K(i);e.strokeStyle=`#e0e0e0`,e.lineWidth=.5,e.beginPath(),e.moveTo(N,a),e.lineTo(N+I,a),e.stroke(),e.fillStyle=`#555`,e.textAlign=`right`,e.textBaseline=`middle`,e.fillText(c(i,n.valAxisFormatCode),N-4,a);let o=n.valAxisLineColor?`#${n.valAxisLineColor}`:void 0,s=n.valAxisLineWidthEmu?Math.max(.5,n.valAxisLineWidthEmu/12700):void 0;v(e,n.valAxisMajorTickMark,`val`,N,a,o,s)}}let q=F+L;if(n.catAxisCrossesAt!=null)q=P(K(n.catAxisCrossesAt),F,F+L);else{let e=n.catAxisCrosses??`autoZero`;e===`autoZero`&&U<0&&W>0?q=P(K(0),F,F+L):e===`min`?q=F+L:e===`max`&&(q=F)}if(e.save(),e.strokeStyle=n.catAxisLineColor?`#${n.catAxisLineColor}`:`#888`,e.lineWidth=n.catAxisLineWidthEmu?Math.max(.5,n.catAxisLineWidthEmu/12700):1,e.lineCap=`butt`,e.beginPath(),e.moveTo(N,q),e.lineTo(N+I,q),e.stroke(),e.restore(),n.valAxisHidden||(e.save(),e.strokeStyle=n.valAxisLineColor?`#${n.valAxisLineColor}`:`#888`,e.lineWidth=n.valAxisLineWidthEmu?Math.max(.5,n.valAxisLineWidthEmu/12700):1,e.beginPath(),e.moveTo(N,F),e.lineTo(N,F+L),e.stroke(),e.restore()),!n.catAxisHidden){let t=Math.max(8,Math.min(11,L/20));e.font=`${n.catAxisFontBold?`bold `:``}${t}px sans-serif`;let r=i(H-V),a=Math.round((H-V)/r)+1;e.fillStyle=`#555`,e.textAlign=`center`,e.textBaseline=`top`;for(let t=0;t<a;t++){let i=V+t*r;if(i>H+r*.01)break;let a=G(i);e.fillText(c(i,n.catAxisFormatCode),a,q+4);let o=n.catAxisLineColor?`#${n.catAxisLineColor}`:void 0,s=n.catAxisLineWidthEmu?Math.max(.5,n.catAxisLineWidthEmu/12700):void 0;v(e,n.catAxisMajorTickMark,`cat`,q,a,o,s)}}for(let r=0;r<n.series.length;r++){let i=n.series[r],o=t(r,i),s=i.categories??[];for(let t of i.errBars??[])j(e,i,t,s,B,G,K,o);if(!(i.showMarker===!1||typeof i.markerSymbol==`string`&&i.markerSymbol===`none`))for(let t=0;t<i.values.length;t++){let n=i.values[t];if(n==null)continue;let r=B?t:parseFloat(s[t]??`0`);if(isNaN(r))continue;let c=(i.dataPointOverrides??[]).find(e=>e.idx===t),l=c?.markerSymbol??i.markerSymbol??`circle`,u=c?.markerSize??i.markerSize??5,d=c?.markerFill??c?.color??i.markerFill??o,f=c?.markerLine??i.markerLine??null;A(e,G(r),K(n),l,u,d,f,a)}M(e,i,s,B,G,K,L,a)}_(e,n,b,o,s,l,u,N,F,I,L,h+2),n.catAxisTitle&&m(e,n.catAxisTitle,N,F,I,L,`cat`,E),n.valAxisTitle&&m(e,n.valAxisTitle,N,F,I,L,`val`,E)}function A(e,t,n,r,i,a,o,s){let c=Math.max(2,i*s),l=c/2;switch(e.save(),e.fillStyle=`#${a}`,o&&(e.strokeStyle=`#${o}`,e.lineWidth=1),r){case`square`:e.fillRect(t-l,n-l,c,c),o&&e.strokeRect(t-l,n-l,c,c);break;case`diamond`:e.beginPath(),e.moveTo(t,n-l),e.lineTo(t+l,n),e.lineTo(t,n+l),e.lineTo(t-l,n),e.closePath(),e.fill(),o&&e.stroke();break;case`triangle`:e.beginPath(),e.moveTo(t,n-l),e.lineTo(t+l,n+l),e.lineTo(t-l,n+l),e.closePath(),e.fill(),o&&e.stroke();break;case`x`:e.strokeStyle=`#${a}`,e.lineWidth=Math.max(1,c*.18),e.beginPath(),e.moveTo(t-l,n-l),e.lineTo(t+l,n+l),e.moveTo(t-l,n+l),e.lineTo(t+l,n-l),e.stroke();break;case`plus`:e.strokeStyle=`#${a}`,e.lineWidth=Math.max(1,c*.18),e.beginPath(),e.moveTo(t-l,n),e.lineTo(t+l,n),e.moveTo(t,n-l),e.lineTo(t,n+l),e.stroke();break;case`star`:e.beginPath();for(let r=0;r<10;r++){let i=r%2==0?l:l*.45,a=-Math.PI/2+r*Math.PI/5,o=t+Math.cos(a)*i,s=n+Math.sin(a)*i;r===0?e.moveTo(o,s):e.lineTo(o,s)}e.closePath(),e.fill(),o&&e.stroke();break;case`dot`:e.beginPath(),e.arc(t,n,Math.max(1,c*.25),0,Math.PI*2),e.fill();break;case`dash`:{let r=Math.max(1,c*.25);e.fillRect(t-l,n-r/2,c,r);break}default:e.beginPath(),e.arc(t,n,l,0,Math.PI*2),e.fill(),o&&e.stroke();break}e.restore()}function j(e,t,n,r,i,a,o,s){e.save(),e.strokeStyle=n.color?`#${n.color}`:s,e.lineWidth=n.lineWidthEmu?Math.max(.5,n.lineWidthEmu/12700):1,e.setLineDash(F(n.dash));let c=n.barType===`plus`||n.barType===`both`,l=n.barType===`minus`||n.barType===`both`,u=n.dir===`x`,d=e.lineWidth*1.5;for(let s=0;s<t.values.length;s++){let f=t.values[s];if(f==null)continue;let p=i?s:parseFloat(r[s]??`0`);if(isNaN(p))continue;let m=a(p),h=o(f),g=t=>{let r=m,i=h;u?r=a(p+t):i=o(f+t),e.beginPath(),e.moveTo(m,h),e.lineTo(r,i),e.stroke(),n.noEndCap||(e.save(),e.setLineDash([]),e.beginPath(),u?(e.moveTo(r,i-d),e.lineTo(r,i+d)):(e.moveTo(r-d,i),e.lineTo(r+d,i)),e.stroke(),e.restore())};if(c){let e=n.plus[s];e!=null&&g(e)}if(l){let e=n.minus[s];e!=null&&g(-e)}}e.restore()}function M(e,t,n,r,i,a,o,s){let l=t.dataLabelOverrides??[];if(l.length===0&&!t.seriesDataLabels)return;let u=t.seriesDataLabels;for(let d=0;d<t.values.length;d++){let f=t.values[d];if(f==null)continue;let p=r?d:parseFloat(n[d]??`0`);if(isNaN(p))continue;let m=l.find(e=>e.idx===d),h;if(m){if(m.text===``)continue;h=m.text}else if(u&&(u.showVal||u.showSerName||u.showCatName)){let e=[];if(u.showCatName&&!r&&e.push(n[d]??``),u.showSerName&&e.push(t.name),u.showVal&&e.push(c(f,u.formatCode??null)),h=e.filter(Boolean).join(` `),!h)continue}else continue;let g=m?.position??u?.position??`r`,_=m?.fontSizeHpt??u?.fontSizeHpt,v=_?_/100*s:Math.max(9,Math.min(11,o/25)),y=m?.fontColor??u?.fontColor,b=m?.fontBold??u?.fontBold??!1;N(e,i(p),a(f),h,g,v,y,b)}}function N(e,t,n,r,i,a,o,s){e.save(),e.font=`${s?`bold `:``}${a}px sans-serif`,e.fillStyle=o?`#${o}`:`#333`;let c=a*.6,l=t,u=n;switch(i){case`l`:e.textAlign=`right`,e.textBaseline=`middle`,l=t-c;break;case`r`:e.textAlign=`left`,e.textBaseline=`middle`,l=t+c;break;case`t`:e.textAlign=`center`,e.textBaseline=`bottom`,u=n-c;break;case`b`:e.textAlign=`center`,e.textBaseline=`top`,u=n+c;break;case`ctr`:e.textAlign=`center`,e.textBaseline=`middle`;break;default:e.textAlign=`left`,e.textBaseline=`middle`,l=t+c;break}let d=r.split(/\r?\n/),f=a*1.15,p=f*d.length,m=u;e.textBaseline===`middle`?m=u-(p-f)/2:e.textBaseline===`bottom`&&(m=u-(p-f));for(let t of d)e.fillText(t,l,m),m+=f;e.restore()}function P(e,t,n){return e<t?t:e>n?n:e}function F(e){if(!e)return[];switch(e){case`solid`:return[];case`dot`:case`sysDot`:return[1,2];case`dash`:case`sysDash`:return[4,2];case`lgDash`:return[8,3];case`dashDot`:case`sysDashDot`:return[4,2,1,2];case`lgDashDot`:return[8,3,1,3];case`dashDotDot`:case`sysDashDotDot`:case`lgDashDotDot`:return[4,2,1,2,1,2];default:return[]}}function I(e,t,n){let{x:r,y:a,w:o,h:s}=n,c=t.valAxisHidden?o*.01:o*.11,l=o*.01,u=s*.12,d=s*.14,f=r+c,p=a+u,m=o-c-l,h=s-u-d,g=t.series[0]?.values??[],_=t.categories,v=_.length;if(v===0)return;let y=new Set(t.subtotalIndices),b=0,x=[];for(let e=0;e<v;e++){let t=g[e]??0;if(e===0||y.has(e))x.push({start:0,end:t,isSub:!0,isPos:!0}),b=t;else{let e=t>=0?b:b+t,n=t>=0?b+t:b;x.push({start:e,end:n,isSub:!1,isPos:t>=0}),b+=t}}let S=x.map(e=>e.end),C=x.map(e=>e.start),w=Math.max(...S,...C),T=Math.min(...C,0),E=w-T;if(E<=0)return;let D=T<0?T-E*.05:0,O=(w-D)*1.1,k=D+O,A=i(O);e.save();let j=Math.round(s*.042);if(e.font=`${j}px sans-serif`,!t.valAxisHidden){e.strokeStyle=`#e8e8e8`,e.lineWidth=.7,e.fillStyle=`#666`,e.textAlign=`right`,e.textBaseline=`middle`;for(let t=Math.ceil(D/A)*A;t<=k;t+=A){let n=p+h*(1-(t-D)/O);e.beginPath(),e.moveTo(f,n),e.lineTo(f+m,n),e.stroke(),e.fillText(t.toLocaleString(),f-4,n)}}e.strokeStyle=`#bbb`,e.lineWidth=1,e.beginPath(),t.valAxisHidden?t.catAxisHidden||(e.moveTo(f,p+h),e.lineTo(f+m,p+h)):(e.moveTo(f,p),e.lineTo(f,p+h),e.lineTo(f+m,p+h)),e.stroke();let M=m/v,N=M/(1+(t.barGapWidth??150)/100);x.forEach((n,r)=>{let i=f+M*r+(M-N)/2,a=p+h*(1-(n.end-D)/O),o=p+h*(1-(n.start-D)/O),c=Math.max(1,o-a);if(n.isSub?(e.fillStyle=`#196ECA`,e.fillRect(i,a,N,c)):(e.strokeStyle=n.isPos?`#5BA4E6`:`#E46970`,e.lineWidth=1.5,e.strokeRect(i+.75,a+.75,N-1.5,c-1.5)),r<v-1){let t=f+M*(r+1)+(M-N)/2,s=n.isPos?a:o;e.strokeStyle=`#ccc`,e.lineWidth=.8,e.setLineDash([3,3]),e.beginPath(),e.moveTo(i+N,s),e.lineTo(t,s),e.stroke(),e.setLineDash([])}let l=g[r]??0,u=l<0?`△ ${Math.abs(l).toLocaleString()}`:l.toLocaleString(),d=t.series[0]?.dataLabelColors?.[r]??null;e.fillStyle=d?`#${d}`:t.dataLabelFontColor?`#${t.dataLabelFontColor}`:`#595959`,e.font=`bold ${Math.round(s*.044)}px sans-serif`,e.textAlign=`center`,l<0?(e.textBaseline=`top`,e.fillText(u,i+N/2,o+3)):(e.textBaseline=`bottom`,e.fillText(u,i+N/2,a-3))}),e.textAlign=`center`,e.textBaseline=`top`,e.fillStyle=`#666`,e.font=`${Math.round(s*.038)}px sans-serif`;let P=p+h+4;for(let t=0;t<v;t++){let n=f+M*t+M/2;_[t].split(/\s+/).forEach((t,r)=>e.fillText(t,n,P+r*(j+2)))}e.restore()}function L(e,t,n,r=1.333){let{x:i,y:a,w:o,h:s}=n;if(t.chartBg&&(e.fillStyle=`#${t.chartBg}`,e.fillRect(i,a,o,s)),t.series.length===0){e.fillStyle=`#888`,e.font=`12px sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(`(no data)`,i+o/2,a+s/2);return}switch(t.chartType){case`clusteredBar`:case`clusteredBarH`:case`stackedBar`:case`stackedBarH`:case`stackedBarPct`:case`stackedBarHPct`:w(e,t,n,r);break;case`line`:case`stackedLine`:case`stackedLinePct`:T(e,t,n,r);break;case`area`:case`stackedArea`:case`stackedAreaPct`:E(e,t,n,r);break;case`pie`:D(e,t,n,!1,r);break;case`doughnut`:D(e,t,n,!0,r);break;case`radar`:O(e,t,n,r);break;case`scatter`:case`bubble`:k(e,t,n,r);break;case`waterfall`:I(e,t,n);break;default:e.fillStyle=`#888`,e.font=`11px sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(`Chart: ${t.chartType}`,i+o/2,a+s/2)}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return L}});
|
|
@@ -32,7 +32,7 @@ function i(e, t = 5) {
|
|
|
32
32
|
function a(e, t) {
|
|
33
33
|
if (e <= 0) return t;
|
|
34
34
|
let n = Math.ceil(e / t) * t;
|
|
35
|
-
return
|
|
35
|
+
return e / n >= .9 ? n + t : n;
|
|
36
36
|
}
|
|
37
37
|
function o(e, t) {
|
|
38
38
|
if (e >= 0) return 0;
|
|
@@ -324,60 +324,60 @@ function w(e, n, r, o) {
|
|
|
324
324
|
l: u * .12 + L + M
|
|
325
325
|
};
|
|
326
326
|
f && (R.l = (n.catAxisHidden ? u * .03 : u * .22) + L + M, R.b = (n.valAxisHidden ? d * .02 : d * .08) + I + P), x(e, n, s, l + D, u, E);
|
|
327
|
-
let z =
|
|
328
|
-
if (V <= 0 ||
|
|
329
|
-
n.plotAreaBg && (e.fillStyle = `#${n.plotAreaBg}`, e.fillRect(
|
|
330
|
-
let
|
|
327
|
+
let z = n.plotAreaManualLayout, B, V, H, U;
|
|
328
|
+
if (z && z.w != null && z.h != null ? (B = s + z.x * u, V = l + z.y * d, H = z.w * u, U = z.h * d) : (B = s + R.l, V = l + R.t, H = u - R.l - R.r, U = d - R.t - R.b), H <= 0 || U <= 0) return;
|
|
329
|
+
n.plotAreaBg && (e.fillStyle = `#${n.plotAreaBg}`, e.fillRect(B, V, H, U));
|
|
330
|
+
let W = 0;
|
|
331
331
|
for (let e = 0; e < T; e++) {
|
|
332
332
|
let t = 0;
|
|
333
333
|
for (let n of v) {
|
|
334
334
|
let r = n.values[e] ?? 0;
|
|
335
|
-
p ? t += Math.abs(r) :
|
|
335
|
+
p ? t += Math.abs(r) : W = Math.max(W, Math.abs(r));
|
|
336
336
|
}
|
|
337
|
-
p && (
|
|
337
|
+
p && (W = Math.max(W, t));
|
|
338
338
|
}
|
|
339
|
-
h && (
|
|
340
|
-
let
|
|
341
|
-
if (e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11,
|
|
342
|
-
let r = t *
|
|
339
|
+
h && (W = 100), n.valMax != null && (W = n.valMax), W === 0 && (W = 1);
|
|
340
|
+
let G = i(W), K = n.valMax ?? a(W, G), q = "#e0e0e0", J = Math.round(K / G);
|
|
341
|
+
if (e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11, U / 20))}px sans-serif`, e.fillStyle = "#555", !n.valAxisHidden) for (let t = 0; t <= J; t++) {
|
|
342
|
+
let r = t * G, i = h ? `${Math.round(r)}%` : c(r, n.valAxisFormatCode);
|
|
343
343
|
if (f) {
|
|
344
|
-
let n =
|
|
345
|
-
e.strokeStyle = t === 0 ? "#aaa" :
|
|
344
|
+
let n = B + r / K * H;
|
|
345
|
+
e.strokeStyle = t === 0 ? "#aaa" : q, e.lineWidth = t === 0 ? 1 : .5, e.beginPath(), e.moveTo(n, V), e.lineTo(n, V + U), e.stroke(), e.textAlign = "center", e.fillText(i, n, V + U + 10);
|
|
346
346
|
} else {
|
|
347
|
-
let n =
|
|
348
|
-
e.strokeStyle = t === 0 ? "#aaa" :
|
|
347
|
+
let n = V + U - r / K * U;
|
|
348
|
+
e.strokeStyle = t === 0 ? "#aaa" : q, e.lineWidth = t === 0 ? 1 : .5, e.beginPath(), e.moveTo(B, n), e.lineTo(B + H, n), e.stroke(), e.textAlign = "right", e.fillText(i, B - 4, n);
|
|
349
349
|
}
|
|
350
350
|
}
|
|
351
|
-
e.strokeStyle = "#aaa", e.lineWidth = 1, f ? (e.beginPath(), e.moveTo(
|
|
352
|
-
let
|
|
351
|
+
e.strokeStyle = "#aaa", e.lineWidth = 1, f ? (e.beginPath(), e.moveTo(B, V), e.lineTo(B, V + U), e.stroke()) : (e.beginPath(), e.moveTo(B, V + U), e.lineTo(B + H, V + U), e.stroke());
|
|
352
|
+
let Y = f ? U / T : H / T, X = p ? 1 : Math.max(1, v.length), Z = p ? 0 : n.barOverlap ?? 0, ee = n.barGapWidth ?? 150, Q = Y / (1 + (X - 1) * (1 - Z / 100) + ee / 100), te = p ? 0 : Q * (1 - Z / 100), $ = (Y - (Q + (X - 1) * te)) / 2;
|
|
353
353
|
for (let r = 0; r < T; r++) {
|
|
354
354
|
let i = 0, a = 0;
|
|
355
355
|
if (h) {
|
|
356
356
|
for (let e of v) a += Math.abs(e.values[r] ?? 0);
|
|
357
357
|
a === 0 && (a = 1);
|
|
358
358
|
}
|
|
359
|
-
for (let
|
|
360
|
-
let
|
|
359
|
+
for (let s = 0; s < v.length; s++) {
|
|
360
|
+
let l = v[s], u = l.values[r] ?? 0, d = h ? Math.abs(u) / a * 100 : Math.abs(u), m = t(s, l);
|
|
361
361
|
if (f) {
|
|
362
|
-
let t = p ?
|
|
363
|
-
e.fillStyle =
|
|
362
|
+
let t = p ? s : v.length - 1 - s, a = p ? V + (T - 1 - r) * Y + $ : V + (T - 1 - r) * Y + $ + t * te, u = d / K * H, f = p ? B + i / K * H : B;
|
|
363
|
+
e.fillStyle = m, e.fillRect(f, a, u, Q), n.showDataLabels && d > 0 && (e.font = `bold ${n.dataLabelFontSizeHpt ? n.dataLabelFontSizeHpt / 100 * o : Math.max(7, Math.min(11, Q * .6))}px sans-serif`, C(e, h ? `${Math.round(d)}%` : c(d, n.dataLabelFormatCode ?? l.valFormatCode ?? null), f, a, u, Q, "horizontal", n.dataLabelPosition ?? null, n.dataLabelFontColor ?? null));
|
|
364
364
|
} else {
|
|
365
|
-
let t = p ?
|
|
366
|
-
e.fillStyle =
|
|
365
|
+
let t = p ? B + r * Y + $ : B + r * Y + $ + s * te, a = d / K * U, u = V + U - (p ? i + d : d) / K * U;
|
|
366
|
+
e.fillStyle = m, e.fillRect(t, u, Q, a), n.showDataLabels && d > 0 && (e.font = `bold ${n.dataLabelFontSizeHpt ? n.dataLabelFontSizeHpt / 100 * o : Math.max(7, Math.min(11, Q * .6))}px sans-serif`, C(e, h ? `${Math.round(d)}%` : c(d, n.dataLabelFormatCode ?? l.valFormatCode ?? null), t, u, a, Q, "vertical", n.dataLabelPosition ?? null, n.dataLabelFontColor ?? null));
|
|
367
367
|
}
|
|
368
|
-
p && (i +=
|
|
368
|
+
p && (i += d);
|
|
369
369
|
}
|
|
370
370
|
}
|
|
371
371
|
if (!n.catAxisHidden) {
|
|
372
|
-
e.fillStyle = "#555", e.font = `${Math.max(8, Math.min(11,
|
|
372
|
+
e.fillStyle = "#555", e.font = `${Math.max(8, Math.min(11, Y * .5))}px sans-serif`;
|
|
373
373
|
for (let t = 0; t < T; t++) {
|
|
374
374
|
let n = (w[t] ?? "").toString().slice(0, 12);
|
|
375
375
|
if (f) {
|
|
376
|
-
let r =
|
|
377
|
-
e.textAlign = "right", e.textBaseline = "middle", e.fillText(n,
|
|
376
|
+
let r = V + (T - 1 - t) * Y + Y / 2;
|
|
377
|
+
e.textAlign = "right", e.textBaseline = "middle", e.fillText(n, B - 4, r);
|
|
378
378
|
} else {
|
|
379
|
-
let r =
|
|
380
|
-
e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r,
|
|
379
|
+
let r = B + t * Y + Y / 2;
|
|
380
|
+
e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r, V + U + 3);
|
|
381
381
|
}
|
|
382
382
|
}
|
|
383
383
|
}
|
|
@@ -391,20 +391,20 @@ function w(e, n, r, o) {
|
|
|
391
391
|
a = !1;
|
|
392
392
|
continue;
|
|
393
393
|
}
|
|
394
|
-
let i =
|
|
394
|
+
let i = B + t * Y + Y / 2, o = V + U - n / K * U;
|
|
395
395
|
a ? e.lineTo(i, o) : (e.moveTo(i, o), a = !0);
|
|
396
396
|
}
|
|
397
397
|
if (e.stroke(), r.showMarker !== !1) for (let t = 0; t < T; t++) {
|
|
398
398
|
let n = r.values[t];
|
|
399
399
|
if (n == null) continue;
|
|
400
|
-
let a =
|
|
400
|
+
let a = B + t * Y + Y / 2, o = V + U - n / K * U;
|
|
401
401
|
e.fillStyle = i, e.beginPath(), e.arc(a, o, 3, 0, Math.PI * 2), e.fill();
|
|
402
402
|
}
|
|
403
403
|
}
|
|
404
404
|
_(e, f && !p ? {
|
|
405
405
|
...n,
|
|
406
406
|
series: [...n.series].reverse()
|
|
407
|
-
} : n, A, s, l, u, d,
|
|
407
|
+
} : n, A, s, l, u, d, B, V, H, U, k + 2), n.catAxisTitle && m(e, n.catAxisTitle, B, V, H, U, "cat", F), n.valAxisTitle && m(e, n.valAxisTitle, B, V, H, U, "val", F);
|
|
408
408
|
}
|
|
409
409
|
function T(e, n, r, l) {
|
|
410
410
|
let { x: u, y: d, w: f, h: p } = r, h = S(n), C = h.length;
|
|
@@ -434,10 +434,10 @@ function T(e, n, r, l) {
|
|
|
434
434
|
}
|
|
435
435
|
}
|
|
436
436
|
e.strokeStyle = "#aaa", e.lineWidth = 1, e.beginPath(), e.moveTo(z, B + H), e.lineTo(z + V, B + H), e.stroke(), n.valAxisHidden || (e.beginPath(), e.moveTo(z, B), e.lineTo(z, B + H), e.stroke());
|
|
437
|
-
let
|
|
437
|
+
let Z = Math.max(1, 2.25 * l), ee = Math.max(2, 2.5 * l), Q = b(n.dataLabelFontSizeHpt, p, l);
|
|
438
438
|
for (let r = 0; r < n.series.length; r++) {
|
|
439
439
|
let i = n.series[r], a = t(r, i);
|
|
440
|
-
e.strokeStyle = a, e.lineWidth =
|
|
440
|
+
e.strokeStyle = a, e.lineWidth = Z, e.setLineDash([]), e.beginPath();
|
|
441
441
|
let o = !1;
|
|
442
442
|
for (let t = 0; t < C; t++) {
|
|
443
443
|
let n = i.values[t];
|
|
@@ -452,9 +452,9 @@ function T(e, n, r, l) {
|
|
|
452
452
|
let c = i.showMarker !== !1;
|
|
453
453
|
for (let t = 0; t < C; t++) {
|
|
454
454
|
let r = i.values[t];
|
|
455
|
-
if (r != null && (c && (e.beginPath(), e.arc(X(t), Y(r),
|
|
455
|
+
if (r != null && (c && (e.beginPath(), e.arc(X(t), Y(r), ee, 0, Math.PI * 2), e.fill()), n.showDataLabels)) {
|
|
456
456
|
e.font = `${Q}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom";
|
|
457
|
-
let n = c ?
|
|
457
|
+
let n = c ? ee + 1 : 2;
|
|
458
458
|
e.fillText(s(r), X(t), Y(r) - n), e.fillStyle = a;
|
|
459
459
|
}
|
|
460
460
|
}
|
|
@@ -847,7 +847,7 @@ function F(e) {
|
|
|
847
847
|
}
|
|
848
848
|
}
|
|
849
849
|
function I(e, t, n) {
|
|
850
|
-
let { x: r, y: a, w: o, h: s } = n, c = o * .11, l = o * .
|
|
850
|
+
let { x: r, y: a, w: o, h: s } = n, c = t.valAxisHidden ? o * .01 : o * .11, l = o * .01, u = s * .12, d = s * .14, f = r + c, p = a + u, m = o - c - l, h = s - u - d, g = t.series[0]?.values ?? [], _ = t.categories, v = _.length;
|
|
851
851
|
if (v === 0) return;
|
|
852
852
|
let y = new Set(t.subtotalIndices), b = 0, x = [];
|
|
853
853
|
for (let e = 0; e < v; e++) {
|
|
@@ -870,28 +870,30 @@ function I(e, t, n) {
|
|
|
870
870
|
}
|
|
871
871
|
let S = x.map((e) => e.end), C = x.map((e) => e.start), w = Math.max(...S, ...C), T = Math.min(...C, 0), E = w - T;
|
|
872
872
|
if (E <= 0) return;
|
|
873
|
-
let D = E *
|
|
873
|
+
let D = T < 0 ? T - E * .05 : 0, O = (w - D) * 1.1, k = D + O, A = i(O);
|
|
874
874
|
e.save();
|
|
875
875
|
let j = Math.round(s * .042);
|
|
876
|
-
e.font = `${j}px sans-serif`,
|
|
877
|
-
|
|
878
|
-
let
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
876
|
+
if (e.font = `${j}px sans-serif`, !t.valAxisHidden) {
|
|
877
|
+
e.strokeStyle = "#e8e8e8", e.lineWidth = .7, e.fillStyle = "#666", e.textAlign = "right", e.textBaseline = "middle";
|
|
878
|
+
for (let t = Math.ceil(D / A) * A; t <= k; t += A) {
|
|
879
|
+
let n = p + h * (1 - (t - D) / O);
|
|
880
|
+
e.beginPath(), e.moveTo(f, n), e.lineTo(f + m, n), e.stroke(), e.fillText(t.toLocaleString(), f - 4, n);
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
e.strokeStyle = "#bbb", e.lineWidth = 1, e.beginPath(), t.valAxisHidden ? t.catAxisHidden || (e.moveTo(f, p + h), e.lineTo(f + m, p + h)) : (e.moveTo(f, p), e.lineTo(f, p + h), e.lineTo(f + m, p + h)), e.stroke();
|
|
884
|
+
let M = m / v, N = M / (1 + (t.barGapWidth ?? 150) / 100);
|
|
885
|
+
x.forEach((n, r) => {
|
|
886
|
+
let i = f + M * r + (M - N) / 2, a = p + h * (1 - (n.end - D) / O), o = p + h * (1 - (n.start - D) / O), c = Math.max(1, o - a);
|
|
887
|
+
if (n.isSub ? (e.fillStyle = "#196ECA", e.fillRect(i, a, N, c)) : (e.strokeStyle = n.isPos ? "#5BA4E6" : "#E46970", e.lineWidth = 1.5, e.strokeRect(i + .75, a + .75, N - 1.5, c - 1.5)), r < v - 1) {
|
|
888
|
+
let t = f + M * (r + 1) + (M - N) / 2, s = n.isPos ? a : o;
|
|
889
|
+
e.strokeStyle = "#ccc", e.lineWidth = .8, e.setLineDash([3, 3]), e.beginPath(), e.moveTo(i + N, s), e.lineTo(t, s), e.stroke(), e.setLineDash([]);
|
|
890
|
+
}
|
|
891
|
+
let l = g[r] ?? 0, u = l < 0 ? `△ ${Math.abs(l).toLocaleString()}` : l.toLocaleString(), d = t.series[0]?.dataLabelColors?.[r] ?? null;
|
|
892
|
+
e.fillStyle = d ? `#${d}` : t.dataLabelFontColor ? `#${t.dataLabelFontColor}` : "#595959", e.font = `bold ${Math.round(s * .044)}px sans-serif`, e.textAlign = "center", l < 0 ? (e.textBaseline = "top", e.fillText(u, i + N / 2, o + 3)) : (e.textBaseline = "bottom", e.fillText(u, i + N / 2, a - 3));
|
|
891
893
|
}), e.textAlign = "center", e.textBaseline = "top", e.fillStyle = "#666", e.font = `${Math.round(s * .038)}px sans-serif`;
|
|
892
894
|
let P = p + h + 4;
|
|
893
895
|
for (let t = 0; t < v; t++) {
|
|
894
|
-
let n = f +
|
|
896
|
+
let n = f + M * t + M / 2;
|
|
895
897
|
_[t].split(/\s+/).forEach((t, r) => e.fillText(t, n, P + r * (j + 2)));
|
|
896
898
|
}
|
|
897
899
|
e.restore();
|
package/dist/types/index.d.ts
CHANGED
|
@@ -410,6 +410,24 @@ declare interface ChartElement {
|
|
|
410
410
|
valAxisFontSizeHpt: number | null;
|
|
411
411
|
/** `<c:dLbls><c:txPr>` font size (hpt) for data-point value labels. */
|
|
412
412
|
dataLabelFontSizeHpt: number | null;
|
|
413
|
+
/** `<c:legend><c:legendPos val>` — "r" (default) | "l" | "t" | "b" | "tr". */
|
|
414
|
+
legendPos?: 'r' | 'l' | 't' | 'b' | 'tr' | null;
|
|
415
|
+
/** `<c:barChart><c:gapWidth val>` — % of bar width between category groups (default 150). */
|
|
416
|
+
barGapWidth?: number | null;
|
|
417
|
+
/** `<c:barChart><c:overlap val>` — signed % of bar width for cluster overlap. */
|
|
418
|
+
barOverlap?: number | null;
|
|
419
|
+
/** `<c:dLbls><c:dLblPos val>` — data label placement ("ctr" | "inEnd" | "outEnd" | …). */
|
|
420
|
+
dataLabelPosition?: string | null;
|
|
421
|
+
/** `<c:dLbls><c:txPr>…<a:solidFill>` resolved to hex (no '#'). null = renderer default. */
|
|
422
|
+
dataLabelFontColor?: string | null;
|
|
423
|
+
/** `<c:dLbls><c:numFmt formatCode>` — data label number format. */
|
|
424
|
+
dataLabelFormatCode?: string | null;
|
|
425
|
+
/** `<c:valAx><c:numFmt formatCode>` — value-axis tick label number format. */
|
|
426
|
+
valAxisFormatCode?: string | null;
|
|
427
|
+
/** `<c:plotArea><c:layout><c:manualLayout>` (ECMA-376 §21.2.2.32) — explicit
|
|
428
|
+
* plot-area placement so bars don't extend past the chart-frame's intended
|
|
429
|
+
* inner region (sample-2 slide-16 horizontal bar chart). */
|
|
430
|
+
plotAreaManualLayout?: ChartManualLayout | null;
|
|
413
431
|
}
|
|
414
432
|
|
|
415
433
|
declare interface ChartErrBars {
|
|
@@ -427,6 +445,21 @@ declare interface ChartErrBars {
|
|
|
427
445
|
dash?: string;
|
|
428
446
|
}
|
|
429
447
|
|
|
448
|
+
/**
|
|
449
|
+
* `<c:manualLayout>` block. Fractions are of the chart-space rect.
|
|
450
|
+
* `xMode`/`yMode`: "edge" = absolute fraction from top-left, "factor" =
|
|
451
|
+
* fraction offset from default position.
|
|
452
|
+
*/
|
|
453
|
+
declare interface ChartManualLayout {
|
|
454
|
+
xMode: string;
|
|
455
|
+
yMode: string;
|
|
456
|
+
layoutTarget?: string;
|
|
457
|
+
x: number;
|
|
458
|
+
y: number;
|
|
459
|
+
w?: number;
|
|
460
|
+
h?: number;
|
|
461
|
+
}
|
|
462
|
+
|
|
430
463
|
declare interface ChartSeries {
|
|
431
464
|
name: string;
|
|
432
465
|
/** Hex without '#'. null = fall back to palette. */
|
|
@@ -438,6 +471,13 @@ declare interface ChartSeries {
|
|
|
438
471
|
* array = use palette for that slice. Omit entirely for non-pie series.
|
|
439
472
|
*/
|
|
440
473
|
dataPointColors?: (string | null)[] | null;
|
|
474
|
+
/**
|
|
475
|
+
* Per-data-point data-label text colors. Used by chartEx (`<cx:dataLabel idx>`)
|
|
476
|
+
* to override label colour per bar — sample-2's waterfall paints negative
|
|
477
|
+
* △ values in red while positive values stay black. Null inside the array =
|
|
478
|
+
* fall back to the chart-level `dataLabelFontColor`.
|
|
479
|
+
*/
|
|
480
|
+
dataLabelColors?: (string | null)[] | null;
|
|
441
481
|
/**
|
|
442
482
|
* Mixed chart: per-series chart type override. Currently only "line" (XLSX)
|
|
443
483
|
* is honoured; other values are treated as the chart's primary type.
|
|
@@ -1203,6 +1243,14 @@ declare interface PictureElement {
|
|
|
1203
1243
|
};
|
|
1204
1244
|
/** a:blip > a:alphaModFix@amt as 0..1. Undefined = fully opaque. */
|
|
1205
1245
|
alpha?: number;
|
|
1246
|
+
/**
|
|
1247
|
+
* `<p:spPr><a:custGeom>` clipping path. Same `PathCmd` model as
|
|
1248
|
+
* `ShapeElement.custGeom` (one entry per `<a:path>`; coords normalized
|
|
1249
|
+
* into [0,1] of the picture's bounding box). The renderer builds a
|
|
1250
|
+
* Path2D and `ctx.clip()` before drawing the bitmap so the image is
|
|
1251
|
+
* trimmed to the laptop / device silhouette declared in the file.
|
|
1252
|
+
*/
|
|
1253
|
+
custGeom?: PathCmd[][] | null;
|
|
1206
1254
|
}
|
|
1207
1255
|
|
|
1208
1256
|
export declare namespace pptx {
|
|
@@ -2003,6 +2051,14 @@ declare interface TextBody {
|
|
|
2003
2051
|
vert: string;
|
|
2004
2052
|
/** Auto-fit: "sp" = shape grows to fit text, "norm" = font shrinks, "none" = no fit */
|
|
2005
2053
|
autoFit: string;
|
|
2054
|
+
/**
|
|
2055
|
+
* `<a:bodyPr numCol>` (ECMA-376 §20.1.10.34) — number of text columns inside
|
|
2056
|
+
* the shape. Defaults to 1; values > 1 cause the renderer to flow paragraphs
|
|
2057
|
+
* across N columns left-to-right, top-to-bottom.
|
|
2058
|
+
*/
|
|
2059
|
+
numCol?: number;
|
|
2060
|
+
/** `<a:bodyPr spcCol>` — gap between columns in EMU. Default 0. */
|
|
2061
|
+
spcCol?: number;
|
|
2006
2062
|
}
|
|
2007
2063
|
|
|
2008
2064
|
declare type TextRun = TextRunData | LineBreak;
|
package/dist/types/pptx.d.ts
CHANGED
|
@@ -114,6 +114,24 @@ declare interface ChartElement {
|
|
|
114
114
|
valAxisFontSizeHpt: number | null;
|
|
115
115
|
/** `<c:dLbls><c:txPr>` font size (hpt) for data-point value labels. */
|
|
116
116
|
dataLabelFontSizeHpt: number | null;
|
|
117
|
+
/** `<c:legend><c:legendPos val>` — "r" (default) | "l" | "t" | "b" | "tr". */
|
|
118
|
+
legendPos?: 'r' | 'l' | 't' | 'b' | 'tr' | null;
|
|
119
|
+
/** `<c:barChart><c:gapWidth val>` — % of bar width between category groups (default 150). */
|
|
120
|
+
barGapWidth?: number | null;
|
|
121
|
+
/** `<c:barChart><c:overlap val>` — signed % of bar width for cluster overlap. */
|
|
122
|
+
barOverlap?: number | null;
|
|
123
|
+
/** `<c:dLbls><c:dLblPos val>` — data label placement ("ctr" | "inEnd" | "outEnd" | …). */
|
|
124
|
+
dataLabelPosition?: string | null;
|
|
125
|
+
/** `<c:dLbls><c:txPr>…<a:solidFill>` resolved to hex (no '#'). null = renderer default. */
|
|
126
|
+
dataLabelFontColor?: string | null;
|
|
127
|
+
/** `<c:dLbls><c:numFmt formatCode>` — data label number format. */
|
|
128
|
+
dataLabelFormatCode?: string | null;
|
|
129
|
+
/** `<c:valAx><c:numFmt formatCode>` — value-axis tick label number format. */
|
|
130
|
+
valAxisFormatCode?: string | null;
|
|
131
|
+
/** `<c:plotArea><c:layout><c:manualLayout>` (ECMA-376 §21.2.2.32) — explicit
|
|
132
|
+
* plot-area placement so bars don't extend past the chart-frame's intended
|
|
133
|
+
* inner region (sample-2 slide-16 horizontal bar chart). */
|
|
134
|
+
plotAreaManualLayout?: ChartManualLayout | null;
|
|
117
135
|
}
|
|
118
136
|
|
|
119
137
|
declare interface ChartErrBars {
|
|
@@ -131,6 +149,21 @@ declare interface ChartErrBars {
|
|
|
131
149
|
dash?: string;
|
|
132
150
|
}
|
|
133
151
|
|
|
152
|
+
/**
|
|
153
|
+
* `<c:manualLayout>` block. Fractions are of the chart-space rect.
|
|
154
|
+
* `xMode`/`yMode`: "edge" = absolute fraction from top-left, "factor" =
|
|
155
|
+
* fraction offset from default position.
|
|
156
|
+
*/
|
|
157
|
+
declare interface ChartManualLayout {
|
|
158
|
+
xMode: string;
|
|
159
|
+
yMode: string;
|
|
160
|
+
layoutTarget?: string;
|
|
161
|
+
x: number;
|
|
162
|
+
y: number;
|
|
163
|
+
w?: number;
|
|
164
|
+
h?: number;
|
|
165
|
+
}
|
|
166
|
+
|
|
134
167
|
declare interface ChartSeries {
|
|
135
168
|
name: string;
|
|
136
169
|
/** Hex without '#'. null = fall back to palette. */
|
|
@@ -142,6 +175,13 @@ declare interface ChartSeries {
|
|
|
142
175
|
* array = use palette for that slice. Omit entirely for non-pie series.
|
|
143
176
|
*/
|
|
144
177
|
dataPointColors?: (string | null)[] | null;
|
|
178
|
+
/**
|
|
179
|
+
* Per-data-point data-label text colors. Used by chartEx (`<cx:dataLabel idx>`)
|
|
180
|
+
* to override label colour per bar — sample-2's waterfall paints negative
|
|
181
|
+
* △ values in red while positive values stay black. Null inside the array =
|
|
182
|
+
* fall back to the chart-level `dataLabelFontColor`.
|
|
183
|
+
*/
|
|
184
|
+
dataLabelColors?: (string | null)[] | null;
|
|
145
185
|
/**
|
|
146
186
|
* Mixed chart: per-series chart type override. Currently only "line" (XLSX)
|
|
147
187
|
* is honoured; other values are treated as the chart's primary type.
|
|
@@ -388,6 +428,14 @@ export declare interface PictureElement {
|
|
|
388
428
|
};
|
|
389
429
|
/** a:blip > a:alphaModFix@amt as 0..1. Undefined = fully opaque. */
|
|
390
430
|
alpha?: number;
|
|
431
|
+
/**
|
|
432
|
+
* `<p:spPr><a:custGeom>` clipping path. Same `PathCmd` model as
|
|
433
|
+
* `ShapeElement.custGeom` (one entry per `<a:path>`; coords normalized
|
|
434
|
+
* into [0,1] of the picture's bounding box). The renderer builds a
|
|
435
|
+
* Path2D and `ctx.clip()` before drawing the bitmap so the image is
|
|
436
|
+
* trimmed to the laptop / device silhouette declared in the file.
|
|
437
|
+
*/
|
|
438
|
+
custGeom?: PathCmd[][] | null;
|
|
391
439
|
}
|
|
392
440
|
|
|
393
441
|
/**
|
|
@@ -760,6 +808,14 @@ export declare interface TextBody {
|
|
|
760
808
|
vert: string;
|
|
761
809
|
/** Auto-fit: "sp" = shape grows to fit text, "norm" = font shrinks, "none" = no fit */
|
|
762
810
|
autoFit: string;
|
|
811
|
+
/**
|
|
812
|
+
* `<a:bodyPr numCol>` (ECMA-376 §20.1.10.34) — number of text columns inside
|
|
813
|
+
* the shape. Defaults to 1; values > 1 cause the renderer to flow paragraphs
|
|
814
|
+
* across N columns left-to-right, top-to-bottom.
|
|
815
|
+
*/
|
|
816
|
+
numCol?: number;
|
|
817
|
+
/** `<a:bodyPr spcCol>` — gap between columns in EMU. Default 0. */
|
|
818
|
+
spcCol?: number;
|
|
763
819
|
}
|
|
764
820
|
|
|
765
821
|
export declare type TextRun = TextRunData | LineBreak;
|