"use strict";var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};function e(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}var n=function(){return n=Object.assign||function(t){for(var e,n=1,r=arguments.length;n2&&r.push(t)}const a=[];e=Math.max(e,.1);const o=[];for(const t of r)for(let e=0;et.ymine.ymin?1:t.xe.x?1:t.ymax===e.ymax?0:(t.ymax-e.ymax)/Math.abs(t.ymax-e.ymax))),!o.length)return a;let i=[],h=o[0].ymin,u=0;for(;i.length||o.length;){if(o.length){let t=-1;for(let e=0;eh);e++)t=e;o.splice(0,t+1).forEach((t=>{i.push({s:h,edge:t})}))}if(i=i.filter((t=>!(t.edge.ymax<=h))),i.sort(((t,e)=>t.edge.x===e.edge.x?0:(t.edge.x-e.edge.x)/Math.abs(t.edge.x-e.edge.x))),(1!==n||u%e==0)&&i.length>1)for(let t=0;t=i.length)break;const n=i[t].edge,r=i[e].edge;a.push([[Math.round(n.x),h],[Math.round(r.x),h]])}h+=n,i.forEach((t=>{t.edge.x=t.edge.x+n*t.edge.islope})),u++}return a}(h,i,r);if(o){for(const t of h)a(t,u,-o);!function(t,e,n){const r=[];t.forEach((t=>r.push(...t))),a(r,e,n)}(p,u,-o)}return p}function i(t,e){var n,r=e.hachureAngle+90,a=e.hachureGap;a<0&&(a=4*e.strokeWidth),a=Math.round(Math.max(a,.1));var s=1;return e.roughness>=1&&((null===(n=e.randomizer)||void 0===n?void 0:n.next())||Math.random())>.7&&(s=a),o(t,a,r,s||1)}"function"==typeof SuppressedError&&SuppressedError;var h=function(){function t(t){this.helper=t}return t.prototype.fillPolygons=function(t,e){return this._fillPolygons(t,e)},t.prototype._fillPolygons=function(t,e){var n=i(t,e);return{type:"fillSketch",ops:this.renderLines(n,e)}},t.prototype.renderLines=function(t,e){for(var n=[],r=0,a=t;rl[0]&&(p=t[1],l=t[0]);for(var c=Math.atan((l[1]-p[1])/(l[0]-p[0])),f=0;fp[0]&&(h=t[1],p=t[0]);for(var l=Math.atan((p[1]-h[1])/(p[0]-h[0])),c=0;cr%2?t+n:t+e));s.push({key:"C",data:t}),e=t[4],n=t[5];break}case"Q":s.push({key:"Q",data:[...i]}),e=i[2],n=i[3];break;case"q":{const t=i.map(((t,r)=>r%2?t+n:t+e));s.push({key:"Q",data:t}),e=t[2],n=t[3];break}case"A":s.push({key:"A",data:[...i]}),e=i[5],n=i[6];break;case"a":e+=i[5],n+=i[6],s.push({key:"A",data:[i[0],i[1],i[2],i[3],i[4],e,n]});break;case"H":s.push({key:"H",data:[...i]}),e=i[0];break;case"h":e+=i[0],s.push({key:"H",data:[e]});break;case"V":s.push({key:"V",data:[...i]}),n=i[0];break;case"v":n+=i[0],s.push({key:"V",data:[n]});break;case"S":s.push({key:"S",data:[...i]}),e=i[2],n=i[3];break;case"s":{const t=i.map(((t,r)=>r%2?t+n:t+e));s.push({key:"S",data:t}),e=t[2],n=t[3];break}case"T":s.push({key:"T",data:[...i]}),e=i[0],n=i[1];break;case"t":e+=i[0],n+=i[1],s.push({key:"T",data:[e,n]});break;case"Z":case"z":s.push({key:"Z",data:[]}),e=r,n=a}return s}function x(t){const e=[];let n="",r=0,a=0,s=0,o=0,i=0,h=0;for(const{key:u,data:p}of t){switch(u){case"M":e.push({key:"M",data:[...p]}),[r,a]=p,[s,o]=p;break;case"C":e.push({key:"C",data:[...p]}),r=p[4],a=p[5],i=p[2],h=p[3];break;case"L":e.push({key:"L",data:[...p]}),[r,a]=p;break;case"H":r=p[0],e.push({key:"L",data:[r,a]});break;case"V":a=p[0],e.push({key:"L",data:[r,a]});break;case"S":{let t=0,s=0;"C"===n||"S"===n?(t=r+(r-i),s=a+(a-h)):(t=r,s=a),e.push({key:"C",data:[t,s,...p]}),i=p[0],h=p[1],r=p[2],a=p[3];break}case"T":{const[t,s]=p;let o=0,u=0;"Q"===n||"T"===n?(o=r+(r-i),u=a+(a-h)):(o=r,u=a);const l=r+2*(o-r)/3,c=a+2*(u-a)/3,f=t+2*(o-t)/3,d=s+2*(u-s)/3;e.push({key:"C",data:[l,c,f,d,t,s]}),i=o,h=u,r=t,a=s;break}case"Q":{const[t,n,s,o]=p,u=r+2*(t-r)/3,l=a+2*(n-a)/3,c=s+2*(t-s)/3,f=o+2*(n-o)/3;e.push({key:"C",data:[u,l,c,f,s,o]}),i=t,h=n,r=s,a=o;break}case"A":{const t=Math.abs(p[0]),n=Math.abs(p[1]),s=p[2],o=p[3],i=p[4],h=p[5],u=p[6];if(0===t||0===n)e.push({key:"C",data:[r,a,h,u,h,u]}),r=h,a=u;else if(r!==h||a!==u){O(r,a,h,u,t,n,s,o,i).forEach((function(t){e.push({key:"C",data:t})})),r=h,a=u}break}case"Z":e.push({key:"Z",data:[]}),r=s,a=o}n=u}return e}function S(t,e,n){return[t*Math.cos(n)-e*Math.sin(n),t*Math.sin(n)+e*Math.cos(n)]}function O(t,e,n,r,a,s,o,i,h,u){const p=(l=o,Math.PI*l/180);var l;let c=[],f=0,d=0,g=0,y=0;if(u)[f,d,g,y]=u;else{[t,e]=S(t,e,-p),[n,r]=S(n,r,-p);const o=(t-n)/2,u=(e-r)/2;let l=o*o/(a*a)+u*u/(s*s);l>1&&(l=Math.sqrt(l),a*=l,s*=l);const c=a*a,v=s*s,M=c*v-c*u*u-v*o*o,k=c*u*u+v*o*o,b=(i===h?-1:1)*Math.sqrt(Math.abs(M/k));g=b*a*u/s+(t+n)/2,y=b*-s*o/a+(e+r)/2,f=Math.asin(parseFloat(((e-y)/s).toFixed(9))),d=Math.asin(parseFloat(((r-y)/s).toFixed(9))),td&&(f-=2*Math.PI),!h&&d>f&&(d-=2*Math.PI)}let v=d-f;if(Math.abs(v)>120*Math.PI/180){const t=d,e=n,i=r;d=h&&d>f?f+120*Math.PI/180*1:f+120*Math.PI/180*-1,c=O(n=g+a*Math.cos(d),r=y+s*Math.sin(d),e,i,a,s,o,0,h,[d,t,g,y])}v=d-f;const M=Math.cos(f),k=Math.sin(f),b=Math.cos(d),m=Math.sin(d),w=Math.tan(v/4),P=4/3*a*w,x=4/3*s*w,L=[t,e],T=[t+P*k,e-x*M],_=[n+P*m,r-x*b],D=[n,r];if(T[0]=2*L[0]-T[0],T[1]=2*L[1]-T[1],u)return[T,_,D].concat(c);{c=[T,_,D].concat(c);const t=[];for(let e=0;e2){for(var a=[],s=0;s2*Math.PI&&(d=0,g=2*Math.PI);var y=2*Math.PI/u.curveStepCount,v=Math.min(y/2,(g-d)/2),M=N(v,p,l,c,f,d,g,1,u);if(!u.disableMultiStroke){var k=N(v,p,l,c,f,d,g,1.5,u);M.push.apply(M,k)}return i&&(h?M.push.apply(M,r(r([],V(p,l,p+c*Math.cos(d),l+f*Math.sin(d),u),!1),V(p,l,p+c*Math.cos(g),l+f*Math.sin(g),u),!1)):M.push({op:"lineTo",data:[p,l]},{op:"lineTo",data:[p+c*Math.cos(d),l+f*Math.sin(d)]})),{type:"path",ops:M}}function W(t,e){for(var n=[],r=[0,0],a=[0,0],s=0,o=x(P(w(t)));s2){n.push({op:"move",data:[s[0][0]+F(o,e),s[0][1]+F(o,e)]});for(var h=1;h500?.4:-.0016668*h+1.233334;var p=a.maxRandomnessOffset||0;p*p*100>i&&(p=h/10);var l=p/2,c=.2+.2*j(a),f=a.bowing*a.maxRandomnessOffset*(r-e)/200,d=a.bowing*a.maxRandomnessOffset*(t-n)/200;f=F(f,a,u),d=F(d,a,u);var g=[],y=function(){return F(l,a,u)},v=function(){return F(p,a,u)},M=a.preserveVertices;return s&&(o?g.push({op:"move",data:[t+(M?0:y()),e+(M?0:y())]}):g.push({op:"move",data:[t+(M?0:F(p,a,u)),e+(M?0:F(p,a,u))]})),o?g.push({op:"bcurveTo",data:[f+t+(n-t)*c+y(),d+e+(r-e)*c+y(),f+t+2*(n-t)*c+y(),d+e+2*(r-e)*c+y(),n+(M?0:y()),r+(M?0:y())]}):g.push({op:"bcurveTo",data:[f+t+(n-t)*c+v(),d+e+(r-e)*c+v(),f+t+2*(n-t)*c+v(),d+e+2*(r-e)*c+v(),n+(M?0:v()),r+(M?0:v())]}),g}function Q(t,e,n){if(!t.length)return[];var r=[];r.push([t[0][0]+F(e,n),t[0][1]+F(e,n)]),r.push([t[0][0]+F(e,n),t[0][1]+F(e,n)]);for(var a=1;a3){var s=[],o=1-n.curveTightness;a.push({op:"move",data:[t[1][0],t[1][1]]});for(var i=1;i+21&&a.push(n)}else a.push(n);a.push(t[e+3])}else{const r=.5,s=t[e+0],o=t[e+1],i=t[e+2],h=t[e+3],u=Y(s,o,r),p=Y(o,i,r),l=Y(i,h,r),c=Y(u,p,r),f=Y(p,l,r),d=Y(c,f,r);tt([s,u,c,d],0,n,a),tt([d,f,l,h],0,n,a)}var s,o;return a}function et(t,e){return nt(t,0,t.length,e)}function nt(t,e,n,r,a){const s=a||[],o=t[e],i=t[n-1];let h=0,u=1;for(let r=e+1;rh&&(h=e,u=r)}return Math.sqrt(h)>r?(nt(t,e,u+1,r,s),nt(t,u,n,r,s)):(s.length||s.push(o),s.push(i)),s}function rt(t,e=.15,n){const r=[],a=(t.length-1)/3;for(let n=0;n0?nt(r,0,r.length,n):r}var at="none",st=function(){function t(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}return t.newSeed=function(){return Math.floor(Math.random()*Math.pow(2,31))},t.prototype._o=function(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions},t.prototype._d=function(t,e,n){return{shape:t,sets:e||[],options:n||this.defaultOptions}},t.prototype.line=function(t,e,n,r,a){var s=this._o(a);return this._d("line",[T(t,e,n,r,s)],s)},t.prototype.rectangle=function(t,e,n,r,a){var s=this._o(a),o=[],i=D(t,e,n,r,s);if(s.fill){var h=[[t,e],[t+n,e],[t+n,e+r],[t,e+r]];"solid"===s.fillStyle?o.push(E([h],s)):o.push(G([h],s))}return s.stroke!==at&&o.push(i),this._d("rectangle",o,s)},t.prototype.ellipse=function(t,e,n,r,a){var s=this._o(a),o=[],i=I(n,r,s),h=C(t,e,s,i);if(s.fill)if("solid"===s.fillStyle){var u=C(t,e,s,i).opset;u.type="fillPath",o.push(u)}else o.push(G([h.estimatedPoints],s));return s.stroke!==at&&o.push(h.opset),this._d("ellipse",o,s)},t.prototype.circle=function(t,e,n,r){var a=this.ellipse(t,e,n,n,r);return a.shape="circle",a},t.prototype.linearPath=function(t,e){var n=this._o(e);return this._d("linearPath",[_(t,!1,n)],n)},t.prototype.arc=function(t,e,r,a,s,o,i,h){void 0===i&&(i=!1);var u=this._o(h),p=[],l=z(t,e,r,a,s,o,i,!0,u);if(i&&u.fill)if("solid"===u.fillStyle){var c=n({},u);c.disableMultiStroke=!0;var f=z(t,e,r,a,s,o,!0,!1,c);f.type="fillPath",p.push(f)}else p.push(function(t,e,n,r,a,s,o){var i=t,h=e,u=Math.abs(n/2),p=Math.abs(r/2);u+=F(.01*u,o),p+=F(.01*p,o);for(var l=a,c=s;l<0;)l+=2*Math.PI,c+=2*Math.PI;c-l>2*Math.PI&&(l=0,c=2*Math.PI);for(var f=(c-l)/o.curveStepCount,d=[],g=l;g<=c;g+=f)d.push([i+u*Math.cos(g),h+p*Math.sin(g)]);return d.push([i+u*Math.cos(c),h+p*Math.sin(c)]),d.push([i,h]),G([d],o)}(t,e,r,a,s,o,u));return u.stroke!==at&&p.push(l),this._d("arc",p,u)},t.prototype.curve=function(t,e){var r=this._o(e),a=[],s=A(t,r);if(r.fill&&r.fill!==at)if("solid"===r.fillStyle){var o=A(t,n(n({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));a.push({type:"fillPath",ops:this._mergedShape(o.ops)})}else{var i=[],h=t;if(h.length)for(var u=0,p="number"==typeof h[0][0]?[h]:h;u{i.length>=4&&s.push(...rt(i,e)),i=[]},u=()=>{h(),s.length&&(a.push(s),s=[])};for(const{key:t,data:e}of r)switch(t){case"M":u(),o=[e[0],e[1]],s.push(o);break;case"L":h(),s.push([e[0],e[1]]);break;case"C":if(!i.length){const t=s.length?s[s.length-1]:o;i.push([t[0],t[1]])}i.push([e[0],e[1]]),i.push([e[2],e[3]]),i.push([e[4],e[5]]);break;case"Z":h(),s.push([o[0],o[1]])}if(u(),!n)return a;const p=[];for(const t of a){const e=et(t,n);e.length&&p.push(e)}return p}(t,1,i?4-4*(r.simplification||1):(1+r.roughness)/2),u=W(t,r);if(s)if("solid"===r.fillStyle)if(1===h.length){var p=W(t,n(n({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));a.push({type:"fillPath",ops:this._mergedShape(p.ops)})}else a.push(E(h,r));else a.push(G(h,r));return o&&(i?h.forEach((function(t){a.push(_(t,!1,r))})):a.push(u)),this._d("path",a,r)},t.prototype.opsToPath=function(t,e){for(var n="",r=0,a=t.ops;r=0?s.data.map((function(t){return+t.toFixed(e)})):s.data;switch(s.op){case"move":n+="M".concat(o[0]," ").concat(o[1]," ");break;case"bcurveTo":n+="C".concat(o[0]," ").concat(o[1],", ").concat(o[2]," ").concat(o[3],", ").concat(o[4]," ").concat(o[5]," ");break;case"lineTo":n+="L".concat(o[0]," ").concat(o[1]," ")}}return n.trim()},t.prototype.toPaths=function(t){for(var e=t.sets||[],n=t.options||this.defaultOptions,r=[],a=0,s=e;a=0?o.data.map((function(t){return+t.toFixed(n)})):o.data;switch(o.op){case"move":t.moveTo(i[0],i[1]);break;case"bcurveTo":t.bezierCurveTo(i[0],i[1],i[2],i[3],i[4],i[5]);break;case"lineTo":t.lineTo(i[0],i[1])}}"fillPath"===e.type?t.fill(r):t.stroke()},Object.defineProperty(t.prototype,"generator",{get:function(){return this.gen},enumerable:!1,configurable:!0}),t.prototype.getDefaultOptions=function(){return this.gen.defaultOptions},t.prototype.line=function(t,e,n,r,a){var s=this.gen.line(t,e,n,r,a);return this.draw(s),s},t.prototype.rectangle=function(t,e,n,r,a){var s=this.gen.rectangle(t,e,n,r,a);return this.draw(s),s},t.prototype.ellipse=function(t,e,n,r,a){var s=this.gen.ellipse(t,e,n,r,a);return this.draw(s),s},t.prototype.circle=function(t,e,n,r){var a=this.gen.circle(t,e,n,r);return this.draw(a),a},t.prototype.linearPath=function(t,e){var n=this.gen.linearPath(t,e);return this.draw(n),n},t.prototype.polygon=function(t,e){var n=this.gen.polygon(t,e);return this.draw(n),n},t.prototype.arc=function(t,e,n,r,a,s,o,i){void 0===o&&(o=!1);var h=this.gen.arc(t,e,n,r,a,s,o,i);return this.draw(h),h},t.prototype.curve=function(t,e){var n=this.gen.curve(t,e);return this.draw(n),n},t.prototype.path=function(t,e){var n=this.gen.path(t,e);return this.draw(n),n},t}(),it="http://www.w3.org/2000/svg",ht=function(){function t(t,e){this.svg=t,this.gen=new st(e)}return t.prototype.draw=function(t){for(var e=t.sets||[],n=t.options||this.getDefaultOptions(),r=this.svg.ownerDocument||window.document,a=r.createElementNS(it,"g"),s=t.options.fixedDecimalPlaceDigits,o=0,i=e;o