@bkm016/basalt 0.1.11 → 0.1.12
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/{chunk-755sy11p.js → chunk-01nve4qy.js} +1 -1
- package/{chunk-jtsve11b.js → chunk-0fc9apfn.js} +9 -9
- package/{chunk-d5j74pcp.js → chunk-1h34mzh7.js} +4 -4
- package/{chunk-fgwda4m0.js → chunk-1xfv4bd7.js} +1 -1
- package/{chunk-mbpb5c7w.js → chunk-2fyjph3f.js} +1 -1
- package/{chunk-13gvs0ax.js → chunk-2kxnw7vs.js} +1 -1
- package/{chunk-95964592.js → chunk-37zystxb.js} +11 -11
- package/{chunk-h1kb8b49.js → chunk-3pf1d62g.js} +2 -2
- package/{chunk-29qrxygd.js → chunk-5wnmbc1b.js} +2 -2
- package/{chunk-c71173py.js → chunk-6mges89p.js} +4 -4
- package/{chunk-d0a1jxk5.js → chunk-6sz5q3df.js} +2 -2
- package/chunk-7er5pz7s.js +479 -0
- package/{chunk-gbjn6d81.js → chunk-7g5smgjj.js} +1 -1
- package/chunk-7m3jagqn.js +2 -0
- package/{chunk-wnzvnskb.js → chunk-85v69h91.js} +2 -2
- package/{chunk-38g3gctw.js → chunk-9c4gdg1q.js} +2 -2
- package/{chunk-en218k4y.js → chunk-cbgpymt4.js} +1 -1
- package/{chunk-a1rb1a48.js → chunk-cdw03j4t.js} +2 -2
- package/chunk-ch1r3ted.js +2 -0
- package/{chunk-dfh9m9n7.js → chunk-db7ws33a.js} +2 -2
- package/{chunk-1n7dat03.js → chunk-ejjem0tc.js} +3 -3
- package/{chunk-c4qr1f41.js → chunk-eq4wqxzt.js} +2 -2
- package/{chunk-zc9ar0r4.js → chunk-eyrtbbdd.js} +1 -1
- package/{chunk-r4ttdkrz.js → chunk-fhxy6y34.js} +2 -2
- package/{chunk-zyyzk5ha.js → chunk-fy82qxa1.js} +1 -1
- package/{chunk-xtq1xpq0.js → chunk-hc300148.js} +1 -1
- package/{chunk-vtqr7dm8.js → chunk-j64dc767.js} +2 -2
- package/{chunk-msm9hmk9.js → chunk-jpnf71q7.js} +2 -2
- package/{chunk-q9f4xb0w.js → chunk-kpe7pnhy.js} +4 -4
- package/{chunk-a98wma9j.js → chunk-ksk49hv0.js} +1 -1
- package/{chunk-bdjr0kfr.js → chunk-m4bg1apa.js} +5 -5
- package/{chunk-dq01v5eq.js → chunk-nhm9z3d8.js} +1 -1
- package/{chunk-30rjf7my.js → chunk-ntks40jd.js} +2 -2
- package/{chunk-a1352w87.js → chunk-nw1xpt3s.js} +1 -1
- package/{chunk-xh444pfn.js → chunk-p2pmdbt2.js} +8 -8
- package/{chunk-hb4f2v34.js → chunk-qfcr5g35.js} +2 -2
- package/{chunk-n2jcx65v.js → chunk-qs8zzg50.js} +2 -2
- package/{chunk-qaeyhe65.js → chunk-r4gm8ngh.js} +1 -1
- package/{chunk-pz2afna8.js → chunk-rks90mh1.js} +1 -1
- package/{chunk-asyr3gnq.js → chunk-rwks9zaw.js} +2 -2
- package/{chunk-v3ee9z3f.js → chunk-t7te60m7.js} +1 -1
- package/{chunk-4dw43syb.js → chunk-tv52xajf.js} +1 -1
- package/{chunk-c0zfefq8.js → chunk-v7wcchy2.js} +1 -1
- package/{chunk-tevejprz.js → chunk-vjne04dp.js} +3 -3
- package/{chunk-ax04trym.js → chunk-w0rr66z7.js} +1 -1
- package/{chunk-gkf5jwvj.js → chunk-w6f2r052.js} +1 -1
- package/{chunk-jymx3a77.js → chunk-wqqjzsjt.js} +310 -278
- package/{chunk-c6q04xrd.js → chunk-xef4642x.js} +1 -1
- package/compiled.js +7 -7
- package/package.json +1 -1
- package/ui-test-worker.js +2 -2
- package/web/{chunk-jhpg2kcf.js → chunk-04drx71p.js} +1 -1
- package/web/chunk-0rdgt4jb.css +1 -0
- package/web/{chunk-cbwvfedy.js → chunk-19zd0tye.js} +3 -3
- package/web/chunk-1m0kp0g3.js +8 -0
- package/web/{chunk-j4gvtszc.js → chunk-1zwc09e8.js} +2 -2
- package/web/{chunk-a3pye9ag.js → chunk-2cyzaqjy.js} +3 -3
- package/web/{chunk-8csw0mvf.js → chunk-2jfesv7m.js} +2 -2
- package/web/chunk-3j2tcphs.js +1 -0
- package/web/chunk-3k9h7a73.js +1142 -0
- package/web/chunk-3m1bb2fw.js +1 -0
- package/web/{chunk-4rwwtfnd.js → chunk-3n9ypydh.js} +2 -2
- package/web/{chunk-90fkdzx3.js → chunk-3psgr0q8.js} +13 -13
- package/web/{chunk-nafe18y9.js → chunk-3qxxrwsp.js} +6 -6
- package/web/{chunk-hjyev38w.js → chunk-3rkkp6ed.js} +4 -4
- package/web/{chunk-v3dn9bfw.js → chunk-4f6a8dsk.js} +1 -1
- package/web/chunk-55nvm2mj.js +1 -0
- package/web/chunk-5dkqfnh7.js +2 -0
- package/web/{chunk-96xhmmqz.js → chunk-5g8md2wg.js} +4 -4
- package/web/{chunk-mpdeqzc9.js → chunk-5np514v5.js} +8 -8
- package/web/{chunk-1zfxaafq.js → chunk-60mym60n.js} +1 -1
- package/web/{chunk-nhx8pw7p.js → chunk-6f2sz84q.js} +2 -2
- package/web/{chunk-q8v5j963.js → chunk-7adsmqv6.js} +2 -2
- package/web/{chunk-27812gqr.js → chunk-7ksg3ccg.js} +3 -3
- package/web/chunk-7ky5nrrr.js +1 -0
- package/web/{chunk-pq56b3mq.js → chunk-7tkgbbf9.js} +2 -2
- package/web/{chunk-tpdcrrf1.js → chunk-7v85yvb2.js} +1 -1
- package/web/{chunk-dk0fnj87.js → chunk-7vgh17es.js} +1 -1
- package/web/{chunk-rqympya7.js → chunk-80z8s8zb.js} +1 -1
- package/web/{chunk-36dc7tcg.js → chunk-81s15c2e.js} +2 -2
- package/web/{chunk-mykbcvqz.js → chunk-8539865x.js} +1 -1
- package/web/{chunk-wbwets5x.js → chunk-8cnjd0f2.js} +17 -17
- package/web/{chunk-48479gnx.js → chunk-8sdjgv3k.js} +1 -1
- package/web/chunk-9bxtzwtc.js +1 -0
- package/web/{chunk-drchr3yn.js → chunk-aa46mrgh.js} +1 -1
- package/web/{chunk-8151c970.js → chunk-act3rr85.js} +1 -1
- package/web/{chunk-94denx9h.js → chunk-aebrw6cv.js} +3 -3
- package/web/{chunk-3a57m7xm.js → chunk-aeymdtm1.js} +2 -2
- package/web/{chunk-3020mmp1.js → chunk-ar6jnhm5.js} +1 -1
- package/web/{chunk-e763h2px.js → chunk-b5zf1hs3.js} +66 -66
- package/web/{chunk-5ahx98zj.js → chunk-b99k8q22.js} +8 -8
- package/web/chunk-bcjgzwef.js +1 -0
- package/web/{chunk-f79ajymt.js → chunk-bra33pt0.js} +2 -2
- package/web/{chunk-57pyz29y.js → chunk-bygwbpvq.js} +2 -2
- package/web/{chunk-3ftb27f3.js → chunk-c3fty2c2.js} +5 -5
- package/web/{chunk-d3f763n7.js → chunk-cxpnj495.js} +1 -1
- package/web/{chunk-8z7texmv.js → chunk-d1btrqmw.js} +1 -1
- package/web/{chunk-jqqbkdtw.js → chunk-d57fm7k0.js} +2 -2
- package/web/{chunk-1t38sgrk.js → chunk-d73zkc4q.js} +4 -4
- package/web/chunk-d94t9z70.js +1 -0
- package/web/{chunk-2ds0a2z1.js → chunk-dndd757x.js} +3 -3
- package/web/{chunk-d4519smc.js → chunk-e94pd9rr.js} +10 -10
- package/web/{chunk-qykt7avq.js → chunk-enwfd8d5.js} +2 -2
- package/web/chunk-fr4fft89.js +1 -0
- package/web/{chunk-g0rtcedn.js → chunk-g488hxx0.js} +3 -3
- package/web/{chunk-b6sqwmq7.js → chunk-g4zm0crw.js} +1 -1
- package/web/{chunk-086dshck.js → chunk-gckmcef6.js} +1 -1
- package/web/{chunk-0hvxb5d5.js → chunk-gkmaryr4.js} +1 -1
- package/web/chunk-gnb09wmx.js +1 -0
- package/web/chunk-gx340asc.js +1 -0
- package/web/chunk-h0c42zy3.js +1 -0
- package/web/chunk-h24ybwp6.js +1 -0
- package/web/{chunk-m24yb8md.js → chunk-h754ntg7.js} +1 -1
- package/web/{chunk-3b4wqmnh.js → chunk-hn8m1vsg.js} +7 -7
- package/web/{chunk-2f2agfpj.js → chunk-hqxc9m07.js} +7 -7
- package/web/chunk-hrgqc1vr.js +1 -0
- package/web/{chunk-793m5jjh.js → chunk-hva7xyne.js} +2 -2
- package/web/{chunk-yrh86m0n.js → chunk-hxbfkdjd.js} +1 -1
- package/web/chunk-j9c8fa82.js +1 -0
- package/web/{chunk-4gc663j0.js → chunk-jeafmjsm.js} +1 -1
- package/web/chunk-jyf7a7yp.js +2 -0
- package/web/chunk-jz5mmp64.js +1 -0
- package/web/{chunk-s0xy00v5.js → chunk-k0cg4n2k.js} +2 -2
- package/web/{chunk-g31dbnzm.js → chunk-k4dnjf8n.js} +4 -4
- package/web/{chunk-59nk506k.js → chunk-kerfb21g.js} +1 -1
- package/web/chunk-m0136xav.js +1 -0
- package/web/chunk-m6vyvgm5.js +1 -0
- package/web/{chunk-0y971zgq.js → chunk-mxkbmgcv.js} +2 -2
- package/web/{chunk-0fy590s0.js → chunk-my0ec787.js} +1 -1
- package/web/chunk-mzzaet63.js +1 -0
- package/web/{chunk-xjc5fmcr.js → chunk-n9v14vyd.js} +18 -18
- package/web/{chunk-cpshsp24.js → chunk-ncfzmf2g.js} +1 -1
- package/web/chunk-ny436sqg.js +1 -0
- package/web/chunk-ph75hddv.js +1 -0
- package/web/chunk-phdfyqaa.js +1 -0
- package/web/chunk-phxa5krt.js +1 -0
- package/web/{chunk-b3j07x0n.js → chunk-pjpre6de.js} +2 -2
- package/web/chunk-q1zxvjhs.js +2 -0
- package/web/{chunk-n33753da.js → chunk-qdd3bx8q.js} +1 -1
- package/web/{chunk-ydtrc1ay.js → chunk-qh62nkem.js} +2 -2
- package/web/{chunk-05mvzx00.js → chunk-qp3tjhaq.js} +1 -1
- package/web/chunk-r4zbw4zj.js +2 -0
- package/web/{chunk-g4as4zzd.js → chunk-r6kk4vp1.js} +4 -4
- package/web/{chunk-ppjw1mps.js → chunk-rdr6wt22.js} +4 -4
- package/web/chunk-ry4ycah9.js +1 -0
- package/web/{chunk-47mbbmst.js → chunk-sdr5wa4z.js} +3 -3
- package/web/chunk-sqm16fat.js +1 -0
- package/web/{chunk-zv73g4qq.js → chunk-td83xf12.js} +2 -2
- package/web/chunk-tj1fn8v2.js +1 -0
- package/web/{chunk-q65zxczs.js → chunk-v0wtk059.js} +4 -4
- package/web/{chunk-enryqmj7.js → chunk-v1hfbjz9.js} +4 -4
- package/web/chunk-v1qt3gq4.js +1 -0
- package/web/{chunk-2tsxj613.js → chunk-v34mr9ky.js} +9 -9
- package/web/{chunk-tgkdyxbn.js → chunk-v854w9yn.js} +1 -1
- package/web/{chunk-dtrh40vr.js → chunk-ve56gxq0.js} +1 -1
- package/web/chunk-w573ym17.js +1 -0
- package/web/{chunk-9kkzmss7.js → chunk-w9gnqkez.js} +3 -3
- package/web/{chunk-kfbgvh0c.js → chunk-wqzbxzk3.js} +1 -1
- package/web/{chunk-hm8thq7c.js → chunk-wvrs986a.js} +2 -2
- package/web/chunk-x0mjydtp.js +1 -0
- package/web/{chunk-7dycbjxn.js → chunk-xpecre7w.js} +4 -4
- package/web/{chunk-zdhyq3ch.js → chunk-xvfeq8v2.js} +7 -7
- package/web/{chunk-2weaa3gn.js → chunk-y2rzeb4v.js} +2 -2
- package/web/{chunk-tggja45g.js → chunk-yf8ykk4v.js} +4 -4
- package/web/{chunk-gyhr27dm.js → chunk-yjs6jmdb.js} +1 -1
- package/web/{chunk-dsbyfvwz.js → chunk-ym7kv2hs.js} +1 -1
- package/web/chunk-zhybh04p.js +1 -0
- package/web/index.html +1 -1
- package/worker.js +1 -1
- package/chunk-7zkswxvk.js +0 -2
- package/chunk-m1eam0s5.js +0 -2
- package/chunk-zq32mwxj.js +0 -479
- package/web/chunk-32zmk3f5.js +0 -1
- package/web/chunk-3d3wnh8a.js +0 -2
- package/web/chunk-6cjm2yr7.js +0 -1
- package/web/chunk-7ycxz39p.js +0 -1
- package/web/chunk-9wr33d0t.js +0 -1
- package/web/chunk-a4tdrxdh.js +0 -1
- package/web/chunk-a9fvsyc1.js +0 -1
- package/web/chunk-apvbvg4d.js +0 -1
- package/web/chunk-bkxcc7v5.js +0 -1
- package/web/chunk-bve354k7.js +0 -1
- package/web/chunk-cwpxakby.js +0 -1
- package/web/chunk-jd7npyv9.js +0 -8
- package/web/chunk-jzz5htxp.js +0 -1
- package/web/chunk-ka3q31t1.js +0 -1
- package/web/chunk-kahab58k.js +0 -1139
- package/web/chunk-krgvx75q.js +0 -1
- package/web/chunk-m7k4wr3k.js +0 -1
- package/web/chunk-mdj3r75b.js +0 -1
- package/web/chunk-nbcpbqq4.js +0 -1
- package/web/chunk-p1yc8hwn.js +0 -2
- package/web/chunk-p29brxyt.js +0 -1
- package/web/chunk-p8fbes0t.js +0 -1
- package/web/chunk-r6q1301x.js +0 -1
- package/web/chunk-r8kghrkb.js +0 -1
- package/web/chunk-rhxn7mxg.js +0 -1
- package/web/chunk-svqshmpg.js +0 -1
- package/web/chunk-swzxq7r3.css +0 -1
- package/web/chunk-t18tn37m.js +0 -2
- package/web/chunk-tbsaseer.js +0 -1
- package/web/chunk-v0zfnvc1.js +0 -1
- package/web/chunk-vj31fs16.js +0 -1
- package/web/chunk-vr79r8vh.js +0 -1
- package/web/chunk-wb9tax0m.js +0 -1
- package/web/chunk-x9eghjjd.js +0 -1
- package/web/chunk-z3ky5ews.js +0 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import{t,K,yr,u,d,M,x,F,C,S,E,T,A,L,R,p,V,U,m}from"./chunk-e763h2px.js";var fe=(e,s)=>yr(e,"a",-s),wt=fe;function It(e,s){let i=de(e),n=i.filter((c)=>he(c,e)),r=0,o=0,a=[];if(n.length>1){let c=Kt(n);for(let h=0;h<n.length;++h){let l=n[h];l.angle=Math.atan2(l.x-c.x,l.y-c.y)}n.sort((h,l)=>l.angle-h.angle);let g=n[n.length-1];for(let h=0;h<n.length;++h){let l=n[h];o+=(g.x+l.x)*(l.y-g.y);let I={x:(l.x+g.x)/2,y:(l.y+g.y)/2},b=null;for(let z=0;z<l.parentIndex.length;++z)if(g.parentIndex.includes(l.parentIndex[z])){let w=e[l.parentIndex[z]],j=Math.atan2(l.x-w.x,l.y-w.y),G=Math.atan2(g.x-w.x,g.y-w.y),B=G-j;if(B<0)B+=2*Math.PI;let P=G-B/2,v=at(I,{x:w.x+w.radius*Math.sin(P),y:w.y+w.radius*Math.cos(P)});if(v>w.radius*2)v=w.radius*2;if(b==null||b.width>v)b={circle:w,width:v,p1:l,p2:g,large:v>w.radius,sweep:!0}}if(b!=null)a.push(b),r+=Tt(b.circle.radius,b.width),g=l}}else{let c=e[0];for(let h=1;h<e.length;++h)if(e[h].radius<c.radius)c=e[h];let g=!1;for(let h=0;h<e.length;++h)if(at(e[h],c)>Math.abs(c.radius-e[h].radius)){g=!0;break}if(g)r=o=0;else r=c.radius*c.radius*Math.PI,a.push({circle:c,p1:{x:c.x,y:c.y+c.radius},p2:{x:c.x-0.0000000001,y:c.y+c.radius},width:c.radius*2,large:!0,sweep:!0})}if(o/=2,s)s.area=r+o,s.arcArea=r,s.polygonArea=o,s.arcs=a,s.innerPoints=n,s.intersectionPoints=i;return r+o}function he(e,s){return s.every((i)=>at(e,i)<i.radius+0.0000000001)}function de(e){let s=[];for(let i=0;i<e.length;++i)for(let n=i+1;n<e.length;++n){let r=Wt(e[i],e[n]);for(let o of r)o.parentIndex=[i,n],s.push(o)}return s}function Tt(e,s){return e*e*Math.acos(1-s/e)-(e-s)*Math.sqrt(s*(2*e-s))}function at(e,s){return Math.sqrt((e.x-s.x)*(e.x-s.x)+(e.y-s.y)*(e.y-s.y))}function Nt(e,s,i){if(i>=e+s)return 0;if(i<=Math.abs(e-s))return Math.PI*Math.min(e,s)*Math.min(e,s);let n=e-(i*i-s*s+e*e)/(2*i),r=s-(i*i-e*e+s*s)/(2*i);return Tt(e,n)+Tt(s,r)}function Wt(e,s){let i=at(e,s),n=e.radius,r=s.radius;if(i>=n+r||i<=Math.abs(n-r))return[];let o=(n*n-r*r+i*i)/(2*i),a=Math.sqrt(n*n-o*o),c=e.x+o*(s.x-e.x)/i,g=e.y+o*(s.y-e.y)/i,h=-(s.y-e.y)*(a/i),l=-(s.x-e.x)*(a/i);return[{x:c+h,y:g-l},{x:c-h,y:g+l}]}function Kt(e){let s={x:0,y:0};for(let i of e)s.x+=i.x,s.y+=i.y;return s.x/=e.length,s.y/=e.length,s}function ge(e,s,i,n){n=n||{};let r=n.maxIterations||100,o=n.tolerance||0.0000000001,a=e(s),c=e(i),g=i-s;if(a*c>0)throw"Initial bisect points must have opposite signs";if(a===0)return s;if(c===0)return i;for(let h=0;h<r;++h){g/=2;let l=s+g,I=e(l);if(I*a>=0)s=l;if(Math.abs(g)<o||I===0)return l}return s+g}function zt(e){let s=Array(e);for(let i=0;i<e;++i)s[i]=0;return s}function Ut(e,s){return zt(e).map(()=>zt(s))}function mt(e,s){let i=0;for(let n=0;n<e.length;++n)i+=e[n]*s[n];return i}function At(e){return Math.sqrt(mt(e,e))}function Ct(e,s,i){for(let n=0;n<s.length;++n)e[n]=s[n]*i}function xt(e,s,i,n,r){for(let o=0;o<e.length;++o)e[o]=s*i[o]+n*r[o]}function Ht(e,s,i){i=i||{};let n=i.maxIterations||s.length*200,r=i.nonZeroDelta||1.05,o=i.zeroDelta||0.001,a=i.minErrorDelta||0.000001,c=i.minErrorDelta||0.00001,g=i.rho!==void 0?i.rho:1,h=i.chi!==void 0?i.chi:2,l=i.psi!==void 0?i.psi:-0.5,I=i.sigma!==void 0?i.sigma:0.5,b,z=s.length,w=Array(z+1);w[0]=s,w[0].fx=e(s),w[0].id=0;for(let D=0;D<z;++D){let f=s.slice();f[D]=f[D]?f[D]*r:o,w[D+1]=f,w[D+1].fx=e(f),w[D+1].id=D+1}function j(D){for(let f=0;f<D.length;f++)w[z][f]=D[f];w[z].fx=D.fx}let G=(D,f)=>D.fx-f.fx,B=s.slice(),P=s.slice(),v=s.slice(),_=s.slice();for(let D=0;D<n;++D){if(w.sort(G),i.history){let k=w.map((y)=>{let Y=y.slice();return Y.fx=y.fx,Y.id=y.id,Y});k.sort((y,Y)=>y.id-Y.id),i.history.push({x:w[0].slice(),fx:w[0].fx,simplex:k})}b=0;for(let k=0;k<z;++k)b=Math.max(b,Math.abs(w[0][k]-w[1][k]));if(Math.abs(w[0].fx-w[z].fx)<a&&b<c)break;for(let k=0;k<z;++k){B[k]=0;for(let y=0;y<z;++y)B[k]+=w[y][k];B[k]/=z}let f=w[z];if(xt(P,1+g,B,-g,f),P.fx=e(P),P.fx<w[0].fx)if(xt(_,1+h,B,-h,f),_.fx=e(_),_.fx<P.fx)j(_);else j(P);else if(P.fx>=w[z-1].fx){let k=!1;if(P.fx>f.fx)if(xt(v,1+l,B,-l,f),v.fx=e(v),v.fx<f.fx)j(v);else k=!0;else if(xt(v,1-l*g,B,l*g,f),v.fx=e(v),v.fx<P.fx)j(v);else k=!0;if(k){if(I>=1)break;for(let y=1;y<w.length;++y)xt(w[y],1-I,w[0],I,w[y]),w[y].fx=e(w[y])}}else j(P)}return w.sort(G),{fx:w[0].fx,x:w[0]}}function xe(e,s,i,n,r,o,a){let c=i.fx,g=mt(i.fxprime,s),h=c,l=c,I=g,b=0;r=r||1,o=o||0.000001,a=a||0.1;function z(w,j,G){for(let B=0;B<16;++B)if(r=(w+j)/2,xt(n.x,1,i.x,r,s),h=n.fx=e(n.x,n.fxprime),I=mt(n.fxprime,s),h>c+o*r*g||h>=G)j=r;else{if(Math.abs(I)<=-a*g)return r;if(I*(j-w)>=0)j=w;w=r,G=h}return 0}for(let w=0;w<10;++w){if(xt(n.x,1,i.x,r,s),h=n.fx=e(n.x,n.fxprime),I=mt(n.fxprime,s),h>c+o*r*g||w&&h>=l)return z(b,r,l);if(Math.abs(I)<=-a*g)return r;if(I>=0)return z(r,b,h);l=h,b=r,r*=2}return r}function ye(e,s,i){let n={x:s.slice(),fx:0,fxprime:s.slice()},r={x:s.slice(),fx:0,fxprime:s.slice()},o=s.slice(),a,c,g=1,h;i=i||{},h=i.maxIterations||s.length*20,n.fx=e(n.x,n.fxprime),a=n.fxprime.slice(),Ct(a,n.fxprime,-1);for(let l=0;l<h;++l){if(g=xe(e,a,n,r,g),i.history)i.history.push({x:n.x.slice(),fx:n.fx,fxprime:n.fxprime.slice(),alpha:g});if(!g)Ct(a,n.fxprime,-1);else{xt(o,1,r.fxprime,-1,n.fxprime);let I=mt(n.fxprime,n.fxprime),b=Math.max(0,mt(o,r.fxprime)/I);xt(a,b,a,-1,r.fxprime),c=n,n=r,r=c}if(At(n.fxprime)<=0.00001)break}if(i.history)i.history.push({x:n.x.slice(),fx:n.fx,fxprime:n.fxprime.slice(),alpha:g});return n}function Yt(e,s={}){s.maxIterations=s.maxIterations||500;let i=s.initialLayout||ve,n=s.lossFunction||bt,r=pe(e,s),o=i(r,s),a=Object.keys(o),c=[];for(let l of a)c.push(o[l].x),c.push(o[l].y);let h=Ht((l)=>{let I={};for(let b=0;b<a.length;++b){let z=a[b];I[z]={x:l[2*b],y:l[2*b+1],radius:o[z].radius}}return n(I,r)},c,s).x;for(let l=0;l<a.length;++l){let I=a[l];o[I].x=h[2*l],o[I].y=h[2*l+1]}return o}var Xt=0.0000000001;function Dt(e,s,i){if(Math.min(e,s)*Math.min(e,s)*Math.PI<=i+Xt)return Math.abs(e-s);return ge((n)=>Nt(e,s,n)-i,0,e+s)}function pe(e,s={}){let i=s.distinct,n=e.map((c)=>Object.assign({},c));function r(c){return c.join(";")}if(i){let c=new Map;for(let g of n)for(let h=0;h<g.sets.length;h++){let l=String(g.sets[h]);c.set(l,g.size+(c.get(l)||0));for(let I=h+1;I<g.sets.length;I++){let b=String(g.sets[I]),z=`${l};${b}`,w=`${b};${l}`;c.set(z,g.size+(c.get(z)||0)),c.set(w,g.size+(c.get(w)||0))}}for(let g of n)if(g.sets.length<3)g.size=c.get(r(g.sets))}let o=[],a=new Set;for(let c of n)if(c.sets.length===1)o.push(c.sets[0]);else if(c.sets.length===2){let g=c.sets[0],h=c.sets[1];a.add(r(c.sets)),a.add(r([h,g]))}o.sort((c,g)=>c===g?0:c<g?-1:1);for(let c=0;c<o.length;++c){let g=o[c];for(let h=c+1;h<o.length;++h){let l=o[h];if(!a.has(r([g,l])))n.push({sets:[g,l],size:0})}}return n}function me(e,s,i){let n=Ut(s.length,s.length),r=Ut(s.length,s.length);return e.filter((o)=>o.sets.length===2).forEach((o)=>{let a=i[o.sets[0]],c=i[o.sets[1]],g=Math.sqrt(s[a].size/Math.PI),h=Math.sqrt(s[c].size/Math.PI),l=Dt(g,h,o.size);n[a][c]=n[c][a]=l;let I=0;if(o.size+0.0000000001>=Math.min(s[a].size,s[c].size))I=1;else if(o.size<=0.0000000001)I=-1;r[a][c]=r[c][a]=I}),{distances:n,constraints:r}}function be(e,s,i,n){for(let o=0;o<s.length;++o)s[o]=0;let r=0;for(let o=0;o<i.length;++o){let a=e[2*o],c=e[2*o+1];for(let g=o+1;g<i.length;++g){let h=e[2*g],l=e[2*g+1],I=i[o][g],b=n[o][g],z=(h-a)*(h-a)+(l-c)*(l-c),w=Math.sqrt(z),j=z-I*I;if(b>0&&w<=I||b<0&&w>=I)continue;r+=2*j*j,s[2*o]+=4*j*(a-h),s[2*o+1]+=4*j*(c-l),s[2*g]+=4*j*(h-a),s[2*g+1]+=4*j*(l-c)}}return r}function ve(e,s={}){let i=Ie(e,s),n=s.lossFunction||bt;if(e.length>=8){let r=ke(e,s),o=n(r,e),a=n(i,e);if(o+0.00000001<a)i=r}return i}function ke(e,s={}){let i=s.restarts||10,n=[],r={};for(let b of e)if(b.sets.length===1)r[b.sets[0]]=n.length,n.push(b);let{distances:o,constraints:a}=me(e,n,r),c=At(o.map(At))/o.length;o=o.map((b)=>b.map((z)=>z/c));let g=(b,z)=>be(b,z,o,a),h=null;for(let b=0;b<i;++b){let z=zt(o.length*2).map(Math.random),w=ye(g,z,s);if(!h||w.fx<h.fx)h=w}let l=h.x,I={};for(let b=0;b<n.length;++b){let z=n[b];I[z.sets[0]]={x:l[2*b]*c,y:l[2*b+1]*c,radius:Math.sqrt(z.size/Math.PI)}}if(s.history)for(let b of s.history)Ct(b.x,c);return I}function Ie(e,s){let i=s&&s.lossFunction?s.lossFunction:bt,n={},r={};for(let I of e)if(I.sets.length===1){let b=I.sets[0];n[b]={x:10000000000,y:10000000000,rowid:n.length,size:I.size,radius:Math.sqrt(I.size/Math.PI)},r[b]=[]}e=e.filter((I)=>I.sets.length===2);for(let I of e){let b=I.weight!=null?I.weight:1,z=I.sets[0],w=I.sets[1];if(I.size+Xt>=Math.min(n[z].size,n[w].size))b=0;r[z].push({set:w,size:I.size,weight:b}),r[w].push({set:z,size:I.size,weight:b})}let o=[];Object.keys(r).forEach((I)=>{let b=0;for(let z=0;z<r[I].length;++z)b+=r[I][z].size*r[I][z].weight;o.push({set:I,size:b})});function a(I,b){return b.size-I.size}o.sort(a);let c={};function g(I){return I.set in c}function h(I,b){n[b].x=I.x,n[b].y=I.y,c[b]=!0}h({x:0,y:0},o[0].set);for(let I=1;I<o.length;++I){let b=o[I].set,z=r[b].filter(g),w=n[b];if(z.sort(a),z.length===0)throw"ERROR: missing pairwise overlap information";let j=[];for(var l=0;l<z.length;++l){let P=n[z[l].set],v=Dt(w.radius,P.radius,z[l].size);j.push({x:P.x+v,y:P.y}),j.push({x:P.x-v,y:P.y}),j.push({y:P.y+v,x:P.x}),j.push({y:P.y-v,x:P.x});for(let _=l+1;_<z.length;++_){let D=n[z[_].set],f=Dt(w.radius,D.radius,z[_].size),k=Wt({x:P.x,y:P.y,radius:v},{x:D.x,y:D.y,radius:f});j.push(...k)}}let G=100000000000000000000000000000000000000000000000000,B=j[0];for(let P of j){n[b].x=P.x,n[b].y=P.y;let v=i(n,e);if(v<G)G=v,B=P}h(B,b)}return n}function bt(e,s){let i=0;for(let n of s){if(n.sets.length===1)continue;let r;if(n.sets.length===2){let a=e[n.sets[0]],c=e[n.sets[1]];r=Nt(a.radius,c.radius,at(a,c))}else r=It(n.sets.map((a)=>e[a]));let o=n.weight!=null?n.weight:1;i+=o*(r-n.size)*(r-n.size)}return i}function Zt(e,s){let i=0;for(let n of s){if(n.sets.length===1)continue;let r;if(n.sets.length===2){let c=e[n.sets[0]],g=e[n.sets[1]];r=Nt(c.radius,g.radius,at(c,g))}else r=It(n.sets.map((c)=>e[c]));let o=n.weight!=null?n.weight:1,a=Math.log((r+1)/(n.size+1));i+=o*a*a}return i}function Me(e,s,i){if(i==null)e.sort((r,o)=>o.radius-r.radius);else e.sort(i);if(e.length>0){let r=e[0].x,o=e[0].y;for(let a of e)a.x-=r,a.y-=o}if(e.length===2){if(at(e[0],e[1])<Math.abs(e[1].radius-e[0].radius))e[1].x=e[0].x+e[0].radius-e[1].radius-0.0000000001,e[1].y=e[0].y}if(e.length>1){let r=Math.atan2(e[1].x,e[1].y)-s,o=Math.cos(r),a=Math.sin(r);for(let c of e){let{x:g,y:h}=c;c.x=o*g-a*h,c.y=a*g+o*h}}if(e.length>2){let r=Math.atan2(e[2].x,e[2].y)-s;while(r<0)r+=2*Math.PI;while(r>2*Math.PI)r-=2*Math.PI;if(r>Math.PI){let o=e[1].y/(0.0000000001+e[1].x);for(let a of e){var n=(a.x+o*a.y)/(1+o*o);a.x=2*n-a.x,a.y=2*n*o-a.y}}}}function Se(e){e.forEach((r)=>{r.parent=r});function s(r){if(r.parent!==r)r.parent=s(r.parent);return r.parent}function i(r,o){let a=s(r),c=s(o);a.parent=c}for(let r=0;r<e.length;++r)for(let o=r+1;o<e.length;++o){let a=e[r].radius+e[o].radius;if(at(e[r],e[o])+0.0000000001<a)i(e[o],e[r])}let n=new Map;for(let r=0;r<e.length;++r){let o=s(e[r]).parent.setid;if(!n.has(o))n.set(o,[]);n.get(o).push(e[r])}return e.forEach((r)=>{delete r.parent}),Array.from(n.values())}function Rt(e){let s=(i)=>{let n=e.reduce((o,a)=>Math.max(o,a[i]+a.radius),Number.NEGATIVE_INFINITY),r=e.reduce((o,a)=>Math.min(o,a[i]-a.radius),Number.POSITIVE_INFINITY);return{max:n,min:r}};return{xRange:s("x"),yRange:s("y")}}function Jt(e,s,i){if(s==null)s=Math.PI/2;let n=te(e).map((h)=>Object.assign({},h)),r=Se(n);for(let h of r){Me(h,s,i);let l=Rt(h);h.size=(l.xRange.max-l.xRange.min)*(l.yRange.max-l.yRange.min),h.bounds=l}r.sort((h,l)=>l.size-h.size),n=r[0];let o=n.bounds,a=(o.xRange.max-o.xRange.min)/50;function c(h,l,I){if(!h)return;let b=h.bounds,z,w;if(l)z=o.xRange.max-b.xRange.min+a;else{z=o.xRange.max-b.xRange.max;let j=(b.xRange.max-b.xRange.min)/2-(o.xRange.max-o.xRange.min)/2;if(j<0)z+=j}if(I)w=o.yRange.max-b.yRange.min+a;else{w=o.yRange.max-b.yRange.max;let j=(b.yRange.max-b.yRange.min)/2-(o.yRange.max-o.yRange.min)/2;if(j<0)w+=j}for(let j of h)j.x+=z,j.y+=w,n.push(j)}let g=1;while(g<r.length)c(r[g],!0,!1),c(r[g+1],!1,!0),c(r[g+2],!0,!0),g+=3,o=Rt(n);return $t(n)}function Qt(e,s,i,n,r){let o=te(e);s-=2*n,i-=2*n;let{xRange:a,yRange:c}=Rt(o);if(a.max===a.min||c.max===c.min)return console.log("not scaling solution: zero size detected"),e;let g,h;if(r){let z=Math.sqrt(r/Math.PI)*2;g=s/z,h=i/z}else g=s/(a.max-a.min),h=i/(c.max-c.min);let l=Math.min(h,g),I=(s-(a.max-a.min)*l)/2,b=(i-(c.max-c.min)*l)/2;return $t(o.map((z)=>({radius:l*z.radius,x:n+I+(z.x-a.min)*l,y:n+b+(z.y-c.min)*l,setid:z.setid})))}function $t(e){let s={};for(let i of e)s[i.setid]=i;return s}function te(e){return Object.keys(e).map((i)=>Object.assign(e[i],{setid:i}))}function ee(e={}){let s=!1,i=600,n=350,r=15,o=1000,a=Math.PI/2,c=!0,g=null,h=!0,l=!0,I=null,b=null,z=!1,w=null,j=e&&e.symmetricalTextCentre?e.symmetricalTextCentre:!1,G={},B=e&&e.colourScheme?e.colourScheme:e&&e.colorScheme?e.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],P=0,v=function(k){if(k in G)return G[k];var y=G[k]=B[P];if(P+=1,P>=B.length)P=0;return y},_=Yt,D=bt;function f(k){let y=k.datum(),Y=new Set;y.forEach((N)=>{if(N.size==0&&N.sets.length==1)Y.add(N.sets[0])}),y=y.filter((N)=>!N.sets.some((Q)=>Y.has(Q)));let O={},X={};if(y.length>0){let N=_(y,{lossFunction:D,distinct:z});if(c)N=Jt(N,a,b);O=Qt(N,i,n,r,g),X=se(O,y,j)}let lt={};y.forEach((N)=>{if(N.label)lt[N.sets]=N.label});function st(N){if(N.sets in lt)return lt[N.sets];if(N.sets.length==1)return""+N.sets[0]}k.selectAll("svg").data([O]).enter().append("svg");let J=k.select("svg");if(s)J.attr("viewBox",`0 0 ${i} ${n}`);else J.attr("width",i).attr("height",n);let H={},Z=!1;J.selectAll(".venn-area path").each(function(N){let Q=this.getAttribute("d");if(N.sets.length==1&&Q&&!z)Z=!0,H[N.sets[0]]=Ee(Q)});function q(N){return(Q)=>{let pt=N.sets.map((gt)=>{let dt=H[gt],ot=O[gt];if(!dt)dt={x:i/2,y:n/2,radius:1};if(!ot)ot={x:i/2,y:n/2,radius:1};return{x:dt.x*(1-Q)+ot.x*Q,y:dt.y*(1-Q)+ot.y*Q,radius:dt.radius*(1-Q)+ot.radius*Q}});return Gt(pt,w)}}let tt=J.selectAll(".venn-area").data(y,(N)=>N.sets),it=tt.enter().append("g").attr("class",(N)=>`venn-area venn-${N.sets.length==1?"circle":"intersection"}${N.colour||N.color?" venn-coloured":""}`).attr("data-venn-sets",(N)=>N.sets.join("_")),et=it.append("path"),ct=it.append("text").attr("class","label").text((N)=>st(N)).attr("text-anchor","middle").attr("dy",".35em").attr("x",i/2).attr("y",n/2);if(l)et.style("fill-opacity","0").filter((N)=>N.sets.length==1).style("fill",(N)=>N.colour?N.colour:N.color?N.color:v(N.sets)).style("fill-opacity",".25"),ct.style("fill",(N)=>{if(N.colour||N.color)return"#FFF";if(e.textFill)return e.textFill;return N.sets.length==1?v(N.sets):"#444"});function rt(N){if(typeof N.transition==="function")return N.transition("venn").duration(o);return N}let nt=k;if(Z&&typeof nt.transition==="function")nt=rt(k),nt.selectAll("path").attrTween("d",q);else nt.selectAll("path").attr("d",(N)=>Gt(N.sets.map((Q)=>O[Q])),w);let W=nt.selectAll("text").filter((N)=>(N.sets in X)).text((N)=>st(N)).attr("x",(N)=>Math.floor(X[N.sets].x)).attr("y",(N)=>Math.floor(X[N.sets].y));if(h)if(Z)if("on"in W)W.on("end",_t(O,st));else W.each("end",_t(O,st));else W.each(_t(O,st));let ht=rt(tt.exit()).remove();if(typeof tt.transition==="function")ht.selectAll("path").attrTween("d",q);let ft=ht.selectAll("text").attr("x",i/2).attr("y",n/2);if(I!==null)ct.style("font-size","0px"),W.style("font-size",I),ft.style("font-size","0px");return{circles:O,textCentres:X,nodes:tt,enter:it,update:nt,exit:ht}}return f.wrap=function(k){if(!arguments.length)return h;return h=k,f},f.useViewBox=function(){return s=!0,f},f.width=function(k){if(!arguments.length)return i;return i=k,f},f.height=function(k){if(!arguments.length)return n;return n=k,f},f.padding=function(k){if(!arguments.length)return r;return r=k,f},f.distinct=function(k){if(!arguments.length)return z;return z=k,f},f.colours=function(k){if(!arguments.length)return v;return v=k,f},f.colors=function(k){if(!arguments.length)return v;return v=k,f},f.fontSize=function(k){if(!arguments.length)return I;return I=k,f},f.round=function(k){if(!arguments.length)return w;return w=k,f},f.duration=function(k){if(!arguments.length)return o;return o=k,f},f.layoutFunction=function(k){if(!arguments.length)return _;return _=k,f},f.normalize=function(k){if(!arguments.length)return c;return c=k,f},f.scaleToFit=function(k){if(!arguments.length)return g;return g=k,f},f.styled=function(k){if(!arguments.length)return l;return l=k,f},f.orientation=function(k){if(!arguments.length)return a;return a=k,f},f.orientationOrder=function(k){if(!arguments.length)return b;return b=k,f},f.lossFunction=function(k){if(!arguments.length)return D;return D=k==="default"?bt:k==="logRatio"?Zt:k,f},f}function _t(e,s){return function(i){let n=this,r=e[i.sets[0]].radius||50,o=s(i)||"",a=o.split(/\s+/).reverse(),c=3,g=(o.length+a.length)/3,h=a.pop(),l=[h],I=0,b=1.1;n.textContent=null;let z=[];function w(v){let _=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return _.textContent=v,z.push(_),n.append(_),_}let j=w(h);while(!0){if(h=a.pop(),!h)break;l.push(h);let v=l.join(" ");if(j.textContent=v,v.length>g&&j.getComputedTextLength()>r)l.pop(),j.textContent=l.join(" "),l=[h],j=w(h),I++}let G=0.35-I*b/2,B=n.getAttribute("x"),P=n.getAttribute("y");z.forEach((v,_)=>{v.setAttribute("x",B),v.setAttribute("y",P),v.setAttribute("dy",`${G+_*b}em`)})}}function Et(e,s,i){let n=s[0].radius-at(s[0],e);for(let r=1;r<s.length;++r){let o=s[r].radius-at(s[r],e);if(o<=n)n=o}for(let r=0;r<i.length;++r){let o=at(i[r],e)-i[r].radius;if(o<=n)n=o}return n}function ne(e,s,i){let n=[];for(let l of e)n.push({x:l.x,y:l.y}),n.push({x:l.x+l.radius/2,y:l.y}),n.push({x:l.x-l.radius/2,y:l.y}),n.push({x:l.x,y:l.y+l.radius/2}),n.push({x:l.x,y:l.y-l.radius/2});let r=n[0],o=Et(n[0],e,s);for(let l=1;l<n.length;++l){let I=Et(n[l],e,s);if(I>=o)r=n[l],o=I}let a=Ht((l)=>-1*Et({x:l[0],y:l[1]},e,s),[r.x,r.y],{maxIterations:500,minErrorDelta:0.0000000001}).x,c={x:i?0:a[0],y:a[1]},g=!0;for(let l of e)if(at(c,l)>l.radius){g=!1;break}for(let l of s)if(at(c,l)<l.radius){g=!1;break}if(g)return c;if(e.length==1)return{x:e[0].x,y:e[0].y};let h={};if(It(e,h),h.arcs.length===0)return{x:0,y:-1000,disjoint:!0};if(h.arcs.length==1)return{x:h.arcs[0].circle.x,y:h.arcs[0].circle.y};if(s.length)return ne(e,[]);return Kt(h.arcs.map((l)=>l.p1))}function we(e){let s={},i=Object.keys(e);for(let n of i)s[n]=[];for(let n=0;n<i.length;n++){let r=i[n],o=e[r];for(let a=n+1;a<i.length;++a){let c=i[a],g=e[c],h=at(o,g);if(h+g.radius<=o.radius+0.0000000001)s[c].push(r);else if(h+o.radius<=g.radius+0.0000000001)s[r].push(c)}}return s}function se(e,s,i){let n={},r=we(e);for(let o=0;o<s.length;++o){let a=s[o].sets,c={},g={};for(let b=0;b<a.length;++b){c[a[b]]=!0;let z=r[a[b]];for(let w=0;w<z.length;++w)g[z[w]]=!0}let h=[],l=[];for(let b in e)if(b in c)h.push(e[b]);else if(!(b in g))l.push(e[b]);let I=ne(h,l,i);if(n[a]=I,I.disjoint&&s[o].size>0)console.log("WARNING: area "+a+" not represented on screen")}return n}function _e(e,s,i){let n=[];return n.push(`
|
|
1
|
+
import{t,X,vr,u,d,M,x,F,C,S,E,T,A,L,R,p,V,U,m}from"./chunk-b5zf1hs3.js";var fe=(e,s)=>vr(e,"a",-s),wt=fe;function It(e,s){let i=de(e),n=i.filter((c)=>he(c,e)),r=0,o=0,a=[];if(n.length>1){let c=Kt(n);for(let h=0;h<n.length;++h){let l=n[h];l.angle=Math.atan2(l.x-c.x,l.y-c.y)}n.sort((h,l)=>l.angle-h.angle);let g=n[n.length-1];for(let h=0;h<n.length;++h){let l=n[h];o+=(g.x+l.x)*(l.y-g.y);let I={x:(l.x+g.x)/2,y:(l.y+g.y)/2},b=null;for(let z=0;z<l.parentIndex.length;++z)if(g.parentIndex.includes(l.parentIndex[z])){let w=e[l.parentIndex[z]],j=Math.atan2(l.x-w.x,l.y-w.y),G=Math.atan2(g.x-w.x,g.y-w.y),B=G-j;if(B<0)B+=2*Math.PI;let P=G-B/2,v=at(I,{x:w.x+w.radius*Math.sin(P),y:w.y+w.radius*Math.cos(P)});if(v>w.radius*2)v=w.radius*2;if(b==null||b.width>v)b={circle:w,width:v,p1:l,p2:g,large:v>w.radius,sweep:!0}}if(b!=null)a.push(b),r+=Tt(b.circle.radius,b.width),g=l}}else{let c=e[0];for(let h=1;h<e.length;++h)if(e[h].radius<c.radius)c=e[h];let g=!1;for(let h=0;h<e.length;++h)if(at(e[h],c)>Math.abs(c.radius-e[h].radius)){g=!0;break}if(g)r=o=0;else r=c.radius*c.radius*Math.PI,a.push({circle:c,p1:{x:c.x,y:c.y+c.radius},p2:{x:c.x-0.0000000001,y:c.y+c.radius},width:c.radius*2,large:!0,sweep:!0})}if(o/=2,s)s.area=r+o,s.arcArea=r,s.polygonArea=o,s.arcs=a,s.innerPoints=n,s.intersectionPoints=i;return r+o}function he(e,s){return s.every((i)=>at(e,i)<i.radius+0.0000000001)}function de(e){let s=[];for(let i=0;i<e.length;++i)for(let n=i+1;n<e.length;++n){let r=Wt(e[i],e[n]);for(let o of r)o.parentIndex=[i,n],s.push(o)}return s}function Tt(e,s){return e*e*Math.acos(1-s/e)-(e-s)*Math.sqrt(s*(2*e-s))}function at(e,s){return Math.sqrt((e.x-s.x)*(e.x-s.x)+(e.y-s.y)*(e.y-s.y))}function Nt(e,s,i){if(i>=e+s)return 0;if(i<=Math.abs(e-s))return Math.PI*Math.min(e,s)*Math.min(e,s);let n=e-(i*i-s*s+e*e)/(2*i),r=s-(i*i-e*e+s*s)/(2*i);return Tt(e,n)+Tt(s,r)}function Wt(e,s){let i=at(e,s),n=e.radius,r=s.radius;if(i>=n+r||i<=Math.abs(n-r))return[];let o=(n*n-r*r+i*i)/(2*i),a=Math.sqrt(n*n-o*o),c=e.x+o*(s.x-e.x)/i,g=e.y+o*(s.y-e.y)/i,h=-(s.y-e.y)*(a/i),l=-(s.x-e.x)*(a/i);return[{x:c+h,y:g-l},{x:c-h,y:g+l}]}function Kt(e){let s={x:0,y:0};for(let i of e)s.x+=i.x,s.y+=i.y;return s.x/=e.length,s.y/=e.length,s}function ge(e,s,i,n){n=n||{};let r=n.maxIterations||100,o=n.tolerance||0.0000000001,a=e(s),c=e(i),g=i-s;if(a*c>0)throw"Initial bisect points must have opposite signs";if(a===0)return s;if(c===0)return i;for(let h=0;h<r;++h){g/=2;let l=s+g,I=e(l);if(I*a>=0)s=l;if(Math.abs(g)<o||I===0)return l}return s+g}function zt(e){let s=Array(e);for(let i=0;i<e;++i)s[i]=0;return s}function Ut(e,s){return zt(e).map(()=>zt(s))}function mt(e,s){let i=0;for(let n=0;n<e.length;++n)i+=e[n]*s[n];return i}function At(e){return Math.sqrt(mt(e,e))}function Ct(e,s,i){for(let n=0;n<s.length;++n)e[n]=s[n]*i}function xt(e,s,i,n,r){for(let o=0;o<e.length;++o)e[o]=s*i[o]+n*r[o]}function Ht(e,s,i){i=i||{};let n=i.maxIterations||s.length*200,r=i.nonZeroDelta||1.05,o=i.zeroDelta||0.001,a=i.minErrorDelta||0.000001,c=i.minErrorDelta||0.00001,g=i.rho!==void 0?i.rho:1,h=i.chi!==void 0?i.chi:2,l=i.psi!==void 0?i.psi:-0.5,I=i.sigma!==void 0?i.sigma:0.5,b,z=s.length,w=Array(z+1);w[0]=s,w[0].fx=e(s),w[0].id=0;for(let D=0;D<z;++D){let f=s.slice();f[D]=f[D]?f[D]*r:o,w[D+1]=f,w[D+1].fx=e(f),w[D+1].id=D+1}function j(D){for(let f=0;f<D.length;f++)w[z][f]=D[f];w[z].fx=D.fx}let G=(D,f)=>D.fx-f.fx,B=s.slice(),P=s.slice(),v=s.slice(),_=s.slice();for(let D=0;D<n;++D){if(w.sort(G),i.history){let k=w.map((y)=>{let H=y.slice();return H.fx=y.fx,H.id=y.id,H});k.sort((y,H)=>y.id-H.id),i.history.push({x:w[0].slice(),fx:w[0].fx,simplex:k})}b=0;for(let k=0;k<z;++k)b=Math.max(b,Math.abs(w[0][k]-w[1][k]));if(Math.abs(w[0].fx-w[z].fx)<a&&b<c)break;for(let k=0;k<z;++k){B[k]=0;for(let y=0;y<z;++y)B[k]+=w[y][k];B[k]/=z}let f=w[z];if(xt(P,1+g,B,-g,f),P.fx=e(P),P.fx<w[0].fx)if(xt(_,1+h,B,-h,f),_.fx=e(_),_.fx<P.fx)j(_);else j(P);else if(P.fx>=w[z-1].fx){let k=!1;if(P.fx>f.fx)if(xt(v,1+l,B,-l,f),v.fx=e(v),v.fx<f.fx)j(v);else k=!0;else if(xt(v,1-l*g,B,l*g,f),v.fx=e(v),v.fx<P.fx)j(v);else k=!0;if(k){if(I>=1)break;for(let y=1;y<w.length;++y)xt(w[y],1-I,w[0],I,w[y]),w[y].fx=e(w[y])}}else j(P)}return w.sort(G),{fx:w[0].fx,x:w[0]}}function xe(e,s,i,n,r,o,a){let c=i.fx,g=mt(i.fxprime,s),h=c,l=c,I=g,b=0;r=r||1,o=o||0.000001,a=a||0.1;function z(w,j,G){for(let B=0;B<16;++B)if(r=(w+j)/2,xt(n.x,1,i.x,r,s),h=n.fx=e(n.x,n.fxprime),I=mt(n.fxprime,s),h>c+o*r*g||h>=G)j=r;else{if(Math.abs(I)<=-a*g)return r;if(I*(j-w)>=0)j=w;w=r,G=h}return 0}for(let w=0;w<10;++w){if(xt(n.x,1,i.x,r,s),h=n.fx=e(n.x,n.fxprime),I=mt(n.fxprime,s),h>c+o*r*g||w&&h>=l)return z(b,r,l);if(Math.abs(I)<=-a*g)return r;if(I>=0)return z(r,b,h);l=h,b=r,r*=2}return r}function ye(e,s,i){let n={x:s.slice(),fx:0,fxprime:s.slice()},r={x:s.slice(),fx:0,fxprime:s.slice()},o=s.slice(),a,c,g=1,h;i=i||{},h=i.maxIterations||s.length*20,n.fx=e(n.x,n.fxprime),a=n.fxprime.slice(),Ct(a,n.fxprime,-1);for(let l=0;l<h;++l){if(g=xe(e,a,n,r,g),i.history)i.history.push({x:n.x.slice(),fx:n.fx,fxprime:n.fxprime.slice(),alpha:g});if(!g)Ct(a,n.fxprime,-1);else{xt(o,1,r.fxprime,-1,n.fxprime);let I=mt(n.fxprime,n.fxprime),b=Math.max(0,mt(o,r.fxprime)/I);xt(a,b,a,-1,r.fxprime),c=n,n=r,r=c}if(At(n.fxprime)<=0.00001)break}if(i.history)i.history.push({x:n.x.slice(),fx:n.fx,fxprime:n.fxprime.slice(),alpha:g});return n}function Yt(e,s={}){s.maxIterations=s.maxIterations||500;let i=s.initialLayout||ve,n=s.lossFunction||bt,r=pe(e,s),o=i(r,s),a=Object.keys(o),c=[];for(let l of a)c.push(o[l].x),c.push(o[l].y);let h=Ht((l)=>{let I={};for(let b=0;b<a.length;++b){let z=a[b];I[z]={x:l[2*b],y:l[2*b+1],radius:o[z].radius}}return n(I,r)},c,s).x;for(let l=0;l<a.length;++l){let I=a[l];o[I].x=h[2*l],o[I].y=h[2*l+1]}return o}var Xt=0.0000000001;function Dt(e,s,i){if(Math.min(e,s)*Math.min(e,s)*Math.PI<=i+Xt)return Math.abs(e-s);return ge((n)=>Nt(e,s,n)-i,0,e+s)}function pe(e,s={}){let i=s.distinct,n=e.map((c)=>Object.assign({},c));function r(c){return c.join(";")}if(i){let c=new Map;for(let g of n)for(let h=0;h<g.sets.length;h++){let l=String(g.sets[h]);c.set(l,g.size+(c.get(l)||0));for(let I=h+1;I<g.sets.length;I++){let b=String(g.sets[I]),z=`${l};${b}`,w=`${b};${l}`;c.set(z,g.size+(c.get(z)||0)),c.set(w,g.size+(c.get(w)||0))}}for(let g of n)if(g.sets.length<3)g.size=c.get(r(g.sets))}let o=[],a=new Set;for(let c of n)if(c.sets.length===1)o.push(c.sets[0]);else if(c.sets.length===2){let g=c.sets[0],h=c.sets[1];a.add(r(c.sets)),a.add(r([h,g]))}o.sort((c,g)=>c===g?0:c<g?-1:1);for(let c=0;c<o.length;++c){let g=o[c];for(let h=c+1;h<o.length;++h){let l=o[h];if(!a.has(r([g,l])))n.push({sets:[g,l],size:0})}}return n}function me(e,s,i){let n=Ut(s.length,s.length),r=Ut(s.length,s.length);return e.filter((o)=>o.sets.length===2).forEach((o)=>{let a=i[o.sets[0]],c=i[o.sets[1]],g=Math.sqrt(s[a].size/Math.PI),h=Math.sqrt(s[c].size/Math.PI),l=Dt(g,h,o.size);n[a][c]=n[c][a]=l;let I=0;if(o.size+0.0000000001>=Math.min(s[a].size,s[c].size))I=1;else if(o.size<=0.0000000001)I=-1;r[a][c]=r[c][a]=I}),{distances:n,constraints:r}}function be(e,s,i,n){for(let o=0;o<s.length;++o)s[o]=0;let r=0;for(let o=0;o<i.length;++o){let a=e[2*o],c=e[2*o+1];for(let g=o+1;g<i.length;++g){let h=e[2*g],l=e[2*g+1],I=i[o][g],b=n[o][g],z=(h-a)*(h-a)+(l-c)*(l-c),w=Math.sqrt(z),j=z-I*I;if(b>0&&w<=I||b<0&&w>=I)continue;r+=2*j*j,s[2*o]+=4*j*(a-h),s[2*o+1]+=4*j*(c-l),s[2*g]+=4*j*(h-a),s[2*g+1]+=4*j*(l-c)}}return r}function ve(e,s={}){let i=Ie(e,s),n=s.lossFunction||bt;if(e.length>=8){let r=ke(e,s),o=n(r,e),a=n(i,e);if(o+0.00000001<a)i=r}return i}function ke(e,s={}){let i=s.restarts||10,n=[],r={};for(let b of e)if(b.sets.length===1)r[b.sets[0]]=n.length,n.push(b);let{distances:o,constraints:a}=me(e,n,r),c=At(o.map(At))/o.length;o=o.map((b)=>b.map((z)=>z/c));let g=(b,z)=>be(b,z,o,a),h=null;for(let b=0;b<i;++b){let z=zt(o.length*2).map(Math.random),w=ye(g,z,s);if(!h||w.fx<h.fx)h=w}let l=h.x,I={};for(let b=0;b<n.length;++b){let z=n[b];I[z.sets[0]]={x:l[2*b]*c,y:l[2*b+1]*c,radius:Math.sqrt(z.size/Math.PI)}}if(s.history)for(let b of s.history)Ct(b.x,c);return I}function Ie(e,s){let i=s&&s.lossFunction?s.lossFunction:bt,n={},r={};for(let I of e)if(I.sets.length===1){let b=I.sets[0];n[b]={x:10000000000,y:10000000000,rowid:n.length,size:I.size,radius:Math.sqrt(I.size/Math.PI)},r[b]=[]}e=e.filter((I)=>I.sets.length===2);for(let I of e){let b=I.weight!=null?I.weight:1,z=I.sets[0],w=I.sets[1];if(I.size+Xt>=Math.min(n[z].size,n[w].size))b=0;r[z].push({set:w,size:I.size,weight:b}),r[w].push({set:z,size:I.size,weight:b})}let o=[];Object.keys(r).forEach((I)=>{let b=0;for(let z=0;z<r[I].length;++z)b+=r[I][z].size*r[I][z].weight;o.push({set:I,size:b})});function a(I,b){return b.size-I.size}o.sort(a);let c={};function g(I){return I.set in c}function h(I,b){n[b].x=I.x,n[b].y=I.y,c[b]=!0}h({x:0,y:0},o[0].set);for(let I=1;I<o.length;++I){let b=o[I].set,z=r[b].filter(g),w=n[b];if(z.sort(a),z.length===0)throw"ERROR: missing pairwise overlap information";let j=[];for(var l=0;l<z.length;++l){let P=n[z[l].set],v=Dt(w.radius,P.radius,z[l].size);j.push({x:P.x+v,y:P.y}),j.push({x:P.x-v,y:P.y}),j.push({y:P.y+v,x:P.x}),j.push({y:P.y-v,x:P.x});for(let _=l+1;_<z.length;++_){let D=n[z[_].set],f=Dt(w.radius,D.radius,z[_].size),k=Wt({x:P.x,y:P.y,radius:v},{x:D.x,y:D.y,radius:f});j.push(...k)}}let G=100000000000000000000000000000000000000000000000000,B=j[0];for(let P of j){n[b].x=P.x,n[b].y=P.y;let v=i(n,e);if(v<G)G=v,B=P}h(B,b)}return n}function bt(e,s){let i=0;for(let n of s){if(n.sets.length===1)continue;let r;if(n.sets.length===2){let a=e[n.sets[0]],c=e[n.sets[1]];r=Nt(a.radius,c.radius,at(a,c))}else r=It(n.sets.map((a)=>e[a]));let o=n.weight!=null?n.weight:1;i+=o*(r-n.size)*(r-n.size)}return i}function Zt(e,s){let i=0;for(let n of s){if(n.sets.length===1)continue;let r;if(n.sets.length===2){let c=e[n.sets[0]],g=e[n.sets[1]];r=Nt(c.radius,g.radius,at(c,g))}else r=It(n.sets.map((c)=>e[c]));let o=n.weight!=null?n.weight:1,a=Math.log((r+1)/(n.size+1));i+=o*a*a}return i}function Me(e,s,i){if(i==null)e.sort((r,o)=>o.radius-r.radius);else e.sort(i);if(e.length>0){let r=e[0].x,o=e[0].y;for(let a of e)a.x-=r,a.y-=o}if(e.length===2){if(at(e[0],e[1])<Math.abs(e[1].radius-e[0].radius))e[1].x=e[0].x+e[0].radius-e[1].radius-0.0000000001,e[1].y=e[0].y}if(e.length>1){let r=Math.atan2(e[1].x,e[1].y)-s,o=Math.cos(r),a=Math.sin(r);for(let c of e){let{x:g,y:h}=c;c.x=o*g-a*h,c.y=a*g+o*h}}if(e.length>2){let r=Math.atan2(e[2].x,e[2].y)-s;while(r<0)r+=2*Math.PI;while(r>2*Math.PI)r-=2*Math.PI;if(r>Math.PI){let o=e[1].y/(0.0000000001+e[1].x);for(let a of e){var n=(a.x+o*a.y)/(1+o*o);a.x=2*n-a.x,a.y=2*n*o-a.y}}}}function Se(e){e.forEach((r)=>{r.parent=r});function s(r){if(r.parent!==r)r.parent=s(r.parent);return r.parent}function i(r,o){let a=s(r),c=s(o);a.parent=c}for(let r=0;r<e.length;++r)for(let o=r+1;o<e.length;++o){let a=e[r].radius+e[o].radius;if(at(e[r],e[o])+0.0000000001<a)i(e[o],e[r])}let n=new Map;for(let r=0;r<e.length;++r){let o=s(e[r]).parent.setid;if(!n.has(o))n.set(o,[]);n.get(o).push(e[r])}return e.forEach((r)=>{delete r.parent}),Array.from(n.values())}function Rt(e){let s=(i)=>{let n=e.reduce((o,a)=>Math.max(o,a[i]+a.radius),Number.NEGATIVE_INFINITY),r=e.reduce((o,a)=>Math.min(o,a[i]-a.radius),Number.POSITIVE_INFINITY);return{max:n,min:r}};return{xRange:s("x"),yRange:s("y")}}function Jt(e,s,i){if(s==null)s=Math.PI/2;let n=te(e).map((h)=>Object.assign({},h)),r=Se(n);for(let h of r){Me(h,s,i);let l=Rt(h);h.size=(l.xRange.max-l.xRange.min)*(l.yRange.max-l.yRange.min),h.bounds=l}r.sort((h,l)=>l.size-h.size),n=r[0];let o=n.bounds,a=(o.xRange.max-o.xRange.min)/50;function c(h,l,I){if(!h)return;let b=h.bounds,z,w;if(l)z=o.xRange.max-b.xRange.min+a;else{z=o.xRange.max-b.xRange.max;let j=(b.xRange.max-b.xRange.min)/2-(o.xRange.max-o.xRange.min)/2;if(j<0)z+=j}if(I)w=o.yRange.max-b.yRange.min+a;else{w=o.yRange.max-b.yRange.max;let j=(b.yRange.max-b.yRange.min)/2-(o.yRange.max-o.yRange.min)/2;if(j<0)w+=j}for(let j of h)j.x+=z,j.y+=w,n.push(j)}let g=1;while(g<r.length)c(r[g],!0,!1),c(r[g+1],!1,!0),c(r[g+2],!0,!0),g+=3,o=Rt(n);return $t(n)}function Qt(e,s,i,n,r){let o=te(e);s-=2*n,i-=2*n;let{xRange:a,yRange:c}=Rt(o);if(a.max===a.min||c.max===c.min)return console.log("not scaling solution: zero size detected"),e;let g,h;if(r){let z=Math.sqrt(r/Math.PI)*2;g=s/z,h=i/z}else g=s/(a.max-a.min),h=i/(c.max-c.min);let l=Math.min(h,g),I=(s-(a.max-a.min)*l)/2,b=(i-(c.max-c.min)*l)/2;return $t(o.map((z)=>({radius:l*z.radius,x:n+I+(z.x-a.min)*l,y:n+b+(z.y-c.min)*l,setid:z.setid})))}function $t(e){let s={};for(let i of e)s[i.setid]=i;return s}function te(e){return Object.keys(e).map((i)=>Object.assign(e[i],{setid:i}))}function ee(e={}){let s=!1,i=600,n=350,r=15,o=1000,a=Math.PI/2,c=!0,g=null,h=!0,l=!0,I=null,b=null,z=!1,w=null,j=e&&e.symmetricalTextCentre?e.symmetricalTextCentre:!1,G={},B=e&&e.colourScheme?e.colourScheme:e&&e.colorScheme?e.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],P=0,v=function(k){if(k in G)return G[k];var y=G[k]=B[P];if(P+=1,P>=B.length)P=0;return y},_=Yt,D=bt;function f(k){let y=k.datum(),H=new Set;y.forEach((N)=>{if(N.size==0&&N.sets.length==1)H.add(N.sets[0])}),y=y.filter((N)=>!N.sets.some((Q)=>H.has(Q)));let O={},Y={};if(y.length>0){let N=_(y,{lossFunction:D,distinct:z});if(c)N=Jt(N,a,b);O=Qt(N,i,n,r,g),Y=se(O,y,j)}let lt={};y.forEach((N)=>{if(N.label)lt[N.sets]=N.label});function st(N){if(N.sets in lt)return lt[N.sets];if(N.sets.length==1)return""+N.sets[0]}k.selectAll("svg").data([O]).enter().append("svg");let J=k.select("svg");if(s)J.attr("viewBox",`0 0 ${i} ${n}`);else J.attr("width",i).attr("height",n);let K={},Z=!1;J.selectAll(".venn-area path").each(function(N){let Q=this.getAttribute("d");if(N.sets.length==1&&Q&&!z)Z=!0,K[N.sets[0]]=Ee(Q)});function q(N){return(Q)=>{let pt=N.sets.map((gt)=>{let dt=K[gt],ot=O[gt];if(!dt)dt={x:i/2,y:n/2,radius:1};if(!ot)ot={x:i/2,y:n/2,radius:1};return{x:dt.x*(1-Q)+ot.x*Q,y:dt.y*(1-Q)+ot.y*Q,radius:dt.radius*(1-Q)+ot.radius*Q}});return Gt(pt,w)}}let tt=J.selectAll(".venn-area").data(y,(N)=>N.sets),it=tt.enter().append("g").attr("class",(N)=>`venn-area venn-${N.sets.length==1?"circle":"intersection"}${N.colour||N.color?" venn-coloured":""}`).attr("data-venn-sets",(N)=>N.sets.join("_")),et=it.append("path"),ct=it.append("text").attr("class","label").text((N)=>st(N)).attr("text-anchor","middle").attr("dy",".35em").attr("x",i/2).attr("y",n/2);if(l)et.style("fill-opacity","0").filter((N)=>N.sets.length==1).style("fill",(N)=>N.colour?N.colour:N.color?N.color:v(N.sets)).style("fill-opacity",".25"),ct.style("fill",(N)=>{if(N.colour||N.color)return"#FFF";if(e.textFill)return e.textFill;return N.sets.length==1?v(N.sets):"#444"});function rt(N){if(typeof N.transition==="function")return N.transition("venn").duration(o);return N}let nt=k;if(Z&&typeof nt.transition==="function")nt=rt(k),nt.selectAll("path").attrTween("d",q);else nt.selectAll("path").attr("d",(N)=>Gt(N.sets.map((Q)=>O[Q])),w);let W=nt.selectAll("text").filter((N)=>(N.sets in Y)).text((N)=>st(N)).attr("x",(N)=>Math.floor(Y[N.sets].x)).attr("y",(N)=>Math.floor(Y[N.sets].y));if(h)if(Z)if("on"in W)W.on("end",_t(O,st));else W.each("end",_t(O,st));else W.each(_t(O,st));let ht=rt(tt.exit()).remove();if(typeof tt.transition==="function")ht.selectAll("path").attrTween("d",q);let ft=ht.selectAll("text").attr("x",i/2).attr("y",n/2);if(I!==null)ct.style("font-size","0px"),W.style("font-size",I),ft.style("font-size","0px");return{circles:O,textCentres:Y,nodes:tt,enter:it,update:nt,exit:ht}}return f.wrap=function(k){if(!arguments.length)return h;return h=k,f},f.useViewBox=function(){return s=!0,f},f.width=function(k){if(!arguments.length)return i;return i=k,f},f.height=function(k){if(!arguments.length)return n;return n=k,f},f.padding=function(k){if(!arguments.length)return r;return r=k,f},f.distinct=function(k){if(!arguments.length)return z;return z=k,f},f.colours=function(k){if(!arguments.length)return v;return v=k,f},f.colors=function(k){if(!arguments.length)return v;return v=k,f},f.fontSize=function(k){if(!arguments.length)return I;return I=k,f},f.round=function(k){if(!arguments.length)return w;return w=k,f},f.duration=function(k){if(!arguments.length)return o;return o=k,f},f.layoutFunction=function(k){if(!arguments.length)return _;return _=k,f},f.normalize=function(k){if(!arguments.length)return c;return c=k,f},f.scaleToFit=function(k){if(!arguments.length)return g;return g=k,f},f.styled=function(k){if(!arguments.length)return l;return l=k,f},f.orientation=function(k){if(!arguments.length)return a;return a=k,f},f.orientationOrder=function(k){if(!arguments.length)return b;return b=k,f},f.lossFunction=function(k){if(!arguments.length)return D;return D=k==="default"?bt:k==="logRatio"?Zt:k,f},f}function _t(e,s){return function(i){let n=this,r=e[i.sets[0]].radius||50,o=s(i)||"",a=o.split(/\s+/).reverse(),c=3,g=(o.length+a.length)/3,h=a.pop(),l=[h],I=0,b=1.1;n.textContent=null;let z=[];function w(v){let _=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return _.textContent=v,z.push(_),n.append(_),_}let j=w(h);while(!0){if(h=a.pop(),!h)break;l.push(h);let v=l.join(" ");if(j.textContent=v,v.length>g&&j.getComputedTextLength()>r)l.pop(),j.textContent=l.join(" "),l=[h],j=w(h),I++}let G=0.35-I*b/2,B=n.getAttribute("x"),P=n.getAttribute("y");z.forEach((v,_)=>{v.setAttribute("x",B),v.setAttribute("y",P),v.setAttribute("dy",`${G+_*b}em`)})}}function Et(e,s,i){let n=s[0].radius-at(s[0],e);for(let r=1;r<s.length;++r){let o=s[r].radius-at(s[r],e);if(o<=n)n=o}for(let r=0;r<i.length;++r){let o=at(i[r],e)-i[r].radius;if(o<=n)n=o}return n}function ne(e,s,i){let n=[];for(let l of e)n.push({x:l.x,y:l.y}),n.push({x:l.x+l.radius/2,y:l.y}),n.push({x:l.x-l.radius/2,y:l.y}),n.push({x:l.x,y:l.y+l.radius/2}),n.push({x:l.x,y:l.y-l.radius/2});let r=n[0],o=Et(n[0],e,s);for(let l=1;l<n.length;++l){let I=Et(n[l],e,s);if(I>=o)r=n[l],o=I}let a=Ht((l)=>-1*Et({x:l[0],y:l[1]},e,s),[r.x,r.y],{maxIterations:500,minErrorDelta:0.0000000001}).x,c={x:i?0:a[0],y:a[1]},g=!0;for(let l of e)if(at(c,l)>l.radius){g=!1;break}for(let l of s)if(at(c,l)<l.radius){g=!1;break}if(g)return c;if(e.length==1)return{x:e[0].x,y:e[0].y};let h={};if(It(e,h),h.arcs.length===0)return{x:0,y:-1000,disjoint:!0};if(h.arcs.length==1)return{x:h.arcs[0].circle.x,y:h.arcs[0].circle.y};if(s.length)return ne(e,[]);return Kt(h.arcs.map((l)=>l.p1))}function we(e){let s={},i=Object.keys(e);for(let n of i)s[n]=[];for(let n=0;n<i.length;n++){let r=i[n],o=e[r];for(let a=n+1;a<i.length;++a){let c=i[a],g=e[c],h=at(o,g);if(h+g.radius<=o.radius+0.0000000001)s[c].push(r);else if(h+o.radius<=g.radius+0.0000000001)s[r].push(c)}}return s}function se(e,s,i){let n={},r=we(e);for(let o=0;o<s.length;++o){let a=s[o].sets,c={},g={};for(let b=0;b<a.length;++b){c[a[b]]=!0;let z=r[a[b]];for(let w=0;w<z.length;++w)g[z[w]]=!0}let h=[],l=[];for(let b in e)if(b in c)h.push(e[b]);else if(!(b in g))l.push(e[b]);let I=ne(h,l,i);if(n[a]=I,I.disjoint&&s[o].size>0)console.log("WARNING: area "+a+" not represented on screen")}return n}function _e(e,s,i){let n=[];return n.push(`
|
|
2
2
|
M`,e,s),n.push(`
|
|
3
3
|
m`,-i,0),n.push(`
|
|
4
4
|
a`,i,i,0,1,0,i*2,0),n.push(`
|
|
5
5
|
a`,i,i,0,1,0,-i*2,0),n.join(" ")}function Ee(e){let s=e.split(" ");return{x:Number.parseFloat(s[1]),y:Number.parseFloat(s[2]),radius:-Number.parseFloat(s[4])}}function ie(e){if(e.length===0)return[];let s={};return It(e,s),s.arcs}function re(e,s){if(e.length===0)return"M 0 0";let i=Math.pow(10,s||0),n=s!=null?(o)=>Math.round(o*i)/i:(o)=>o;if(e.length==1){let o=e[0].circle;return _e(n(o.x),n(o.y),n(o.radius))}let r=[`
|
|
6
6
|
M`,n(e[0].p2.x),n(e[0].p2.y)];for(let o of e){let a=n(o.circle.radius);r.push(`
|
|
7
|
-
A`,a,a,0,o.large?1:0,o.sweep?1:0,n(o.p1.x),n(o.p1.y))}return r.join(" ")}function Gt(e,s){return re(ie(e),s)}function oe(e,s={}){let{lossFunction:i,layoutFunction:n=Yt,normalize:r=!0,orientation:o=Math.PI/2,orientationOrder:a,width:c=600,height:g=350,padding:h=15,scaleToFit:l=!1,symmetricalTextCentre:I=!1,distinct:b,round:z=2}=s,w=n(e,{lossFunction:i==="default"||!i?bt:i==="logRatio"?Zt:i,distinct:b});if(r)w=Jt(w,o,a);let j=Qt(w,c,g,h,l),G=se(j,e,I),B=new Map(Object.keys(j).map((_)=>[_,{set:_,x:j[_].x,y:j[_].y,radius:j[_].radius}])),P=e.map((_)=>{let D=_.sets.map((y)=>B.get(y)),f=ie(D),k=re(f,z);return{circles:D,arcs:f,path:k,area:_,has:new Set(_.sets)}});function v(_){let D="";for(let f of P)if(f.has.size>_.length&&_.every((k)=>f.has.has(k)))D+=" "+f.path;return D}return P.map(({circles:_,arcs:D,path:f,area:k})=>({data:k,text:G[k.sets],circles:_,arcs:D,path:f,distinctPath:f+v(k.sets)}))}var Ot=function(){var e=t(function(P,v,_,D){for(_=_||{},D=P.length;D--;_[P[D]]=v);return _},"o"),s=[5,8],i=[7,8,11,12,17,19,22,24],n=[1,17],r=[1,18],o=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],a=[1,31],c=[1,39],g=[7,8,11,12,17,19,22,24,27],h=[1,57],l=[1,56],I=[1,58],b=[1,59],z=[1,60],w=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],j={trace:t(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:t(function(v,_,D,f,k,y,
|
|
7
|
+
A`,a,a,0,o.large?1:0,o.sweep?1:0,n(o.p1.x),n(o.p1.y))}return r.join(" ")}function Gt(e,s){return re(ie(e),s)}function oe(e,s={}){let{lossFunction:i,layoutFunction:n=Yt,normalize:r=!0,orientation:o=Math.PI/2,orientationOrder:a,width:c=600,height:g=350,padding:h=15,scaleToFit:l=!1,symmetricalTextCentre:I=!1,distinct:b,round:z=2}=s,w=n(e,{lossFunction:i==="default"||!i?bt:i==="logRatio"?Zt:i,distinct:b});if(r)w=Jt(w,o,a);let j=Qt(w,c,g,h,l),G=se(j,e,I),B=new Map(Object.keys(j).map((_)=>[_,{set:_,x:j[_].x,y:j[_].y,radius:j[_].radius}])),P=e.map((_)=>{let D=_.sets.map((y)=>B.get(y)),f=ie(D),k=re(f,z);return{circles:D,arcs:f,path:k,area:_,has:new Set(_.sets)}});function v(_){let D="";for(let f of P)if(f.has.size>_.length&&_.every((k)=>f.has.has(k)))D+=" "+f.path;return D}return P.map(({circles:_,arcs:D,path:f,area:k})=>({data:k,text:G[k.sets],circles:_,arcs:D,path:f,distinctPath:f+v(k.sets)}))}var Ot=function(){var e=t(function(P,v,_,D){for(_=_||{},D=P.length;D--;_[P[D]]=v);return _},"o"),s=[5,8],i=[7,8,11,12,17,19,22,24],n=[1,17],r=[1,18],o=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],a=[1,31],c=[1,39],g=[7,8,11,12,17,19,22,24,27],h=[1,57],l=[1,56],I=[1,58],b=[1,59],z=[1,60],w=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],j={trace:t(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:t(function(v,_,D,f,k,y,H){var O=y.length-1;switch(k){case 1:return y[O-1];case 2:case 3:case 4:this.$=[];break;case 5:y[O-1].push(y[O]),this.$=y[O-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=y[O];break;case 8:f.setDiagramTitle(y[O].substr(6)),this.$=y[O].substr(6);break;case 9:if(f.addSubsetData([y[O]],void 0,void 0),f.setIndentMode)f.setIndentMode(!0);break;case 10:if(f.addSubsetData([y[O-1]],y[O],void 0),f.setIndentMode)f.setIndentMode(!0);break;case 11:if(f.addSubsetData([y[O-2]],void 0,parseFloat(y[O])),f.setIndentMode)f.setIndentMode(!0);break;case 12:if(f.addSubsetData([y[O-3]],y[O-2],parseFloat(y[O])),f.setIndentMode)f.setIndentMode(!0);break;case 13:if(y[O].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(y[O]);if(f.addSubsetData(y[O],void 0,void 0),f.setIndentMode)f.setIndentMode(!0);break;case 14:if(y[O-1].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(y[O-1]);if(f.addSubsetData(y[O-1],y[O],void 0),f.setIndentMode)f.setIndentMode(!0);break;case 15:if(y[O-2].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(y[O-2]);if(f.addSubsetData(y[O-2],void 0,parseFloat(y[O])),f.setIndentMode)f.setIndentMode(!0);break;case 16:if(y[O-3].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(y[O-3]);if(f.addSubsetData(y[O-3],y[O-2],parseFloat(y[O])),f.setIndentMode)f.setIndentMode(!0);break;case 17:case 18:case 19:f.addTextData(y[O-1],y[O],void 0);break;case 20:case 21:f.addTextData(y[O-2],y[O-1],y[O]);break;case 23:f.addStyleData(y[O-1],y[O]);break;case 24:case 25:case 26:var Y=f.getCurrentSets();if(!Y)throw Error("text requires set");f.addTextData(Y,y[O],void 0);break;case 27:case 28:var Y=f.getCurrentSets();if(!Y)throw Error("text requires set");f.addTextData(Y,y[O-1],y[O]);break;case 29:case 41:this.$=[y[O]];break;case 30:case 42:this.$=[...y[O-2],y[O]];break;case 31:this.$=[y[O-2],y[O]];break;case 33:this.$=y[O].join(" ");break;case 34:this.$=[y[O]];break;case 35:y[O-1].push(y[O]),this.$=y[O-1];break;case 43:case 44:this.$=y[O];break}},"anonymous"),table:[e(s,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},e(i,[2,4],{6:5}),e(s,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},e(i,[2,5]),e(i,[2,6]),e(i,[2,7]),e(i,[2,8]),{13:16,20:n,21:r},{13:20,18:19,20:n,21:r},{13:20,18:21,20:n,21:r},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:r},e(i,[2,9],{14:[1,27],15:[1,28]}),e(o,[2,43]),e(o,[2,44]),e(i,[2,13],{14:[1,29],15:[1,30],27:a}),e(o,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:a},e(i,[2,22]),e(i,[2,24],{14:[1,35]}),e(i,[2,25],{14:[1,36]}),e(i,[2,26]),{20:c,25:37,26:38,27:a},e(i,[2,10],{15:[1,40]}),{16:[1,41]},e(i,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:r},e(i,[2,17],{14:[1,45]}),e(i,[2,18],{14:[1,46]}),e(i,[2,19]),e(i,[2,27]),e(i,[2,28]),e(i,[2,23],{27:[1,47]}),e(g,[2,29]),{15:[1,48]},{16:[1,49]},e(i,[2,11]),{16:[1,50]},e(i,[2,15]),e(o,[2,42]),e(i,[2,20]),e(i,[2,21]),{20:c,26:51},{16:h,20:l,21:[1,53],28:52,29:54,30:55,31:I,32:b,33:z},e(i,[2,12]),e(i,[2,16]),e(g,[2,30]),e(g,[2,31]),e(g,[2,32]),e(g,[2,33],{30:61,16:h,20:l,31:I,32:b,33:z}),e(w,[2,34]),e(w,[2,36]),e(w,[2,37]),e(w,[2,38]),e(w,[2,39]),e(w,[2,40]),e(w,[2,35])],defaultActions:{6:[2,1]},parseError:t(function(v,_){if(_.recoverable)this.trace(v);else{var D=Error(v);throw D.hash=_,D}},"parseError"),parse:t(function(v){var _=this,D=[0],f=[],k=[null],y=[],H=this.table,O="",Y=0,lt=0,st=0,J=2,K=1,Z=y.slice.call(arguments,1),q=Object.create(this.lexer),tt={yy:{}};for(var it in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,it))tt.yy[it]=this.yy[it];if(q.setInput(v,tt.yy),tt.yy.lexer=q,tt.yy.parser=this,typeof q.yylloc>"u")q.yylloc={};var et=q.yylloc;y.push(et);var ct=q.options&&q.options.ranges;if(typeof tt.yy.parseError==="function")this.parseError=tt.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function rt(ut){D.length=D.length-2*ut,k.length=k.length-ut,y.length=y.length-ut}t(rt,"popStack");function nt(){var ut=f.pop()||q.lex()||K;if(typeof ut!=="number"){if(ut instanceof Array)f=ut,ut=f.pop();ut=_.symbols_[ut]||ut}return ut}t(nt,"lex");var W,ht,ft,N,Q,pt,gt={},dt,ot,qt,kt;while(!0){if(ft=D[D.length-1],this.defaultActions[ft])N=this.defaultActions[ft];else{if(W===null||typeof W>"u")W=nt();N=H[ft]&&H[ft][W]}if(typeof N>"u"||!N.length||!N[0]){var St="";kt=[];for(dt in H[ft])if(this.terminals_[dt]&&dt>J)kt.push("'"+this.terminals_[dt]+"'");if(q.showPosition)St="Parse error on line "+(Y+1)+`:
|
|
8
8
|
`+q.showPosition()+`
|
|
9
|
-
Expecting `+kt.join(", ")+", got '"+(this.terminals_[W]||W)+"'";else St="Parse error on line "+(
|
|
9
|
+
Expecting `+kt.join(", ")+", got '"+(this.terminals_[W]||W)+"'";else St="Parse error on line "+(Y+1)+": Unexpected "+(W==K?"end of input":"'"+(this.terminals_[W]||W)+"'");this.parseError(St,{text:q.match,token:this.terminals_[W]||W,line:q.yylineno,loc:et,expected:kt})}if(N[0]instanceof Array&&N.length>1)throw Error("Parse Error: multiple actions possible at state: "+ft+", token: "+W);switch(N[0]){case 1:if(D.push(W),k.push(q.yytext),y.push(q.yylloc),D.push(N[1]),W=null,!ht){if(lt=q.yyleng,O=q.yytext,Y=q.yylineno,et=q.yylloc,st>0)st--}else W=ht,ht=null;break;case 2:if(ot=this.productions_[N[1]][1],gt.$=k[k.length-ot],gt._$={first_line:y[y.length-(ot||1)].first_line,last_line:y[y.length-1].last_line,first_column:y[y.length-(ot||1)].first_column,last_column:y[y.length-1].last_column},ct)gt._$.range=[y[y.length-(ot||1)].range[0],y[y.length-1].range[1]];if(pt=this.performAction.apply(gt,[O,lt,Y,tt.yy,N[1],k,y].concat(Z)),typeof pt<"u")return pt;if(ot)D=D.slice(0,-1*ot*2),k=k.slice(0,-1*ot),y=y.slice(0,-1*ot);D.push(this.productions_[N[1]][0]),k.push(gt.$),y.push(gt._$),qt=H[D[D.length-2]][D[D.length-1]],D.push(qt);break;case 3:return!0}}return!0},"parse")},G=function(){var P={EOF:1,parseError:t(function(_,D){if(this.yy.parser)this.yy.parser.parseError(_,D);else throw Error(_)},"parseError"),setInput:t(function(v,_){if(this.yy=_||this.yy||{},this._input=v,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:t(function(){var v=this._input[0];this.yytext+=v,this.yyleng++,this.offset++,this.match+=v,this.matched+=v;var _=v.match(/(?:\r\n?|\n).*/g);if(_)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),v},"input"),unput:t(function(v){var _=v.length,D=v.split(/(?:\r\n?|\n)/g);this._input=v+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var f=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),D.length-1)this.yylineno-=D.length-1;var k=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:D?(D.length===f.length?this.yylloc.first_column:0)+f[f.length-D.length].length-D[0].length:this.yylloc.first_column-_},this.options.ranges)this.yylloc.range=[k[0],k[0]+this.yyleng-_];return this.yyleng=this.yytext.length,this},"unput"),more:t(function(){return this._more=!0,this},"more"),reject:t(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
10
10
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:t(function(v){this.unput(this.match.slice(v))},"less"),pastInput:t(function(){var v=this.matched.substr(0,this.matched.length-this.match.length);return(v.length>20?"...":"")+v.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:t(function(){var v=this.match;if(v.length<20)v+=this._input.substr(0,20-v.length);return(v.substr(0,20)+(v.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:t(function(){var v=this.pastInput(),_=Array(v.length+1).join("-");return v+this.upcomingInput()+`
|
|
11
11
|
`+_+"^"},"showPosition"),test_match:t(function(v,_){var D,f,k;if(this.options.backtrack_lexer){if(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)k.yylloc.range=this.yylloc.range.slice(0)}if(f=v[0].match(/(?:\r\n?|\n).*/g),f)this.yylineno+=f.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:f?f[f.length-1].length-f[f.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+v[0].length},this.yytext+=v[0],this.match+=v[0],this.matches=v,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(v[0].length),this.matched+=v[0],D=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(D)return D;else if(this._backtrack){for(var y in k)this[y]=k[y];return!1}return!1},"test_match"),next:t(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var v,_,D,f;if(!this._more)this.yytext="",this.match="";var k=this._currentRules();for(var y=0;y<k.length;y++)if(D=this._input.match(this.rules[k[y]]),D&&(!_||D[0].length>_[0].length)){if(_=D,f=y,this.options.backtrack_lexer)if(v=this.test_match(D,k[y]),v!==!1)return v;else if(this._backtrack){_=!1;continue}else return!1;else if(!this.options.flex)break}if(_){if(v=this.test_match(_,k[f]),v!==!1)return v;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
12
12
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:t(function(){var _=this.next();if(_)return _;else return this.lex()},"lex"),begin:t(function(_){this.conditionStack.push(_)},"begin"),popState:t(function(){var _=this.conditionStack.length-1;if(_>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:t(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:t(function(_){if(_=this.conditionStack.length-1-Math.abs(_||0),_>=0)return this.conditionStack[_];else return"INITIAL"},"topState"),pushState:t(function(_){this.begin(_)},"pushState"),stateStackSize:t(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:t(function(_,D,f,k){var y=k;switch(f){case 0:break;case 1:break;case 2:break;case 3:if(_.getIndentMode&&_.getIndentMode())return _.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:if(_.setIndentMode)_.setIndentMode(!1);this.begin("INITIAL"),this.unput(D.yytext);break;case 6:return this.begin("bol"),8;break;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(_.consumeIndentText)_.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return D.yytext=D.yytext.slice(2,-2),14;break;case 17:return D.yytext=D.yytext.slice(1,-1).trim(),14;break;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return P}();j.lexer=G;function B(){this.yy={}}return t(B,"Parser"),B.prototype=j,j.Parser=B,new B}();Ot.parser=Ot;var ze=Ot,Lt=[],jt=[],Ft=[],Pt=new Set,Vt,Bt=!1,Ae=t((e,s,i)=>{let n=Mt(e).sort(),r=i??10/Math.pow(e.length,2);if(Vt=n,n.length===1)Pt.add(n[0]);Lt.push({sets:n,size:r,label:s?vt(s):void 0})},"addSubsetData"),Ce=t(()=>Lt,"getSubsetData"),vt=t((e)=>{let s=e.trim();if(s.length>=2&&s.startsWith('"')&&s.endsWith('"'))return s.slice(1,-1);return s},"normalizeText"),De=t((e)=>e?vt(e):e,"normalizeStyleValue"),Re=t((e,s,i)=>{let n=vt(s);jt.push({sets:Mt(e).sort(),id:n,label:i?vt(i):void 0})},"addTextData"),Ne=t((e,s)=>{let i=Mt(e).sort(),n={};for(let[r,o]of s)n[r]=De(o)??o;Ft.push({targets:i,styles:n})},"addStyleData"),Oe=t(()=>Ft,"getStyleData"),Mt=t((e)=>e.map((s)=>vt(s)),"normalizeIdentifierList"),Le=t((e)=>{let i=Mt(e).filter((n)=>!Pt.has(n));if(i.length>0)throw Error(`unknown set identifier: ${i.join(", ")}`)},"validateUnionIdentifiers"),je=t(()=>jt,"getTextData"),Fe=t(()=>Vt,"getCurrentSets"),Pe=t(()=>Bt,"getIndentMode"),Ve=t((e)=>{Bt=e},"setIndentMode"),Be=M.venn;function ae(){return U(Be,x().venn)}t(ae,"getConfig");var qe=t(()=>{C(),Lt.length=0,jt.length=0,Ft.length=0,Pt.clear(),Vt=void 0,Bt=!1},"customClear"),Ue={getConfig:ae,clear:qe,setAccTitle:S,getAccTitle:E,setDiagramTitle:L,getDiagramTitle:R,getAccDescription:A,setAccDescription:T,addSubsetData:Ae,getSubsetData:Ce,addTextData:Re,addStyleData:Ne,validateUnionIdentifiers:Le,getTextData:je,getStyleData:Oe,getCurrentSets:Fe,getIndentMode:Pe,setIndentMode:Ve},Ge=t((e)=>`
|
|
@@ -31,4 +31,4 @@ Expecting `+kt.join(", ")+", got '"+(this.terminals_[W]||W)+"'";else St="Parse e
|
|
|
31
31
|
font-family: ${e.fontFamily};
|
|
32
32
|
color: ${e.vennSetTextColor};
|
|
33
33
|
}
|
|
34
|
-
`,"getStyles"),We=Ge;function le(e){let s=new Map;for(let i of e){let n=i.targets.join("|"),r=s.get(n);if(r)Object.assign(r,i.styles);else s.set(n,{...i.styles})}return s}t(le,"buildStyleByKey");var Ke=t((e,s,i,n)=>{let r=n.db,o=r.getConfig?.(),{themeVariables:a,look:c,handDrawnSeed:g}=x(),h=c==="handDrawn",l=[a.venn1,a.venn2,a.venn3,a.venn4,a.venn5,a.venn6,a.venn7,a.venn8].filter(Boolean),I=r.getDiagramTitle?.(),b=r.getSubsetData(),z=r.getTextData(),w=le(r.getStyleData()),j=ue(b),G=o?.width??800,B=o?.height??450,P=1600,v=G/1600,_=I?48*v:0,D=a.primaryTextColor??a.textColor,f=V(s);if(f.attr("viewBox",`0 0 ${G} ${B}`),I)f.append("text").text(I).attr("class","venn-title").attr("font-size",`${32*v}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*v).style("fill",a.vennTitleTextColor||a.titleColor);let k=p(document.createElement("div")),y=ee().width(G).height(B-_);k.datum(j).call(y);let
|
|
34
|
+
`,"getStyles"),We=Ge;function le(e){let s=new Map;for(let i of e){let n=i.targets.join("|"),r=s.get(n);if(r)Object.assign(r,i.styles);else s.set(n,{...i.styles})}return s}t(le,"buildStyleByKey");var Ke=t((e,s,i,n)=>{let r=n.db,o=r.getConfig?.(),{themeVariables:a,look:c,handDrawnSeed:g}=x(),h=c==="handDrawn",l=[a.venn1,a.venn2,a.venn3,a.venn4,a.venn5,a.venn6,a.venn7,a.venn8].filter(Boolean),I=r.getDiagramTitle?.(),b=r.getSubsetData(),z=r.getTextData(),w=le(r.getStyleData()),j=ue(b),G=o?.width??800,B=o?.height??450,P=1600,v=G/1600,_=I?48*v:0,D=a.primaryTextColor??a.textColor,f=V(s);if(f.attr("viewBox",`0 0 ${G} ${B}`),I)f.append("text").text(I).attr("class","venn-title").attr("font-size",`${32*v}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*v).style("fill",a.vennTitleTextColor||a.titleColor);let k=p(document.createElement("div")),y=ee().width(G).height(B-_);k.datum(j).call(y);let H=h?m.svg(k.select("svg").node()):void 0,O=oe(j,{width:G,height:B-_,padding:o?.padding??15}),Y=new Map;for(let K of O){let Z=yt([...K.data.sets].sort());Y.set(Z,K)}if(z.length>0)ce(o,Y,k,z,v,w);let lt=X(a.background||"#f4f4f4");if(k.selectAll(".venn-circle").each(function(K,Z){let q=p(this),it=yt([...K.sets].sort()),et=w.get(it),ct=l.length>0?l[Z%l.length]:void 0,rt=et?.fill||ct||a.primaryColor;q.classed(`venn-set-${Z%8}`,!0);let nt=et?.["fill-opacity"]??0.1,W=et?.stroke||rt,ht=et?.["stroke-width"]||`${5*v}`;if(h&&H){let N=Y.get(it);if(N&&N.circles.length>0){let Q=N.circles[0],pt=H.circle(Q.x,Q.y,Q.radius*2,{roughness:0.7,seed:g,fill:wt(rt,0.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+Z*60,stroke:W,strokeWidth:parseFloat(String(ht))});q.select("path").remove(),q.node()?.insertBefore(pt,q.select("text").node())}}else q.select("path").style("fill",rt).style("fill-opacity",nt).style("stroke",W).style("stroke-width",ht).style("stroke-opacity",0.95);let ft=et?.color||(lt?u(rt,30):d(rt,30));q.select("text").style("font-size",`${48*v}px`).style("fill",ft)}),h&&H)k.selectAll(".venn-intersection").each(function(K){let Z=p(this),tt=yt([...K.sets].sort()),it=w.get(tt),et=it?.fill;if(et){let ct=Z.select("path"),rt=ct.attr("d");if(rt){let nt=H.path(rt,{roughness:0.7,seed:g,fill:wt(et,0.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),W=ct.node();W?.parentNode?.insertBefore(nt,W),ct.remove()}}else Z.select("path").style("fill-opacity",0);Z.select("text").style("font-size",`${48*v}px`).style("fill",it?.color??a.vennSetTextColor??D)});else k.selectAll(".venn-intersection text").style("font-size",`${48*v}px`).style("fill",(K)=>{let q=yt([...K.sets].sort());return w.get(q)?.color??a.vennSetTextColor??D}),k.selectAll(".venn-intersection path").style("fill-opacity",(K)=>{let q=yt([...K.sets].sort());return w.get(q)?.fill?1:0}).style("fill",(K)=>{let q=yt([...K.sets].sort());return w.get(q)?.fill??"transparent"});let st=f.append("g").attr("transform",`translate(0, ${_})`),J=k.select("svg").node();if(J&&"childNodes"in J)for(let K of[...J.childNodes])st.node()?.appendChild(K);F(f,B,G,o?.useMaxWidth??!0)},"draw");function yt(e){return e.join("|")}t(yt,"stableSetsKey");function ce(e,s,i,n,r,o){let a=e?.useDebugLayout??!1,g=i.select("svg").append("g").attr("class","venn-text-nodes"),h=new Map;for(let l of n){let I=yt(l.sets),b=h.get(I);if(b)b.push(l);else h.set(I,[l])}for(let[l,I]of h.entries()){let b=s.get(l);if(!b?.text)continue;let z=b.text.x,w=b.text.y,j=Math.min(...b.circles.map((J)=>J.radius)),G=Math.min(...b.circles.map((J)=>J.radius-Math.hypot(z-J.x,w-J.y))),B=Number.isFinite(G)?Math.max(0,G):0;if(B===0&&Number.isFinite(j))B=j*0.6;let P=g.append("g").attr("class","venn-text-area").attr("font-size",`${40*r}px`);if(a)P.append("circle").attr("class","venn-text-debug-circle").attr("cx",z).attr("cy",w).attr("r",B).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*r).attr("stroke-dasharray",`${6*r} ${4*r}`);let v=Math.max(80*r,B*2*0.95),_=Math.max(60*r,B*2*0.95),k=(b.data.label&&b.data.label.length>0?Math.min(32*r,B*0.25):0)+(I.length<=2?30*r:0),y=z-v/2,H=w-_/2+k,O=Math.max(1,Math.ceil(Math.sqrt(I.length))),Y=Math.max(1,Math.ceil(I.length/O)),lt=v/O,st=_/Y;for(let[J,K]of I.entries()){let Z=J%O,q=Math.floor(J/O),tt=y+lt*(Z+0.5),it=H+st*(q+0.5);if(a)P.append("rect").attr("class","venn-text-debug-cell").attr("x",y+lt*Z).attr("y",H+st*q).attr("width",lt).attr("height",st).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*r).attr("stroke-dasharray",`${4*r} ${3*r}`);let et=lt*0.9,ct=st*0.9,rt=P.append("foreignObject").attr("class","venn-text-node-fo").attr("width",et).attr("height",ct).attr("x",tt-et/2).attr("y",it-ct/2).attr("overflow","visible"),nt=o.get(K.id)?.color,W=rt.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(K.label??K.id);if(nt)W.style("color",nt)}}}t(ce,"renderTextNodes");function ue(e){let s=new Set(e.map((r)=>[...r.sets].sort().join("|"))),i=new Map(e.filter((r)=>r.sets.length===1&&r.size!==void 0).map((r)=>[r.sets[0],r.size])),n=[];for(let r of e){if(r.sets.length<3)continue;let o=[...r.sets].sort();for(let a=0;a<o.length-1;a++)for(let c=a+1;c<o.length;c++){let g=[o[a],o[c]],h=g.join("|");if(!s.has(h)){s.add(h);let l=i.get(g[0]),I=i.get(g[1]),b=l!==void 0&&I!==void 0?Math.min(l,I)/4:2.5;n.push({sets:g,size:b,label:""})}}}return n.length>0?[...e,...n]:e}t(ue,"ensurePairwiseSubsets");var He={draw:Ke},rn={parser:ze,db:Ue,renderer:He,styles:We};export{rn as diagram};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{t,a,
|
|
1
|
+
import{t,a,we,M,O,F,C,S,E,T,A,L,R,l,p}from"./chunk-b5zf1hs3.js";import"./chunk-qp3tjhaq.js";import{wt}from"./chunk-enwfd8d5.js";var Qt=function(){var e=t(function(st,o,c,f){for(c=c||{},f=st.length;f--;c[st[f]]=o);return c},"o"),r=[1,3],m=[1,4],y=[1,5],h=[1,6],g=[1,7],V=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],d=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],u=[55,56,57],D=[2,36],P=[1,37],v=[1,36],q=[1,38],k=[1,35],_=[1,43],b=[1,41],I=[1,45],St=[1,14],_t=[1,23],At=[1,18],Ft=[1,19],mt=[1,20],zt=[1,21],qt=[1,22],n=[1,24],Ht=[1,25],Xt=[1,26],Mt=[1,27],Yt=[1,28],jt=[1,29],tt=[1,32],et=[1,33],w=[1,34],B=[1,39],N=[1,40],W=[1,42],U=[1,44],at=[1,63],nt=[1,62],Q=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],Gt=[1,66],Kt=[1,67],Zt=[1,68],Jt=[1,69],$t=[1,70],te=[1,71],ee=[1,72],ie=[1,73],ae=[1,74],ne=[1,75],re=[1,76],se=[1,77],G=[4,5,6,7,8,9,10,11,12,13,14,15,18],ht=[1,91],ct=[1,92],dt=[1,93],ut=[1,100],xt=[1,94],ft=[1,97],gt=[1,95],pt=[1,96],yt=[1,98],bt=[1,99],Vt=[1,103],oe=[10,55,56,57],K=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],It={trace:t(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:t(function(o,c,f,x,z,i,kt){var s=i.length-1;switch(z){case 23:this.$=i[s];break;case 24:this.$=i[s-1]+""+i[s];break;case 26:this.$=i[s-1]+i[s];break;case 27:this.$=[i[s].trim()];break;case 28:i[s-2].push(i[s].trim()),this.$=i[s-2];break;case 29:this.$=i[s-4],x.addClass(i[s-2],i[s]);break;case 37:this.$=[];break;case 42:this.$=i[s].trim(),x.setDiagramTitle(this.$);break;case 43:this.$=i[s].trim(),x.setAccTitle(this.$);break;case 44:case 45:this.$=i[s].trim(),x.setAccDescription(this.$);break;case 46:x.addSection(i[s].substr(8)),this.$=i[s].substr(8);break;case 47:x.addPoint(i[s-3],"",i[s-1],i[s],[]);break;case 48:x.addPoint(i[s-4],i[s-3],i[s-1],i[s],[]);break;case 49:x.addPoint(i[s-4],"",i[s-2],i[s-1],i[s]);break;case 50:x.addPoint(i[s-5],i[s-4],i[s-2],i[s-1],i[s]);break;case 51:x.setXAxisLeftText(i[s-2]),x.setXAxisRightText(i[s]);break;case 52:i[s-1].text+=" ⟶ ",x.setXAxisLeftText(i[s-1]);break;case 53:x.setXAxisLeftText(i[s]);break;case 54:x.setYAxisBottomText(i[s-2]),x.setYAxisTopText(i[s]);break;case 55:i[s-1].text+=" ⟶ ",x.setYAxisBottomText(i[s-1]);break;case 56:x.setYAxisBottomText(i[s]);break;case 57:x.setQuadrant1Text(i[s]);break;case 58:x.setQuadrant2Text(i[s]);break;case 59:x.setQuadrant3Text(i[s]);break;case 60:x.setQuadrant4Text(i[s]);break;case 64:this.$={text:i[s],type:"text"};break;case 65:this.$={text:i[s-1].text+""+i[s],type:i[s-1].type};break;case 66:this.$={text:i[s],type:"text"};break;case 67:this.$={text:i[s],type:"markdown"};break;case 68:this.$=i[s];break;case 69:this.$=i[s-1]+""+i[s];break}},"anonymous"),table:[{18:r,26:1,27:2,28:m,55:y,56:h,57:g},{1:[3]},{18:r,26:8,27:2,28:m,55:y,56:h,57:g},{18:r,26:9,27:2,28:m,55:y,56:h,57:g},e(V,[2,33],{29:10}),e(d,[2,61]),e(d,[2,62]),e(d,[2,63]),{1:[2,30]},{1:[2,31]},e(u,D,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:P,5:v,10:q,12:k,13:_,14:b,15:I,18:St,25:_t,35:At,37:Ft,39:mt,41:zt,42:qt,48:n,50:Ht,51:Xt,52:Mt,53:Yt,54:jt,60:tt,61:et,63:w,64:B,65:N,66:W,67:U}),e(V,[2,34]),{27:46,55:y,56:h,57:g},e(u,[2,37]),e(u,D,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:P,5:v,10:q,12:k,13:_,14:b,15:I,18:St,25:_t,35:At,37:Ft,39:mt,41:zt,42:qt,48:n,50:Ht,51:Xt,52:Mt,53:Yt,54:jt,60:tt,61:et,63:w,64:B,65:N,66:W,67:U}),e(u,[2,39]),e(u,[2,40]),e(u,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},e(u,[2,45]),e(u,[2,46]),{18:[1,51]},{4:P,5:v,10:q,12:k,13:_,14:b,15:I,43:52,58:31,60:tt,61:et,63:w,64:B,65:N,66:W,67:U},{4:P,5:v,10:q,12:k,13:_,14:b,15:I,43:53,58:31,60:tt,61:et,63:w,64:B,65:N,66:W,67:U},{4:P,5:v,10:q,12:k,13:_,14:b,15:I,43:54,58:31,60:tt,61:et,63:w,64:B,65:N,66:W,67:U},{4:P,5:v,10:q,12:k,13:_,14:b,15:I,43:55,58:31,60:tt,61:et,63:w,64:B,65:N,66:W,67:U},{4:P,5:v,10:q,12:k,13:_,14:b,15:I,43:56,58:31,60:tt,61:et,63:w,64:B,65:N,66:W,67:U},{4:P,5:v,10:q,12:k,13:_,14:b,15:I,43:57,58:31,60:tt,61:et,63:w,64:B,65:N,66:W,67:U},{4:P,5:v,8:at,10:q,12:k,13:_,14:b,15:I,18:nt,44:[1,58],47:[1,59],58:61,59:60,63:w,64:B,65:N,66:W,67:U},e(Q,[2,64]),e(Q,[2,66]),e(Q,[2,67]),e(Q,[2,70]),e(Q,[2,71]),e(Q,[2,72]),e(Q,[2,73]),e(Q,[2,74]),e(Q,[2,75]),e(Q,[2,76]),e(Q,[2,77]),e(Q,[2,78]),e(Q,[2,79]),e(Q,[2,80]),e(Q,[2,81]),e(V,[2,35]),e(u,[2,38]),e(u,[2,42]),e(u,[2,43]),e(u,[2,44]),{3:65,4:Gt,5:Kt,6:Zt,7:Jt,8:$t,9:te,10:ee,11:ie,12:ae,13:ne,14:re,15:se,21:64},e(u,[2,53],{59:60,58:61,4:P,5:v,8:at,10:q,12:k,13:_,14:b,15:I,18:nt,49:[1,78],63:w,64:B,65:N,66:W,67:U}),e(u,[2,56],{59:60,58:61,4:P,5:v,8:at,10:q,12:k,13:_,14:b,15:I,18:nt,49:[1,79],63:w,64:B,65:N,66:W,67:U}),e(u,[2,57],{59:60,58:61,4:P,5:v,8:at,10:q,12:k,13:_,14:b,15:I,18:nt,63:w,64:B,65:N,66:W,67:U}),e(u,[2,58],{59:60,58:61,4:P,5:v,8:at,10:q,12:k,13:_,14:b,15:I,18:nt,63:w,64:B,65:N,66:W,67:U}),e(u,[2,59],{59:60,58:61,4:P,5:v,8:at,10:q,12:k,13:_,14:b,15:I,18:nt,63:w,64:B,65:N,66:W,67:U}),e(u,[2,60],{59:60,58:61,4:P,5:v,8:at,10:q,12:k,13:_,14:b,15:I,18:nt,63:w,64:B,65:N,66:W,67:U}),{45:[1,80]},{44:[1,81]},e(Q,[2,65]),e(Q,[2,82]),e(Q,[2,83]),e(Q,[2,84]),{3:83,4:Gt,5:Kt,6:Zt,7:Jt,8:$t,9:te,10:ee,11:ie,12:ae,13:ne,14:re,15:se,18:[1,82]},e(G,[2,23]),e(G,[2,1]),e(G,[2,2]),e(G,[2,3]),e(G,[2,4]),e(G,[2,5]),e(G,[2,6]),e(G,[2,7]),e(G,[2,8]),e(G,[2,9]),e(G,[2,10]),e(G,[2,11]),e(G,[2,12]),e(u,[2,52],{58:31,43:84,4:P,5:v,10:q,12:k,13:_,14:b,15:I,60:tt,61:et,63:w,64:B,65:N,66:W,67:U}),e(u,[2,55],{58:31,43:85,4:P,5:v,10:q,12:k,13:_,14:b,15:I,60:tt,61:et,63:w,64:B,65:N,66:W,67:U}),{46:[1,86]},{45:[1,87]},{4:ht,5:ct,6:dt,8:ut,11:xt,13:ft,16:90,17:gt,18:pt,19:yt,20:bt,22:89,23:88},e(G,[2,24]),e(u,[2,51],{59:60,58:61,4:P,5:v,8:at,10:q,12:k,13:_,14:b,15:I,18:nt,63:w,64:B,65:N,66:W,67:U}),e(u,[2,54],{59:60,58:61,4:P,5:v,8:at,10:q,12:k,13:_,14:b,15:I,18:nt,63:w,64:B,65:N,66:W,67:U}),e(u,[2,47],{22:89,16:90,23:101,4:ht,5:ct,6:dt,8:ut,11:xt,13:ft,17:gt,18:pt,19:yt,20:bt}),{46:[1,102]},e(u,[2,29],{10:Vt}),e(oe,[2,27],{16:104,4:ht,5:ct,6:dt,8:ut,11:xt,13:ft,17:gt,18:pt,19:yt,20:bt}),e(K,[2,25]),e(K,[2,13]),e(K,[2,14]),e(K,[2,15]),e(K,[2,16]),e(K,[2,17]),e(K,[2,18]),e(K,[2,19]),e(K,[2,20]),e(K,[2,21]),e(K,[2,22]),e(u,[2,49],{10:Vt}),e(u,[2,48],{22:89,16:90,23:105,4:ht,5:ct,6:dt,8:ut,11:xt,13:ft,17:gt,18:pt,19:yt,20:bt}),{4:ht,5:ct,6:dt,8:ut,11:xt,13:ft,16:90,17:gt,18:pt,19:yt,20:bt,22:106},e(K,[2,26]),e(u,[2,50],{10:Vt}),e(oe,[2,28],{16:104,4:ht,5:ct,6:dt,8:ut,11:xt,13:ft,17:gt,18:pt,19:yt,20:bt})],defaultActions:{8:[2,30],9:[2,31]},parseError:t(function(o,c){if(c.recoverable)this.trace(o);else{var f=Error(o);throw f.hash=c,f}},"parseError"),parse:t(function(o){var c=this,f=[0],x=[],z=[null],i=[],kt=this.table,s="",vt=0,le=0,he=0,Ce=2,ce=1,Le=i.slice.call(arguments,1),H=Object.create(this.lexer),ot={yy:{}};for(var Bt in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,Bt))ot.yy[Bt]=this.yy[Bt];if(H.setInput(o,ot.yy),ot.yy.lexer=H,ot.yy.parser=this,typeof H.yylloc>"u")H.yylloc={};var Rt=H.yylloc;i.push(Rt);var Ee=H.options&&H.options.ranges;if(typeof ot.yy.parseError==="function")this.parseError=ot.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function De(J){f.length=f.length-2*J,z.length=z.length-J,i.length=i.length-J}t(De,"popStack");function de(){var J=x.pop()||H.lex()||ce;if(typeof J!=="number"){if(J instanceof Array)x=J,J=x.pop();J=c.symbols_[J]||J}return J}t(de,"lex");var Y,Nt,lt,Z,We,Wt,Tt={},Ct,rt,ue,Lt;while(!0){if(lt=f[f.length-1],this.defaultActions[lt])Z=this.defaultActions[lt];else{if(Y===null||typeof Y>"u")Y=de();Z=kt[lt]&&kt[lt][Y]}if(typeof Z>"u"||!Z.length||!Z[0]){var Ut="";Lt=[];for(Ct in kt[lt])if(this.terminals_[Ct]&&Ct>Ce)Lt.push("'"+this.terminals_[Ct]+"'");if(H.showPosition)Ut="Parse error on line "+(vt+1)+`:
|
|
2
2
|
`+H.showPosition()+`
|
|
3
|
-
Expecting `+Lt.join(", ")+", got '"+(this.terminals_[Y]||Y)+"'";else Ut="Parse error on line "+(vt+1)+": Unexpected "+(Y==ce?"end of input":"'"+(this.terminals_[Y]||Y)+"'");this.parseError(Ut,{text:H.match,token:this.terminals_[Y]||Y,line:H.yylineno,loc:Rt,expected:Lt})}if(Z[0]instanceof Array&&Z.length>1)throw Error("Parse Error: multiple actions possible at state: "+lt+", token: "+Y);switch(Z[0]){case 1:if(f.push(Y),z.push(H.yytext),i.push(H.yylloc),f.push(Z[1]),Y=null,!Nt){if(le=H.yyleng,s=H.yytext,vt=H.yylineno,Rt=H.yylloc,he>0)he--}else Y=Nt,Nt=null;break;case 2:if(rt=this.productions_[Z[1]][1],Tt.$=z[z.length-rt],Tt._$={first_line:i[i.length-(rt||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(rt||1)].first_column,last_column:i[i.length-1].last_column},
|
|
3
|
+
Expecting `+Lt.join(", ")+", got '"+(this.terminals_[Y]||Y)+"'";else Ut="Parse error on line "+(vt+1)+": Unexpected "+(Y==ce?"end of input":"'"+(this.terminals_[Y]||Y)+"'");this.parseError(Ut,{text:H.match,token:this.terminals_[Y]||Y,line:H.yylineno,loc:Rt,expected:Lt})}if(Z[0]instanceof Array&&Z.length>1)throw Error("Parse Error: multiple actions possible at state: "+lt+", token: "+Y);switch(Z[0]){case 1:if(f.push(Y),z.push(H.yytext),i.push(H.yylloc),f.push(Z[1]),Y=null,!Nt){if(le=H.yyleng,s=H.yytext,vt=H.yylineno,Rt=H.yylloc,he>0)he--}else Y=Nt,Nt=null;break;case 2:if(rt=this.productions_[Z[1]][1],Tt.$=z[z.length-rt],Tt._$={first_line:i[i.length-(rt||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(rt||1)].first_column,last_column:i[i.length-1].last_column},Ee)Tt._$.range=[i[i.length-(rt||1)].range[0],i[i.length-1].range[1]];if(Wt=this.performAction.apply(Tt,[s,le,vt,ot.yy,Z[1],z,i].concat(Le)),typeof Wt<"u")return Wt;if(rt)f=f.slice(0,-1*rt*2),z=z.slice(0,-1*rt),i=i.slice(0,-1*rt);f.push(this.productions_[Z[1]][0]),z.push(Tt.$),i.push(Tt._$),ue=kt[f[f.length-2]][f[f.length-1]],f.push(ue);break;case 3:return!0}}return!0},"parse")},ve=function(){var st={EOF:1,parseError:t(function(c,f){if(this.yy.parser)this.yy.parser.parseError(c,f);else throw Error(c)},"parseError"),setInput:t(function(o,c){if(this.yy=c||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:t(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var c=o.match(/(?:\r\n?|\n).*/g);if(c)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),o},"input"),unput:t(function(o){var c=o.length,f=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var x=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1)this.yylineno-=f.length-1;var z=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===x.length?this.yylloc.first_column:0)+x[x.length-f.length].length-f[0].length:this.yylloc.first_column-c},this.options.ranges)this.yylloc.range=[z[0],z[0]+this.yyleng-c];return this.yyleng=this.yytext.length,this},"unput"),more:t(function(){return this._more=!0,this},"more"),reject:t(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:t(function(o){this.unput(this.match.slice(o))},"less"),pastInput:t(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:t(function(){var o=this.match;if(o.length<20)o+=this._input.substr(0,20-o.length);return(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:t(function(){var o=this.pastInput(),c=Array(o.length+1).join("-");return o+this.upcomingInput()+`
|
|
5
5
|
`+c+"^"},"showPosition"),test_match:t(function(o,c){var f,x,z;if(this.options.backtrack_lexer){if(z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)z.yylloc.range=this.yylloc.range.slice(0)}if(x=o[0].match(/(?:\r\n?|\n).*/g),x)this.yylineno+=x.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:x?x[x.length-1].length-x[x.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],f=this.performAction.call(this,this.yy,this,c,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(f)return f;else if(this._backtrack){for(var i in z)this[i]=z[i];return!1}return!1},"test_match"),next:t(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var o,c,f,x;if(!this._more)this.yytext="",this.match="";var z=this._currentRules();for(var i=0;i<z.length;i++)if(f=this._input.match(this.rules[z[i]]),f&&(!c||f[0].length>c[0].length)){if(c=f,x=i,this.options.backtrack_lexer)if(o=this.test_match(f,z[i]),o!==!1)return o;else if(this._backtrack){c=!1;continue}else return!1;else if(!this.options.flex)break}if(c){if(o=this.test_match(c,z[x]),o!==!1)return o;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
-
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:t(function(){var c=this.next();if(c)return c;else return this.lex()},"lex"),begin:t(function(c){this.conditionStack.push(c)},"begin"),popState:t(function(){var c=this.conditionStack.length-1;if(c>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:t(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:t(function(c){if(c=this.conditionStack.length-1-Math.abs(c||0),c>=0)return this.conditionStack[c];else return"INITIAL"},"topState"),pushState:t(function(c){this.begin(c)},"pushState"),stateStackSize:t(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:t(function(c,f,x,z){var i=z;switch(x){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 15;case 37:return 11;case 38:return 64;case 39:return 10;case 40:return 65;case 41:return 65;case 42:return 14;case 43:return 13;case 44:return 67;case 45:return 66;case 46:return 12;case 47:return 8;case 48:return 5;case 49:return 18;case 50:return 56;case 51:return 63;case 52:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?:[^\x00-\x7F]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return st}();It.lexer=Ce;function Pt(){this.yy={}}return t(Pt,"Parser"),Pt.prototype=It,It.Parser=Pt,new Pt}();Qt.parser=Qt;var Ve=Qt,j=ke(),Ie=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{t(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:M.quadrantChart?.chartWidth||500,chartWidth:M.quadrantChart?.chartHeight||500,titlePadding:M.quadrantChart?.titlePadding||10,titleFontSize:M.quadrantChart?.titleFontSize||20,quadrantPadding:M.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:M.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:M.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:M.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:M.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:M.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:M.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:M.quadrantChart?.pointTextPadding||5,pointLabelFontSize:M.quadrantChart?.pointLabelFontSize||12,pointRadius:M.quadrantChart?.pointRadius||5,xAxisPosition:M.quadrantChart?.xAxisPosition||"top",yAxisPosition:M.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:M.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:M.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:j.quadrant1Fill,quadrant2Fill:j.quadrant2Fill,quadrant3Fill:j.quadrant3Fill,quadrant4Fill:j.quadrant4Fill,quadrant1TextFill:j.quadrant1TextFill,quadrant2TextFill:j.quadrant2TextFill,quadrant3TextFill:j.quadrant3TextFill,quadrant4TextFill:j.quadrant4TextFill,quadrantPointFill:j.quadrantPointFill,quadrantPointTextFill:j.quadrantPointTextFill,quadrantXAxisTextFill:j.quadrantXAxisTextFill,quadrantYAxisTextFill:j.quadrantYAxisTextFill,quadrantTitleFill:j.quadrantTitleFill,quadrantInternalBorderStrokeFill:j.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:j.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,a.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){a.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){a.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,m,y){let h=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,g={top:e==="top"&&r?h:0,bottom:e==="bottom"&&r?h:0},V=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,d={left:this.config.yAxisPosition==="left"&&m?V:0,right:this.config.yAxisPosition==="right"&&m?V:0},u=this.config.titleFontSize+this.config.titlePadding*2,D={top:y?u:0},P=this.config.quadrantPadding+d.left,v=this.config.quadrantPadding+g.top+D.top,q=this.config.chartWidth-this.config.quadrantPadding*2-d.left-d.right,k=this.config.chartHeight-this.config.quadrantPadding*2-g.top-g.bottom-D.top,_=q/2,b=k/2;return{xAxisSpace:g,yAxisSpace:d,titleSpace:D,quadrantSpace:{quadrantLeft:P,quadrantTop:v,quadrantWidth:q,quadrantHalfWidth:_,quadrantHeight:k,quadrantHalfHeight:b}}}getAxisLabels(e,r,m,y){let{quadrantSpace:h,titleSpace:g}=y,{quadrantHalfHeight:V,quadrantHeight:d,quadrantLeft:u,quadrantHalfWidth:D,quadrantTop:P,quadrantWidth:v}=h,q=Boolean(this.data.xAxisRightText),k=Boolean(this.data.yAxisTopText),_=[];if(this.data.xAxisLeftText&&r)_.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+(q?D/2:0),y:e==="top"?this.config.xAxisLabelPadding+g.top:this.config.xAxisLabelPadding+P+d+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:q?"center":"left",horizontalPos:"top",rotation:0});if(this.data.xAxisRightText&&r)_.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+D+(q?D/2:0),y:e==="top"?this.config.xAxisLabelPadding+g.top:this.config.xAxisLabelPadding+P+d+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:q?"center":"left",horizontalPos:"top",rotation:0});if(this.data.yAxisBottomText&&m)_.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+v+this.config.quadrantPadding,y:P+d-(k?V/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:k?"center":"left",horizontalPos:"top",rotation:-90});if(this.data.yAxisTopText&&m)_.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+v+this.config.quadrantPadding,y:P+V-(k?V/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:k?"center":"left",horizontalPos:"top",rotation:-90});return _}getQuadrants(e){let{quadrantSpace:r}=e,{quadrantHalfHeight:m,quadrantLeft:y,quadrantHalfWidth:h,quadrantTop:g}=r,V=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:y+h,y:g,width:h,height:m,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:y,y:g,width:h,height:m,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:y,y:g+m,width:h,height:m,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:y+h,y:g+m,width:h,height:m,fill:this.themeConfig.quadrant4Fill}];for(let d of V)if(d.text.x=d.x+d.width/2,this.data.points.length===0)d.text.y=d.y+d.height/2,d.text.horizontalPos="middle";else d.text.y=d.y+this.config.quadrantTextTopPadding,d.text.horizontalPos="top";return V}getQuadrantPoints(e){let{quadrantSpace:r}=e,{quadrantHeight:m,quadrantLeft:y,quadrantTop:h,quadrantWidth:g}=r,V=wt().domain([0,1]).range([y,g+y]),d=wt().domain([0,1]).range([m+h,h]);return this.data.points.map((D)=>{let P=this.classes.get(D.className);if(P)D={...P,...D};return{x:V(D.x),y:d(D.y),fill:D.color??this.themeConfig.quadrantPointFill,radius:D.radius??this.config.pointRadius,text:{text:D.text,fill:this.themeConfig.quadrantPointTextFill,x:V(D.x),y:d(D.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:D.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:D.strokeWidth??"0px"}})}getBorders(e){let r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:m}=e,{quadrantHalfHeight:y,quadrantHeight:h,quadrantLeft:g,quadrantHalfWidth:V,quadrantTop:d,quadrantWidth:u}=m;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:g-r,y1:d,x2:g+u+r,y2:d},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:g+u,y1:d+r,x2:g+u,y2:d+h-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:g-r,y1:d+h,x2:g+u+r,y2:d+h},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:g,y1:d+r,x2:g,y2:d+h-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:g+V,y1:d+r,x2:g+V,y2:d+h-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:g+r,y1:d+y,x2:g+u-r,y2:d+y}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2};return}build(){let e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),m=this.config.showTitle&&!!this.data.titleText,y=this.data.points.length>0?"bottom":this.config.xAxisPosition,h=this.calculateSpace(y,e,r,m);return{points:this.getQuadrantPoints(h),quadrants:this.getQuadrants(h),axisLabels:this.getAxisLabels(y,e,r,h),borderLines:this.getBorders(h),title:this.getTitle(m)}}},Et=class extends Error{static{t(this,"InvalidStyleError")}constructor(e,r,m){super(`value for ${e} ${r} is invalid, please use a valid ${m}`);this.name="InvalidStyleError"}};function Ot(e){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(e)}t(Ot,"validateHexCode");function xe(e){return!/^\d+$/.test(e)}t(xe,"validateNumber");function fe(e){return!/^\d+px$/.test(e)}t(fe,"validateSizeInPixels");function it(e){return O(e.trim(),l())}t(it,"textSanitizer");var X=new Ie;function ge(e){X.setData({quadrant1Text:it(e.text)})}t(ge,"setQuadrant1Text");function pe(e){X.setData({quadrant2Text:it(e.text)})}t(pe,"setQuadrant2Text");function ye(e){X.setData({quadrant3Text:it(e.text)})}t(ye,"setQuadrant3Text");function be(e){X.setData({quadrant4Text:it(e.text)})}t(be,"setQuadrant4Text");function Te(e){X.setData({xAxisLeftText:it(e.text)})}t(Te,"setXAxisLeftText");function me(e){X.setData({xAxisRightText:it(e.text)})}t(me,"setXAxisRightText");function qe(e){X.setData({yAxisTopText:it(e.text)})}t(qe,"setYAxisTopText");function Se(e){X.setData({yAxisBottomText:it(e.text)})}t(Se,"setYAxisBottomText");function Dt(e){let r={};for(let m of e){let[y,h]=m.trim().split(/\s*:\s*/);if(y==="radius"){if(xe(h))throw new Et(y,h,"number");r.radius=parseInt(h)}else if(y==="color"){if(Ot(h))throw new Et(y,h,"hex code");r.color=h}else if(y==="stroke-color"){if(Ot(h))throw new Et(y,h,"hex code");r.strokeColor=h}else if(y==="stroke-width"){if(fe(h))throw new Et(y,h,"number of pixels (eg. 10px)");r.strokeWidth=h}else throw Error(`style named ${y} is not supported.`)}return r}t(Dt,"parseStyles");function _e(e,r,m,y,h){let g=Dt(h);X.addPoints([{x:m,y,text:it(e.text),className:r,...g}])}t(_e,"addPoint");function Ae(e,r){X.addClass(e,Dt(r))}t(Ae,"addClass");function Fe(e){X.setConfig({chartWidth:e})}t(Fe,"setWidth");function Pe(e){X.setConfig({chartHeight:e})}t(Pe,"setHeight");function ve(){let e=l(),{themeVariables:r,quadrantChart:m}=e;if(m)X.setConfig(m);return X.setThemeConfig({quadrant1Fill:r.quadrant1Fill,quadrant2Fill:r.quadrant2Fill,quadrant3Fill:r.quadrant3Fill,quadrant4Fill:r.quadrant4Fill,quadrant1TextFill:r.quadrant1TextFill,quadrant2TextFill:r.quadrant2TextFill,quadrant3TextFill:r.quadrant3TextFill,quadrant4TextFill:r.quadrant4TextFill,quadrantPointFill:r.quadrantPointFill,quadrantPointTextFill:r.quadrantPointTextFill,quadrantXAxisTextFill:r.quadrantXAxisTextFill,quadrantYAxisTextFill:r.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:r.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:r.quadrantInternalBorderStrokeFill,quadrantTitleFill:r.quadrantTitleFill}),X.setData({titleText:R()}),X.build()}t(ve,"getQuadrantData");var we=t(function(){X.clear(),C()},"clear"),Be={setWidth:Fe,setHeight:Pe,setQuadrant1Text:ge,setQuadrant2Text:pe,setQuadrant3Text:ye,setQuadrant4Text:be,setXAxisLeftText:Te,setXAxisRightText:me,setYAxisTopText:qe,setYAxisBottomText:Se,parseStyles:Dt,addPoint:_e,addClass:Ae,getQuadrantData:ve,clear:we,setAccTitle:S,getAccTitle:E,setDiagramTitle:L,getDiagramTitle:R,getAccDescription:A,setAccDescription:T},Re=t((e,r,m,y)=>{function h(n){return n==="top"?"hanging":"middle"}t(h,"getDominantBaseLine");function g(n){return n==="left"?"start":"middle"}t(g,"getTextAnchor");function V(n){return`translate(${n.x}, ${n.y}) rotate(${n.rotation||0})`}t(V,"getTransformation");let d=l();a.debug(`Rendering quadrant chart
|
|
7
|
-
`+e);let u=d.securityLevel,D;if(u==="sandbox")D=p("#i"+r);let v=(u==="sandbox"?p(D.nodes()[0].contentDocument.body):p("body")).select(`[id="${r}"]`),q=v.append("g").attr("class","main"),k=d.quadrantChart?.chartWidth??500,_=d.quadrantChart?.chartHeight??500;F(v,_,k,d.quadrantChart?.useMaxWidth??!0),v.attr("viewBox","0 0 "+k+" "+_),y.db.setHeight(_),y.db.setWidth(k);let b=y.db.getQuadrantData(),I=q.append("g").attr("class","quadrants"),St=q.append("g").attr("class","border"),_t=q.append("g").attr("class","data-points"),At=q.append("g").attr("class","labels"),Ft=q.append("g").attr("class","title");if(b.title)Ft.append("text").attr("x",0).attr("y",0).attr("fill",b.title.fill).attr("font-size",b.title.fontSize).attr("dominant-baseline",h(b.title.horizontalPos)).attr("text-anchor",g(b.title.verticalPos)).attr("transform",V(b.title)).text(b.title.text);if(b.borderLines)St.selectAll("line").data(b.borderLines).enter().append("line").attr("x1",(n)=>n.x1).attr("y1",(n)=>n.y1).attr("x2",(n)=>n.x2).attr("y2",(n)=>n.y2).style("stroke",(n)=>n.strokeFill).style("stroke-width",(n)=>n.strokeWidth);let mt=I.selectAll("g.quadrant").data(b.quadrants).enter().append("g").attr("class","quadrant");mt.append("rect").attr("x",(n)=>n.x).attr("y",(n)=>n.y).attr("width",(n)=>n.width).attr("height",(n)=>n.height).attr("fill",(n)=>n.fill),mt.append("text").attr("x",0).attr("y",0).attr("fill",(n)=>n.text.fill).attr("font-size",(n)=>n.text.fontSize).attr("dominant-baseline",(n)=>h(n.text.horizontalPos)).attr("text-anchor",(n)=>g(n.text.verticalPos)).attr("transform",(n)=>V(n.text)).text((n)=>n.text.text),At.selectAll("g.label").data(b.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text((n)=>n.text).attr("fill",(n)=>n.fill).attr("font-size",(n)=>n.fontSize).attr("dominant-baseline",(n)=>h(n.horizontalPos)).attr("text-anchor",(n)=>g(n.verticalPos)).attr("transform",(n)=>V(n));let qt=_t.selectAll("g.data-point").data(b.points).enter().append("g").attr("class","data-point");qt.append("circle").attr("cx",(n)=>n.x).attr("cy",(n)=>n.y).attr("r",(n)=>n.radius).attr("fill",(n)=>n.fill).attr("stroke",(n)=>n.strokeColor).attr("stroke-width",(n)=>n.strokeWidth),qt.append("text").attr("x",0).attr("y",0).text((n)=>n.text.text).attr("fill",(n)=>n.text.fill).attr("font-size",(n)=>n.text.fontSize).attr("dominant-baseline",(n)=>h(n.text.horizontalPos)).attr("text-anchor",(n)=>g(n.text.verticalPos)).attr("transform",(n)=>V(n.text))},"draw"),Ne={draw:Re},Me={parser:
|
|
6
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:t(function(){var c=this.next();if(c)return c;else return this.lex()},"lex"),begin:t(function(c){this.conditionStack.push(c)},"begin"),popState:t(function(){var c=this.conditionStack.length-1;if(c>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:t(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:t(function(c){if(c=this.conditionStack.length-1-Math.abs(c||0),c>=0)return this.conditionStack[c];else return"INITIAL"},"topState"),pushState:t(function(c){this.begin(c)},"pushState"),stateStackSize:t(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:t(function(c,f,x,z){var i=z;switch(x){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 15;case 37:return 11;case 38:return 64;case 39:return 10;case 40:return 65;case 41:return 65;case 42:return 14;case 43:return 13;case 44:return 67;case 45:return 66;case 46:return 12;case 47:return 8;case 48:return 5;case 49:return 18;case 50:return 56;case 51:return 63;case 52:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?:[^\x00-\x7F]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return st}();It.lexer=ve;function Pt(){this.yy={}}return t(Pt,"Parser"),Pt.prototype=It,It.Parser=Pt,new Pt}();Qt.parser=Qt;var ze=Qt,j=we(),Ve=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{t(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:M.quadrantChart?.chartWidth||500,chartWidth:M.quadrantChart?.chartHeight||500,titlePadding:M.quadrantChart?.titlePadding||10,titleFontSize:M.quadrantChart?.titleFontSize||20,quadrantPadding:M.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:M.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:M.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:M.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:M.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:M.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:M.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:M.quadrantChart?.pointTextPadding||5,pointLabelFontSize:M.quadrantChart?.pointLabelFontSize||12,pointRadius:M.quadrantChart?.pointRadius||5,xAxisPosition:M.quadrantChart?.xAxisPosition||"top",yAxisPosition:M.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:M.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:M.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:j.quadrant1Fill,quadrant2Fill:j.quadrant2Fill,quadrant3Fill:j.quadrant3Fill,quadrant4Fill:j.quadrant4Fill,quadrant1TextFill:j.quadrant1TextFill,quadrant2TextFill:j.quadrant2TextFill,quadrant3TextFill:j.quadrant3TextFill,quadrant4TextFill:j.quadrant4TextFill,quadrantPointFill:j.quadrantPointFill,quadrantPointTextFill:j.quadrantPointTextFill,quadrantXAxisTextFill:j.quadrantXAxisTextFill,quadrantYAxisTextFill:j.quadrantYAxisTextFill,quadrantTitleFill:j.quadrantTitleFill,quadrantInternalBorderStrokeFill:j.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:j.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,a.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){a.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){a.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,m,y){let h=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,g={top:e==="top"&&r?h:0,bottom:e==="bottom"&&r?h:0},V=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,d={left:this.config.yAxisPosition==="left"&&m?V:0,right:this.config.yAxisPosition==="right"&&m?V:0},u=this.config.titleFontSize+this.config.titlePadding*2,D={top:y?u:0},P=this.config.quadrantPadding+d.left,v=this.config.quadrantPadding+g.top+D.top,q=this.config.chartWidth-this.config.quadrantPadding*2-d.left-d.right,k=this.config.chartHeight-this.config.quadrantPadding*2-g.top-g.bottom-D.top,_=q/2,b=k/2;return{xAxisSpace:g,yAxisSpace:d,titleSpace:D,quadrantSpace:{quadrantLeft:P,quadrantTop:v,quadrantWidth:q,quadrantHalfWidth:_,quadrantHeight:k,quadrantHalfHeight:b}}}getAxisLabels(e,r,m,y){let{quadrantSpace:h,titleSpace:g}=y,{quadrantHalfHeight:V,quadrantHeight:d,quadrantLeft:u,quadrantHalfWidth:D,quadrantTop:P,quadrantWidth:v}=h,q=Boolean(this.data.xAxisRightText),k=Boolean(this.data.yAxisTopText),_=[];if(this.data.xAxisLeftText&&r)_.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+(q?D/2:0),y:e==="top"?this.config.xAxisLabelPadding+g.top:this.config.xAxisLabelPadding+P+d+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:q?"center":"left",horizontalPos:"top",rotation:0});if(this.data.xAxisRightText&&r)_.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+D+(q?D/2:0),y:e==="top"?this.config.xAxisLabelPadding+g.top:this.config.xAxisLabelPadding+P+d+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:q?"center":"left",horizontalPos:"top",rotation:0});if(this.data.yAxisBottomText&&m)_.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+v+this.config.quadrantPadding,y:P+d-(k?V/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:k?"center":"left",horizontalPos:"top",rotation:-90});if(this.data.yAxisTopText&&m)_.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+v+this.config.quadrantPadding,y:P+V-(k?V/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:k?"center":"left",horizontalPos:"top",rotation:-90});return _}getQuadrants(e){let{quadrantSpace:r}=e,{quadrantHalfHeight:m,quadrantLeft:y,quadrantHalfWidth:h,quadrantTop:g}=r,V=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:y+h,y:g,width:h,height:m,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:y,y:g,width:h,height:m,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:y,y:g+m,width:h,height:m,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:y+h,y:g+m,width:h,height:m,fill:this.themeConfig.quadrant4Fill}];for(let d of V)if(d.text.x=d.x+d.width/2,this.data.points.length===0)d.text.y=d.y+d.height/2,d.text.horizontalPos="middle";else d.text.y=d.y+this.config.quadrantTextTopPadding,d.text.horizontalPos="top";return V}getQuadrantPoints(e){let{quadrantSpace:r}=e,{quadrantHeight:m,quadrantLeft:y,quadrantTop:h,quadrantWidth:g}=r,V=wt().domain([0,1]).range([y,g+y]),d=wt().domain([0,1]).range([m+h,h]);return this.data.points.map((D)=>{let P=this.classes.get(D.className);if(P)D={...P,...D};return{x:V(D.x),y:d(D.y),fill:D.color??this.themeConfig.quadrantPointFill,radius:D.radius??this.config.pointRadius,text:{text:D.text,fill:this.themeConfig.quadrantPointTextFill,x:V(D.x),y:d(D.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:D.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:D.strokeWidth??"0px"}})}getBorders(e){let r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:m}=e,{quadrantHalfHeight:y,quadrantHeight:h,quadrantLeft:g,quadrantHalfWidth:V,quadrantTop:d,quadrantWidth:u}=m;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:g-r,y1:d,x2:g+u+r,y2:d},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:g+u,y1:d+r,x2:g+u,y2:d+h-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:g-r,y1:d+h,x2:g+u+r,y2:d+h},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:g,y1:d+r,x2:g,y2:d+h-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:g+V,y1:d+r,x2:g+V,y2:d+h-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:g+r,y1:d+y,x2:g+u-r,y2:d+y}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2};return}build(){let e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),m=this.config.showTitle&&!!this.data.titleText,y=this.data.points.length>0?"bottom":this.config.xAxisPosition,h=this.calculateSpace(y,e,r,m);return{points:this.getQuadrantPoints(h),quadrants:this.getQuadrants(h),axisLabels:this.getAxisLabels(y,e,r,h),borderLines:this.getBorders(h),title:this.getTitle(m)}}},Et=class extends Error{static{t(this,"InvalidStyleError")}constructor(e,r,m){super(`value for ${e} ${r} is invalid, please use a valid ${m}`);this.name="InvalidStyleError"}};function Ot(e){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(e)}t(Ot,"validateHexCode");function xe(e){return!/^\d+$/.test(e)}t(xe,"validateNumber");function fe(e){return!/^\d+px$/.test(e)}t(fe,"validateSizeInPixels");function it(e){return O(e.trim(),l())}t(it,"textSanitizer");var X=new Ve;function ge(e){X.setData({quadrant1Text:it(e.text)})}t(ge,"setQuadrant1Text");function pe(e){X.setData({quadrant2Text:it(e.text)})}t(pe,"setQuadrant2Text");function ye(e){X.setData({quadrant3Text:it(e.text)})}t(ye,"setQuadrant3Text");function be(e){X.setData({quadrant4Text:it(e.text)})}t(be,"setQuadrant4Text");function Te(e){X.setData({xAxisLeftText:it(e.text)})}t(Te,"setXAxisLeftText");function me(e){X.setData({xAxisRightText:it(e.text)})}t(me,"setXAxisRightText");function qe(e){X.setData({yAxisTopText:it(e.text)})}t(qe,"setYAxisTopText");function ke(e){X.setData({yAxisBottomText:it(e.text)})}t(ke,"setYAxisBottomText");function Dt(e){let r={};for(let m of e){let[y,h]=m.trim().split(/\s*:\s*/);if(y==="radius"){if(xe(h))throw new Et(y,h,"number");r.radius=parseInt(h)}else if(y==="color"){if(Ot(h))throw new Et(y,h,"hex code");r.color=h}else if(y==="stroke-color"){if(Ot(h))throw new Et(y,h,"hex code");r.strokeColor=h}else if(y==="stroke-width"){if(fe(h))throw new Et(y,h,"number of pixels (eg. 10px)");r.strokeWidth=h}else throw Error(`style named ${y} is not supported.`)}return r}t(Dt,"parseStyles");function Se(e,r,m,y,h){let g=Dt(h);X.addPoints([{x:m,y,text:it(e.text),className:r,...g}])}t(Se,"addPoint");function _e(e,r){X.addClass(e,Dt(r))}t(_e,"addClass");function Ae(e){X.setConfig({chartWidth:e})}t(Ae,"setWidth");function Fe(e){X.setConfig({chartHeight:e})}t(Fe,"setHeight");function Pe(){let e=l(),{themeVariables:r,quadrantChart:m}=e;if(m)X.setConfig(m);return X.setThemeConfig({quadrant1Fill:r.quadrant1Fill,quadrant2Fill:r.quadrant2Fill,quadrant3Fill:r.quadrant3Fill,quadrant4Fill:r.quadrant4Fill,quadrant1TextFill:r.quadrant1TextFill,quadrant2TextFill:r.quadrant2TextFill,quadrant3TextFill:r.quadrant3TextFill,quadrant4TextFill:r.quadrant4TextFill,quadrantPointFill:r.quadrantPointFill,quadrantPointTextFill:r.quadrantPointTextFill,quadrantXAxisTextFill:r.quadrantXAxisTextFill,quadrantYAxisTextFill:r.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:r.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:r.quadrantInternalBorderStrokeFill,quadrantTitleFill:r.quadrantTitleFill}),X.setData({titleText:R()}),X.build()}t(Pe,"getQuadrantData");var Ie=t(function(){X.clear(),C()},"clear"),Be={setWidth:Ae,setHeight:Fe,setQuadrant1Text:ge,setQuadrant2Text:pe,setQuadrant3Text:ye,setQuadrant4Text:be,setXAxisLeftText:Te,setXAxisRightText:me,setYAxisTopText:qe,setYAxisBottomText:ke,parseStyles:Dt,addPoint:Se,addClass:_e,getQuadrantData:Pe,clear:Ie,setAccTitle:S,getAccTitle:E,setDiagramTitle:L,getDiagramTitle:R,getAccDescription:A,setAccDescription:T},Re=t((e,r,m,y)=>{function h(n){return n==="top"?"hanging":"middle"}t(h,"getDominantBaseLine");function g(n){return n==="left"?"start":"middle"}t(g,"getTextAnchor");function V(n){return`translate(${n.x}, ${n.y}) rotate(${n.rotation||0})`}t(V,"getTransformation");let d=l();a.debug(`Rendering quadrant chart
|
|
7
|
+
`+e);let u=d.securityLevel,D;if(u==="sandbox")D=p("#i"+r);let v=(u==="sandbox"?p(D.nodes()[0].contentDocument.body):p("body")).select(`[id="${r}"]`),q=v.append("g").attr("class","main"),k=d.quadrantChart?.chartWidth??500,_=d.quadrantChart?.chartHeight??500;F(v,_,k,d.quadrantChart?.useMaxWidth??!0),v.attr("viewBox","0 0 "+k+" "+_),y.db.setHeight(_),y.db.setWidth(k);let b=y.db.getQuadrantData(),I=q.append("g").attr("class","quadrants"),St=q.append("g").attr("class","border"),_t=q.append("g").attr("class","data-points"),At=q.append("g").attr("class","labels"),Ft=q.append("g").attr("class","title");if(b.title)Ft.append("text").attr("x",0).attr("y",0).attr("fill",b.title.fill).attr("font-size",b.title.fontSize).attr("dominant-baseline",h(b.title.horizontalPos)).attr("text-anchor",g(b.title.verticalPos)).attr("transform",V(b.title)).text(b.title.text);if(b.borderLines)St.selectAll("line").data(b.borderLines).enter().append("line").attr("x1",(n)=>n.x1).attr("y1",(n)=>n.y1).attr("x2",(n)=>n.x2).attr("y2",(n)=>n.y2).style("stroke",(n)=>n.strokeFill).style("stroke-width",(n)=>n.strokeWidth);let mt=I.selectAll("g.quadrant").data(b.quadrants).enter().append("g").attr("class","quadrant");mt.append("rect").attr("x",(n)=>n.x).attr("y",(n)=>n.y).attr("width",(n)=>n.width).attr("height",(n)=>n.height).attr("fill",(n)=>n.fill),mt.append("text").attr("x",0).attr("y",0).attr("fill",(n)=>n.text.fill).attr("font-size",(n)=>n.text.fontSize).attr("dominant-baseline",(n)=>h(n.text.horizontalPos)).attr("text-anchor",(n)=>g(n.text.verticalPos)).attr("transform",(n)=>V(n.text)).text((n)=>n.text.text),At.selectAll("g.label").data(b.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text((n)=>n.text).attr("fill",(n)=>n.fill).attr("font-size",(n)=>n.fontSize).attr("dominant-baseline",(n)=>h(n.horizontalPos)).attr("text-anchor",(n)=>g(n.verticalPos)).attr("transform",(n)=>V(n));let qt=_t.selectAll("g.data-point").data(b.points).enter().append("g").attr("class","data-point");qt.append("circle").attr("cx",(n)=>n.x).attr("cy",(n)=>n.y).attr("r",(n)=>n.radius).attr("fill",(n)=>n.fill).attr("stroke",(n)=>n.strokeColor).attr("stroke-width",(n)=>n.strokeWidth),qt.append("text").attr("x",0).attr("y",0).text((n)=>n.text.text).attr("fill",(n)=>n.text.fill).attr("font-size",(n)=>n.text.fontSize).attr("dominant-baseline",(n)=>h(n.text.horizontalPos)).attr("text-anchor",(n)=>g(n.text.verticalPos)).attr("transform",(n)=>V(n.text))},"draw"),Ne={draw:Re},Me={parser:ze,db:Be,renderer:Ne,styles:t(()=>"","styles")};export{Me as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Si}from"./chunk-n9v14vyd.js";export{Si as createCynefinServices};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import{pn}from"./chunk-q8v5j963.js";import{G}from"./chunk-p1yc8hwn.js";import{t,a,M,x,b,C,S,E,T,A,L,R,l,_r,p,Hi,U,N}from"./chunk-e763h2px.js";import{Q}from"./chunk-xjc5fmcr.js";var v={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Ce=M.gitGraph,X=t(()=>U({...Ce,...x().gitGraph}),"getConfig"),m=new pn(()=>{let e=X(),{mainBranchName:r,mainBranchOrder:o}=e;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:o}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function ne(){return Hi({length:7})}t(ne,"getID");function pe(e,r){let o=Object.create(null);return e.reduce((c,i)=>{let h=r(i);if(!o[h])o[h]=!0,c.push(i);return c},[])}t(pe,"uniqBy");var ve=t(function(e){m.records.direction=e},"setDirection"),Ee=t(function(e){a.debug("options str",e),e=e?.trim(),e=e||"{}";try{m.records.options=JSON.parse(e)}catch(r){a.error("error while parsing gitGraph options",r.message)}},"setOptions"),Te=t(function(){return m.records.options},"getOptions"),Le=t(function(e){let{msg:r,id:o,type:c,tags:i}=e;a.info("commit",r,o,c,i),a.debug("Entering commit:",r,o,c,i);let h=X();o=b.sanitizeText(o,h),r=b.sanitizeText(r,h),i=i?.map((s)=>b.sanitizeText(s,h));let n={id:o?o:m.records.seq+"-"+ne(),message:r,seq:m.records.seq++,type:c??v.NORMAL,tags:i??[],parents:m.records.head==null?[]:[m.records.head.id],branch:m.records.currBranch};if(m.records.head=n,a.info("main branch",h.mainBranchName),m.records.commits.has(n.id))a.warn(`Commit ID ${n.id} already exists`);m.records.commits.set(n.id,n),m.records.branches.set(m.records.currBranch,n.id),a.debug("in pushCommit "+n.id)},"commit"),Me=t(function(e){let{name:r,order:o}=e;if(r=b.sanitizeText(r,X()),m.records.branches.has(r))throw Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);m.records.branches.set(r,m.records.head!=null?m.records.head.id:null),m.records.branchConfig.set(r,{name:r,order:o}),ye(r),a.debug("in createBranch")},"branch"),Pe=t((e)=>{let{branch:r,id:o,type:c,tags:i}=e,h=X();if(r=b.sanitizeText(r,h),o)o=b.sanitizeText(o,h);let n=m.records.branches.get(m.records.currBranch),s=m.records.branches.get(r),g=n?m.records.commits.get(n):void 0,y=s?m.records.commits.get(s):void 0;if(g&&y&&g.branch===r)throw Error(`Cannot merge branch '${r}' into itself.`);if(m.records.currBranch===r){let d=Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(g===void 0||!g){let d=Error(`Incorrect usage of "merge". Current branch (${m.records.currBranch})has no commits`);throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},d}if(!m.records.branches.has(r)){let d=Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},d}if(y===void 0||!y){let d=Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},d}if(g===y){let d=Error('Incorrect usage of "merge". Both branches have same head');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(o&&m.records.commits.has(o)){let d=Error('Incorrect usage of "merge". Commit with id:'+o+" already exists, use different custom id");throw d.hash={text:`merge ${r} ${o} ${c} ${i?.join(" ")}`,token:`merge ${r} ${o} ${c} ${i?.join(" ")}`,expected:[`merge ${r} ${o}_UNIQUE ${c} ${i?.join(" ")}`]},d}let u=s?s:"",f={id:o||`${m.records.seq}-${ne()}`,message:`merged branch ${r} into ${m.records.currBranch}`,seq:m.records.seq++,parents:m.records.head==null?[]:[m.records.head.id,u],branch:m.records.currBranch,type:v.MERGE,customType:c,customId:o?!0:!1,tags:i??[]};m.records.head=f,m.records.commits.set(f.id,f),m.records.branches.set(m.records.currBranch,f.id),a.debug(m.records.branches),a.debug("in mergeBranch")},"merge"),Re=t(function(e){let{id:r,targetId:o,tags:c,parent:i}=e;a.debug("Entering cherryPick:",r,o,c);let h=X();if(r=b.sanitizeText(r,h),o=b.sanitizeText(o,h),c=c?.map((g)=>b.sanitizeText(g,h)),i=b.sanitizeText(i,h),!r||!m.records.commits.has(r)){let g=Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw g.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},g}let n=m.records.commits.get(r);if(n===void 0||!n)throw Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(n.parents)&&n.parents.includes(i)))throw Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let s=n.branch;if(n.type===v.MERGE&&!i)throw Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!o||!m.records.commits.has(o)){if(s===m.records.currBranch){let f=Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let g=m.records.branches.get(m.records.currBranch);if(g===void 0||!g){let f=Error(`Incorrect usage of "cherry-pick". Current branch (${m.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let y=m.records.commits.get(g);if(y===void 0||!y){let f=Error(`Incorrect usage of "cherry-pick". Current branch (${m.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let u={id:m.records.seq+"-"+ne(),message:`cherry-picked ${n?.message} into ${m.records.currBranch}`,seq:m.records.seq++,parents:m.records.head==null?[]:[m.records.head.id,n.id],branch:m.records.currBranch,type:v.CHERRY_PICK,tags:c?c.filter(Boolean):[`cherry-pick:${n.id}${n.type===v.MERGE?`|parent:${i}`:""}`]};m.records.head=u,m.records.commits.set(u.id,u),m.records.branches.set(m.records.currBranch,u.id),a.debug(m.records.branches),a.debug("in cherryPick")}},"cherryPick"),ye=t(function(e){if(e=b.sanitizeText(e,X()),!m.records.branches.has(e)){let r=Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}else{m.records.currBranch=e;let r=m.records.branches.get(m.records.currBranch);if(r===void 0||!r)m.records.head=null;else m.records.head=m.records.commits.get(r)??null}},"checkout");function he(e,r,o){let c=e.indexOf(r);if(c===-1)e.push(o);else e.splice(c,1,o)}t(he,"upsert");function me(e){let r=e.reduce((i,h)=>{if(i.seq>h.seq)return i;return h},e[0]),o="";e.forEach(function(i){if(i===r)o+="\t*";else o+="\t|"});let c=[o,r.id,r.seq];for(let i in m.records.branches)if(m.records.branches.get(i)===r.id)c.push(i);if(a.debug(c.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){let i=m.records.commits.get(r.parents[0]);if(he(e,r,i),r.parents[1])e.push(m.records.commits.get(r.parents[1]))}else if(r.parents.length==0)return;else if(r.parents[0]){let i=m.records.commits.get(r.parents[0]);he(e,r,i)}e=pe(e,(i)=>i.id),me(e)}t(me,"prettyPrintCommitHistory");var Oe=t(function(){a.debug(m.records.commits);let e=xe()[0];me([e])},"prettyPrint"),Ie=t(function(){m.reset(),C()},"clear"),_e=t(function(){return[...m.records.branchConfig.values()].map((r,o)=>{if(r.order!==null&&r.order!==void 0)return r;return{...r,order:parseFloat(`0.${o}`)}}).sort((r,o)=>(r.order??0)-(o.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),Ge=t(function(){return m.records.branches},"getBranches"),De=t(function(){return m.records.commits},"getCommits"),xe=t(function(){let e=[...m.records.commits.values()];return e.forEach(function(r){a.debug(r.id)}),e.sort((r,o)=>r.seq-o.seq),e},"getCommitsArray"),We=t(function(){return m.records.currBranch},"getCurrentBranch"),qe=t(function(){return m.records.direction},"getDirection"),Ae=t(function(){return m.records.head},"getHead"),ue={commitType:v,getConfig:X,setDirection:ve,setOptions:Ee,getOptions:Te,commit:Le,branch:Me,merge:Pe,cherryPick:Re,checkout:ye,prettyPrint:Oe,clear:Ie,getBranchesAsObjArray:_e,getBranches:Ge,getCommits:De,getCommitsArray:xe,getCurrentBranch:We,getDirection:qe,getHead:Ae,setAccTitle:S,getAccTitle:E,getAccDescription:A,setAccDescription:T,setDiagramTitle:L,getDiagramTitle:R},He=t((e,r)=>{if(G(e,r),e.dir)r.setDirection(e.dir);for(let o of e.statements)Se(o,r)},"populate"),Se=t((e,r)=>{let c={Commit:t((i)=>r.commit(Ne(i)),"Commit"),Branch:t((i)=>r.branch(Fe(i)),"Branch"),Merge:t((i)=>r.merge(ze(i)),"Merge"),Checkout:t((i)=>r.checkout(Ye(i)),"Checkout"),CherryPicking:t((i)=>r.cherryPick(je(i)),"CherryPicking")}[e.$type];if(c)c(e);else a.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),Ne=t((e)=>({id:e.id,msg:e.message??"",type:e.type!==void 0?v[e.type]:v.NORMAL,tags:e.tags??void 0}),"parseCommit"),Fe=t((e)=>({name:e.name,order:e.order??0}),"parseBranch"),ze=t((e)=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?v[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ye=t((e)=>e.branch,"parseCheckout"),je=t((e)=>({id:e.id,targetId:"",tags:e.tags?.length===0?void 0:e.tags,parent:e.parent}),"parseCherryPicking"),Ke={parse:t(async(e)=>{let r=await Q("gitGraph",e);a.debug(r),He(r,ue)},"parse")},j=10,K=40,H=4,z=2,V=8,ce=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),le=12,ge=new Set(["redux-color","redux-dark-color"]),Ue=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Z=t((e,r,o=!1)=>{if(o&&e>0)return(e-1)%(r-1)+1;return e%r},"calcColorIndex"),D=new Map,W=new Map,oe=30,te=new Map,se=[],Y=0,B="LR",Ve=t(()=>{D.clear(),W.clear(),te.clear(),Y=0,se=[],B="LR"},"clear"),be=t((e)=>{let r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e==="string"?e.split(/\\n|\n|<br\s*\/?>/gi):e).forEach((c)=>{let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=c.trim(),r.appendChild(i)}),r},"drawText"),we=t((e)=>{let r,o,c;if(B==="BT")o=t((i,h)=>i<=h,"comparisonFunc"),c=1/0;else o=t((i,h)=>i>=h,"comparisonFunc"),c=0;return e.forEach((i)=>{let h=B==="TB"||B=="BT"?W.get(i)?.y:W.get(i)?.x;if(h!==void 0&&o(h,c))r=i,c=h}),r},"findClosestParent"),Ze=t((e)=>{let r="",o=1/0;return e.forEach((c)=>{let i=W.get(c).y;if(i<=o)r=c,o=i}),r||void 0},"findClosestParentBT"),Xe=t((e,r,o)=>{let c=o,i=o,h=[];e.forEach((n)=>{let s=r.get(n);if(!s)throw Error(`Commit not found for key ${n}`);if(s.parents.length)c=Qe(s),i=Math.max(c,i);else h.push(s);et(s,c)}),c=i,h.forEach((n)=>{tt(n,c,o)}),e.forEach((n)=>{let s=r.get(n);if(s?.parents.length){let g=Ze(s.parents);if(c=W.get(g).y-K,c<=i)i=c;let y=D.get(s.branch).pos,u=c-j;W.set(s.id,{x:y,y:u})}})},"setParallelBTPos"),Je=t((e)=>{let r=we(e.parents.filter((c)=>c!==null));if(!r)throw Error(`Closest parent not found for commit ${e.id}`);let o=W.get(r)?.y;if(o===void 0)throw Error(`Closest parent position not found for commit ${e.id}`);return o},"findClosestParentPos"),Qe=t((e)=>Je(e)+K,"calculateCommitPosition"),et=t((e,r)=>{let o=D.get(e.branch);if(!o)throw Error(`Branch not found for commit ${e.id}`);let c=o.pos,i=r+j;return W.set(e.id,{x:c,y:i}),{x:c,y:i}},"setCommitPosition"),tt=t((e,r,o)=>{let c=D.get(e.branch);if(!c)throw Error(`Branch not found for commit ${e.id}`);let i=r+o,h=c.pos;W.set(e.id,{x:h,y:i})},"setRootPosition"),rt=t((e,r,o,c,i,h)=>{let{theme:n}=l(),s=ce.has(n??""),g=ge.has(n??""),y=Ue.has(n??"");if(h===v.HIGHLIGHT)e.append("rect").attr("x",o.x-10+(s?3:0)).attr("y",o.y-10+(s?3:0)).attr("width",s?14:20).attr("height",s?14:20).attr("class",`commit ${r.id} commit-highlight${Z(i,V,g)} ${c}-outer`),e.append("rect").attr("x",o.x-6+(s?2:0)).attr("y",o.y-6+(s?2:0)).attr("width",s?8:12).attr("height",s?8:12).attr("class",`commit ${r.id} commit${Z(i,V,g)} ${c}-inner`);else if(h===v.CHERRY_PICK)e.append("circle").attr("cx",o.x).attr("cy",o.y).attr("r",s?7:10).attr("class",`commit ${r.id} ${c}`),e.append("circle").attr("cx",o.x-3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("circle").attr("cx",o.x+3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("line").attr("x1",o.x+3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("line").attr("x1",o.x-3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`);else{let u=e.append("circle");if(u.attr("cx",o.x),u.attr("cy",o.y),u.attr("r",s?7:10),u.attr("class",`commit ${r.id} commit${Z(i,V,g)}`),h===v.MERGE){let f=e.append("circle");f.attr("cx",o.x),f.attr("cy",o.y),f.attr("r",s?5:6),f.attr("class",`commit ${c} ${r.id} commit${Z(i,V,g)}`)}if(h===v.REVERSE){let f=e.append("path"),d=s?4:5;f.attr("d",`M ${o.x-d},${o.y-d}L${o.x+d},${o.y+d}M${o.x-d},${o.y+d}L${o.x+d},${o.y-d}`).attr("class",`commit ${c} ${r.id} commit${Z(i,V,g)}`)}}},"drawCommitBullet"),at=t((e,r,o,c,i)=>{if(r.type!==v.CHERRY_PICK&&(r.customId&&r.type===v.MERGE||r.type!==v.MERGE)&&i.showCommitLabel){let h=e.append("g"),n=h.insert("rect").attr("class","commit-label-bkg"),s=h.append("text").attr("x",c).attr("y",o.y+25).attr("class","commit-label").text(r.id),g=s.node()?.getBBox();if(g){if(n.attr("x",o.posWithOffset-g.width/2-z).attr("y",o.y+13.5).attr("width",g.width+2*z).attr("height",g.height+2*z),B==="TB"||B==="BT")n.attr("x",o.x-(g.width+4*H+5)).attr("y",o.y-12),s.attr("x",o.x-(g.width+4*H)).attr("y",o.y+g.height-12);else s.attr("x",o.posWithOffset-g.width/2);if(i.rotateCommitLabel)if(B==="TB"||B==="BT")s.attr("transform","rotate(-45, "+o.x+", "+o.y+")"),n.attr("transform","rotate(-45, "+o.x+", "+o.y+")");else{let y=-7.5-(g.width+10)/25*9.5,u=10+g.width/25*8.5;h.attr("transform","translate("+y+", "+u+") rotate(-45, "+c+", "+o.y+")")}}}},"drawCommitLabel"),ot=t((e,r,o,c)=>{if(r.tags.length>0){let i=0,h=0,n=0,s=[];for(let g of r.tags.reverse()){let y=e.insert("polygon"),u=e.append("circle"),f=e.append("text").attr("y",o.y-16-i).attr("class","tag-label").text(g),d=f.node()?.getBBox();if(!d)throw Error("Tag bbox not found");h=Math.max(h,d.width),n=Math.max(n,d.height),f.attr("x",o.posWithOffset-d.width/2),s.push({tag:f,hole:u,rect:y,yOffset:i}),i+=20}for(let{tag:g,hole:y,rect:u,yOffset:f}of s){let d=n/2,k=o.y-19.2-f;if(u.attr("class","tag-label-bkg").attr("points",`
|
|
2
|
-
${c-h/2-
|
|
3
|
-
${c-h/2-
|
|
4
|
-
${o.posWithOffset-h/2-
|
|
5
|
-
${o.posWithOffset+h/2+
|
|
6
|
-
${o.posWithOffset+h/2+
|
|
7
|
-
${o.posWithOffset-h/2-
|
|
1
|
+
import{fn}from"./chunk-7adsmqv6.js";import{H}from"./chunk-jyf7a7yp.js";import{t,a,M,x,b,C,S,E,T,A,L,R,l,wr,p,Hi,U,N}from"./chunk-b5zf1hs3.js";import{Q}from"./chunk-n9v14vyd.js";var v={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Ce=M.gitGraph,X=t(()=>U({...Ce,...x().gitGraph}),"getConfig"),m=new fn(()=>{let e=X(),{mainBranchName:r,mainBranchOrder:o}=e;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:o}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function ne(){return Hi({length:7})}t(ne,"getID");function pe(e,r){let o=Object.create(null);return e.reduce((c,i)=>{let h=r(i);if(!o[h])o[h]=!0,c.push(i);return c},[])}t(pe,"uniqBy");var ve=t(function(e){m.records.direction=e},"setDirection"),Ee=t(function(e){a.debug("options str",e),e=e?.trim(),e=e||"{}";try{m.records.options=JSON.parse(e)}catch(r){a.error("error while parsing gitGraph options",r.message)}},"setOptions"),Te=t(function(){return m.records.options},"getOptions"),Le=t(function(e){let{msg:r,id:o,type:c,tags:i}=e;a.info("commit",r,o,c,i),a.debug("Entering commit:",r,o,c,i);let h=X();o=b.sanitizeText(o,h),r=b.sanitizeText(r,h),i=i?.map((s)=>b.sanitizeText(s,h));let n={id:o?o:m.records.seq+"-"+ne(),message:r,seq:m.records.seq++,type:c??v.NORMAL,tags:i??[],parents:m.records.head==null?[]:[m.records.head.id],branch:m.records.currBranch};if(m.records.head=n,a.info("main branch",h.mainBranchName),m.records.commits.has(n.id))a.warn(`Commit ID ${n.id} already exists`);m.records.commits.set(n.id,n),m.records.branches.set(m.records.currBranch,n.id),a.debug("in pushCommit "+n.id)},"commit"),Me=t(function(e){let{name:r,order:o}=e;if(r=b.sanitizeText(r,X()),m.records.branches.has(r))throw Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);m.records.branches.set(r,m.records.head!=null?m.records.head.id:null),m.records.branchConfig.set(r,{name:r,order:o}),ye(r),a.debug("in createBranch")},"branch"),Pe=t((e)=>{let{branch:r,id:o,type:c,tags:i}=e,h=X();if(r=b.sanitizeText(r,h),o)o=b.sanitizeText(o,h);let n=m.records.branches.get(m.records.currBranch),s=m.records.branches.get(r),g=n?m.records.commits.get(n):void 0,y=s?m.records.commits.get(s):void 0;if(g&&y&&g.branch===r)throw Error(`Cannot merge branch '${r}' into itself.`);if(m.records.currBranch===r){let d=Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(g===void 0||!g){let d=Error(`Incorrect usage of "merge". Current branch (${m.records.currBranch})has no commits`);throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},d}if(!m.records.branches.has(r)){let d=Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},d}if(y===void 0||!y){let d=Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},d}if(g===y){let d=Error('Incorrect usage of "merge". Both branches have same head');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(o&&m.records.commits.has(o)){let d=Error('Incorrect usage of "merge". Commit with id:'+o+" already exists, use different custom id");throw d.hash={text:`merge ${r} ${o} ${c} ${i?.join(" ")}`,token:`merge ${r} ${o} ${c} ${i?.join(" ")}`,expected:[`merge ${r} ${o}_UNIQUE ${c} ${i?.join(" ")}`]},d}let u=s?s:"",f={id:o||`${m.records.seq}-${ne()}`,message:`merged branch ${r} into ${m.records.currBranch}`,seq:m.records.seq++,parents:m.records.head==null?[]:[m.records.head.id,u],branch:m.records.currBranch,type:v.MERGE,customType:c,customId:o?!0:!1,tags:i??[]};m.records.head=f,m.records.commits.set(f.id,f),m.records.branches.set(m.records.currBranch,f.id),a.debug(m.records.branches),a.debug("in mergeBranch")},"merge"),Re=t(function(e){let{id:r,targetId:o,tags:c,parent:i}=e;a.debug("Entering cherryPick:",r,o,c);let h=X();if(r=b.sanitizeText(r,h),o=b.sanitizeText(o,h),c=c?.map((g)=>b.sanitizeText(g,h)),i=b.sanitizeText(i,h),!r||!m.records.commits.has(r)){let g=Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw g.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},g}let n=m.records.commits.get(r);if(n===void 0||!n)throw Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(n.parents)&&n.parents.includes(i)))throw Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let s=n.branch;if(n.type===v.MERGE&&!i)throw Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!o||!m.records.commits.has(o)){if(s===m.records.currBranch){let f=Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let g=m.records.branches.get(m.records.currBranch);if(g===void 0||!g){let f=Error(`Incorrect usage of "cherry-pick". Current branch (${m.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let y=m.records.commits.get(g);if(y===void 0||!y){let f=Error(`Incorrect usage of "cherry-pick". Current branch (${m.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let u={id:m.records.seq+"-"+ne(),message:`cherry-picked ${n?.message} into ${m.records.currBranch}`,seq:m.records.seq++,parents:m.records.head==null?[]:[m.records.head.id,n.id],branch:m.records.currBranch,type:v.CHERRY_PICK,tags:c?c.filter(Boolean):[`cherry-pick:${n.id}${n.type===v.MERGE?`|parent:${i}`:""}`]};m.records.head=u,m.records.commits.set(u.id,u),m.records.branches.set(m.records.currBranch,u.id),a.debug(m.records.branches),a.debug("in cherryPick")}},"cherryPick"),ye=t(function(e){if(e=b.sanitizeText(e,X()),!m.records.branches.has(e)){let r=Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}else{m.records.currBranch=e;let r=m.records.branches.get(m.records.currBranch);if(r===void 0||!r)m.records.head=null;else m.records.head=m.records.commits.get(r)??null}},"checkout");function he(e,r,o){let c=e.indexOf(r);if(c===-1)e.push(o);else e.splice(c,1,o)}t(he,"upsert");function me(e){let r=e.reduce((i,h)=>{if(i.seq>h.seq)return i;return h},e[0]),o="";e.forEach(function(i){if(i===r)o+="\t*";else o+="\t|"});let c=[o,r.id,r.seq];for(let i in m.records.branches)if(m.records.branches.get(i)===r.id)c.push(i);if(a.debug(c.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){let i=m.records.commits.get(r.parents[0]);if(he(e,r,i),r.parents[1])e.push(m.records.commits.get(r.parents[1]))}else if(r.parents.length==0)return;else if(r.parents[0]){let i=m.records.commits.get(r.parents[0]);he(e,r,i)}e=pe(e,(i)=>i.id),me(e)}t(me,"prettyPrintCommitHistory");var Oe=t(function(){a.debug(m.records.commits);let e=xe()[0];me([e])},"prettyPrint"),Ie=t(function(){m.reset(),C()},"clear"),_e=t(function(){return[...m.records.branchConfig.values()].map((r,o)=>{if(r.order!==null&&r.order!==void 0)return r;return{...r,order:parseFloat(`0.${o}`)}}).sort((r,o)=>(r.order??0)-(o.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),Ge=t(function(){return m.records.branches},"getBranches"),De=t(function(){return m.records.commits},"getCommits"),xe=t(function(){let e=[...m.records.commits.values()];return e.forEach(function(r){a.debug(r.id)}),e.sort((r,o)=>r.seq-o.seq),e},"getCommitsArray"),We=t(function(){return m.records.currBranch},"getCurrentBranch"),qe=t(function(){return m.records.direction},"getDirection"),Ae=t(function(){return m.records.head},"getHead"),ue={commitType:v,getConfig:X,setDirection:ve,setOptions:Ee,getOptions:Te,commit:Le,branch:Me,merge:Pe,cherryPick:Re,checkout:ye,prettyPrint:Oe,clear:Ie,getBranchesAsObjArray:_e,getBranches:Ge,getCommits:De,getCommitsArray:xe,getCurrentBranch:We,getDirection:qe,getHead:Ae,setAccTitle:S,getAccTitle:E,getAccDescription:A,setAccDescription:T,setDiagramTitle:L,getDiagramTitle:R},He=t((e,r)=>{if(H(e,r),e.dir)r.setDirection(e.dir);for(let o of e.statements)Se(o,r)},"populate"),Se=t((e,r)=>{let c={Commit:t((i)=>r.commit(Ne(i)),"Commit"),Branch:t((i)=>r.branch(Fe(i)),"Branch"),Merge:t((i)=>r.merge(ze(i)),"Merge"),Checkout:t((i)=>r.checkout(Ye(i)),"Checkout"),CherryPicking:t((i)=>r.cherryPick(je(i)),"CherryPicking")}[e.$type];if(c)c(e);else a.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),Ne=t((e)=>({id:e.id,msg:e.message??"",type:e.type!==void 0?v[e.type]:v.NORMAL,tags:e.tags??void 0}),"parseCommit"),Fe=t((e)=>({name:e.name,order:e.order??0}),"parseBranch"),ze=t((e)=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?v[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ye=t((e)=>e.branch,"parseCheckout"),je=t((e)=>({id:e.id,targetId:"",tags:e.tags?.length===0?void 0:e.tags,parent:e.parent}),"parseCherryPicking"),Ke={parse:t(async(e)=>{let r=await Q("gitGraph",e);a.debug(r),He(r,ue)},"parse")},j=10,K=40,q=4,z=2,V=8,ce=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),le=12,ge=new Set(["redux-color","redux-dark-color"]),Ue=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Z=t((e,r,o=!1)=>{if(o&&e>0)return(e-1)%(r-1)+1;return e%r},"calcColorIndex"),G=new Map,D=new Map,oe=30,te=new Map,se=[],Y=0,B="LR",Ve=t(()=>{G.clear(),D.clear(),te.clear(),Y=0,se=[],B="LR"},"clear"),be=t((e)=>{let r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e==="string"?e.split(/\\n|\n|<br\s*\/?>/gi):e).forEach((c)=>{let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=c.trim(),r.appendChild(i)}),r},"drawText"),we=t((e)=>{let r,o,c;if(B==="BT")o=t((i,h)=>i<=h,"comparisonFunc"),c=1/0;else o=t((i,h)=>i>=h,"comparisonFunc"),c=0;return e.forEach((i)=>{let h=B==="TB"||B=="BT"?D.get(i)?.y:D.get(i)?.x;if(h!==void 0&&o(h,c))r=i,c=h}),r},"findClosestParent"),Ze=t((e)=>{let r="",o=1/0;return e.forEach((c)=>{let i=D.get(c).y;if(i<=o)r=c,o=i}),r||void 0},"findClosestParentBT"),Xe=t((e,r,o)=>{let c=o,i=o,h=[];e.forEach((n)=>{let s=r.get(n);if(!s)throw Error(`Commit not found for key ${n}`);if(s.parents.length)c=Qe(s),i=Math.max(c,i);else h.push(s);et(s,c)}),c=i,h.forEach((n)=>{tt(n,c,o)}),e.forEach((n)=>{let s=r.get(n);if(s?.parents.length){let g=Ze(s.parents);if(c=D.get(g).y-K,c<=i)i=c;let y=G.get(s.branch).pos,u=c-j;D.set(s.id,{x:y,y:u})}})},"setParallelBTPos"),Je=t((e)=>{let r=we(e.parents.filter((c)=>c!==null));if(!r)throw Error(`Closest parent not found for commit ${e.id}`);let o=D.get(r)?.y;if(o===void 0)throw Error(`Closest parent position not found for commit ${e.id}`);return o},"findClosestParentPos"),Qe=t((e)=>Je(e)+K,"calculateCommitPosition"),et=t((e,r)=>{let o=G.get(e.branch);if(!o)throw Error(`Branch not found for commit ${e.id}`);let c=o.pos,i=r+j;return D.set(e.id,{x:c,y:i}),{x:c,y:i}},"setCommitPosition"),tt=t((e,r,o)=>{let c=G.get(e.branch);if(!c)throw Error(`Branch not found for commit ${e.id}`);let i=r+o,h=c.pos;D.set(e.id,{x:h,y:i})},"setRootPosition"),rt=t((e,r,o,c,i,h)=>{let{theme:n}=l(),s=ce.has(n??""),g=ge.has(n??""),y=Ue.has(n??"");if(h===v.HIGHLIGHT)e.append("rect").attr("x",o.x-10+(s?3:0)).attr("y",o.y-10+(s?3:0)).attr("width",s?14:20).attr("height",s?14:20).attr("class",`commit ${r.id} commit-highlight${Z(i,V,g)} ${c}-outer`),e.append("rect").attr("x",o.x-6+(s?2:0)).attr("y",o.y-6+(s?2:0)).attr("width",s?8:12).attr("height",s?8:12).attr("class",`commit ${r.id} commit${Z(i,V,g)} ${c}-inner`);else if(h===v.CHERRY_PICK)e.append("circle").attr("cx",o.x).attr("cy",o.y).attr("r",s?7:10).attr("class",`commit ${r.id} ${c}`),e.append("circle").attr("cx",o.x-3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("circle").attr("cx",o.x+3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("line").attr("x1",o.x+3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("line").attr("x1",o.x-3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`);else{let u=e.append("circle");if(u.attr("cx",o.x),u.attr("cy",o.y),u.attr("r",s?7:10),u.attr("class",`commit ${r.id} commit${Z(i,V,g)}`),h===v.MERGE){let f=e.append("circle");f.attr("cx",o.x),f.attr("cy",o.y),f.attr("r",s?5:6),f.attr("class",`commit ${c} ${r.id} commit${Z(i,V,g)}`)}if(h===v.REVERSE){let f=e.append("path"),d=s?4:5;f.attr("d",`M ${o.x-d},${o.y-d}L${o.x+d},${o.y+d}M${o.x-d},${o.y+d}L${o.x+d},${o.y-d}`).attr("class",`commit ${c} ${r.id} commit${Z(i,V,g)}`)}}},"drawCommitBullet"),at=t((e,r,o,c,i)=>{if(r.type!==v.CHERRY_PICK&&(r.customId&&r.type===v.MERGE||r.type!==v.MERGE)&&i.showCommitLabel){let h=e.append("g"),n=h.insert("rect").attr("class","commit-label-bkg"),s=h.append("text").attr("x",c).attr("y",o.y+25).attr("class","commit-label").text(r.id),g=s.node()?.getBBox();if(g){if(n.attr("x",o.posWithOffset-g.width/2-z).attr("y",o.y+13.5).attr("width",g.width+2*z).attr("height",g.height+2*z),B==="TB"||B==="BT")n.attr("x",o.x-(g.width+4*q+5)).attr("y",o.y-12),s.attr("x",o.x-(g.width+4*q)).attr("y",o.y+g.height-12);else s.attr("x",o.posWithOffset-g.width/2);if(i.rotateCommitLabel)if(B==="TB"||B==="BT")s.attr("transform","rotate(-45, "+o.x+", "+o.y+")"),n.attr("transform","rotate(-45, "+o.x+", "+o.y+")");else{let y=-7.5-(g.width+10)/25*9.5,u=10+g.width/25*8.5;h.attr("transform","translate("+y+", "+u+") rotate(-45, "+c+", "+o.y+")")}}}},"drawCommitLabel"),ot=t((e,r,o,c)=>{if(r.tags.length>0){let i=0,h=0,n=0,s=[];for(let g of r.tags.reverse()){let y=e.insert("polygon"),u=e.append("circle"),f=e.append("text").attr("y",o.y-16-i).attr("class","tag-label").text(g),d=f.node()?.getBBox();if(!d)throw Error("Tag bbox not found");h=Math.max(h,d.width),n=Math.max(n,d.height),f.attr("x",o.posWithOffset-d.width/2),s.push({tag:f,hole:u,rect:y,yOffset:i}),i+=20}for(let{tag:g,hole:y,rect:u,yOffset:f}of s){let d=n/2,k=o.y-19.2-f;if(u.attr("class","tag-label-bkg").attr("points",`
|
|
2
|
+
${c-h/2-q/2},${k+z}
|
|
3
|
+
${c-h/2-q/2},${k-z}
|
|
4
|
+
${o.posWithOffset-h/2-q},${k-d-z}
|
|
5
|
+
${o.posWithOffset+h/2+q},${k-d-z}
|
|
6
|
+
${o.posWithOffset+h/2+q},${k+d+z}
|
|
7
|
+
${o.posWithOffset-h/2-q},${k+d+z}`),y.attr("cy",k).attr("cx",c-h/2+q/2).attr("r",1.5).attr("class","tag-hole"),B==="TB"||B==="BT"){let w=c+f;u.attr("class","tag-label-bkg").attr("points",`
|
|
8
8
|
${o.x},${w+2}
|
|
9
9
|
${o.x},${w-2}
|
|
10
10
|
${o.x+j},${w-d-2}
|
|
11
11
|
${o.x+j+h+4},${w-d-2}
|
|
12
12
|
${o.x+j+h+4},${w+d+2}
|
|
13
|
-
${o.x+j},${w+d+2}`).attr("transform","translate(12,12) rotate(45, "+o.x+","+c+")"),y.attr("cx",o.x+
|
|
14
|
-
`,"id:",r,o);let i=c.db;if(!i.getConfig){a.error("getConfig method is not available on db");return}let h=i.getConfig(),n=h.rotateCommitLabel??!1;te=i.getCommits();let s=i.getBranchesAsObjArray();B=i.getDirection();let g=p(`[id="${r}"]`),{look:y,theme:u,themeVariables:f}=l(),{useGradient:d,gradientStart:k,gradientStop:w,filterColor:P}=f;if(d){let I=g.append("defs").append("linearGradient").attr("id",r+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");I.append("stop").attr("offset","0%").attr("stop-color",k).attr("stop-opacity",1),I.append("stop").attr("offset","100%").attr("stop-color",w).attr("stop-opacity",1)}if(y==="neo"&&ce.has(u??""))g.append("defs").append("filter").attr("id",r+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",P);let O=0;if(s.forEach((I,ie)=>{let ee=be(I.name),
|
|
13
|
+
${o.x+j},${w+d+2}`).attr("transform","translate(12,12) rotate(45, "+o.x+","+c+")"),y.attr("cx",o.x+q/2).attr("cy",w).attr("transform","translate(12,12) rotate(45, "+o.x+","+c+")"),g.attr("x",o.x+5).attr("y",w+3).attr("transform","translate(14,14) rotate(45, "+o.x+","+c+")")}}}},"drawCommitTags"),st=t((e)=>{switch(e.customType??e.type){case v.NORMAL:return"commit-normal";case v.REVERSE:return"commit-reverse";case v.HIGHLIGHT:return"commit-highlight";case v.MERGE:return"commit-merge";case v.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),nt=t((e,r,o,c)=>{let i={x:0,y:0};if(e.parents.length>0){let h=we(e.parents);if(h){let n=c.get(h)??i;if(r==="TB")return n.y+K;else if(r==="BT")return(c.get(e.id)??i).y-K;else return n.x+K}}else if(r==="TB")return oe;else if(r==="BT")return(c.get(e.id)??i).y-K;else return 0;return 0},"calculatePosition"),ct=t((e,r,o)=>{let c=B==="BT"&&o?r:r+j,i=G.get(e.branch)?.pos,h=B==="TB"||B==="BT"?G.get(e.branch)?.pos:c;if(h===void 0||i===void 0)throw Error(`Position were undefined for commit ${e.id}`);let n=ce.has(l().theme??""),s=B==="TB"||B==="BT"?c:i+(n?le/2+1:-2);return{x:h,y:s,posWithOffset:c}},"getCommitPosition"),$e=t((e,r,o,c)=>{let i=e.append("g").attr("class","commit-bullets"),h=e.append("g").attr("class","commit-labels"),n=B==="TB"||B==="BT"?oe:0,s=[...r.keys()],g=c.parallelCommits??!1,y=t((f,d)=>{let k=r.get(f)?.seq,w=r.get(d)?.seq;return k!==void 0&&w!==void 0?k-w:0},"sortKeys"),u=s.sort(y);if(B==="BT"){if(g)Xe(u,r,n);u=u.reverse()}u.forEach((f)=>{let d=r.get(f);if(!d)throw Error(`Commit not found for key ${f}`);if(g)n=nt(d,B,n,D);let k=ct(d,n,g);if(o){let w=st(d),P=d.customType??d.type,O=G.get(d.branch)?.index??0;rt(i,d,k,w,O,P),at(h,d,k,n,c),ot(h,d,k,n)}if(B==="TB"||B==="BT")D.set(d.id,{x:k.x,y:k.posWithOffset});else D.set(d.id,{x:k.posWithOffset,y:k.y});if(n=B==="BT"&&g?n+K:n+K+j,n>Y)Y=n})},"drawCommits"),it=t((e,r,o,c,i)=>{let n=(B==="TB"||B==="BT"?o.x<c.x:o.y<c.y)?r.branch:e.branch,s=t((y)=>y.branch===n,"isOnBranchToGetCurve"),g=t((y)=>y.seq>e.seq&&y.seq<r.seq,"isBetweenCommits");return[...i.values()].some((y)=>g(y)&&s(y))},"shouldRerouteArrow"),re=t((e,r,o=0)=>{let c=e+Math.abs(e-r)/2;if(o>5)return c;if(se.every((n)=>Math.abs(n-c)>=10))return se.push(c),c;let h=Math.abs(e-r);return re(e,r-h/5,o+1)},"findLane"),dt=t((e,r,o,c)=>{let{theme:i}=l(),h=ge.has(i??""),n=D.get(r.id),s=D.get(o.id);if(n===void 0||s===void 0)throw Error(`Commit positions not found for commits ${r.id} and ${o.id}`);let g=it(r,o,n,s,c),y="",u="",f=0,d=0,k=G.get(o.branch)?.index;if(o.type===v.MERGE&&r.id!==o.parents[0])k=G.get(r.branch)?.index;let w;if(g){y="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",f=10,d=10;let P=n.y<s.y?re(n.y,s.y):re(s.y,n.y),O=n.x<s.x?re(n.x,s.x):re(s.x,n.x);if(B==="TB")if(n.x<s.x)w=`M ${n.x} ${n.y} L ${O-f} ${n.y} ${u} ${O} ${n.y+d} L ${O} ${s.y-f} ${y} ${O+d} ${s.y} L ${s.x} ${s.y}`;else k=G.get(r.branch)?.index,w=`M ${n.x} ${n.y} L ${O+f} ${n.y} ${y} ${O} ${n.y+d} L ${O} ${s.y-f} ${u} ${O-d} ${s.y} L ${s.x} ${s.y}`;else if(B==="BT")if(n.x<s.x)w=`M ${n.x} ${n.y} L ${O-f} ${n.y} ${y} ${O} ${n.y-d} L ${O} ${s.y+f} ${u} ${O+d} ${s.y} L ${s.x} ${s.y}`;else k=G.get(r.branch)?.index,w=`M ${n.x} ${n.y} L ${O+f} ${n.y} ${u} ${O} ${n.y-d} L ${O} ${s.y+f} ${y} ${O-d} ${s.y} L ${s.x} ${s.y}`;else if(n.y<s.y)w=`M ${n.x} ${n.y} L ${n.x} ${P-f} ${y} ${n.x+d} ${P} L ${s.x-f} ${P} ${u} ${s.x} ${P+d} L ${s.x} ${s.y}`;else k=G.get(r.branch)?.index,w=`M ${n.x} ${n.y} L ${n.x} ${P+f} ${u} ${n.x+d} ${P} L ${s.x-f} ${P} ${y} ${s.x} ${P-d} L ${s.x} ${s.y}`}else if(y="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",f=20,d=20,B==="TB"){if(n.x<s.x)if(o.type===v.MERGE&&r.id!==o.parents[0])w=`M ${n.x} ${n.y} L ${n.x} ${s.y-f} ${y} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;else w=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${u} ${s.x} ${n.y+d} L ${s.x} ${s.y}`;if(n.x>s.x)if(y="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",f=20,d=20,o.type===v.MERGE&&r.id!==o.parents[0])w=`M ${n.x} ${n.y} L ${n.x} ${s.y-f} ${u} ${n.x-d} ${s.y} L ${s.x} ${s.y}`;else w=`M ${n.x} ${n.y} L ${s.x+f} ${n.y} ${y} ${s.x} ${n.y+d} L ${s.x} ${s.y}`;if(n.x===s.x)w=`M ${n.x} ${n.y} L ${s.x} ${s.y}`}else if(B==="BT"){if(n.x<s.x)if(o.type===v.MERGE&&r.id!==o.parents[0])w=`M ${n.x} ${n.y} L ${n.x} ${s.y+f} ${u} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;else w=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${y} ${s.x} ${n.y-d} L ${s.x} ${s.y}`;if(n.x>s.x)if(y="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",f=20,d=20,o.type===v.MERGE&&r.id!==o.parents[0])w=`M ${n.x} ${n.y} L ${n.x} ${s.y+f} ${y} ${n.x-d} ${s.y} L ${s.x} ${s.y}`;else w=`M ${n.x} ${n.y} L ${s.x+f} ${n.y} ${u} ${s.x} ${n.y-d} L ${s.x} ${s.y}`;if(n.x===s.x)w=`M ${n.x} ${n.y} L ${s.x} ${s.y}`}else{if(n.y<s.y)if(o.type===v.MERGE&&r.id!==o.parents[0])w=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${u} ${s.x} ${n.y+d} L ${s.x} ${s.y}`;else w=`M ${n.x} ${n.y} L ${n.x} ${s.y-f} ${y} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;if(n.y>s.y)if(o.type===v.MERGE&&r.id!==o.parents[0])w=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${y} ${s.x} ${n.y-d} L ${s.x} ${s.y}`;else w=`M ${n.x} ${n.y} L ${n.x} ${s.y+f} ${u} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;if(n.y===s.y)w=`M ${n.x} ${n.y} L ${s.x} ${s.y}`}if(w===void 0)throw Error("Line definition not found");e.append("path").attr("d",w).attr("class","arrow arrow"+Z(k,V,h))},"drawArrow"),ht=t((e,r)=>{let o=e.append("g").attr("class","commit-arrows");[...r.keys()].forEach((c)=>{let i=r.get(c);if(i.parents&&i.parents.length>0)i.parents.forEach((h)=>{dt(o,r.get(h),i,r)})})},"drawArrows"),lt=t((e,r,o,c)=>{let{look:i,theme:h,themeVariables:n}=l(),{dropShadow:s,THEME_COLOR_LIMIT:g}=n,y=ce.has(h??""),u=ge.has(h??""),f=e.append("g");r.forEach((d,k)=>{let w=Z(k,y?g:V,u),P=G.get(d.name)?.pos;if(P===void 0)throw Error(`Position not found for branch ${d.name}`);let O=B==="TB"||B==="BT"?P:y?P+le/2+1:P-2,I=f.append("line");if(I.attr("x1",0),I.attr("y1",O),I.attr("x2",Y),I.attr("y2",O),I.attr("class","branch branch"+w),B==="TB")I.attr("y1",oe),I.attr("x1",P),I.attr("y2",Y),I.attr("x2",P);else if(B==="BT")I.attr("y1",Y),I.attr("x1",P),I.attr("y2",oe),I.attr("x2",P);se.push(O);let ie=d.name,ee=be(ie),W=f.insert("rect"),F=f.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+w);F.node().appendChild(ee);let _=ee.getBBox(),fe=y?0:4,ae=y?16:0,J=y?le:0;if(i==="neo")W.attr("data-look","neo");if(W.attr("class","branchLabelBkg label"+w).attr("style",i==="neo"?`filter:${y?`url(#${c}-drop-shadow)`:s}`:"").attr("rx",fe).attr("ry",fe).attr("x",-_.width-4-(o.rotateCommitLabel===!0?30:0)).attr("y",-_.height/2+10).attr("width",_.width+18+ae).attr("height",_.height+4+J),F.attr("transform","translate("+(-_.width-14-(o.rotateCommitLabel===!0?30:0)+ae/2)+", "+(O-_.height/2-2)+")"),B==="TB"){if(W.attr("x",P-_.width/2-10).attr("y",0),F.attr("transform","translate("+(P-_.width/2-5)+", 0)"),y)W.attr("transform",`translate(${-ae/2-3}, ${-J-10})`),F.attr("transform","translate("+(P-_.width/2-5)+", "+(-J*2+7)+")")}else if(B==="BT"){if(W.attr("x",P-_.width/2-10).attr("y",Y),F.attr("transform","translate("+(P-_.width/2-5)+", "+Y+")"),y)W.attr("transform",`translate(${-ae/2-3}, ${J+10})`),F.attr("transform","translate("+(P-_.width/2-5)+", "+(Y+J*2+4)+")")}else W.attr("transform","translate(-19, "+(O-12-J/2)+")")})},"drawBranches"),mt=t(function(e,r,o,c,i){return G.set(e,{pos:r,index:o}),r+=50+(i?40:0)+(B==="TB"||B==="BT"?c.width/2:0),r},"setBranchPosition"),gt=t(function(e,r,o,c){Ve(),a.debug("in gitgraph renderer",e+`
|
|
14
|
+
`,"id:",r,o);let i=c.db;if(!i.getConfig){a.error("getConfig method is not available on db");return}let h=i.getConfig(),n=h.rotateCommitLabel??!1;te=i.getCommits();let s=i.getBranchesAsObjArray();B=i.getDirection();let g=p(`[id="${r}"]`),{look:y,theme:u,themeVariables:f}=l(),{useGradient:d,gradientStart:k,gradientStop:w,filterColor:P}=f;if(d){let I=g.append("defs").append("linearGradient").attr("id",r+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");I.append("stop").attr("offset","0%").attr("stop-color",k).attr("stop-opacity",1),I.append("stop").attr("offset","100%").attr("stop-color",w).attr("stop-opacity",1)}if(y==="neo"&&ce.has(u??""))g.append("defs").append("filter").attr("id",r+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",P);let O=0;if(s.forEach((I,ie)=>{let ee=be(I.name),W=g.append("g"),de=W.insert("g").attr("class","branchLabel"),F=de.insert("g").attr("class","label branch-label");F.node()?.appendChild(ee);let _=ee.getBBox();O=mt(I.name,O,ie,_,n),F.remove(),de.remove(),W.remove()}),$e(g,te,!1,h),h.showBranches)lt(g,s,h,r);ht(g,te),$e(g,te,!0,h),N.insertTitle(g,"gitTitleText",h.titleTopMargin??0,i.getDiagramTitle()),wr(void 0,g,h.diagramPadding,h.useMaxWidth)},"draw"),ft={draw:gt},Be=8,ke=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),$t=new Set(["redux-color","redux-dark-color"]),pt=new Set(["neo","neo-dark"]),yt=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),xt=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),ut=t((e)=>{let{svgId:r}=e,o="";if(e.useGradient&&r)for(let c=0;c<e.THEME_COLOR_LIMIT;c++)o+=`
|
|
15
15
|
.label${c} { fill: ${e.mainBkg}; stroke: url(${r}-gradient); stroke-width: ${e.strokeWidth};}
|
|
16
16
|
`;return o},"genGitGraphGradient"),bt=t((e)=>{let r=x(),{theme:o,themeVariables:c}=r,{borderColorArray:i}=c,h=ke.has(o);if(pt.has(o)){let n="";for(let s=0;s<e.THEME_COLOR_LIMIT;s++)if(s===0)n+=`
|
|
17
17
|
.branch-label${s} { fill: ${e.nodeBorder};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g,o,
|
|
1
|
+
import{g,o,G,i,r,e,n,y,ne}from"./chunk-3k9h7a73.js";import{qt}from"./chunk-mxkbmgcv.js";import"./chunk-cxpnj495.js";var L={config:"自定义路径",env:"环境变量",system:"系统预装"};function F({connection:b}){let{Button:h,Input:P,Switch:v,SettingGroup:C,SettingRow:f,cn:x}=y(),B=G(),[m,N]=r({}),[a,d]=r({}),[l,w]=r(null),[u,A]=r(!0),[k,R]=r(!1),[p,E]=r(!1),[I,c]=r(null),q=i(null),z=(a.executable??"")!==(m.executable??"")||Boolean(a.noSandbox)!==Boolean(m.noSandbox)||Boolean(a.ignoreCertErrors)!==Boolean(m.ignoreCertErrors),O=g(async(t)=>{R(!0);try{let s=await b.request("/api/plugins/browser/status",{signal:t});w(s)}catch(s){if(!t?.aborted)w({available:!1,error:s instanceof Error?s.message:"无法获取浏览器状态"})}finally{if(!t?.aborted)R(!1)}},[b]);o(()=>{let t=new AbortController;return q.current=t,Promise.all([b.request("/api/plugins/browser/settings",{signal:t.signal}),b.request("/api/plugins/browser/status",{signal:t.signal})]).then(([s,S])=>{if(!t.signal.aborted)N(s),d(s),w(S)}).catch((s)=>{if(!t.signal.aborted)c({type:"error",text:s instanceof Error?s.message:"读取浏览器设置失败"})}).finally(()=>{if(!t.signal.aborted)A(!1)}),()=>t.abort()},[b]);let D=async(t)=>{if(t?.preventDefault(),p||u)return;let s=new AbortController;E(!0),c(null);try{if(await b.request("/api/plugins/browser/settings",{method:"PATCH",signal:s.signal,headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),!s.signal.aborted)N(a),c({type:"success",text:"设置已保存,将在浏览器进程下次启动时生效。"}),await O(s.signal)}catch(S){if(!s.signal.aborted)c({type:"error",text:S instanceof Error?S.message:"保存设置失败"})}finally{if(!s.signal.aborted)E(!1)}},T=()=>{d(m),c(null)};return n("form",{id:B,onSubmit:D,className:"min-w-0 space-y-5",children:[e(C,{title:"运行环境",children:e(f,{title:n("span",{className:"flex items-center gap-2",children:[e("span",{className:x("size-2 shrink-0 rounded-full",l?.available?"bg-success":"bg-danger")}),l?l.available?"浏览器可用":"未检测到可用浏览器":"正在检测…"]}),description:l&&!l.available&&l.error?e("span",{className:"text-danger",children:l.error}):l?.available&&l.source?`来源:${L[l.source]??l.source}`:void 0,children:n(h,{type:"button",size:"sm",variant:"ghost",disabled:u||k,onClick:()=>void O(),className:"text-dim",children:[e(ne,{className:x("size-3.5",k&&"animate-spin")}),"重新检测"]})})}),n(C,{title:"启动参数",children:[e(f,{vertical:!0,title:"可执行文件路径",description:"留空时自动探测系统浏览器",children:n("div",{className:"flex gap-2",children:[e(P,{id:"browser-executable",disabled:u||p,value:a.executable??"",placeholder:"自动探测",onChange:(t)=>{d({...a,executable:t.target.value}),c(null)}}),a.executable&&e(h,{type:"button",variant:"ghost",size:"sm",disabled:u||p,onClick:()=>{d({...a,executable:""}),c(null)},className:"shrink-0",children:"清空"})]})}),e(f,{title:"禁用沙箱 (--no-sandbox)",description:"容器或 root 环境使用",children:e(v,{label:"禁用沙箱",disabled:u||p,checked:a.noSandbox??!1,onCheckedChange:(t)=>{d({...a,noSandbox:t}),c(null)}})}),e(f,{title:"忽略证书错误 (--ignore-certificate-errors)",description:"跳过自签名与证书有效性检查",children:e(v,{label:"忽略证书错误",disabled:u||p,checked:a.ignoreCertErrors??!1,onCheckedChange:(t)=>{d({...a,ignoreCertErrors:t}),c(null)}})})]}),e(qt,{formID:B,notice:I,dirty:z,busy:u||p,saving:p,onReset:T})]})}export{F as default};
|