UNPKG

smiles-drawer

Version:

A SMILES drawer and parser. Generate molecular structure depictions in pure JavaScript.

1 lines 192 kB
(()=>{var eo=Object.create;var zi=Object.defineProperty;var to=Object.getOwnPropertyDescriptor;var ro=Object.getOwnPropertyNames;var io=Object.getPrototypeOf,no=Object.prototype.hasOwnProperty;var so=($,e,t)=>e in $?zi($,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):$[e]=t;var ao=($,e)=>()=>(e||$((e={exports:{}}).exports,e),e.exports);var lo=($,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ro(e))!no.call($,i)&&i!==t&&zi($,i,{get:()=>e[i],enumerable:!(r=to(e,i))||r.enumerable});return $};var oo=($,e,t)=>(t=$!=null?eo(io($)):{},lo(e||!$||!$.__esModule?zi(t,"default",{value:$,enumerable:!0}):t,$));var jn=($,e,t)=>so($,typeof e!="symbol"?e+"":e,t);var Kn=ao((_i,Wi)=>{(function($,e){typeof _i=="object"&&typeof Wi<"u"?Wi.exports=e():typeof define=="function"&&define.amd?define(e):($=typeof globalThis<"u"?globalThis:$||self,$.chroma=e())})(_i,function(){"use strict";for(var $=function(l,h,f){return h===void 0&&(h=0),f===void 0&&(f=1),l<h?h:l>f?f:l},e=$,t=function(l){l._clipped=!1,l._unclipped=l.slice(0);for(var h=0;h<=3;h++)h<3?((l[h]<0||l[h]>255)&&(l._clipped=!0),l[h]=e(l[h],0,255)):h===3&&(l[h]=e(l[h],0,1));return l},r={},i=0,s=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];i<s.length;i+=1){var a=s[i];r["[object "+a+"]"]=a.toLowerCase()}var n=function(l){return r[Object.prototype.toString.call(l)]||"object"},o=n,u=function(l,h){return h===void 0&&(h=null),l.length>=3?Array.prototype.slice.call(l):o(l[0])=="object"&&h?h.split("").filter(function(f){return l[0][f]!==void 0}).map(function(f){return l[0][f]}):l[0]},d=n,g=function(l){if(l.length<2)return null;var h=l.length-1;return d(l[h])=="string"?l[h].toLowerCase():null},p=Math.PI,c={clip_rgb:t,limit:$,type:n,unpack:u,last:g,PI:p,TWOPI:p*2,PITHIRD:p/3,DEG2RAD:p/180,RAD2DEG:180/p},b={format:{},autodetect:[]},E=c.last,T=c.clip_rgb,k=c.type,O=b,B=function(){for(var h=[],f=arguments.length;f--;)h[f]=arguments[f];var v=this;if(k(h[0])==="object"&&h[0].constructor&&h[0].constructor===this.constructor)return h[0];var S=E(h),C=!1;if(!S){C=!0,O.sorted||(O.autodetect=O.autodetect.sort(function(P,W){return W.p-P.p}),O.sorted=!0);for(var y=0,x=O.autodetect;y<x.length;y+=1){var R=x[y];if(S=R.test.apply(R,h),S)break}}if(O.format[S]){var L=O.format[S].apply(null,C?h:h.slice(0,-1));v._rgb=T(L)}else throw new Error("unknown format: "+h);v._rgb.length===3&&v._rgb.push(1)};B.prototype.toString=function(){return k(this.hex)=="function"?this.hex():"["+this._rgb.join(",")+"]"};var I=B,U=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(U.Color,[null].concat(l)))};U.Color=I,U.version="2.4.2";var G=U,se=c.unpack,we=Math.max,j=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=se(l,"rgb"),v=f[0],S=f[1],C=f[2];v=v/255,S=S/255,C=C/255;var y=1-we(v,we(S,C)),x=y<1?1/(1-y):0,R=(1-v-y)*x,L=(1-S-y)*x,P=(1-C-y)*x;return[R,L,P,y]},J=j,Ne=c.unpack,Ye=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];l=Ne(l,"cmyk");var f=l[0],v=l[1],S=l[2],C=l[3],y=l.length>4?l[4]:1;return C===1?[0,0,0,y]:[f>=1?0:255*(1-f)*(1-C),v>=1?0:255*(1-v)*(1-C),S>=1?0:255*(1-S)*(1-C),y]},ke=Ye,_=G,Fe=I,Ie=b,Le=c.unpack,qe=c.type,je=J;Fe.prototype.cmyk=function(){return je(this._rgb)},_.cmyk=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(Fe,[null].concat(l,["cmyk"])))},Ie.format.cmyk=ke,Ie.autodetect.push({p:2,test:function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];if(l=Le(l,"cmyk"),qe(l)==="array"&&l.length===4)return"cmyk"}});var Ee=c.unpack,Oe=c.last,kt=function(l){return Math.round(l*100)/100},Et=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=Ee(l,"hsla"),v=Oe(l)||"lsa";return f[0]=kt(f[0]||0),f[1]=kt(f[1]*100)+"%",f[2]=kt(f[2]*100)+"%",v==="hsla"||f.length>3&&f[3]<1?(f[3]=f.length>3?f[3]:1,v="hsla"):f.length=3,v+"("+f.join(",")+")"},Tt=Et,Mt=c.unpack,It=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];l=Mt(l,"rgba");var f=l[0],v=l[1],S=l[2];f/=255,v/=255,S/=255;var C=Math.min(f,v,S),y=Math.max(f,v,S),x=(y+C)/2,R,L;return y===C?(R=0,L=Number.NaN):R=x<.5?(y-C)/(y+C):(y-C)/(2-y-C),f==y?L=(v-S)/(y-C):v==y?L=2+(S-f)/(y-C):S==y&&(L=4+(f-v)/(y-C)),L*=60,L<0&&(L+=360),l.length>3&&l[3]!==void 0?[L,R,x,l[3]]:[L,R,x]},Lt=It,Ot=c.unpack,V=c.last,ae=Tt,$e=Lt,Se=Math.round,ue=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=Ot(l,"rgba"),v=V(l)||"rgb";return v.substr(0,3)=="hsl"?ae($e(f),v):(f[0]=Se(f[0]),f[1]=Se(f[1]),f[2]=Se(f[2]),(v==="rgba"||f.length>3&&f[3]<1)&&(f[3]=f.length>3?f[3]:1,v="rgba"),v+"("+f.slice(0,v==="rgb"?3:4).join(",")+")")},Ce=ue,Re=c.unpack,Ae=Math.round,Ze=function(){for(var l,h=[],f=arguments.length;f--;)h[f]=arguments[f];h=Re(h,"hsl");var v=h[0],S=h[1],C=h[2],y,x,R;if(S===0)y=x=R=C*255;else{var L=[0,0,0],P=[0,0,0],W=C<.5?C*(1+S):C+S-C*S,F=2*C-W,Y=v/360;L[0]=Y+1/3,L[1]=Y,L[2]=Y-1/3;for(var q=0;q<3;q++)L[q]<0&&(L[q]+=1),L[q]>1&&(L[q]-=1),6*L[q]<1?P[q]=F+(W-F)*6*L[q]:2*L[q]<1?P[q]=W:3*L[q]<2?P[q]=F+(W-F)*(2/3-L[q])*6:P[q]=F;l=[Ae(P[0]*255),Ae(P[1]*255),Ae(P[2]*255)],y=l[0],x=l[1],R=l[2]}return h.length>3?[y,x,R,h[3]]:[y,x,R,1]},Be=Ze,ze=Be,We=b,Xe=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,wt=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,ct=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,Ge=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,Ve=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,it=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,nt=Math.round,ft=function(l){l=l.toLowerCase().trim();var h;if(We.format.named)try{return We.format.named(l)}catch(q){}if(h=l.match(Xe)){for(var f=h.slice(1,4),v=0;v<3;v++)f[v]=+f[v];return f[3]=1,f}if(h=l.match(wt)){for(var S=h.slice(1,5),C=0;C<4;C++)S[C]=+S[C];return S}if(h=l.match(ct)){for(var y=h.slice(1,4),x=0;x<3;x++)y[x]=nt(y[x]*2.55);return y[3]=1,y}if(h=l.match(Ge)){for(var R=h.slice(1,5),L=0;L<3;L++)R[L]=nt(R[L]*2.55);return R[3]=+R[3],R}if(h=l.match(Ve)){var P=h.slice(1,4);P[1]*=.01,P[2]*=.01;var W=ze(P);return W[3]=1,W}if(h=l.match(it)){var F=h.slice(1,4);F[1]*=.01,F[2]*=.01;var Y=ze(F);return Y[3]=+h[4],Y}};ft.test=function(l){return Xe.test(l)||wt.test(l)||ct.test(l)||Ge.test(l)||Ve.test(l)||it.test(l)};var yt=ft,Vr=G,br=I,wr=b,yr=c.type,qr=Ce,sr=yt;br.prototype.css=function(l){return qr(this._rgb,l)},Vr.css=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(br,[null].concat(l,["css"])))},wr.format.css=sr,wr.autodetect.push({p:5,test:function(l){for(var h=[],f=arguments.length-1;f-- >0;)h[f]=arguments[f+1];if(!h.length&&yr(l)==="string"&&sr.test(l))return"css"}});var Sr=I,Yr=G,Ur=b,Cr=c.unpack;Ur.format.gl=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=Cr(l,"rgba");return f[0]*=255,f[1]*=255,f[2]*=255,f},Yr.gl=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(Sr,[null].concat(l,["gl"])))},Sr.prototype.gl=function(){var l=this._rgb;return[l[0]/255,l[1]/255,l[2]/255,l[3]]};var Ar=c.unpack,jr=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=Ar(l,"rgb"),v=f[0],S=f[1],C=f[2],y=Math.min(v,S,C),x=Math.max(v,S,C),R=x-y,L=R*100/255,P=y/(255-R)*100,W;return R===0?W=Number.NaN:(v===x&&(W=(S-C)/R),S===x&&(W=2+(C-v)/R),C===x&&(W=4+(v-S)/R),W*=60,W<0&&(W+=360)),[W,L,P]},xr=jr,Nr=c.unpack,Zr=Math.floor,Kr=function(){for(var l,h,f,v,S,C,y=[],x=arguments.length;x--;)y[x]=arguments[x];y=Nr(y,"hcg");var R=y[0],L=y[1],P=y[2],W,F,Y;P=P*255;var q=L*255;if(L===0)W=F=Y=P;else{R===360&&(R=0),R>360&&(R-=360),R<0&&(R+=360),R/=60;var ie=Zr(R),oe=R-ie,fe=P*(1-L),ce=fe+q*(1-oe),He=fe+q*oe,Pe=fe+q;switch(ie){case 0:l=[Pe,He,fe],W=l[0],F=l[1],Y=l[2];break;case 1:h=[ce,Pe,fe],W=h[0],F=h[1],Y=h[2];break;case 2:f=[fe,Pe,He],W=f[0],F=f[1],Y=f[2];break;case 3:v=[fe,ce,Pe],W=v[0],F=v[1],Y=v[2];break;case 4:S=[He,fe,Pe],W=S[0],F=S[1],Y=S[2];break;case 5:C=[Pe,fe,ce],W=C[0],F=C[1],Y=C[2];break}}return[W,F,Y,y.length>3?y[3]:1]},Jr=Kr,Qr=c.unpack,ei=c.type,ti=G,Rr=I,$r=b,ri=xr;Rr.prototype.hcg=function(){return ri(this._rgb)},ti.hcg=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(Rr,[null].concat(l,["hcg"])))},$r.format.hcg=Jr,$r.autodetect.push({p:1,test:function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];if(l=Qr(l,"hcg"),ei(l)==="array"&&l.length===3)return"hcg"}});var ii=c.unpack,w=c.last,be=Math.round,Vt=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=ii(l,"rgba"),v=f[0],S=f[1],C=f[2],y=f[3],x=w(l)||"auto";y===void 0&&(y=1),x==="auto"&&(x=y<1?"rgba":"rgb"),v=be(v),S=be(S),C=be(C);var R=v<<16|S<<8|C,L="000000"+R.toString(16);L=L.substr(L.length-6);var P="0"+be(y*255).toString(16);switch(P=P.substr(P.length-2),x.toLowerCase()){case"rgba":return"#"+L+P;case"argb":return"#"+P+L;default:return"#"+L}},Ke=Vt,ar=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Z=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,qt=function(l){if(l.match(ar)){(l.length===4||l.length===7)&&(l=l.substr(1)),l.length===3&&(l=l.split(""),l=l[0]+l[0]+l[1]+l[1]+l[2]+l[2]);var h=parseInt(l,16),f=h>>16,v=h>>8&255,S=h&255;return[f,v,S,1]}if(l.match(Z)){(l.length===5||l.length===9)&&(l=l.substr(1)),l.length===4&&(l=l.split(""),l=l[0]+l[0]+l[1]+l[1]+l[2]+l[2]+l[3]+l[3]);var C=parseInt(l,16),y=C>>24&255,x=C>>16&255,R=C>>8&255,L=Math.round((C&255)/255*100)/100;return[y,x,R,L]}throw new Error("unknown hex color: "+l)},ni=qt,Gi=G,si=I,Vi=c.type,xe=b,et=Ke;si.prototype.hex=function(l){return et(this._rgb,l)},Gi.hex=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(si,[null].concat(l,["hex"])))},xe.format.hex=ni,xe.autodetect.push({p:4,test:function(l){for(var h=[],f=arguments.length-1;f-- >0;)h[f]=arguments[f+1];if(!h.length&&Vi(l)==="string"&&[3,4,5,6,7,8,9].indexOf(l.length)>=0)return"hex"}});var qi=c.unpack,kr=c.TWOPI,ai=Math.min,Er=Math.sqrt,Bt=Math.acos,K=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=qi(l,"rgb"),v=f[0],S=f[1],C=f[2];v/=255,S/=255,C/=255;var y,x=ai(v,S,C),R=(v+S+C)/3,L=R>0?1-x/R:0;return L===0?y=NaN:(y=(v-S+(v-C))/2,y/=Er((v-S)*(v-S)+(v-C)*(S-C)),y=Bt(y),C>S&&(y=kr-y),y/=kr),[y*360,L,R]},lr=K,Tr=c.unpack,St=c.limit,Je=c.TWOPI,or=c.PITHIRD,st=Math.cos,li=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];l=Tr(l,"hsi");var f=l[0],v=l[1],S=l[2],C,y,x;return isNaN(f)&&(f=0),isNaN(v)&&(v=0),f>360&&(f-=360),f<0&&(f+=360),f/=360,f<1/3?(x=(1-v)/3,C=(1+v*st(Je*f)/st(or-Je*f))/3,y=1-(x+C)):f<2/3?(f-=1/3,C=(1-v)/3,y=(1+v*st(Je*f)/st(or-Je*f))/3,x=1-(C+y)):(f-=2/3,y=(1-v)/3,x=(1+v*st(Je*f)/st(or-Je*f))/3,C=1-(y+x)),C=St(S*C*3),y=St(S*y*3),x=St(S*x*3),[C*255,y*255,x*255,l.length>3?l[3]:1]},oi=li,Mr=c.unpack,Ir=c.type,hi=G,hr=I,Lr=b,ui=lr;hr.prototype.hsi=function(){return ui(this._rgb)},hi.hsi=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(hr,[null].concat(l,["hsi"])))},Lr.format.hsi=oi,Lr.autodetect.push({p:2,test:function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];if(l=Mr(l,"hsi"),Ir(l)==="array"&&l.length===3)return"hsi"}});var fi=c.unpack,gi=c.type,ci=G,Or=I,Br=b,A=Lt;Or.prototype.hsl=function(){return A(this._rgb)},ci.hsl=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(Or,[null].concat(l,["hsl"])))},Br.format.hsl=Be,Br.autodetect.push({p:2,test:function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];if(l=fi(l,"hsl"),gi(l)==="array"&&l.length===3)return"hsl"}});var m=c.unpack,D=Math.min,N=Math.max,z=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];l=m(l,"rgb");var f=l[0],v=l[1],S=l[2],C=D(f,v,S),y=N(f,v,S),x=y-C,R,L,P;return P=y/255,y===0?(R=Number.NaN,L=0):(L=x/y,f===y&&(R=(v-S)/x),v===y&&(R=2+(S-f)/x),S===y&&(R=4+(f-v)/x),R*=60,R<0&&(R+=360)),[R,L,P]},X=z,Q=c.unpack,Me=Math.floor,tt=function(){for(var l,h,f,v,S,C,y=[],x=arguments.length;x--;)y[x]=arguments[x];y=Q(y,"hsv");var R=y[0],L=y[1],P=y[2],W,F,Y;if(P*=255,L===0)W=F=Y=P;else{R===360&&(R=0),R>360&&(R-=360),R<0&&(R+=360),R/=60;var q=Me(R),ie=R-q,oe=P*(1-L),fe=P*(1-L*ie),ce=P*(1-L*(1-ie));switch(q){case 0:l=[P,ce,oe],W=l[0],F=l[1],Y=l[2];break;case 1:h=[fe,P,oe],W=h[0],F=h[1],Y=h[2];break;case 2:f=[oe,P,ce],W=f[0],F=f[1],Y=f[2];break;case 3:v=[oe,fe,P],W=v[0],F=v[1],Y=v[2];break;case 4:S=[ce,oe,P],W=S[0],F=S[1],Y=S[2];break;case 5:C=[P,oe,fe],W=C[0],F=C[1],Y=C[2];break}}return[W,F,Y,y.length>3?y[3]:1]},at=tt,Qn=c.unpack,es=c.type,ts=G,Yi=I,Ui=b,rs=X;Yi.prototype.hsv=function(){return rs(this._rgb)},ts.hsv=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(Yi,[null].concat(l,["hsv"])))},Ui.format.hsv=at,Ui.autodetect.push({p:2,test:function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];if(l=Qn(l,"hsv"),es(l)==="array"&&l.length===3)return"hsv"}});var Dr={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},Yt=Dr,is=c.unpack,ji=Math.pow,ns=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=is(l,"rgb"),v=f[0],S=f[1],C=f[2],y=ss(v,S,C),x=y[0],R=y[1],L=y[2],P=116*R-16;return[P<0?0:P,500*(x-R),200*(R-L)]},di=function(l){return(l/=255)<=.04045?l/12.92:ji((l+.055)/1.055,2.4)},pi=function(l){return l>Yt.t3?ji(l,1/3):l/Yt.t2+Yt.t0},ss=function(l,h,f){l=di(l),h=di(h),f=di(f);var v=pi((.4124564*l+.3575761*h+.1804375*f)/Yt.Xn),S=pi((.2126729*l+.7151522*h+.072175*f)/Yt.Yn),C=pi((.0193339*l+.119192*h+.9503041*f)/Yt.Zn);return[v,S,C]},Zi=ns,Ut=Dr,as=c.unpack,ls=Math.pow,os=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];l=as(l,"lab");var f=l[0],v=l[1],S=l[2],C,y,x,R,L,P;return y=(f+16)/116,C=isNaN(v)?y:y+v/500,x=isNaN(S)?y:y-S/200,y=Ut.Yn*mi(y),C=Ut.Xn*mi(C),x=Ut.Zn*mi(x),R=vi(3.2404542*C-1.5371385*y-.4985314*x),L=vi(-.969266*C+1.8760108*y+.041556*x),P=vi(.0556434*C-.2040259*y+1.0572252*x),[R,L,P,l.length>3?l[3]:1]},vi=function(l){return 255*(l<=.00304?12.92*l:1.055*ls(l,1/2.4)-.055)},mi=function(l){return l>Ut.t1?l*l*l:Ut.t2*(l-Ut.t0)},Ki=os,hs=c.unpack,us=c.type,fs=G,Ji=I,Qi=b,gs=Zi;Ji.prototype.lab=function(){return gs(this._rgb)},fs.lab=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(Ji,[null].concat(l,["lab"])))},Qi.format.lab=Ki,Qi.autodetect.push({p:2,test:function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];if(l=hs(l,"lab"),us(l)==="array"&&l.length===3)return"lab"}});var cs=c.unpack,ds=c.RAD2DEG,ps=Math.sqrt,vs=Math.atan2,ms=Math.round,bs=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=cs(l,"lab"),v=f[0],S=f[1],C=f[2],y=ps(S*S+C*C),x=(vs(C,S)*ds+360)%360;return ms(y*1e4)===0&&(x=Number.NaN),[v,y,x]},en=bs,ws=c.unpack,ys=Zi,Ss=en,Cs=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=ws(l,"rgb"),v=f[0],S=f[1],C=f[2],y=ys(v,S,C),x=y[0],R=y[1],L=y[2];return Ss(x,R,L)},As=Cs,xs=c.unpack,Ns=c.DEG2RAD,Rs=Math.sin,$s=Math.cos,ks=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=xs(l,"lch"),v=f[0],S=f[1],C=f[2];return isNaN(C)&&(C=0),C=C*Ns,[v,$s(C)*S,Rs(C)*S]},tn=ks,Es=c.unpack,Ts=tn,Ms=Ki,Is=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];l=Es(l,"lch");var f=l[0],v=l[1],S=l[2],C=Ts(f,v,S),y=C[0],x=C[1],R=C[2],L=Ms(y,x,R),P=L[0],W=L[1],F=L[2];return[P,W,F,l.length>3?l[3]:1]},rn=Is,Ls=c.unpack,Os=rn,Bs=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=Ls(l,"hcl").reverse();return Os.apply(void 0,f)},Ds=Bs,Ps=c.unpack,Fs=c.type,nn=G,Pr=I,bi=b,sn=As;Pr.prototype.lch=function(){return sn(this._rgb)},Pr.prototype.hcl=function(){return sn(this._rgb).reverse()},nn.lch=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(Pr,[null].concat(l,["lch"])))},nn.hcl=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(Pr,[null].concat(l,["hcl"])))},bi.format.lch=rn,bi.format.hcl=Ds,["lch","hcl"].forEach(function(l){return bi.autodetect.push({p:2,test:function(){for(var h=[],f=arguments.length;f--;)h[f]=arguments[f];if(h=Ps(h,l),Fs(h)==="array"&&h.length===3)return l}})});var zs={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},an=zs,Hs=I,ln=b,_s=c.type,ur=an,Ws=ni,Xs=Ke;Hs.prototype.name=function(){for(var l=Xs(this._rgb,"rgb"),h=0,f=Object.keys(ur);h<f.length;h+=1){var v=f[h];if(ur[v]===l)return v.toLowerCase()}return l},ln.format.named=function(l){if(l=l.toLowerCase(),ur[l])return Ws(ur[l]);throw new Error("unknown color name: "+l)},ln.autodetect.push({p:5,test:function(l){for(var h=[],f=arguments.length-1;f-- >0;)h[f]=arguments[f+1];if(!h.length&&_s(l)==="string"&&ur[l.toLowerCase()])return"named"}});var Gs=c.unpack,Vs=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=Gs(l,"rgb"),v=f[0],S=f[1],C=f[2];return(v<<16)+(S<<8)+C},qs=Vs,Ys=c.type,Us=function(l){if(Ys(l)=="number"&&l>=0&&l<=16777215){var h=l>>16,f=l>>8&255,v=l&255;return[h,f,v,1]}throw new Error("unknown num color: "+l)},js=Us,Zs=G,on=I,hn=b,Ks=c.type,Js=qs;on.prototype.num=function(){return Js(this._rgb)},Zs.num=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(on,[null].concat(l,["num"])))},hn.format.num=js,hn.autodetect.push({p:5,test:function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];if(l.length===1&&Ks(l[0])==="number"&&l[0]>=0&&l[0]<=16777215)return"num"}});var Qs=G,wi=I,un=b,fn=c.unpack,gn=c.type,cn=Math.round;wi.prototype.rgb=function(l){return l===void 0&&(l=!0),l===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(cn)},wi.prototype.rgba=function(l){return l===void 0&&(l=!0),this._rgb.slice(0,4).map(function(h,f){return f<3?l===!1?h:cn(h):h})},Qs.rgb=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(wi,[null].concat(l,["rgb"])))},un.format.rgb=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=fn(l,"rgba");return f[3]===void 0&&(f[3]=1),f},un.autodetect.push({p:3,test:function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];if(l=fn(l,"rgba"),gn(l)==="array"&&(l.length===3||l.length===4&&gn(l[3])=="number"&&l[3]>=0&&l[3]<=1))return"rgb"}});var Fr=Math.log,ea=function(l){var h=l/100,f,v,S;return h<66?(f=255,v=h<6?0:-155.25485562709179-.44596950469579133*(v=h-2)+104.49216199393888*Fr(v),S=h<20?0:-254.76935184120902+.8274096064007395*(S=h-10)+115.67994401066147*Fr(S)):(f=351.97690566805693+.114206453784165*(f=h-55)-40.25366309332127*Fr(f),v=325.4494125711974+.07943456536662342*(v=h-50)-28.0852963507957*Fr(v),S=255),[f,v,S,1]},dn=ea,ta=dn,ra=c.unpack,ia=Math.round,na=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];for(var f=ra(l,"rgb"),v=f[0],S=f[2],C=1e3,y=4e4,x=.4,R;y-C>x;){R=(y+C)*.5;var L=ta(R);L[2]/L[0]>=S/v?y=R:C=R}return ia(R)},sa=na,yi=G,zr=I,Si=b,aa=sa;zr.prototype.temp=zr.prototype.kelvin=zr.prototype.temperature=function(){return aa(this._rgb)},yi.temp=yi.kelvin=yi.temperature=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(zr,[null].concat(l,["temp"])))},Si.format.temp=Si.format.kelvin=Si.format.temperature=dn;var la=c.unpack,Ci=Math.cbrt,oa=Math.pow,ha=Math.sign,ua=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=la(l,"rgb"),v=f[0],S=f[1],C=f[2],y=[Ai(v/255),Ai(S/255),Ai(C/255)],x=y[0],R=y[1],L=y[2],P=Ci(.4122214708*x+.5363325363*R+.0514459929*L),W=Ci(.2119034982*x+.6806995451*R+.1073969566*L),F=Ci(.0883024619*x+.2817188376*R+.6299787005*L);return[.2104542553*P+.793617785*W-.0040720468*F,1.9779984951*P-2.428592205*W+.4505937099*F,.0259040371*P+.7827717662*W-.808675766*F]},pn=ua;function Ai(l){var h=Math.abs(l);return h<.04045?l/12.92:(ha(l)||1)*oa((h+.055)/1.055,2.4)}var fa=c.unpack,Hr=Math.pow,ga=Math.sign,ca=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];l=fa(l,"lab");var f=l[0],v=l[1],S=l[2],C=Hr(f+.3963377774*v+.2158037573*S,3),y=Hr(f-.1055613458*v-.0638541728*S,3),x=Hr(f-.0894841775*v-1.291485548*S,3);return[255*xi(4.0767416621*C-3.3077115913*y+.2309699292*x),255*xi(-1.2684380046*C+2.6097574011*y-.3413193965*x),255*xi(-.0041960863*C-.7034186147*y+1.707614701*x),l.length>3?l[3]:1]},vn=ca;function xi(l){var h=Math.abs(l);return h>.0031308?(ga(l)||1)*(1.055*Hr(h,1/2.4)-.055):l*12.92}var da=c.unpack,pa=c.type,va=G,mn=I,bn=b,ma=pn;mn.prototype.oklab=function(){return ma(this._rgb)},va.oklab=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(mn,[null].concat(l,["oklab"])))},bn.format.oklab=vn,bn.autodetect.push({p:3,test:function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];if(l=da(l,"oklab"),pa(l)==="array"&&l.length===3)return"oklab"}});var ba=c.unpack,wa=pn,ya=en,Sa=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];var f=ba(l,"rgb"),v=f[0],S=f[1],C=f[2],y=wa(v,S,C),x=y[0],R=y[1],L=y[2];return ya(x,R,L)},Ca=Sa,Aa=c.unpack,xa=tn,Na=vn,Ra=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];l=Aa(l,"lch");var f=l[0],v=l[1],S=l[2],C=xa(f,v,S),y=C[0],x=C[1],R=C[2],L=Na(y,x,R),P=L[0],W=L[1],F=L[2];return[P,W,F,l.length>3?l[3]:1]},$a=Ra,ka=c.unpack,Ea=c.type,Ta=G,wn=I,yn=b,Ma=Ca;wn.prototype.oklch=function(){return Ma(this._rgb)},Ta.oklch=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];return new(Function.prototype.bind.apply(wn,[null].concat(l,["oklch"])))},yn.format.oklch=$a,yn.autodetect.push({p:3,test:function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];if(l=ka(l,"oklch"),Ea(l)==="array"&&l.length===3)return"oklch"}});var Sn=I,Ia=c.type;Sn.prototype.alpha=function(l,h){return h===void 0&&(h=!1),l!==void 0&&Ia(l)==="number"?h?(this._rgb[3]=l,this):new Sn([this._rgb[0],this._rgb[1],this._rgb[2],l],"rgb"):this._rgb[3]};var La=I;La.prototype.clipped=function(){return this._rgb._clipped||!1};var Dt=I,Oa=Dr;Dt.prototype.darken=function(l){l===void 0&&(l=1);var h=this,f=h.lab();return f[0]-=Oa.Kn*l,new Dt(f,"lab").alpha(h.alpha(),!0)},Dt.prototype.brighten=function(l){return l===void 0&&(l=1),this.darken(-l)},Dt.prototype.darker=Dt.prototype.darken,Dt.prototype.brighter=Dt.prototype.brighten;var Ba=I;Ba.prototype.get=function(l){var h=l.split("."),f=h[0],v=h[1],S=this[f]();if(v){var C=f.indexOf(v)-(f.substr(0,2)==="ok"?2:0);if(C>-1)return S[C];throw new Error("unknown channel "+v+" in mode "+f)}else return S};var jt=I,Da=c.type,Pa=Math.pow,Fa=1e-7,za=20;jt.prototype.luminance=function(l){if(l!==void 0&&Da(l)==="number"){if(l===0)return new jt([0,0,0,this._rgb[3]],"rgb");if(l===1)return new jt([255,255,255,this._rgb[3]],"rgb");var h=this.luminance(),f="rgb",v=za,S=function(y,x){var R=y.interpolate(x,.5,f),L=R.luminance();return Math.abs(l-L)<Fa||!v--?R:L>l?S(y,R):S(R,x)},C=(h>l?S(new jt([0,0,0]),this):S(this,new jt([255,255,255]))).rgb();return new jt(C.concat([this._rgb[3]]))}return Ha.apply(void 0,this._rgb.slice(0,3))};var Ha=function(l,h,f){return l=Ni(l),h=Ni(h),f=Ni(f),.2126*l+.7152*h+.0722*f},Ni=function(l){return l/=255,l<=.03928?l/12.92:Pa((l+.055)/1.055,2.4)},Qe={},Cn=I,An=c.type,_r=Qe,xn=function(l,h,f){f===void 0&&(f=.5);for(var v=[],S=arguments.length-3;S-- >0;)v[S]=arguments[S+3];var C=v[0]||"lrgb";if(!_r[C]&&!v.length&&(C=Object.keys(_r)[0]),!_r[C])throw new Error("interpolation mode "+C+" is not defined");return An(l)!=="object"&&(l=new Cn(l)),An(h)!=="object"&&(h=new Cn(h)),_r[C](l,h,f).alpha(l.alpha()+f*(h.alpha()-l.alpha()))},Nn=I,_a=xn;Nn.prototype.mix=Nn.prototype.interpolate=function(l,h){h===void 0&&(h=.5);for(var f=[],v=arguments.length-2;v-- >0;)f[v]=arguments[v+2];return _a.apply(void 0,[this,l,h].concat(f))};var Rn=I;Rn.prototype.premultiply=function(l){l===void 0&&(l=!1);var h=this._rgb,f=h[3];return l?(this._rgb=[h[0]*f,h[1]*f,h[2]*f,f],this):new Rn([h[0]*f,h[1]*f,h[2]*f,f],"rgb")};var Ri=I,Wa=Dr;Ri.prototype.saturate=function(l){l===void 0&&(l=1);var h=this,f=h.lch();return f[1]+=Wa.Kn*l,f[1]<0&&(f[1]=0),new Ri(f,"lch").alpha(h.alpha(),!0)},Ri.prototype.desaturate=function(l){return l===void 0&&(l=1),this.saturate(-l)};var $n=I,kn=c.type;$n.prototype.set=function(l,h,f){f===void 0&&(f=!1);var v=l.split("."),S=v[0],C=v[1],y=this[S]();if(C){var x=S.indexOf(C)-(S.substr(0,2)==="ok"?2:0);if(x>-1){if(kn(h)=="string")switch(h.charAt(0)){case"+":y[x]+=+h;break;case"-":y[x]+=+h;break;case"*":y[x]*=+h.substr(1);break;case"/":y[x]/=+h.substr(1);break;default:y[x]=+h}else if(kn(h)==="number")y[x]=h;else throw new Error("unsupported value for Color.set");var R=new $n(y,S);return f?(this._rgb=R._rgb,this):R}throw new Error("unknown channel "+C+" in mode "+S)}else return y};var Xa=I,Ga=function(l,h,f){var v=l._rgb,S=h._rgb;return new Xa(v[0]+f*(S[0]-v[0]),v[1]+f*(S[1]-v[1]),v[2]+f*(S[2]-v[2]),"rgb")};Qe.rgb=Ga;var Va=I,$i=Math.sqrt,Zt=Math.pow,qa=function(l,h,f){var v=l._rgb,S=v[0],C=v[1],y=v[2],x=h._rgb,R=x[0],L=x[1],P=x[2];return new Va($i(Zt(S,2)*(1-f)+Zt(R,2)*f),$i(Zt(C,2)*(1-f)+Zt(L,2)*f),$i(Zt(y,2)*(1-f)+Zt(P,2)*f),"rgb")};Qe.lrgb=qa;var Ya=I,Ua=function(l,h,f){var v=l.lab(),S=h.lab();return new Ya(v[0]+f*(S[0]-v[0]),v[1]+f*(S[1]-v[1]),v[2]+f*(S[2]-v[2]),"lab")};Qe.lab=Ua;var En=I,Kt=function(l,h,f,v){var S,C,y,x;v==="hsl"?(y=l.hsl(),x=h.hsl()):v==="hsv"?(y=l.hsv(),x=h.hsv()):v==="hcg"?(y=l.hcg(),x=h.hcg()):v==="hsi"?(y=l.hsi(),x=h.hsi()):v==="lch"||v==="hcl"?(v="hcl",y=l.hcl(),x=h.hcl()):v==="oklch"&&(y=l.oklch().reverse(),x=h.oklch().reverse());var R,L,P,W,F,Y;(v.substr(0,1)==="h"||v==="oklch")&&(S=y,R=S[0],P=S[1],F=S[2],C=x,L=C[0],W=C[1],Y=C[2]);var q,ie,oe,fe;return!isNaN(R)&&!isNaN(L)?(L>R&&L-R>180?fe=L-(R+360):L<R&&R-L>180?fe=L+360-R:fe=L-R,ie=R+f*fe):isNaN(R)?isNaN(L)?ie=Number.NaN:(ie=L,(F==1||F==0)&&v!="hsv"&&(q=W)):(ie=R,(Y==1||Y==0)&&v!="hsv"&&(q=P)),q===void 0&&(q=P+f*(W-P)),oe=F+f*(Y-F),v==="oklch"?new En([oe,q,ie],v):new En([ie,q,oe],v)},ja=Kt,Tn=function(l,h,f){return ja(l,h,f,"lch")};Qe.lch=Tn,Qe.hcl=Tn;var Za=I,Ka=function(l,h,f){var v=l.num(),S=h.num();return new Za(v+f*(S-v),"num")};Qe.num=Ka;var Ja=Kt,Qa=function(l,h,f){return Ja(l,h,f,"hcg")};Qe.hcg=Qa;var el=Kt,tl=function(l,h,f){return el(l,h,f,"hsi")};Qe.hsi=tl;var rl=Kt,il=function(l,h,f){return rl(l,h,f,"hsl")};Qe.hsl=il;var nl=Kt,sl=function(l,h,f){return nl(l,h,f,"hsv")};Qe.hsv=sl;var al=I,ll=function(l,h,f){var v=l.oklab(),S=h.oklab();return new al(v[0]+f*(S[0]-v[0]),v[1]+f*(S[1]-v[1]),v[2]+f*(S[2]-v[2]),"oklab")};Qe.oklab=ll;var ol=Kt,hl=function(l,h,f){return ol(l,h,f,"oklch")};Qe.oklch=hl;var ki=I,ul=c.clip_rgb,Ei=Math.pow,Ti=Math.sqrt,Mi=Math.PI,Mn=Math.cos,In=Math.sin,fl=Math.atan2,gl=function(l,h,f){h===void 0&&(h="lrgb"),f===void 0&&(f=null);var v=l.length;f||(f=Array.from(new Array(v)).map(function(){return 1}));var S=v/f.reduce(function(ie,oe){return ie+oe});if(f.forEach(function(ie,oe){f[oe]*=S}),l=l.map(function(ie){return new ki(ie)}),h==="lrgb")return cl(l,f);for(var C=l.shift(),y=C.get(h),x=[],R=0,L=0,P=0;P<y.length;P++)if(y[P]=(y[P]||0)*f[0],x.push(isNaN(y[P])?0:f[0]),h.charAt(P)==="h"&&!isNaN(y[P])){var W=y[P]/180*Mi;R+=Mn(W)*f[0],L+=In(W)*f[0]}var F=C.alpha()*f[0];l.forEach(function(ie,oe){var fe=ie.get(h);F+=ie.alpha()*f[oe+1];for(var ce=0;ce<y.length;ce++)if(!isNaN(fe[ce]))if(x[ce]+=f[oe+1],h.charAt(ce)==="h"){var He=fe[ce]/180*Mi;R+=Mn(He)*f[oe+1],L+=In(He)*f[oe+1]}else y[ce]+=fe[ce]*f[oe+1]});for(var Y=0;Y<y.length;Y++)if(h.charAt(Y)==="h"){for(var q=fl(L/x[Y],R/x[Y])/Mi*180;q<0;)q+=360;for(;q>=360;)q-=360;y[Y]=q}else y[Y]=y[Y]/x[Y];return F/=v,new ki(y,h).alpha(F>.99999?1:F,!0)},cl=function(l,h){for(var f=l.length,v=[0,0,0,0],S=0;S<l.length;S++){var C=l[S],y=h[S]/f,x=C._rgb;v[0]+=Ei(x[0],2)*y,v[1]+=Ei(x[1],2)*y,v[2]+=Ei(x[2],2)*y,v[3]+=x[3]*y}return v[0]=Ti(v[0]),v[1]=Ti(v[1]),v[2]=Ti(v[2]),v[3]>.9999999&&(v[3]=1),new ki(ul(v))},lt=G,Jt=c.type,dl=Math.pow,Ii=function(l){var h="rgb",f=lt("#ccc"),v=0,S=[0,1],C=[],y=[0,0],x=!1,R=[],L=!1,P=0,W=1,F=!1,Y={},q=!0,ie=1,oe=function(H){if(H=H||["#fff","#000"],H&&Jt(H)==="string"&&lt.brewer&&lt.brewer[H.toLowerCase()]&&(H=lt.brewer[H.toLowerCase()]),Jt(H)==="array"){H.length===1&&(H=[H[0],H[0]]),H=H.slice(0);for(var ee=0;ee<H.length;ee++)H[ee]=lt(H[ee]);C.length=0;for(var le=0;le<H.length;le++)C.push(le/(H.length-1))}return Ue(),R=H},fe=function(H){if(x!=null){for(var ee=x.length-1,le=0;le<ee&&H>=x[le];)le++;return le-1}return 0},ce=function(H){return H},He=function(H){return H},Pe=function(H,ee){var le,ne;if(ee==null&&(ee=!1),isNaN(H)||H===null)return f;if(ee)ne=H;else if(x&&x.length>2){var _e=fe(H);ne=_e/(x.length-2)}else W!==P?ne=(H-P)/(W-P):ne=1;ne=He(ne),ee||(ne=ce(ne)),ie!==1&&(ne=dl(ne,ie)),ne=y[0]+ne*(1-y[0]-y[1]),ne=Math.min(1,Math.max(0,ne));var ye=Math.floor(ne*1e4);if(q&&Y[ye])le=Y[ye];else{if(Jt(R)==="array")for(var ge=0;ge<C.length;ge++){var de=C[ge];if(ne<=de){le=R[ge];break}if(ne>=de&&ge===C.length-1){le=R[ge];break}if(ne>de&&ne<C[ge+1]){ne=(ne-de)/(C[ge+1]-de),le=lt.interpolate(R[ge],R[ge+1],ne,h);break}}else Jt(R)==="function"&&(le=R(ne));q&&(Y[ye]=le)}return le},Ue=function(){return Y={}};oe(l);var he=function(H){var ee=lt(Pe(H));return L&&ee[L]?ee[L]():ee};return he.classes=function(H){if(H!=null){if(Jt(H)==="array")x=H,S=[H[0],H[H.length-1]];else{var ee=lt.analyze(S);H===0?x=[ee.min,ee.max]:x=lt.limits(ee,"e",H)}return he}return x},he.domain=function(H){if(!arguments.length)return S;P=H[0],W=H[H.length-1],C=[];var ee=R.length;if(H.length===ee&&P!==W)for(var le=0,ne=Array.from(H);le<ne.length;le+=1){var _e=ne[le];C.push((_e-P)/(W-P))}else{for(var ye=0;ye<ee;ye++)C.push(ye/(ee-1));if(H.length>2){var ge=H.map(function(pe,ve){return ve/(H.length-1)}),de=H.map(function(pe){return(pe-P)/(W-P)});de.every(function(pe,ve){return ge[ve]===pe})||(He=function(pe){if(pe<=0||pe>=1)return pe;for(var ve=0;pe>=de[ve+1];)ve++;var ht=(pe-de[ve])/(de[ve+1]-de[ve]),xt=ge[ve]+ht*(ge[ve+1]-ge[ve]);return xt})}}return S=[P,W],he},he.mode=function(H){return arguments.length?(h=H,Ue(),he):h},he.range=function(H,ee){return oe(H),he},he.out=function(H){return L=H,he},he.spread=function(H){return arguments.length?(v=H,he):v},he.correctLightness=function(H){return H==null&&(H=!0),F=H,Ue(),F?ce=function(ee){for(var le=Pe(0,!0).lab()[0],ne=Pe(1,!0).lab()[0],_e=le>ne,ye=Pe(ee,!0).lab()[0],ge=le+(ne-le)*ee,de=ye-ge,pe=0,ve=1,ht=20;Math.abs(de)>.01&&ht-- >0;)(function(){return _e&&(de*=-1),de<0?(pe=ee,ee+=(ve-ee)*.5):(ve=ee,ee+=(pe-ee)*.5),ye=Pe(ee,!0).lab()[0],de=ye-ge})();return ee}:ce=function(ee){return ee},he},he.padding=function(H){return H!=null?(Jt(H)==="number"&&(H=[H,H]),y=H,he):y},he.colors=function(H,ee){arguments.length<2&&(ee="hex");var le=[];if(arguments.length===0)le=R.slice(0);else if(H===1)le=[he(.5)];else if(H>1){var ne=S[0],_e=S[1]-ne;le=pl(0,H,!1).map(function(ve){return he(ne+ve/(H-1)*_e)})}else{l=[];var ye=[];if(x&&x.length>2)for(var ge=1,de=x.length,pe=1<=de;pe?ge<de:ge>de;pe?ge++:ge--)ye.push((x[ge-1]+x[ge])*.5);else ye=S;le=ye.map(function(ve){return he(ve)})}return lt[ee]&&(le=le.map(function(ve){return ve[ee]()})),le},he.cache=function(H){return H!=null?(q=H,he):q},he.gamma=function(H){return H!=null?(ie=H,he):ie},he.nodata=function(H){return H!=null?(f=lt(H),he):f},he};function pl(l,h,f){for(var v=[],S=l<h,C=f?S?h+1:h-1:h,y=l;S?y<C:y>C;S?y++:y--)v.push(y);return v}var fr=I,vl=Ii,ml=function(l){for(var h=[1,1],f=1;f<l;f++){for(var v=[1],S=1;S<=h.length;S++)v[S]=(h[S]||0)+h[S-1];h=v}return h},bl=function(l){var h,f,v,S,C,y,x;if(l=l.map(function(F){return new fr(F)}),l.length===2)h=l.map(function(F){return F.lab()}),C=h[0],y=h[1],S=function(F){var Y=[0,1,2].map(function(q){return C[q]+F*(y[q]-C[q])});return new fr(Y,"lab")};else if(l.length===3)f=l.map(function(F){return F.lab()}),C=f[0],y=f[1],x=f[2],S=function(F){var Y=[0,1,2].map(function(q){return(1-F)*(1-F)*C[q]+2*(1-F)*F*y[q]+F*F*x[q]});return new fr(Y,"lab")};else if(l.length===4){var R;v=l.map(function(F){return F.lab()}),C=v[0],y=v[1],x=v[2],R=v[3],S=function(F){var Y=[0,1,2].map(function(q){return(1-F)*(1-F)*(1-F)*C[q]+3*(1-F)*(1-F)*F*y[q]+3*(1-F)*F*F*x[q]+F*F*F*R[q]});return new fr(Y,"lab")}}else if(l.length>=5){var L,P,W;L=l.map(function(F){return F.lab()}),W=l.length-1,P=ml(W),S=function(F){var Y=1-F,q=[0,1,2].map(function(ie){return L.reduce(function(oe,fe,ce){return oe+P[ce]*Math.pow(Y,W-ce)*Math.pow(F,ce)*fe[ie]},0)});return new fr(q,"lab")}}else throw new RangeError("No point in running bezier with only one color.");return S},wl=function(l){var h=bl(l);return h.scale=function(){return vl(h)},h},Li=G,ot=function(l,h,f){if(!ot[f])throw new Error("unknown blend mode "+f);return ot[f](l,h)},Ct=function(l){return function(h,f){var v=Li(f).rgb(),S=Li(h).rgb();return Li.rgb(l(v,S))}},At=function(l){return function(h,f){var v=[];return v[0]=l(h[0],f[0]),v[1]=l(h[1],f[1]),v[2]=l(h[2],f[2]),v}},yl=function(l){return l},Sl=function(l,h){return l*h/255},Cl=function(l,h){return l>h?h:l},Al=function(l,h){return l>h?l:h},xl=function(l,h){return 255*(1-(1-l/255)*(1-h/255))},Nl=function(l,h){return h<128?2*l*h/255:255*(1-2*(1-l/255)*(1-h/255))},Rl=function(l,h){return 255*(1-(1-h/255)/(l/255))},$l=function(l,h){return l===255?255:(l=255*(h/255)/(1-l/255),l>255?255:l)};ot.normal=Ct(At(yl)),ot.multiply=Ct(At(Sl)),ot.screen=Ct(At(xl)),ot.overlay=Ct(At(Nl)),ot.darken=Ct(At(Cl)),ot.lighten=Ct(At(Al)),ot.dodge=Ct(At($l)),ot.burn=Ct(At(Rl));for(var kl=ot,Oi=c.type,El=c.clip_rgb,Tl=c.TWOPI,Ml=Math.pow,Il=Math.sin,Ll=Math.cos,Ln=G,Ol=function(l,h,f,v,S){l===void 0&&(l=300),h===void 0&&(h=-1.5),f===void 0&&(f=1),v===void 0&&(v=1),S===void 0&&(S=[0,1]);var C=0,y;Oi(S)==="array"?y=S[1]-S[0]:(y=0,S=[S,S]);var x=function(R){var L=Tl*((l+120)/360+h*R),P=Ml(S[0]+y*R,v),W=C!==0?f[0]+R*C:f,F=W*P*(1-P)/2,Y=Ll(L),q=Il(L),ie=P+F*(-.14861*Y+1.78277*q),oe=P+F*(-.29227*Y-.90649*q),fe=P+F*(1.97294*Y);return Ln(El([ie*255,oe*255,fe*255,1]))};return x.start=function(R){return R==null?l:(l=R,x)},x.rotations=function(R){return R==null?h:(h=R,x)},x.gamma=function(R){return R==null?v:(v=R,x)},x.hue=function(R){return R==null?f:(f=R,Oi(f)==="array"?(C=f[1]-f[0],C===0&&(f=f[1])):C=0,x)},x.lightness=function(R){return R==null?S:(Oi(R)==="array"?(S=R,y=R[1]-R[0]):(S=[R,R],y=0),x)},x.scale=function(){return Ln.scale(x)},x.hue(f),x},Bl=I,Dl="0123456789abcdef",Pl=Math.floor,Fl=Math.random,zl=function(){for(var l="#",h=0;h<6;h++)l+=Dl.charAt(Pl(Fl()*16));return new Bl(l,"hex")},Bi=n,On=Math.log,Hl=Math.pow,_l=Math.floor,Wl=Math.abs,Bn=function(l,h){h===void 0&&(h=null);var f={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return Bi(l)==="object"&&(l=Object.values(l)),l.forEach(function(v){h&&Bi(v)==="object"&&(v=v[h]),v!=null&&!isNaN(v)&&(f.values.push(v),f.sum+=v,v<f.min&&(f.min=v),v>f.max&&(f.max=v),f.count+=1)}),f.domain=[f.min,f.max],f.limits=function(v,S){return Dn(f,v,S)},f},Dn=function(l,h,f){h===void 0&&(h="equal"),f===void 0&&(f=7),Bi(l)=="array"&&(l=Bn(l));var v=l.min,S=l.max,C=l.values.sort(function(Pi,Fi){return Pi-Fi});if(f===1)return[v,S];var y=[];if(h.substr(0,1)==="c"&&(y.push(v),y.push(S)),h.substr(0,1)==="e"){y.push(v);for(var x=1;x<f;x++)y.push(v+x/f*(S-v));y.push(S)}else if(h.substr(0,1)==="l"){if(v<=0)throw new Error("Logarithmic scales are only possible for values > 0");var R=Math.LOG10E*On(v),L=Math.LOG10E*On(S);y.push(v);for(var P=1;P<f;P++)y.push(Hl(10,R+P/f*(L-R)));y.push(S)}else if(h.substr(0,1)==="q"){y.push(v);for(var W=1;W<f;W++){var F=(C.length-1)*W/f,Y=_l(F);if(Y===F)y.push(C[Y]);else{var q=F-Y;y.push(C[Y]*(1-q)+C[Y+1]*q)}}y.push(S)}else if(h.substr(0,1)==="k"){var ie,oe=C.length,fe=new Array(oe),ce=new Array(f),He=!0,Pe=0,Ue=null;Ue=[],Ue.push(v);for(var he=1;he<f;he++)Ue.push(v+he/f*(S-v));for(Ue.push(S);He;){for(var H=0;H<f;H++)ce[H]=0;for(var ee=0;ee<oe;ee++)for(var le=C[ee],ne=Number.MAX_VALUE,_e=void 0,ye=0;ye<f;ye++){var ge=Wl(Ue[ye]-le);ge<ne&&(ne=ge,_e=ye),ce[_e]++,fe[ee]=_e}for(var de=new Array(f),pe=0;pe<f;pe++)de[pe]=null;for(var ve=0;ve<oe;ve++)ie=fe[ve],de[ie]===null?de[ie]=C[ve]:de[ie]+=C[ve];for(var ht=0;ht<f;ht++)de[ht]*=1/ce[ht];He=!1;for(var xt=0;xt<f;xt++)if(de[xt]!==Ue[xt]){He=!0;break}Ue=de,Pe++,Pe>200&&(He=!1)}for(var Nt={},Qt=0;Qt<f;Qt++)Nt[Qt]=[];for(var er=0;er<oe;er++)ie=fe[er],Nt[ie].push(C[er]);for(var pt=[],Pt=0;Pt<f;Pt++)pt.push(Nt[Pt][0]),pt.push(Nt[Pt][Nt[Pt].length-1]);pt=pt.sort(function(Pi,Fi){return Pi-Fi}),y.push(pt[0]);for(var gr=1;gr<pt.length;gr+=2){var Ft=pt[gr];!isNaN(Ft)&&y.indexOf(Ft)===-1&&y.push(Ft)}}return y},Pn={analyze:Bn,limits:Dn},Fn=I,Xl=function(l,h){l=new Fn(l),h=new Fn(h);var f=l.luminance(),v=h.luminance();return f>v?(f+.05)/(v+.05):(v+.05)/(f+.05)},zn=I,dt=Math.sqrt,Te=Math.pow,Gl=Math.min,Vl=Math.max,Hn=Math.atan2,_n=Math.abs,Wr=Math.cos,Wn=Math.sin,ql=Math.exp,Xn=Math.PI,Yl=function(l,h,f,v,S){f===void 0&&(f=1),v===void 0&&(v=1),S===void 0&&(S=1);var C=function(Ft){return 360*Ft/(2*Xn)},y=function(Ft){return 2*Xn*Ft/360};l=new zn(l),h=new zn(h);var x=Array.from(l.lab()),R=x[0],L=x[1],P=x[2],W=Array.from(h.lab()),F=W[0],Y=W[1],q=W[2],ie=(R+F)/2,oe=dt(Te(L,2)+Te(P,2)),fe=dt(Te(Y,2)+Te(q,2)),ce=(oe+fe)/2,He=.5*(1-dt(Te(ce,7)/(Te(ce,7)+Te(25,7)))),Pe=L*(1+He),Ue=Y*(1+He),he=dt(Te(Pe,2)+Te(P,2)),H=dt(Te(Ue,2)+Te(q,2)),ee=(he+H)/2,le=C(Hn(P,Pe)),ne=C(Hn(q,Ue)),_e=le>=0?le:le+360,ye=ne>=0?ne:ne+360,ge=_n(_e-ye)>180?(_e+ye+360)/2:(_e+ye)/2,de=1-.17*Wr(y(ge-30))+.24*Wr(y(2*ge))+.32*Wr(y(3*ge+6))-.2*Wr(y(4*ge-63)),pe=ye-_e;pe=_n(pe)<=180?pe:ye<=_e?pe+360:pe-360,pe=2*dt(he*H)*Wn(y(pe)/2);var ve=F-R,ht=H-he,xt=1+.015*Te(ie-50,2)/dt(20+Te(ie-50,2)),Nt=1+.045*ee,Qt=1+.015*ee*de,er=30*ql(-Te((ge-275)/25,2)),pt=2*dt(Te(ee,7)/(Te(ee,7)+Te(25,7))),Pt=-pt*Wn(2*y(er)),gr=dt(Te(ve/(f*xt),2)+Te(ht/(v*Nt),2)+Te(pe/(S*Qt),2)+Pt*(ht/(v*Nt))*(pe/(S*Qt)));return Vl(0,Gl(100,gr))},Gn=I,Ul=function(l,h,f){f===void 0&&(f="lab"),l=new Gn(l),h=new Gn(h);var v=l.get(f),S=h.get(f),C=0;for(var y in v){var x=(v[y]||0)-(S[y]||0);C+=x*x}return Math.sqrt(C)},jl=I,Zl=function(){for(var l=[],h=arguments.length;h--;)l[h]=arguments[h];try{return new(Function.prototype.bind.apply(jl,[null].concat(l))),!0}catch(f){return!1}},Vn=G,qn=Ii,Kl={cool:function(){return qn([Vn.hsl(180,1,.9),Vn.hsl(250,.7,.4)])},hot:function(){return qn(["#000","#f00","#ff0","#fff"]).mode("rgb")}},Xr={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},Di=0,Yn=Object.keys(Xr);Di<Yn.length;Di+=1){var Un=Yn[Di];Xr[Un.toLowerCase()]=Xr[Un]}var Jl=Xr,De=G;De.average=gl,De.bezier=wl,De.blend=kl,De.cubehelix=Ol,De.mix=De.interpolate=xn,De.random=zl,De.scale=Ii,De.analyze=Pn.analyze,De.contrast=Xl,De.deltaE=Yl,De.distance=Ul,De.limits=Pn.limits,De.valid=Zl,De.scales=Kl,De.colors=an,De.brewer=Jl;var Ql=De;return Ql})});var me=class ${static clone(e){let t=Array.isArray(e)?[]:{};for(let r in e){let i=e[r];typeof i.clone=="function"?t[r]=i.clone():t[r]=typeof i=="object"?$.clone(i):i}return t}static equals(e,t){if(e.length!==t.length)return!1;let r=e.slice().sort(),i=t.slice().sort();for(let s=0;s<r.length;s++)if(r[s]!==i[s])return!1;return!0}static print(e){if(e.length==0)return"";let t="(";for(let r=0;r<e.length;r++)t+=e[r].id?e[r].id+", ":e[r]+", ";return t=t.substring(0,t.length-2),t+")"}static each(e,t){for(let r=0;r<e.length;r++)t(e[r])}static get(e,t,r){for(let i=0;i<e.length;i++)if(e[i][t]==r)return e[i]}static contains(e,t){if(!t.property&&!t.func){for(let r=0;r<e.length;r++)if(e[r]==t.value)return!0}else if(t.func){for(let r=0;r<e.length;r++)if(t.func(e[r]))return!0}else for(let r=0;r<e.length;r++)if(e[r][t.property]==t.value)return!0;return!1}static intersection(e,t){let r=[];for(let i=0;i<e.length;i++)for(let s=0;s<t.length;s++)e[i]===t[s]&&r.push(e[i]);return r}static unique(e){let t={};return e.filter(function(r){return t[r]!==void 0?!1:t[r]=!0})}static count(e,t){let r=0;for(let i=0;i<e.length;i++)e[i]===t&&r++;return r}static toggle(e,t){let r=[],i=!1;for(let s=0;s<e.length;s++)e[s]!==t?r.push(e[s]):i=!0;return i||r.push(t),r}static remove(e,t){let r=[];for(let i=0;i<e.length;i++)e[i]!==t&&r.push(e[i]);return r}static removeUnique(e,t){let r=e.indexOf(t);return r>-1&&e.splice(r,1),e}static removeAll(e,t){return e.filter(function(r){return t.indexOf(r)===-1})}static merge(e,t){let r=new Array(e.length+t.length);for(let i=0;i<e.length;i++)r[i]=e[i];for(let i=0;i<t.length;i++)r[e.length+i]=t[i];return r}static containsAll(e,t){let r=0;for(let i=0;i<e.length;i++)for(let s=0;s<t.length;s++)e[i]===t[s]&&r++;return r===t.length}static sortByAtomicNumberDesc(e){let t=e.map(function(r,i){return{index:i,value:r.atomicNumber.split(".").map(Number)}});return t.sort(function(r,i){let s=Math.min(i.value.length,r.value.length),a=0;for(;a<s&&i.value[a]===r.value[a];)a++;return a===s?i.value.length-r.value.length:i.value[a]-r.value[a]}),t.map(function(r){return e[r.index]})}static deepCopy(e){let t=[];for(let r=0;r<e.length;r++){let i=e[r];i instanceof Array?t[r]=$.deepCopy(i):t[r]=i}return t}};var cr=class cr{constructor(e,t="-"){this.idx=null,this.element=e.length===1?e.toUpperCase():e,this.drawExplicit=!1,this.ringbonds=[],this.rings=[],this.bondType=t,this.branchBond=null,this.isBridge=!1,this.isBridgeNode=!1,this.originalRings=[],this.bridgedRing=null,this.anchoredRings=[],this.bracket=null,this.plane=0,this.attachedPseudoElements={},this.hasAttachedPseudoElements=!1,this.isDrawn=!0,this.isConnectedToRing=!1,this.neighbouringElements=[],this.isPartOfAromaticRing=e!==this.element,this.bondCount=0,this.chirality="",this.isStereoCenter=!1,this.priority=0,this.mainChain=!1,this.hydrogenDirection="down",this.subtreeDepth=1,this.hasHydrogen=!1,this.class=void 0}addNeighbouringElement(e){this.neighbouringElements.push(e)}attachPseudoElement(e,t,r=0,i=0){r===null&&(r=0),i===null&&(i=0);let s=r+e+i;this.attachedPseudoElements[s]?this.attachedPseudoElements[s].count+=1:this.attachedPseudoElements[s]={element:e,count:1,hydrogenCount:r,previousElement:t,charge:i},this.hasAttachedPseudoElements=!0}getAttachedPseudoElements(){let e={};return Object.keys(this.attachedPseudoElements).sort().forEach(t=>{e[t]=this.attachedPseudoElements[t]}),e}getAttachedPseudoElementsCount(){return Object.keys(this.attachedPseudoElements).length}isHeteroAtom(){return this.element!=="C"&&this.element!=="H"}addAnchoredRing(e){me.contains(this.anchoredRings,{value:e})||this.anchoredRings.push(e)}getRingbondCount(){return this.ringbonds.length}backupRings(){this.originalRings=Array(this.rings.length);for(let e=0;e<this.rings.length;e++)this.originalRings[e]=this.rings[e]}restoreRings(){this.rings=Array(this.originalRings.length);for(let e=0;e<this.originalRings.length;e++)this.rings[e]=this.originalRings[e]}haveCommonRingbond(e,t){for(let r=0;r<e.ringbonds.length;r++)for(let i=0;i<t.ringbonds.length;i++)if(e.ringbonds[r].id==t.ringbonds[i].id)return!0;return!1}neighbouringElementsEqual(e){if(e.length!==this.neighbouringElements.length)return!1;e.sort(),this.neighbouringElements.sort();for(let t=0;t<this.neighbouringElements.length;t++)if(e[t]!==this.neighbouringElements[t])return!1;return!0}getAtomicNumber(){return cr.atomicNumbers[this.element]}countImp