Lines Matching defs:wrap

6 `)),b+=F+g[S+1]}),b}var Z0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function e9(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var yOt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(Z0,function(){var f=1e3,g=6e4,w=36e5,v="millisecond",b="second",E="minute",S="hour",_="day",M="week",F="month",R="quarter",B="year",z="date",Y="Invalid Date",nt=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,ot=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,ft={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(V){var Ot=["th","st","nd","rd"],It=V%100;return"["+V+(Ot[(It-20)%10]||Ot[It]||Ot[0])+"]"}},wt=function(V,Ot,It){var jt=String(V);return!jt||jt.length>=Ot?V:""+Array(Ot+1-jt.length).join(It)+V},mt={s:wt,z:function(V){var Ot=-V.utcOffset(),It=Math.abs(Ot),jt=Math.floor(It/60),xt=It%60;return(Ot<=0?"+":"-")+wt(jt,2,"0")+":"+wt(xt,2,"0")},m:function V(Ot,It){if(Ot.date()<It.date())return-V(It,Ot);var jt=12*(It.year()-Ot.year())+(It.month()-Ot.month()),xt=Ot.clone().add(jt,F),Ft=It-xt<0,Ct=Ot.clone().add(jt+(Ft?-1:1),F);return+(-(jt+(It-xt)/(Ft?xt-Ct:Ct-xt))||0)},a:function(V){return V<0?Math.ceil(V)||0:Math.floor(V)},p:function(V){return{M:F,y:B,w:M,d:_,D:z,h:S,m:E,s:b,ms:v,Q:R}[V]||String(V||"").toLowerCase().replace(/s$/,"")},u:function(V){return V===void 0}},ct="en",rt={};rt[ct]=ft;var it=function(V){return V instanceof K},gt=function V(Ot,It,jt){var xt;if(!Ot)return ct;if(typeof Ot=="string"){var Ft=Ot.toLowerCase();rt[Ft]&&(xt=Ft),It&&(rt[Ft]=It,xt=Ft);var Ct=Ot.split("-");if(!xt&&Ct.length>1)return V(Ct[0])}else{var kt=Ot.name;rt[kt]=Ot,xt=kt}return!jt&&xt&&(ct=xt),xt||!jt&&ct},Q=function(V,Ot){if(it(V))return V.clone();var It=typeof Ot=="object"?Ot:{};return It.date=V,It.args=arguments,new K(It)},dt=mt;dt.l=gt,dt.i=it,dt.w=function(V,Ot){return Q(V,{locale:Ot.$L,utc:Ot.$u,x:Ot.$x,$offset:Ot.$offset})};var K=function(){function V(It){this.$L=gt(It.locale,null,!0),this.parse(It)}var Ot=V.prototype;return Ot.parse=function(It){this.$d=function(jt){var xt=jt.date,Ft=jt.utc;if(xt===null)return new Date(NaN);if(dt.u(xt))return new Date;if(xt instanceof Date)return new Date(xt);if(typeof xt=="string"&&!/Z$/i.test(xt)){var Ct=xt.match(nt);if(Ct){var kt=Ct[2]-1||0,Gt=(Ct[7]||"0").substring(0,3);return Ft?new Date(Date.UTC(Ct[1],kt,Ct[3]||1,Ct[4]||0,Ct[5]||0,Ct[6]||0,Gt)):new Date(Ct[1],kt,Ct[3]||1,Ct[4]||0,Ct[5]||0,Ct[6]||0,Gt)}}return new Date(xt)}(It),this.$x=It.x||{},this.init()},Ot.init=function(){var It=this.$d;this.$y=It.getFullYear(),this.$M=It.getMonth(),this.$D=It.getDate(),this.$W=It.getDay(),this.$H=It.getHours(),this.$m=It.getMinutes(),this.$s=It.getSeconds(),this.$ms=It.getMilliseconds()},Ot.$utils=function(){return dt},Ot.isValid=function(){return this.$d.toString()!==Y},Ot.isSame=function(It,jt){var xt=Q(It);return this.startOf(jt)<=xt&&xt<=this.endOf(jt)},Ot.isAfter=function(It,jt){return Q(It)<this.startOf(jt)},Ot.isBefore=function(It,jt){return this.endOf(jt)<Q(It)},Ot.$g=function(It,jt,xt){return dt.u(It)?this[jt]:this.set(xt,It)},Ot.unix=function(){return Math.floor(this.valueOf()/1e3)},Ot.valueOf=function(){return this.$d.getTime()},Ot.startOf=function(It,jt){var xt=this,Ft=!!dt.u(jt)||jt,Ct=dt.p(It),kt=function(sn,be){var Ne=dt.w(xt.$u?Date.UTC(xt.$y,be,sn):new Date(xt.$y,be,sn),xt);return Ft?Ne:Ne.endOf(_)},Gt=function(sn,be){return dt.w(xt.toDate()[sn].apply(xt.toDate("s"),(Ft?[0,0,0,0]:[23,59,59,999]).slice(be)),xt)},Fe=this.$W,Mt=this.$M,pn=this.$D,Ae="set"+(this.$u?"UTC":"");switch(Ct){case B:return Ft?kt(1,0):kt(31,11);case F:return Ft?kt(1,Mt):kt(0,Mt+1);case M:var ye=this.$locale().weekStart||0,tn=(Fe<ye?Fe+7:Fe)-ye;return kt(Ft?pn-tn:pn+(6-tn),Mt);case _:case z:return Gt(Ae+"Hours",0);case S:return Gt(Ae+"Minutes",1);case E:return Gt(Ae+"Seconds",2);case b:return Gt(Ae+"Milliseconds",3);default:return this.clone()}},Ot.endOf=function(It){return this.startOf(It,!1)},Ot.$set=function(It,jt){var xt,Ft=dt.p(It),Ct="set"+(this.$u?"UTC":""),kt=(xt={},xt[_]=Ct+"Date",xt[z]=Ct+"Date",xt[F]=Ct+"Month",xt[B]=Ct+"FullYear",xt[S]=Ct+"Hours",xt[E]=Ct+"Minutes",xt[b]=Ct+"Seconds",xt[v]=Ct+"Milliseconds",xt)[Ft],Gt=Ft===_?this.$D+(jt-this.$W):jt;if(Ft===F||Ft===B){var Fe=this.clone().set(z,1);Fe.$d[kt](Gt),Fe.init(),this.$d=Fe.set(z,Math.min(this.$D,Fe.daysInMonth())).$d}else kt&&this.$d[kt](Gt);return this.init(),this},Ot.set=function(It,jt){return this.clone().$set(It,jt)},Ot.get=function(It){return this[dt.p(It)]()},Ot.add=function(It,jt){var xt,Ft=this;It=Number(It);var Ct=dt.p(jt),kt=function(Mt){var pn=Q(Ft);return dt.w(pn.date(pn.date()+Math.round(Mt*It)),Ft)};if(Ct===F)return this.set(F,this.$M+It);if(Ct===B)return this.set(B,this.$y+It);if(Ct===_)return kt(1);if(Ct===M)return kt(7);var Gt=(xt={},xt[E]=g,xt[S]=w,xt[b]=f,xt)[Ct]||1,Fe=this.$d.getTime()+It*Gt;return dt.w(Fe,this)},Ot.subtract=function(It,jt){return this.add(-1*It,jt)},Ot.format=function(It){var jt=this,xt=this.$locale();if(!this.isValid())return xt.invalidDate||Y;var Ft=It||"YYYY-MM-DDTHH:mm:ssZ",Ct=dt.z(this),kt=this.$H,Gt=this.$m,Fe=this.$M,Mt=xt.weekdays,pn=xt.months,Ae=function(be,Ne,Xt,_e){return be&&(be[Ne]||be(jt,Ft))||Xt[Ne].slice(0,_e)},ye=function(be){return dt.s(kt%12||12,be,"0")},tn=xt.meridiem||function(be,Ne,Xt){var _e=be<12?"AM":"PM";return Xt?_e.toLowerCase():_e},sn={YY:String(this.$y).slice(-2),YYYY:this.$y,M:Fe+1,MM:dt.s(Fe+1,2,"0"),MMM:Ae(xt.monthsShort,Fe,pn,3),MMMM:Ae(pn,Fe),D:this.$D,DD:dt.s(this.$D,2,"0"),d:String(this.$W),dd:Ae(xt.weekdaysMin,this.$W,Mt,2),ddd:Ae(xt.weekdaysShort,this.$W,Mt,3),dddd:Mt[this.$W],H:String(kt),HH:dt.s(kt,2,"0"),h:ye(1),hh:ye(2),a:tn(kt,Gt,!0),A:tn(kt,Gt,!1),m:String(Gt),mm:dt.s(Gt,2,"0"),s:String(this.$s),ss:dt.s(this.$s,2,"0"),SSS:dt.s(this.$ms,3,"0"),Z:Ct};return Ft.replace(ot,function(be,Ne){return Ne||sn[be]||Ct.replace(":","")})},Ot.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},Ot.diff=function(It,jt,xt){var Ft,Ct=dt.p(jt),kt=Q(It),Gt=(kt.utcOffset()-this.utcOffset())*g,Fe=this-kt,Mt=dt.m(this,kt);return Mt=(Ft={},Ft[B]=Mt/12,Ft[F]=Mt,Ft[R]=Mt/3,Ft[M]=(Fe-Gt)/6048e5,Ft[_]=(Fe-Gt)/864e5,Ft[S]=Fe/w,Ft[E]=Fe/g,Ft[b]=Fe/f,Ft)[Ct]||Fe,xt?Mt:dt.a(Mt)},Ot.daysInMonth=function(){return this.endOf(F).$D},Ot.$locale=function(){return rt[this.$L]},Ot.locale=function(It,jt){if(!It)return this.$L;var xt=this.clone(),Ft=gt(It,jt,!0);return Ft&&(xt.$L=Ft),xt},Ot.clone=function(){return dt.w(this.$d,this)},Ot.toDate=function(){return new Date(this.valueOf())},Ot.toJSON=function(){return this.isValid()?this.toISOString():null},Ot.toISOString=function(){return this.$d.toISOString()},Ot.toString=function(){return this.$d.toUTCString()},V}(),yt=K.prototype;return Q.prototype=yt,[["$ms",v],["$s",b],["$m",E],["$H",S],["$W",_],["$M",F],["$y",B],["$D",z]].forEach(function(V){yt[V[1]]=function(Ot){return this.$g(Ot,V[0],V[1])}}),Q.extend=function(V,Ot){return V.$i||(V(Ot,K,Q),V.$i=!0),Q},Q.locale=gt,Q.isDayjs=it,Q.unix=function(V){return Q(1e3*V)},Q.en=rt[ct],Q.Ls=rt,Q.p={},Q})})(yOt);var g9e=yOt.exports;const tg=e9(g9e),yx={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},Kt={trace:(...i)=>{},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},d0t=function(i="fatal"){let a=yx.fatal;typeof i=="string"?(i=i.toLowerCase(),i in yx&&(a=yx[i])):typeof i=="number"&&(a=i),Kt.trace=()=>{},Kt.debug=()=>{},Kt.info=()=>{},Kt.warn=()=>{},Kt.error=()=>{},Kt.fatal=()=>{},a<=yx.fatal&&(Kt.fatal=console.error?console.error.bind(console,Gw("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Gw("FATAL"))),a<=yx.error&&(Kt.error=console.error?console.error.bind(console,Gw("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Gw("ERROR"))),a<=yx.warn&&(Kt.warn=console.warn?console.warn.bind(console,Gw("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Gw("WARN"))),a<=yx.info&&(Kt.info=console.info?console.info.bind(console,Gw("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Gw("INFO"))),a<=yx.debug&&(Kt.debug=console.debug?console.debug.bind(console,Gw("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Gw("DEBUG"))),a<=yx.trace&&(Kt.trace=console.debug?console.debug.bind(console,Gw("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Gw("TRACE")))},Gw=i=>`%c${tg().format("ss.SSS")} : ${i} : `;var g0t={};Object.defineProperty(g0t,"__esModule",{value:!0});var h8=g0t.sanitizeUrl=void 0,p9e=/^([^\w]*)(javascript|data|vbscript)/im,b9e=/&#(\w+)(^\w|;)?/g,w9e=/&(newline|tab);/gi,m9e=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,v9e=/^.+(:|&colon;)/gim,y9e=[".","/"];function x9e(i){return y9e.indexOf(i[0])>-1}function k9e(i){return i.replace(b9e,function(a,f){return String.fromCharCode(f)})}function E9e(i){var a=k9e(i||"").replace(w9e,"").replace(m9e,"").trim();if(!a)return"about:blank";if(x9e(a))return a;var f=a.match(v9e);if(!f)return a;var g=f[0];return p9e.test(g)?"about:blank":a}h8=g0t.sanitizeUrl=E9e;function nW(i,a){return i==null||a==null?NaN:i<a?-1:i>a?1:i>=a?0:NaN}function T9e(i,a){return i==null||a==null?NaN:a<i?-1:a>i?1:a>=i?0:NaN}function p0t(i){let a,f,g;i.length!==2?(a=nW,f=(E,S)=>nW(i(E),S),g=(E,S)=>i(E)-S):(a=i===nW||i===T9e?i:C9e,f=i,g=i);function w(E,S,_=0,M=E.length){if(_<M){if(a(S,S)!==0)return M;do{const F=_+M>>>1;f(E[F],S)<0?_=F+1:M=F}while(_<M)}return _}function v(E,S,_=0,M=E.length){if(_<M){if(a(S,S)!==0)return M;do{const F=_+M>>>1;f(E[F],S)<=0?_=F+1:M=F}while(_<M)}return _}function b(E,S,_=0,M=E.length){const F=w(E,S,_,M-1);return F>_&&g(E[F-1],S)>-g(E[F],S)?F-1:F}return{left:w,center:b,right:v}}function C9e(){return 0}function S9e(i){return i===null?NaN:+i}const _9e=p0t(nW).right;p0t(S9e).center;const A9e=_9e;class xOt extends Map{constructor(a,f=M9e){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:f}}),a!=null)for(const[g,w]of a)this.set(g,w)}get(a){return super.get(kOt(this,a))}has(a){return super.has(kOt(this,a))}set(a,f){return super.set(L9e(this,a),f)}delete(a){return super.delete(D9e(this,a))}}function kOt({_intern:i,_key:a},f){const g=a(f);return i.has(g)?i.get(g):f}function L9e({_intern:i,_key:a},f){const g=a(f);return i.has(g)?i.get(g):(i.set(g,f),f)}function D9e({_intern:i,_key:a},f){const g=a(f);return i.has(g)&&(f=i.get(g),i.delete(g)),f}function M9e(i){return i!==null&&typeof i=="object"?i.valueOf():i}const I9e=Math.sqrt(50),O9e=Math.sqrt(10),N9e=Math.sqrt(2);function rW(i,a,f){const g=(a-i)/Math.max(0,f),w=Math.floor(Math.log10(g)),v=g/Math.pow(10,w),b=v>=I9e?10:v>=O9e?5:v>=N9e?2:1;let E,S,_;return w<0?(_=Math.pow(10,-w)/b,E=Math.round(i*_),S=Math.round(a*_),E/_<i&&++E,S/_>a&&--S,_=-_):(_=Math.pow(10,w)*b,E=Math.round(i/_),S=Math.round(a/_),E*_<i&&++E,S*_>a&&--S),S<E&&.5<=f&&f<2?rW(i,a,f*2):[E,S,_]}function P9e(i,a,f){if(a=+a,i=+i,f=+f,!(f>0))return[];if(i===a)return[i];const g=a<i,[w,v,b]=g?rW(a,i,f):rW(i,a,f);if(!(v>=w))return[];const E=v-w+1,S=new Array(E);if(g)if(b<0)for(let _=0;_<E;++_)S[_]=(v-_)/-b;else for(let _=0;_<E;++_)S[_]=(v-_)*b;else if(b<0)for(let _=0;_<E;++_)S[_]=(w+_)/-b;else for(let _=0;_<E;++_)S[_]=(w+_)*b;return S}function b0t(i,a,f){return a=+a,i=+i,f=+f,rW(i,a,f)[2]}function w0t(i,a,f){a=+a,i=+i,f=+f;const g=a<i,w=g?b0t(a,i,f):b0t(i,a,f);return(g?-1:1)*(w<0?1/-w:w)}function F9e(i,a){let f;if(a===void 0)for(const g of i)g!=null&&(f<g||f===void 0&&g>=g)&&(f=g);else{let g=-1;for(let w of i)(w=a(w,++g,i))!=null&&(f<w||f===void 0&&w>=w)&&(f=w)}return f}function B9e(i,a){let f;if(a===void 0)for(const g of i)g!=null&&(f>g||f===void 0&&g>=g)&&(f=g);else{let g=-1;for(let w of i)(w=a(w,++g,i))!=null&&(f>w||f===void 0&&w>=w)&&(f=w)}return f}function R9e(i,a,f){i=+i,a=+a,f=(w=arguments.length)<2?(a=i,i=0,1):w<3?1:+f;for(var g=-1,w=Math.max(0,Math.ceil((a-i)/f))|0,v=new Array(w);++g<w;)v[g]=i+g*f;return v}function j9e(i){return i}var iW=1,m0t=2,v0t=3,sW=4,EOt=1e-6;function $9e(i){return"translate("+i+",0)"}function z9e(i){return"translate(0,"+i+")"}function q9e(i){return a=>+i(a)}function H9e(i,a){return a=Math.max(0,i.bandwidth()-a*2)/2,i.round()&&(a=Math.round(a)),f=>+i(f)+a}function V9e(){return!this.__axis}function TOt(i,a){var f=[],g=null,w=null,v=6,b=6,E=3,S=typeof window<"u"&&window.devicePixelRatio>1?0:.5,_=i===iW||i===sW?-1:1,M=i===sW||i===m0t?"x":"y",F=i===iW||i===v0t?$9e:z9e;function R(B){var z=g??(a.ticks?a.ticks.apply(a,f):a.domain()),Y=w??(a.tickFormat?a.tickFormat.apply(a,f):j9e),nt=Math.max(v,0)+E,ot=a.range(),ft=+ot[0]+S,wt=+ot[ot.length-1]+S,mt=(a.bandwidth?H9e:q9e)(a.copy(),S),ct=B.selection?B.selection():B,rt=ct.selectAll(".domain").data([null]),it=ct.selectAll(".tick").data(z,a).order(),gt=it.exit(),Q=it.enter().append("g").attr("class","tick"),dt=it.select("line"),K=it.select("text");rt=rt.merge(rt.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),it=it.merge(Q),dt=dt.merge(Q.append("line").attr("stroke","currentColor").attr(M+"2",_*v)),K=K.merge(Q.append("text").attr("fill","currentColor").attr(M,_*nt).attr("dy",i===iW?"0em":i===v0t?"0.71em":"0.32em")),B!==ct&&(rt=rt.transition(B),it=it.transition(B),dt=dt.transition(B),K=K.transition(B),gt=gt.transition(B).attr("opacity",EOt).attr("transform",function(yt){return isFinite(yt=mt(yt))?F(yt+S):this.getAttribute("transform")}),Q.attr("opacity",EOt).attr("transform",function(yt){var V=this.parentNode.__axis;return F((V&&isFinite(V=V(yt))?V:mt(yt))+S)})),gt.remove(),rt.attr("d",i===sW||i===m0t?b?"M"+_*b+","+ft+"H"+S+"V"+wt+"H"+_*b:"M"+S+","+ft+"V"+wt:b?"M"+ft+","+_*b+"V"+S+"H"+wt+"V"+_*b:"M"+ft+","+S+"H"+wt),it.attr("opacity",1).attr("transform",function(yt){return F(mt(yt)+S)}),dt.attr(M+"2",_*v),K.attr(M,_*nt).text(Y),ct.filter(V9e).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===m0t?"start":i===sW?"end":"middle"),ct.each(function(){this.__axis=mt})}return R.scale=function(B){return arguments.length?(a=B,R):a},R.ticks=function(){return f=Array.from(arguments),R},R.tickArguments=function(B){return arguments.length?(f=B==null?[]:Array.from(B),R):f.slice()},R.tickValues=function(B){return arguments.length?(g=B==null?null:Array.from(B),R):g&&g.slice()},R.tickFormat=function(B){return arguments.length?(w=B,R):w},R.tickSize=function(B){return arguments.length?(v=b=+B,R):v},R.tickSizeInner=function(B){return arguments.length?(v=+B,R):v},R.tickSizeOuter=function(B){return arguments.length?(b=+B,R):b},R.tickPadding=function(B){return arguments.length?(E=+B,R):E},R.offset=function(B){return arguments.length?(S=+B,R):S},R}function U9e(i){return TOt(iW,i)}function G9e(i){return TOt(v0t,i)}var K9e={value:()=>{}};function COt(){for(var i=0,a=arguments.length,f={},g;i<a;++i){if(!(g=arguments[i]+"")||g in f||/[\s.]/.test(g))throw new Error("illegal type: "+g);f[g]=[]}return new aW(f)}function aW(i){this._=i}function W9e(i,a){return i.trim().split(/^|\s+/).map(function(f){var g="",w=f.indexOf(".");if(w>=0&&(g=f.slice(w+1),f=f.slice(0,w)),f&&!a.hasOwnProperty(f))throw new Error("unknown type: "+f);return{type:f,name:g}})}aW.prototype=COt.prototype={constructor:aW,on:function(i,a){var f=this._,g=W9e(i+"",f),w,v=-1,b=g.length;if(arguments.length<2){for(;++v<b;)if((w=(i=g[v]).type)&&(w=Y9e(f[w],i.name)))return w;return}if(a!=null&&typeof a!="function")throw new Error("invalid callback: "+a);for(;++v<b;)if(w=(i=g[v]).type)f[w]=SOt(f[w],i.name,a);else if(a==null)for(w in f)f[w]=SOt(f[w],i.name,null);return this},copy:function(){var i={},a=this._;for(var f in a)i[f]=a[f].slice();return new aW(i)},call:function(i,a){if((w=arguments.length-2)>0)for(var f=new Array(w),g=0,w,v;g<w;++g)f[g]=arguments[g+2];if(!this._.hasOwnProperty(i))throw new Error("unknown type: "+i);for(v=this._[i],g=0,w=v.length;g<w;++g)v[g].value.apply(a,f)},apply:function(i,a,f){if(!this._.hasOwnProperty(i))throw new Error("unknown type: "+i);for(var g=this._[i],w=0,v=g.length;w<v;++w)g[w].value.apply(a,f)}};function Y9e(i,a){for(var f=0,g=i.length,w;f<g;++f)if((w=i[f]).name===a)return w.value}function SOt(i,a,f){for(var g=0,w=i.length;g<w;++g)if(i[g].name===a){i[g]=K9e,i=i.slice(0,g).concat(i.slice(g+1));break}return f!=null&&i.push({name:a,value:f}),i}var y0t="http://www.w3.org/1999/xhtml";const _Ot={svg:"http://www.w3.org/2000/svg",xhtml:y0t,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function oW(i){var a=i+="",f=a.indexOf(":");return f>=0&&(a=i.slice(0,f))!=="xmlns"&&(i=i.slice(f+1)),_Ot.hasOwnProperty(a)?{space:_Ot[a],local:i}:i}function X9e(i){return function(){var a=this.ownerDocument,f=this.namespaceURI;return f===y0t&&a.documentElement.namespaceURI===y0t?a.createElement(i):a.createElementNS(f,i)}}function Q9e(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function AOt(i){var a=oW(i);return(a.local?Q9e:X9e)(a)}function J9e(){}function x0t(i){return i==null?J9e:function(){return this.querySelector(i)}}function Z9e(i){typeof i!="function"&&(i=x0t(i));for(var a=this._groups,f=a.length,g=new Array(f),w=0;w<f;++w)for(var v=a[w],b=v.length,E=g[w]=new Array(b),S,_,M=0;M<b;++M)(S=v[M])&&(_=i.call(S,S.__data__,M,v))&&("__data__"in S&&(_.__data__=S.__data__),E[M]=_);return new Gg(g,this._parents)}function LOt(i){return i==null?[]:Array.isArray(i)?i:Array.from(i)}function tCe(){return[]}function DOt(i){return i==null?tCe:function(){return this.querySelectorAll(i)}}function eCe(i){return function(){return LOt(i.apply(this,arguments))}}function nCe(i){typeof i=="function"?i=eCe(i):i=DOt(i);for(var a=this._groups,f=a.length,g=[],w=[],v=0;v<f;++v)for(var b=a[v],E=b.length,S,_=0;_<E;++_)(S=b[_])&&(g.push(i.call(S,S.__data__,_,b)),w.push(S));return new Gg(g,w)}function MOt(i){return function(){return this.matches(i)}}function IOt(i){return function(a){return a.matches(i)}}var rCe=Array.prototype.find;function iCe(i){return function(){return rCe.call(this.children,i)}}function sCe(){return this.firstElementChild}function aCe(i){return this.select(i==null?sCe:iCe(typeof i=="function"?i:IOt(i)))}var oCe=Array.prototype.filter;function cCe(){return Array.from(this.children)}function uCe(i){return function(){return oCe.call(this.children,i)}}function lCe(i){return this.selectAll(i==null?cCe:uCe(typeof i=="function"?i:IOt(i)))}function hCe(i){typeof i!="function"&&(i=MOt(i));for(var a=this._groups,f=a.length,g=new Array(f),w=0;w<f;++w)for(var v=a[w],b=v.length,E=g[w]=[],S,_=0;_<b;++_)(S=v[_])&&i.call(S,S.__data__,_,v)&&E.push(S);return new Gg(g,this._parents)}function OOt(i){return new Array(i.length)}function fCe(){return new Gg(this._enter||this._groups.map(OOt),this._parents)}function cW(i,a){this.ownerDocument=i.ownerDocument,this.namespaceURI=i.namespaceURI,this._next=null,this._parent=i,this.__data__=a}cW.prototype={constructor:cW,appendChild:function(i){return this._parent.insertBefore(i,this._next)},insertBefore:function(i,a){return this._parent.insertBefore(i,a)},querySelector:function(i){return this._parent.querySelector(i)},querySelectorAll:function(i){return this._parent.querySelectorAll(i)}};function dCe(i){return function(){return i}}function gCe(i,a,f,g,w,v){for(var b=0,E,S=a.length,_=v.length;b<_;++b)(E=a[b])?(E.__data__=v[b],g[b]=E):f[b]=new cW(i,v[b]);for(;b<S;++b)(E=a[b])&&(w[b]=E)}function pCe(i,a,f,g,w,v,b){var E,S,_=new Map,M=a.length,F=v.length,R=new Array(M),B;for(E=0;E<M;++E)(S=a[E])&&(R[E]=B=b.call(S,S.__data__,E,a)+"",_.has(B)?w[E]=S:_.set(B,S));for(E=0;E<F;++E)B=b.call(i,v[E],E,v)+"",(S=_.get(B))?(g[E]=S,S.__data__=v[E],_.delete(B)):f[E]=new cW(i,v[E]);for(E=0;E<M;++E)(S=a[E])&&_.get(R[E])===S&&(w[E]=S)}function bCe(i){return i.__data__}function wCe(i,a){if(!arguments.length)return Array.from(this,bCe);var f=a?pCe:gCe,g=this._parents,w=this._groups;typeof i!="function"&&(i=dCe(i));for(var v=w.length,b=new Array(v),E=new Array(v),S=new Array(v),_=0;_<v;++_){var M=g[_],F=w[_],R=F.length,B=mCe(i.call(M,M&&M.__data__,_,g)),z=B.length,Y=E[_]=new Array(z),nt=b[_]=new Array(z),ot=S[_]=new Array(R);f(M,F,Y,nt,ot,B,a);for(var ft=0,wt=0,mt,ct;ft<z;++ft)if(mt=Y[ft]){for(ft>=wt&&(wt=ft+1);!(ct=nt[wt])&&++wt<z;);mt._next=ct||null}}return b=new Gg(b,g),b._enter=E,b._exit=S,b}function mCe(i){return typeof i=="object"&&"length"in i?i:Array.from(i)}function vCe(){return new Gg(this._exit||this._groups.map(OOt),this._parents)}function yCe(i,a,f){var g=this.enter(),w=this,v=this.exit();return typeof i=="function"?(g=i(g),g&&(g=g.selection())):g=g.append(i+""),a!=null&&(w=a(w),w&&(w=w.selection())),f==null?v.remove():f(v),g&&w?g.merge(w).order():w}function xCe(i){for(var a=i.selection?i.selection():i,f=this._groups,g=a._groups,w=f.length,v=g.length,b=Math.min(w,v),E=new Array(w),S=0;S<b;++S)for(var _=f[S],M=g[S],F=_.length,R=E[S]=new Array(F),B,z=0;z<F;++z)(B=_[z]||M[z])&&(R[z]=B);for(;S<w;++S)E[S]=f[S];return new Gg(E,this._parents)}function kCe(){for(var i=this._groups,a=-1,f=i.length;++a<f;)for(var g=i[a],w=g.length-1,v=g[w],b;--w>=0;)(b=g[w])&&(v&&b.compareDocumentPosition(v)^4&&v.parentNode.insertBefore(b,v),v=b);return this}function ECe(i){i||(i=TCe);function a(F,R){return F&&R?i(F.__data__,R.__data__):!F-!R}for(var f=this._groups,g=f.length,w=new Array(g),v=0;v<g;++v){for(var b=f[v],E=b.length,S=w[v]=new Array(E),_,M=0;M<E;++M)(_=b[M])&&(S[M]=_);S.sort(a)}return new Gg(w,this._parents).order()}function TCe(i,a){return i<a?-1:i>a?1:i>=a?0:NaN}function CCe(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function SCe(){return Array.from(this)}function _Ce(){for(var i=this._groups,a=0,f=i.length;a<f;++a)for(var g=i[a],w=0,v=g.length;w<v;++w){var b=g[w];if(b)return b}return null}function ACe(){let i=0;for(const a of this)++i;return i}function LCe(){return!this.node()}function DCe(i){for(var a=this._groups,f=0,g=a.length;f<g;++f)for(var w=a[f],v=0,b=w.length,E;v<b;++v)(E=w[v])&&i.call(E,E.__data__,v,w);return this}function MCe(i){return function(){this.removeAttribute(i)}}function ICe(i){return function(){this.removeAttributeNS(i.space,i.local)}}function OCe(i,a){return function(){this.setAttribute(i,a)}}function NCe(i,a){return function(){this.setAttributeNS(i.space,i.local,a)}}function PCe(i,a){return function(){var f=a.apply(this,arguments);f==null?this.removeAttribute(i):this.setAttribute(i,f)}}function FCe(i,a){return function(){var f=a.apply(this,arguments);f==null?this.removeAttributeNS(i.space,i.local):this.setAttributeNS(i.space,i.local,f)}}function BCe(i,a){var f=oW(i);if(arguments.length<2){var g=this.node();return f.local?g.getAttributeNS(f.space,f.local):g.getAttribute(f)}return this.each((a==null?f.local?ICe:MCe:typeof a=="function"?f.local?FCe:PCe:f.local?NCe:OCe)(f,a))}function NOt(i){return i.ownerDocument&&i.ownerDocument.defaultView||i.document&&i||i.defaultView}function RCe(i){return function(){this.style.removeProperty(i)}}function jCe(i,a,f){return function(){this.style.setProperty(i,a,f)}}function $Ce(i,a,f){return function(){var g=a.apply(this,arguments);g==null?this.style.removeProperty(i):this.style.setProperty(i,g,f)}}function zCe(i,a,f){return arguments.length>1?this.each((a==null?RCe:typeof a=="function"?$Ce:jCe)(i,a,f??"")):RL(this.node(),i)}function RL(i,a){return i.style.getPropertyValue(a)||NOt(i).getComputedStyle(i,null).getPropertyValue(a)}function qCe(i){return function(){delete this[i]}}function HCe(i,a){return function(){this[i]=a}}function VCe(i,a){return function(){var f=a.apply(this,arguments);f==null?delete this[i]:this[i]=f}}function UCe(i,a){return arguments.length>1?this.each((a==null?qCe:typeof a=="function"?VCe:HCe)(i,a)):this.node()[i]}function POt(i){return i.trim().split(/^|\s+/)}function k0t(i){return i.classList||new FOt(i)}function FOt(i){this._node=i,this._names=POt(i.getAttribute("class")||"")}FOt.prototype={add:function(i){var a=this._names.indexOf(i);a<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var a=this._names.indexOf(i);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function BOt(i,a){for(var f=k0t(i),g=-1,w=a.length;++g<w;)f.add(a[g])}function ROt(i,a){for(var f=k0t(i),g=-1,w=a.length;++g<w;)f.remove(a[g])}function GCe(i){return function(){BOt(this,i)}}function KCe(i){return function(){ROt(this,i)}}function WCe(i,a){return function(){(a.apply(this,arguments)?BOt:ROt)(this,i)}}function YCe(i,a){var f=POt(i+"");if(arguments.length<2){for(var g=k0t(this.node()),w=-1,v=f.length;++w<v;)if(!g.contains(f[w]))return!1;return!0}return this.each((typeof a=="function"?WCe:a?GCe:KCe)(f,a))}function XCe(){this.textContent=""}function QCe(i){return function(){this.textContent=i}}function JCe(i){return function(){var a=i.apply(this,arguments);this.textContent=a??""}}function ZCe(i){return arguments.length?this.each(i==null?XCe:(typeof i=="function"?JCe:QCe)(i)):this.node().textContent}function tSe(){this.innerHTML=""}function eSe(i){return function(){this.innerHTML=i}}function nSe(i){return function(){var a=i.apply(this,arguments);this.innerHTML=a??""}}function rSe(i){return arguments.length?this.each(i==null?tSe:(typeof i=="function"?nSe:eSe)(i)):this.node().innerHTML}function iSe(){this.nextSibling&&this.parentNode.appendChild(this)}function sSe(){return this.each(iSe)}function aSe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function oSe(){return this.each(aSe)}function cSe(i){var a=typeof i=="function"?i:AOt(i);return this.select(function(){return this.appendChild(a.apply(this,arguments))})}function uSe(){return null}function lSe(i,a){var f=typeof i=="function"?i:AOt(i),g=a==null?uSe:typeof a=="function"?a:x0t(a);return this.select(function(){return this.insertBefore(f.apply(this,arguments),g.apply(this,arguments)||null)})}function hSe(){var i=this.parentNode;i&&i.removeChild(this)}function fSe(){return this.each(hSe)}function dSe(){var i=this.cloneNode(!1),a=this.parentNode;return a?a.insertBefore(i,this.nextSibling):i}function gSe(){var i=this.cloneNode(!0),a=this.parentNode;return a?a.insertBefore(i,this.nextSibling):i}function pSe(i){return this.select(i?gSe:dSe)}function bSe(i){return arguments.length?this.property("__data__",i):this.node().__data__}function wSe(i){return function(a){i.call(this,a,this.__data__)}}function mSe(i){return i.trim().split(/^|\s+/).map(function(a){var f="",g=a.indexOf(".");return g>=0&&(f=a.slice(g+1),a=a.slice(0,g)),{type:a,name:f}})}function vSe(i){return function(){var a=this.__on;if(a){for(var f=0,g=-1,w=a.length,v;f<w;++f)v=a[f],(!i.type||v.type===i.type)&&v.name===i.name?this.removeEventListener(v.type,v.listener,v.options):a[++g]=v;++g?a.length=g:delete this.__on}}}function ySe(i,a,f){return function(){var g=this.__on,w,v=wSe(a);if(g){for(var b=0,E=g.length;b<E;++b)if((w=g[b]).type===i.type&&w.name===i.name){this.removeEventListener(w.type,w.listener,w.options),this.addEventListener(w.type,w.listener=v,w.options=f),w.value=a;return}}this.addEventListener(i.type,v,f),w={type:i.type,name:i.name,value:a,listener:v,options:f},g?g.push(w):this.__on=[w]}}function xSe(i,a,f){var g=mSe(i+""),w,v=g.length,b;if(arguments.length<2){var E=this.node().__on;if(E){for(var S=0,_=E.length,M;S<_;++S)for(w=0,M=E[S];w<v;++w)if((b=g[w]).type===M.type&&b.name===M.name)return M.value}return}for(E=a?ySe:vSe,w=0;w<v;++w)this.each(E(g[w],a,f));return this}function jOt(i,a,f){var g=NOt(i),w=g.CustomEvent;typeof w=="function"?w=new w(a,f):(w=g.document.createEvent("Event"),f?(w.initEvent(a,f.bubbles,f.cancelable),w.detail=f.detail):w.initEvent(a,!1,!1)),i.dispatchEvent(w)}function kSe(i,a){return function(){return jOt(this,i,a)}}function ESe(i,a){return function(){return jOt(this,i,a.apply(this,arguments))}}function TSe(i,a){return this.each((typeof a=="function"?ESe:kSe)(i,a))}function*CSe(){for(var i=this._groups,a=0,f=i.length;a<f;++a)for(var g=i[a],w=0,v=g.length,b;w<v;++w)(b=g[w])&&(yield b)}var E0t=[null];function Gg(i,a){this._groups=i,this._parents=a}function JP(){return new Gg([[document.documentElement]],E0t)}function SSe(){return this}Gg.prototype=JP.prototype={constructor:Gg,select:Z9e,selectAll:nCe,selectChild:aCe,selectChildren:lCe,filter:hCe,data:wCe,enter:fCe,exit:vCe,join:yCe,merge:xCe,selection:SSe,order:kCe,sort:ECe,call:CCe,nodes:SCe,node:_Ce,size:ACe,empty:LCe,each:DCe,attr:BCe,style:zCe,property:UCe,classed:YCe,text:ZCe,html:rSe,raise:sSe,lower:oSe,append:cSe,insert:lSe,remove:fSe,clone:pSe,datum:bSe,on:xSe,dispatch:TSe,[Symbol.iterator]:CSe};function Tr(i){return typeof i=="string"?new Gg([[document.querySelector(i)]],[document.documentElement]):new Gg([[i]],E0t)}function $Ot(i){return typeof i=="string"?new Gg([document.querySelectorAll(i)],[document.documentElement]):new Gg([LOt(i)],E0t)}function ZP(i,a,f){i.prototype=a.prototype=f,f.constructor=i}function uW(i,a){var f=Object.create(i.prototype);for(var g in a)f[g]=a[g];return f}function n9(){}var tF=.7,lW=1/tF,jL="\\s*([+-]?\\d+)\\s*",eF="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Q3="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",_Se=/^#([0-9a-f]{3,8})$/,ASe=new RegExp(`^rgb\\(${jL},${jL},${jL}\\)$`),LSe=new RegExp(`^rgb\\(${Q3},${Q3},${Q3}\\)$`),DSe=new RegExp(`^rgba\\(${jL},${jL},${jL},${eF}\\)$`),MSe=new RegExp(`^rgba\\(${Q3},${Q3},${Q3},${eF}\\)$`),ISe=new RegExp(`^hsl\\(${eF},${Q3},${Q3}\\)$`),OSe=new RegExp(`^hsla\\(${eF},${Q3},${Q3},${eF}\\)$`),zOt={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ZP(n9,r9,{copy(i){return Object.assign(new this.constructor,this,i)},displayable(){return this.rgb().displayable()},hex:qOt,formatHex:qOt,formatHex8:NSe,formatHsl:PSe,formatRgb:HOt,toString:HOt});function qOt(){return this.rgb().formatHex()}function NSe(){return this.rgb().formatHex8()}function PSe(){return YOt(this).formatHsl()}function HOt(){return this.rgb().formatRgb()}function r9(i){var a,f;return i=(i+"").trim().toLowerCase(),(a=_Se.exec(i))?(f=a[1].length,a=parseInt(a[1],16),f===6?VOt(a):f===3?new eg(a>>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):f===8?hW(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):f===4?hW(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=ASe.exec(i))?new eg(a[1],a[2],a[3],1):(a=LSe.exec(i))?new eg(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=DSe.exec(i))?hW(a[1],a[2],a[3],a[4]):(a=MSe.exec(i))?hW(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=ISe.exec(i))?WOt(a[1],a[2]/100,a[3]/100,1):(a=OSe.exec(i))?WOt(a[1],a[2]/100,a[3]/100,a[4]):zOt.hasOwnProperty(i)?VOt(zOt[i]):i==="transparent"?new eg(NaN,NaN,NaN,0):null}function VOt(i){return new eg(i>>16&255,i>>8&255,i&255,1)}function hW(i,a,f,g){return g<=0&&(i=a=f=NaN),new eg(i,a,f,g)}function UOt(i){return i instanceof n9||(i=r9(i)),i?(i=i.rgb(),new eg(i.r,i.g,i.b,i.opacity)):new eg}function T0t(i,a,f,g){return arguments.length===1?UOt(i):new eg(i,a,f,g??1)}function eg(i,a,f,g){this.r=+i,this.g=+a,this.b=+f,this.opacity=+g}ZP(eg,T0t,uW(n9,{brighter(i){return i=i==null?lW:Math.pow(lW,i),new eg(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?tF:Math.pow(tF,i),new eg(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new eg(i9(this.r),i9(this.g),i9(this.b),fW(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:GOt,formatHex:GOt,formatHex8:FSe,formatRgb:KOt,toString:KOt}));function GOt(){return`#${s9(this.r)}${s9(this.g)}${s9(this.b)}`}function FSe(){return`#${s9(this.r)}${s9(this.g)}${s9(this.b)}${s9((isNaN(this.opacity)?1:this.opacity)*255)}`}function KOt(){const i=fW(this.opacity);return`${i===1?"rgb(":"rgba("}${i9(this.r)}, ${i9(this.g)}, ${i9(this.b)}${i===1?")":`, ${i})`}`}function fW(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function i9(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function s9(i){return i=i9(i),(i<16?"0":"")+i.toString(16)}function WOt(i,a,f,g){return g<=0?i=a=f=NaN:f<=0||f>=1?i=a=NaN:a<=0&&(i=NaN),new jv(i,a,f,g)}function YOt(i){if(i instanceof jv)return new jv(i.h,i.s,i.l,i.opacity);if(i instanceof n9||(i=r9(i)),!i)return new jv;if(i instanceof jv)return i;i=i.rgb();var a=i.r/255,f=i.g/255,g=i.b/255,w=Math.min(a,f,g),v=Math.max(a,f,g),b=NaN,E=v-w,S=(v+w)/2;return E?(a===v?b=(f-g)/E+(f<g)*6:f===v?b=(g-a)/E+2:b=(a-f)/E+4,E/=S<.5?v+w:2-v-w,b*=60):E=S>0&&S<1?0:b,new jv(b,E,S,i.opacity)}function BSe(i,a,f,g){return arguments.length===1?YOt(i):new jv(i,a,f,g??1)}function jv(i,a,f,g){this.h=+i,this.s=+a,this.l=+f,this.opacity=+g}ZP(jv,BSe,uW(n9,{brighter(i){return i=i==null?lW:Math.pow(lW,i),new jv(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?tF:Math.pow(tF,i),new jv(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,a=isNaN(i)||isNaN(this.s)?0:this.s,f=this.l,g=f+(f<.5?f:1-f)*a,w=2*f-g;return new eg(C0t(i>=240?i-240:i+120,w,g),C0t(i,w,g),C0t(i<120?i+240:i-120,w,g),this.opacity)},clamp(){return new jv(XOt(this.h),dW(this.s),dW(this.l),fW(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=fW(this.opacity);return`${i===1?"hsl(":"hsla("}${XOt(this.h)}, ${dW(this.s)*100}%, ${dW(this.l)*100}%${i===1?")":`, ${i})`}`}}));function XOt(i){return i=(i||0)%360,i<0?i+360:i}function dW(i){return Math.max(0,Math.min(1,i||0))}function C0t(i,a,f){return(i<60?a+(f-a)*i/60:i<180?f:i<240?a+(f-a)*(240-i)/60:a)*255}const RSe=Math.PI/180,jSe=180/Math.PI,gW=18,QOt=.96422,JOt=1,ZOt=.82521,tNt=4/29,$L=6/29,eNt=3*$L*$L,$Se=$L*$L*$L;function nNt(i){if(i instanceof J3)return new J3(i.l,i.a,i.b,i.opacity);if(i instanceof xx)return rNt(i);i instanceof eg||(i=UOt(i));var a=L0t(i.r),f=L0t(i.g),g=L0t(i.b),w=S0t((.2225045*a+.7168786*f+.0606169*g)/JOt),v,b;return a===f&&f===g?v=b=w:(v=S0t((.4360747*a+.3850649*f+.1430804*g)/QOt),b=S0t((.0139322*a+.0971045*f+.7141733*g)/ZOt)),new J3(116*w-16,500*(v-w),200*(w-b),i.opacity)}function zSe(i,a,f,g){return arguments.length===1?nNt(i):new J3(i,a,f,g??1)}function J3(i,a,f,g){this.l=+i,this.a=+a,this.b=+f,this.opacity=+g}ZP(J3,zSe,uW(n9,{brighter(i){return new J3(this.l+gW*(i??1),this.a,this.b,this.opacity)},darker(i){return new J3(this.l-gW*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,a=isNaN(this.a)?i:i+this.a/500,f=isNaN(this.b)?i:i-this.b/200;return a=QOt*_0t(a),i=JOt*_0t(i),f=ZOt*_0t(f),new eg(A0t(3.1338561*a-1.6168667*i-.4906146*f),A0t(-.9787684*a+1.9161415*i+.033454*f),A0t(.0719453*a-.2289914*i+1.4052427*f),this.opacity)}}));function S0t(i){return i>$Se?Math.pow(i,1/3):i/eNt+tNt}function _0t(i){return i>$L?i*i*i:eNt*(i-tNt)}function A0t(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function L0t(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function qSe(i){if(i instanceof xx)return new xx(i.h,i.c,i.l,i.opacity);if(i instanceof J3||(i=nNt(i)),i.a===0&&i.b===0)return new xx(NaN,0<i.l&&i.l<100?0:NaN,i.l,i.opacity);var a=Math.atan2(i.b,i.a)*jSe;return new xx(a<0?a+360:a,Math.sqrt(i.a*i.a+i.b*i.b),i.l,i.opacity)}function D0t(i,a,f,g){return arguments.length===1?qSe(i):new xx(i,a,f,g??1)}function xx(i,a,f,g){this.h=+i,this.c=+a,this.l=+f,this.opacity=+g}function rNt(i){if(isNaN(i.h))return new J3(i.l,0,0,i.opacity);var a=i.h*RSe;return new J3(i.l,Math.cos(a)*i.c,Math.sin(a)*i.c,i.opacity)}ZP(xx,D0t,uW(n9,{brighter(i){return new xx(this.h,this.c,this.l+gW*(i??1),this.opacity)},darker(i){return new xx(this.h,this.c,this.l-gW*(i??1),this.opacity)},rgb(){return rNt(this).rgb()}}));const pW=i=>()=>i;function iNt(i,a){return function(f){return i+f*a}}function HSe(i,a,f){return i=Math.pow(i,f),a=Math.pow(a,f)-i,f=1/f,function(g){return Math.pow(i+g*a,f)}}function VSe(i,a){var f=a-i;return f?iNt(i,f>180||f<-180?f-360*Math.round(f/360):f):pW(isNaN(i)?a:i)}function USe(i){return(i=+i)==1?nF:function(a,f){return f-a?HSe(a,f,i):pW(isNaN(a)?f:a)}}function nF(i,a){var f=a-i;return f?iNt(i,f):pW(isNaN(i)?a:i)}const bW=function i(a){var f=USe(a);function g(w,v){var b=f((w=T0t(w)).r,(v=T0t(v)).r),E=f(w.g,v.g),S=f(w.b,v.b),_=nF(w.opacity,v.opacity);return function(M){return w.r=b(M),w.g=E(M),w.b=S(M),w.opacity=_(M),w+""}}return g.gamma=i,g}(1);function GSe(i,a){a||(a=[]);var f=i?Math.min(a.length,i.length):0,g=a.slice(),w;return function(v){for(w=0;w<f;++w)g[w]=i[w]*(1-v)+a[w]*v;return g}}function KSe(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)}function WSe(i,a){var f=a?a.length:0,g=i?Math.min(f,i.length):0,w=new Array(g),v=new Array(f),b;for(b=0;b<g;++b)w[b]=O0t(i[b],a[b]);for(;b<f;++b)v[b]=a[b];return function(E){for(b=0;b<g;++b)v[b]=w[b](E);return v}}function YSe(i,a){var f=new Date;return i=+i,a=+a,function(g){return f.setTime(i*(1-g)+a*g),f}}function $v(i,a){return i=+i,a=+a,function(f){return i*(1-f)+a*f}}function XSe(i,a){var f={},g={},w;(i===null||typeof i!="object")&&(i={}),(a===null||typeof a!="object")&&(a={});for(w in a)w in i?f[w]=O0t(i[w],a[w]):g[w]=a[w];return function(v){for(w in f)g[w]=f[w](v);return g}}var M0t=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,I0t=new RegExp(M0t.source,"g");function QSe(i){return function(){return i}}function JSe(i){return function(a){return i(a)+""}}function sNt(i,a){var f=M0t.lastIndex=I0t.lastIndex=0,g,w,v,b=-1,E=[],S=[];for(i=i+"",a=a+"";(g=M0t.exec(i))&&(w=I0t.exec(a));)(v=w.index)>f&&(v=a.slice(f,v),E[b]?E[b]+=v:E[++b]=v),(g=g[0])===(w=w[0])?E[b]?E[b]+=w:E[++b]=w:(E[++b]=null,S.push({i:b,x:$v(g,w)})),f=I0t.lastIndex;return f<a.length&&(v=a.slice(f),E[b]?E[b]+=v:E[++b]=v),E.length<2?S[0]?JSe(S[0].x):QSe(a):(a=S.length,function(_){for(var M=0,F;M<a;++M)E[(F=S[M]).i]=F.x(_);return E.join("")})}function O0t(i,a){var f=typeof a,g;return a==null||f==="boolean"?pW(a):(f==="number"?$v:f==="string"?(g=r9(a))?(a=g,bW):sNt:a instanceof r9?bW:a instanceof Date?YSe:KSe(a)?GSe:Array.isArray(a)?WSe:typeof a.valueOf!="function"&&typeof a.toString!="function"||isNaN(a)?XSe:$v)(i,a)}function ZSe(i,a){return i=+i,a=+a,function(f){return Math.round(i*(1-f)+a*f)}}var aNt=180/Math.PI,N0t={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function oNt(i,a,f,g,w,v){var b,E,S;return(b=Math.sqrt(i*i+a*a))&&(i/=b,a/=b),(S=i*f+a*g)&&(f-=i*S,g-=a*S),(E=Math.sqrt(f*f+g*g))&&(f/=E,g/=E,S/=E),i*g<a*f&&(i=-i,a=-a,S=-S,b=-b),{translateX:w,translateY:v,rotate:Math.atan2(a,i)*aNt,skewX:Math.atan(S)*aNt,scaleX:b,scaleY:E}}var wW;function t_e(i){const a=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(i+"");return a.isIdentity?N0t:oNt(a.a,a.b,a.c,a.d,a.e,a.f)}function e_e(i){return i==null||(wW||(wW=document.createElementNS("http://www.w3.org/2000/svg","g")),wW.setAttribute("transform",i),!(i=wW.transform.baseVal.consolidate()))?N0t:(i=i.matrix,oNt(i.a,i.b,i.c,i.d,i.e,i.f))}function cNt(i,a,f,g){function w(_){return _.length?_.pop()+" ":""}function v(_,M,F,R,B,z){if(_!==F||M!==R){var Y=B.push("translate(",null,a,null,f);z.push({i:Y-4,x:$v(_,F)},{i:Y-2,x:$v(M,R)})}else(F||R)&&B.push("translate("+F+a+R+f)}function b(_,M,F,R){_!==M?(_-M>180?M+=360:M-_>180&&(_+=360),R.push({i:F.push(w(F)+"rotate(",null,g)-2,x:$v(_,M)})):M&&F.push(w(F)+"rotate("+M+g)}function E(_,M,F,R){_!==M?R.push({i:F.push(w(F)+"skewX(",null,g)-2,x:$v(_,M)}):M&&F.push(w(F)+"skewX("+M+g)}function S(_,M,F,R,B,z){if(_!==F||M!==R){var Y=B.push(w(B)+"scale(",null,",",null,")");z.push({i:Y-4,x:$v(_,F)},{i:Y-2,x:$v(M,R)})}else(F!==1||R!==1)&&B.push(w(B)+"scale("+F+","+R+")")}return function(_,M){var F=[],R=[];return _=i(_),M=i(M),v(_.translateX,_.translateY,M.translateX,M.translateY,F,R),b(_.rotate,M.rotate,F,R),E(_.skewX,M.skewX,F,R),S(_.scaleX,_.scaleY,M.scaleX,M.scaleY,F,R),_=M=null,function(B){for(var z=-1,Y=R.length,nt;++z<Y;)F[(nt=R[z]).i]=nt.x(B);return F.join("")}}}var n_e=cNt(t_e,"px, ","px)","deg)"),r_e=cNt(e_e,", ",")",")");function i_e(i){return function(a,f){var g=i((a=D0t(a)).h,(f=D0t(f)).h),w=nF(a.c,f.c),v=nF(a.l,f.l),b=nF(a.opacity,f.opacity);return function(E){return a.h=g(E),a.c=w(E),a.l=v(E),a.opacity=b(E),a+""}}}const s_e=i_e(VSe);var zL=0,rF=0,iF=0,uNt=1e3,mW,sF,vW=0,a9=0,yW=0,aF=typeof performance=="object"&&performance.now?performance:Date,lNt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(i){setTimeout(i,17)};function P0t(){return a9||(lNt(a_e),a9=aF.now()+yW)}function a_e(){a9=0}function xW(){this._call=this._time=this._next=null}xW.prototype=hNt.prototype={constructor:xW,restart:function(i,a,f){if(typeof i!="function")throw new TypeError("callback is not a function");f=(f==null?P0t():+f)+(a==null?0:+a),!this._next&&sF!==this&&(sF?sF._next=this:mW=this,sF=this),this._call=i,this._time=f,F0t()},stop:function(){this._call&&(this._call=null,this._time=1/0,F0t())}};function hNt(i,a,f){var g=new xW;return g.restart(i,a,f),g}function o_e(){P0t(),++zL;for(var i=mW,a;i;)(a=a9-i._time)>=0&&i._call.call(void 0,a),i=i._next;--zL}function fNt(){a9=(vW=aF.now())+yW,zL=rF=0;try{o_e()}finally{zL=0,u_e(),a9=0}}function c_e(){var i=aF.now(),a=i-vW;a>uNt&&(yW-=a,vW=i)}function u_e(){for(var i,a=mW,f,g=1/0;a;)a._call?(g>a._time&&(g=a._time),i=a,a=a._next):(f=a._next,a._next=null,a=i?i._next=f:mW=f);sF=i,F0t(g)}function F0t(i){if(!zL){rF&&(rF=clearTimeout(rF));var a=i-a9;a>24?(i<1/0&&(rF=setTimeout(fNt,i-aF.now()-yW)),iF&&(iF=clearInterval(iF))):(iF||(vW=aF.now(),iF=setInterval(c_e,uNt)),zL=1,lNt(fNt))}}function dNt(i,a,f){var g=new xW;return a=a==null?0:+a,g.restart(w=>{g.stop(),i(w+a)},a,f),g}var l_e=COt("start","end","cancel","interrupt"),h_e=[],gNt=0,pNt=1,B0t=2,kW=3,bNt=4,R0t=5,EW=6;function TW(i,a,f,g,w,v){var b=i.__transition;if(!b)i.__transition={};else if(f in b)return;f_e(i,f,{name:a,index:g,group:w,on:l_e,tween:h_e,time:v.time,delay:v.delay,duration:v.duration,ease:v.ease,timer:null,state:gNt})}function j0t(i,a){var f=zv(i,a);if(f.state>gNt)throw new Error("too late; already scheduled");return f}function Z3(i,a){var f=zv(i,a);if(f.state>kW)throw new Error("too late; already running");return f}function zv(i,a){var f=i.__transition;if(!f||!(f=f[a]))throw new Error("transition not found");return f}function f_e(i,a,f){var g=i.__transition,w;g[a]=f,f.timer=hNt(v,0,f.time);function v(_){f.state=pNt,f.timer.restart(b,f.delay,f.time),f.delay<=_&&b(_-f.delay)}function b(_){var M,F,R,B;if(f.state!==pNt)return S();for(M in g)if(B=g[M],B.name===f.name){if(B.state===kW)return dNt(b);B.state===bNt?(B.state=EW,B.timer.stop(),B.on.call("interrupt",i,i.__data__,B.index,B.group),delete g[M]):+M<a&&(B.state=EW,B.timer.stop(),B.on.call("cancel",i,i.__data__,B.index,B.group),delete g[M])}if(dNt(function(){f.state===kW&&(f.state=bNt,f.timer.restart(E,f.delay,f.time),E(_))}),f.state=B0t,f.on.call("start",i,i.__data__,f.index,f.group),f.state===B0t){for(f.state=kW,w=new Array(R=f.tween.length),M=0,F=-1;M<R;++M)(B=f.tween[M].value.call(i,i.__data__,f.index,f.group))&&(w[++F]=B);w.length=F+1}}function E(_){for(var M=_<f.duration?f.ease.call(null,_/f.duration):(f.timer.restart(S),f.state=R0t,1),F=-1,R=w.length;++F<R;)w[F].call(i,M);f.state===R0t&&(f.on.call("end",i,i.__data__,f.index,f.group),S())}function S(){f.state=EW,f.timer.stop(),delete g[a];for(var _ in g)return;delete i.__transition}}function d_e(i,a){var f=i.__transition,g,w,v=!0,b;if(f){a=a==null?null:a+"";for(b in f){if((g=f[b]).name!==a){v=!1;continue}w=g.state>B0t&&g.state<R0t,g.state=EW,g.timer.stop(),g.on.call(w?"interrupt":"cancel",i,i.__data__,g.index,g.group),delete f[b]}v&&delete i.__transition}}function g_e(i){return this.each(function(){d_e(this,i)})}function p_e(i,a){var f,g;return function(){var w=Z3(this,i),v=w.tween;if(v!==f){g=f=v;for(var b=0,E=g.length;b<E;++b)if(g[b].name===a){g=g.slice(),g.splice(b,1);break}}w.tween=g}}function b_e(i,a,f){var g,w;if(typeof f!="function")throw new Error;return function(){var v=Z3(this,i),b=v.tween;if(b!==g){w=(g=b).slice();for(var E={name:a,value:f},S=0,_=w.length;S<_;++S)if(w[S].name===a){w[S]=E;break}S===_&&w.push(E)}v.tween=w}}function w_e(i,a){var f=this._id;if(i+="",arguments.length<2){for(var g=zv(this.node(),f).tween,w=0,v=g.length,b;w<v;++w)if((b=g[w]).name===i)return b.value;return null}return this.each((a==null?p_e:b_e)(f,i,a))}function $0t(i,a,f){var g=i._id;return i.each(function(){var w=Z3(this,g);(w.value||(w.value={}))[a]=f.apply(this,arguments)}),function(w){return zv(w,g).value[a]}}function wNt(i,a){var f;return(typeof a=="number"?$v:a instanceof r9?bW:(f=r9(a))?(a=f,bW):sNt)(i,a)}function m_e(i){return function(){this.removeAttribute(i)}}function v_e(i){return function(){this.removeAttributeNS(i.space,i.local)}}function y_e(i,a,f){var g,w=f+"",v;return function(){var b=this.getAttribute(i);return b===w?null:b===g?v:v=a(g=b,f)}}function x_e(i,a,f){var g,w=f+"",v;return function(){var b=this.getAttributeNS(i.space,i.local);return b===w?null:b===g?v:v=a(g=b,f)}}function k_e(i,a,f){var g,w,v;return function(){var b,E=f(this),S;return E==null?void this.removeAttribute(i):(b=this.getAttribute(i),S=E+"",b===S?null:b===g&&S===w?v:(w=S,v=a(g=b,E)))}}function E_e(i,a,f){var g,w,v;return function(){var b,E=f(this),S;return E==null?void this.removeAttributeNS(i.space,i.local):(b=this.getAttributeNS(i.space,i.local),S=E+"",b===S?null:b===g&&S===w?v:(w=S,v=a(g=b,E)))}}function T_e(i,a){var f=oW(i),g=f==="transform"?r_e:wNt;return this.attrTween(i,typeof a=="function"?(f.local?E_e:k_e)(f,g,$0t(this,"attr."+i,a)):a==null?(f.local?v_e:m_e)(f):(f.local?x_e:y_e)(f,g,a))}function C_e(i,a){return function(f){this.setAttribute(i,a.call(this,f))}}function S_e(i,a){return function(f){this.setAttributeNS(i.space,i.local,a.call(this,f))}}function __e(i,a){var f,g;function w(){var v=a.apply(this,arguments);return v!==g&&(f=(g=v)&&S_e(i,v)),f}return w._value=a,w}function A_e(i,a){var f,g;function w(){var v=a.apply(this,arguments);return v!==g&&(f=(g=v)&&C_e(i,v)),f}return w._value=a,w}function L_e(i,a){var f="attr."+i;if(arguments.length<2)return(f=this.tween(f))&&f._value;if(a==null)return this.tween(f,null);if(typeof a!="function")throw new Error;var g=oW(i);return this.tween(f,(g.local?__e:A_e)(g,a))}function D_e(i,a){return function(){j0t(this,i).delay=+a.apply(this,arguments)}}function M_e(i,a){return a=+a,function(){j0t(this,i).delay=a}}function I_e(i){var a=this._id;return arguments.length?this.each((typeof i=="function"?D_e:M_e)(a,i)):zv(this.node(),a).delay}function O_e(i,a){return function(){Z3(this,i).duration=+a.apply(this,arguments)}}function N_e(i,a){return a=+a,function(){Z3(this,i).duration=a}}function P_e(i){var a=this._id;return arguments.length?this.each((typeof i=="function"?O_e:N_e)(a,i)):zv(this.node(),a).duration}function F_e(i,a){if(typeof a!="function")throw new Error;return function(){Z3(this,i).ease=a}}function B_e(i){var a=this._id;return arguments.length?this.each(F_e(a,i)):zv(this.node(),a).ease}function R_e(i,a){return function(){var f=a.apply(this,arguments);if(typeof f!="function")throw new Error;Z3(this,i).ease=f}}function j_e(i){if(typeof i!="function")throw new Error;return this.each(R_e(this._id,i))}function $_e(i){typeof i!="function"&&(i=MOt(i));for(var a=this._groups,f=a.length,g=new Array(f),w=0;w<f;++w)for(var v=a[w],b=v.length,E=g[w]=[],S,_=0;_<b;++_)(S=v[_])&&i.call(S,S.__data__,_,v)&&E.push(S);return new kx(g,this._parents,this._name,this._id)}function z_e(i){if(i._id!==this._id)throw new Error;for(var a=this._groups,f=i._groups,g=a.length,w=f.length,v=Math.min(g,w),b=new Array(g),E=0;E<v;++E)for(var S=a[E],_=f[E],M=S.length,F=b[E]=new Array(M),R,B=0;B<M;++B)(R=S[B]||_[B])&&(F[B]=R);for(;E<g;++E)b[E]=a[E];return new kx(b,this._parents,this._name,this._id)}function q_e(i){return(i+"").trim().split(/^|\s+/).every(function(a){var f=a.indexOf(".");return f>=0&&(a=a.slice(0,f)),!a||a==="start"})}function H_e(i,a,f){var g,w,v=q_e(a)?j0t:Z3;return function(){var b=v(this,i),E=b.on;E!==g&&(w=(g=E).copy()).on(a,f),b.on=w}}function V_e(i,a){var f=this._id;return arguments.length<2?zv(this.node(),f).on.on(i):this.each(H_e(f,i,a))}function U_e(i){return function(){var a=this.parentNode;for(var f in this.__transition)if(+f!==i)return;a&&a.removeChild(this)}}function G_e(){return this.on("end.remove",U_e(this._id))}function K_e(i){var a=this._name,f=this._id;typeof i!="function"&&(i=x0t(i));for(var g=this._groups,w=g.length,v=new Array(w),b=0;b<w;++b)for(var E=g[b],S=E.length,_=v[b]=new Array(S),M,F,R=0;R<S;++R)(M=E[R])&&(F=i.call(M,M.__data__,R,E))&&("__data__"in M&&(F.__data__=M.__data__),_[R]=F,TW(_[R],a,f,R,_,zv(M,f)));return new kx(v,this._parents,a,f)}function W_e(i){var a=this._name,f=this._id;typeof i!="function"&&(i=DOt(i));for(var g=this._groups,w=g.length,v=[],b=[],E=0;E<w;++E)for(var S=g[E],_=S.length,M,F=0;F<_;++F)if(M=S[F]){for(var R=i.call(M,M.__data__,F,S),B,z=zv(M,f),Y=0,nt=R.length;Y<nt;++Y)(B=R[Y])&&TW(B,a,f,Y,R,z);v.push(R),b.push(M)}return new kx(v,b,a,f)}var Y_e=JP.prototype.constructor;function X_e(){return new Y_e(this._groups,this._parents)}function Q_e(i,a){var f,g,w;return function(){var v=RL(this,i),b=(this.style.removeProperty(i),RL(this,i));return v===b?null:v===f&&b===g?w:w=a(f=v,g=b)}}function mNt(i){return function(){this.style.removeProperty(i)}}function J_e(i,a,f){var g,w=f+"",v;return function(){var b=RL(this,i);return b===w?null:b===g?v:v=a(g=b,f)}}function Z_e(i,a,f){var g,w,v;return function(){var b=RL(this,i),E=f(this),S=E+"";return E==null&&(S=E=(this.style.removeProperty(i),RL(this,i))),b===S?null:b===g&&S===w?v:(w=S,v=a(g=b,E))}}function tAe(i,a){var f,g,w,v="style."+a,b="end."+v,E;return function(){var S=Z3(this,i),_=S.on,M=S.value[v]==null?E||(E=mNt(a)):void 0;(_!==f||w!==M)&&(g=(f=_).copy()).on(b,w=M),S.on=g}}function eAe(i,a,f){var g=(i+="")=="transform"?n_e:wNt;return a==null?this.styleTween(i,Q_e(i,g)).on("end.style."+i,mNt(i)):typeof a=="function"?this.styleTween(i,Z_e(i,g,$0t(this,"style."+i,a))).each(tAe(this._id,i)):this.styleTween(i,J_e(i,g,a),f).on("end.style."+i,null)}function nAe(i,a,f){return function(g){this.style.setProperty(i,a.call(this,g),f)}}function rAe(i,a,f){var g,w;function v(){var b=a.apply(this,arguments);return b!==w&&(g=(w=b)&&nAe(i,b,f)),g}return v._value=a,v}function iAe(i,a,f){var g="style."+(i+="");if(arguments.length<2)return(g=this.tween(g))&&g._value;if(a==null)return this.tween(g,null);if(typeof a!="function")throw new Error;return this.tween(g,rAe(i,a,f??""))}function sAe(i){return function(){this.textContent=i}}function aAe(i){return function(){var a=i(this);this.textContent=a??""}}function oAe(i){return this.tween("text",typeof i=="function"?aAe($0t(this,"text",i)):sAe(i==null?"":i+""))}function cAe(i){return function(a){this.textContent=i.call(this,a)}}function uAe(i){var a,f;function g(){var w=i.apply(this,arguments);return w!==f&&(a=(f=w)&&cAe(w)),a}return g._value=i,g}function lAe(i){var a="text";if(arguments.length<1)return(a=this.tween(a))&&a._value;if(i==null)return this.tween(a,null);if(typeof i!="function")throw new Error;return this.tween(a,uAe(i))}function hAe(){for(var i=this._name,a=this._id,f=vNt(),g=this._groups,w=g.length,v=0;v<w;++v)for(var b=g[v],E=b.length,S,_=0;_<E;++_)if(S=b[_]){var M=zv(S,a);TW(S,i,f,_,b,{time:M.time+M.delay+M.duration,delay:0,duration:M.duration,ease:M.ease})}return new kx(g,this._parents,i,f)}function fAe(){var i,a,f=this,g=f._id,w=f.size();return new Promise(function(v,b){var E={value:b},S={value:function(){--w===0&&v()}};f.each(function(){var _=Z3(this,g),M=_.on;M!==i&&(a=(i=M).copy(),a._.cancel.push(E),a._.interrupt.push(E),a._.end.push(S)),_.on=a}),w===0&&v()})}var dAe=0;function kx(i,a,f,g){this._groups=i,this._parents=a,this._name=f,this._id=g}function vNt(){return++dAe}var Ex=JP.prototype;kx.prototype={constructor:kx,select:K_e,selectAll:W_e,selectChild:Ex.selectChild,selectChildren:Ex.selectChildren,filter:$_e,merge:z_e,selection:X_e,transition:hAe,call:Ex.call,nodes:Ex.nodes,node:Ex.node,size:Ex.size,empty:Ex.empty,each:Ex.each,on:V_e,attr:T_e,attrTween:L_e,style:eAe,styleTween:iAe,text:oAe,textTween:lAe,remove:G_e,tween:w_e,delay:I_e,duration:P_e,ease:B_e,easeVarying:j_e,end:fAe,[Symbol.iterator]:Ex[Symbol.iterator]};function gAe(i){return((i*=2)<=1?i*i*i:(i-=2)*i*i+2)/2}var pAe={time:null,delay:0,duration:250,ease:gAe};function bAe(i,a){for(var f;!(f=i.__transition)||!(f=f[a]);)if(!(i=i.parentNode))throw new Error(`transition ${a} not found`);return f}function wAe(i){var a,f;i instanceof kx?(a=i._id,i=i._name):(a=vNt(),(f=pAe).time=P0t(),i=i==null?null:i+"");for(var g=this._groups,w=g.length,v=0;v<w;++v)for(var b=g[v],E=b.length,S,_=0;_<E;++_)(S=b[_])&&TW(S,i,a,_,b,f||bAe(S,a));return new kx(g,this._parents,i,a)}JP.prototype.interrupt=g_e,JP.prototype.transition=wAe;const z0t=Math.PI,q0t=2*z0t,o9=1e-6,mAe=q0t-o9;function yNt(i){this._+=i[0];for(let a=1,f=i.length;a<f;++a)this._+=arguments[a]+i[a]}function vAe(i){let a=Math.floor(i);if(!(a>=0))throw new Error(`invalid digits: ${i}`);if(a>15)return yNt;const f=10**a;return function(g){this._+=g[0];for(let w=1,v=g.length;w<v;++w)this._+=Math.round(arguments[w]*f)/f+g[w]}}let yAe=class{constructor(a){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=a==null?yNt:vAe(a)}moveTo(a,f){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+f}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(a,f){this._append`L${this._x1=+a},${this._y1=+f}`}quadraticCurveTo(a,f,g,w){this._append`Q${+a},${+f},${this._x1=+g},${this._y1=+w}`}bezierCurveTo(a,f,g,w,v,b){this._append`C${+a},${+f},${+g},${+w},${this._x1=+v},${this._y1=+b}`}arcTo(a,f,g,w,v){if(a=+a,f=+f,g=+g,w=+w,v=+v,v<0)throw new Error(`negative radius: ${v}`);let b=this._x1,E=this._y1,S=g-a,_=w-f,M=b-a,F=E-f,R=M*M+F*F;if(this._x1===null)this._append`M${this._x1=a},${this._y1=f}`;else if(R>o9)if(!(Math.abs(F*S-_*M)>o9)||!v)this._append`L${this._x1=a},${this._y1=f}`;else{let B=g-b,z=w-E,Y=S*S+_*_,nt=B*B+z*z,ot=Math.sqrt(Y),ft=Math.sqrt(R),wt=v*Math.tan((z0t-Math.acos((Y+R-nt)/(2*ot*ft)))/2),mt=wt/ft,ct=wt/ot;Math.abs(mt-1)>o9&&this._append`L${a+mt*M},${f+mt*F}`,this._append`A${v},${v},0,0,${+(F*B>M*z)},${this._x1=a+ct*S},${this._y1=f+ct*_}`}}arc(a,f,g,w,v,b){if(a=+a,f=+f,g=+g,b=!!b,g<0)throw new Error(`negative radius: ${g}`);let E=g*Math.cos(w),S=g*Math.sin(w),_=a+E,M=f+S,F=1^b,R=b?w-v:v-w;this._x1===null?this._append`M${_},${M}`:(Math.abs(this._x1-_)>o9||Math.abs(this._y1-M)>o9)&&this._append`L${_},${M}`,g&&(R<0&&(R=R%q0t+q0t),R>mAe?this._append`A${g},${g},0,1,${F},${a-E},${f-S}A${g},${g},0,1,${F},${this._x1=_},${this._y1=M}`:R>o9&&this._append`A${g},${g},0,${+(R>=z0t)},${F},${this._x1=a+g*Math.cos(v)},${this._y1=f+g*Math.sin(v)}`)}rect(a,f,g,w){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+f}h${g=+g}v${+w}h${-g}Z`}toString(){return this._}};function xAe(i){if(!i.ok)throw new Error(i.status+" "+i.statusText);return i.text()}function kAe(i,a){return fetch(i,a).then(xAe)}function EAe(i){return(a,f)=>kAe(a,f).then(g=>new DOMParser().parseFromString(g,i))}var TAe=EAe("image/svg+xml");function CAe(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function CW(i,a){if((f=(i=a?i.toExponential(a-1):i.toExponential()).indexOf("e"))<0)return null;var f,g=i.slice(0,f);return[g.length>1?g[0]+g.slice(2):g,+i.slice(f+1)]}function qL(i){return i=CW(Math.abs(i)),i?i[1]:NaN}function SAe(i,a){return function(f,g){for(var w=f.length,v=[],b=0,E=i[0],S=0;w>0&&E>0&&(S+E+1>g&&(E=Math.max(1,g-S)),v.push(f.substring(w-=E,w+E)),!((S+=E+1)>g));)E=i[b=(b+1)%i.length];return v.reverse().join(a)}}function _Ae(i){return function(a){return a.replace(/[0-9]/g,function(f){return i[+f]})}}var AAe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function SW(i){if(!(a=AAe.exec(i)))throw new Error("invalid format: "+i);var a;return new H0t({fill:a[1],align:a[2],sign:a[3],symbol:a[4],zero:a[5],width:a[6],comma:a[7],precision:a[8]&&a[8].slice(1),trim:a[9],type:a[10]})}SW.prototype=H0t.prototype;function H0t(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}H0t.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function LAe(i){t:for(var a=i.length,f=1,g=-1,w;f<a;++f)switch(i[f]){case".":g=w=f;break;case"0":g===0&&(g=f),w=f;break;default:if(!+i[f])break t;g>0&&(g=0);break}return g>0?i.slice(0,g)+i.slice(w+1):i}var xNt;function DAe(i,a){var f=CW(i,a);if(!f)return i+"";var g=f[0],w=f[1],v=w-(xNt=Math.max(-8,Math.min(8,Math.floor(w/3)))*3)+1,b=g.length;return v===b?g:v>b?g+new Array(v-b+1).join("0"):v>0?g.slice(0,v)+"."+g.slice(v):"0."+new Array(1-v).join("0")+CW(i,Math.max(0,a+v-1))[0]}function kNt(i,a){var f=CW(i,a);if(!f)return i+"";var g=f[0],w=f[1];return w<0?"0."+new Array(-w).join("0")+g:g.length>w+1?g.slice(0,w+1)+"."+g.slice(w+1):g+new Array(w-g.length+2).join("0")}const ENt={"%":(i,a)=>(i*100).toFixed(a),b:i=>Math.round(i).toString(2),c:i=>i+"",d:CAe,e:(i,a)=>i.toExponential(a),f:(i,a)=>i.toFixed(a),g:(i,a)=>i.toPrecision(a),o:i=>Math.round(i).toString(8),p:(i,a)=>kNt(i*100,a),r:kNt,s:DAe,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function TNt(i){return i}var CNt=Array.prototype.map,SNt=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function MAe(i){var a=i.grouping===void 0||i.thousands===void 0?TNt:SAe(CNt.call(i.grouping,Number),i.thousands+""),f=i.currency===void 0?"":i.currency[0]+"",g=i.currency===void 0?"":i.currency[1]+"",w=i.decimal===void 0?".":i.decimal+"",v=i.numerals===void 0?TNt:_Ae(CNt.call(i.numerals,String)),b=i.percent===void 0?"%":i.percent+"",E=i.minus===void 0?"−":i.minus+"",S=i.nan===void 0?"NaN":i.nan+"";function _(F){F=SW(F);var R=F.fill,B=F.align,z=F.sign,Y=F.symbol,nt=F.zero,ot=F.width,ft=F.comma,wt=F.precision,mt=F.trim,ct=F.type;ct==="n"?(ft=!0,ct="g"):ENt[ct]||(wt===void 0&&(wt=12),mt=!0,ct="g"),(nt||R==="0"&&B==="=")&&(nt=!0,R="0",B="=");var rt=Y==="$"?f:Y==="#"&&/[boxX]/.test(ct)?"0"+ct.toLowerCase():"",it=Y==="$"?g:/[%p]/.test(ct)?b:"",gt=ENt[ct],Q=/[defgprs%]/.test(ct);wt=wt===void 0?6:/[gprs]/.test(ct)?Math.max(1,Math.min(21,wt)):Math.max(0,Math.min(20,wt));function dt(K){var yt=rt,V=it,Ot,It,jt;if(ct==="c")V=gt(K)+V,K="";else{K=+K;var xt=K<0||1/K<0;if(K=isNaN(K)?S:gt(Math.abs(K),wt),mt&&(K=LAe(K)),xt&&+K==0&&z!=="+"&&(xt=!1),yt=(xt?z==="("?z:E:z==="-"||z==="("?"":z)+yt,V=(ct==="s"?SNt[8+xNt/3]:"")+V+(xt&&z==="("?")":""),Q){for(Ot=-1,It=K.length;++Ot<It;)if(jt=K.charCodeAt(Ot),48>jt||jt>57){V=(jt===46?w+K.slice(Ot+1):K.slice(Ot))+V,K=K.slice(0,Ot);break}}}ft&&!nt&&(K=a(K,1/0));var Ft=yt.length+K.length+V.length,Ct=Ft<ot?new Array(ot-Ft+1).join(R):"";switch(ft&&nt&&(K=a(Ct+K,Ct.length?ot-V.length:1/0),Ct=""),B){case"<":K=yt+K+V+Ct;break;case"=":K=yt+Ct+K+V;break;case"^":K=Ct.slice(0,Ft=Ct.length>>1)+yt+K+V+Ct.slice(Ft);break;default:K=Ct+yt+K+V;break}return v(K)}return dt.toString=function(){return F+""},dt}function M(F,R){var B=_((F=SW(F),F.type="f",F)),z=Math.max(-8,Math.min(8,Math.floor(qL(R)/3)))*3,Y=Math.pow(10,-z),nt=SNt[8+z/3];return function(ot){return B(Y*ot)+nt}}return{format:_,formatPrefix:M}}var _W,_Nt,ANt;IAe({thousands:",",grouping:[3],currency:["$",""]});function IAe(i){return _W=MAe(i),_Nt=_W.format,ANt=_W.formatPrefix,_W}function OAe(i){return Math.max(0,-qL(Math.abs(i)))}function NAe(i,a){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(qL(a)/3)))*3-qL(Math.abs(i)))}function PAe(i,a){return i=Math.abs(i),a=Math.abs(a)-i,Math.max(0,qL(a)-qL(i))+1}function AW(i,a){switch(arguments.length){case 0:break;case 1:this.range(i);break;default:this.range(a).domain(i);break}return this}const LNt=Symbol("implicit");function oF(){var i=new xOt,a=[],f=[],g=LNt;function w(v){let b=i.get(v);if(b===void 0){if(g!==LNt)return g;i.set(v,b=a.push(v)-1)}return f[b%f.length]}return w.domain=function(v){if(!arguments.length)return a.slice();a=[],i=new xOt;for(const b of v)i.has(b)||i.set(b,a.push(b)-1);return w},w.range=function(v){return arguments.length?(f=Array.from(v),w):f.slice()},w.unknown=function(v){return arguments.length?(g=v,w):g},w.copy=function(){return oF(a,f).unknown(g)},AW.apply(w,arguments),w}function V0t(){var i=oF().unknown(void 0),a=i.domain,f=i.range,g=0,w=1,v,b,E=!1,S=0,_=0,M=.5;delete i.unknown;function F(){var R=a().length,B=w<g,z=B?w:g,Y=B?g:w;v=(Y-z)/Math.max(1,R-S+_*2),E&&(v=Math.floor(v)),z+=(Y-z-v*(R-S))*M,b=v*(1-S),E&&(z=Math.round(z),b=Math.round(b));var nt=R9e(R).map(function(ot){return z+v*ot});return f(B?nt.reverse():nt)}return i.domain=function(R){return arguments.length?(a(R),F()):a()},i.range=function(R){return arguments.length?([g,w]=R,g=+g,w=+w,F()):[g,w]},i.rangeRound=function(R){return[g,w]=R,g=+g,w=+w,E=!0,F()},i.bandwidth=function(){return b},i.step=function(){return v},i.round=function(R){return arguments.length?(E=!!R,F()):E},i.padding=function(R){return arguments.length?(S=Math.min(1,_=+R),F()):S},i.paddingInner=function(R){return arguments.length?(S=Math.min(1,R),F()):S},i.paddingOuter=function(R){return arguments.length?(_=+R,F()):_},i.align=function(R){return arguments.length?(M=Math.max(0,Math.min(1,R)),F()):M},i.copy=function(){return V0t(a(),[g,w]).round(E).paddingInner(S).paddingOuter(_).align(M)},AW.apply(F(),arguments)}function FAe(i){return function(){return i}}function BAe(i){return+i}var DNt=[0,1];function HL(i){return i}function U0t(i,a){return(a-=i=+i)?function(f){return(f-i)/a}:FAe(isNaN(a)?NaN:.5)}function RAe(i,a){var f;return i>a&&(f=i,i=a,a=f),function(g){return Math.max(i,Math.min(a,g))}}function jAe(i,a,f){var g=i[0],w=i[1],v=a[0],b=a[1];return w<g?(g=U0t(w,g),v=f(b,v)):(g=U0t(g,w),v=f(v,b)),function(E){return v(g(E))}}function $Ae(i,a,f){var g=Math.min(i.length,a.length)-1,w=new Array(g),v=new Array(g),b=-1;for(i[g]<i[0]&&(i=i.slice().reverse(),a=a.slice().reverse());++b<g;)w[b]=U0t(i[b],i[b+1]),v[b]=f(a[b],a[b+1]);return function(E){var S=A9e(i,E,1,g)-1;return v[S](w[S](E))}}function MNt(i,a){return a.domain(i.domain()).range(i.range()).interpolate(i.interpolate()).clamp(i.clamp()).unknown(i.unknown())}function zAe(){var i=DNt,a=DNt,f=O0t,g,w,v,b=HL,E,S,_;function M(){var R=Math.min(i.length,a.length);return b!==HL&&(b=RAe(i[0],i[R-1])),E=R>2?$Ae:jAe,S=_=null,F}function F(R){return R==null||isNaN(R=+R)?v:(S||(S=E(i.map(g),a,f)))(g(b(R)))}return F.invert=function(R){return b(w((_||(_=E(a,i.map(g),$v)))(R)))},F.domain=function(R){return arguments.length?(i=Array.from(R,BAe),M()):i.slice()},F.range=function(R){return arguments.length?(a=Array.from(R),M()):a.slice()},F.rangeRound=function(R){return a=Array.from(R),f=ZSe,M()},F.clamp=function(R){return arguments.length?(b=R?!0:HL,M()):b!==HL},F.interpolate=function(R){return arguments.length?(f=R,M()):f},F.unknown=function(R){return arguments.length?(v=R,F):v},function(R,B){return g=R,w=B,M()}}function INt(){return zAe()(HL,HL)}function qAe(i,a,f,g){var w=w0t(i,a,f),v;switch(g=SW(g??",f"),g.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(a));return g.precision==null&&!isNaN(v=NAe(w,b))&&(g.precision=v),ANt(g,b)}case"":case"e":case"g":case"p":case"r":{g.precision==null&&!isNaN(v=PAe(w,Math.max(Math.abs(i),Math.abs(a))))&&(g.precision=v-(g.type==="e"));break}case"f":case"%":{g.precision==null&&!isNaN(v=OAe(w))&&(g.precision=v-(g.type==="%")*2);break}}return _Nt(g)}function HAe(i){var a=i.domain;return i.ticks=function(f){var g=a();return P9e(g[0],g[g.length-1],f??10)},i.tickFormat=function(f,g){var w=a();return qAe(w[0],w[w.length-1],f??10,g)},i.nice=function(f){f==null&&(f=10);var g=a(),w=0,v=g.length-1,b=g[w],E=g[v],S,_,M=10;for(E<b&&(_=b,b=E,E=_,_=w,w=v,v=_);M-- >0;){if(_=b0t(b,E,f),_===S)return g[w]=b,g[v]=E,a(g);if(_>0)b=Math.floor(b/_)*_,E=Math.ceil(E/_)*_;else if(_<0)b=Math.ceil(b*_)/_,E=Math.floor(E*_)/_;else break;S=_}return i},i}function VL(){var i=INt();return i.copy=function(){return MNt(i,VL())},AW.apply(i,arguments),HAe(i)}function VAe(i,a){i=i.slice();var f=0,g=i.length-1,w=i[f],v=i[g],b;return v<w&&(b=f,f=g,g=b,b=w,w=v,v=b),i[f]=a.floor(w),i[g]=a.ceil(v),i}const G0t=new Date,K0t=new Date;function R1(i,a,f,g){function w(v){return i(v=arguments.length===0?new Date:new Date(+v)),v}return w.floor=v=>(i(v=new Date(+v)),v),w.ceil=v=>(i(v=new Date(v-1)),a(v,1),i(v),v),w.round=v=>{const b=w(v),E=w.ceil(v);return v-b<E-v?b:E},w.offset=(v,b)=>(a(v=new Date(+v),b==null?1:Math.floor(b)),v),w.range=(v,b,E)=>{const S=[];if(v=w.ceil(v),E=E==null?1:Math.floor(E),!(v<b)||!(E>0))return S;let _;do S.push(_=new Date(+v)),a(v,E),i(v);while(_<v&&v<b);return S},w.filter=v=>R1(b=>{if(b>=b)for(;i(b),!v(b);)b.setTime(b-1)},(b,E)=>{if(b>=b)if(E<0)for(;++E<=0;)for(;a(b,-1),!v(b););else for(;--E>=0;)for(;a(b,1),!v(b););}),f&&(w.count=(v,b)=>(G0t.setTime(+v),K0t.setTime(+b),i(G0t),i(K0t),Math.floor(f(G0t,K0t))),w.every=v=>(v=Math.floor(v),!isFinite(v)||!(v>0)?null:v>1?w.filter(g?b=>g(b)%v===0:b=>w.count(0,b)%v===0):w)),w}const UL=R1(()=>{},(i,a)=>{i.setTime(+i+a)},(i,a)=>a-i);UL.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?R1(a=>{a.setTime(Math.floor(a/i)*i)},(a,f)=>{a.setTime(+a+f*i)},(a,f)=>(f-a)/i):UL),UL.range;const Tx=1e3,Kw=Tx*60,Cx=Kw*60,Sx=Cx*24,W0t=Sx*7,ONt=Sx*30,Y0t=Sx*365,f8=R1(i=>{i.setTime(i-i.getMilliseconds())},(i,a)=>{i.setTime(+i+a*Tx)},(i,a)=>(a-i)/Tx,i=>i.getUTCSeconds());f8.range;const cF=R1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*Tx)},(i,a)=>{i.setTime(+i+a*Kw)},(i,a)=>(a-i)/Kw,i=>i.getMinutes());cF.range,R1(i=>{i.setUTCSeconds(0,0)},(i,a)=>{i.setTime(+i+a*Kw)},(i,a)=>(a-i)/Kw,i=>i.getUTCMinutes()).range;const uF=R1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*Tx-i.getMinutes()*Kw)},(i,a)=>{i.setTime(+i+a*Cx)},(i,a)=>(a-i)/Cx,i=>i.getHours());uF.range,R1(i=>{i.setUTCMinutes(0,0,0)},(i,a)=>{i.setTime(+i+a*Cx)},(i,a)=>(a-i)/Cx,i=>i.getUTCHours()).range;const c9=R1(i=>i.setHours(0,0,0,0),(i,a)=>i.setDate(i.getDate()+a),(i,a)=>(a-i-(a.getTimezoneOffset()-i.getTimezoneOffset())*Kw)/Sx,i=>i.getDate()-1);c9.range;const X0t=R1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/Sx,i=>i.getUTCDate()-1);X0t.range,R1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/Sx,i=>Math.floor(i/Sx)).range;function u9(i){return R1(a=>{a.setDate(a.getDate()-(a.getDay()+7-i)%7),a.setHours(0,0,0,0)},(a,f)=>{a.setDate(a.getDate()+f*7)},(a,f)=>(f-a-(f.getTimezoneOffset()-a.getTimezoneOffset())*Kw)/W0t)}const lF=u9(0),hF=u9(1),NNt=u9(2),PNt=u9(3),l9=u9(4),FNt=u9(5),BNt=u9(6);lF.range,hF.range,NNt.range,PNt.range,l9.range,FNt.range,BNt.range;function h9(i){return R1(a=>{a.setUTCDate(a.getUTCDate()-(a.getUTCDay()+7-i)%7),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCDate(a.getUTCDate()+f*7)},(a,f)=>(f-a)/W0t)}const RNt=h9(0),LW=h9(1),UAe=h9(2),GAe=h9(3),GL=h9(4),KAe=h9(5),WAe=h9(6);RNt.range,LW.range,UAe.range,GAe.range,GL.range,KAe.range,WAe.range;const fF=R1(i=>{i.setDate(1),i.setHours(0,0,0,0)},(i,a)=>{i.setMonth(i.getMonth()+a)},(i,a)=>a.getMonth()-i.getMonth()+(a.getFullYear()-i.getFullYear())*12,i=>i.getMonth());fF.range,R1(i=>{i.setUTCDate(1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCMonth(i.getUTCMonth()+a)},(i,a)=>a.getUTCMonth()-i.getUTCMonth()+(a.getUTCFullYear()-i.getUTCFullYear())*12,i=>i.getUTCMonth()).range;const _x=R1(i=>{i.setMonth(0,1),i.setHours(0,0,0,0)},(i,a)=>{i.setFullYear(i.getFullYear()+a)},(i,a)=>a.getFullYear()-i.getFullYear(),i=>i.getFullYear());_x.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:R1(a=>{a.setFullYear(Math.floor(a.getFullYear()/i)*i),a.setMonth(0,1),a.setHours(0,0,0,0)},(a,f)=>{a.setFullYear(a.getFullYear()+f*i)}),_x.range;const f9=R1(i=>{i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCFullYear(i.getUTCFullYear()+a)},(i,a)=>a.getUTCFullYear()-i.getUTCFullYear(),i=>i.getUTCFullYear());f9.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:R1(a=>{a.setUTCFullYear(Math.floor(a.getUTCFullYear()/i)*i),a.setUTCMonth(0,1),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCFullYear(a.getUTCFullYear()+f*i)}),f9.range;function YAe(i,a,f,g,w,v){const b=[[f8,1,Tx],[f8,5,5*Tx],[f8,15,15*Tx],[f8,30,30*Tx],[v,1,Kw],[v,5,5*Kw],[v,15,15*Kw],[v,30,30*Kw],[w,1,Cx],[w,3,3*Cx],[w,6,6*Cx],[w,12,12*Cx],[g,1,Sx],[g,2,2*Sx],[f,1,W0t],[a,1,ONt],[a,3,3*ONt],[i,1,Y0t]];function E(_,M,F){const R=M<_;R&&([_,M]=[M,_]);const B=F&&typeof F.range=="function"?F:S(_,M,F),z=B?B.range(_,+M+1):[];return R?z.reverse():z}function S(_,M,F){const R=Math.abs(M-_)/F,B=p0t(([,,nt])=>nt).right(b,R);if(B===b.length)return i.every(w0t(_/Y0t,M/Y0t,F));if(B===0)return UL.every(Math.max(w0t(_,M,F),1));const[z,Y]=b[R/b[B-1][2]<b[B][2]/R?B-1:B];return z.every(Y)}return[E,S]}const[XAe,QAe]=YAe(_x,fF,lF,c9,uF,cF);function Q0t(i){if(0<=i.y&&i.y<100){var a=new Date(-1,i.m,i.d,i.H,i.M,i.S,i.L);return a.setFullYear(i.y),a}return new Date(i.y,i.m,i.d,i.H,i.M,i.S,i.L)}function J0t(i){if(0<=i.y&&i.y<100){var a=new Date(Date.UTC(-1,i.m,i.d,i.H,i.M,i.S,i.L));return a.setUTCFullYear(i.y),a}return new Date(Date.UTC(i.y,i.m,i.d,i.H,i.M,i.S,i.L))}function dF(i,a,f){return{y:i,m:a,d:f,H:0,M:0,S:0,L:0}}function JAe(i){var a=i.dateTime,f=i.date,g=i.time,w=i.periods,v=i.days,b=i.shortDays,E=i.months,S=i.shortMonths,_=gF(w),M=pF(w),F=gF(v),R=pF(v),B=gF(b),z=pF(b),Y=gF(E),nt=pF(E),ot=gF(S),ft=pF(S),wt={a:xt,A:Ft,b:Ct,B:kt,c:null,d:VNt,e:VNt,f:xLe,g:MLe,G:OLe,H:mLe,I:vLe,j:yLe,L:UNt,m:kLe,M:ELe,p:Gt,q:Fe,Q:QNt,s:JNt,S:TLe,u:CLe,U:SLe,V:_Le,w:ALe,W:LLe,x:null,X:null,y:DLe,Y:ILe,Z:NLe,"%":XNt},mt={a:Mt,A:pn,b:Ae,B:ye,c:null,d:KNt,e:KNt,f:RLe,g:WLe,G:XLe,H:PLe,I:FLe,j:BLe,L:WNt,m:jLe,M:$Le,p:tn,q:sn,Q:QNt,s:JNt,S:zLe,u:qLe,U:HLe,V:VLe,w:ULe,W:GLe,x:null,X:null,y:KLe,Y:YLe,Z:QLe,"%":XNt},ct={a:dt,A:K,b:yt,B:V,c:Ot,d:qNt,e:qNt,f:gLe,g:zNt,G:$Nt,H:HNt,I:HNt,j:lLe,L:dLe,m:uLe,M:hLe,p:Q,q:cLe,Q:bLe,s:wLe,S:fLe,u:rLe,U:iLe,V:sLe,w:nLe,W:aLe,x:It,X:jt,y:zNt,Y:$Nt,Z:oLe,"%":pLe};wt.x=rt(f,wt),wt.X=rt(g,wt),wt.c=rt(a,wt),mt.x=rt(f,mt),mt.X=rt(g,mt),mt.c=rt(a,mt);function rt(be,Ne){return function(Xt){var _e=[],xe=-1,Mn=0,ce=be.length,Br,we,Fi;for(Xt instanceof Date||(Xt=new Date(+Xt));++xe<ce;)be.charCodeAt(xe)===37&&(_e.push(be.slice(Mn,xe)),(we=jNt[Br=be.charAt(++xe)])!=null?Br=be.charAt(++xe):we=Br==="e"?" ":"0",(Fi=Ne[Br])&&(Br=Fi(Xt,we)),_e.push(Br),Mn=xe+1);return _e.push(be.slice(Mn,xe)),_e.join("")}}function it(be,Ne){return function(Xt){var _e=dF(1900,void 0,1),xe=gt(_e,be,Xt+="",0),Mn,ce;if(xe!=Xt.length)return null;if("Q"in _e)return new Date(_e.Q);if("s"in _e)return new Date(_e.s*1e3+("L"in _e?_e.L:0));if(Ne&&!("Z"in _e)&&(_e.Z=0),"p"in _e&&(_e.H=_e.H%12+_e.p*12),_e.m===void 0&&(_e.m="q"in _e?_e.q:0),"V"in _e){if(_e.V<1||_e.V>53)return null;"w"in _e||(_e.w=1),"Z"in _e?(Mn=J0t(dF(_e.y,0,1)),ce=Mn.getUTCDay(),Mn=ce>4||ce===0?LW.ceil(Mn):LW(Mn),Mn=X0t.offset(Mn,(_e.V-1)*7),_e.y=Mn.getUTCFullYear(),_e.m=Mn.getUTCMonth(),_e.d=Mn.getUTCDate()+(_e.w+6)%7):(Mn=Q0t(dF(_e.y,0,1)),ce=Mn.getDay(),Mn=ce>4||ce===0?hF.ceil(Mn):hF(Mn),Mn=c9.offset(Mn,(_e.V-1)*7),_e.y=Mn.getFullYear(),_e.m=Mn.getMonth(),_e.d=Mn.getDate()+(_e.w+6)%7)}else("W"in _e||"U"in _e)&&("w"in _e||(_e.w="u"in _e?_e.u%7:"W"in _e?1:0),ce="Z"in _e?J0t(dF(_e.y,0,1)).getUTCDay():Q0t(dF(_e.y,0,1)).getDay(),_e.m=0,_e.d="W"in _e?(_e.w+6)%7+_e.W*7-(ce+5)%7:_e.w+_e.U*7-(ce+6)%7);return"Z"in _e?(_e.H+=_e.Z/100|0,_e.M+=_e.Z%100,J0t(_e)):Q0t(_e)}}function gt(be,Ne,Xt,_e){for(var xe=0,Mn=Ne.length,ce=Xt.length,Br,we;xe<Mn;){if(_e>=ce)return-1;if(Br=Ne.charCodeAt(xe++),Br===37){if(Br=Ne.charAt(xe++),we=ct[Br in jNt?Ne.charAt(xe++):Br],!we||(_e=we(be,Xt,_e))<0)return-1}else if(Br!=Xt.charCodeAt(_e++))return-1}return _e}function Q(be,Ne,Xt){var _e=_.exec(Ne.slice(Xt));return _e?(be.p=M.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function dt(be,Ne,Xt){var _e=B.exec(Ne.slice(Xt));return _e?(be.w=z.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function K(be,Ne,Xt){var _e=F.exec(Ne.slice(Xt));return _e?(be.w=R.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function yt(be,Ne,Xt){var _e=ot.exec(Ne.slice(Xt));return _e?(be.m=ft.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function V(be,Ne,Xt){var _e=Y.exec(Ne.slice(Xt));return _e?(be.m=nt.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function Ot(be,Ne,Xt){return gt(be,a,Ne,Xt)}function It(be,Ne,Xt){return gt(be,f,Ne,Xt)}function jt(be,Ne,Xt){return gt(be,g,Ne,Xt)}function xt(be){return b[be.getDay()]}function Ft(be){return v[be.getDay()]}function Ct(be){return S[be.getMonth()]}function kt(be){return E[be.getMonth()]}function Gt(be){return w[+(be.getHours()>=12)]}function Fe(be){return 1+~~(be.getMonth()/3)}function Mt(be){return b[be.getUTCDay()]}function pn(be){return v[be.getUTCDay()]}function Ae(be){return S[be.getUTCMonth()]}function ye(be){return E[be.getUTCMonth()]}function tn(be){return w[+(be.getUTCHours()>=12)]}function sn(be){return 1+~~(be.getUTCMonth()/3)}return{format:function(be){var Ne=rt(be+="",wt);return Ne.toString=function(){return be},Ne},parse:function(be){var Ne=it(be+="",!1);return Ne.toString=function(){return be},Ne},utcFormat:function(be){var Ne=rt(be+="",mt);return Ne.toString=function(){return be},Ne},utcParse:function(be){var Ne=it(be+="",!0);return Ne.toString=function(){return be},Ne}}}var jNt={"-":"",_:" ",0:"0"},Ad=/^\s*\d+/,ZAe=/^%/,tLe=/[\\^$*+?|[\]().{}]/g;function Jc(i,a,f){var g=i<0?"-":"",w=(g?-i:i)+"",v=w.length;return g+(v<f?new Array(f-v+1).join(a)+w:w)}function eLe(i){return i.replace(tLe,"\\$&")}function gF(i){return new RegExp("^(?:"+i.map(eLe).join("|")+")","i")}function pF(i){return new Map(i.map((a,f)=>[a.toLowerCase(),f]))}function nLe(i,a,f){var g=Ad.exec(a.slice(f,f+1));return g?(i.w=+g[0],f+g[0].length):-1}function rLe(i,a,f){var g=Ad.exec(a.slice(f,f+1));return g?(i.u=+g[0],f+g[0].length):-1}function iLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.U=+g[0],f+g[0].length):-1}function sLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.V=+g[0],f+g[0].length):-1}function aLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.W=+g[0],f+g[0].length):-1}function $Nt(i,a,f){var g=Ad.exec(a.slice(f,f+4));return g?(i.y=+g[0],f+g[0].length):-1}function zNt(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.y=+g[0]+(+g[0]>68?1900:2e3),f+g[0].length):-1}function oLe(i,a,f){var g=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(a.slice(f,f+6));return g?(i.Z=g[1]?0:-(g[2]+(g[3]||"00")),f+g[0].length):-1}function cLe(i,a,f){var g=Ad.exec(a.slice(f,f+1));return g?(i.q=g[0]*3-3,f+g[0].length):-1}function uLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.m=g[0]-1,f+g[0].length):-1}function qNt(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.d=+g[0],f+g[0].length):-1}function lLe(i,a,f){var g=Ad.exec(a.slice(f,f+3));return g?(i.m=0,i.d=+g[0],f+g[0].length):-1}function HNt(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.H=+g[0],f+g[0].length):-1}function hLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.M=+g[0],f+g[0].length):-1}function fLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.S=+g[0],f+g[0].length):-1}function dLe(i,a,f){var g=Ad.exec(a.slice(f,f+3));return g?(i.L=+g[0],f+g[0].length):-1}function gLe(i,a,f){var g=Ad.exec(a.slice(f,f+6));return g?(i.L=Math.floor(g[0]/1e3),f+g[0].length):-1}function pLe(i,a,f){var g=ZAe.exec(a.slice(f,f+1));return g?f+g[0].length:-1}function bLe(i,a,f){var g=Ad.exec(a.slice(f));return g?(i.Q=+g[0],f+g[0].length):-1}function wLe(i,a,f){var g=Ad.exec(a.slice(f));return g?(i.s=+g[0],f+g[0].length):-1}function VNt(i,a){return Jc(i.getDate(),a,2)}function mLe(i,a){return Jc(i.getHours(),a,2)}function vLe(i,a){return Jc(i.getHours()%12||12,a,2)}function yLe(i,a){return Jc(1+c9.count(_x(i),i),a,3)}function UNt(i,a){return Jc(i.getMilliseconds(),a,3)}function xLe(i,a){return UNt(i,a)+"000"}function kLe(i,a){return Jc(i.getMonth()+1,a,2)}function ELe(i,a){return Jc(i.getMinutes(),a,2)}function TLe(i,a){return Jc(i.getSeconds(),a,2)}function CLe(i){var a=i.getDay();return a===0?7:a}function SLe(i,a){return Jc(lF.count(_x(i)-1,i),a,2)}function GNt(i){var a=i.getDay();return a>=4||a===0?l9(i):l9.ceil(i)}function _Le(i,a){return i=GNt(i),Jc(l9.count(_x(i),i)+(_x(i).getDay()===4),a,2)}function ALe(i){return i.getDay()}function LLe(i,a){return Jc(hF.count(_x(i)-1,i),a,2)}function DLe(i,a){return Jc(i.getFullYear()%100,a,2)}function MLe(i,a){return i=GNt(i),Jc(i.getFullYear()%100,a,2)}function ILe(i,a){return Jc(i.getFullYear()%1e4,a,4)}function OLe(i,a){var f=i.getDay();return i=f>=4||f===0?l9(i):l9.ceil(i),Jc(i.getFullYear()%1e4,a,4)}function NLe(i){var a=i.getTimezoneOffset();return(a>0?"-":(a*=-1,"+"))+Jc(a/60|0,"0",2)+Jc(a%60,"0",2)}function KNt(i,a){return Jc(i.getUTCDate(),a,2)}function PLe(i,a){return Jc(i.getUTCHours(),a,2)}function FLe(i,a){return Jc(i.getUTCHours()%12||12,a,2)}function BLe(i,a){return Jc(1+X0t.count(f9(i),i),a,3)}function WNt(i,a){return Jc(i.getUTCMilliseconds(),a,3)}function RLe(i,a){return WNt(i,a)+"000"}function jLe(i,a){return Jc(i.getUTCMonth()+1,a,2)}function $Le(i,a){return Jc(i.getUTCMinutes(),a,2)}function zLe(i,a){return Jc(i.getUTCSeconds(),a,2)}function qLe(i){var a=i.getUTCDay();return a===0?7:a}function HLe(i,a){return Jc(RNt.count(f9(i)-1,i),a,2)}function YNt(i){var a=i.getUTCDay();return a>=4||a===0?GL(i):GL.ceil(i)}function VLe(i,a){return i=YNt(i),Jc(GL.count(f9(i),i)+(f9(i).getUTCDay()===4),a,2)}function ULe(i){return i.getUTCDay()}function GLe(i,a){return Jc(LW.count(f9(i)-1,i),a,2)}function KLe(i,a){return Jc(i.getUTCFullYear()%100,a,2)}function WLe(i,a){return i=YNt(i),Jc(i.getUTCFullYear()%100,a,2)}function YLe(i,a){return Jc(i.getUTCFullYear()%1e4,a,4)}function XLe(i,a){var f=i.getUTCDay();return i=f>=4||f===0?GL(i):GL.ceil(i),Jc(i.getUTCFullYear()%1e4,a,4)}function QLe(){return"+0000"}function XNt(){return"%"}function QNt(i){return+i}function JNt(i){return Math.floor(+i/1e3)}var KL,DW;JLe({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function JLe(i){return KL=JAe(i),DW=KL.format,KL.parse,KL.utcFormat,KL.utcParse,KL}function ZLe(i){return new Date(i)}function tDe(i){return i instanceof Date?+i:+new Date(+i)}function ZNt(i,a,f,g,w,v,b,E,S,_){var M=INt(),F=M.invert,R=M.domain,B=_(".%L"),z=_(":%S"),Y=_("%I:%M"),nt=_("%I %p"),ot=_("%a %d"),ft=_("%b %d"),wt=_("%B"),mt=_("%Y");function ct(rt){return(S(rt)<rt?B:E(rt)<rt?z:b(rt)<rt?Y:v(rt)<rt?nt:g(rt)<rt?w(rt)<rt?ot:ft:f(rt)<rt?wt:mt)(rt)}return M.invert=function(rt){return new Date(F(rt))},M.domain=function(rt){return arguments.length?R(Array.from(rt,tDe)):R().map(ZLe)},M.ticks=function(rt){var it=R();return i(it[0],it[it.length-1],rt??10)},M.tickFormat=function(rt,it){return it==null?ct:_(it)},M.nice=function(rt){var it=R();return(!rt||typeof rt.range!="function")&&(rt=a(it[0],it[it.length-1],rt??10)),rt?R(VAe(it,rt)):M},M.copy=function(){return MNt(M,ZNt(i,a,f,g,w,v,b,E,S,_))},M}function eDe(){return AW.apply(ZNt(XAe,QAe,_x,fF,lF,c9,uF,cF,f8,DW).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function nDe(i){for(var a=i.length/6|0,f=new Array(a),g=0;g<a;)f[g]="#"+i.slice(g*6,++g*6);return f}const tPt=nDe("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function kf(i){return function(){return i}}const ePt=Math.abs,ng=Math.atan2,d9=Math.cos,rDe=Math.max,Z0t=Math.min,t4=Math.sin,WL=Math.sqrt,rg=1e-12,bF=Math.PI,MW=bF/2,IW=2*bF;function iDe(i){return i>1?0:i<-1?bF:Math.acos(i)}function nPt(i){return i>=1?MW:i<=-1?-MW:Math.asin(i)}function rPt(i){let a=3;return i.digits=function(f){if(!arguments.length)return a;if(f==null)a=null;else{const g=Math.floor(f);if(!(g>=0))throw new RangeError(`invalid digits: ${f}`);a=g}return i},()=>new yAe(a)}function sDe(i){return i.innerRadius}function aDe(i){return i.outerRadius}function oDe(i){return i.startAngle}function cDe(i){return i.endAngle}function uDe(i){return i&&i.padAngle}function lDe(i,a,f,g,w,v,b,E){var S=f-i,_=g-a,M=b-w,F=E-v,R=F*S-M*_;if(!(R*R<rg))return R=(M*(a-v)-F*(i-w))/R,[i+R*S,a+R*_]}function OW(i,a,f,g,w,v,b){var E=i-f,S=a-g,_=(b?v:-v)/WL(E*E+S*S),M=_*S,F=-_*E,R=i+M,B=a+F,z=f+M,Y=g+F,nt=(R+z)/2,ot=(B+Y)/2,ft=z-R,wt=Y-B,mt=ft*ft+wt*wt,ct=w-v,rt=R*Y-z*B,it=(wt<0?-1:1)*WL(rDe(0,ct*ct*mt-rt*rt)),gt=(rt*wt-ft*it)/mt,Q=(-rt*ft-wt*it)/mt,dt=(rt*wt+ft*it)/mt,K=(-rt*ft+wt*it)/mt,yt=gt-nt,V=Q-ot,Ot=dt-nt,It=K-ot;return yt*yt+V*V>Ot*Ot+It*It&&(gt=dt,Q=K),{cx:gt,cy:Q,x01:-M,y01:-F,x11:gt*(w/ct-1),y11:Q*(w/ct-1)}}function YL(){var i=sDe,a=aDe,f=kf(0),g=null,w=oDe,v=cDe,b=uDe,E=null,S=rPt(_);function _(){var M,F,R=+i.apply(this,arguments),B=+a.apply(this,arguments),z=w.apply(this,arguments)-MW,Y=v.apply(this,arguments)-MW,nt=ePt(Y-z),ot=Y>z;if(E||(E=M=S()),B<R&&(F=B,B=R,R=F),!(B>rg))E.moveTo(0,0);else if(nt>IW-rg)E.moveTo(B*d9(z),B*t4(z)),E.arc(0,0,B,z,Y,!ot),R>rg&&(E.moveTo(R*d9(Y),R*t4(Y)),E.arc(0,0,R,Y,z,ot));else{var ft=z,wt=Y,mt=z,ct=Y,rt=nt,it=nt,gt=b.apply(this,arguments)/2,Q=gt>rg&&(g?+g.apply(this,arguments):WL(R*R+B*B)),dt=Z0t(ePt(B-R)/2,+f.apply(this,arguments)),K=dt,yt=dt,V,Ot;if(Q>rg){var It=nPt(Q/R*t4(gt)),jt=nPt(Q/B*t4(gt));(rt-=It*2)>rg?(It*=ot?1:-1,mt+=It,ct-=It):(rt=0,mt=ct=(z+Y)/2),(it-=jt*2)>rg?(jt*=ot?1:-1,ft+=jt,wt-=jt):(it=0,ft=wt=(z+Y)/2)}var xt=B*d9(ft),Ft=B*t4(ft),Ct=R*d9(ct),kt=R*t4(ct);if(dt>rg){var Gt=B*d9(wt),Fe=B*t4(wt),Mt=R*d9(mt),pn=R*t4(mt),Ae;if(nt<bF)if(Ae=lDe(xt,Ft,Mt,pn,Gt,Fe,Ct,kt)){var ye=xt-Ae[0],tn=Ft-Ae[1],sn=Gt-Ae[0],be=Fe-Ae[1],Ne=1/t4(iDe((ye*sn+tn*be)/(WL(ye*ye+tn*tn)*WL(sn*sn+be*be)))/2),Xt=WL(Ae[0]*Ae[0]+Ae[1]*Ae[1]);K=Z0t(dt,(R-Xt)/(Ne-1)),yt=Z0t(dt,(B-Xt)/(Ne+1))}else K=yt=0}it>rg?yt>rg?(V=OW(Mt,pn,xt,Ft,B,yt,ot),Ot=OW(Gt,Fe,Ct,kt,B,yt,ot),E.moveTo(V.cx+V.x01,V.cy+V.y01),yt<dt?E.arc(V.cx,V.cy,yt,ng(V.y01,V.x01),ng(Ot.y01,Ot.x01),!ot):(E.arc(V.cx,V.cy,yt,ng(V.y01,V.x01),ng(V.y11,V.x11),!ot),E.arc(0,0,B,ng(V.cy+V.y11,V.cx+V.x11),ng(Ot.cy+Ot.y11,Ot.cx+Ot.x11),!ot),E.arc(Ot.cx,Ot.cy,yt,ng(Ot.y11,Ot.x11),ng(Ot.y01,Ot.x01),!ot))):(E.moveTo(xt,Ft),E.arc(0,0,B,ft,wt,!ot)):E.moveTo(xt,Ft),!(R>rg)||!(rt>rg)?E.lineTo(Ct,kt):K>rg?(V=OW(Ct,kt,Gt,Fe,R,-K,ot),Ot=OW(xt,Ft,Mt,pn,R,-K,ot),E.lineTo(V.cx+V.x01,V.cy+V.y01),K<dt?E.arc(V.cx,V.cy,K,ng(V.y01,V.x01),ng(Ot.y01,Ot.x01),!ot):(E.arc(V.cx,V.cy,K,ng(V.y01,V.x01),ng(V.y11,V.x11),!ot),E.arc(0,0,R,ng(V.cy+V.y11,V.cx+V.x11),ng(Ot.cy+Ot.y11,Ot.cx+Ot.x11),ot),E.arc(Ot.cx,Ot.cy,K,ng(Ot.y11,Ot.x11),ng(Ot.y01,Ot.x01),!ot))):E.arc(0,0,R,ct,mt,ot)}if(E.closePath(),M)return E=null,M+""||null}return _.centroid=function(){var M=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2,F=(+w.apply(this,arguments)+ +v.apply(this,arguments))/2-bF/2;return[d9(F)*M,t4(F)*M]},_.innerRadius=function(M){return arguments.length?(i=typeof M=="function"?M:kf(+M),_):i},_.outerRadius=function(M){return arguments.length?(a=typeof M=="function"?M:kf(+M),_):a},_.cornerRadius=function(M){return arguments.length?(f=typeof M=="function"?M:kf(+M),_):f},_.padRadius=function(M){return arguments.length?(g=M==null?null:typeof M=="function"?M:kf(+M),_):g},_.startAngle=function(M){return arguments.length?(w=typeof M=="function"?M:kf(+M),_):w},_.endAngle=function(M){return arguments.length?(v=typeof M=="function"?M:kf(+M),_):v},_.padAngle=function(M){return arguments.length?(b=typeof M=="function"?M:kf(+M),_):b},_.context=function(M){return arguments.length?(E=M??null,_):E},_}function iPt(i){return typeof i=="object"&&"length"in i?i:Array.from(i)}function sPt(i){this._context=i}sPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;default:this._context.lineTo(i,a);break}}};function Kg(i){return new sPt(i)}function hDe(i){return i[0]}function fDe(i){return i[1]}function Ax(i,a){var f=kf(!0),g=null,w=Kg,v=null,b=rPt(E);i=typeof i=="function"?i:i===void 0?hDe:kf(i),a=typeof a=="function"?a:a===void 0?fDe:kf(a);function E(S){var _,M=(S=iPt(S)).length,F,R=!1,B;for(g==null&&(v=w(B=b())),_=0;_<=M;++_)!(_<M&&f(F=S[_],_,S))===R&&((R=!R)?v.lineStart():v.lineEnd()),R&&v.point(+i(F,_,S),+a(F,_,S));if(B)return v=null,B+""||null}return E.x=function(S){return arguments.length?(i=typeof S=="function"?S:kf(+S),E):i},E.y=function(S){return arguments.length?(a=typeof S=="function"?S:kf(+S),E):a},E.defined=function(S){return arguments.length?(f=typeof S=="function"?S:kf(!!S),E):f},E.curve=function(S){return arguments.length?(w=S,g!=null&&(v=w(g)),E):w},E.context=function(S){return arguments.length?(S==null?g=v=null:v=w(g=S),E):g},E}function dDe(i,a){return a<i?-1:a>i?1:a>=i?0:NaN}function gDe(i){return i}function pDe(){var i=gDe,a=dDe,f=null,g=kf(0),w=kf(IW),v=kf(0);function b(E){var S,_=(E=iPt(E)).length,M,F,R=0,B=new Array(_),z=new Array(_),Y=+g.apply(this,arguments),nt=Math.min(IW,Math.max(-IW,w.apply(this,arguments)-Y)),ot,ft=Math.min(Math.abs(nt)/_,v.apply(this,arguments)),wt=ft*(nt<0?-1:1),mt;for(S=0;S<_;++S)(mt=z[B[S]=S]=+i(E[S],S,E))>0&&(R+=mt);for(a!=null?B.sort(function(ct,rt){return a(z[ct],z[rt])}):f!=null&&B.sort(function(ct,rt){return f(E[ct],E[rt])}),S=0,F=R?(nt-_*wt)/R:0;S<_;++S,Y=ot)M=B[S],mt=z[M],ot=Y+(mt>0?mt*F:0)+wt,z[M]={data:E[M],index:S,value:mt,startAngle:Y,endAngle:ot,padAngle:ft};return z}return b.value=function(E){return arguments.length?(i=typeof E=="function"?E:kf(+E),b):i},b.sortValues=function(E){return arguments.length?(a=E,f=null,b):a},b.sort=function(E){return arguments.length?(f=E,a=null,b):f},b.startAngle=function(E){return arguments.length?(g=typeof E=="function"?E:kf(+E),b):g},b.endAngle=function(E){return arguments.length?(w=typeof E=="function"?E:kf(+E),b):w},b.padAngle=function(E){return arguments.length?(v=typeof E=="function"?E:kf(+E),b):v},b}class aPt{constructor(a,f){this._context=a,this._x=f}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(a,f){switch(a=+a,f=+f,this._point){case 0:{this._point=1,this._line?this._context.lineTo(a,f):this._context.moveTo(a,f);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+a)/2,this._y0,this._x0,f,a,f):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+f)/2,a,this._y0,a,f);break}}this._x0=a,this._y0=f}}function bDe(i){return new aPt(i,!0)}function wDe(i){return new aPt(i,!1)}function d8(){}function NW(i,a,f){i._context.bezierCurveTo((2*i._x0+i._x1)/3,(2*i._y0+i._y1)/3,(i._x0+2*i._x1)/3,(i._y0+2*i._y1)/3,(i._x0+4*i._x1+a)/6,(i._y0+4*i._y1+f)/6)}function PW(i){this._context=i}PW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:NW(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:NW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function wF(i){return new PW(i)}function oPt(i){this._context=i}oPt.prototype={areaStart:d8,areaEnd:d8,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x2=i,this._y2=a;break;case 1:this._point=2,this._x3=i,this._y3=a;break;case 2:this._point=3,this._x4=i,this._y4=a,this._context.moveTo((this._x0+4*this._x1+i)/6,(this._y0+4*this._y1+a)/6);break;default:NW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function mDe(i){return new oPt(i)}function cPt(i){this._context=i}cPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var f=(this._x0+4*this._x1+i)/6,g=(this._y0+4*this._y1+a)/6;this._line?this._context.lineTo(f,g):this._context.moveTo(f,g);break;case 3:this._point=4;default:NW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function vDe(i){return new cPt(i)}function uPt(i,a){this._basis=new PW(i),this._beta=a}uPt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var i=this._x,a=this._y,f=i.length-1;if(f>0)for(var g=i[0],w=a[0],v=i[f]-g,b=a[f]-w,E=-1,S;++E<=f;)S=E/f,this._basis.point(this._beta*i[E]+(1-this._beta)*(g+S*v),this._beta*a[E]+(1-this._beta)*(w+S*b));this._x=this._y=null,this._basis.lineEnd()},point:function(i,a){this._x.push(+i),this._y.push(+a)}};const yDe=function i(a){function f(g){return a===1?new PW(g):new uPt(g,a)}return f.beta=function(g){return i(+g)},f}(.85);function FW(i,a,f){i._context.bezierCurveTo(i._x1+i._k*(i._x2-i._x0),i._y1+i._k*(i._y2-i._y0),i._x2+i._k*(i._x1-a),i._y2+i._k*(i._y1-f),i._x2,i._y2)}function tgt(i,a){this._context=i,this._k=(1-a)/6}tgt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:FW(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2,this._x1=i,this._y1=a;break;case 2:this._point=3;default:FW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const xDe=function i(a){function f(g){return new tgt(g,a)}return f.tension=function(g){return i(+g)},f}(0);function egt(i,a){this._context=i,this._k=(1-a)/6}egt.prototype={areaStart:d8,areaEnd:d8,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:FW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const kDe=function i(a){function f(g){return new egt(g,a)}return f.tension=function(g){return i(+g)},f}(0);function ngt(i,a){this._context=i,this._k=(1-a)/6}ngt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:FW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const EDe=function i(a){function f(g){return new ngt(g,a)}return f.tension=function(g){return i(+g)},f}(0);function rgt(i,a,f){var g=i._x1,w=i._y1,v=i._x2,b=i._y2;if(i._l01_a>rg){var E=2*i._l01_2a+3*i._l01_a*i._l12_a+i._l12_2a,S=3*i._l01_a*(i._l01_a+i._l12_a);g=(g*E-i._x0*i._l12_2a+i._x2*i._l01_2a)/S,w=(w*E-i._y0*i._l12_2a+i._y2*i._l01_2a)/S}if(i._l23_a>rg){var _=2*i._l23_2a+3*i._l23_a*i._l12_a+i._l12_2a,M=3*i._l23_a*(i._l23_a+i._l12_a);v=(v*_+i._x1*i._l23_2a-a*i._l12_2a)/M,b=(b*_+i._y1*i._l23_2a-f*i._l12_2a)/M}i._context.bezierCurveTo(g,w,v,b,i._x2,i._y2)}function lPt(i,a){this._context=i,this._alpha=a}lPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,g=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+g*g,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3;default:rgt(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const TDe=function i(a){function f(g){return a?new lPt(g,a):new tgt(g,0)}return f.alpha=function(g){return i(+g)},f}(.5);function hPt(i,a){this._context=i,this._alpha=a}hPt.prototype={areaStart:d8,areaEnd:d8,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,g=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+g*g,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:rgt(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const CDe=function i(a){function f(g){return a?new hPt(g,a):new egt(g,0)}return f.alpha=function(g){return i(+g)},f}(.5);function fPt(i,a){this._context=i,this._alpha=a}fPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,g=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+g*g,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:rgt(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const SDe=function i(a){function f(g){return a?new fPt(g,a):new ngt(g,0)}return f.alpha=function(g){return i(+g)},f}(.5);function dPt(i){this._context=i}dPt.prototype={areaStart:d8,areaEnd:d8,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(i,a){i=+i,a=+a,this._point?this._context.lineTo(i,a):(this._point=1,this._context.moveTo(i,a))}};function _De(i){return new dPt(i)}function gPt(i){return i<0?-1:1}function pPt(i,a,f){var g=i._x1-i._x0,w=a-i._x1,v=(i._y1-i._y0)/(g||w<0&&-0),b=(f-i._y1)/(w||g<0&&-0),E=(v*w+b*g)/(g+w);return(gPt(v)+gPt(b))*Math.min(Math.abs(v),Math.abs(b),.5*Math.abs(E))||0}function bPt(i,a){var f=i._x1-i._x0;return f?(3*(i._y1-i._y0)/f-a)/2:a}function igt(i,a,f){var g=i._x0,w=i._y0,v=i._x1,b=i._y1,E=(v-g)/3;i._context.bezierCurveTo(g+E,w+E*a,v-E,b-E*f,v,b)}function BW(i){this._context=i}BW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:igt(this,this._t0,bPt(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){var f=NaN;if(i=+i,a=+a,!(i===this._x1&&a===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,igt(this,bPt(this,f=pPt(this,i,a)),f);break;default:igt(this,this._t0,f=pPt(this,i,a));break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a,this._t0=f}}};function wPt(i){this._context=new mPt(i)}(wPt.prototype=Object.create(BW.prototype)).point=function(i,a){BW.prototype.point.call(this,a,i)};function mPt(i){this._context=i}mPt.prototype={moveTo:function(i,a){this._context.moveTo(a,i)},closePath:function(){this._context.closePath()},lineTo:function(i,a){this._context.lineTo(a,i)},bezierCurveTo:function(i,a,f,g,w,v){this._context.bezierCurveTo(a,i,g,f,v,w)}};function ADe(i){return new BW(i)}function LDe(i){return new wPt(i)}function vPt(i){this._context=i}vPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var i=this._x,a=this._y,f=i.length;if(f)if(this._line?this._context.lineTo(i[0],a[0]):this._context.moveTo(i[0],a[0]),f===2)this._context.lineTo(i[1],a[1]);else for(var g=yPt(i),w=yPt(a),v=0,b=1;b<f;++v,++b)this._context.bezierCurveTo(g[0][v],w[0][v],g[1][v],w[1][v],i[b],a[b]);(this._line||this._line!==0&&f===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(i,a){this._x.push(+i),this._y.push(+a)}};function yPt(i){var a,f=i.length-1,g,w=new Array(f),v=new Array(f),b=new Array(f);for(w[0]=0,v[0]=2,b[0]=i[0]+2*i[1],a=1;a<f-1;++a)w[a]=1,v[a]=4,b[a]=4*i[a]+2*i[a+1];for(w[f-1]=2,v[f-1]=7,b[f-1]=8*i[f-1]+i[f],a=1;a<f;++a)g=w[a]/v[a-1],v[a]-=g,b[a]-=g*b[a-1];for(w[f-1]=b[f-1]/v[f-1],a=f-2;a>=0;--a)w[a]=(b[a]-w[a+1])/v[a];for(v[f-1]=(i[f]+w[f-1])/2,a=0;a<f-1;++a)v[a]=2*i[a+1]-w[a+1];return[w,v]}function DDe(i){return new vPt(i)}function RW(i,a){this._context=i,this._t=a}RW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,a),this._context.lineTo(i,a);else{var f=this._x*(1-this._t)+i*this._t;this._context.lineTo(f,this._y),this._context.lineTo(f,a)}break}}this._x=i,this._y=a}};function MDe(i){return new RW(i,.5)}function IDe(i){return new RW(i,0)}function ODe(i){return new RW(i,1)}function mF(i,a,f){this.k=i,this.x=a,this.y=f}mF.prototype={constructor:mF,scale:function(i){return i===1?this:new mF(this.k*i,this.x,this.y)},translate:function(i,a){return i===0&a===0?this:new mF(this.k,this.x+this.k*i,this.y+this.k*a)},apply:function(i){return[i[0]*this.k+this.x,i[1]*this.k+this.y]},applyX:function(i){return i*this.k+this.x},applyY:function(i){return i*this.k+this.y},invert:function(i){return[(i[0]-this.x)/this.k,(i[1]-this.y)/this.k]},invertX:function(i){return(i-this.x)/this.k},invertY:function(i){return(i-this.y)/this.k},rescaleX:function(i){return i.copy().domain(i.range().map(this.invertX,this).map(i.invert,i))},rescaleY:function(i){return i.copy().domain(i.range().map(this.invertY,this).map(i.invert,i))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},mF.prototype;/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries:xPt,setPrototypeOf:kPt,isFrozen:NDe,getPrototypeOf:PDe,getOwnPropertyDescriptor:FDe}=Object;let{freeze:Wg,seal:qv,create:BDe}=Object,{apply:sgt,construct:agt}=typeof Reflect<"u"&&Reflect;sgt||(sgt=function(a,f,g){return a.apply(f,g)}),Wg||(Wg=function(a){return a}),qv||(qv=function(a){return a}),agt||(agt=function(a,f){return new a(...f)});const RDe=Ww(Array.prototype.forEach),EPt=Ww(Array.prototype.pop),vF=Ww(Array.prototype.push),jW=Ww(String.prototype.toLowerCase),ogt=Ww(String.prototype.toString),jDe=Ww(String.prototype.match),Hv=Ww(String.prototype.replace),$De=Ww(String.prototype.indexOf),zDe=Ww(String.prototype.trim),E2=Ww(RegExp.prototype.test),yF=qDe(TypeError);function Ww(i){return function(a){for(var f=arguments.length,g=new Array(f>1?f-1:0),w=1;w<f;w++)g[w-1]=arguments[w];return sgt(i,a,g)}}function qDe(i){return function(){for(var a=arguments.length,f=new Array(a),g=0;g<a;g++)f[g]=arguments[g];return agt(i,f)}}function Fo(i,a,f){var g;f=(g=f)!==null&&g!==void 0?g:jW,kPt&&kPt(i,null);let w=a.length;for(;w--;){let v=a[w];if(typeof v=="string"){const b=f(v);b!==v&&(NDe(a)||(a[w]=b),v=b)}i[v]=!0}return i}function XL(i){const a=BDe(null);for(const[f,g]of xPt(i))a[f]=g;return a}function $W(i,a){for(;i!==null;){const g=FDe(i,a);if(g){if(g.get)return Ww(g.get);if(typeof g.value=="function")return Ww(g.value)}i=PDe(i)}function f(g){return console.warn("fallback value for",g),null}return f}const TPt=Wg(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),cgt=Wg(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),ugt=Wg(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),HDe=Wg(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),lgt=Wg(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),VDe=Wg(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),CPt=Wg(["#text"]),SPt=Wg(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),hgt=Wg(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),_Pt=Wg(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),zW=Wg(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),UDe=qv(/\{\{[\w\W]*|[\w\W]*\}\}/gm),GDe=qv(/<%[\w\W]*|[\w\W]*%>/gm),KDe=qv(/\${[\w\W]*}/gm),WDe=qv(/^data-[\-\w.\u00B7-\uFFFF]/),YDe=qv(/^aria-[\-\w]+$/),APt=qv(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),XDe=qv(/^(?:\w+script|data):/i),QDe=qv(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),LPt=qv(/^html$/i);var DPt=Object.freeze({__proto__:null,MUSTACHE_EXPR:UDe,ERB_EXPR:GDe,TMPLIT_EXPR:KDe,DATA_ATTR:WDe,ARIA_ATTR:YDe,IS_ALLOWED_URI:APt,IS_SCRIPT_OR_DATA:XDe,ATTR_WHITESPACE:QDe,DOCTYPE_NAME:LPt});const JDe=()=>typeof window>"u"?null:window,ZDe=function(a,f){if(typeof a!="object"||typeof a.createPolicy!="function")return null;let g=null;const w="data-tt-policy-suffix";f&&f.hasAttribute(w)&&(g=f.getAttribute(w));const v="dompurify"+(g?"#"+g:"");try{return a.createPolicy(v,{createHTML(b){return b},createScriptURL(b){return b}})}catch{return console.warn("TrustedTypes policy "+v+" could not be created."),null}};function MPt(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:JDe();const a=Gi=>MPt(Gi);if(a.version="3.0.5",a.removed=[],!i||!i.document||i.document.nodeType!==9)return a.isSupported=!1,a;const f=i.document,g=f.currentScript;let{document:w}=i;const{DocumentFragment:v,HTMLTemplateElement:b,Node:E,Element:S,NodeFilter:_,NamedNodeMap:M=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:F,DOMParser:R,trustedTypes:B}=i,z=S.prototype,Y=$W(z,"cloneNode"),nt=$W(z,"nextSibling"),ot=$W(z,"childNodes"),ft=$W(z,"parentNode");if(typeof b=="function"){const Gi=w.createElement("template");Gi.content&&Gi.content.ownerDocument&&(w=Gi.content.ownerDocument)}let wt,mt="";const{implementation:ct,createNodeIterator:rt,createDocumentFragment:it,getElementsByTagName:gt}=w,{importNode:Q}=f;let dt={};a.isSupported=typeof xPt=="function"&&typeof ft=="function"&&ct&&ct.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:K,ERB_EXPR:yt,TMPLIT_EXPR:V,DATA_ATTR:Ot,ARIA_ATTR:It,IS_SCRIPT_OR_DATA:jt,ATTR_WHITESPACE:xt}=DPt;let{IS_ALLOWED_URI:Ft}=DPt,Ct=null;const kt=Fo({},[...TPt,...cgt,...ugt,...lgt,...CPt]);let Gt=null;const Fe=Fo({},[...SPt,...hgt,..._Pt,...zW]);let Mt=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),pn=null,Ae=null,ye=!0,tn=!0,sn=!1,be=!0,Ne=!1,Xt=!1,_e=!1,xe=!1,Mn=!1,ce=!1,Br=!1,we=!0,Fi=!1;const mi="user-content-";let ga=!0,Ss=!1,za={},br=null;const An=Fo({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Nn=null;const Bn=Fo({},["audio","video","img","source","image","track"]);let ke=null;const pe=Fo({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Je="http://www.w3.org/1998/Math/MathML",an="http://www.w3.org/2000/svg",xn="http://www.w3.org/1999/xhtml";let qa=xn,xo=!1,ko=null;const va=Fo({},[Je,an,xn],ogt);let Ha;const ds=["application/xhtml+xml","text/html"],Fu="text/html";let Zs,d1=null;const I2=w.createElement("form"),ll=function(cn){return cn instanceof RegExp||cn instanceof Function},Ic=function(cn){if(!(d1&&d1===cn)){if((!cn||typeof cn!="object")&&(cn={}),cn=XL(cn),Ha=ds.indexOf(cn.PARSER_MEDIA_TYPE)===-1?Ha=Fu:Ha=cn.PARSER_MEDIA_TYPE,Zs=Ha==="application/xhtml+xml"?ogt:jW,Ct="ALLOWED_TAGS"in cn?Fo({},cn.ALLOWED_TAGS,Zs):kt,Gt="ALLOWED_ATTR"in cn?Fo({},cn.ALLOWED_ATTR,Zs):Fe,ko="ALLOWED_NAMESPACES"in cn?Fo({},cn.ALLOWED_NAMESPACES,ogt):va,ke="ADD_URI_SAFE_ATTR"in cn?Fo(XL(pe),cn.ADD_URI_SAFE_ATTR,Zs):pe,Nn="ADD_DATA_URI_TAGS"in cn?Fo(XL(Bn),cn.ADD_DATA_URI_TAGS,Zs):Bn,br="FORBID_CONTENTS"in cn?Fo({},cn.FORBID_CONTENTS,Zs):An,pn="FORBID_TAGS"in cn?Fo({},cn.FORBID_TAGS,Zs):{},Ae="FORBID_ATTR"in cn?Fo({},cn.FORBID_ATTR,Zs):{},za="USE_PROFILES"in cn?cn.USE_PROFILES:!1,ye=cn.ALLOW_ARIA_ATTR!==!1,tn=cn.ALLOW_DATA_ATTR!==!1,sn=cn.ALLOW_UNKNOWN_PROTOCOLS||!1,be=cn.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ne=cn.SAFE_FOR_TEMPLATES||!1,Xt=cn.WHOLE_DOCUMENT||!1,Mn=cn.RETURN_DOM||!1,ce=cn.RETURN_DOM_FRAGMENT||!1,Br=cn.RETURN_TRUSTED_TYPE||!1,xe=cn.FORCE_BODY||!1,we=cn.SANITIZE_DOM!==!1,Fi=cn.SANITIZE_NAMED_PROPS||!1,ga=cn.KEEP_CONTENT!==!1,Ss=cn.IN_PLACE||!1,Ft=cn.ALLOWED_URI_REGEXP||APt,qa=cn.NAMESPACE||xn,Mt=cn.CUSTOM_ELEMENT_HANDLING||{},cn.CUSTOM_ELEMENT_HANDLING&&ll(cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Mt.tagNameCheck=cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&ll(cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Mt.attributeNameCheck=cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&typeof cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Mt.allowCustomizedBuiltInElements=cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Ne&&(tn=!1),ce&&(Mn=!0),za&&(Ct=Fo({},[...CPt]),Gt=[],za.html===!0&&(Fo(Ct,TPt),Fo(Gt,SPt)),za.svg===!0&&(Fo(Ct,cgt),Fo(Gt,hgt),Fo(Gt,zW)),za.svgFilters===!0&&(Fo(Ct,ugt),Fo(Gt,hgt),Fo(Gt,zW)),za.mathMl===!0&&(Fo(Ct,lgt),Fo(Gt,_Pt),Fo(Gt,zW))),cn.ADD_TAGS&&(Ct===kt&&(Ct=XL(Ct)),Fo(Ct,cn.ADD_TAGS,Zs)),cn.ADD_ATTR&&(Gt===Fe&&(Gt=XL(Gt)),Fo(Gt,cn.ADD_ATTR,Zs)),cn.ADD_URI_SAFE_ATTR&&Fo(ke,cn.ADD_URI_SAFE_ATTR,Zs),cn.FORBID_CONTENTS&&(br===An&&(br=XL(br)),Fo(br,cn.FORBID_CONTENTS,Zs)),ga&&(Ct["#text"]=!0),Xt&&Fo(Ct,["html","head","body"]),Ct.table&&(Fo(Ct,["tbody"]),delete pn.tbody),cn.TRUSTED_TYPES_POLICY){if(typeof cn.TRUSTED_TYPES_POLICY.createHTML!="function")throw yF('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof cn.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw yF('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');wt=cn.TRUSTED_TYPES_POLICY,mt=wt.createHTML("")}else wt===void 0&&(wt=ZDe(B,g)),wt!==null&&typeof mt=="string"&&(mt=wt.createHTML(""));Wg&&Wg(cn),d1=cn}},wc=Fo({},["mi","mo","mn","ms","mtext"]),Ea=Fo({},["foreignobject","desc","title","annotation-xml"]),gu=Fo({},["title","style","font","a","script"]),ta=Fo({},cgt);Fo(ta,ugt),Fo(ta,HDe);const fo=Fo({},lgt);Fo(fo,VDe);const mc=function(cn){let Nr=ft(cn);(!Nr||!Nr.tagName)&&(Nr={namespaceURI:qa,tagName:"template"});const Si=jW(cn.tagName),vc=jW(Nr.tagName);return ko[cn.namespaceURI]?cn.namespaceURI===an?Nr.namespaceURI===xn?Si==="svg":Nr.namespaceURI===Je?Si==="svg"&&(vc==="annotation-xml"||wc[vc]):!!ta[Si]:cn.namespaceURI===Je?Nr.namespaceURI===xn?Si==="math":Nr.namespaceURI===an?Si==="math"&&Ea[vc]:!!fo[Si]:cn.namespaceURI===xn?Nr.namespaceURI===an&&!Ea[vc]||Nr.namespaceURI===Je&&!wc[vc]?!1:!fo[Si]&&(gu[Si]||!ta[Si]):!!(Ha==="application/xhtml+xml"&&ko[cn.namespaceURI]):!1},ca=function(cn){vF(a.removed,{element:cn});try{cn.parentNode.removeChild(cn)}catch{cn.remove()}},ya=function(cn,Nr){try{vF(a.removed,{attribute:Nr.getAttributeNode(cn),from:Nr})}catch{vF(a.removed,{attribute:null,from:Nr})}if(Nr.removeAttribute(cn),cn==="is"&&!Gt[cn])if(Mn||ce)try{ca(Nr)}catch{}else try{Nr.setAttribute(cn,"")}catch{}},ea=function(cn){let Nr,Si;if(xe)cn="<remove></remove>"+cn;else{const Eh=jDe(cn,/^[\r\n\t ]+/);Si=Eh&&Eh[0]}Ha==="application/xhtml+xml"&&qa===xn&&(cn='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+cn+"</body></html>");const vc=wt?wt.createHTML(cn):cn;if(qa===xn)try{Nr=new R().parseFromString(vc,Ha)}catch{}if(!Nr||!Nr.documentElement){Nr=ct.createDocument(qa,"template",null);try{Nr.documentElement.innerHTML=xo?mt:vc}catch{}}const Rc=Nr.body||Nr.documentElement;return cn&&Si&&Rc.insertBefore(w.createTextNode(Si),Rc.childNodes[0]||null),qa===xn?gt.call(Nr,Xt?"html":"body")[0]:Xt?Nr.documentElement:Rc},Zl=function(cn){return rt.call(cn.ownerDocument||cn,cn,_.SHOW_ELEMENT|_.SHOW_COMMENT|_.SHOW_TEXT,null,!1)},Uc=function(cn){return cn instanceof F&&(typeof cn.nodeName!="string"||typeof cn.textContent!="string"||typeof cn.removeChild!="function"||!(cn.attributes instanceof M)||typeof cn.removeAttribute!="function"||typeof cn.setAttribute!="function"||typeof cn.namespaceURI!="string"||typeof cn.insertBefore!="function"||typeof cn.hasChildNodes!="function")},rm=function(cn){return typeof E=="object"?cn instanceof E:cn&&typeof cn=="object"&&typeof cn.nodeType=="number"&&typeof cn.nodeName=="string"},kh=function(cn,Nr,Si){dt[cn]&&RDe(dt[cn],vc=>{vc.call(a,Nr,Si,d1)})},Md=function(cn){let Nr;if(kh("beforeSanitizeElements",cn,null),Uc(cn))return ca(cn),!0;const Si=Zs(cn.nodeName);if(kh("uponSanitizeElement",cn,{tagName:Si,allowedTags:Ct}),cn.hasChildNodes()&&!rm(cn.firstElementChild)&&(!rm(cn.content)||!rm(cn.content.firstElementChild))&&E2(/<[/\w]/g,cn.innerHTML)&&E2(/<[/\w]/g,cn.textContent))return ca(cn),!0;if(!Ct[Si]||pn[Si]){if(!pn[Si]&&Id(Si)&&(Mt.tagNameCheck instanceof RegExp&&E2(Mt.tagNameCheck,Si)||Mt.tagNameCheck instanceof Function&&Mt.tagNameCheck(Si)))return!1;if(ga&&!br[Si]){const vc=ft(cn)||cn.parentNode,Rc=ot(cn)||cn.childNodes;if(Rc&&vc){const Eh=Rc.length;for(let Zc=Eh-1;Zc>=0;--Zc)vc.insertBefore(Y(Rc[Zc],!0),nt(cn))}}return ca(cn),!0}return cn instanceof S&&!mc(cn)||(Si==="noscript"||Si==="noembed"||Si==="noframes")&&E2(/<\/no(script|embed|frames)/i,cn.innerHTML)?(ca(cn),!0):(Ne&&cn.nodeType===3&&(Nr=cn.textContent,Nr=Hv(Nr,K," "),Nr=Hv(Nr,yt," "),Nr=Hv(Nr,V," "),cn.textContent!==Nr&&(vF(a.removed,{element:cn.cloneNode()}),cn.textContent=Nr)),kh("afterSanitizeElements",cn,null),!1)},w0=function(cn,Nr,Si){if(we&&(Nr==="id"||Nr==="name")&&(Si in w||Si in I2))return!1;if(!(tn&&!Ae[Nr]&&E2(Ot,Nr))){if(!(ye&&E2(It,Nr))){if(!Gt[Nr]||Ae[Nr]){if(!(Id(cn)&&(Mt.tagNameCheck instanceof RegExp&&E2(Mt.tagNameCheck,cn)||Mt.tagNameCheck instanceof Function&&Mt.tagNameCheck(cn))&&(Mt.attributeNameCheck instanceof RegExp&&E2(Mt.attributeNameCheck,Nr)||Mt.attributeNameCheck instanceof Function&&Mt.attributeNameCheck(Nr))||Nr==="is"&&Mt.allowCustomizedBuiltInElements&&(Mt.tagNameCheck instanceof RegExp&&E2(Mt.tagNameCheck,Si)||Mt.tagNameCheck instanceof Function&&Mt.tagNameCheck(Si))))return!1}else if(!ke[Nr]){if(!E2(Ft,Hv(Si,xt,""))){if(!((Nr==="src"||Nr==="xlink:href"||Nr==="href")&&cn!=="script"&&$De(Si,"data:")===0&&Nn[cn])){if(!(sn&&!E2(jt,Hv(Si,xt,"")))){if(Si)return!1}}}}}}return!0},Id=function(cn){return cn.indexOf("-")>0},m0=function(cn){let Nr,Si,vc,Rc;kh("beforeSanitizeAttributes",cn,null);const{attributes:Eh}=cn;if(!Eh)return;const Zc={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Gt};for(Rc=Eh.length;Rc--;){Nr=Eh[Rc];const{name:Qh,namespaceURI:Od}=Nr;if(Si=Qh==="value"?Nr.value:zDe(Nr.value),vc=Zs(Qh),Zc.attrName=vc,Zc.attrValue=Si,Zc.keepAttr=!0,Zc.forceKeepAttr=void 0,kh("uponSanitizeAttribute",cn,Zc),Si=Zc.attrValue,Zc.forceKeepAttr||(ya(Qh,cn),!Zc.keepAttr))continue;if(!be&&E2(/\/>/i,Si)){ya(Qh,cn);continue}Ne&&(Si=Hv(Si,K," "),Si=Hv(Si,yt," "),Si=Hv(Si,V," "));const cs=Zs(cn.nodeName);if(w0(cs,vc,Si)){if(Fi&&(vc==="id"||vc==="name")&&(ya(Qh,cn),Si=mi+Si),wt&&typeof B=="object"&&typeof B.getAttributeType=="function"&&!Od)switch(B.getAttributeType(cs,vc)){case"TrustedHTML":{Si=wt.createHTML(Si);break}case"TrustedScriptURL":{Si=wt.createScriptURL(Si);break}}try{Od?cn.setAttributeNS(Od,Qh,Si):cn.setAttribute(Qh,Si),EPt(a.removed)}catch{}}}kh("afterSanitizeAttributes",cn,null)},hg=function Gi(cn){let Nr;const Si=Zl(cn);for(kh("beforeSanitizeShadowDOM",cn,null);Nr=Si.nextNode();)kh("uponSanitizeShadowNode",Nr,null),!Md(Nr)&&(Nr.content instanceof v&&Gi(Nr.content),m0(Nr));kh("afterSanitizeShadowDOM",cn,null)};return a.sanitize=function(Gi){let cn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Nr,Si,vc,Rc;if(xo=!Gi,xo&&(Gi="<!-->"),typeof Gi!="string"&&!rm(Gi))if(typeof Gi.toString=="function"){if(Gi=Gi.toString(),typeof Gi!="string")throw yF("dirty is not a string, aborting")}else throw yF("toString is not a function");if(!a.isSupported)return Gi;if(_e||Ic(cn),a.removed=[],typeof Gi=="string"&&(Ss=!1),Ss){if(Gi.nodeName){const Qh=Zs(Gi.nodeName);if(!Ct[Qh]||pn[Qh])throw yF("root node is forbidden and cannot be sanitized in-place")}}else if(Gi instanceof E)Nr=ea("<!---->"),Si=Nr.ownerDocument.importNode(Gi,!0),Si.nodeType===1&&Si.nodeName==="BODY"||Si.nodeName==="HTML"?Nr=Si:Nr.appendChild(Si);else{if(!Mn&&!Ne&&!Xt&&Gi.indexOf("<")===-1)return wt&&Br?wt.createHTML(Gi):Gi;if(Nr=ea(Gi),!Nr)return Mn?null:Br?mt:""}Nr&&xe&&ca(Nr.firstChild);const Eh=Zl(Ss?Gi:Nr);for(;vc=Eh.nextNode();)Md(vc)||(vc.content instanceof v&&hg(vc.content),m0(vc));if(Ss)return Gi;if(Mn){if(ce)for(Rc=it.call(Nr.ownerDocument);Nr.firstChild;)Rc.appendChild(Nr.firstChild);else Rc=Nr;return(Gt.shadowroot||Gt.shadowrootmode)&&(Rc=Q.call(f,Rc,!0)),Rc}let Zc=Xt?Nr.outerHTML:Nr.innerHTML;return Xt&&Ct["!doctype"]&&Nr.ownerDocument&&Nr.ownerDocument.doctype&&Nr.ownerDocument.doctype.name&&E2(LPt,Nr.ownerDocument.doctype.name)&&(Zc="<!DOCTYPE "+Nr.ownerDocument.doctype.name+`>

7 `+Zc),Ne&&(Zc=Hv(Zc,K," "),Zc=Hv(Zc,yt," "),Zc=Hv(Zc,V," ")),wt&&Br?wt.createHTML(Zc):Zc},a.setConfig=function(Gi){Ic(Gi),_e=!0},a.clearConfig=function(){d1=null,_e=!1},a.isValidAttribute=function(Gi,cn,Nr){d1||Ic({});const Si=Zs(Gi),vc=Zs(cn);return w0(Si,vc,Nr)},a.addHook=function(Gi,cn){typeof cn=="function"&&(dt[Gi]=dt[Gi]||[],vF(dt[Gi],cn))},a.removeHook=function(Gi){if(dt[Gi])return EPt(dt[Gi])},a.removeHooks=function(Gi){dt[Gi]&&(dt[Gi]=[])},a.removeAllHooks=function(){dt={}},a}var QL=MPt();const xF=/<br\s*\/?>/gi,tMe=i=>i?NPt(i).replace(/\\n/g,"#br#").split("#br#"):[""],eMe=(()=>{let i=!1;return()=>{i||(nMe(),i=!0)}})();function nMe(){const i="data-temp-href-target";QL.addHook("beforeSanitizeAttributes",a=>{a.tagName==="A"&&a.hasAttribute("target")&&a.setAttribute(i,a.getAttribute("target")||"")}),QL.addHook("afterSanitizeAttributes",a=>{a.tagName==="A"&&a.hasAttribute(i)&&(a.setAttribute("target",a.getAttribute(i)||""),a.removeAttribute(i),a.getAttribute("target")==="_blank"&&a.setAttribute("rel","noopener"))})}const IPt=i=>(eMe(),QL.sanitize(i)),OPt=(i,a)=>{var f;if(((f=a.flowchart)==null?void 0:f.htmlLabels)!==!1){const g=a.securityLevel;g==="antiscript"||g==="strict"?i=IPt(i):g!=="loose"&&(i=NPt(i),i=i.replace(/</g,"&lt;").replace(/>/g,"&gt;"),i=i.replace(/=/g,"&equals;"),i=aMe(i))}return i},Ef=(i,a)=>i&&(a.dompurifyConfig?i=QL.sanitize(OPt(i,a),a.dompurifyConfig).toString():i=QL.sanitize(OPt(i,a),{FORBID_TAGS:["style"]}).toString(),i),rMe=(i,a)=>typeof i=="string"?Ef(i,a):i.flat().map(f=>Ef(f,a)),iMe=i=>xF.test(i),sMe=i=>i.split(xF),aMe=i=>i.replace(/#br#/g,"<br/>"),NPt=i=>i.replace(xF,"#br#"),oMe=i=>{let a="";return i&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replaceAll(/\(/g,"\\("),a=a.replaceAll(/\)/g,"\\)")),a},j1=i=>!(i===!1||["false","null","0"].includes(String(i).trim().toLowerCase())),cMe=function(...i){const a=i.filter(f=>!isNaN(f));return Math.max(...a)},uMe=function(...i){const a=i.filter(f=>!isNaN(f));return Math.min(...a)},kF=function(i){const a=i.split(/(,)/),f=[];for(let g=0;g<a.length;g++){let w=a[g];if(w===","&&g>0&&g+1<a.length){const v=a[g-1],b=a[g+1];lMe(v,b)&&(w=v+","+b,g++,f.pop())}f.push(hMe(w))}return f.join("")},fgt=(i,a)=>Math.max(0,i.split(a).length-1),lMe=(i,a)=>{const f=fgt(i,"~"),g=fgt(a,"~");return f===1&&g===1},hMe=i=>{const a=fgt(i,"~");let f=!1;if(a<=1)return i;a%2!==0&&i.startsWith("~")&&(i=i.substring(1),f=!0);const g=[...i];let w=g.indexOf("~"),v=g.lastIndexOf("~");for(;w!==-1&&v!==-1&&w!==v;)g[w]="<",g[v]=">",w=g.indexOf("~"),v=g.lastIndexOf("~");return f&&g.unshift("~"),g.join("")},ei={getRows:tMe,sanitizeText:Ef,sanitizeTextOrArray:rMe,hasBreaks:iMe,splitBreaks:sMe,lineBreakRegex:xF,removeScript:IPt,getUrl:oMe,evaluate:j1,getMax:cMe,getMin:uMe},qW={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:i=>i>=255?255:i<0?0:i,g:i=>i>=255?255:i<0?0:i,b:i=>i>=255?255:i<0?0:i,h:i=>i%360,s:i=>i>=100?100:i<0?0:i,l:i=>i>=100?100:i<0?0:i,a:i=>i>=1?1:i<0?0:i},toLinear:i=>{const a=i/255;return i>.03928?Math.pow((a+.055)/1.055,2.4):a/12.92},hue2rgb:(i,a,f)=>(f<0&&(f+=1),f>1&&(f-=1),f<1/6?i+(a-i)*6*f:f<1/2?a:f<2/3?i+(a-i)*(2/3-f)*6:i),hsl2rgb:({h:i,s:a,l:f},g)=>{if(!a)return f*2.55;i/=360,a/=100,f/=100;const w=f<.5?f*(1+a):f+a-f*a,v=2*f-w;switch(g){case"r":return qW.hue2rgb(v,w,i+1/3)*255;case"g":return qW.hue2rgb(v,w,i)*255;case"b":return qW.hue2rgb(v,w,i-1/3)*255}},rgb2hsl:({r:i,g:a,b:f},g)=>{i/=255,a/=255,f/=255;const w=Math.max(i,a,f),v=Math.min(i,a,f),b=(w+v)/2;if(g==="l")return b*100;if(w===v)return 0;const E=w-v,S=b>.5?E/(2-w-v):E/(w+v);if(g==="s")return S*100;switch(w){case i:return((a-f)/E+(a<f?6:0))*60;case a:return((f-i)/E+2)*60;case f:return((i-a)/E+4)*60;default:return-1}}},Ia={channel:qW,lang:{clamp:(i,a,f)=>a>f?Math.min(a,Math.max(f,i)):Math.min(f,Math.max(a,i)),round:i=>Math.round(i*1e10)/1e10},unit:{dec2hex:i=>{const a=Math.round(i).toString(16);return a.length>1?a:`0${a}`}}},g8={};for(let i=0;i<=255;i++)g8[i]=Ia.unit.dec2hex(i);const ig={ALL:0,RGB:1,HSL:2};class fMe{constructor(){this.type=ig.ALL}get(){return this.type}set(a){if(this.type&&this.type!==a)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=a}reset(){this.type=ig.ALL}is(a){return this.type===a}}const dMe=fMe;class gMe{constructor(a,f){this.color=f,this.changed=!1,this.data=a,this.type=new dMe}set(a,f){return this.color=f,this.changed=!1,this.data=a,this.type.type=ig.ALL,this}_ensureHSL(){const a=this.data,{h:f,s:g,l:w}=a;f===void 0&&(a.h=Ia.channel.rgb2hsl(a,"h")),g===void 0&&(a.s=Ia.channel.rgb2hsl(a,"s")),w===void 0&&(a.l=Ia.channel.rgb2hsl(a,"l"))}_ensureRGB(){const a=this.data,{r:f,g,b:w}=a;f===void 0&&(a.r=Ia.channel.hsl2rgb(a,"r")),g===void 0&&(a.g=Ia.channel.hsl2rgb(a,"g")),w===void 0&&(a.b=Ia.channel.hsl2rgb(a,"b"))}get r(){const a=this.data,f=a.r;return!this.type.is(ig.HSL)&&f!==void 0?f:(this._ensureHSL(),Ia.channel.hsl2rgb(a,"r"))}get g(){const a=this.data,f=a.g;return!this.type.is(ig.HSL)&&f!==void 0?f:(this._ensureHSL(),Ia.channel.hsl2rgb(a,"g"))}get b(){const a=this.data,f=a.b;return!this.type.is(ig.HSL)&&f!==void 0?f:(this._ensureHSL(),Ia.channel.hsl2rgb(a,"b"))}get h(){const a=this.data,f=a.h;return!this.type.is(ig.RGB)&&f!==void 0?f:(this._ensureRGB(),Ia.channel.rgb2hsl(a,"h"))}get s(){const a=this.data,f=a.s;return!this.type.is(ig.RGB)&&f!==void 0?f:(this._ensureRGB(),Ia.channel.rgb2hsl(a,"s"))}get l(){const a=this.data,f=a.l;return!this.type.is(ig.RGB)&&f!==void 0?f:(this._ensureRGB(),Ia.channel.rgb2hsl(a,"l"))}get a(){return this.data.a}set r(a){this.type.set(ig.RGB),this.changed=!0,this.data.r=a}set g(a){this.type.set(ig.RGB),this.changed=!0,this.data.g=a}set b(a){this.type.set(ig.RGB),this.changed=!0,this.data.b=a}set h(a){this.type.set(ig.HSL),this.changed=!0,this.data.h=a}set s(a){this.type.set(ig.HSL),this.changed=!0,this.data.s=a}set l(a){this.type.set(ig.HSL),this.changed=!0,this.data.l=a}set a(a){this.changed=!0,this.data.a=a}}const pMe=gMe,HW=new pMe({r:0,g:0,b:0,a:0},"transparent"),PPt={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:i=>{if(i.charCodeAt(0)!==35)return;const a=i.match(PPt.re);if(!a)return;const f=a[1],g=parseInt(f,16),w=f.length,v=w%4===0,b=w>4,E=b?1:17,S=b?8:4,_=v?0:-1,M=b?255:15;return HW.set({r:(g>>S*(_+3)&M)*E,g:(g>>S*(_+2)&M)*E,b:(g>>S*(_+1)&M)*E,a:v?(g&M)*E/255:1},i)},stringify:i=>{const{r:a,g:f,b:g,a:w}=i;return w<1?`#${g8[Math.round(a)]}${g8[Math.round(f)]}${g8[Math.round(g)]}${g8[Math.round(w*255)]}`:`#${g8[Math.round(a)]}${g8[Math.round(f)]}${g8[Math.round(g)]}`}},EF=PPt,VW={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:i=>{const a=i.match(VW.hueRe);if(a){const[,f,g]=a;switch(g){case"grad":return Ia.channel.clamp.h(parseFloat(f)*.9);case"rad":return Ia.channel.clamp.h(parseFloat(f)*180/Math.PI);case"turn":return Ia.channel.clamp.h(parseFloat(f)*360)}}return Ia.channel.clamp.h(parseFloat(i))},parse:i=>{const a=i.charCodeAt(0);if(a!==104&&a!==72)return;const f=i.match(VW.re);if(!f)return;const[,g,w,v,b,E]=f;return HW.set({h:VW._hue2deg(g),s:Ia.channel.clamp.s(parseFloat(w)),l:Ia.channel.clamp.l(parseFloat(v)),a:b?Ia.channel.clamp.a(E?parseFloat(b)/100:parseFloat(b)):1},i)},stringify:i=>{const{h:a,s:f,l:g,a:w}=i;return w<1?`hsla(${Ia.lang.round(a)}, ${Ia.lang.round(f)}%, ${Ia.lang.round(g)}%, ${w})`:`hsl(${Ia.lang.round(a)}, ${Ia.lang.round(f)}%, ${Ia.lang.round(g)}%)`}},UW=VW,GW={colors:{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",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#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",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#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",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:i=>{i=i.toLowerCase();const a=GW.colors[i];if(a)return EF.parse(a)},stringify:i=>{const a=EF.stringify(i);for(const f in GW.colors)if(GW.colors[f]===a)return f}},FPt=GW,BPt={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:i=>{const a=i.charCodeAt(0);if(a!==114&&a!==82)return;const f=i.match(BPt.re);if(!f)return;const[,g,w,v,b,E,S,_,M]=f;return HW.set({r:Ia.channel.clamp.r(w?parseFloat(g)*2.55:parseFloat(g)),g:Ia.channel.clamp.g(b?parseFloat(v)*2.55:parseFloat(v)),b:Ia.channel.clamp.b(S?parseFloat(E)*2.55:parseFloat(E)),a:_?Ia.channel.clamp.a(M?parseFloat(_)/100:parseFloat(_)):1},i)},stringify:i=>{const{r:a,g:f,b:g,a:w}=i;return w<1?`rgba(${Ia.lang.round(a)}, ${Ia.lang.round(f)}, ${Ia.lang.round(g)}, ${Ia.lang.round(w)})`:`rgb(${Ia.lang.round(a)}, ${Ia.lang.round(f)}, ${Ia.lang.round(g)})`}},KW=BPt,Vv={format:{keyword:FPt,hex:EF,rgb:KW,rgba:KW,hsl:UW,hsla:UW},parse:i=>{if(typeof i!="string")return i;const a=EF.parse(i)||KW.parse(i)||UW.parse(i)||FPt.parse(i);if(a)return a;throw new Error(`Unsupported color format: "${i}"`)},stringify:i=>!i.changed&&i.color?i.color:i.type.is(ig.HSL)||i.data.r===void 0?UW.stringify(i):i.a<1||!Number.isInteger(i.r)||!Number.isInteger(i.g)||!Number.isInteger(i.b)?KW.stringify(i):EF.stringify(i)},RPt=(i,a)=>{const f=Vv.parse(i);for(const g in a)f[g]=Ia.channel.clamp[g](a[g]);return Vv.stringify(f)},g9=(i,a,f=0,g=1)=>{if(typeof i!="number")return RPt(i,{a});const w=HW.set({r:Ia.channel.clamp.r(i),g:Ia.channel.clamp.g(a),b:Ia.channel.clamp.b(f),a:Ia.channel.clamp.a(g)});return Vv.stringify(w)},jPt=(i,a)=>Ia.lang.round(Vv.parse(i)[a]),bMe=i=>{const{r:a,g:f,b:g}=Vv.parse(i),w=.2126*Ia.channel.toLinear(a)+.7152*Ia.channel.toLinear(f)+.0722*Ia.channel.toLinear(g);return Ia.lang.round(w)},wMe=i=>bMe(i)>=.5,p9=i=>!wMe(i),$Pt=(i,a,f)=>{const g=Vv.parse(i),w=g[a],v=Ia.channel.clamp[a](w+f);return w!==v&&(g[a]=v),Vv.stringify(g)},Is=(i,a)=>$Pt(i,"l",a),Js=(i,a)=>$Pt(i,"l",-a),Cn=(i,a)=>{const f=Vv.parse(i),g={};for(const w in a)a[w]&&(g[w]=f[w]+a[w]);return RPt(i,g)},mMe=(i,a,f=50)=>{const{r:g,g:w,b:v,a:b}=Vv.parse(i),{r:E,g:S,b:_,a:M}=Vv.parse(a),F=f/100,R=F*2-1,B=b-M,Y=((R*B===-1?R:(R+B)/(1+R*B))+1)/2,nt=1-Y,ot=g*Y+E*nt,ft=w*Y+S*nt,wt=v*Y+_*nt,mt=b*F+M*(1-F);return g9(ot,ft,wt,mt)},Ii=(i,a=100)=>{const f=Vv.parse(i);return f.r=255-f.r,f.g=255-f.g,f.b=255-f.b,mMe(f,i,a)},Yg=(i,a)=>a?Cn(i,{s:-40,l:10}):Cn(i,{s:-40,l:-10}),WW="#ffffff",YW="#f2f2f2";let vMe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var f,g,w,v,b,E,S,_,M,F,R;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Cn(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Cn(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Yg(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Yg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Yg(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Yg(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Ii(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Ii(this.tertiaryColor),this.lineColor=this.lineColor||Ii(this.background),this.arrowheadColor=this.arrowheadColor||Ii(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Js(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Js(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Ii(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Is(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Cn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Cn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Cn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Cn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Cn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Cn(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Cn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Cn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Cn(this.primaryColor,{h:330}),this.darkMode)for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScale"+B]=Js(this["cScale"+B],75);else for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScale"+B]=Js(this["cScale"+B],25);for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScaleInv"+B]=this["cScaleInv"+B]||Ii(this["cScale"+B]);for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this.darkMode?this["cScalePeer"+B]=this["cScalePeer"+B]||Is(this["cScale"+B],10):this["cScalePeer"+B]=this["cScalePeer"+B]||Js(this["cScale"+B],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScaleLabel"+B]=this["cScaleLabel"+B]||this.scaleLabelColor;const a=this.darkMode?-4:-1;for(let B=0;B<5;B++)this["surface"+B]=this["surface"+B]||Cn(this.mainBkg,{h:180,s:-15,l:a*(5+B*3)}),this["surfacePeer"+B]=this["surfacePeer"+B]||Cn(this.mainBkg,{h:180,s:-15,l:a*(8+B*3)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||Cn(this.primaryColor,{h:64}),this.fillType3=this.fillType3||Cn(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||Cn(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||Cn(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||Cn(this.primaryColor,{h:128}),this.fillType7=this.fillType7||Cn(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||Cn(this.primaryColor,{l:-10}),this.pie5=this.pie5||Cn(this.secondaryColor,{l:-10}),this.pie6=this.pie6||Cn(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||Cn(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||Cn(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||Cn(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||Cn(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||Cn(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||Cn(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||Cn(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Cn(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Cn(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Cn(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Cn(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Cn(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||p9(this.quadrant1Fill)?Is(this.quadrant1Fill):Js(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((f=this.xyChart)==null?void 0:f.backgroundColor)||this.background,titleColor:((g=this.xyChart)==null?void 0:g.titleColor)||this.primaryTextColor,xAxisTitleColor:((w=this.xyChart)==null?void 0:w.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((v=this.xyChart)==null?void 0:v.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((b=this.xyChart)==null?void 0:b.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((E=this.xyChart)==null?void 0:E.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((S=this.xyChart)==null?void 0:S.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((_=this.xyChart)==null?void 0:_.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((M=this.xyChart)==null?void 0:M.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((F=this.xyChart)==null?void 0:F.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((R=this.xyChart)==null?void 0:R.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?Js(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||Cn(this.primaryColor,{h:-30}),this.git4=this.git4||Cn(this.primaryColor,{h:-60}),this.git5=this.git5||Cn(this.primaryColor,{h:-90}),this.git6=this.git6||Cn(this.primaryColor,{h:60}),this.git7=this.git7||Cn(this.primaryColor,{h:120}),this.darkMode?(this.git0=Is(this.git0,25),this.git1=Is(this.git1,25),this.git2=Is(this.git2,25),this.git3=Is(this.git3,25),this.git4=Is(this.git4,25),this.git5=Is(this.git5,25),this.git6=Is(this.git6,25),this.git7=Is(this.git7,25)):(this.git0=Js(this.git0,25),this.git1=Js(this.git1,25),this.git2=Js(this.git2,25),this.git3=Js(this.git3,25),this.git4=Js(this.git4,25),this.git5=Js(this.git5,25),this.git6=Js(this.git6,25),this.git7=Js(this.git7,25)),this.gitInv0=this.gitInv0||Ii(this.git0),this.gitInv1=this.gitInv1||Ii(this.git1),this.gitInv2=this.gitInv2||Ii(this.git2),this.gitInv3=this.gitInv3||Ii(this.git3),this.gitInv4=this.gitInv4||Ii(this.git4),this.gitInv5=this.gitInv5||Ii(this.git5),this.gitInv6=this.gitInv6||Ii(this.git6),this.gitInv7=this.gitInv7||Ii(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||WW,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||YW}calculate(a){if(typeof a!="object"){this.updateColors();return}const f=Object.keys(a);f.forEach(g=>{this[g]=a[g]}),this.updateColors(),f.forEach(g=>{this[g]=a[g]})}};const yMe=i=>{const a=new vMe;return a.calculate(i),a};let xMe=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Is(this.primaryColor,16),this.tertiaryColor=Cn(this.primaryColor,{h:-160}),this.primaryBorderColor=Ii(this.background),this.secondaryBorderColor=Yg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Yg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Ii(this.primaryColor),this.secondaryTextColor=Ii(this.secondaryColor),this.tertiaryTextColor=Ii(this.tertiaryColor),this.lineColor=Ii(this.background),this.textColor=Ii(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Is(Ii("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=g9(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=Js("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=Js(this.sectionBkgColor,10),this.taskBorderColor=g9(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=g9(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var a,f,g,w,v,b,E,S,_,M,F;this.secondBkg=Is(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Is(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Is(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Cn(this.primaryColor,{h:64}),this.fillType3=Cn(this.secondaryColor,{h:64}),this.fillType4=Cn(this.primaryColor,{h:-64}),this.fillType5=Cn(this.secondaryColor,{h:-64}),this.fillType6=Cn(this.primaryColor,{h:128}),this.fillType7=Cn(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Cn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Cn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Cn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Cn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Cn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Cn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Cn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Cn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Cn(this.primaryColor,{h:330});for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleInv"+R]=this["cScaleInv"+R]||Ii(this["cScale"+R]);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScalePeer"+R]=this["cScalePeer"+R]||Is(this["cScale"+R],10);for(let R=0;R<5;R++)this["surface"+R]=this["surface"+R]||Cn(this.mainBkg,{h:30,s:-30,l:-(-10+R*4)}),this["surfacePeer"+R]=this["surfacePeer"+R]||Cn(this.mainBkg,{h:30,s:-30,l:-(-7+R*4)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleLabel"+R]=this["cScaleLabel"+R]||this.scaleLabelColor;for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["pie"+R]=this["cScale"+R];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||Cn(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Cn(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Cn(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Cn(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Cn(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Cn(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||p9(this.quadrant1Fill)?Is(this.quadrant1Fill):Js(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((a=this.xyChart)==null?void 0:a.backgroundColor)||this.background,titleColor:((f=this.xyChart)==null?void 0:f.titleColor)||this.primaryTextColor,xAxisTitleColor:((g=this.xyChart)==null?void 0:g.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((w=this.xyChart)==null?void 0:w.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((v=this.xyChart)==null?void 0:v.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((b=this.xyChart)==null?void 0:b.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((E=this.xyChart)==null?void 0:E.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((S=this.xyChart)==null?void 0:S.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((_=this.xyChart)==null?void 0:_.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((M=this.xyChart)==null?void 0:M.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((F=this.xyChart)==null?void 0:F.plotColorPalette)||"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"},this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?Js(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=Is(this.secondaryColor,20),this.git1=Is(this.pie2||this.secondaryColor,20),this.git2=Is(this.pie3||this.tertiaryColor,20),this.git3=Is(this.pie4||Cn(this.primaryColor,{h:-30}),20),this.git4=Is(this.pie5||Cn(this.primaryColor,{h:-60}),20),this.git5=Is(this.pie6||Cn(this.primaryColor,{h:-90}),10),this.git6=Is(this.pie7||Cn(this.primaryColor,{h:60}),10),this.git7=Is(this.pie8||Cn(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||Ii(this.git0),this.gitInv1=this.gitInv1||Ii(this.git1),this.gitInv2=this.gitInv2||Ii(this.git2),this.gitInv3=this.gitInv3||Ii(this.git3),this.gitInv4=this.gitInv4||Ii(this.git4),this.gitInv5=this.gitInv5||Ii(this.git5),this.gitInv6=this.gitInv6||Ii(this.git6),this.gitInv7=this.gitInv7||Ii(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||Ii(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||Ii(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Is(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Is(this.background,2)}calculate(a){if(typeof a!="object"){this.updateColors();return}const f=Object.keys(a);f.forEach(g=>{this[g]=a[g]}),this.updateColors(),f.forEach(g=>{this[g]=a[g]})}};const kMe=i=>{const a=new xMe;return a.calculate(i),a};let EMe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Cn(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Cn(this.primaryColor,{h:-160}),this.primaryBorderColor=Yg(this.primaryColor,this.darkMode),this.secondaryBorderColor=Yg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Yg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Ii(this.primaryColor),this.secondaryTextColor=Ii(this.secondaryColor),this.tertiaryTextColor=Ii(this.tertiaryColor),this.lineColor=Ii(this.background),this.textColor=Ii(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=g9(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var a,f,g,w,v,b,E,S,_,M,F;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Cn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Cn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Cn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Cn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Cn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Cn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Cn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Cn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Cn(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||Js(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||Js(this.tertiaryColor,40);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScale"+R]=Js(this["cScale"+R],10),this["cScalePeer"+R]=this["cScalePeer"+R]||Js(this["cScale"+R],25);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleInv"+R]=this["cScaleInv"+R]||Cn(this["cScale"+R],{h:180});for(let R=0;R<5;R++)this["surface"+R]=this["surface"+R]||Cn(this.mainBkg,{h:30,l:-(5+R*5)}),this["surfacePeer"+R]=this["surfacePeer"+R]||Cn(this.mainBkg,{h:30,l:-(7+R*5)});if(this.scaleLabelColor=this.scaleLabelColor!=="calculated"&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,this.labelTextColor!=="calculated"){this.cScaleLabel0=this.cScaleLabel0||Ii(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||Ii(this.labelTextColor);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleLabel"+R]=this["cScaleLabel"+R]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=Is(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Cn(this.primaryColor,{h:64}),this.fillType3=Cn(this.secondaryColor,{h:64}),this.fillType4=Cn(this.primaryColor,{h:-64}),this.fillType5=Cn(this.secondaryColor,{h:-64}),this.fillType6=Cn(this.primaryColor,{h:128}),this.fillType7=Cn(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||Cn(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||Cn(this.primaryColor,{l:-10}),this.pie5=this.pie5||Cn(this.secondaryColor,{l:-30}),this.pie6=this.pie6||Cn(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||Cn(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||Cn(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||Cn(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||Cn(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||Cn(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||Cn(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||Cn(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Cn(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Cn(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Cn(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Cn(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Cn(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||p9(this.quadrant1Fill)?Is(this.quadrant1Fill):Js(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((a=this.xyChart)==null?void 0:a.backgroundColor)||this.background,titleColor:((f=this.xyChart)==null?void 0:f.titleColor)||this.primaryTextColor,xAxisTitleColor:((g=this.xyChart)==null?void 0:g.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((w=this.xyChart)==null?void 0:w.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((v=this.xyChart)==null?void 0:v.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((b=this.xyChart)==null?void 0:b.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((E=this.xyChart)==null?void 0:E.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((S=this.xyChart)==null?void 0:S.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((_=this.xyChart)==null?void 0:_.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((M=this.xyChart)==null?void 0:M.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((F=this.xyChart)==null?void 0:F.plotColorPalette)||"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||Cn(this.primaryColor,{h:-30}),this.git4=this.git4||Cn(this.primaryColor,{h:-60}),this.git5=this.git5||Cn(this.primaryColor,{h:-90}),this.git6=this.git6||Cn(this.primaryColor,{h:60}),this.git7=this.git7||Cn(this.primaryColor,{h:120}),this.darkMode?(this.git0=Is(this.git0,25),this.git1=Is(this.git1,25),this.git2=Is(this.git2,25),this.git3=Is(this.git3,25),this.git4=Is(this.git4,25),this.git5=Is(this.git5,25),this.git6=Is(this.git6,25),this.git7=Is(this.git7,25)):(this.git0=Js(this.git0,25),this.git1=Js(this.git1,25),this.git2=Js(this.git2,25),this.git3=Js(this.git3,25),this.git4=Js(this.git4,25),this.git5=Js(this.git5,25),this.git6=Js(this.git6,25),this.git7=Js(this.git7,25)),this.gitInv0=this.gitInv0||Js(Ii(this.git0),25),this.gitInv1=this.gitInv1||Ii(this.git1),this.gitInv2=this.gitInv2||Ii(this.git2),this.gitInv3=this.gitInv3||Ii(this.git3),this.gitInv4=this.gitInv4||Ii(this.git4),this.gitInv5=this.gitInv5||Ii(this.git5),this.gitInv6=this.gitInv6||Ii(this.git6),this.gitInv7=this.gitInv7||Ii(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||Ii(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||Ii(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||WW,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||YW}calculate(a){if(typeof a!="object"){this.updateColors();return}const f=Object.keys(a);f.forEach(g=>{this[g]=a[g]}),this.updateColors(),f.forEach(g=>{this[g]=a[g]})}};const dgt=i=>{const a=new EMe;return a.calculate(i),a};let TMe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Is("#cde498",10),this.primaryBorderColor=Yg(this.primaryColor,this.darkMode),this.secondaryBorderColor=Yg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Yg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Ii(this.primaryColor),this.secondaryTextColor=Ii(this.secondaryColor),this.tertiaryTextColor=Ii(this.primaryColor),this.lineColor=Ii(this.background),this.textColor=Ii(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var a,f,g,w,v,b,E,S,_,M,F;this.actorBorder=Js(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Cn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Cn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Cn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Cn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Cn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Cn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Cn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Cn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Cn(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||Js(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||Js(this.tertiaryColor,40);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScale"+R]=Js(this["cScale"+R],10),this["cScalePeer"+R]=this["cScalePeer"+R]||Js(this["cScale"+R],25);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleInv"+R]=this["cScaleInv"+R]||Cn(this["cScale"+R],{h:180});this.scaleLabelColor=this.scaleLabelColor!=="calculated"&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleLabel"+R]=this["cScaleLabel"+R]||this.scaleLabelColor;for(let R=0;R<5;R++)this["surface"+R]=this["surface"+R]||Cn(this.mainBkg,{h:30,s:-30,l:-(5+R*5)}),this["surfacePeer"+R]=this["surfacePeer"+R]||Cn(this.mainBkg,{h:30,s:-30,l:-(8+R*5)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Cn(this.primaryColor,{h:64}),this.fillType3=Cn(this.secondaryColor,{h:64}),this.fillType4=Cn(this.primaryColor,{h:-64}),this.fillType5=Cn(this.secondaryColor,{h:-64}),this.fillType6=Cn(this.primaryColor,{h:128}),this.fillType7=Cn(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||Cn(this.primaryColor,{l:-30}),this.pie5=this.pie5||Cn(this.secondaryColor,{l:-30}),this.pie6=this.pie6||Cn(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||Cn(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||Cn(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||Cn(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||Cn(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||Cn(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||Cn(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||Cn(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Cn(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Cn(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Cn(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Cn(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Cn(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||p9(this.quadrant1Fill)?Is(this.quadrant1Fill):Js(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((a=this.xyChart)==null?void 0:a.backgroundColor)||this.background,titleColor:((f=this.xyChart)==null?void 0:f.titleColor)||this.primaryTextColor,xAxisTitleColor:((g=this.xyChart)==null?void 0:g.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((w=this.xyChart)==null?void 0:w.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((v=this.xyChart)==null?void 0:v.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((b=this.xyChart)==null?void 0:b.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((E=this.xyChart)==null?void 0:E.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((S=this.xyChart)==null?void 0:S.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((_=this.xyChart)==null?void 0:_.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((M=this.xyChart)==null?void 0:M.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((F=this.xyChart)==null?void 0:F.plotColorPalette)||"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||Cn(this.primaryColor,{h:-30}),this.git4=this.git4||Cn(this.primaryColor,{h:-60}),this.git5=this.git5||Cn(this.primaryColor,{h:-90}),this.git6=this.git6||Cn(this.primaryColor,{h:60}),this.git7=this.git7||Cn(this.primaryColor,{h:120}),this.darkMode?(this.git0=Is(this.git0,25),this.git1=Is(this.git1,25),this.git2=Is(this.git2,25),this.git3=Is(this.git3,25),this.git4=Is(this.git4,25),this.git5=Is(this.git5,25),this.git6=Is(this.git6,25),this.git7=Is(this.git7,25)):(this.git0=Js(this.git0,25),this.git1=Js(this.git1,25),this.git2=Js(this.git2,25),this.git3=Js(this.git3,25),this.git4=Js(this.git4,25),this.git5=Js(this.git5,25),this.git6=Js(this.git6,25),this.git7=Js(this.git7,25)),this.gitInv0=this.gitInv0||Ii(this.git0),this.gitInv1=this.gitInv1||Ii(this.git1),this.gitInv2=this.gitInv2||Ii(this.git2),this.gitInv3=this.gitInv3||Ii(this.git3),this.gitInv4=this.gitInv4||Ii(this.git4),this.gitInv5=this.gitInv5||Ii(this.git5),this.gitInv6=this.gitInv6||Ii(this.git6),this.gitInv7=this.gitInv7||Ii(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||Ii(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||Ii(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||WW,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||YW}calculate(a){if(typeof a!="object"){this.updateColors();return}const f=Object.keys(a);f.forEach(g=>{this[g]=a[g]}),this.updateColors(),f.forEach(g=>{this[g]=a[g]})}};const CMe=i=>{const a=new TMe;return a.calculate(i),a};class SMe{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Is(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Cn(this.primaryColor,{h:-160}),this.primaryBorderColor=Yg(this.primaryColor,this.darkMode),this.secondaryBorderColor=Yg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Yg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Ii(this.primaryColor),this.secondaryTextColor=Ii(this.secondaryColor),this.tertiaryTextColor=Ii(this.tertiaryColor),this.lineColor=Ii(this.background),this.textColor=Ii(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var a,f,g,w,v,b,E,S,_,M,F;this.secondBkg=Is(this.contrast,55),this.border2=this.contrast,this.actorBorder=Is(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleInv"+R]=this["cScaleInv"+R]||Ii(this["cScale"+R]);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this.darkMode?this["cScalePeer"+R]=this["cScalePeer"+R]||Is(this["cScale"+R],10):this["cScalePeer"+R]=this["cScalePeer"+R]||Js(this["cScale"+R],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleLabel"+R]=this["cScaleLabel"+R]||this.scaleLabelColor;for(let R=0;R<5;R++)this["surface"+R]=this["surface"+R]||Cn(this.mainBkg,{l:-(5+R*5)}),this["surfacePeer"+R]=this["surfacePeer"+R]||Cn(this.mainBkg,{l:-(8+R*5)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.sectionBkgColor=Is(this.contrast,30),this.sectionBkgColor2=Is(this.contrast,30),this.taskBorderColor=Js(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=Is(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=Js(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.transitionColor=this.transitionColor||"#000",this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Cn(this.primaryColor,{h:64}),this.fillType3=Cn(this.secondaryColor,{h:64}),this.fillType4=Cn(this.primaryColor,{h:-64}),this.fillType5=Cn(this.secondaryColor,{h:-64}),this.fillType6=Cn(this.primaryColor,{h:128}),this.fillType7=Cn(this.secondaryColor,{h:128});for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["pie"+R]=this["cScale"+R];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||Cn(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Cn(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Cn(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Cn(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Cn(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Cn(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||p9(this.quadrant1Fill)?Is(this.quadrant1Fill):Js(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((a=this.xyChart)==null?void 0:a.backgroundColor)||this.background,titleColor:((f=this.xyChart)==null?void 0:f.titleColor)||this.primaryTextColor,xAxisTitleColor:((g=this.xyChart)==null?void 0:g.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((w=this.xyChart)==null?void 0:w.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((v=this.xyChart)==null?void 0:v.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((b=this.xyChart)==null?void 0:b.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((E=this.xyChart)==null?void 0:E.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((S=this.xyChart)==null?void 0:S.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((_=this.xyChart)==null?void 0:_.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((M=this.xyChart)==null?void 0:M.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((F=this.xyChart)==null?void 0:F.plotColorPalette)||"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=Js(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||Cn(this.primaryColor,{h:-30}),this.git4=this.pie5||Cn(this.primaryColor,{h:-60}),this.git5=this.pie6||Cn(this.primaryColor,{h:-90}),this.git6=this.pie7||Cn(this.primaryColor,{h:60}),this.git7=this.pie8||Cn(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||Ii(this.git0),this.gitInv1=this.gitInv1||Ii(this.git1),this.gitInv2=this.gitInv2||Ii(this.git2),this.gitInv3=this.gitInv3||Ii(this.git3),this.gitInv4=this.gitInv4||Ii(this.git4),this.gitInv5=this.gitInv5||Ii(this.git5),this.gitInv6=this.gitInv6||Ii(this.git6),this.gitInv7=this.gitInv7||Ii(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||WW,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||YW}calculate(a){if(typeof a!="object"){this.updateColors();return}const f=Object.keys(a);f.forEach(g=>{this[g]=a[g]}),this.updateColors(),f.forEach(g=>{this[g]=a[g]})}}const Lx={base:{getThemeVariables:yMe},dark:{getThemeVariables:kMe},default:{getThemeVariables:dgt},forest:{getThemeVariables:CMe},neutral:{getThemeVariables:i=>{const a=new SMe;return a.calculate(i),a}}},Dx={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},theme:"default",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","maxEdges"],deterministicIds:!1,fontSize:16},zPt={...Dx,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:Lx.default.getThemeVariables(),sequence:{...Dx.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...Dx.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Dx.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...Dx.pie,useWidth:984},xyChart:{...Dx.xyChart,useWidth:void 0},requirement:{...Dx.requirement,useWidth:void 0},gitGraph:{...Dx.gitGraph,useMaxWidth:!1},sankey:{...Dx.sankey,useMaxWidth:!1}},qPt=(i,a="")=>Object.keys(i).reduce((f,g)=>Array.isArray(i[g])?f:typeof i[g]=="object"&&i[g]!==null?[...f,a+g,...qPt(i[g],"")]:[...f,a+g],[]),_Me=new Set(qPt(zPt,"")),Bl=zPt,XW=i=>{if(Kt.debug("sanitizeDirective called with",i),!(typeof i!="object"||i==null)){if(Array.isArray(i)){i.forEach(a=>XW(a));return}for(const a of Object.keys(i)){if(Kt.debug("Checking key",a),a.startsWith("__")||a.includes("proto")||a.includes("constr")||!_Me.has(a)||i[a]==null){Kt.debug("sanitize deleting key: ",a),delete i[a];continue}if(typeof i[a]=="object"){Kt.debug("sanitizing object",a),XW(i[a]);continue}const f=["themeCSS","fontFamily","altFontFamily"];for(const g of f)a.includes(g)&&(Kt.debug("sanitizing css option",a),i[a]=AMe(i[a]))}if(i.themeVariables)for(const a of Object.keys(i.themeVariables)){const f=i.themeVariables[a];f!=null&&f.match&&!f.match(/^[\d "#%(),.;A-Za-z]+$/)&&(i.themeVariables[a]="")}Kt.debug("After sanitization",i)}},AMe=i=>{let a=0,f=0;for(const g of i){if(a<f)return"{ /* ERROR: Unbalanced CSS */ }";g==="{"?a++:g==="}"&&f++}return a!==f?"{ /* ERROR: Unbalanced CSS */ }":i},HPt=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,TF=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,LMe=/\s*%%.*\n/gm;class VPt extends Error{constructor(a){super(a),this.name="UnknownDiagramError"}}const JL={},QW=function(i,a){i=i.replace(HPt,"").replace(TF,"").replace(LMe,`
79 `).replace(/<(\w+)([^>]*)>/g,(a,f,g)=>"<"+f+g.replace(/="([^"]*)"/g,"='$1'")+">"),qBe=i=>{const{text:a,metadata:f}=$Be(i),{displayMode:g,title:w,config:v={}}=f;return g&&(v.gantt||(v.gantt={}),v.gantt.displayMode=g),{title:w,config:v,text:a}},HBe=i=>{const a=uo.detectInit(i)??{},f=uo.detectDirective(i,"wrap");return Array.isArray(f)?a.wrap=f.some(({type:g})=>{}):(f==null?void 0:f.type)==="wrap"&&(a.wrap=!0),{text:uNe(i),directive:a}};function KBt(i){const a=zBe(i),f=qBe(a),g=HBe(f.text),w=MF(f.config,g.directive);return i=XPe(g.text),{code:i,title:f.title,config:w}}const VBe=5e4,UBe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",GBe="sandbox",KBe="loose",WBe="http://www.w3.org/2000/svg",YBe="http://www.w3.org/1999/xlink",XBe="http://www.w3.org/1999/xhtml",QBe="100%",JBe="100%",ZBe="border:0;margin:0;",tRe="margin:0",eRe="allow-top-navigation-by-user-activation allow-popups",nRe='The "iframe" tag is not supported by your browser.',rRe=["foreignobject"],iRe=["dominant-baseline"];function WBt(i){const a=KBt(i);return wY(),HNe(a.config??{}),a}async function sRe(i,a){Rgt(),i=WBt(i).code;try{await Ygt(i)}catch(f){if(a!=null&&a.suppressErrors)return!1;throw f}return!0}const YBt=(i,a,f=[])=>`
92 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Nn=this.next();return Nn||this.lex()},begin:function(Nn){this.conditionStack.push(Nn)},popState:function(){var Nn=this.conditionStack.length-1;return Nn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Nn){return Nn=this.conditionStack.length-1-Math.abs(Nn||0),Nn>=0?this.conditionStack[Nn]:"INITIAL"},pushState:function(Nn){this.begin(Nn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Nn,Bn,ke,pe){switch(ke){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return br}();ga.lexer=Ss;function za(){this.yy={}}return za.prototype=ga,ga.Parser=za,new za}();SY.parser=SY;const xRe=SY;let Wv=[],y8=[""],ep="global",Yv="",i4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],jF=[],Qgt="",Jgt=!1,_Y=4,AY=2;var rRt;const kRe=function(){return rRt},ERe=function(i){rRt=Ef(i,Re())},TRe=function(i,a,f,g,w,v,b,E,S){if(i==null||a===void 0||a===null||f===void 0||f===null||g===void 0||g===null)return;let _={};const M=jF.find(F=>F.from===a&&F.to===f);if(M?_=M:jF.push(_),_.type=i,_.from=a,_.to=f,_.label={text:g},w==null)_.techn={text:""};else if(typeof w=="object"){let[F,R]=Object.entries(w)[0];_[F]={text:R}}else _.techn={text:w};if(v==null)_.descr={text:""};else if(typeof v=="object"){let[F,R]=Object.entries(v)[0];_[F]={text:R}}else _.descr={text:v};if(typeof b=="object"){let[F,R]=Object.entries(b)[0];_[F]=R}else _.sprite=b;if(typeof E=="object"){let[F,R]=Object.entries(E)[0];_[F]=R}else _.tags=E;if(typeof S=="object"){let[F,R]=Object.entries(S)[0];_[F]=R}else _.link=S;_.wrap=x8()},CRe=function(i,a,f,g,w,v,b){if(a===null||f===null)return;let E={};const S=Wv.find(_=>_.alias===a);if(S&&a===S.alias?E=S:(E.alias=a,Wv.push(E)),f==null?E.label={text:""}:E.label={text:f},g==null)E.descr={text:""};else if(typeof g=="object"){let[_,M]=Object.entries(g)[0];E[_]={text:M}}else E.descr={text:g};if(typeof w=="object"){let[_,M]=Object.entries(w)[0];E[_]=M}else E.sprite=w;if(typeof v=="object"){let[_,M]=Object.entries(v)[0];E[_]=M}else E.tags=v;if(typeof b=="object"){let[_,M]=Object.entries(b)[0];E[_]=M}else E.link=b;E.typeC4Shape={text:i},E.parentBoundary=ep,E.wrap=x8()},SRe=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let S={};const _=Wv.find(M=>M.alias===a);if(_&&a===_.alias?S=_:(S.alias=a,Wv.push(S)),f==null?S.label={text:""}:S.label={text:f},g==null)S.techn={text:""};else if(typeof g=="object"){let[M,F]=Object.entries(g)[0];S[M]={text:F}}else S.techn={text:g};if(w==null)S.descr={text:""};else if(typeof w=="object"){let[M,F]=Object.entries(w)[0];S[M]={text:F}}else S.descr={text:w};if(typeof v=="object"){let[M,F]=Object.entries(v)[0];S[M]=F}else S.sprite=v;if(typeof b=="object"){let[M,F]=Object.entries(b)[0];S[M]=F}else S.tags=b;if(typeof E=="object"){let[M,F]=Object.entries(E)[0];S[M]=F}else S.link=E;S.wrap=x8(),S.typeC4Shape={text:i},S.parentBoundary=ep},_Re=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let S={};const _=Wv.find(M=>M.alias===a);if(_&&a===_.alias?S=_:(S.alias=a,Wv.push(S)),f==null?S.label={text:""}:S.label={text:f},g==null)S.techn={text:""};else if(typeof g=="object"){let[M,F]=Object.entries(g)[0];S[M]={text:F}}else S.techn={text:g};if(w==null)S.descr={text:""};else if(typeof w=="object"){let[M,F]=Object.entries(w)[0];S[M]={text:F}}else S.descr={text:w};if(typeof v=="object"){let[M,F]=Object.entries(v)[0];S[M]=F}else S.sprite=v;if(typeof b=="object"){let[M,F]=Object.entries(b)[0];S[M]=F}else S.tags=b;if(typeof E=="object"){let[M,F]=Object.entries(E)[0];S[M]=F}else S.link=E;S.wrap=x8(),S.typeC4Shape={text:i},S.parentBoundary=ep},ARe=function(i,a,f,g,w){if(i===null||a===null)return;let v={};const b=i4.find(E=>E.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,i4.push(v)),a==null?v.label={text:""}:v.label={text:a},f==null)v.type={text:"system"};else if(typeof f=="object"){let[E,S]=Object.entries(f)[0];v[E]={text:S}}else v.type={text:f};if(typeof g=="object"){let[E,S]=Object.entries(g)[0];v[E]=S}else v.tags=g;if(typeof w=="object"){let[E,S]=Object.entries(w)[0];v[E]=S}else v.link=w;v.parentBoundary=ep,v.wrap=x8(),Yv=ep,ep=i,y8.push(Yv)},LRe=function(i,a,f,g,w){if(i===null||a===null)return;let v={};const b=i4.find(E=>E.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,i4.push(v)),a==null?v.label={text:""}:v.label={text:a},f==null)v.type={text:"container"};else if(typeof f=="object"){let[E,S]=Object.entries(f)[0];v[E]={text:S}}else v.type={text:f};if(typeof g=="object"){let[E,S]=Object.entries(g)[0];v[E]=S}else v.tags=g;if(typeof w=="object"){let[E,S]=Object.entries(w)[0];v[E]=S}else v.link=w;v.parentBoundary=ep,v.wrap=x8(),Yv=ep,ep=i,y8.push(Yv)},DRe=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let S={};const _=i4.find(M=>M.alias===a);if(_&&a===_.alias?S=_:(S.alias=a,i4.push(S)),f==null?S.label={text:""}:S.label={text:f},g==null)S.type={text:"node"};else if(typeof g=="object"){let[M,F]=Object.entries(g)[0];S[M]={text:F}}else S.type={text:g};if(w==null)S.descr={text:""};else if(typeof w=="object"){let[M,F]=Object.entries(w)[0];S[M]={text:F}}else S.descr={text:w};if(typeof b=="object"){let[M,F]=Object.entries(b)[0];S[M]=F}else S.tags=b;if(typeof E=="object"){let[M,F]=Object.entries(E)[0];S[M]=F}else S.link=E;S.nodeType=i,S.parentBoundary=ep,S.wrap=x8(),Yv=ep,ep=a,y8.push(Yv)},MRe=function(){ep=Yv,y8.pop(),Yv=y8.pop(),y8.push(Yv)},IRe=function(i,a,f,g,w,v,b,E,S,_,M){let F=Wv.find(R=>R.alias===a);if(!(F===void 0&&(F=i4.find(R=>R.alias===a),F===void 0))){if(f!=null)if(typeof f=="object"){let[R,B]=Object.entries(f)[0];F[R]=B}else F.bgColor=f;if(g!=null)if(typeof g=="object"){let[R,B]=Object.entries(g)[0];F[R]=B}else F.fontColor=g;if(w!=null)if(typeof w=="object"){let[R,B]=Object.entries(w)[0];F[R]=B}else F.borderColor=w;if(v!=null)if(typeof v=="object"){let[R,B]=Object.entries(v)[0];F[R]=B}else F.shadowing=v;if(b!=null)if(typeof b=="object"){let[R,B]=Object.entries(b)[0];F[R]=B}else F.shape=b;if(E!=null)if(typeof E=="object"){let[R,B]=Object.entries(E)[0];F[R]=B}else F.sprite=E;if(S!=null)if(typeof S=="object"){let[R,B]=Object.entries(S)[0];F[R]=B}else F.techn=S;if(_!=null)if(typeof _=="object"){let[R,B]=Object.entries(_)[0];F[R]=B}else F.legendText=_;if(M!=null)if(typeof M=="object"){let[R,B]=Object.entries(M)[0];F[R]=B}else F.legendSprite=M}},ORe=function(i,a,f,g,w,v,b){const E=jF.find(S=>S.from===a&&S.to===f);if(E!==void 0){if(g!=null)if(typeof g=="object"){let[S,_]=Object.entries(g)[0];E[S]=_}else E.textColor=g;if(w!=null)if(typeof w=="object"){let[S,_]=Object.entries(w)[0];E[S]=_}else E.lineColor=w;if(v!=null)if(typeof v=="object"){let[S,_]=Object.entries(v)[0];E[S]=parseInt(_)}else E.offsetX=parseInt(v);if(b!=null)if(typeof b=="object"){let[S,_]=Object.entries(b)[0];E[S]=parseInt(_)}else E.offsetY=parseInt(b)}},NRe=function(i,a,f){let g=_Y,w=AY;if(typeof a=="object"){const v=Object.values(a)[0];g=parseInt(v)}else g=parseInt(a);if(typeof f=="object"){const v=Object.values(f)[0];w=parseInt(v)}else w=parseInt(f);g>=1&&(_Y=g),w>=1&&(AY=w)},PRe=function(){return _Y},FRe=function(){return AY},BRe=function(){return ep},RRe=function(){return Yv},iRt=function(i){return i==null?Wv:Wv.filter(a=>a.parentBoundary===i)},jRe=function(i){return Wv.find(a=>a.alias===i)},$Re=function(i){return Object.keys(iRt(i))},zRe=function(i){return i==null?i4:i4.filter(a=>a.parentBoundary===i)},qRe=function(){return jF},HRe=function(){return Qgt},VRe=function(i){Jgt=i},x8=function(){return Jgt},Zgt={addPersonOrSystem:CRe,addPersonOrSystemBoundary:ARe,addContainer:SRe,addContainerBoundary:LRe,addComponent:_Re,addDeploymentNode:DRe,popBoundaryParseStack:MRe,addRel:TRe,updateElStyle:IRe,updateRelStyle:ORe,updateLayoutConfig:NRe,autoWrap:x8,setWrap:VRe,getC4ShapeArray:iRt,getC4Shape:jRe,getC4ShapeKeys:$Re,getBoundarys:zRe,getCurrentBoundaryParse:BRe,getParentBoundaryParse:RRe,getRels:qRe,getTitle:HRe,getC4Type:kRe,getC4ShapeInRow:PRe,getC4BoundaryInRow:FRe,setAccTitle:og,getAccTitle:Xg,getAccDescription:Jg,setAccDescription:Qg,getConfig:()=>Re().c4,clear:function(){Wv=[],i4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Yv="",ep="global",y8=[""],jF=[],y8=[""],Qgt="",Jgt=!1,_Y=4,AY=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){Qgt=Ef(i,Re())},setC4Type:ERe},LY=(i,a)=>{const f=i.append("rect");if(f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),a.rx!==void 0&&f.attr("rx",a.rx),a.ry!==void 0&&f.attr("ry",a.ry),a.attrs!==void 0)for(const g in a.attrs)f.attr(g,a.attrs[g]);return a.class!==void 0&&f.attr("class",a.class),f},sRt=(i,a)=>{const f={x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"};LY(i,f).lower()},URe=(i,a)=>{const f=a.text.replace(xF," "),g=i.append("text");g.attr("x",a.x),g.attr("y",a.y),g.attr("class","legend"),g.style("text-anchor",a.anchor),a.class!==void 0&&g.attr("class",a.class);const w=g.append("tspan");return w.attr("x",a.x+a.textMargin*2),w.text(f),g},GRe=(i,a,f,g)=>{const w=i.append("image");w.attr("x",a),w.attr("y",f);const v=h8(g);w.attr("xlink:href",v)},KRe=(i,a,f,g)=>{const w=i.append("use");w.attr("x",a),w.attr("y",f);const v=h8(g);w.attr("xlink:href",`#${v}`)},_9=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),tpt=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),ept=function(i,a){return LY(i,a)},aRt=function(i,a,f,g,w,v){const b=i.append("image");b.attr("width",a),b.attr("height",f),b.attr("x",g),b.attr("y",w);let E=v.startsWith("data:image/png;base64")?v:h8(v);b.attr("xlink:href",E)},WRe=(i,a,f)=>{const g=i.append("g");let w=0;for(let v of a){let b=v.textColor?v.textColor:"#444444",E=v.lineColor?v.lineColor:"#444444",S=v.offsetX?parseInt(v.offsetX):0,_=v.offsetY?parseInt(v.offsetY):0,M="";if(w===0){let R=g.append("line");R.attr("x1",v.startPoint.x),R.attr("y1",v.startPoint.y),R.attr("x2",v.endPoint.x),R.attr("y2",v.endPoint.y),R.attr("stroke-width","1"),R.attr("stroke",E),R.style("fill","none"),v.type!=="rel_b"&&R.attr("marker-end","url("+M+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+M+"#arrowend)"),w=-1}else{let R=g.append("path");R.attr("fill","none").attr("stroke-width","1").attr("stroke",E).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",v.startPoint.x).replaceAll("starty",v.startPoint.y).replaceAll("controlx",v.startPoint.x+(v.endPoint.x-v.startPoint.x)/2-(v.endPoint.x-v.startPoint.x)/4).replaceAll("controly",v.startPoint.y+(v.endPoint.y-v.startPoint.y)/2).replaceAll("stopx",v.endPoint.x).replaceAll("stopy",v.endPoint.y)),v.type!=="rel_b"&&R.attr("marker-end","url("+M+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+M+"#arrowend)")}let F=f.messageFont();Nx(f)(v.label.text,g,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+S,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+_,v.label.width,v.label.height,{fill:b},F),v.techn&&v.techn.text!==""&&(F=f.messageFont(),Nx(f)("["+v.techn.text+"]",g,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+S,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+f.messageFontSize+5+_,Math.max(v.label.width,v.techn.width),v.techn.height,{fill:b,"font-style":"italic"},F))}},YRe=function(i,a,f){const g=i.append("g");let w=a.bgColor?a.bgColor:"none",v=a.borderColor?a.borderColor:"#444444",b=a.fontColor?a.fontColor:"black",E={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};a.nodeType&&(E={"stroke-width":1});let S={x:a.x,y:a.y,fill:w,stroke:v,width:a.width,height:a.height,rx:2.5,ry:2.5,attrs:E};ept(g,S);let _=f.boundaryFont();_.fontWeight="bold",_.fontSize=_.fontSize+2,_.fontColor=b,Nx(f)(a.label.text,g,a.x,a.y+a.label.Y,a.width,a.height,{fill:"#444444"},_),a.type&&a.type.text!==""&&(_=f.boundaryFont(),_.fontColor=b,Nx(f)(a.type.text,g,a.x,a.y+a.type.Y,a.width,a.height,{fill:"#444444"},_)),a.descr&&a.descr.text!==""&&(_=f.boundaryFont(),_.fontSize=_.fontSize-2,_.fontColor=b,Nx(f)(a.descr.text,g,a.x,a.y+a.descr.Y,a.width,a.height,{fill:"#444444"},_))},XRe=function(i,a,f){var F;let g=a.bgColor?a.bgColor:f[a.typeC4Shape.text+"_bg_color"],w=a.borderColor?a.borderColor:f[a.typeC4Shape.text+"_border_color"],v=a.fontColor?a.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(a.typeC4Shape.text){case"person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const E=i.append("g");E.attr("class","person-man");const S=_9();switch(a.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":S.x=a.x,S.y=a.y,S.fill=g,S.width=a.width,S.height=a.height,S.stroke=w,S.rx=2.5,S.ry=2.5,S.attrs={"stroke-width":.5},ept(E,S);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":E.append("path").attr("fill",g).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2).replaceAll("height",a.height)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":E.append("path").attr("fill",g).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("width",a.width).replaceAll("half",a.height/2)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",a.x+a.width).replaceAll("starty",a.y).replaceAll("half",a.height/2));break}let _=sje(f,a.typeC4Shape.text);switch(E.append("text").attr("fill",v).attr("font-family",_.fontFamily).attr("font-size",_.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",a.typeC4Shape.width).attr("x",a.x+a.width/2-a.typeC4Shape.width/2).attr("y",a.y+a.typeC4Shape.Y).text("<<"+a.typeC4Shape.text+">>"),a.typeC4Shape.text){case"person":case"external_person":aRt(E,48,48,a.x+a.width/2-24,a.y+a.image.Y,b);break}let M=f[a.typeC4Shape.text+"Font"]();return M.fontWeight="bold",M.fontSize=M.fontSize+2,M.fontColor=v,Nx(f)(a.label.text,E,a.x,a.y+a.label.Y,a.width,a.height,{fill:v},M),M=f[a.typeC4Shape.text+"Font"](),M.fontColor=v,a.techn&&((F=a.techn)==null?void 0:F.text)!==""?Nx(f)(a.techn.text,E,a.x,a.y+a.techn.Y,a.width,a.height,{fill:v,"font-style":"italic"},M):a.type&&a.type.text!==""&&Nx(f)(a.type.text,E,a.x,a.y+a.type.Y,a.width,a.height,{fill:v,"font-style":"italic"},M),a.descr&&a.descr.text!==""&&(M=f.personFont(),M.fontColor=v,Nx(f)(a.descr.text,E,a.x,a.y+a.descr.Y,a.width,a.height,{fill:v},M)),a.height},QRe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},JRe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},ZRe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},tje=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},eje=function(i){i.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},nje=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},rje=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},ije=function(i){const f=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);f.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),f.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},sje=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),Nx=function(){function i(w,v,b,E,S,_,M){const F=v.append("text").attr("x",b+S/2).attr("y",E+_/2+5).style("text-anchor","middle").text(w);g(F,M)}function a(w,v,b,E,S,_,M,F){const{fontSize:R,fontFamily:B,fontWeight:z}=F,Y=w.split(ei.lineBreakRegex);for(let nt=0;nt<Y.length;nt++){const ot=nt*R-R*(Y.length-1)/2,ft=v.append("text").attr("x",b+S/2).attr("y",E).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",R).style("font-weight",z).style("font-family",B);ft.append("tspan").attr("dy",ot).text(Y[nt]).attr("alignment-baseline","mathematical"),g(ft,M)}}function f(w,v,b,E,S,_,M,F){const R=v.append("switch"),z=R.append("foreignObject").attr("x",b).attr("y",E).attr("width",S).attr("height",_).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");z.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(w),a(w,R,b,E,S,_,M,F),g(z,M)}function g(w,v){for(const b in v)v.hasOwnProperty(b)&&w.attr(b,v[b])}return function(w){return w.textPlacement==="fo"?f:w.textPlacement==="old"?i:a}}(),s4={drawRect:ept,drawBoundary:YRe,drawC4Shape:XRe,drawRels:WRe,drawImage:aRt,insertArrowHead:tje,insertArrowEnd:eje,insertArrowFilledHead:nje,insertDynamicNumber:rje,insertArrowCrossHead:ije,insertDatabaseIcon:QRe,insertComputerIcon:JRe,insertClockIcon:ZRe};let DY=0,MY=0,oRt=4,npt=2;SY.yy=Zgt;let Cs={};class cRt{constructor(a){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,rpt(a.db.getConfig())}setData(a,f,g,w){this.nextData.startx=this.data.startx=a,this.nextData.stopx=this.data.stopx=f,this.nextData.starty=this.data.starty=g,this.nextData.stopy=this.data.stopy=w}updateVal(a,f,g,w){a[f]===void 0?a[f]=g:a[f]=w(g,a[f])}insert(a){this.nextData.cnt=this.nextData.cnt+1;let f=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+a.margin:this.nextData.stopx+a.margin*2,g=f+a.width,w=this.nextData.starty+a.margin*2,v=w+a.height;(f>=this.data.widthLimit||g>=this.data.widthLimit||this.nextData.cnt>oRt)&&(f=this.nextData.startx+a.margin+Cs.nextLinePaddingX,w=this.nextData.stopy+a.margin*2,this.nextData.stopx=g=f+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=v=w+a.height,this.nextData.cnt=1),a.x=f,a.y=w,this.updateVal(this.data,"startx",f,Math.min),this.updateVal(this.data,"starty",w,Math.min),this.updateVal(this.data,"stopx",g,Math.max),this.updateVal(this.data,"stopy",v,Math.max),this.updateVal(this.nextData,"startx",f,Math.min),this.updateVal(this.nextData,"starty",w,Math.min),this.updateVal(this.nextData,"stopx",g,Math.max),this.updateVal(this.nextData,"stopy",v,Math.max)}init(a){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},rpt(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}}const rpt=function(i){Ld(Cs,i),i.fontFamily&&(Cs.personFontFamily=Cs.systemFontFamily=Cs.messageFontFamily=i.fontFamily),i.fontSize&&(Cs.personFontSize=Cs.systemFontSize=Cs.messageFontSize=i.fontSize),i.fontWeight&&(Cs.personFontWeight=Cs.systemFontWeight=Cs.messageFontWeight=i.fontWeight)},$F=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),IY=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),aje=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function Xv(i,a,f,g,w){if(!a[i].width)if(f)a[i].text=LFt(a[i].text,w,g),a[i].textLines=a[i].text.split(ei.lineBreakRegex).length,a[i].width=w,a[i].height=Tgt(a[i].text,g);else{let v=a[i].text.split(ei.lineBreakRegex);a[i].textLines=v.length;let b=0;a[i].height=0,a[i].width=0;for(const E of v)a[i].width=Math.max(n4(E,g),a[i].width),b=Tgt(E,g),a[i].height=a[i].height+b}}const uRt=function(i,a,f){a.x=f.data.startx,a.y=f.data.starty,a.width=f.data.stopx-f.data.startx,a.height=f.data.stopy-f.data.starty,a.label.y=Cs.c4ShapeMargin-35;let g=a.wrap&&Cs.wrap,w=IY(Cs);w.fontSize=w.fontSize+2,w.fontWeight="bold";let v=n4(a.label.text,w);Xv("label",a,g,w,v),s4.drawBoundary(i,a,Cs)},lRt=function(i,a,f,g){let w=0;for(const v of g){w=0;const b=f[v];let E=$F(Cs,b.typeC4Shape.text);switch(E.fontSize=E.fontSize-2,b.typeC4Shape.width=n4("«"+b.typeC4Shape.text+"»",E),b.typeC4Shape.height=E.fontSize+2,b.typeC4Shape.Y=Cs.c4ShapePadding,w=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height);let S=b.wrap&&Cs.wrap,_=Cs.width-Cs.c4ShapePadding*2,M=$F(Cs,b.typeC4Shape.text);if(M.fontSize=M.fontSize+2,M.fontWeight="bold",Xv("label",b,S,M,_),b.label.Y=w+8,w=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let B=$F(Cs,b.typeC4Shape.text);Xv("type",b,S,B,_),b.type.Y=w+5,w=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let B=$F(Cs,b.techn.text);Xv("techn",b,S,B,_),b.techn.Y=w+5,w=b.techn.Y+b.techn.height}let F=w,R=b.label.width;if(b.descr&&b.descr.text!==""){let B=$F(Cs,b.typeC4Shape.text);Xv("descr",b,S,B,_),b.descr.Y=w+20,w=b.descr.Y+b.descr.height,R=Math.max(b.label.width,b.descr.width),F=w-b.descr.textLines*5}R=R+Cs.c4ShapePadding,b.width=Math.max(b.width||Cs.width,R,Cs.width),b.height=Math.max(b.height||Cs.height,F,Cs.height),b.margin=b.margin||Cs.c4ShapeMargin,i.insert(b),s4.drawC4Shape(a,b,Cs)}i.bumpLastMargin(Cs.c4ShapeMargin)};let Jw=class{constructor(a,f){this.x=a,this.y=f}},hRt=function(i,a){let f=i.x,g=i.y,w=a.x,v=a.y,b=f+i.width/2,E=g+i.height/2,S=Math.abs(f-w),_=Math.abs(g-v),M=_/S,F=i.height/i.width,R=null;return g==v&&f<w?R=new Jw(f+i.width,E):g==v&&f>w?R=new Jw(f,E):f==w&&g<v?R=new Jw(b,g+i.height):f==w&&g>v&&(R=new Jw(b,g)),f>w&&g<v?F>=M?R=new Jw(f,E+M*i.width/2):R=new Jw(b-S/_*i.height/2,g+i.height):f<w&&g<v?F>=M?R=new Jw(f+i.width,E+M*i.width/2):R=new Jw(b+S/_*i.height/2,g+i.height):f<w&&g>v?F>=M?R=new Jw(f+i.width,E-M*i.width/2):R=new Jw(b+i.height/2*S/_,g):f>w&&g>v&&(F>=M?R=new Jw(f,E-i.width/2*M):R=new Jw(b-i.height/2*S/_,g)),R},oje=function(i,a){let f={x:0,y:0};f.x=a.x+a.width/2,f.y=a.y+a.height/2;let g=hRt(i,f);f.x=i.x+i.width/2,f.y=i.y+i.height/2;let w=hRt(a,f);return{startPoint:g,endPoint:w}};const cje=function(i,a,f,g){let w=0;for(let v of a){w=w+1;let b=v.wrap&&Cs.wrap,E=aje(Cs);g.db.getC4Type()==="C4Dynamic"&&(v.label.text=w+": "+v.label.text);let _=n4(v.label.text,E);Xv("label",v,b,E,_),v.techn&&v.techn.text!==""&&(_=n4(v.techn.text,E),Xv("techn",v,b,E,_)),v.descr&&v.descr.text!==""&&(_=n4(v.descr.text,E),Xv("descr",v,b,E,_));let M=f(v.from),F=f(v.to),R=oje(M,F);v.startPoint=R.startPoint,v.endPoint=R.endPoint}s4.drawRels(i,a,Cs)};function fRt(i,a,f,g,w){let v=new cRt(w);v.data.widthLimit=f.data.widthLimit/Math.min(npt,g.length);for(let[b,E]of g.entries()){let S=0;E.image={width:0,height:0,Y:0},E.sprite&&(E.image.width=48,E.image.height=48,E.image.Y=S,S=E.image.Y+E.image.height);let _=E.wrap&&Cs.wrap,M=IY(Cs);if(M.fontSize=M.fontSize+2,M.fontWeight="bold",Xv("label",E,_,M,v.data.widthLimit),E.label.Y=S+8,S=E.label.Y+E.label.height,E.type&&E.type.text!==""){E.type.text="["+E.type.text+"]";let z=IY(Cs);Xv("type",E,_,z,v.data.widthLimit),E.type.Y=S+5,S=E.type.Y+E.type.height}if(E.descr&&E.descr.text!==""){let z=IY(Cs);z.fontSize=z.fontSize-2,Xv("descr",E,_,z,v.data.widthLimit),E.descr.Y=S+20,S=E.descr.Y+E.descr.height}if(b==0||b%npt===0){let z=f.data.startx+Cs.diagramMarginX,Y=f.data.stopy+Cs.diagramMarginY+S;v.setData(z,z,Y,Y)}else{let z=v.data.stopx!==v.data.startx?v.data.stopx+Cs.diagramMarginX:v.data.startx,Y=v.data.starty;v.setData(z,z,Y,Y)}v.name=E.alias;let F=w.db.getC4ShapeArray(E.alias),R=w.db.getC4ShapeKeys(E.alias);R.length>0&&lRt(v,i,F,R),a=E.alias;let B=w.db.getBoundarys(a);B.length>0&&fRt(i,a,v,B,w),E.alias!=="global"&&uRt(i,E,v),f.data.stopy=Math.max(v.data.stopy+Cs.c4ShapeMargin,f.data.stopy),f.data.stopx=Math.max(v.data.stopx+Cs.c4ShapeMargin,f.data.stopx),DY=Math.max(DY,f.data.stopx),MY=Math.max(MY,f.data.stopy)}}const dRt={drawPersonOrSystemArray:lRt,drawBoundary:uRt,setConf:rpt,draw:function(i,a,f,g){Cs=Re().c4;const w=Re().securityLevel;let v;w==="sandbox"&&(v=Tr("#i"+a));const b=Tr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body");let E=g.db;g.db.setWrap(Cs.wrap),oRt=E.getC4ShapeInRow(),npt=E.getC4BoundaryInRow(),Kt.debug(`C:${JSON.stringify(Cs,null,2)}`);const S=w==="sandbox"?b.select(`[id="${a}"]`):Tr(`[id="${a}"]`);s4.insertComputerIcon(S),s4.insertDatabaseIcon(S),s4.insertClockIcon(S);let _=new cRt(g);_.setData(Cs.diagramMarginX,Cs.diagramMarginX,Cs.diagramMarginY,Cs.diagramMarginY),_.data.widthLimit=screen.availWidth,DY=Cs.diagramMarginX,MY=Cs.diagramMarginY;const M=g.db.getTitle();let F=g.db.getBoundarys("");fRt(S,"",_,F,g),s4.insertArrowHead(S),s4.insertArrowEnd(S),s4.insertArrowCrossHead(S),s4.insertArrowFilledHead(S),cje(S,g.db.getRels(),g.db.getC4Shape,g),_.data.stopx=DY,_.data.stopy=MY;const R=_.data;let z=R.stopy-R.starty+2*Cs.diagramMarginY;const nt=R.stopx-R.startx+2*Cs.diagramMarginX;M&&S.append("text").text(M).attr("x",(R.stopx-R.startx)/2-4*Cs.diagramMarginX).attr("y",R.starty+Cs.diagramMarginY),sg(S,z,nt,Cs.useMaxWidth);const ot=M?60:0;S.attr("viewBox",R.startx-Cs.diagramMarginX+" -"+(Cs.diagramMarginY+ot)+" "+nt+" "+(z+ot)),Kt.debug("models:",R)}},uje=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:xRe,db:Zgt,renderer:dRt,styles:i=>`.person {
96 `,init:({c4:i,wrap:a})=>{dRt.setConf(i),Zgt.setWrap(a)}}},Symbol.toStringTag,{value:"Module"}));var ipt=function(){var i=function(Od,cs,As,to){for(As=As||{},to=Od.length;to--;As[Od[to]]=cs);return As},a=[1,4],f=[1,3],g=[1,5],w=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],v=[2,2],b=[1,13],E=[1,14],S=[1,15],_=[1,16],M=[1,23],F=[1,25],R=[1,26],B=[1,27],z=[1,49],Y=[1,48],nt=[1,29],ot=[1,30],ft=[1,31],wt=[1,32],mt=[1,33],ct=[1,44],rt=[1,46],it=[1,42],gt=[1,47],Q=[1,43],dt=[1,50],K=[1,45],yt=[1,51],V=[1,52],Ot=[1,34],It=[1,35],jt=[1,36],xt=[1,37],Ft=[1,57],Ct=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],kt=[1,61],Gt=[1,60],Fe=[1,62],Mt=[8,9,11,73,75],pn=[1,88],Ae=[1,93],ye=[1,92],tn=[1,89],sn=[1,85],be=[1,91],Ne=[1,87],Xt=[1,94],_e=[1,90],xe=[1,95],Mn=[1,86],ce=[8,9,10,11,73,75],Br=[8,9,10,11,44,73,75],we=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Fi=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],mi=[42,58,86,99,102,103,106,108,111,112,113],ga=[1,121],Ss=[1,120],za=[1,128],br=[1,142],An=[1,143],Nn=[1,144],Bn=[1,145],ke=[1,130],pe=[1,132],Je=[1,136],an=[1,137],xn=[1,138],qa=[1,139],xo=[1,140],ko=[1,141],va=[1,146],Ha=[1,147],ds=[1,126],Fu=[1,127],Zs=[1,134],d1=[1,129],I2=[1,133],ll=[1,131],Ic=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],wc=[1,149],Ea=[8,9,11],gu=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],ta=[1,169],fo=[1,165],mc=[1,166],ca=[1,170],ya=[1,167],ea=[1,168],Zl=[75,113,116],Uc=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],rm=[10,103],kh=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],Md=[1,235],w0=[1,233],Id=[1,237],m0=[1,231],hg=[1,232],Gi=[1,234],cn=[1,236],Nr=[1,238],Si=[1,255],vc=[8,9,11,103],Rc=[8,9,10,11,58,81,102,103,106,107,108,109],Eh={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeperator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,verticeStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(cs,As,to,Ci,pu,Le,iy){var $e=Le.length-1;switch(pu){case 2:this.$=[];break;case 3:(!Array.isArray(Le[$e])||Le[$e].length>0)&&Le[$e-1].push(Le[$e]),this.$=Le[$e-1];break;case 4:case 176:this.$=Le[$e];break;case 11:Ci.setDirection("TB"),this.$="TB";break;case 12:Ci.setDirection(Le[$e-1]),this.$=Le[$e-1];break;case 27:this.$=Le[$e-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Ci.addSubGraph(Le[$e-6],Le[$e-1],Le[$e-4]);break;case 34:this.$=Ci.addSubGraph(Le[$e-3],Le[$e-1],Le[$e-3]);break;case 35:this.$=Ci.addSubGraph(void 0,Le[$e-1],void 0);break;case 37:this.$=Le[$e].trim(),Ci.setAccTitle(this.$);break;case 38:case 39:this.$=Le[$e].trim(),Ci.setAccDescription(this.$);break;case 43:Ci.addLink(Le[$e-2].stmt,Le[$e],Le[$e-1]),this.$={stmt:Le[$e],nodes:Le[$e].concat(Le[$e-2].nodes)};break;case 44:Ci.addLink(Le[$e-3].stmt,Le[$e-1],Le[$e-2]),this.$={stmt:Le[$e-1],nodes:Le[$e-1].concat(Le[$e-3].nodes)};break;case 45:this.$={stmt:Le[$e-1],nodes:Le[$e-1]};break;case 46:this.$={stmt:Le[$e],nodes:Le[$e]};break;case 47:this.$=[Le[$e]];break;case 48:this.$=Le[$e-4].concat(Le[$e]);break;case 49:this.$=Le[$e];break;case 50:this.$=Le[$e-2],Ci.setClass(Le[$e-2],Le[$e]);break;case 51:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"square");break;case 52:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"doublecircle");break;case 53:this.$=Le[$e-5],Ci.addVertex(Le[$e-5],Le[$e-2],"circle");break;case 54:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"ellipse");break;case 55:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"stadium");break;case 56:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"subroutine");break;case 57:this.$=Le[$e-7],Ci.addVertex(Le[$e-7],Le[$e-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Le[$e-5],Le[$e-3]]]));break;case 58:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"cylinder");break;case 59:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"round");break;case 60:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"diamond");break;case 61:this.$=Le[$e-5],Ci.addVertex(Le[$e-5],Le[$e-2],"hexagon");break;case 62:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"odd");break;case 63:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"trapezoid");break;case 64:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"inv_trapezoid");break;case 65:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"lean_right");break;case 66:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"lean_left");break;case 67:this.$=Le[$e],Ci.addVertex(Le[$e]);break;case 68:Le[$e-1].text=Le[$e],this.$=Le[$e-1];break;case 69:case 70:Le[$e-2].text=Le[$e-1],this.$=Le[$e-2];break;case 71:this.$=Le[$e];break;case 72:var g1=Ci.destructLink(Le[$e],Le[$e-2]);this.$={type:g1.type,stroke:g1.stroke,length:g1.length,text:Le[$e-1]};break;case 73:this.$={text:Le[$e],type:"text"};break;case 74:this.$={text:Le[$e-1].text+""+Le[$e],type:Le[$e-1].type};break;case 75:this.$={text:Le[$e],type:"string"};break;case 76:this.$={text:Le[$e],type:"markdown"};break;case 77:var g1=Ci.destructLink(Le[$e]);this.$={type:g1.type,stroke:g1.stroke,length:g1.length};break;case 78:this.$=Le[$e-1];break;case 79:this.$={text:Le[$e],type:"text"};break;case 80:this.$={text:Le[$e-1].text+""+Le[$e],type:Le[$e-1].type};break;case 81:this.$={text:Le[$e],type:"string"};break;case 82:case 97:this.$={text:Le[$e],type:"markdown"};break;case 94:this.$={text:Le[$e],type:"text"};break;case 95:this.$={text:Le[$e-1].text+""+Le[$e],type:Le[$e-1].type};break;case 96:this.$={text:Le[$e],type:"text"};break;case 98:this.$=Le[$e-4],Ci.addClass(Le[$e-2],Le[$e]);break;case 99:this.$=Le[$e-4],Ci.setClass(Le[$e-2],Le[$e]);break;case 100:case 108:this.$=Le[$e-1],Ci.setClickEvent(Le[$e-1],Le[$e]);break;case 101:case 109:this.$=Le[$e-3],Ci.setClickEvent(Le[$e-3],Le[$e-2]),Ci.setTooltip(Le[$e-3],Le[$e]);break;case 102:this.$=Le[$e-2],Ci.setClickEvent(Le[$e-2],Le[$e-1],Le[$e]);break;case 103:this.$=Le[$e-4],Ci.setClickEvent(Le[$e-4],Le[$e-3],Le[$e-2]),Ci.setTooltip(Le[$e-4],Le[$e]);break;case 104:this.$=Le[$e-2],Ci.setLink(Le[$e-2],Le[$e]);break;case 105:this.$=Le[$e-4],Ci.setLink(Le[$e-4],Le[$e-2]),Ci.setTooltip(Le[$e-4],Le[$e]);break;case 106:this.$=Le[$e-4],Ci.setLink(Le[$e-4],Le[$e-2],Le[$e]);break;case 107:this.$=Le[$e-6],Ci.setLink(Le[$e-6],Le[$e-4],Le[$e]),Ci.setTooltip(Le[$e-6],Le[$e-2]);break;case 110:this.$=Le[$e-1],Ci.setLink(Le[$e-1],Le[$e]);break;case 111:this.$=Le[$e-3],Ci.setLink(Le[$e-3],Le[$e-2]),Ci.setTooltip(Le[$e-3],Le[$e]);break;case 112:this.$=Le[$e-3],Ci.setLink(Le[$e-3],Le[$e-2],Le[$e]);break;case 113:this.$=Le[$e-5],Ci.setLink(Le[$e-5],Le[$e-4],Le[$e]),Ci.setTooltip(Le[$e-5],Le[$e-2]);break;case 114:this.$=Le[$e-4],Ci.addVertex(Le[$e-2],void 0,void 0,Le[$e]);break;case 115:this.$=Le[$e-4],Ci.updateLink([Le[$e-2]],Le[$e]);break;case 116:this.$=Le[$e-4],Ci.updateLink(Le[$e-2],Le[$e]);break;case 117:this.$=Le[$e-8],Ci.updateLinkInterpolate([Le[$e-6]],Le[$e-2]),Ci.updateLink([Le[$e-6]],Le[$e]);break;case 118:this.$=Le[$e-8],Ci.updateLinkInterpolate(Le[$e-6],Le[$e-2]),Ci.updateLink(Le[$e-6],Le[$e]);break;case 119:this.$=Le[$e-6],Ci.updateLinkInterpolate([Le[$e-4]],Le[$e]);break;case 120:this.$=Le[$e-6],Ci.updateLinkInterpolate(Le[$e-4],Le[$e]);break;case 121:case 123:this.$=[Le[$e]];break;case 122:case 124:Le[$e-2].push(Le[$e]),this.$=Le[$e-2];break;case 126:this.$=Le[$e-1]+Le[$e];break;case 174:this.$=Le[$e];break;case 175:this.$=Le[$e-1]+""+Le[$e];break;case 177:this.$=Le[$e-1]+""+Le[$e];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:a,10:f,12:g},{1:[3]},i(w,v,{5:6}),{4:7,9:a,10:f,12:g},{4:8,9:a,10:f,12:g},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:b,9:E,10:S,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:M,33:24,34:F,36:R,38:B,40:28,41:38,42:z,43:39,45:40,58:Y,81:nt,82:ot,83:ft,84:wt,85:mt,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V,118:Ot,119:It,120:jt,121:xt},i(w,[2,9]),i(w,[2,10]),i(w,[2,11]),{8:[1,54],9:[1,55],10:Ft,15:53,18:56},i(Ct,[2,3]),i(Ct,[2,4]),i(Ct,[2,5]),i(Ct,[2,6]),i(Ct,[2,7]),i(Ct,[2,8]),{8:kt,9:Gt,11:Fe,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:kt,9:Gt,11:Fe,21:66},{8:kt,9:Gt,11:Fe,21:67},{8:kt,9:Gt,11:Fe,21:68},{8:kt,9:Gt,11:Fe,21:69},{8:kt,9:Gt,11:Fe,21:70},{8:kt,9:Gt,10:[1,71],11:Fe,21:72},i(Ct,[2,36]),{35:[1,73]},{37:[1,74]},i(Ct,[2,39]),i(Mt,[2,46],{18:75,10:Ft}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:pn,42:Ae,58:ye,77:[1,83],86:tn,92:[1,80],94:[1,81],98:82,102:sn,103:be,106:Ne,108:Xt,111:_e,112:xe,113:Mn,117:84},i(Ct,[2,178]),i(Ct,[2,179]),i(Ct,[2,180]),i(Ct,[2,181]),i(ce,[2,47]),i(ce,[2,49],{44:[1,96]}),i(Br,[2,67],{110:109,29:[1,97],42:z,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:Y,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:ct,99:rt,102:it,103:gt,106:Q,108:dt,111:K,112:yt,113:V}),i(we,[2,174]),i(we,[2,135]),i(we,[2,136]),i(we,[2,137]),i(we,[2,138]),i(we,[2,139]),i(we,[2,140]),i(we,[2,141]),i(we,[2,142]),i(we,[2,143]),i(we,[2,144]),i(we,[2,145]),i(w,[2,12]),i(w,[2,18]),i(w,[2,19]),{9:[1,110]},i(Fi,[2,26],{18:111,10:Ft}),i(Ct,[2,27]),{40:112,41:38,42:z,43:39,45:40,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},i(Ct,[2,40]),i(Ct,[2,41]),i(Ct,[2,42]),i(mi,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:ga,116:Ss},i([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),i(Ct,[2,28]),i(Ct,[2,29]),i(Ct,[2,30]),i(Ct,[2,31]),i(Ct,[2,32]),{10:za,12:br,14:An,27:Nn,28:122,32:Bn,42:ke,58:pe,73:Je,77:[1,124],78:[1,125],80:135,81:an,82:xn,83:qa,84:xo,85:ko,86:va,87:Ha,88:123,102:ds,106:Fu,108:Zs,111:d1,112:I2,113:ll},i(Ic,v,{5:148}),i(Ct,[2,37]),i(Ct,[2,38]),i(Mt,[2,45],{42:wc}),{42:z,45:150,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},{99:[1,151],100:152,102:[1,153]},{42:z,45:154,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},{42:z,45:155,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},i(Ea,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},i(Ea,[2,108],{117:160,10:[1,159],14:pn,42:Ae,58:ye,86:tn,102:sn,103:be,106:Ne,108:Xt,111:_e,112:xe,113:Mn}),i(Ea,[2,110],{10:[1,161]}),i(gu,[2,176]),i(gu,[2,163]),i(gu,[2,164]),i(gu,[2,165]),i(gu,[2,166]),i(gu,[2,167]),i(gu,[2,168]),i(gu,[2,169]),i(gu,[2,170]),i(gu,[2,171]),i(gu,[2,172]),i(gu,[2,173]),{42:z,45:162,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},{30:163,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:171,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:173,48:[1,172],65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:174,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:175,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:176,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{106:[1,177]},{30:178,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:179,63:[1,180],65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:181,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:182,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:183,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},i(we,[2,175]),i(w,[2,20]),i(Fi,[2,25]),i(Mt,[2,43],{18:184,10:Ft}),i(mi,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{75:[1,188],76:189,113:ga,116:Ss},i(Zl,[2,73]),i(Zl,[2,75]),i(Zl,[2,76]),i(Zl,[2,161]),i(Zl,[2,162]),{8:kt,9:Gt,10:za,11:Fe,12:br,14:An,21:191,27:Nn,29:[1,190],32:Bn,42:ke,58:pe,73:Je,80:135,81:an,82:xn,83:qa,84:xo,85:ko,86:va,87:Ha,88:192,102:ds,106:Fu,108:Zs,111:d1,112:I2,113:ll},i(Uc,[2,94]),i(Uc,[2,96]),i(Uc,[2,97]),i(Uc,[2,150]),i(Uc,[2,151]),i(Uc,[2,152]),i(Uc,[2,153]),i(Uc,[2,154]),i(Uc,[2,155]),i(Uc,[2,156]),i(Uc,[2,157]),i(Uc,[2,158]),i(Uc,[2,159]),i(Uc,[2,160]),i(Uc,[2,83]),i(Uc,[2,84]),i(Uc,[2,85]),i(Uc,[2,86]),i(Uc,[2,87]),i(Uc,[2,88]),i(Uc,[2,89]),i(Uc,[2,90]),i(Uc,[2,91]),i(Uc,[2,92]),i(Uc,[2,93]),{6:11,7:12,8:b,9:E,10:S,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:M,32:[1,193],33:24,34:F,36:R,38:B,40:28,41:38,42:z,43:39,45:40,58:Y,81:nt,82:ot,83:ft,84:wt,85:mt,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V,118:Ot,119:It,120:jt,121:xt},{10:Ft,18:194},{10:[1,195],42:z,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:109,111:K,112:yt,113:V},{10:[1,196]},{10:[1,197],103:[1,198]},i(rm,[2,121]),{10:[1,199],42:z,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:109,111:K,112:yt,113:V},{10:[1,200],42:z,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:109,111:K,112:yt,113:V},{77:[1,201]},i(Ea,[2,102],{10:[1,202]}),i(Ea,[2,104],{10:[1,203]}),{77:[1,204]},i(gu,[2,177]),{77:[1,205],95:[1,206]},i(ce,[2,50],{110:109,42:z,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,111:K,112:yt,113:V}),{31:[1,207],65:ta,79:208,113:ca,114:ya,115:ea},i(kh,[2,79]),i(kh,[2,81]),i(kh,[2,82]),i(kh,[2,146]),i(kh,[2,147]),i(kh,[2,148]),i(kh,[2,149]),{47:[1,209],65:ta,79:208,113:ca,114:ya,115:ea},{30:210,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{49:[1,211],65:ta,79:208,113:ca,114:ya,115:ea},{51:[1,212],65:ta,79:208,113:ca,114:ya,115:ea},{53:[1,213],65:ta,79:208,113:ca,114:ya,115:ea},{55:[1,214],65:ta,79:208,113:ca,114:ya,115:ea},{58:[1,215]},{62:[1,216],65:ta,79:208,113:ca,114:ya,115:ea},{64:[1,217],65:ta,79:208,113:ca,114:ya,115:ea},{30:218,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{31:[1,219],65:ta,79:208,113:ca,114:ya,115:ea},{65:ta,67:[1,220],69:[1,221],79:208,113:ca,114:ya,115:ea},{65:ta,67:[1,223],69:[1,222],79:208,113:ca,114:ya,115:ea},i(Mt,[2,44],{42:wc}),i(mi,[2,70]),i(mi,[2,69]),{60:[1,224],65:ta,79:208,113:ca,114:ya,115:ea},i(mi,[2,72]),i(Zl,[2,74]),{30:225,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},i(Ic,v,{5:226}),i(Uc,[2,95]),i(Ct,[2,35]),{41:227,42:z,43:39,45:40,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},{10:Md,58:w0,81:Id,89:228,102:m0,104:229,105:230,106:hg,107:Gi,108:cn,109:Nr},{10:Md,58:w0,81:Id,89:239,101:[1,240],102:m0,104:229,105:230,106:hg,107:Gi,108:cn,109:Nr},{10:Md,58:w0,81:Id,89:241,101:[1,242],102:m0,104:229,105:230,106:hg,107:Gi,108:cn,109:Nr},{102:[1,243]},{10:Md,58:w0,81:Id,89:244,102:m0,104:229,105:230,106:hg,107:Gi,108:cn,109:Nr},{42:z,45:245,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},i(Ea,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},i(Ea,[2,109]),i(Ea,[2,111],{10:[1,249]}),i(Ea,[2,112]),i(Br,[2,51]),i(kh,[2,80]),i(Br,[2,52]),{49:[1,250],65:ta,79:208,113:ca,114:ya,115:ea},i(Br,[2,59]),i(Br,[2,54]),i(Br,[2,55]),i(Br,[2,56]),{106:[1,251]},i(Br,[2,58]),i(Br,[2,60]),{64:[1,252],65:ta,79:208,113:ca,114:ya,115:ea},i(Br,[2,62]),i(Br,[2,63]),i(Br,[2,65]),i(Br,[2,64]),i(Br,[2,66]),i([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:ta,79:208,113:ca,114:ya,115:ea},{6:11,7:12,8:b,9:E,10:S,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:M,32:[1,254],33:24,34:F,36:R,38:B,40:28,41:38,42:z,43:39,45:40,58:Y,81:nt,82:ot,83:ft,84:wt,85:mt,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V,118:Ot,119:It,120:jt,121:xt},i(ce,[2,48]),i(Ea,[2,114],{103:Si}),i(vc,[2,123],{105:256,10:Md,58:w0,81:Id,102:m0,106:hg,107:Gi,108:cn,109:Nr}),i(Rc,[2,125]),i(Rc,[2,127]),i(Rc,[2,128]),i(Rc,[2,129]),i(Rc,[2,130]),i(Rc,[2,131]),i(Rc,[2,132]),i(Rc,[2,133]),i(Rc,[2,134]),i(Ea,[2,115],{103:Si}),{10:[1,257]},i(Ea,[2,116],{103:Si}),{10:[1,258]},i(rm,[2,122]),i(Ea,[2,98],{103:Si}),i(Ea,[2,99],{110:109,42:z,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,111:K,112:yt,113:V}),i(Ea,[2,103]),i(Ea,[2,105],{10:[1,259]}),i(Ea,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:kt,9:Gt,11:Fe,21:264},i(Ct,[2,34]),{10:Md,58:w0,81:Id,102:m0,104:265,105:230,106:hg,107:Gi,108:cn,109:Nr},i(Rc,[2,126]),{14:pn,42:Ae,58:ye,86:tn,98:266,102:sn,103:be,106:Ne,108:Xt,111:_e,112:xe,113:Mn,117:84},{14:pn,42:Ae,58:ye,86:tn,98:267,102:sn,103:be,106:Ne,108:Xt,111:_e,112:xe,113:Mn,117:84},{95:[1,268]},i(Ea,[2,113]),i(Br,[2,53]),{30:269,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},i(Br,[2,61]),i(Ic,v,{5:270}),i(vc,[2,124],{105:256,10:Md,58:w0,81:Id,102:m0,106:hg,107:Gi,108:cn,109:Nr}),i(Ea,[2,119],{117:160,10:[1,271],14:pn,42:Ae,58:ye,86:tn,102:sn,103:be,106:Ne,108:Xt,111:_e,112:xe,113:Mn}),i(Ea,[2,120],{117:160,10:[1,272],14:pn,42:Ae,58:ye,86:tn,102:sn,103:be,106:Ne,108:Xt,111:_e,112:xe,113:Mn}),i(Ea,[2,107]),{31:[1,273],65:ta,79:208,113:ca,114:ya,115:ea},{6:11,7:12,8:b,9:E,10:S,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:M,32:[1,274],33:24,34:F,36:R,38:B,40:28,41:38,42:z,43:39,45:40,58:Y,81:nt,82:ot,83:ft,84:wt,85:mt,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V,118:Ot,119:It,120:jt,121:xt},{10:Md,58:w0,81:Id,89:275,102:m0,104:229,105:230,106:hg,107:Gi,108:cn,109:Nr},{10:Md,58:w0,81:Id,89:276,102:m0,104:229,105:230,106:hg,107:Gi,108:cn,109:Nr},i(Br,[2,57]),i(Ct,[2,33]),i(Ea,[2,117],{103:Si}),i(Ea,[2,118],{103:Si})],defaultActions:{},parseError:function(cs,As){if(As.recoverable)this.trace(cs);else{var to=new Error(cs);throw to.hash=As,to}},parse:function(cs){var As=this,to=[0],Ci=[],pu=[null],Le=[],iy=this.table,$e="",g1=0,ip=0,sy=2,D8=1,g4=Le.slice.call(arguments,1),th=Object.create(this.lexer),fg={yy:{}};for(var O2 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O2)&&(fg.yy[O2]=this.yy[O2]);th.setInput(cs,fg.yy),fg.yy.lexer=th,fg.yy.parser=this,typeof th.yylloc>"u"&&(th.yylloc={});var M8=th.yylloc;Le.push(M8);var N2=th.options&&th.options.ranges;typeof fg.yy.parseError=="function"?this.parseError=fg.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function p4(){var sp;return sp=Ci.pop()||th.lex()||D8,typeof sp!="number"&&(sp instanceof Array&&(Ci=sp,sp=Ci.pop()),sp=As.symbols_[sp]||sp),sp}for(var U1,Nd,Pd,I8,im={},Gx,hb,Kx,b4;;){if(Nd=to[to.length-1],this.defaultActions[Nd]?Pd=this.defaultActions[Nd]:((U1===null||typeof U1>"u")&&(U1=p4()),Pd=iy[Nd]&&iy[Nd][U1]),typeof Pd>"u"||!Pd.length||!Pd[0]){var ay="";b4=[];for(Gx in iy[Nd])this.terminals_[Gx]&&Gx>sy&&b4.push("'"+this.terminals_[Gx]+"'");th.showPosition?ay="Parse error on line "+(g1+1)+`:
709 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Xt=this.next();return Xt||this.lex()},begin:function(Xt){this.conditionStack.push(Xt)},popState:function(){var Xt=this.conditionStack.length-1;return Xt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Xt){return Xt=this.conditionStack.length-1-Math.abs(Xt||0),Xt>=0?this.conditionStack[Xt]:"INITIAL"},pushState:function(Xt){this.begin(Xt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Xt,_e,xe,Mn){switch(xe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return _e.yytext=_e.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return _e.yytext=_e.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 64:return 5;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};return be}();ye.lexer=tn;function sn(){this.yy={}}return sn.prototype=ye,ye.Parser=sn,new sn}();Obt.parser=Obt;const lQe=Obt;class hQe{constructor(a){this.init=a,this.records=this.init()}reset(){this.records=this.init()}}const ws=new hQe(()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),fQe=function(i){ws.records.boxes.push({name:i.text,wrap:i.wrap===void 0&&F9()||!!i.wrap,fill:i.color,actorKeys:[]}),ws.records.currentBox=ws.records.boxes.slice(-1)[0]},Nbt=function(i,a,f,g){let w=ws.records.currentBox;const v=ws.records.actors[i];if(v){if(ws.records.currentBox&&v.box&&ws.records.currentBox!==v.box)throw new Error("A same participant should only be defined in one Box: "+v.name+" can't be in '"+v.box.name+"' and in '"+ws.records.currentBox.name+"' at the same time.");if(w=v.box?v.box:ws.records.currentBox,v.box=w,v&&a===v.name&&f==null)return}(f==null||f.text==null)&&(f={text:a,wrap:null,type:g}),(g==null||f.text==null)&&(f={text:a,wrap:null,type:g}),ws.records.actors[i]={box:w,name:a,description:f.text,wrap:f.wrap===void 0&&F9()||!!f.wrap,prevActor:ws.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:g||"participant"},ws.records.prevActor&&ws.records.actors[ws.records.prevActor]&&(ws.records.actors[ws.records.prevActor].nextActor=i),ws.records.currentBox&&ws.records.currentBox.actorKeys.push(i),ws.records.prevActor=i},dQe=i=>{let a,f=0;for(a=0;a<ws.records.messages.length;a++)ws.records.messages[a].type===wB.ACTIVE_START&&ws.records.messages[a].from.actor===i&&f++,ws.records.messages[a].type===wB.ACTIVE_END&&ws.records.messages[a].from.actor===i&&f--;return f},gQe=function(i,a,f,g){ws.records.messages.push({from:i,to:a,message:f.text,wrap:f.wrap===void 0&&F9()||!!f.wrap,answer:g})},Sf=function(i,a,f={text:void 0,wrap:void 0},g,w=!1){if(g===wB.ACTIVE_END&&dQe(i.actor)<1){let b=new Error("Trying to inactivate an inactive participant ("+i.actor+")");throw b.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},b}return ws.records.messages.push({from:i,to:a,message:f.text,wrap:f.wrap===void 0&&F9()||!!f.wrap,type:g,activate:w}),!0},pQe=function(){return ws.records.boxes.length>0},bQe=function(){return ws.records.boxes.some(i=>i.name)},wQe=function(){return ws.records.messages},mQe=function(){return ws.records.boxes},vQe=function(){return ws.records.actors},yQe=function(){return ws.records.createdActors},xQe=function(){return ws.records.destroyedActors},bB=function(i){return ws.records.actors[i]},kQe=function(){return Object.keys(ws.records.actors)},EQe=function(){ws.records.sequenceNumbersEnabled=!0},TQe=function(){ws.records.sequenceNumbersEnabled=!1},CQe=()=>ws.records.sequenceNumbersEnabled,SQe=function(i){ws.records.wrapEnabled=i},F9=()=>ws.records.wrapEnabled!==void 0?ws.records.wrapEnabled:Re().sequence.wrap,_Qe=function(){ws.reset(),ag()},AQe=function(i){const a=i.trim(),f={text:a.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:a.match(/^:?wrap:/)!==null?!0:a.match(/^:?nowrap:/)!==null?!1:void 0};return Kt.debug("parseMessage:",f),f},LQe=function(i){const a=i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let f=a!=null&&a[1]?a[1].trim():"transparent",g=a!=null&&a[2]?a[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",f)||(f="transparent",g=i.trim());else{const w=new Option().style;w.color=f,w.color!==f&&(f="transparent",g=i.trim())}return{color:f,text:g!==void 0?Ef(g.replace(/^:?(?:no)?wrap:/,""),Re()):void 0,wrap:g!==void 0?g.match(/^:?wrap:/)!==null?!0:g.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},wB={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32},DQe={FILLED:0,OPEN:1},MQe={LEFTOF:0,RIGHTOF:1,OVER:2},fqt=function(i,a,f){const g={actor:i,placement:a,message:f.text,wrap:f.wrap===void 0&&F9()||!!f.wrap},w=[].concat(i,i);ws.records.notes.push(g),ws.records.messages.push({from:w[0],to:w[1],message:f.text,wrap:f.wrap===void 0&&F9()||!!f.wrap,type:wB.NOTE,placement:a})},dqt=function(i,a){const f=bB(i);try{let g=Ef(a.text,Re());g=g.replace(/&amp;/g,"&"),g=g.replace(/&equals;/g,"=");const w=JSON.parse(g);Pbt(f,w)}catch(g){Kt.error("error while parsing actor link text",g)}},IQe=function(i,a){const f=bB(i);try{const b={};let E=Ef(a.text,Re());var g=E.indexOf("@");E=E.replace(/&amp;/g,"&"),E=E.replace(/&equals;/g,"=");var w=E.slice(0,g-1).trim(),v=E.slice(g+1).trim();b[w]=v,Pbt(f,b)}catch(b){Kt.error("error while parsing actor link text",b)}};function Pbt(i,a){if(i.links==null)i.links=a;else for(let f in a)i.links[f]=a[f]}const gqt=function(i,a){const f=bB(i);try{let g=Ef(a.text,Re());const w=JSON.parse(g);pqt(f,w)}catch(g){Kt.error("error while parsing actor properties text",g)}};function pqt(i,a){if(i.properties==null)i.properties=a;else for(let f in a)i.properties[f]=a[f]}function OQe(){ws.records.currentBox=void 0}const bqt=function(i,a){const f=bB(i),g=document.getElementById(a.text);try{const w=g.innerHTML,v=JSON.parse(w);v.properties&&pqt(f,v.properties),v.links&&Pbt(f,v.links)}catch(w){Kt.error("error while parsing actor details text",w)}},NQe=function(i,a){if(i!==void 0&&i.properties!==void 0)return i.properties[a]},wqt=function(i){if(Array.isArray(i))i.forEach(function(a){wqt(a)});else switch(i.type){case"sequenceIndex":ws.records.messages.push({from:void 0,to:void 0,message:{start:i.sequenceIndex,step:i.sequenceIndexStep,visible:i.sequenceVisible},wrap:!1,type:i.signalType});break;case"addParticipant":Nbt(i.actor,i.actor,i.description,i.draw);break;case"createParticipant":if(ws.records.actors[i.actor])throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");ws.records.lastCreated=i.actor,Nbt(i.actor,i.actor,i.description,i.draw),ws.records.createdActors[i.actor]=ws.records.messages.length;break;case"destroyParticipant":ws.records.lastDestroyed=i.actor,ws.records.destroyedActors[i.actor]=ws.records.messages.length;break;case"activeStart":Sf(i.actor,void 0,void 0,i.signalType);break;case"activeEnd":Sf(i.actor,void 0,void 0,i.signalType);break;case"addNote":fqt(i.actor,i.placement,i.text);break;case"addLinks":dqt(i.actor,i.text);break;case"addALink":IQe(i.actor,i.text);break;case"addProperties":gqt(i.actor,i.text);break;case"addDetails":bqt(i.actor,i.text);break;case"addMessage":if(ws.records.lastCreated){if(i.to!==ws.records.lastCreated)throw new Error("The created participant "+ws.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");ws.records.lastCreated=void 0}else if(ws.records.lastDestroyed){if(i.to!==ws.records.lastDestroyed&&i.from!==ws.records.lastDestroyed)throw new Error("The destroyed participant "+ws.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");ws.records.lastDestroyed=void 0}Sf(i.from,i.to,i.msg,i.signalType,i.activate);break;case"boxStart":fQe(i.boxData);break;case"boxEnd":OQe();break;case"loopStart":Sf(void 0,void 0,i.loopText,i.signalType);break;case"loopEnd":Sf(void 0,void 0,void 0,i.signalType);break;case"rectStart":Sf(void 0,void 0,i.color,i.signalType);break;case"rectEnd":Sf(void 0,void 0,void 0,i.signalType);break;case"optStart":Sf(void 0,void 0,i.optText,i.signalType);break;case"optEnd":Sf(void 0,void 0,void 0,i.signalType);break;case"altStart":Sf(void 0,void 0,i.altText,i.signalType);break;case"else":Sf(void 0,void 0,i.altText,i.signalType);break;case"altEnd":Sf(void 0,void 0,void 0,i.signalType);break;case"setAccTitle":og(i.text);break;case"parStart":Sf(void 0,void 0,i.parText,i.signalType);break;case"and":Sf(void 0,void 0,i.parText,i.signalType);break;case"parEnd":Sf(void 0,void 0,void 0,i.signalType);break;case"criticalStart":Sf(void 0,void 0,i.criticalText,i.signalType);break;case"option":Sf(void 0,void 0,i.optionText,i.signalType);break;case"criticalEnd":Sf(void 0,void 0,void 0,i.signalType);break;case"breakStart":Sf(void 0,void 0,i.breakText,i.signalType);break;case"breakEnd":Sf(void 0,void 0,void 0,i.signalType);break}},mqt={addActor:Nbt,addMessage:gQe,addSignal:Sf,addLinks:dqt,addDetails:bqt,addProperties:gqt,autoWrap:F9,setWrap:SQe,enableSequenceNumbers:EQe,disableSequenceNumbers:TQe,showSequenceNumbers:CQe,getMessages:wQe,getActors:vQe,getCreatedActors:yQe,getDestroyedActors:xQe,getActor:bB,getActorKeys:kQe,getActorProperty:NQe,getAccTitle:Xg,getBoxes:mQe,getDiagramTitle:Zg,setDiagramTitle:S2,getConfig:()=>Re().sequence,clear:_Qe,parseMessage:AQe,parseBoxData:LQe,LINETYPE:wB,ARROWTYPE:DQe,PLACEMENT:MQe,addNote:fqt,setAccTitle:og,apply:wqt,setAccDescription:Qg,getAccDescription:Jg,hasAtLeastOneBox:pQe,hasAtLeastOneBoxWithTitle:bQe},PQe=i=>`.actor {
825 `,B9=18*2,vqt="actor-top",yqt="actor-bottom",Fbt=function(i,a){return LY(i,a)},FQe=function(i,a,f,g,w){if(a.links===void 0||a.links===null||Object.keys(a.links).length===0)return{height:0,width:0};const v=a.links,b=a.actorCnt,E=a.rectData;var S="none";w&&(S="block !important");const _=i.append("g");_.attr("id","actor"+b+"_popup"),_.attr("class","actorPopupMenu"),_.attr("display",S);var M="";E.class!==void 0&&(M=" "+E.class);let F=E.width>f?E.width:f;const R=_.append("rect");if(R.attr("class","actorPopupMenuPanel"+M),R.attr("x",E.x),R.attr("y",E.height),R.attr("fill",E.fill),R.attr("stroke",E.stroke),R.attr("width",F),R.attr("height",E.height),R.attr("rx",E.rx),R.attr("ry",E.ry),v!=null){var B=20;for(let nt in v){var z=_.append("a"),Y=h8(v[nt]);z.attr("xlink:href",Y),z.attr("target","_blank"),ZQe(g)(nt,z,E.x+10,E.height+B,F,20,{class:"actor"},g),B+=30}}return R.attr("height",B),{height:E.height+B,width:F}},BQe=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},DD=function(i,a){let f=0,g=0;const w=a.text.split(ei.lineBreakRegex),[v,b]=k9(a.fontSize);let E=[],S=0,_=()=>a.y;if(a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0)switch(a.valign){case"top":case"start":_=()=>Math.round(a.y+a.textMargin);break;case"middle":case"center":_=()=>Math.round(a.y+(f+g+a.textMargin)/2);break;case"bottom":case"end":_=()=>Math.round(a.y+(f+g+2*a.textMargin)-a.textMargin);break}if(a.anchor!==void 0&&a.textMargin!==void 0&&a.width!==void 0)switch(a.anchor){case"left":case"start":a.x=Math.round(a.x+a.textMargin),a.anchor="start",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"middle":case"center":a.x=Math.round(a.x+a.width/2),a.anchor="middle",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"right":case"end":a.x=Math.round(a.x+a.width-a.textMargin),a.anchor="end",a.dominantBaseline="middle",a.alignmentBaseline="middle";break}for(let[M,F]of w.entries()){a.textMargin!==void 0&&a.textMargin===0&&v!==void 0&&(S=M*v);const R=i.append("text");R.attr("x",a.x),R.attr("y",_()),a.anchor!==void 0&&R.attr("text-anchor",a.anchor).attr("dominant-baseline",a.dominantBaseline).attr("alignment-baseline",a.alignmentBaseline),a.fontFamily!==void 0&&R.style("font-family",a.fontFamily),b!==void 0&&R.style("font-size",b),a.fontWeight!==void 0&&R.style("font-weight",a.fontWeight),a.fill!==void 0&&R.attr("fill",a.fill),a.class!==void 0&&R.attr("class",a.class),a.dy!==void 0?R.attr("dy",a.dy):S!==0&&R.attr("dy",S);const B=F||kFt;if(a.tspan){const z=R.append("tspan");z.attr("x",a.x),a.fill!==void 0&&z.attr("fill",a.fill),z.text(B)}else R.text(B);a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0&&(g+=(R._groups||R)[0][0].getBBox().height,f=g),E.push(R)}return E},xqt=function(i,a){function f(w,v,b,E,S){return w+","+v+" "+(w+b)+","+v+" "+(w+b)+","+(v+E-S)+" "+(w+b-S*1.2)+","+(v+E)+" "+w+","+(v+E)}const g=i.append("polygon");return g.attr("points",f(a.x,a.y,a.width,a.height,7)),g.attr("class","labelBox"),a.y=a.y+a.height/2,DD(i,a),g};let f4=-1;const kqt=(i,a,f,g)=>{i.select&&f.forEach(w=>{const v=a[w],b=i.select("#actor"+v.actorCnt);!g.mirrorActors&&v.stopy?b.attr("y2",v.stopy+v.height/2):g.mirrorActors&&b.attr("y2",v.stopy)})},RQe=function(i,a,f,g){const w=g?a.stopy:a.starty,v=a.x+a.width/2,b=w+5,E=i.append("g").lower();var S=E;g||(f4++,Object.keys(a.links||{}).length&&!f.forceMenus&&S.attr("onclick",BQe(`actor${f4}_popup`)).attr("cursor","pointer"),S.append("line").attr("id","actor"+f4).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),S=E.append("g"),a.actorCnt=f4,a.links!=null&&S.attr("id","root-"+f4));const _=_9();var M="actor";a.properties!=null&&a.properties.class?M=a.properties.class:_.fill="#eaeaea",g?M+=` ${yqt}`:M+=` ${vqt}`,_.x=a.x,_.y=w,_.width=a.width,_.height=a.height,_.class=M,_.rx=3,_.ry=3;const F=Fbt(S,_);if(a.rectData=_,a.properties!=null&&a.properties.icon){const B=a.properties.icon.trim();B.charAt(0)==="@"?KRe(S,_.x+_.width-20,_.y+10,B.substr(1)):GRe(S,_.x+_.width-20,_.y+10,B)}Bbt(f)(a.description,S,_.x,_.y,_.width,_.height,{class:"actor"},f);let R=a.height;if(F.node){const B=F.node().getBBox();a.height=B.height,R=B.height}return R},jQe=function(i,a,f,g){const w=g?a.stopy:a.starty,v=a.x+a.width/2,b=w+80;i.lower(),g||(f4++,i.append("line").attr("id","actor"+f4).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),a.actorCnt=f4);const E=i.append("g");let S="actor-man";g?S+=` ${yqt}`:S+=` ${vqt}`,E.attr("class",S);const _=_9();_.x=a.x,_.y=w,_.fill="#eaeaea",_.width=a.width,_.height=a.height,_.class="actor",_.rx=3,_.ry=3,E.append("line").attr("id","actor-man-torso"+f4).attr("x1",v).attr("y1",w+25).attr("x2",v).attr("y2",w+45),E.append("line").attr("id","actor-man-arms"+f4).attr("x1",v-B9/2).attr("y1",w+33).attr("x2",v+B9/2).attr("y2",w+33),E.append("line").attr("x1",v-B9/2).attr("y1",w+60).attr("x2",v).attr("y2",w+45),E.append("line").attr("x1",v).attr("y1",w+45).attr("x2",v+B9/2-2).attr("y2",w+60);const M=E.append("circle");M.attr("cx",a.x+a.width/2),M.attr("cy",w+10),M.attr("r",15),M.attr("width",a.width),M.attr("height",a.height);const F=E.node().getBBox();return a.height=F.height,Bbt(f)(a.description,E,_.x,_.y+35,_.width,_.height,{class:"actor"},f),a.height},$Qe=function(i,a,f,g){switch(a.type){case"actor":return jQe(i,a,f,g);case"participant":return RQe(i,a,f,g)}},zQe=function(i,a,f){const w=i.append("g");Eqt(w,a),a.name&&Bbt(f)(a.name,w,a.x,a.y+(a.textMaxHeight||0)/2,a.width,0,{class:"text"},f),w.lower()},qQe=function(i){return i.append("g")},HQe=function(i,a,f,g,w){const v=_9(),b=a.anchored;v.x=a.startx,v.y=a.starty,v.class="activation"+w%3,v.width=a.stopx-a.startx,v.height=f-a.starty,Fbt(b,v)},VQe=function(i,a,f,g){const{boxMargin:w,boxTextMargin:v,labelBoxHeight:b,labelBoxWidth:E,messageFontFamily:S,messageFontSize:_,messageFontWeight:M}=g,F=i.append("g"),R=function(Y,nt,ot,ft){return F.append("line").attr("x1",Y).attr("y1",nt).attr("x2",ot).attr("y2",ft).attr("class","loopLine")};R(a.startx,a.starty,a.stopx,a.starty),R(a.stopx,a.starty,a.stopx,a.stopy),R(a.startx,a.stopy,a.stopx,a.stopy),R(a.startx,a.starty,a.startx,a.stopy),a.sections!==void 0&&a.sections.forEach(function(Y){R(a.startx,Y.y,a.stopx,Y.y).style("stroke-dasharray","3, 3")});let B=tpt();B.text=f,B.x=a.startx,B.y=a.starty,B.fontFamily=S,B.fontSize=_,B.fontWeight=M,B.anchor="middle",B.valign="middle",B.tspan=!1,B.width=E||50,B.height=b||20,B.textMargin=v,B.class="labelText",xqt(F,B),B=Tqt(),B.text=a.title,B.x=a.startx+E/2+(a.stopx-a.startx)/2,B.y=a.starty+w+v,B.anchor="middle",B.valign="middle",B.textMargin=v,B.class="loopText",B.fontFamily=S,B.fontSize=_,B.fontWeight=M,B.wrap=!0;let z=DD(F,B);return a.sectionTitles!==void 0&&a.sectionTitles.forEach(function(Y,nt){if(Y.message){B.text=Y.message,B.x=a.startx+(a.stopx-a.startx)/2,B.y=a.sections[nt].y+w+v,B.class="loopText",B.anchor="middle",B.valign="middle",B.tspan=!1,B.fontFamily=S,B.fontSize=_,B.fontWeight=M,B.wrap=a.wrap,z=DD(F,B);let ot=Math.round(z.map(ft=>(ft._groups||ft)[0][0].getBBox().height).reduce((ft,wt)=>ft+wt));a.sections[nt].height+=ot-(w+v)}}),a.height=Math.round(a.stopy-a.starty),F},Eqt=function(i,a){sRt(i,a)},UQe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},GQe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},KQe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},WQe=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},YQe=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},XQe=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},QQe=function(i){i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},Tqt=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},JQe=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},Bbt=function(){function i(w,v,b,E,S,_,M){const F=v.append("text").attr("x",b+S/2).attr("y",E+_/2+5).style("text-anchor","middle").text(w);g(F,M)}function a(w,v,b,E,S,_,M,F){const{actorFontSize:R,actorFontFamily:B,actorFontWeight:z}=F,[Y,nt]=k9(R),ot=w.split(ei.lineBreakRegex);for(let ft=0;ft<ot.length;ft++){const wt=ft*Y-Y*(ot.length-1)/2,mt=v.append("text").attr("x",b+S/2).attr("y",E).style("text-anchor","middle").style("font-size",nt).style("font-weight",z).style("font-family",B);mt.append("tspan").attr("x",b+S/2).attr("dy",wt).text(ot[ft]),mt.attr("y",E+_/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(mt,M)}}function f(w,v,b,E,S,_,M,F){const R=v.append("switch"),z=R.append("foreignObject").attr("x",b).attr("y",E).attr("width",S).attr("height",_).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");z.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(w),a(w,R,b,E,S,_,M,F),g(z,M)}function g(w,v){for(const b in v)v.hasOwnProperty(b)&&w.attr(b,v[b])}return function(w){return w.textPlacement==="fo"?f:w.textPlacement==="old"?i:a}}(),ZQe=function(){function i(w,v,b,E,S,_,M){const F=v.append("text").attr("x",b).attr("y",E).style("text-anchor","start").text(w);g(F,M)}function a(w,v,b,E,S,_,M,F){const{actorFontSize:R,actorFontFamily:B,actorFontWeight:z}=F,Y=w.split(ei.lineBreakRegex);for(let nt=0;nt<Y.length;nt++){const ot=nt*R-R*(Y.length-1)/2,ft=v.append("text").attr("x",b).attr("y",E).style("text-anchor","start").style("font-size",R).style("font-weight",z).style("font-family",B);ft.append("tspan").attr("x",b).attr("dy",ot).text(Y[nt]),ft.attr("y",E+_/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(ft,M)}}function f(w,v,b,E,S,_,M,F){const R=v.append("switch"),z=R.append("foreignObject").attr("x",b).attr("y",E).attr("width",S).attr("height",_).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");z.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(w),a(w,R,b,E,S,_,M,F),g(z,M)}function g(w,v){for(const b in v)v.hasOwnProperty(b)&&w.attr(b,v[b])}return function(w){return w.textPlacement==="fo"?f:w.textPlacement==="old"?i:a}}(),_f={drawRect:Fbt,drawText:DD,drawLabel:xqt,drawActor:$Qe,drawBox:zQe,drawPopup:FQe,anchorElement:qQe,drawActivation:HQe,drawLoop:VQe,drawBackgroundRect:Eqt,insertArrowHead:WQe,insertArrowFilledHead:YQe,insertSequenceNumber:XQe,insertArrowCrossHead:QQe,insertDatabaseIcon:UQe,insertComputerIcon:GQe,insertClockIcon:KQe,getTextObj:Tqt,getNoteRect:JQe,fixLifeLineHeights:kqt,sanitizeUrl:h8};let bn={};const Wr={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(i=>i.height||0))+(this.loops.length===0?0:this.loops.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.messages.length===0?0:this.messages.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.notes.length===0?0:this.notes.map(i=>i.height||0).reduce((i,a)=>i+a))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(i){this.boxes.push(i)},addActor:function(i){this.actors.push(i)},addLoop:function(i){this.loops.push(i)},addMessage:function(i){this.messages.push(i)},addNote:function(i){this.notes.push(i)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,Sqt(Re())},updateVal:function(i,a,f,g){i[a]===void 0?i[a]=f:i[a]=g(f,i[a])},updateBounds:function(i,a,f,g){const w=this;let v=0;function b(E){return function(_){v++;const M=w.sequenceItems.length-v+1;w.updateVal(_,"starty",a-M*bn.boxMargin,Math.min),w.updateVal(_,"stopy",g+M*bn.boxMargin,Math.max),w.updateVal(Wr.data,"startx",i-M*bn.boxMargin,Math.min),w.updateVal(Wr.data,"stopx",f+M*bn.boxMargin,Math.max),E!=="activation"&&(w.updateVal(_,"startx",i-M*bn.boxMargin,Math.min),w.updateVal(_,"stopx",f+M*bn.boxMargin,Math.max),w.updateVal(Wr.data,"starty",a-M*bn.boxMargin,Math.min),w.updateVal(Wr.data,"stopy",g+M*bn.boxMargin,Math.max))}}this.sequenceItems.forEach(b()),this.activations.forEach(b("activation"))},insert:function(i,a,f,g){const w=ei.getMin(i,f),v=ei.getMax(i,f),b=ei.getMin(a,g),E=ei.getMax(a,g);this.updateVal(Wr.data,"startx",w,Math.min),this.updateVal(Wr.data,"starty",b,Math.min),this.updateVal(Wr.data,"stopx",v,Math.max),this.updateVal(Wr.data,"stopy",E,Math.max),this.updateBounds(w,b,v,E)},newActivation:function(i,a,f){const g=f[i.from.actor],w=bX(i.from.actor).length||0,v=g.x+g.width/2+(w-1)*bn.activationWidth/2;this.activations.push({startx:v,starty:this.verticalPos+2,stopx:v+bn.activationWidth,stopy:void 0,actor:i.from.actor,anchored:_f.anchorElement(a)})},endActivation:function(i){const a=this.activations.map(function(f){return f.actor}).lastIndexOf(i.from.actor);return this.activations.splice(a,1)[0]},createLoop:function(i={message:void 0,wrap:!1,width:void 0},a){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:i.message,wrap:i.wrap,width:i.width,height:0,fill:a}},newLoop:function(i={message:void 0,wrap:!1,width:void 0},a){this.sequenceItems.push(this.createLoop(i,a))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(i){const a=this.sequenceItems.pop();a.sections=a.sections||[],a.sectionTitles=a.sectionTitles||[],a.sections.push({y:Wr.getVerticalPos(),height:0}),a.sectionTitles.push(i),this.sequenceItems.push(a)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=ei.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},tJe=function(i,a){Wr.bumpVerticalPos(bn.boxMargin),a.height=bn.boxMargin,a.starty=Wr.getVerticalPos();const f=_9();f.x=a.startx,f.y=a.starty,f.width=a.width||bn.width,f.class="note";const g=i.append("g"),w=_f.drawRect(g,f),v=tpt();v.x=a.startx,v.y=a.starty,v.width=f.width,v.dy="1em",v.text=a.message,v.class="noteText",v.fontFamily=bn.noteFontFamily,v.fontSize=bn.noteFontSize,v.fontWeight=bn.noteFontWeight,v.anchor=bn.noteAlign,v.textMargin=bn.noteMargin,v.valign="center";const b=DD(g,v),E=Math.round(b.map(S=>(S._groups||S)[0][0].getBBox().height).reduce((S,_)=>S+_));w.attr("height",E+2*bn.noteMargin),a.height+=E+2*bn.noteMargin,Wr.bumpVerticalPos(E+2*bn.noteMargin),a.stopy=a.starty+E+2*bn.noteMargin,a.stopx=a.startx+f.width,Wr.insert(a.startx,a.starty,a.stopx,a.stopy),Wr.models.addNote(a)},R9=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight}),MD=i=>({fontFamily:i.noteFontFamily,fontSize:i.noteFontSize,fontWeight:i.noteFontWeight}),Rbt=i=>({fontFamily:i.actorFontFamily,fontSize:i.actorFontSize,fontWeight:i.actorFontWeight});function eJe(i,a){Wr.bumpVerticalPos(10);const{startx:f,stopx:g,message:w}=a,v=ei.splitBreaks(w).length,b=uo.calculateTextDimensions(w,R9(bn)),E=b.height/v;a.height+=E,Wr.bumpVerticalPos(E);let S,_=b.height-10;const M=b.width;if(f===g){S=Wr.getVerticalPos()+_,bn.rightAngles||(_+=bn.boxMargin,S=Wr.getVerticalPos()+_),_+=30;const F=ei.getMax(M/2,bn.width/2);Wr.insert(f-F,Wr.getVerticalPos()-10+_,g+F,Wr.getVerticalPos()+30+_)}else _+=bn.boxMargin,S=Wr.getVerticalPos()+_,Wr.insert(f,S-10,g,S);return Wr.bumpVerticalPos(_),a.height+=_,a.stopy=a.starty+a.height,Wr.insert(a.fromBounds,a.starty,a.toBounds,a.stopy),S}const nJe=function(i,a,f,g){const{startx:w,stopx:v,starty:b,message:E,type:S,sequenceIndex:_,sequenceVisible:M}=a,F=uo.calculateTextDimensions(E,R9(bn)),R=tpt();R.x=w,R.y=b+10,R.width=v-w,R.class="messageText",R.dy="1em",R.text=E,R.fontFamily=bn.messageFontFamily,R.fontSize=bn.messageFontSize,R.fontWeight=bn.messageFontWeight,R.anchor=bn.messageAlign,R.valign="center",R.textMargin=bn.wrapPadding,R.tspan=!1,DD(i,R);const B=F.width;let z;w===v?bn.rightAngles?z=i.append("path").attr("d",`M ${w},${f} H ${w+ei.getMax(bn.width/2,B/2)} V ${f+25} H ${w}`):z=i.append("path").attr("d","M "+w+","+f+" C "+(w+60)+","+(f-10)+" "+(w+60)+","+(f+30)+" "+w+","+(f+20)):(z=i.append("line"),z.attr("x1",w),z.attr("y1",f),z.attr("x2",v),z.attr("y2",f)),S===g.db.LINETYPE.DOTTED||S===g.db.LINETYPE.DOTTED_CROSS||S===g.db.LINETYPE.DOTTED_POINT||S===g.db.LINETYPE.DOTTED_OPEN?(z.style("stroke-dasharray","3, 3"),z.attr("class","messageLine1")):z.attr("class","messageLine0");let Y="";bn.arrowMarkerAbsolute&&(Y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,Y=Y.replace(/\(/g,"\\("),Y=Y.replace(/\)/g,"\\)")),z.attr("stroke-width",2),z.attr("stroke","none"),z.style("fill","none"),(S===g.db.LINETYPE.SOLID||S===g.db.LINETYPE.DOTTED)&&z.attr("marker-end","url("+Y+"#arrowhead)"),(S===g.db.LINETYPE.SOLID_POINT||S===g.db.LINETYPE.DOTTED_POINT)&&z.attr("marker-end","url("+Y+"#filled-head)"),(S===g.db.LINETYPE.SOLID_CROSS||S===g.db.LINETYPE.DOTTED_CROSS)&&z.attr("marker-end","url("+Y+"#crosshead)"),(M||bn.showSequenceNumbers)&&(z.attr("marker-start","url("+Y+"#sequencenumber)"),i.append("text").attr("x",w).attr("y",f+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(_))},rJe=function(i,a,f,g,w,v,b){let E=0,S=0,_,M=0;for(const F of g){const R=a[F],B=R.box;_&&_!=B&&(b||Wr.models.addBox(_),S+=bn.boxMargin+_.margin),B&&B!=_&&(b||(B.x=E+S,B.y=w),S+=B.margin),R.width=R.width||bn.width,R.height=ei.getMax(R.height||bn.height,bn.height),R.margin=R.margin||bn.actorMargin,M=ei.getMax(M,R.height),f[R.name]&&(S+=R.width/2),R.x=E+S,R.starty=Wr.getVerticalPos(),Wr.insert(R.x,w,R.x+R.width,R.height),E+=R.width+S,R.box&&(R.box.width=E+B.margin-R.box.x),S=R.margin,_=R.box,Wr.models.addActor(R)}_&&!b&&Wr.models.addBox(_),Wr.bumpVerticalPos(M)},jbt=function(i,a,f,g){if(g){let w=0;Wr.bumpVerticalPos(bn.boxMargin*2);for(const v of f){const b=a[v];b.stopy||(b.stopy=Wr.getVerticalPos());const E=_f.drawActor(i,b,bn,!0);w=ei.getMax(w,E)}Wr.bumpVerticalPos(w+bn.boxMargin)}else for(const w of f){const v=a[w];_f.drawActor(i,v,bn,!1)}},Cqt=function(i,a,f,g){let w=0,v=0;for(const b of f){const E=a[b],S=oJe(E),_=_f.drawPopup(i,E,S,bn,bn.forceMenus,g);_.height>w&&(w=_.height),_.width+E.x>v&&(v=_.width+E.x)}return{maxHeight:w,maxWidth:v}},Sqt=function(i){Ld(bn,i),i.fontFamily&&(bn.actorFontFamily=bn.noteFontFamily=bn.messageFontFamily=i.fontFamily),i.fontSize&&(bn.actorFontSize=bn.noteFontSize=bn.messageFontSize=i.fontSize),i.fontWeight&&(bn.actorFontWeight=bn.noteFontWeight=bn.messageFontWeight=i.fontWeight)},bX=function(i){return Wr.activations.filter(function(a){return a.actor===i})},_qt=function(i,a){const f=a[i],g=bX(i),w=g.reduce(function(b,E){return ei.getMin(b,E.startx)},f.x+f.width/2-1),v=g.reduce(function(b,E){return ei.getMax(b,E.stopx)},f.x+f.width/2+1);return[w,v]};function d4(i,a,f,g,w){Wr.bumpVerticalPos(f);let v=g;if(a.id&&a.message&&i[a.id]){const b=i[a.id].width,E=R9(bn);a.message=uo.wrapLabel(`[${a.message}]`,b-2*bn.wrapPadding,E),a.width=b,a.wrap=!0;const S=uo.calculateTextDimensions(a.message,E),_=ei.getMax(S.height,bn.labelBoxHeight);v=g+_,Kt.debug(`${_} - ${a.message}`)}w(a),Wr.bumpVerticalPos(v)}function iJe(i,a,f,g,w,v,b){function E(_,M){_.x<w[i.from].x?(Wr.insert(a.stopx-M,a.starty,a.startx,a.stopy+_.height/2+bn.noteMargin),a.stopx=a.stopx+M):(Wr.insert(a.startx,a.starty,a.stopx+M,a.stopy+_.height/2+bn.noteMargin),a.stopx=a.stopx-M)}function S(_,M){_.x<w[i.to].x?(Wr.insert(a.startx-M,a.starty,a.stopx,a.stopy+_.height/2+bn.noteMargin),a.startx=a.startx+M):(Wr.insert(a.stopx,a.starty,a.startx+M,a.stopy+_.height/2+bn.noteMargin),a.startx=a.startx-M)}if(v[i.to]==g){const _=w[i.to],M=_.type=="actor"?B9/2+3:_.width/2+3;E(_,M),_.starty=f-_.height/2,Wr.bumpVerticalPos(_.height/2)}else if(b[i.from]==g){const _=w[i.from];if(bn.mirrorActors){const M=_.type=="actor"?B9/2:_.width/2;S(_,M)}_.stopy=f-_.height/2,Wr.bumpVerticalPos(_.height/2)}else if(b[i.to]==g){const _=w[i.to];if(bn.mirrorActors){const M=_.type=="actor"?B9/2+3:_.width/2+3;E(_,M)}_.stopy=f-_.height/2,Wr.bumpVerticalPos(_.height/2)}}const sJe=function(i,a,f,g){const{securityLevel:w,sequence:v}=Re();bn=v;let b;w==="sandbox"&&(b=Tr("#i"+a));const E=Tr(w==="sandbox"?b.nodes()[0].contentDocument.body:"body"),S=w==="sandbox"?b.nodes()[0].contentDocument:document;Wr.init(),Kt.debug(g.db);const _=w==="sandbox"?E.select(`[id="${a}"]`):Tr(`[id="${a}"]`),M=g.db.getActors(),F=g.db.getCreatedActors(),R=g.db.getDestroyedActors(),B=g.db.getBoxes();let z=g.db.getActorKeys();const Y=g.db.getMessages(),nt=g.db.getDiagramTitle(),ot=g.db.hasAtLeastOneBox(),ft=g.db.hasAtLeastOneBoxWithTitle(),wt=aJe(M,Y,g);if(bn.height=cJe(M,wt,B),_f.insertComputerIcon(_),_f.insertDatabaseIcon(_),_f.insertClockIcon(_),ot&&(Wr.bumpVerticalPos(bn.boxMargin),ft&&Wr.bumpVerticalPos(B[0].textMaxHeight)),bn.hideUnusedParticipants===!0){const xt=new Set;Y.forEach(Ft=>{xt.add(Ft.from),xt.add(Ft.to)}),z=z.filter(Ft=>xt.has(Ft))}rJe(_,M,F,z,0,Y,!1);const mt=hJe(Y,M,wt,g);_f.insertArrowHead(_),_f.insertArrowCrossHead(_),_f.insertArrowFilledHead(_),_f.insertSequenceNumber(_);function ct(xt,Ft){const Ct=Wr.endActivation(xt);Ct.starty+18>Ft&&(Ct.starty=Ft-6,Ft+=12),_f.drawActivation(_,Ct,Ft,bn,bX(xt.from.actor).length),Wr.insert(Ct.startx,Ft-10,Ct.stopx,Ft)}let rt=1,it=1;const gt=[],Q=[];Y.forEach(function(xt,Ft){let Ct,kt,Gt;switch(xt.type){case g.db.LINETYPE.NOTE:Wr.resetVerticalPos(),kt=xt.noteModel,tJe(_,kt);break;case g.db.LINETYPE.ACTIVE_START:Wr.newActivation(xt,_,M);break;case g.db.LINETYPE.ACTIVE_END:ct(xt,Wr.getVerticalPos());break;case g.db.LINETYPE.LOOP_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.LOOP_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"loop",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.RECT_START:d4(mt,xt,bn.boxMargin,bn.boxMargin,Fe=>Wr.newLoop(void 0,Fe.message));break;case g.db.LINETYPE.RECT_END:Ct=Wr.endLoop(),Q.push(Ct),Wr.models.addLoop(Ct),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos());break;case g.db.LINETYPE.OPT_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.OPT_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"opt",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.ALT_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.ALT_ELSE:d4(mt,xt,bn.boxMargin+bn.boxTextMargin,bn.boxMargin,Fe=>Wr.addSectionToLoop(Fe));break;case g.db.LINETYPE.ALT_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"alt",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.PAR_START:case g.db.LINETYPE.PAR_OVER_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe)),Wr.saveVerticalPos();break;case g.db.LINETYPE.PAR_AND:d4(mt,xt,bn.boxMargin+bn.boxTextMargin,bn.boxMargin,Fe=>Wr.addSectionToLoop(Fe));break;case g.db.LINETYPE.PAR_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"par",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.AUTONUMBER:rt=xt.message.start||rt,it=xt.message.step||it,xt.message.visible?g.db.enableSequenceNumbers():g.db.disableSequenceNumbers();break;case g.db.LINETYPE.CRITICAL_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.CRITICAL_OPTION:d4(mt,xt,bn.boxMargin+bn.boxTextMargin,bn.boxMargin,Fe=>Wr.addSectionToLoop(Fe));break;case g.db.LINETYPE.CRITICAL_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"critical",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.BREAK_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.BREAK_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"break",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;default:try{Gt=xt.msgModel,Gt.starty=Wr.getVerticalPos(),Gt.sequenceIndex=rt,Gt.sequenceVisible=g.db.showSequenceNumbers();const Fe=eJe(_,Gt);iJe(xt,Gt,Fe,Ft,M,F,R),gt.push({messageModel:Gt,lineStartY:Fe}),Wr.models.addMessage(Gt)}catch(Fe){Kt.error("error while drawing message",Fe)}}[g.db.LINETYPE.SOLID_OPEN,g.db.LINETYPE.DOTTED_OPEN,g.db.LINETYPE.SOLID,g.db.LINETYPE.DOTTED,g.db.LINETYPE.SOLID_CROSS,g.db.LINETYPE.DOTTED_CROSS,g.db.LINETYPE.SOLID_POINT,g.db.LINETYPE.DOTTED_POINT].includes(xt.type)&&(rt=rt+it)}),Kt.debug("createdActors",F),Kt.debug("destroyedActors",R),jbt(_,M,z,!1),gt.forEach(xt=>nJe(_,xt.messageModel,xt.lineStartY,g)),bn.mirrorActors&&jbt(_,M,z,!0),Q.forEach(xt=>_f.drawBackgroundRect(_,xt)),kqt(_,M,z,bn),Wr.models.boxes.forEach(function(xt){xt.height=Wr.getVerticalPos()-xt.y,Wr.insert(xt.x,xt.y,xt.x+xt.width,xt.height),xt.startx=xt.x,xt.starty=xt.y,xt.stopx=xt.startx+xt.width,xt.stopy=xt.starty+xt.height,xt.stroke="rgb(0,0,0, 0.5)",_f.drawBox(_,xt,bn)}),ot&&Wr.bumpVerticalPos(bn.boxMargin);const dt=Cqt(_,M,z,S),{bounds:K}=Wr.getBounds();let yt=K.stopy-K.starty;yt<dt.maxHeight&&(yt=dt.maxHeight);let V=yt+2*bn.diagramMarginY;bn.mirrorActors&&(V=V-bn.boxMargin+bn.bottomMarginAdj);let Ot=K.stopx-K.startx;Ot<dt.maxWidth&&(Ot=dt.maxWidth);const It=Ot+2*bn.diagramMarginX;nt&&_.append("text").text(nt).attr("x",(K.stopx-K.startx)/2-2*bn.diagramMarginX).attr("y",-25),sg(_,V,It,bn.useMaxWidth);const jt=nt?40:0;_.attr("viewBox",K.startx-bn.diagramMarginX+" -"+(bn.diagramMarginY+jt)+" "+It+" "+(V+jt)),Kt.debug("models:",Wr.models)};function aJe(i,a,f){const g={};return a.forEach(function(w){if(i[w.to]&&i[w.from]){const v=i[w.to];if(w.placement===f.db.PLACEMENT.LEFTOF&&!v.prevActor||w.placement===f.db.PLACEMENT.RIGHTOF&&!v.nextActor)return;const b=w.placement!==void 0,E=!b,S=b?MD(bn):R9(bn),_=w.wrap?uo.wrapLabel(w.message,bn.width-2*bn.wrapPadding,S):w.message,F=uo.calculateTextDimensions(_,S).width+2*bn.wrapPadding;E&&w.from===v.nextActor?g[w.to]=ei.getMax(g[w.to]||0,F):E&&w.from===v.prevActor?g[w.from]=ei.getMax(g[w.from]||0,F):E&&w.from===w.to?(g[w.from]=ei.getMax(g[w.from]||0,F/2),g[w.to]=ei.getMax(g[w.to]||0,F/2)):w.placement===f.db.PLACEMENT.RIGHTOF?g[w.from]=ei.getMax(g[w.from]||0,F):w.placement===f.db.PLACEMENT.LEFTOF?g[v.prevActor]=ei.getMax(g[v.prevActor]||0,F):w.placement===f.db.PLACEMENT.OVER&&(v.prevActor&&(g[v.prevActor]=ei.getMax(g[v.prevActor]||0,F/2)),v.nextActor&&(g[w.from]=ei.getMax(g[w.from]||0,F/2)))}}),Kt.debug("maxMessageWidthPerActor:",g),g}const oJe=function(i){let a=0;const f=Rbt(bn);for(const g in i.links){const v=uo.calculateTextDimensions(g,f).width+2*bn.wrapPadding+2*bn.boxMargin;a<v&&(a=v)}return a};function cJe(i,a,f){let g=0;Object.keys(i).forEach(v=>{const b=i[v];b.wrap&&(b.description=uo.wrapLabel(b.description,bn.width-2*bn.wrapPadding,Rbt(bn)));const E=uo.calculateTextDimensions(b.description,Rbt(bn));b.width=b.wrap?bn.width:ei.getMax(bn.width,E.width+2*bn.wrapPadding),b.height=b.wrap?ei.getMax(E.height,bn.height):bn.height,g=ei.getMax(g,b.height)});for(const v in a){const b=i[v];if(!b)continue;const E=i[b.nextActor];if(!E){const F=a[v]+bn.actorMargin-b.width/2;b.margin=ei.getMax(F,bn.actorMargin);continue}const _=a[v]+bn.actorMargin-b.width/2-E.width/2;b.margin=ei.getMax(_,bn.actorMargin)}let w=0;return f.forEach(v=>{const b=R9(bn);let E=v.actorKeys.reduce((M,F)=>M+=i[F].width+(i[F].margin||0),0);E-=2*bn.boxTextMargin,v.wrap&&(v.name=uo.wrapLabel(v.name,E-2*bn.wrapPadding,b));const S=uo.calculateTextDimensions(v.name,b);w=ei.getMax(S.height,w);const _=ei.getMax(E,S.width+2*bn.wrapPadding);if(v.margin=bn.boxTextMargin,E<_){const M=(_-E)/2;v.margin+=M}}),f.forEach(v=>v.textMaxHeight=w),ei.getMax(g,bn.height)}const uJe=function(i,a,f){const g=a[i.from].x,w=a[i.to].x,v=i.wrap&&i.message;let b=uo.calculateTextDimensions(v?uo.wrapLabel(i.message,bn.width,MD(bn)):i.message,MD(bn));const E={width:v?bn.width:ei.getMax(bn.width,b.width+2*bn.noteMargin),height:0,startx:a[i.from].x,stopx:0,starty:0,stopy:0,message:i.message};return i.placement===f.db.PLACEMENT.RIGHTOF?(E.width=v?ei.getMax(bn.width,b.width):ei.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*bn.noteMargin),E.startx=g+(a[i.from].width+bn.actorMargin)/2):i.placement===f.db.PLACEMENT.LEFTOF?(E.width=v?ei.getMax(bn.width,b.width+2*bn.noteMargin):ei.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*bn.noteMargin),E.startx=g-E.width+(a[i.from].width-bn.actorMargin)/2):i.to===i.from?(b=uo.calculateTextDimensions(v?uo.wrapLabel(i.message,ei.getMax(bn.width,a[i.from].width),MD(bn)):i.message,MD(bn)),E.width=v?ei.getMax(bn.width,a[i.from].width):ei.getMax(a[i.from].width,bn.width,b.width+2*bn.noteMargin),E.startx=g+(a[i.from].width-E.width)/2):(E.width=Math.abs(g+a[i.from].width/2-(w+a[i.to].width/2))+bn.actorMargin,E.startx=g<w?g+a[i.from].width/2-bn.actorMargin/2:w+a[i.to].width/2-bn.actorMargin/2),v&&(E.message=uo.wrapLabel(i.message,E.width-2*bn.wrapPadding,MD(bn))),Kt.debug(`NM:[${E.startx},${E.stopx},${E.starty},${E.stopy}:${E.width},${E.height}=${i.message}]`),E},lJe=function(i,a,f){if(![f.db.LINETYPE.SOLID_OPEN,f.db.LINETYPE.DOTTED_OPEN,f.db.LINETYPE.SOLID,f.db.LINETYPE.DOTTED,f.db.LINETYPE.SOLID_CROSS,f.db.LINETYPE.DOTTED_CROSS,f.db.LINETYPE.SOLID_POINT,f.db.LINETYPE.DOTTED_POINT].includes(i.type))return{};const[g,w]=_qt(i.from,a),[v,b]=_qt(i.to,a),E=g<=v,S=E?w:g;let _=E?v:b;const M=Math.abs(v-b)>2,F=Y=>E?-Y:Y;i.from===i.to?_=S:(i.activate&&!M&&(_+=F(bn.activationWidth/2-1)),[f.db.LINETYPE.SOLID_OPEN,f.db.LINETYPE.DOTTED_OPEN].includes(i.type)||(_+=F(3)));const R=[g,w,v,b],B=Math.abs(S-_);i.wrap&&i.message&&(i.message=uo.wrapLabel(i.message,ei.getMax(B+2*bn.wrapPadding,bn.width),R9(bn)));const z=uo.calculateTextDimensions(i.message,R9(bn));return{width:ei.getMax(i.wrap?0:z.width+2*bn.wrapPadding,B+2*bn.wrapPadding,bn.width),height:0,startx:S,stopx:_,starty:0,stopy:0,message:i.message,type:i.type,wrap:i.wrap,fromBounds:Math.min.apply(null,R),toBounds:Math.max.apply(null,R)}},hJe=function(i,a,f,g){const w={},v=[];let b,E,S;return i.forEach(function(_){switch(_.id=uo.random({length:10}),_.type){case g.db.LINETYPE.LOOP_START:case g.db.LINETYPE.ALT_START:case g.db.LINETYPE.OPT_START:case g.db.LINETYPE.PAR_START:case g.db.LINETYPE.PAR_OVER_START:case g.db.LINETYPE.CRITICAL_START:case g.db.LINETYPE.BREAK_START:v.push({id:_.id,msg:_.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case g.db.LINETYPE.ALT_ELSE:case g.db.LINETYPE.PAR_AND:case g.db.LINETYPE.CRITICAL_OPTION:_.message&&(b=v.pop(),w[b.id]=b,w[_.id]=b,v.push(b));break;case g.db.LINETYPE.LOOP_END:case g.db.LINETYPE.ALT_END:case g.db.LINETYPE.OPT_END:case g.db.LINETYPE.PAR_END:case g.db.LINETYPE.CRITICAL_END:case g.db.LINETYPE.BREAK_END:b=v.pop(),w[b.id]=b;break;case g.db.LINETYPE.ACTIVE_START:{const F=a[_.from?_.from.actor:_.to.actor],R=bX(_.from?_.from.actor:_.to.actor).length,B=F.x+F.width/2+(R-1)*bn.activationWidth/2,z={startx:B,stopx:B+bn.activationWidth,actor:_.from.actor,enabled:!0};Wr.activations.push(z)}break;case g.db.LINETYPE.ACTIVE_END:{const F=Wr.activations.map(R=>R.actor).lastIndexOf(_.from.actor);delete Wr.activations.splice(F,1)[0]}break}_.placement!==void 0?(E=uJe(_,a,g),_.noteModel=E,v.forEach(F=>{b=F,b.from=ei.getMin(b.from,E.startx),b.to=ei.getMax(b.to,E.startx+E.width),b.width=ei.getMax(b.width,Math.abs(b.from-b.to))-bn.labelBoxWidth})):(S=lJe(_,a,g),_.msgModel=S,S.startx&&S.stopx&&v.length>0&&v.forEach(F=>{if(b=F,S.startx===S.stopx){const R=a[_.from],B=a[_.to];b.from=ei.getMin(R.x-S.width/2,R.x-R.width/2,b.from),b.to=ei.getMax(B.x+S.width/2,B.x+R.width/2,b.to),b.width=ei.getMax(b.width,Math.abs(b.to-b.from))-bn.labelBoxWidth}else b.from=ei.getMin(S.startx,b.from),b.to=ei.getMax(S.stopx,b.to),b.width=ei.getMax(b.width,S.width)-bn.labelBoxWidth}))}),Wr.activations=[],Kt.debug("Loop type widths:",w),w},fJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:lQe,db:mqt,renderer:{bounds:Wr,drawActors:jbt,drawActorsPopup:Cqt,setConf:Sqt,draw:sJe},styles:PQe,init:({wrap:i})=>{mqt.setWrap(i)}}},Symbol.toStringTag,{value:"Module"}));var $bt=function(){var i=function(za,br,An,Nn){for(An=An||{},Nn=za.length;Nn--;An[za[Nn]]=br);return An},a=[1,17],f=[1,18],g=[1,19],w=[1,39],v=[1,40],b=[1,25],E=[1,23],S=[1,24],_=[1,31],M=[1,32],F=[1,33],R=[1,34],B=[1,35],z=[1,36],Y=[1,26],nt=[1,27],ot=[1,28],ft=[1,29],wt=[1,43],mt=[1,30],ct=[1,42],rt=[1,44],it=[1,41],gt=[1,45],Q=[1,9],dt=[1,8,9],K=[1,56],yt=[1,57],V=[1,58],Ot=[1,59],It=[1,60],jt=[1,61],xt=[1,62],Ft=[1,8,9,39],Ct=[1,74],kt=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],Gt=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],Fe=[13,74,80,95,97,98],Mt=[13,64,65,74,80,95,97,98],pn=[13,59,60,61,62,63,74,80,95,97,98],Ae=[1,93],ye=[1,110],tn=[1,108],sn=[1,102],be=[1,103],Ne=[1,104],Xt=[1,105],_e=[1,106],xe=[1,107],Mn=[1,109],ce=[1,8,9,37,39,42],Br=[1,8,9,21],we=[1,8,9,78],Fi=[1,8,9,21,73,74,78,80,81,82,83,84,85],mi={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(br,An,Nn,Bn,ke,pe,Je){var an=pe.length-1;switch(ke){case 8:this.$=pe[an-1];break;case 9:case 11:case 12:this.$=pe[an];break;case 10:case 13:this.$=pe[an-1]+pe[an];break;case 14:case 15:this.$=pe[an-1]+"~"+pe[an]+"~";break;case 16:Bn.addRelation(pe[an]);break;case 17:pe[an-1].title=Bn.cleanupLabel(pe[an]),Bn.addRelation(pe[an-1]);break;case 27:this.$=pe[an].trim(),Bn.setAccTitle(this.$);break;case 28:case 29:this.$=pe[an].trim(),Bn.setAccDescription(this.$);break;case 30:Bn.addClassesToNamespace(pe[an-3],pe[an-1]);break;case 31:Bn.addClassesToNamespace(pe[an-4],pe[an-1]);break;case 32:this.$=pe[an],Bn.addNamespace(pe[an]);break;case 33:this.$=[pe[an]];break;case 34:this.$=[pe[an-1]];break;case 35:pe[an].unshift(pe[an-2]),this.$=pe[an];break;case 37:Bn.setCssClass(pe[an-2],pe[an]);break;case 38:Bn.addMembers(pe[an-3],pe[an-1]);break;case 39:Bn.setCssClass(pe[an-5],pe[an-3]),Bn.addMembers(pe[an-5],pe[an-1]);break;case 40:this.$=pe[an],Bn.addClass(pe[an]);break;case 41:this.$=pe[an-1],Bn.addClass(pe[an-1]),Bn.setClassLabel(pe[an-1],pe[an]);break;case 42:Bn.addAnnotation(pe[an],pe[an-2]);break;case 43:this.$=[pe[an]];break;case 44:pe[an].push(pe[an-1]),this.$=pe[an];break;case 45:break;case 46:Bn.addMember(pe[an-1],Bn.cleanupLabel(pe[an]));break;case 47:break;case 48:break;case 49:this.$={id1:pe[an-2],id2:pe[an],relation:pe[an-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:pe[an-3],id2:pe[an],relation:pe[an-1],relationTitle1:pe[an-2],relationTitle2:"none"};break;case 51:this.$={id1:pe[an-3],id2:pe[an],relation:pe[an-2],relationTitle1:"none",relationTitle2:pe[an-1]};break;case 52:this.$={id1:pe[an-4],id2:pe[an],relation:pe[an-2],relationTitle1:pe[an-3],relationTitle2:pe[an-1]};break;case 53:Bn.addNote(pe[an],pe[an-1]);break;case 54:Bn.addNote(pe[an]);break;case 55:Bn.setDirection("TB");break;case 56:Bn.setDirection("BT");break;case 57:Bn.setDirection("RL");break;case 58:Bn.setDirection("LR");break;case 59:this.$={type1:pe[an-2],type2:pe[an],lineType:pe[an-1]};break;case 60:this.$={type1:"none",type2:pe[an],lineType:pe[an-1]};break;case 61:this.$={type1:pe[an-1],type2:"none",lineType:pe[an]};break;case 62:this.$={type1:"none",type2:"none",lineType:pe[an]};break;case 63:this.$=Bn.relationType.AGGREGATION;break;case 64:this.$=Bn.relationType.EXTENSION;break;case 65:this.$=Bn.relationType.COMPOSITION;break;case 66:this.$=Bn.relationType.DEPENDENCY;break;case 67:this.$=Bn.relationType.LOLLIPOP;break;case 68:this.$=Bn.lineType.LINE;break;case 69:this.$=Bn.lineType.DOTTED_LINE;break;case 70:case 76:this.$=pe[an-2],Bn.setClickEvent(pe[an-1],pe[an]);break;case 71:case 77:this.$=pe[an-3],Bn.setClickEvent(pe[an-2],pe[an-1]),Bn.setTooltip(pe[an-2],pe[an]);break;case 72:this.$=pe[an-2],Bn.setLink(pe[an-1],pe[an]);break;case 73:this.$=pe[an-3],Bn.setLink(pe[an-2],pe[an-1],pe[an]);break;case 74:this.$=pe[an-3],Bn.setLink(pe[an-2],pe[an-1]),Bn.setTooltip(pe[an-2],pe[an]);break;case 75:this.$=pe[an-4],Bn.setLink(pe[an-3],pe[an-2],pe[an]),Bn.setTooltip(pe[an-3],pe[an-1]);break;case 78:this.$=pe[an-3],Bn.setClickEvent(pe[an-2],pe[an-1],pe[an]);break;case 79:this.$=pe[an-4],Bn.setClickEvent(pe[an-3],pe[an-2],pe[an-1]),Bn.setTooltip(pe[an-3],pe[an]);break;case 80:this.$=pe[an-3],Bn.setLink(pe[an-2],pe[an]);break;case 81:this.$=pe[an-4],Bn.setLink(pe[an-3],pe[an-1],pe[an]);break;case 82:this.$=pe[an-4],Bn.setLink(pe[an-3],pe[an-1]),Bn.setTooltip(pe[an-3],pe[an]);break;case 83:this.$=pe[an-5],Bn.setLink(pe[an-4],pe[an-2],pe[an]),Bn.setTooltip(pe[an-4],pe[an-1]);break;case 84:this.$=pe[an-2],Bn.setCssStyle(pe[an-1],pe[an]);break;case 85:Bn.setCssClass(pe[an-1],pe[an]);break;case 86:this.$=[pe[an]];break;case 87:pe[an-2].push(pe[an]),this.$=pe[an-2];break;case 89:this.$=pe[an-1]+pe[an];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:a,33:f,35:g,36:21,40:w,41:22,44:v,45:b,47:E,48:S,50:_,52:M,53:F,54:R,55:B,56:z,66:Y,67:nt,69:ot,73:ft,74:wt,76:mt,80:ct,95:rt,97:it,98:gt},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},i(Q,[2,5],{8:[1,46]}),{8:[1,47]},i(dt,[2,16],{21:[1,48]}),i(dt,[2,18]),i(dt,[2,19]),i(dt,[2,20]),i(dt,[2,21]),i(dt,[2,22]),i(dt,[2,23]),i(dt,[2,24]),i(dt,[2,25]),i(dt,[2,26]),{32:[1,49]},{34:[1,50]},i(dt,[2,29]),i(dt,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:K,60:yt,61:V,62:Ot,63:It,64:jt,65:xt}),{37:[1,63]},i(Ft,[2,36],{37:[1,65],42:[1,64]}),i(dt,[2,47]),i(dt,[2,48]),{16:66,74:wt,80:ct,95:rt,97:it},{16:37,17:67,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{16:37,17:68,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{16:37,17:69,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{13:Ct,51:73},i(dt,[2,55]),i(dt,[2,56]),i(dt,[2,57]),i(dt,[2,58]),i(kt,[2,11],{16:37,18:38,17:75,19:[1,76],74:wt,80:ct,95:rt,97:it,98:gt}),i(kt,[2,12],{19:[1,77]}),{15:78,16:79,74:wt,80:ct,95:rt,97:it},{16:37,17:80,18:38,74:wt,80:ct,95:rt,97:it,98:gt},i(Gt,[2,112]),i(Gt,[2,113]),i(Gt,[2,114]),i(Gt,[2,115]),i([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),i(Q,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:a,33:f,35:g,40:w,44:v,45:b,47:E,48:S,50:_,52:M,53:F,54:R,55:B,56:z,66:Y,67:nt,69:ot,73:ft,74:wt,76:mt,80:ct,95:rt,97:it,98:gt}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:a,33:f,35:g,36:21,40:w,41:22,44:v,45:b,47:E,48:S,50:_,52:M,53:F,54:R,55:B,56:z,66:Y,67:nt,69:ot,73:ft,74:wt,76:mt,80:ct,95:rt,97:it,98:gt},i(dt,[2,17]),i(dt,[2,27]),i(dt,[2,28]),{13:[1,84],16:37,17:83,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{49:85,57:54,58:55,59:K,60:yt,61:V,62:Ot,63:It,64:jt,65:xt},i(dt,[2,46]),{58:86,64:jt,65:xt},i(Fe,[2,62],{57:87,59:K,60:yt,61:V,62:Ot,63:It}),i(Mt,[2,63]),i(Mt,[2,64]),i(Mt,[2,65]),i(Mt,[2,66]),i(Mt,[2,67]),i(pn,[2,68]),i(pn,[2,69]),{8:[1,89],23:90,38:88,41:22,44:v},{16:91,74:wt,80:ct,95:rt,97:it},{43:92,47:Ae},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:ye,73:tn,74:sn,75:99,77:100,79:101,80:be,81:Ne,82:Xt,83:_e,84:xe,85:Mn},{74:[1,111]},{13:Ct,51:112},i(dt,[2,54]),i(dt,[2,117]),i(kt,[2,13]),i(kt,[2,14]),i(kt,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:wt,80:ct,95:rt,97:it},i(ce,[2,40],{11:114,12:[1,115]}),i(Q,[2,7]),{9:[1,116]},i(Br,[2,49]),{16:37,17:117,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{13:[1,119],16:37,17:118,18:38,74:wt,80:ct,95:rt,97:it,98:gt},i(Fe,[2,61],{57:120,59:K,60:yt,61:V,62:Ot,63:It}),i(Fe,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:v},{8:[1,123],39:[2,33]},i(Ft,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:Ae},{16:37,17:127,18:38,74:wt,80:ct,95:rt,97:it,98:gt},i(dt,[2,70],{13:[1,128]}),i(dt,[2,72],{13:[1,130],68:[1,129]}),i(dt,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},i(dt,[2,84],{78:[1,134]}),i(we,[2,86],{79:135,21:ye,73:tn,74:sn,80:be,81:Ne,82:Xt,83:_e,84:xe,85:Mn}),i(Fi,[2,88]),i(Fi,[2,90]),i(Fi,[2,91]),i(Fi,[2,92]),i(Fi,[2,93]),i(Fi,[2,94]),i(Fi,[2,95]),i(Fi,[2,96]),i(Fi,[2,97]),i(Fi,[2,98]),i(dt,[2,85]),i(dt,[2,53]),{37:[2,10]},i(ce,[2,41]),{13:[1,136]},{1:[2,4]},i(Br,[2,51]),i(Br,[2,50]),{16:37,17:137,18:38,74:wt,80:ct,95:rt,97:it,98:gt},i(Fe,[2,59]),i(dt,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:v},{43:140,47:Ae},i(Ft,[2,38]),{39:[2,44]},i(dt,[2,42]),i(dt,[2,71]),i(dt,[2,73]),i(dt,[2,74],{68:[1,141]}),i(dt,[2,77]),i(dt,[2,78],{13:[1,142]}),i(dt,[2,80],{13:[1,144],68:[1,143]}),{21:ye,73:tn,74:sn,77:145,79:101,80:be,81:Ne,82:Xt,83:_e,84:xe,85:Mn},i(Fi,[2,89]),{14:[1,146]},i(Br,[2,52]),i(dt,[2,31]),{39:[2,35]},{39:[1,147]},i(dt,[2,75]),i(dt,[2,79]),i(dt,[2,81]),i(dt,[2,82],{68:[1,148]}),i(we,[2,87],{79:135,21:ye,73:tn,74:sn,80:be,81:Ne,82:Xt,83:_e,84:xe,85:Mn}),i(ce,[2,8]),i(Ft,[2,39]),i(dt,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(br,An){if(An.recoverable)this.trace(br);else{var Nn=new Error(br);throw Nn.hash=An,Nn}},parse:function(br){var An=this,Nn=[0],Bn=[],ke=[null],pe=[],Je=this.table,an="",xn=0,qa=0,xo=2,ko=1,va=pe.slice.call(arguments,1),Ha=Object.create(this.lexer),ds={yy:{}};for(var Fu in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Fu)&&(ds.yy[Fu]=this.yy[Fu]);Ha.setInput(br,ds.yy),ds.yy.lexer=Ha,ds.yy.parser=this,typeof Ha.yylloc>"u"&&(Ha.yylloc={});var Zs=Ha.yylloc;pe.push(Zs);var d1=Ha.options&&Ha.options.ranges;typeof ds.yy.parseError=="function"?this.parseError=ds.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I2(){var ea;return ea=Bn.pop()||Ha.lex()||ko,typeof ea!="number"&&(ea instanceof Array&&(Bn=ea,ea=Bn.pop()),ea=An.symbols_[ea]||ea),ea}for(var ll,Ic,wc,Ea,gu={},ta,fo,mc,ca;;){if(Ic=Nn[Nn.length-1],this.defaultActions[Ic]?wc=this.defaultActions[Ic]:((ll===null||typeof ll>"u")&&(ll=I2()),wc=Je[Ic]&&Je[Ic][ll]),typeof wc>"u"||!wc.length||!wc[0]){var ya="";ca=[];for(ta in Je[Ic])this.terminals_[ta]&&ta>xo&&ca.push("'"+this.terminals_[ta]+"'");Ha.showPosition?ya="Parse error on line "+(xn+1)+`:
1349 endInLayerEdge=`,tu(e,this.c),e.a},I(i0,"BreakingPointInserter/BPInfo",313),D(661,1,{661:1},wUt),l.a=!1,l.b=0,l.c=0,I(i0,"BreakingPointInserter/Cut",661),D(1545,1,zi,MJ),l.Kf=function(e,n){m6n(u(e,36),n)},I(i0,"BreakingPointProcessor",1545),D(1546,1,Kr,IJ),l.Mb=function(e){return Bae(u(e,10))},I(i0,"BreakingPointProcessor/0methodref$isEnd$Type",1546),D(1547,1,Kr,OJ),l.Mb=function(e){return Rae(u(e,10))},I(i0,"BreakingPointProcessor/1methodref$isStart$Type",1547),D(1548,1,zi,NJ),l.Kf=function(e,n){$6n(this,u(e,36),n)},I(i0,"BreakingPointRemover",1548),D(1549,1,ir,PJ),l.Cd=function(e){u(e,131).k=!0},I(i0,"BreakingPointRemover/lambda$0$Type",1549),D(811,1,{},q6t),l.b=0,l.e=0,l.f=0,l.j=0,I(i0,"GraphStats",811),D(812,1,{},bR),l.Ve=function(e,n){return b.Math.max(Rt(Ht(e)),Rt(Ht(n)))},I(i0,"GraphStats/0methodref$max$Type",812),D(813,1,{},wR),l.Ve=function(e,n){return b.Math.max(Rt(Ht(e)),Rt(Ht(n)))},I(i0,"GraphStats/2methodref$max$Type",813),D(1726,1,{},FJ),l.Ve=function(e,n){return zcn(Ht(e),Ht(n))},I(i0,"GraphStats/lambda$1$Type",1726),D(1727,1,{},cUt),l.Kb=function(e){return Hle(this.a,u(e,30))},I(i0,"GraphStats/lambda$2$Type",1727),D(1728,1,{},uUt),l.Kb=function(e){return Pde(this.a,u(e,30))},I(i0,"GraphStats/lambda$6$Type",1728),D(814,1,{},mR),l.og=function(e,n){var r;return r=u(X(e,(De(),wAt)),15),r||(mn(),mn(),co)},l.pg=function(){return!1},I(i0,"ICutIndexCalculator/ManualCutIndexCalculator",814),D(816,1,{},vR),l.og=function(e,n){var r,s,o,h,d,m,k,T,A,P,$,U,J,tt,ht,Tt,At,Bt,Wt;for(Wt=(n.n==null&&whe(n),n.n),k=(n.d==null&&whe(n),n.d),Bt=Vt(ma,No,28,Wt.length,15,1),Bt[0]=Wt[0],Tt=Wt[0],T=1;T<Wt.length;T++)Bt[T]=Bt[T-1]+Wt[T],Tt+=Wt[T];for(o=Bfe(n)-1,d=u(X(e,(De(),mAt)),17).a,s=Vs,r=new fe,$=b.Math.max(0,o-d);$<=b.Math.min(n.f-1,o+d);$++){if(tt=Tt/($+1),ht=0,A=1,h=new fe,At=Vs,P=0,m=0,J=k[0],$==0)At=Tt,m=(n.g==null&&(n.g=nce(n,new wR)),Rt(n.g));else{for(;A<n.f;)Bt[A-1]-ht>=tt&&(ge(h,he(A)),At=b.Math.max(At,Bt[A-1]-P),m+=J,ht+=Bt[A-1]-ht,P=Bt[A-1],J=k[A]),J=b.Math.max(J,k[A]),++A;m+=J}U=b.Math.min(1/At,1/n.b/m),U>s&&(s=U,r=h)}return r},l.pg=function(){return!1},I(i0,"MSDCutIndexHeuristic",816),D(1683,1,zi,BJ),l.Kf=function(e,n){A7n(u(e,36),n)},I(i0,"SingleEdgeGraphWrapper",1683),D(232,22,{3:1,34:1,22:1,232:1},oS);var j5,kT,ET,T3,SA,$5,TT=Lr(Hc,"CenterEdgeLabelPlacementStrategy",232,Pr,d0n,pon),U4e;D(431,22,{3:1,34:1,22:1,431:1},Kwt);var kSt,Aft,ESt=Lr(Hc,"ConstraintCalculationStrategy",431,Pr,Ohn,bon),G4e;D(322,22,{3:1,34:1,22:1,322:1,188:1,196:1},xrt),l.dg=function(){return y1e(this)},l.qg=function(){return y1e(this)};var QN,_A,TSt,CSt=Lr(Hc,"CrossingMinimizationStrategy",322,Pr,_fn,won),K4e;D(351,22,{3:1,34:1,22:1,351:1},krt);var SSt,Lft,yG,_St=Lr(Hc,"CuttingStrategy",351,Pr,Afn,mon),W4e;D(348,22,{3:1,34:1,22:1,348:1,188:1,196:1},VM),l.dg=function(){return lde(this)},l.qg=function(){return lde(this)};var ASt,Dft,CT,Mft,ST,LSt=Lr(Hc,"CycleBreakingStrategy",348,Pr,Mdn,von),Y4e;D(428,22,{3:1,34:1,22:1,428:1},Wwt);var xG,DSt,MSt=Lr(Hc,"DirectionCongruency",428,Pr,Ihn,yon),X4e;D(459,22,{3:1,34:1,22:1,459:1},Ert);var _T,Ift,z5,Q4e=Lr(Hc,"EdgeConstraint",459,Pr,Lfn,_on),J4e;D(283,22,{3:1,34:1,22:1,283:1},cS);var Oft,Nft,Pft,Fft,kG,Bft,ISt=Lr(Hc,"EdgeLabelSideSelection",283,Pr,l0n,Aon),Z4e;D(487,22,{3:1,34:1,22:1,487:1},Ywt);var EG,OSt,NSt=Lr(Hc,"EdgeStraighteningStrategy",487,Pr,Mhn,Lon),t5e;D(281,22,{3:1,34:1,22:1,281:1},uS);var Rft,PSt,FSt,TG,BSt,RSt,jSt=Lr(Hc,"FixedAlignment",281,Pr,h0n,Son),e5e;D(282,22,{3:1,34:1,22:1,282:1},lS);var $St,zSt,qSt,HSt,AA,VSt,USt=Lr(Hc,"GraphCompactionStrategy",282,Pr,f0n,xon),n5e;D(259,22,{3:1,34:1,22:1,259:1},ky);var AT,CG,LT,Uh,LA,SG,DT,q5,_G,DA,jft=Lr(Hc,"GraphProperties",259,Pr,Xgn,kon),r5e;D(298,22,{3:1,34:1,22:1,298:1},Trt);var JN,$ft,zft,qft=Lr(Hc,"GreedySwitchType",298,Pr,Dfn,Eon),i5e;D(311,22,{3:1,34:1,22:1,311:1},Crt);var qk,ZN,H5,s5e=Lr(Hc,"InLayerConstraint",311,Pr,Mfn,Ton),a5e;D(429,22,{3:1,34:1,22:1,429:1},Xwt);var Hft,GSt,KSt=Lr(Hc,"InteractiveReferencePoint",429,Pr,jhn,Con),o5e,WSt,Hk,vv,AG,YSt,XSt,LG,QSt,tP,DG,MA,Vk,$g,Vft,MG,Dc,JSt,i2,lu,Uft,Gft,eP,Aw,yv,Uk,ZSt,Gk,nP,C3,N1,gf,Kft,V5,Pi,Li,t_t,e_t,n_t,r_t,i_t,Wft,IG,ml,xv,Yft,Kk,IA,vd,U5,kv,G5,K5,MT,Lw,s_t,Xft,Qft,Wk;D(171,22,{3:1,34:1,22:1,171:1},UM);var OA,s2,NA,S3,rP,a_t=Lr(Hc,"LayerConstraint",171,Pr,Odn,Don),c5e;D(859,1,uf,Qet),l.hf=function(e){Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,nEt),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),b_t),(Fp(),ts)),MSt),en((D1(),_n))))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,rEt),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(Pn(),!1)),oa),ys),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,BV),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),k_t),ts),KSt),en(_n)))),Bs(e,BV,Hut,nxe),Bs(e,BV,Z_,exe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,iEt),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),oa),ys),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,sEt),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),oa),ys),en(_n)))),Qe(e,new He(krn(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,aEt),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),oa),ys),en(Bw)),lt(ut(Pe,1),ue,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,oEt),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),D_t),ts),jAt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,cEt),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),he(7)),ac),Ra),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,uEt),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),oa),ys),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,lEt),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),oa),ys),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Hut),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),p_t),ts),LSt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,kN),dlt),"Node Layering Strategy"),"Strategy for node layering."),C_t),ts),_At),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,hEt),dlt),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),E_t),ts),a_t),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,fEt),dlt),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),ac),Ra),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,dEt),dlt),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),he(-1)),ac),Ra),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Vut),I2e),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),he(4)),ac),Ra),en(_n)))),Bs(e,Vut,kN,uxe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Uut),I2e),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),he(2)),ac),Ra),en(_n)))),Bs(e,Uut,kN,hxe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Gut),O2e),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),T_t),ts),FAt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Kut),O2e),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),he(0)),ac),Ra),en(_n)))),Bs(e,Kut,Gut,null),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Wut),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),he(xi)),ac),Ra),en(_n)))),Bs(e,Wut,kN,ixe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Z_),iT),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),g_t),ts),CSt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,gEt),iT),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),oa),ys),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Yut),iT),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),Wa),zs),en(_n)))),Bs(e,Yut,XV,A5e),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Xut),iT),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),oa),ys),en(_n)))),Bs(e,Xut,Z_,N5e),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,pEt),iT),"In Layer Predecessor of"),"Allows to set a constraint which specifies of which node the current node is the predecessor. If set to 's' then the node is the predecessor of 's' and is in the same layer"),null),ix),Pe),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,bEt),iT),"In Layer Successor of"),"Allows to set a constraint which specifies of which node the current node is the successor. If set to 's' then the node is the successor of 's' and is in the same layer"),null),ix),Pe),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,wEt),iT),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),ac),Ra),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,mEt),iT),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),he(-1)),ac),Ra),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,vEt),N2e),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),he(40)),ac),Ra),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Qut),N2e),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),d_t),ts),qft),en(_n)))),Bs(e,Qut,Z_,S5e),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,RV),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),f_t),ts),qft),en(_n)))),Bs(e,RV,Z_,E5e),Bs(e,RV,XV,T5e),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,A5),P2e),"Node Placement Strategy"),"Strategy for node placement."),L_t),ts),MAt),en(_n)))),Qe(e,new He(Ye(We(Xe(Ve(Ke(Ue(Ge(new je,jV),P2e),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),oa),ys),en(_n)))),Bs(e,jV,A5,kxe),Bs(e,jV,A5,Exe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Jut),F2e),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),S_t),ts),NSt),en(_n)))),Bs(e,Jut,A5,mxe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Zut),F2e),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),__t),ts),jSt),en(_n)))),Bs(e,Zut,A5,yxe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,tlt),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),Wa),zs),en(_n)))),Bs(e,tlt,A5,Cxe),Qe(e,new He(Ye(We(Xe(Ve(Ke(Ue(Ge(new je,elt),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),ts),v1t),en(Qs)))),Bs(e,elt,A5,Lxe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,nlt),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),A_t),ts),v1t),en(_n)))),Bs(e,nlt,A5,Axe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,yEt),B2e),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),v_t),ts),qAt),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,xEt),B2e),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),y_t),ts),HAt),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,$V),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),x_t),ts),UAt),en(_n)))),Bs(e,$V,EN,U5e),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,zV),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),Wa),zs),en(_n)))),Bs(e,zV,EN,K5e),Bs(e,zV,$V,W5e),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,rlt),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),Wa),zs),en(_n)))),Bs(e,rlt,EN,z5e),Qe(e,new He(Ye(We(Xe(Ve(Ke(Ue(Ge(new je,kEt),bd),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),Wa),zs),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,EEt),bd),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),Wa),zs),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,TEt),bd),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),Wa),zs),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,CEt),bd),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),Wa),zs),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,SEt),FEt),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),he(0)),ac),Ra),en(f0)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,_Et),FEt),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),he(0)),ac),Ra),en(f0)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,AEt),FEt),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),he(0)),ac),Ra),en(f0)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,ilt),BEt),Zbe),"Tries to further compact components (disconnected sub-graphs)."),!1),oa),ys),en(_n)))),Bs(e,ilt,W_,!0),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,LEt),R2e),"Post Compaction Strategy"),j2e),c_t),ts),USt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,DEt),R2e),"Post Compaction Constraint Calculation"),j2e),o_t),ts),ESt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,qV),REt),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),oa),ys),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,slt),REt),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),he(16)),ac),Ra),en(_n)))),Bs(e,slt,qV,!0),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,alt),REt),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),he(5)),ac),Ra),en(_n)))),Bs(e,alt,qV,!0),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Bg),jEt),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),O_t),ts),YAt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,HV),jEt),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),Wa),zs),en(_n)))),Bs(e,HV,Bg,qxe),Bs(e,HV,Bg,Hxe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,VV),jEt),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),Wa),zs),en(_n)))),Bs(e,VV,Bg,Uxe),Bs(e,VV,Bg,Gxe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,tA),$2e),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),I_t),ts),_St),en(_n)))),Bs(e,tA,Bg,Jxe),Bs(e,tA,Bg,Zxe),Qe(e,new He(Ye(We(Xe(Ve(Ke(Ue(Ge(new je,olt),$2e),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),xd),Vh),en(_n)))),Bs(e,olt,tA,Wxe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,clt),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),M_t),ac),Ra),en(_n)))),Bs(e,clt,tA,Xxe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,UV),z2e),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),N_t),ts),WAt),en(_n)))),Bs(e,UV,Bg,h6e),Bs(e,UV,Bg,f6e),Qe(e,new He(Ye(We(Xe(Ve(Ke(Ue(Ge(new je,GV),z2e),"Valid Indices for Wrapping"),null),xd),Vh),en(_n)))),Bs(e,GV,Bg,c6e),Bs(e,GV,Bg,u6e),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,KV),$Et),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),oa),ys),en(_n)))),Bs(e,KV,Bg,r6e),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,WV),$Et),"Distance Penalty When Improving Cuts"),null),2),Wa),zs),en(_n)))),Bs(e,WV,Bg,e6e),Bs(e,WV,KV,!0),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,ult),$Et),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),oa),ys),en(_n)))),Bs(e,ult,Bg,s6e),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,MEt),glt),"Edge Label Side Selection"),"Method to decide on edge label sides."),m_t),ts),ISt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,IEt),glt),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),w_t),ts),TT),Hi(_n,lt(ut(G0,1),te,170,0,[Wp]))))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,YV),eA),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),h_t),ts),RAt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,OEt),eA),"Consider Port Order"),"If disabled the port order of output ports is derived from the edge order and input ports are ordered by their incoming connections. If enabled all ports are ordered by the port model order."),!1),oa),ys),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,NEt),eA),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),oa),ys),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,llt),eA),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),u_t),ts),LCt),en(_n)))),Bs(e,llt,W_,null),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,PEt),eA),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),l_t),ts),LAt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,hlt),eA),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),Wa),zs),en(_n)))),Bs(e,hlt,YV,null),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,flt),eA),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),Wa),zs),en(_n)))),Bs(e,flt,YV,null),ibe((new Jet,e))};var u5e,l5e,h5e,o_t,f5e,c_t,d5e,u_t,g5e,p5e,b5e,l_t,w5e,m5e,v5e,h_t,y5e,x5e,k5e,f_t,E5e,T5e,C5e,d_t,S5e,_5e,A5e,L5e,D5e,M5e,I5e,O5e,N5e,P5e,g_t,F5e,p_t,B5e,b_t,R5e,w_t,j5e,m_t,$5e,z5e,q5e,v_t,H5e,y_t,V5e,x_t,U5e,G5e,K5e,W5e,Y5e,X5e,Q5e,J5e,Z5e,txe,k_t,exe,nxe,rxe,ixe,sxe,axe,E_t,oxe,cxe,uxe,lxe,hxe,fxe,dxe,T_t,gxe,C_t,pxe,bxe,wxe,S_t,mxe,vxe,__t,yxe,xxe,kxe,Exe,Txe,Cxe,Sxe,_xe,A_t,Axe,Lxe,Dxe,L_t,Mxe,D_t,Ixe,Oxe,Nxe,Pxe,Fxe,Bxe,Rxe,jxe,$xe,zxe,qxe,Hxe,Vxe,Uxe,Gxe,Kxe,Wxe,Yxe,M_t,Xxe,Qxe,I_t,Jxe,Zxe,t6e,e6e,n6e,r6e,i6e,s6e,a6e,O_t,o6e,c6e,u6e,l6e,N_t,h6e,f6e;I(Hc,"LayeredMetaDataProvider",859),D(998,1,uf,Jet),l.hf=function(e){ibe(e)};var u0,Jft,OG,PA,NG,P_t,PG,_3,FG,F_t,B_t,BG,Zft,U0,t1t,Ev,R_t,iP,e1t,j_t,d6e,g6e,p6e,RG,n1t,FA,Dw,b6e,ph,$_t,z_t,jG,r1t,l0,$G,zg,q_t,H_t,V_t,i1t,s1t,U_t,Hp,a1t,G_t,A3,K_t,W_t,Y_t,zG,L3,Mw,X_t,Q_t,Vo,J_t,w6e,Iu,qG,Z_t,tAt,eAt,a2,Iw,HG,nAt,rAt,VG,Tv,iAt,o1t,BA,sAt,Cv,RA,UG,Ow,c1t,IT,GG,Nw,aAt,oAt,cAt,OT,uAt,m6e,v6e,y6e,x6e,Sv,D3,bs,Vp,k6e,M3,lAt,NT,hAt,I3,E6e,PT,fAt,Yk,T6e,C6e,sP,u1t,dAt,aP,Yf,W5,Y5,_v,Pw,KG,O3,l1t,FT,BT,Av,X5,h1t,oP,jA,$A,S6e,_6e,A6e,gAt,L6e,f1t,pAt,bAt,wAt,mAt,d1t,vAt,yAt,xAt,kAt,g1t,WG;I(Hc,"LayeredOptions",998),D(999,1,{},RJ),l.sf=function(){var e;return e=new EKt,e},l.tf=function(e){},I(Hc,"LayeredOptions/LayeredFactory",999),D(1391,1,{}),l.a=0;var D6e;I(_c,"ElkSpacings/AbstractSpacingsBuilder",1391),D(792,1391,{},V5t);var YG,M6e;I(Hc,"LayeredSpacings/LayeredSpacingsBuilder",792),D(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},F4),l.dg=function(){return v0e(this)},l.qg=function(){return v0e(this)};var RT,p1t,jT,EAt,TAt,CAt,XG,b1t,SAt,_At=Lr(Hc,"LayeringStrategy",265,Pr,Sgn,Mon),I6e;D(390,22,{3:1,34:1,22:1,390:1},Srt);var w1t,AAt,QG,LAt=Lr(Hc,"LongEdgeOrderingStrategy",390,Pr,Ifn,Ion),O6e;D(203,22,{3:1,34:1,22:1,203:1},$$);var Q5,J5,JG,m1t,v1t=Lr(Hc,"NodeFlexibility",203,Pr,z1n,Oon),N6e;D(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},GM),l.dg=function(){return ude(this)},l.qg=function(){return ude(this)};var zA,y1t,x1t,qA,DAt,MAt=Lr(Hc,"NodePlacementStrategy",323,Pr,Idn,Non),P6e;D(243,22,{3:1,34:1,22:1,243:1},Ey);var IAt,Lv,N3,cP,OAt,NAt,uP,PAt,ZG,tK,FAt=Lr(Hc,"NodePromotionStrategy",243,Pr,Qgn,Pon),F6e;D(284,22,{3:1,34:1,22:1,284:1},z$);var BAt,Up,k1t,E1t,RAt=Lr(Hc,"OrderingStrategy",284,Pr,q1n,Fon),B6e;D(430,22,{3:1,34:1,22:1,430:1},Qwt);var T1t,C1t,jAt=Lr(Hc,"PortSortingStrategy",430,Pr,Nhn,Bon),R6e;D(462,22,{3:1,34:1,22:1,462:1},_rt);var vl,ku,HA,j6e=Lr(Hc,"PortType",462,Pr,Ofn,Ron),$6e;D(387,22,{3:1,34:1,22:1,387:1},Art);var $At,S1t,zAt,qAt=Lr(Hc,"SelfLoopDistributionStrategy",387,Pr,Nfn,jon),z6e;D(349,22,{3:1,34:1,22:1,349:1},Lrt);var _1t,lP,A1t,HAt=Lr(Hc,"SelfLoopOrderingStrategy",349,Pr,Pfn,$on),q6e;D(312,1,{312:1},epe),I(Hc,"Spacings",312),D(350,22,{3:1,34:1,22:1,350:1},Drt);var L1t,VAt,VA,UAt=Lr(Hc,"SplineRoutingMode",350,Pr,Ffn,zon),H6e;D(352,22,{3:1,34:1,22:1,352:1},Mrt);var D1t,GAt,KAt,WAt=Lr(Hc,"ValidifyStrategy",352,Pr,Bfn,qon),V6e;D(388,22,{3:1,34:1,22:1,388:1},Irt);var P3,M1t,$T,YAt=Lr(Hc,"WrappingStrategy",388,Pr,Rfn,Hon),U6e;D(1398,1,_o,Ket),l.rg=function(e){return u(e,36),G6e},l.Kf=function(e,n){kTn(this,u(e,36),n)};var G6e;I(tU,"DepthFirstCycleBreaker",1398),D(793,1,_o,lyt),l.rg=function(e){return u(e,36),K6e},l.Kf=function(e,n){CSn(this,u(e,36),n)},l.sg=function(e){return u(Oe(e,MH(this.d,e.c.length)),10)};var K6e;I(tU,"GreedyCycleBreaker",793),D(1401,793,_o,vQt),l.sg=function(e){var n,r,s,o;for(o=null,n=xi,s=new G(e);s.a<s.c.c.length;)r=u(et(s),10),qi(r,(oe(),Pi))&&u(X(r,Pi),17).a<n&&(n=u(X(r,Pi),17).a,o=r);return o||u(Oe(e,MH(this.d,e.c.length)),10)},I(tU,"GreedyModelOrderCycleBreaker",1401),D(1399,1,_o,Mj),l.rg=function(e){return u(e,36),W6e},l.Kf=function(e,n){MTn(this,u(e,36),n)};var W6e;I(tU,"InteractiveCycleBreaker",1399),D(1400,1,_o,g6),l.rg=function(e){return u(e,36),Y6e},l.Kf=function(e,n){zTn(this,u(e,36),n)},l.a=0,l.b=0;var Y6e;I(tU,"ModelOrderCycleBreaker",1400),D(1413,1,_o,Dj),l.rg=function(e){return u(e,36),X6e},l.Kf=function(e,n){DCn(this,u(e,36),n)};var X6e;I(Rg,"BreadthFirstModelOrderLayerer",1413),D(1414,1,Xr,jJ),l.Ne=function(e,n){return e5n(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Rg,"BreadthFirstModelOrderLayerer/lambda$0$Type",1414),D(1404,1,_o,GYt),l.rg=function(e){return u(e,36),Q6e},l.Kf=function(e,n){DSn(this,u(e,36),n)};var Q6e;I(Rg,"CoffmanGrahamLayerer",1404),D(1405,1,Xr,lUt),l.Ne=function(e,n){return z5n(this.a,u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Rg,"CoffmanGrahamLayerer/0methodref$compareNodesInTopo$Type",1405),D(1406,1,Xr,hUt),l.Ne=function(e,n){return zun(this.a,u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Rg,"CoffmanGrahamLayerer/lambda$1$Type",1406),D(1415,1,_o,vM),l.rg=function(e){return u(e,36),J6e},l.Kf=function(e,n){wSn(this,u(e,36),n)},l.c=0,l.e=0;var J6e;I(Rg,"DepthFirstModelOrderLayerer",1415),D(1416,1,Xr,$J),l.Ne=function(e,n){return n5n(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Rg,"DepthFirstModelOrderLayerer/lambda$0$Type",1416),D(1407,1,_o,zJ),l.rg=function(e){return u(e,36),ri(ri(ri(new Fs,(Ua(),Wf),(Za(),gft)),H0,E3),Qc,k3)},l.Kf=function(e,n){HCn(u(e,36),n)},I(Rg,"InteractiveLayerer",1407),D(578,1,{578:1},_Kt),l.a=0,l.c=0,I(Rg,"InteractiveLayerer/LayerSpan",578),D(1403,1,_o,NC),l.rg=function(e){return u(e,36),Z6e},l.Kf=function(e,n){wkn(this,u(e,36),n)};var Z6e;I(Rg,"LongestPathLayerer",1403),D(1412,1,_o,OC),l.rg=function(e){return u(e,36),tke},l.Kf=function(e,n){zkn(this,u(e,36),n)};var tke;I(Rg,"LongestPathSourceLayerer",1412),D(1410,1,_o,yM),l.rg=function(e){return u(e,36),ri(ri(ri(new Fs,(Ua(),Wf),(Za(),B5)),H0,E3),Qc,k3)},l.Kf=function(e,n){JCn(this,u(e,36),n)},l.a=0,l.b=0,l.d=0;var XAt,QAt;I(Rg,"MinWidthLayerer",1410),D(1411,1,Xr,fUt),l.Ne=function(e,n){return vpn(this,u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Rg,"MinWidthLayerer/MinOutgoingEdgesComparator",1411),D(1402,1,_o,Wet),l.rg=function(e){return u(e,36),eke},l.Kf=function(e,n){f9n(this,u(e,36),n)};var eke;I(Rg,"NetworkSimplexLayerer",1402),D(1408,1,_o,yZt),l.rg=function(e){return u(e,36),ri(ri(ri(new Fs,(Ua(),Wf),(Za(),B5)),H0,E3),Qc,k3)},l.Kf=function(e,n){X9n(this,u(e,36),n)},l.d=0,l.f=0,l.g=0,l.i=0,l.s=0,l.t=0,l.u=0,I(Rg,"StretchWidthLayerer",1408),D(1409,1,Xr,qJ),l.Ne=function(e,n){return Xdn(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Rg,"StretchWidthLayerer/1",1409),D(413,1,x7t),l.gg=function(e,n,r,s,o,h){},l.ug=function(e,n,r){return G0e(this,e,n,r)},l.fg=function(){this.g=Vt(Y3,H2e,28,this.d,15,1),this.f=Vt(Y3,H2e,28,this.d,15,1)},l.hg=function(e,n){this.e[e]=Vt(Fr,ii,28,n[e].length,15,1)},l.ig=function(e,n,r){var s;s=r[e][n],s.p=n,this.e[e][n]=n},l.jg=function(e,n,r,s){u(Oe(s[e][n].j,r),12).p=this.d++},l.b=0,l.c=0,l.d=0,I(al,"AbstractBarycenterPortDistributor",413),D(1698,1,Xr,dUt),l.Ne=function(e,n){return Gwn(this.a,u(e,12),u(n,12))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(al,"AbstractBarycenterPortDistributor/lambda$0$Type",1698),D(832,1,xN,p3t),l.gg=function(e,n,r,s,o,h){},l.ig=function(e,n,r){},l.jg=function(e,n,r,s){},l.eg=function(){return!1},l.fg=function(){this.c=this.e.a,this.g=this.f.g},l.hg=function(e,n){n[e][0].c.p=e},l.kg=function(){return!1},l.vg=function(e,n,r,s){r?Whe(this,e):(Jhe(this,e,s),gpe(this,e,n)),e.c.length>1&&(Ie(Me(X(Pa((vn(0,e.c.length),u(e.c[0],10))),(De(),Ev))))?kde(e,this.d,u(this,669)):(mn(),Ds(e,this.d)),kce(this.e,e))},l.lg=function(e,n,r,s){var o,h,d,m,k,T,A;for(n!=jte(r,e.length)&&(h=e[n-(r?1:-1)],j3t(this.f,h,r?(To(),ku):(To(),vl))),o=e[n][0],A=!s||o.k==(Un(),Ms),T=id(e[n]),this.vg(T,A,!1,r),d=0,k=new G(T);k.a<k.c.c.length;)m=u(et(k),10),e[n][d++]=m;return!1},l.mg=function(e,n){var r,s,o,h,d;for(d=jte(n,e.length),h=id(e[d]),this.vg(h,!1,!0,n),r=0,o=new G(h);o.a<o.c.c.length;)s=u(et(o),10),e[d][r++]=s;return!1},I(al,"BarycenterHeuristic",832),D(667,1,{667:1},bUt),l.Ib=function(){return"BarycenterState [node="+this.c+", summedWeight="+this.d+", degree="+this.b+", barycenter="+this.a+", visited="+this.e+"]"},l.b=0,l.d=0,l.e=!1;var nke=I(al,"BarycenterHeuristic/BarycenterState",667);D(1865,1,Xr,gUt),l.Ne=function(e,n){return $yn(this.a,u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(al,"BarycenterHeuristic/lambda$0$Type",1865),D(831,1,xN,Wxt),l.fg=function(){},l.gg=function(e,n,r,s,o,h){},l.jg=function(e,n,r,s){},l.hg=function(e,n){this.a[e]=Vt(nke,{3:1,4:1,5:1,2117:1},667,n[e].length,0,1),this.b[e]=Vt(rke,{3:1,4:1,5:1,2118:1},239,n[e].length,0,1)},l.ig=function(e,n,r){Ole(this,r[e][n],!0)},l.c=!1,I(al,"ForsterConstraintResolver",831),D(239,1,{239:1},Sne,tpe),l.Ib=function(){var e,n;for(n=new yb,n.a+="[",e=0;e<this.d.length;e++)ni(n,Wle(this.d[e])),td(this.g,this.d[0]).a!=null&&ni(ni((n.a+="<",n),fin(td(this.g,this.d[0]).a)),">"),e<this.d.length-1&&(n.a+=ao);return(n.a+="]",n).a},l.a=0,l.c=0,l.f=0;var rke=I(al,"ForsterConstraintResolver/ConstraintGroup",239);D(1860,1,ir,pUt),l.Cd=function(e){Ole(this.a,u(e,10),!1)},I(al,"ForsterConstraintResolver/lambda$0$Type",1860),D(219,1,{219:1,230:1},rpe),l.gg=function(e,n,r,s,o,h){},l.hg=function(e,n){},l.fg=function(){this.r=Vt(Fr,ii,28,this.n,15,1)},l.ig=function(e,n,r){var s,o;o=r[e][n],s=o.e,s&&ge(this.b,s)},l.jg=function(e,n,r,s){++this.n},l.Ib=function(){return ppe(this.e,new Os)},l.g=!1,l.i=!1,l.n=0,l.s=!1,I(al,"GraphInfoHolder",219),D(1905,1,xN,HJ),l.gg=function(e,n,r,s,o,h){},l.hg=function(e,n){},l.jg=function(e,n,r,s){},l.ug=function(e,n,r){return r&&n>0?fst(this.a,e[n-1],e[n]):!r&&n<e.length-1?fst(this.a,e[n],e[n+1]):aat(this.a,e[n],r?(ve(),Gn):(ve(),Jn)),v6n(this,e,n,r)},l.fg=function(){this.d=Vt(Fr,ii,28,this.c,15,1),this.a=new dI(this.d)},l.ig=function(e,n,r){var s;s=r[e][n],this.c+=s.j.c.length},l.c=0,I(al,"GreedyPortDistributor",1905),D(1421,1,_o,Zet),l.rg=function(e){return Bbn(u(e,36))},l.Kf=function(e,n){I9n(u(e,36),n)};var ike;I(al,"InteractiveCrossingMinimizer",1421),D(1422,1,Xr,mUt),l.Ne=function(e,n){return xyn(this,u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(al,"InteractiveCrossingMinimizer/1",1422),D(514,1,{514:1,106:1,47:1},Xnt),l.rg=function(e){var n;return u(e,36),n=rz(ske),ri(n,(Ua(),Qc),(Za(),uG)),n},l.Kf=function(e,n){jEn(this,u(e,36),n)},l.e=0;var ske;I(al,"LayerSweepCrossingMinimizer",514),D(1418,1,ir,vUt),l.Cd=function(e){L7n(this.a,u(e,219))},I(al,"LayerSweepCrossingMinimizer/0methodref$compareDifferentRandomizedLayouts$Type",1418),D(1419,1,ir,yUt),l.Cd=function(e){Pbn(this.a,u(e,219))},I(al,"LayerSweepCrossingMinimizer/1methodref$minimizeCrossingsNoCounter$Type",1419),D(1420,1,ir,xUt),l.Cd=function(e){Ige(this.a,u(e,219))},I(al,"LayerSweepCrossingMinimizer/2methodref$minimizeCrossingsWithCounter$Type",1420),D(463,22,{3:1,34:1,22:1,463:1},Ort);var hP,UA,eK,ake=Lr(al,"LayerSweepCrossingMinimizer/CrossMinType",463,Pr,jfn,Von),oke;D(1417,1,Kr,VJ),l.Mb=function(e){return F4t(),u(e,30).a.c.length==0},I(al,"LayerSweepCrossingMinimizer/lambda$0$Type",1417),D(1862,1,xN,ire),l.fg=function(){},l.gg=function(e,n,r,s,o,h){},l.jg=function(e,n,r,s){},l.hg=function(e,n){n[e][0].c.p=e,this.b[e]=Vt(cke,{3:1,4:1,5:1,2043:1},668,n[e].length,0,1)},l.ig=function(e,n,r){var s;s=r[e][n],s.p=n,ls(this.b[e],n,new YD)},I(al,"LayerSweepTypeDecider",1862),D(668,1,{668:1},YD),l.Ib=function(){return"NodeInfo [connectedEdges="+this.a+", hierarchicalInfluence="+this.b+", randomInfluence="+this.c+"]"},l.a=0,l.b=0,l.c=0;var cke=I(al,"LayerSweepTypeDecider/NodeInfo",668);D(1863,1,t0,UJ),l.Lb=function(e){return TS(new sd(u(e,12).b))},l.Fb=function(e){return this===e},l.Mb=function(e){return TS(new sd(u(e,12).b))},I(al,"LayerSweepTypeDecider/lambda$0$Type",1863),D(1864,1,t0,$8),l.Lb=function(e){return TS(new sd(u(e,12).b))},l.Fb=function(e){return this===e},l.Mb=function(e){return TS(new sd(u(e,12).b))},I(al,"LayerSweepTypeDecider/lambda$1$Type",1864),D(1906,413,x7t,AWt),l.tg=function(e,n,r){var s,o,h,d,m,k,T,A,P;switch(T=this.g,r.g){case 1:{for(s=0,o=0,k=new G(e.j);k.a<k.c.c.length;)d=u(et(k),12),d.e.c.length!=0&&(++s,d.j==(ve(),Hn)&&++o);for(h=n+o,P=n+s,m=Ym(e,(To(),vl)).Kc();m.Ob();)d=u(m.Pb(),12),d.j==(ve(),Hn)?(T[d.p]=h,--h):(T[d.p]=P,--P);return s}case 2:{for(A=0,m=Ym(e,(To(),ku)).Kc();m.Ob();)d=u(m.Pb(),12),++A,T[d.p]=n+A;return A}default:throw at(new DM)}},I(al,"LayerTotalPortDistributor",1906),D(669,832,{669:1,230:1},Yoe),l.vg=function(e,n,r,s){r?Whe(this,e):(Jhe(this,e,s),gpe(this,e,n)),e.c.length>1&&(Ie(Me(X(Pa((vn(0,e.c.length),u(e.c[0],10))),(De(),Ev))))?kde(e,this.d,this):(mn(),Ds(e,this.d)),Ie(Me(X(Pa((vn(0,e.c.length),u(e.c[0],10))),Ev)))||kce(this.e,e))},I(al,"ModelOrderBarycenterHeuristic",669),D(1866,1,Xr,kUt),l.Ne=function(e,n){return x4n(this.a,u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(al,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),D(1423,1,_o,tnt),l.rg=function(e){var n;return u(e,36),n=rz(uke),ri(n,(Ua(),Qc),(Za(),uG)),n},l.Kf=function(e,n){ihn((u(e,36),n))};var uke;I(al,"NoCrossingMinimizer",1423),D(809,413,x7t,ywt),l.tg=function(e,n,r){var s,o,h,d,m,k,T,A,P,$,U;switch(P=this.g,r.g){case 1:{for(o=0,h=0,A=new G(e.j);A.a<A.c.c.length;)k=u(et(A),12),k.e.c.length!=0&&(++o,k.j==(ve(),Hn)&&++h);for(s=1/(o+1),d=n+h*s,U=n+1-s,T=Ym(e,(To(),vl)).Kc();T.Ob();)k=u(T.Pb(),12),k.j==(ve(),Hn)?(P[k.p]=d,d-=s):(P[k.p]=U,U-=s);break}case 2:{for(m=0,A=new G(e.j);A.a<A.c.c.length;)k=u(et(A),12),k.g.c.length==0||++m;for(s=1/(m+1),$=n+s,T=Ym(e,(To(),ku)).Kc();T.Ob();)k=u(T.Pb(),12),P[k.p]=$,$+=s;break}default:throw at(new zn("Port type is undefined"))}return 1},I(al,"NodeRelativePortDistributor",809),D(822,1,{},bee,Dfe),I(al,"SweepCopy",822),D(1861,1,xN,gle),l.hg=function(e,n){},l.fg=function(){var e;e=Vt(Fr,ii,28,this.f,15,1),this.d=new DUt(e),this.a=new dI(e)},l.gg=function(e,n,r,s,o,h){var d;d=u(Oe(h[e][n].j,r),12),o.c==d&&o.c.i.c==o.d.i.c&&++this.e[e]},l.ig=function(e,n,r){var s;s=r[e][n],this.c[e]=this.c[e]|s.k==(Un(),uu)},l.jg=function(e,n,r,s){var o;o=u(Oe(s[e][n].j,r),12),o.p=this.f++,o.g.c.length+o.e.c.length>1&&(o.j==(ve(),Jn)?this.b[e]=!0:o.j==Gn&&e>0&&(this.b[e-1]=!0))},l.f=0,I(z0,"AllCrossingsCounter",1861),D(595,1,{},Yq),l.b=0,l.d=0,I(z0,"BinaryIndexedTree",595),D(532,1,{},dI);var JAt,nK;I(z0,"CrossingsCounter",532),D(1950,1,Xr,EUt),l.Ne=function(e,n){return Dun(this.a,u(e,12),u(n,12))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(z0,"CrossingsCounter/lambda$0$Type",1950),D(1951,1,Xr,TUt),l.Ne=function(e,n){return Mun(this.a,u(e,12),u(n,12))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(z0,"CrossingsCounter/lambda$1$Type",1951),D(1952,1,Xr,CUt),l.Ne=function(e,n){return Iun(this.a,u(e,12),u(n,12))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(z0,"CrossingsCounter/lambda$2$Type",1952),D(1953,1,Xr,SUt),l.Ne=function(e,n){return Oun(this.a,u(e,12),u(n,12))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(z0,"CrossingsCounter/lambda$3$Type",1953),D(1954,1,ir,_Ut),l.Cd=function(e){O0n(this.a,u(e,12))},I(z0,"CrossingsCounter/lambda$4$Type",1954),D(1955,1,Kr,AUt),l.Mb=function(e){return iin(this.a,u(e,12))},I(z0,"CrossingsCounter/lambda$5$Type",1955),D(1956,1,ir,LUt),l.Cd=function(e){lQt(this,e)},I(z0,"CrossingsCounter/lambda$6$Type",1956),D(1957,1,ir,xXt),l.Cd=function(e){var n;LE(),Ob(this.b,(n=this.a,u(e,12),n))},I(z0,"CrossingsCounter/lambda$7$Type",1957),D(839,1,t0,yR),l.Lb=function(e){return LE(),qi(u(e,12),(oe(),ml))},l.Fb=function(e){return this===e},l.Mb=function(e){return LE(),qi(u(e,12),(oe(),ml))},I(z0,"CrossingsCounter/lambda$8$Type",839),D(1949,1,{},DUt),I(z0,"HyperedgeCrossingsCounter",1949),D(477,1,{34:1,477:1},TZt),l.Fd=function(e){return Iwn(this,u(e,477))},l.b=0,l.c=0,l.e=0,l.f=0;var f_n=I(z0,"HyperedgeCrossingsCounter/Hyperedge",477);D(374,1,{34:1,374:1},Yz),l.Fd=function(e){return Gxn(this,u(e,374))},l.b=0,l.c=0;var lke=I(z0,"HyperedgeCrossingsCounter/HyperedgeCorner",374);D(531,22,{3:1,34:1,22:1,531:1},Jwt);var GA,KA,hke=Lr(z0,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,Pr,Phn,Uon),fke;D(1425,1,_o,ent),l.rg=function(e){return u(X(u(e,36),(oe(),lu)),21).Hc((Co(),Uh))?dke:null},l.Kf=function(e,n){ryn(this,u(e,36),n)};var dke;I(Ao,"InteractiveNodePlacer",1425),D(1426,1,_o,nnt),l.rg=function(e){return u(X(u(e,36),(oe(),lu)),21).Hc((Co(),Uh))?gke:null},l.Kf=function(e,n){zmn(this,u(e,36),n)};var gke,rK,iK;I(Ao,"LinearSegmentsNodePlacer",1426),D(261,1,{34:1,261:1},W2t),l.Fd=function(e){return brn(this,u(e,261))},l.Fb=function(e){var n;return Lt(e,261)?(n=u(e,261),this.b==n.b):!1},l.Hb=function(){return this.b},l.Ib=function(){return"ls"+Hb(this.e)},l.a=0,l.b=0,l.c=-1,l.d=-1,l.g=0;var pke=I(Ao,"LinearSegmentsNodePlacer/LinearSegment",261);D(1428,1,_o,Yte),l.rg=function(e){return u(X(u(e,36),(oe(),lu)),21).Hc((Co(),Uh))?bke:null},l.Kf=function(e,n){bSn(this,u(e,36),n)},l.b=0,l.g=0;var bke;I(Ao,"NetworkSimplexPlacer",1428),D(1447,1,Xr,GJ),l.Ne=function(e,n){return jc(u(e,17).a,u(n,17).a)},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Ao,"NetworkSimplexPlacer/0methodref$compare$Type",1447),D(1449,1,Xr,KJ),l.Ne=function(e,n){return jc(u(e,17).a,u(n,17).a)},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Ao,"NetworkSimplexPlacer/1methodref$compare$Type",1449),D(655,1,{655:1},kXt);var d_n=I(Ao,"NetworkSimplexPlacer/EdgeRep",655);D(412,1,{412:1},Vyt),l.b=!1;var g_n=I(Ao,"NetworkSimplexPlacer/NodeRep",412);D(515,13,{3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1,515:1},IKt),I(Ao,"NetworkSimplexPlacer/Path",515),D(1429,1,{},WJ),l.Kb=function(e){return u(e,18).d.i.k},I(Ao,"NetworkSimplexPlacer/Path/lambda$0$Type",1429),D(1430,1,Kr,YJ),l.Mb=function(e){return u(e,273)==(Un(),fa)},I(Ao,"NetworkSimplexPlacer/Path/lambda$1$Type",1430),D(1431,1,{},XJ),l.Kb=function(e){return u(e,18).d.i},I(Ao,"NetworkSimplexPlacer/Path/lambda$2$Type",1431),D(1432,1,Kr,MUt),l.Mb=function(e){return cZt(hle(u(e,10)))},I(Ao,"NetworkSimplexPlacer/Path/lambda$3$Type",1432),D(1433,1,Kr,QJ),l.Mb=function(e){return gun(u(e,12))},I(Ao,"NetworkSimplexPlacer/lambda$0$Type",1433),D(1434,1,ir,EXt),l.Cd=function(e){Yin(this.a,this.b,u(e,12))},I(Ao,"NetworkSimplexPlacer/lambda$1$Type",1434),D(1443,1,ir,IUt),l.Cd=function(e){x5n(this.a,u(e,18))},I(Ao,"NetworkSimplexPlacer/lambda$10$Type",1443),D(1444,1,{},JJ),l.Kb=function(e){return rh(),new ln(null,new gn(u(e,30).a,16))},I(Ao,"NetworkSimplexPlacer/lambda$11$Type",1444),D(1445,1,ir,OUt),l.Cd=function(e){p8n(this.a,u(e,10))},I(Ao,"NetworkSimplexPlacer/lambda$12$Type",1445),D(1446,1,{},ZJ),l.Kb=function(e){return rh(),he(u(e,125).e)},I(Ao,"NetworkSimplexPlacer/lambda$13$Type",1446),D(1448,1,{},tZ),l.Kb=function(e){return rh(),he(u(e,125).e)},I(Ao,"NetworkSimplexPlacer/lambda$15$Type",1448),D(1450,1,Kr,eZ),l.Mb=function(e){return rh(),u(e,412).c.k==(Un(),xs)},I(Ao,"NetworkSimplexPlacer/lambda$17$Type",1450),D(1451,1,Kr,nZ),l.Mb=function(e){return rh(),u(e,412).c.j.c.length>1},I(Ao,"NetworkSimplexPlacer/lambda$18$Type",1451),D(1452,1,ir,rne),l.Cd=function(e){twn(this.c,this.b,this.d,this.a,u(e,412))},l.c=0,l.d=0,I(Ao,"NetworkSimplexPlacer/lambda$19$Type",1452),D(1435,1,{},rZ),l.Kb=function(e){return rh(),new ln(null,new gn(u(e,30).a,16))},I(Ao,"NetworkSimplexPlacer/lambda$2$Type",1435),D(1453,1,ir,NUt),l.Cd=function(e){Qin(this.a,u(e,12))},l.a=0,I(Ao,"NetworkSimplexPlacer/lambda$20$Type",1453),D(1454,1,{},iZ),l.Kb=function(e){return rh(),new ln(null,new gn(u(e,30).a,16))},I(Ao,"NetworkSimplexPlacer/lambda$21$Type",1454),D(1455,1,ir,PUt),l.Cd=function(e){usn(this.a,u(e,10))},I(Ao,"NetworkSimplexPlacer/lambda$22$Type",1455),D(1456,1,Kr,sZ),l.Mb=function(e){return cZt(e)},I(Ao,"NetworkSimplexPlacer/lambda$23$Type",1456),D(1457,1,{},aZ),l.Kb=function(e){return rh(),new ln(null,new gn(u(e,30).a,16))},I(Ao,"NetworkSimplexPlacer/lambda$24$Type",1457),D(1458,1,Kr,FUt),l.Mb=function(e){return min(this.a,u(e,10))},I(Ao,"NetworkSimplexPlacer/lambda$25$Type",1458),D(1459,1,ir,TXt),l.Cd=function(e){C4n(this.a,this.b,u(e,10))},I(Ao,"NetworkSimplexPlacer/lambda$26$Type",1459),D(1460,1,Kr,n6),l.Mb=function(e){return rh(),!go(u(e,18))},I(Ao,"NetworkSimplexPlacer/lambda$27$Type",1460),D(1461,1,Kr,xR),l.Mb=function(e){return rh(),!go(u(e,18))},I(Ao,"NetworkSimplexPlacer/lambda$28$Type",1461),D(1462,1,{},BUt),l.Ve=function(e,n){return Xin(this.a,u(e,30),u(n,30))},I(Ao,"NetworkSimplexPlacer/lambda$29$Type",1462),D(1436,1,{},oZ),l.Kb=function(e){return rh(),new ln(null,new Lm(new rr(sr(_s(u(e,10)).a.Kc(),new z))))},I(Ao,"NetworkSimplexPlacer/lambda$3$Type",1436),D(1437,1,Kr,cZ),l.Mb=function(e){return rh(),S1n(u(e,18))},I(Ao,"NetworkSimplexPlacer/lambda$4$Type",1437),D(1438,1,ir,RUt),l.Cd=function(e){T7n(this.a,u(e,18))},I(Ao,"NetworkSimplexPlacer/lambda$5$Type",1438),D(1439,1,{},uZ),l.Kb=function(e){return rh(),new ln(null,new gn(u(e,30).a,16))},I(Ao,"NetworkSimplexPlacer/lambda$6$Type",1439),D(1440,1,Kr,kR),l.Mb=function(e){return rh(),u(e,10).k==(Un(),xs)},I(Ao,"NetworkSimplexPlacer/lambda$7$Type",1440),D(1441,1,{},lZ),l.Kb=function(e){return rh(),new ln(null,new Lm(new rr(sr(Dg(u(e,10)).a.Kc(),new z))))},I(Ao,"NetworkSimplexPlacer/lambda$8$Type",1441),D(1442,1,Kr,cC),l.Mb=function(e){return rh(),dun(u(e,18))},I(Ao,"NetworkSimplexPlacer/lambda$9$Type",1442),D(1424,1,_o,rnt),l.rg=function(e){return u(X(u(e,36),(oe(),lu)),21).Hc((Co(),Uh))?wke:null},l.Kf=function(e,n){iTn(u(e,36),n)};var wke;I(Ao,"SimpleNodePlacer",1424),D(185,1,{185:1},m5),l.Ib=function(){var e;return e="",this.c==(Gd(),Dv)?e+=Ak:this.c==Gp&&(e+=_k),this.o==(nd(),Fw)?e+=xut:this.o==yd?e+="UP":e+="BALANCED",e},I(Qb,"BKAlignedLayout",185),D(523,22,{3:1,34:1,22:1,523:1},Zwt);var Gp,Dv,mke=Lr(Qb,"BKAlignedLayout/HDirection",523,Pr,Fhn,Gon),vke;D(522,22,{3:1,34:1,22:1,522:1},tmt);var Fw,yd,yke=Lr(Qb,"BKAlignedLayout/VDirection",522,Pr,Bhn,Kon),xke;D(1699,1,{},CXt),I(Qb,"BKAligner",1699),D(1702,1,{},Fhe),I(Qb,"BKCompactor",1702),D(663,1,{663:1},hZ),l.a=0,I(Qb,"BKCompactor/ClassEdge",663),D(466,1,{466:1},LKt),l.a=null,l.b=0,I(Qb,"BKCompactor/ClassNode",466),D(1427,1,_o,LXt),l.rg=function(e){return u(X(u(e,36),(oe(),lu)),21).Hc((Co(),Uh))?kke:null},l.Kf=function(e,n){NSn(this,u(e,36),n)},l.d=!1;var kke;I(Qb,"BKNodePlacer",1427),D(1700,1,{},fZ),l.d=0,I(Qb,"NeighborhoodInformation",1700),D(1701,1,Xr,jUt),l.Ne=function(e,n){return cgn(this,u(e,42),u(n,42))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Qb,"NeighborhoodInformation/NeighborComparator",1701),D(823,1,{}),I(Qb,"ThresholdStrategy",823),D(1825,823,{},DKt),l.wg=function(e,n,r){return this.a.o==(nd(),yd)?Zi:Vs},l.xg=function(){},I(Qb,"ThresholdStrategy/NullThresholdStrategy",1825),D(587,1,{587:1},DXt),l.c=!1,l.d=!1,I(Qb,"ThresholdStrategy/Postprocessable",587),D(1826,823,{},MKt),l.wg=function(e,n,r){var s,o,h;return o=n==r,s=this.a.a[r.p]==n,o||s?(h=e,this.a.c==(Gd(),Dv)?(o&&(h=yct(this,n,!0)),!isNaN(h)&&!isFinite(h)&&s&&(h=yct(this,r,!1))):(o&&(h=yct(this,n,!0)),!isNaN(h)&&!isFinite(h)&&s&&(h=yct(this,r,!1))),h):e},l.xg=function(){for(var e,n,r,s,o;this.d.b!=0;)o=u(Zhn(this.d),587),s=uge(this,o),s.a&&(e=s.a,r=Ie(this.a.f[this.a.g[o.b.p].p]),!(!r&&!go(e)&&e.c.i.c==e.d.i.c)&&(n=gde(this,o),n||xin(this.e,o)));for(;this.e.a.c.length!=0;)gde(this,u(gue(this.e),587))},I(Qb,"ThresholdStrategy/SimpleThresholdStrategy",1826),D(645,1,{645:1,188:1,196:1},dZ),l.dg=function(){return Ece(this)},l.qg=function(){return Ece(this)};var I1t;I(vlt,"EdgeRouterFactory",645),D(1485,1,_o,int),l.rg=function(e){return Ukn(u(e,36))},l.Kf=function(e,n){hTn(u(e,36),n)};var Eke,Tke,Cke,Ske,_ke,ZAt,Ake,Lke;I(vlt,"OrthogonalEdgeRouter",1485),D(1478,1,_o,AXt),l.rg=function(e){return dyn(u(e,36))},l.Kf=function(e,n){NCn(this,u(e,36),n)};var Dke,Mke,Ike,Oke,fP,Nke;I(vlt,"PolylineEdgeRouter",1478),D(1479,1,t0,pZ),l.Lb=function(e){return z4t(u(e,10))},l.Fb=function(e){return this===e},l.Mb=function(e){return z4t(u(e,10))},I(vlt,"PolylineEdgeRouter/1",1479),D(1872,1,Kr,bZ),l.Mb=function(e){return u(e,132).c==(C1(),o2)},I(M1,"HyperEdgeCycleDetector/lambda$0$Type",1872),D(1873,1,{},wZ),l.Ze=function(e){return u(e,132).d},I(M1,"HyperEdgeCycleDetector/lambda$1$Type",1873),D(1874,1,Kr,mZ),l.Mb=function(e){return u(e,132).c==(C1(),o2)},I(M1,"HyperEdgeCycleDetector/lambda$2$Type",1874),D(1875,1,{},vZ),l.Ze=function(e){return u(e,132).d},I(M1,"HyperEdgeCycleDetector/lambda$3$Type",1875),D(1876,1,{},yZ),l.Ze=function(e){return u(e,132).d},I(M1,"HyperEdgeCycleDetector/lambda$4$Type",1876),D(1877,1,{},gZ),l.Ze=function(e){return u(e,132).d},I(M1,"HyperEdgeCycleDetector/lambda$5$Type",1877),D(118,1,{34:1,118:1},eO),l.Fd=function(e){return wrn(this,u(e,118))},l.Fb=function(e){var n;return Lt(e,118)?(n=u(e,118),this.g==n.g):!1},l.Hb=function(){return this.g},l.Ib=function(){var e,n,r,s;for(e=new eh("{"),s=new G(this.n);s.a<s.c.c.length;)r=u(et(s),12),n=EO(r.i),n==null&&(n="n"+PZt(r.i)),e.a+=""+n,s.a<s.c.c.length&&(e.a+=",");return e.a+="}",e.a},l.a=0,l.b=0,l.c=NaN,l.d=0,l.g=0,l.i=0,l.o=0,l.s=NaN,I(M1,"HyperEdgeSegment",118),D(132,1,{132:1},J2),l.Ib=function(){return this.a+"->"+this.b+" ("+Fsn(this.c)+")"},l.d=0,I(M1,"HyperEdgeSegmentDependency",132),D(528,22,{3:1,34:1,22:1,528:1},emt);var o2,F3,Pke=Lr(M1,"HyperEdgeSegmentDependency/DependencyType",528,Pr,Rhn,Won),Fke;D(1878,1,{},$Ut),I(M1,"HyperEdgeSegmentSplitter",1878),D(1879,1,{},IWt),l.a=0,l.b=0,I(M1,"HyperEdgeSegmentSplitter/AreaRating",1879),D(339,1,{339:1},yit),l.a=0,l.b=0,l.c=0,I(M1,"HyperEdgeSegmentSplitter/FreeArea",339),D(1880,1,Xr,r6),l.Ne=function(e,n){return Fan(u(e,118),u(n,118))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(M1,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),D(1881,1,ir,ine),l.Cd=function(e){ldn(this.a,this.d,this.c,this.b,u(e,118))},l.b=0,I(M1,"HyperEdgeSegmentSplitter/lambda$1$Type",1881),D(1882,1,{},xZ),l.Kb=function(e){return new ln(null,new gn(u(e,118).e,16))},I(M1,"HyperEdgeSegmentSplitter/lambda$2$Type",1882),D(1883,1,{},kZ),l.Kb=function(e){return new ln(null,new gn(u(e,118).j,16))},I(M1,"HyperEdgeSegmentSplitter/lambda$3$Type",1883),D(1884,1,{},EZ),l.Ye=function(e){return Rt(Ht(e))},I(M1,"HyperEdgeSegmentSplitter/lambda$4$Type",1884),D(664,1,{},Uit),l.a=0,l.b=0,l.c=0,I(M1,"OrthogonalRoutingGenerator",664),D(1703,1,{},TZ),l.Kb=function(e){return new ln(null,new gn(u(e,118).e,16))},I(M1,"OrthogonalRoutingGenerator/lambda$0$Type",1703),D(1704,1,{},CZ),l.Kb=function(e){return new ln(null,new gn(u(e,118).j,16))},I(M1,"OrthogonalRoutingGenerator/lambda$1$Type",1704),D(670,1,{}),I(ylt,"BaseRoutingDirectionStrategy",670),D(1870,670,{},PKt),l.yg=function(e,n,r){var s,o,h,d,m,k,T,A,P,$,U,J,tt;if(!(e.r&&!e.q))for(A=n+e.o*r,T=new G(e.n);T.a<T.c.c.length;)for(k=u(et(T),12),P=dc(lt(ut(la,1),ue,8,0,[k.i.n,k.n,k.a])).a,m=new G(k.g);m.a<m.c.c.length;)d=u(et(m),18),go(d)||(J=d.d,tt=dc(lt(ut(la,1),ue,8,0,[J.i.n,J.n,J.a])).a,b.Math.abs(P-tt)>n0&&(h=A,o=e,s=new ae(P,h),Zr(d.a,s),ev(this,d,o,s,!1),$=e.r,$&&(U=Rt(Ht(jh($.e,0))),s=new ae(U,h),Zr(d.a,s),ev(this,d,o,s,!1),h=n+$.o*r,o=$,s=new ae(U,h),Zr(d.a,s),ev(this,d,o,s,!1)),s=new ae(tt,h),Zr(d.a,s),ev(this,d,o,s,!1)))},l.zg=function(e){return e.i.n.a+e.n.a+e.a.a},l.Ag=function(){return ve(),Er},l.Bg=function(){return ve(),Hn},I(ylt,"NorthToSouthRoutingStrategy",1870),D(1871,670,{},FKt),l.yg=function(e,n,r){var s,o,h,d,m,k,T,A,P,$,U,J,tt;if(!(e.r&&!e.q))for(A=n-e.o*r,T=new G(e.n);T.a<T.c.c.length;)for(k=u(et(T),12),P=dc(lt(ut(la,1),ue,8,0,[k.i.n,k.n,k.a])).a,m=new G(k.g);m.a<m.c.c.length;)d=u(et(m),18),go(d)||(J=d.d,tt=dc(lt(ut(la,1),ue,8,0,[J.i.n,J.n,J.a])).a,b.Math.abs(P-tt)>n0&&(h=A,o=e,s=new ae(P,h),Zr(d.a,s),ev(this,d,o,s,!1),$=e.r,$&&(U=Rt(Ht(jh($.e,0))),s=new ae(U,h),Zr(d.a,s),ev(this,d,o,s,!1),h=n-$.o*r,o=$,s=new ae(U,h),Zr(d.a,s),ev(this,d,o,s,!1)),s=new ae(tt,h),Zr(d.a,s),ev(this,d,o,s,!1)))},l.zg=function(e){return e.i.n.a+e.n.a+e.a.a},l.Ag=function(){return ve(),Hn},l.Bg=function(){return ve(),Er},I(ylt,"SouthToNorthRoutingStrategy",1871),D(1869,670,{},BKt),l.yg=function(e,n,r){var s,o,h,d,m,k,T,A,P,$,U,J,tt;if(!(e.r&&!e.q))for(A=n+e.o*r,T=new G(e.n);T.a<T.c.c.length;)for(k=u(et(T),12),P=dc(lt(ut(la,1),ue,8,0,[k.i.n,k.n,k.a])).b,m=new G(k.g);m.a<m.c.c.length;)d=u(et(m),18),go(d)||(J=d.d,tt=dc(lt(ut(la,1),ue,8,0,[J.i.n,J.n,J.a])).b,b.Math.abs(P-tt)>n0&&(h=A,o=e,s=new ae(h,P),Zr(d.a,s),ev(this,d,o,s,!0),$=e.r,$&&(U=Rt(Ht(jh($.e,0))),s=new ae(h,U),Zr(d.a,s),ev(this,d,o,s,!0),h=n+$.o*r,o=$,s=new ae(h,U),Zr(d.a,s),ev(this,d,o,s,!0)),s=new ae(h,tt),Zr(d.a,s),ev(this,d,o,s,!0)))},l.zg=function(e){return e.i.n.b+e.n.b+e.a.b},l.Ag=function(){return ve(),Jn},l.Bg=function(){return ve(),Gn},I(ylt,"WestToEastRoutingStrategy",1869),D(828,1,{},Rkt),l.Ib=function(){return Hb(this.a)},l.b=0,l.c=!1,l.d=!1,l.f=0,I(f3,"NubSpline",828),D(418,1,{418:1},Kde,Fne),I(f3,"NubSpline/PolarCP",418),D(1480,1,_o,Ahe),l.rg=function(e){return n3n(u(e,36))},l.Kf=function(e,n){ZCn(this,u(e,36),n)};var Bke,Rke,jke,$ke,zke;I(f3,"SplineEdgeRouter",1480),D(274,1,{274:1},vq),l.Ib=function(){return this.a+" ->("+this.c+") "+this.b},l.c=0,I(f3,"SplineEdgeRouter/Dependency",274),D(464,22,{3:1,34:1,22:1,464:1},nmt);var c2,Z5,qke=Lr(f3,"SplineEdgeRouter/SideToProcess",464,Pr,Vhn,Yon),Hke;D(1481,1,Kr,SZ),l.Mb=function(e){return D_(),!u(e,131).o},I(f3,"SplineEdgeRouter/lambda$0$Type",1481),D(1482,1,{},_Z),l.Ze=function(e){return D_(),u(e,131).v+1},I(f3,"SplineEdgeRouter/lambda$1$Type",1482),D(1483,1,ir,MXt),l.Cd=function(e){wun(this.a,this.b,u(e,42))},I(f3,"SplineEdgeRouter/lambda$2$Type",1483),D(1484,1,ir,IXt),l.Cd=function(e){mun(this.a,this.b,u(e,42))},I(f3,"SplineEdgeRouter/lambda$3$Type",1484),D(131,1,{34:1,131:1},a1e,Vkt),l.Fd=function(e){return yrn(this,u(e,131))},l.b=0,l.e=!1,l.f=0,l.g=0,l.j=!1,l.k=!1,l.n=0,l.o=!1,l.p=!1,l.q=!1,l.s=0,l.u=0,l.v=0,l.F=0,I(f3,"SplineSegment",131),D(467,1,{467:1},AZ),l.a=0,l.b=!1,l.c=!1,l.d=!1,l.e=!1,l.f=0,I(f3,"SplineSegment/EdgeInformation",467),D(1198,1,{},uC),I(jg,z8t,1198),D(1199,1,Xr,LZ),l.Ne=function(e,n){return R5n(u(e,121),u(n,121))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(jg,r2e,1199),D(1197,1,{},WWt),I(jg,"MrTree",1197),D(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},q$),l.dg=function(){return A1e(this)},l.qg=function(){return A1e(this)};var sK,WA,YA,XA,tLt=Lr(jg,"TreeLayoutPhases",405,Pr,K1n,Xon),Vke;D(1112,205,mw,kZt),l.rf=function(e,n){var r,s,o,h,d,m,k,T;for(Ie(Me(ne(e,(Cc(),CLt))))||sq((r=new by((xy(),new my(e))),r)),d=n.eh(Elt),d.Ug("build tGraph",1),m=(k=new FI,Qo(k,e),Zt(k,(ji(),JA),e),T=new _r,MEn(e,k,T),XEn(e,k,T),k),d.Vg(),d=n.eh(Elt),d.Ug("Split graph",1),h=BEn(this.a,m),d.Vg(),o=new G(h);o.a<o.c.c.length;)s=u(et(o),121),zyn(this.b,s,n.eh(.5999999940395355/h.c.length));d=n.eh(Elt),d.Ug("Pack components",1),m=PSn(h),d.Vg(),d=n.eh(Elt),d.Ug("Apply layout results",1),T9n(m),d.Vg()},I(jg,"TreeLayoutProvider",1112),D(1894,1,F0,MZ),l.Jc=function(e){Fa(this,e)},l.Kc=function(){return mn(),yE(),mT},I(jg,"TreeUtil/1",1894),D(1895,1,F0,IZ),l.Jc=function(e){Fa(this,e)},l.Kc=function(){return mn(),yE(),mT},I(jg,"TreeUtil/2",1895),D(1885,1,Kr,OZ),l.Mb=function(e){return Ie(Me(X(u(e,39),(ji(),u2))))},I(jg,"TreeUtil/lambda$0$Type",1885),D(1891,1,Kr,zUt),l.Mb=function(e){return this.a.Hc(u(e,39))},I(jg,"TreeUtil/lambda$10$Type",1891),D(1892,1,{},qUt),l.Kb=function(e){return G1n(this.a,u(e,39))},I(jg,"TreeUtil/lambda$11$Type",1892),D(1893,1,Kr,OXt),l.Mb=function(e){return V0n(this.a,this.b,u(e,39))},I(jg,"TreeUtil/lambda$12$Type",1893),D(1886,1,Kr,HUt),l.Mb=function(e){return D2n(this.a,u(e,65))},I(jg,"TreeUtil/lambda$3$Type",1886),D(1887,1,Xr,DZ),l.Ne=function(e,n){return Ban(u(e,65),u(n,65))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(jg,"TreeUtil/lambda$4$Type",1887),D(1888,1,Kr,VUt),l.Mb=function(e){return M2n(this.a,u(e,65))},I(jg,"TreeUtil/lambda$7$Type",1888),D(1889,1,Xr,NZ),l.Ne=function(e,n){return Ran(u(e,65),u(n,65))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(jg,"TreeUtil/lambda$8$Type",1889),D(1890,1,{},PZ),l.Kb=function(e){return u(e,65).b},I(jg,"TreeUtil/lambda$9$Type",1890),D(508,137,{3:1,508:1,96:1,137:1}),l.g=0,I(nA,"TGraphElement",508),D(65,508,{3:1,65:1,508:1,96:1,137:1},Kyt),l.Ib=function(){return this.b&&this.c?Z2(this.b)+"->"+Z2(this.c):"e_"+$i(this)},I(nA,"TEdge",65),D(121,137,{3:1,121:1,96:1,137:1},FI),l.Ib=function(){var e,n,r,s,o;for(o=null,s=Dr(this.b,0);s.b!=s.d.c;)r=u(Ar(s),39),o+=(r.c==null||r.c.length==0?"n_"+r.g:"n_"+r.c)+`
1544 */var K8=function(p,x){this.recycle(p,x)};function W8(){return!1}function Y8(){return!0}K8.prototype={instanceString:function(){return"event"},recycle:function(p,x){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=W8,p!=null&&p.preventDefault?(this.type=p.type,this.isDefaultPrevented=p.defaultPrevented?Y8:W8):p!=null&&p.type?x=p:this.type=p,x!=null&&(this.originalEvent=x.originalEvent,this.type=x.type!=null?x.type:this.type,this.cy=x.cy,this.target=x.target,this.position=x.position,this.renderedPosition=x.renderedPosition,this.namespace=x.namespace,this.layout=x.layout),this.cy!=null&&this.position!=null&&this.renderedPosition==null){var C=this.position,L=this.cy.zoom(),O=this.cy.pan();this.renderedPosition={x:C.x*L+O.x,y:C.y*L+O.y}}this.timeStamp=p&&p.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=Y8;var p=this.originalEvent;p&&p.preventDefault&&p.preventDefault()},stopPropagation:function(){this.isPropagationStopped=Y8;var p=this.originalEvent;p&&p.stopPropagation&&p.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Y8,this.stopPropagation()},isDefaultPrevented:W8,isPropagationStopped:W8,isImmediatePropagationStopped:W8};var GR=/^([^.]+)(\.(?:[^.]+))?$/,Ytt=".*",KR={qualifierCompare:function(p,x){return p===x},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(p){return p},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},WR=Object.keys(KR),Xtt={};function dC(){for(var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Xtt,p=arguments.length>1?arguments[1]:void 0,x=0;x<WR.length;x++){var C=WR[x];this[C]=y[C]||KR[C]}this.context=p||this.context,this.listeners=[],this.emitting=0}var pb=dC.prototype,YR=function(p,x,C,L,O,N,j){ct(L)&&(O=L,L=null),j&&(N==null?N=j:N=we({},N,j));for(var H=rt(C)?C:C.split(/\s+/),q=0;q<H.length;q++){var W=H[q];if(!Ft(W)){var Z=W.match(GR);if(Z){var st=Z[1],bt=Z[2]?Z[2]:null,pt=x(p,W,st,bt,L,O,N);if(pt===!1)break}}}},XR=function(p,x){return p.addEventFields(p.context,x),new K8(x.type,x)},gC=function(p,x,C){if(xt(C)){x(p,C);return}else if(it(C)){x(p,XR(p,C));return}for(var L=rt(C)?C:C.split(/\s+/),O=0;O<L.length;O++){var N=L[O];if(!Ft(N)){var j=N.match(GR);if(j){var H=j[1],q=j[2]?j[2]:null,W=XR(p,{type:H,namespace:q,target:p.context});x(p,W)}}}};pb.on=pb.addListener=function(y,p,x,C,L){return YR(this,function(O,N,j,H,q,W,Z){ct(W)&&O.listeners.push({event:N,callback:W,type:j,namespace:H,qualifier:q,conf:Z})},y,p,x,C,L),this},pb.one=function(y,p,x,C){return this.on(y,p,x,C,{one:!0})},pb.removeListener=pb.off=function(y,p,x,C){var L=this;this.emitting!==0&&(this.listeners=zX(this.listeners));for(var O=this.listeners,N=function(q){var W=O[q];YR(L,function(Z,st,bt,pt,_t,St){if((W.type===bt||y==="*")&&(!pt&&W.namespace!==".*"||W.namespace===pt)&&(!_t||Z.qualifierCompare(W.qualifier,_t))&&(!St||W.callback===St))return O.splice(q,1),!1},y,p,x,C)},j=O.length-1;j>=0;j--)N(j);return this},pb.removeAllListeners=function(){return this.removeListener("*")},pb.emit=pb.trigger=function(y,p,x){var C=this.listeners,L=C.length;return this.emitting++,rt(p)||(p=[p]),gC(this,function(O,N){x!=null&&(C=[{event:N.event,type:N.type,namespace:N.namespace,callback:x}],L=C.length);for(var j=function(W){var Z=C[W];if(Z.type===N.type&&(!Z.namespace||Z.namespace===N.namespace||Z.namespace===Ytt)&&O.eventMatches(O.context,Z,N)){var st=[N];p!=null&&OB(st,p),O.beforeEmit(O.context,Z,N),Z.conf&&Z.conf.one&&(O.listeners=O.listeners.filter(function(_t){return _t!==Z}));var bt=O.callbackContext(O.context,Z,N),pt=Z.callback.apply(bt,st);O.afterEmit(O.context,Z,N),pt===!1&&(N.stopPropagation(),N.preventDefault())}},H=0;H<L;H++)j(H);O.bubble(O.context)&&!N.isPropagationStopped()&&O.parent(O.context).emit(N,p)},y),this.emitting--,this};var Qtt={qualifierCompare:function(p,x){return p==null||x==null?p==null&&x==null:p.sameText(x)},eventMatches:function(p,x,C){var L=x.qualifier;return L!=null?p!==C.target&&V(C.target)&&L.matches(C.target):!0},addEventFields:function(p,x){x.cy=p.cy(),x.target=p},callbackContext:function(p,x,C){return x.qualifier!=null?C.target:p},beforeEmit:function(p,x){x.conf&&x.conf.once&&x.conf.onceCollection.removeListener(x.event,x.qualifier,x.callback)},bubble:function(){return!0},parent:function(p){return p.isChild()?p.parent():p.cy()}},E4=function(p){return mt(p)?new ly(p):p},QR={createEmitter:function(){for(var p=0;p<this.length;p++){var x=this[p],C=x._private;C.emitter||(C.emitter=new dC(Qtt,x))}return this},emitter:function(){return this._private.emitter},on:function(p,x,C){for(var L=E4(x),O=0;O<this.length;O++){var N=this[O];N.emitter().on(p,L,C)}return this},removeListener:function(p,x,C){for(var L=E4(x),O=0;O<this.length;O++){var N=this[O];N.emitter().removeListener(p,L,C)}return this},removeAllListeners:function(){for(var p=0;p<this.length;p++){var x=this[p];x.emitter().removeAllListeners()}return this},one:function(p,x,C){for(var L=E4(x),O=0;O<this.length;O++){var N=this[O];N.emitter().one(p,L,C)}return this},once:function(p,x,C){for(var L=E4(x),O=0;O<this.length;O++){var N=this[O];N.emitter().on(p,L,C,{once:!0,onceCollection:this})}},emit:function(p,x){for(var C=0;C<this.length;C++){var L=this[C];L.emitter().emit(p,x)}return this},emitAndNotify:function(p,x){if(this.length!==0)return this.cy().notify(p,this),this.emit(p,x),this}};Kc.eventAliasesOn(QR);var aM={nodes:function(p){return this.filter(function(x){return x.isNode()}).filter(p)},edges:function(p){return this.filter(function(x){return x.isEdge()}).filter(p)},byGroup:function(){for(var p=this.spawn(),x=this.spawn(),C=0;C<this.length;C++){var L=this[C];L.isNode()?p.push(L):x.push(L)}return{nodes:p,edges:x}},filter:function(p,x){if(p===void 0)return this;if(mt(p)||yt(p))return new ly(p).filter(this);if(ct(p)){for(var C=this.spawn(),L=this,O=0;O<L.length;O++){var N=L[O],j=x?p.apply(x,[N,O,L]):p(N,O,L);j&&C.push(N)}return C}return this.spawn()},not:function(p){if(p){mt(p)&&(p=this.filter(p));for(var x=this.spawn(),C=0;C<this.length;C++){var L=this[C],O=p.has(L);O||x.push(L)}return x}else return this},absoluteComplement:function(){var p=this.cy();return p.mutableElements().not(this)},intersect:function(p){if(mt(p)){var x=p;return this.filter(x)}for(var C=this.spawn(),L=this,O=p,N=this.length<p.length,j=N?L:O,H=N?O:L,q=0;q<j.length;q++){var W=j[q];H.has(W)&&C.push(W)}return C},xor:function(p){var x=this._private.cy;mt(p)&&(p=x.$(p));var C=this.spawn(),L=this,O=p,N=function(H,q){for(var W=0;W<H.length;W++){var Z=H[W],st=Z._private.data.id,bt=q.hasElementWithId(st);bt||C.push(Z)}};return N(L,O),N(O,L),C},diff:function(p){var x=this._private.cy;mt(p)&&(p=x.$(p));var C=this.spawn(),L=this.spawn(),O=this.spawn(),N=this,j=p,H=function(W,Z,st){for(var bt=0;bt<W.length;bt++){var pt=W[bt],_t=pt._private.data.id,St=Z.hasElementWithId(_t);St?O.merge(pt):st.push(pt)}};return H(N,j,C),H(j,N,L),{left:C,right:L,both:O}},add:function(p){var x=this._private.cy;if(!p)return this;if(mt(p)){var C=p;p=x.mutableElements().filter(C)}for(var L=this.spawnSelf(),O=0;O<p.length;O++){var N=p[O],j=!this.has(N);j&&L.push(N)}return L},merge:function(p){var x=this._private,C=x.cy;if(!p)return this;if(p&&mt(p)){var L=p;p=C.mutableElements().filter(L)}for(var O=x.map,N=0;N<p.length;N++){var j=p[N],H=j._private.data.id,q=!O.has(H);if(q){var W=this.length++;this[W]=j,O.set(H,{ele:j,index:W})}}return this},unmergeAt:function(p){var x=this[p],C=x.id(),L=this._private,O=L.map;this[p]=void 0,O.delete(C);var N=p===this.length-1;if(this.length>1&&!N){var j=this.length-1,H=this[j],q=H._private.data.id;this[j]=void 0,this[p]=H,O.set(q,{ele:H,index:p})}return this.length--,this},unmergeOne:function(p){p=p[0];var x=this._private,C=p._private.data.id,L=x.map,O=L.get(C);if(!O)return this;var N=O.index;return this.unmergeAt(N),this},unmerge:function(p){var x=this._private.cy;if(!p)return this;if(p&&mt(p)){var C=p;p=x.mutableElements().filter(C)}for(var L=0;L<p.length;L++)this.unmergeOne(p[L]);return this},unmergeBy:function(p){for(var x=this.length-1;x>=0;x--){var C=this[x];p(C)&&this.unmergeAt(x)}return this},map:function(p,x){for(var C=[],L=this,O=0;O<L.length;O++){var N=L[O],j=x?p.apply(x,[N,O,L]):p(N,O,L);C.push(j)}return C},reduce:function(p,x){for(var C=x,L=this,O=0;O<L.length;O++)C=p(C,L[O],O,L);return C},max:function(p,x){for(var C=-1/0,L,O=this,N=0;N<O.length;N++){var j=O[N],H=x?p.apply(x,[j,N,O]):p(j,N,O);H>C&&(C=H,L=j)}return{value:C,ele:L}},min:function(p,x){for(var C=1/0,L,O=this,N=0;N<O.length;N++){var j=O[N],H=x?p.apply(x,[j,N,O]):p(j,N,O);H<C&&(C=H,L=j)}return{value:C,ele:L}}},Oc=aM;Oc.u=Oc["|"]=Oc["+"]=Oc.union=Oc.or=Oc.add,Oc["\\"]=Oc["!"]=Oc["-"]=Oc.difference=Oc.relativeComplement=Oc.subtract=Oc.not,Oc.n=Oc["&"]=Oc["."]=Oc.and=Oc.intersection=Oc.intersect,Oc["^"]=Oc["(+)"]=Oc["(-)"]=Oc.symmetricDifference=Oc.symdiff=Oc.xor,Oc.fnFilter=Oc.filterFn=Oc.stdFilter=Oc.filter,Oc.complement=Oc.abscomp=Oc.absoluteComplement;var oM={isNode:function(){return this.group()==="nodes"},isEdge:function(){return this.group()==="edges"},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var p=this[0];if(p)return p._private.group}},cM=function(p,x){var C=p.cy(),L=C.hasCompoundNodes();function O(W){var Z=W.pstyle("z-compound-depth");return Z.value==="auto"?L?W.zDepth():0:Z.value==="bottom"?-1:Z.value==="top"?Kx:0}var N=O(p)-O(x);if(N!==0)return N;function j(W){var Z=W.pstyle("z-index-compare");return Z.value==="auto"&&W.isNode()?1:0}var H=j(p)-j(x);if(H!==0)return H;var q=p.pstyle("z-index").value-x.pstyle("z-index").value;return q!==0?q:p.poolIndex()-x.poolIndex()},pC={forEach:function(p,x){if(ct(p))for(var C=this.length,L=0;L<C;L++){var O=this[L],N=x?p.apply(x,[O,L,this]):p(O,L,this);if(N===!1)break}return this},toArray:function(){for(var p=[],x=0;x<this.length;x++)p.push(this[x]);return p},slice:function(p,x){var C=[],L=this.length;x==null&&(x=L),p==null&&(p=0),p<0&&(p=L+p),x<0&&(x=L+x);for(var O=p;O>=0&&O<x&&O<L;O++)C.push(this[O]);return this.spawn(C)},size:function(){return this.length},eq:function(p){return this[p]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return this.length===0},nonempty:function(){return!this.empty()},sort:function(p){if(!ct(p))return this;var x=this.toArray().sort(p);return this.spawn(x)},sortByZIndex:function(){return this.sort(cM)},zDepth:function(){var p=this[0];if(p){var x=p._private,C=x.group;if(C==="nodes"){var L=x.data.parent?p.parents().size():0;return p.isParent()?L:Kx-1}else{var O=x.source,N=x.target,j=O.zDepth(),H=N.zDepth();return Math.max(j,H,0)}}}};pC.each=pC.forEach;var Jtt=function(){var p="undefined",x=(typeof Symbol>"u"?"undefined":f(Symbol))!=p&&f(Symbol.iterator)!=p;x&&(pC[Symbol.iterator]=function(){var C=this,L={value:void 0,done:!1},O=0,N=this.length;return b({next:function(){return O<N?L.value=C[O++]:(L.value=void 0,L.done=!0),L}},Symbol.iterator,function(){return this})})};Jtt();var Ztt=p1({nodeDimensionsIncludeLabels:!1}),bC={layoutDimensions:function(p){p=Ztt(p);var x;if(!this.takesUpSpace())x={w:0,h:0};else if(p.nodeDimensionsIncludeLabels){var C=this.boundingBox();x={w:C.w,h:C.h}}else x={w:this.outerWidth(),h:this.outerHeight()};return(x.w===0||x.h===0)&&(x.w=x.h=1),x},layoutPositions:function(p,x,C){var L=this.nodes().filter(function(re){return!re.isParent()}),O=this.cy(),N=x.eles,j=function(ee){return ee.id()},H=Mt(C,j);p.emit({type:"layoutstart",layout:p}),p.animations=[];var q=function(ee,Ut,de){var Yt={x:Ut.x1+Ut.w/2,y:Ut.y1+Ut.h/2},Ee={x:(de.x-Yt.x)*ee,y:(de.y-Yt.y)*ee};return{x:Yt.x+Ee.x,y:Yt.y+Ee.y}},W=x.spacingFactor&&x.spacingFactor!==1,Z=function(){if(!W)return null;for(var ee=v0(),Ut=0;Ut<L.length;Ut++){var de=L[Ut],Yt=H(de,Ut);bQ(ee,Yt.x,Yt.y)}return ee},st=Z(),bt=Mt(function(re,ee){var Ut=H(re,ee);if(W){var de=Math.abs(x.spacingFactor);Ut=q(de,st,Ut)}return x.transform!=null&&(Ut=x.transform(re,Ut)),Ut},j);if(x.animate){for(var pt=0;pt<L.length;pt++){var _t=L[pt],St=bt(_t,pt),Et=x.animateFilter==null||x.animateFilter(_t,pt);if(Et){var Nt=_t.animation({position:St,duration:x.animationDuration,easing:x.animationEasing});p.animations.push(Nt)}else _t.position(St)}if(x.fit){var Pt=O.animation({fit:{boundingBox:N.boundingBoxAt(bt),padding:x.padding},duration:x.animationDuration,easing:x.animationEasing});p.animations.push(Pt)}else if(x.zoom!==void 0&&x.pan!==void 0){var qt=O.animation({zoom:x.zoom,pan:x.pan,duration:x.animationDuration,easing:x.animationEasing});p.animations.push(qt)}p.animations.forEach(function(re){return re.play()}),p.one("layoutready",x.ready),p.emit({type:"layoutready",layout:p}),e6.all(p.animations.map(function(re){return re.promise()})).then(function(){p.one("layoutstop",x.stop),p.emit({type:"layoutstop",layout:p})})}else L.positions(bt),x.fit&&O.fit(x.eles,x.padding),x.zoom!=null&&O.zoom(x.zoom),x.pan&&O.pan(x.pan),p.one("layoutready",x.ready),p.emit({type:"layoutready",layout:p}),p.one("layoutstop",x.stop),p.emit({type:"layoutstop",layout:p});return this},layout:function(p){var x=this.cy();return x.makeLayout(we({},p,{eles:this}))}};bC.createLayout=bC.makeLayout=bC.layout;function tet(y,p,x){var C=x._private,L=C.styleCache=C.styleCache||[],O;return(O=L[y])!=null||(O=L[y]=p(x)),O}function wC(y,p){return y=Nd(y),function(C){return tet(y,p,C)}}function mC(y,p){y=Nd(y);var x=function(L){return p.call(L)};return function(){var L=this[0];if(L)return tet(y,x,L)}}var b1={recalculateRenderedStyle:function(p){var x=this.cy(),C=x.renderer(),L=x.styleEnabled();return C&&L&&C.recalculateRenderedStyle(this,p),this},dirtyStyleCache:function(){var p=this.cy(),x=function(O){return O._private.styleCache=null};if(p.hasCompoundNodes()){var C;C=this.spawnSelf().merge(this.descendants()).merge(this.parents()),C.merge(C.connectedEdges()),C.forEach(x)}else this.forEach(function(L){x(L),L.connectedEdges().forEach(x)});return this},updateStyle:function(p){var x=this._private.cy;if(!x.styleEnabled())return this;if(x.batching()){var C=x._private.batchStyleEles;return C.merge(this),this}var L=x.hasCompoundNodes(),O=this;p=!!(p||p===void 0),L&&(O=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var N=O;return p?N.emitAndNotify("style"):N.emit("style"),O.forEach(function(j){return j._private.styleDirty=!0}),this},cleanStyle:function(){var p=this.cy();if(p.styleEnabled())for(var x=0;x<this.length;x++){var C=this[x];C._private.styleDirty&&(C._private.styleDirty=!1,p.style().apply(C))}},parsedStyle:function(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,C=this[0],L=C.cy();if(L.styleEnabled()&&C){this.cleanStyle();var O=C._private.style[p];return O??(x?L.style().getDefaultProperty(p):null)}},numericStyle:function(p){var x=this[0];if(x.cy().styleEnabled()&&x){var C=x.pstyle(p);return C.pfValue!==void 0?C.pfValue:C.value}},numericStyleUnits:function(p){var x=this[0];if(x.cy().styleEnabled()&&x)return x.pstyle(p).units},renderedStyle:function(p){var x=this.cy();if(!x.styleEnabled())return this;var C=this[0];if(C)return x.style().getRenderedStyle(C,p)},style:function(p,x){var C=this.cy();if(!C.styleEnabled())return this;var L=!1,O=C.style();if(it(p)){var N=p;O.applyBypass(this,N,L),this.emitAndNotify("style")}else if(mt(p))if(x===void 0){var j=this[0];return j?O.getStylePropertyValue(j,p):void 0}else O.applyBypass(this,p,x,L),this.emitAndNotify("style");else if(p===void 0){var H=this[0];return H?O.getRawStyle(H):void 0}return this},removeStyle:function(p){var x=this.cy();if(!x.styleEnabled())return this;var C=!1,L=x.style(),O=this;if(p===void 0)for(var N=0;N<O.length;N++){var j=O[N];L.removeAllBypasses(j,C)}else{p=p.split(/\s+/);for(var H=0;H<O.length;H++){var q=O[H];L.removeBypasses(q,p,C)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var p=this.cy();if(!p.styleEnabled())return 1;var x=p.hasCompoundNodes(),C=this[0];if(C){var L=C._private,O=C.pstyle("opacity").value;if(!x)return O;var N=L.data.parent?C.parents():null;if(N)for(var j=0;j<N.length;j++){var H=N[j],q=H.pstyle("opacity").value;O=q*O}return O}},transparent:function(){var p=this.cy();if(!p.styleEnabled())return!1;var x=this[0],C=x.cy().hasCompoundNodes();if(x)return C?x.effectiveOpacity()===0:x.pstyle("opacity").value===0},backgrounding:function(){var p=this.cy();if(!p.styleEnabled())return!1;var x=this[0];return!!x._private.backgrounding}};function uM(y,p){var x=y._private,C=x.data.parent?y.parents():null;if(C)for(var L=0;L<C.length;L++){var O=C[L];if(!p(O))return!1}return!0}function lM(y){var p=y.ok,x=y.edgeOkViaNode||y.ok,C=y.parentOk||y.ok;return function(){var L=this.cy();if(!L.styleEnabled())return!0;var O=this[0],N=L.hasCompoundNodes();if(O){var j=O._private;if(!p(O))return!1;if(O.isNode())return!N||uM(O,C);var H=j.source,q=j.target;return x(H)&&(!N||uM(H,x))&&(H===q||x(q)&&(!N||uM(q,x)))}}}var u6=wC("eleTakesUpSpace",function(y){return y.pstyle("display").value==="element"&&y.width()!==0&&(y.isNode()?y.height()!==0:!0)});b1.takesUpSpace=mC("takesUpSpace",lM({ok:u6}));var eet=wC("eleInteractive",function(y){return y.pstyle("events").value==="yes"&&y.pstyle("visibility").value==="visible"&&u6(y)}),net=wC("parentInteractive",function(y){return y.pstyle("visibility").value==="visible"&&u6(y)});b1.interactive=mC("interactive",lM({ok:eet,parentOk:net,edgeOkViaNode:u6})),b1.noninteractive=function(){var y=this[0];if(y)return!y.interactive()};var ret=wC("eleVisible",function(y){return y.pstyle("visibility").value==="visible"&&y.pstyle("opacity").pfValue!==0&&u6(y)}),iet=u6;b1.visible=mC("visible",lM({ok:ret,edgeOkViaNode:iet})),b1.hidden=function(){var y=this[0];if(y)return!y.visible()},b1.isBundledBezier=mC("isBundledBezier",function(){return this.cy().styleEnabled()?!this.removed()&&this.pstyle("curve-style").value==="bezier"&&this.takesUpSpace():!1}),b1.bypass=b1.css=b1.style,b1.renderedCss=b1.renderedStyle,b1.removeBypass=b1.removeCss=b1.removeStyle,b1.pstyle=b1.parsedStyle;var x0={};function vC(y){return function(){var p=arguments,x=[];if(p.length===2){var C=p[0],L=p[1];this.on(y.event,C,L)}else if(p.length===1&&ct(p[0])){var O=p[0];this.on(y.event,O)}else if(p.length===0||p.length===1&&rt(p[0])){for(var N=p.length===1?p[0]:null,j=0;j<this.length;j++){var H=this[j],q=!y.ableField||H._private[y.ableField],W=H._private[y.field]!=y.value;if(y.overrideAble){var Z=y.overrideAble(H);if(Z!==void 0&&(q=Z,!Z))return this}q&&(H._private[y.field]=y.value,W&&x.push(H))}var st=this.spawn(x);st.updateStyle(),st.emit(y.event),N&&st.emit(N)}return this}}function l6(y){x0[y.field]=function(){var p=this[0];if(p){if(y.overrideField){var x=y.overrideField(p);if(x!==void 0)return x}return p._private[y.field]}},x0[y.on]=vC({event:y.on,field:y.field,ableField:y.ableField,overrideAble:y.overrideAble,value:!0}),x0[y.off]=vC({event:y.off,field:y.field,ableField:y.ableField,overrideAble:y.overrideAble,value:!1})}l6({field:"locked",overrideField:function(p){return p.cy().autolock()?!0:void 0},on:"lock",off:"unlock"}),l6({field:"grabbable",overrideField:function(p){return p.cy().autoungrabify()||p.pannable()?!1:void 0},on:"grabify",off:"ungrabify"}),l6({field:"selected",ableField:"selectable",overrideAble:function(p){return p.cy().autounselectify()?!1:void 0},on:"select",off:"unselect"}),l6({field:"selectable",overrideField:function(p){return p.cy().autounselectify()?!1:void 0},on:"selectify",off:"unselectify"}),x0.deselect=x0.unselect,x0.grabbed=function(){var y=this[0];if(y)return y._private.grabbed},l6({field:"active",on:"activate",off:"unactivate"}),l6({field:"pannable",on:"panify",off:"unpanify"}),x0.inactive=function(){var y=this[0];if(y)return!y._private.active};var K1={},JR=function(p){return function(C){for(var L=this,O=[],N=0;N<L.length;N++){var j=L[N];if(j.isNode()){for(var H=!1,q=j.connectedEdges(),W=0;W<q.length;W++){var Z=q[W],st=Z.source(),bt=Z.target();if(p.noIncomingEdges&&bt===j&&st!==j||p.noOutgoingEdges&&st===j&&bt!==j){H=!0;break}}H||O.push(j)}}return this.spawn(O,!0).filter(C)}},ZR=function(p){return function(x){for(var C=this,L=[],O=0;O<C.length;O++){var N=C[O];if(N.isNode())for(var j=N.connectedEdges(),H=0;H<j.length;H++){var q=j[H],W=q.source(),Z=q.target();p.outgoing&&W===N?(L.push(q),L.push(Z)):p.incoming&&Z===N&&(L.push(q),L.push(W))}}return this.spawn(L,!0).filter(x)}},tj=function(p){return function(x){for(var C=this,L=[],O={};;){var N=p.outgoing?C.outgoers():C.incomers();if(N.length===0)break;for(var j=!1,H=0;H<N.length;H++){var q=N[H],W=q.id();O[W]||(O[W]=!0,L.push(q),j=!0)}if(!j)break;C=N}return this.spawn(L,!0).filter(x)}};K1.clearTraversalCache=function(){for(var y=0;y<this.length;y++)this[y]._private.traversalCache=null},we(K1,{roots:JR({noIncomingEdges:!0}),leaves:JR({noOutgoingEdges:!0}),outgoers:ap(ZR({outgoing:!0}),"outgoers"),successors:tj({outgoing:!0}),incomers:ap(ZR({incoming:!0}),"incomers"),predecessors:tj({incoming:!0})}),we(K1,{neighborhood:ap(function(y){for(var p=[],x=this.nodes(),C=0;C<x.length;C++)for(var L=x[C],O=L.connectedEdges(),N=0;N<O.length;N++){var j=O[N],H=j.source(),q=j.target(),W=L===H?q:H;W.length>0&&p.push(W[0]),p.push(j[0])}return this.spawn(p,!0).filter(y)},"neighborhood"),closedNeighborhood:function(p){return this.neighborhood().add(this).filter(p)},openNeighborhood:function(p){return this.neighborhood(p)}}),K1.neighbourhood=K1.neighborhood,K1.closedNeighbourhood=K1.closedNeighborhood,K1.openNeighbourhood=K1.openNeighborhood,we(K1,{source:ap(function(p){var x=this[0],C;return x&&(C=x._private.source||x.cy().collection()),C&&p?C.filter(p):C},"source"),target:ap(function(p){var x=this[0],C;return x&&(C=x._private.target||x.cy().collection()),C&&p?C.filter(p):C},"target"),sources:ej({attr:"source"}),targets:ej({attr:"target"})});function ej(y){return function(x){for(var C=[],L=0;L<this.length;L++){var O=this[L],N=O._private[y.attr];N&&C.push(N)}return this.spawn(C,!0).filter(x)}}we(K1,{edgesWith:ap(nj(),"edgesWith"),edgesTo:ap(nj({thisIsSrc:!0}),"edgesTo")});function nj(y){return function(x){var C=[],L=this._private.cy,O=y||{};mt(x)&&(x=L.$(x));for(var N=0;N<x.length;N++)for(var j=x[N]._private.edges,H=0;H<j.length;H++){var q=j[H],W=q._private.data,Z=this.hasElementWithId(W.source)&&x.hasElementWithId(W.target),st=x.hasElementWithId(W.source)&&this.hasElementWithId(W.target),bt=Z||st;bt&&((O.thisIsSrc||O.thisIsTgt)&&(O.thisIsSrc&&!Z||O.thisIsTgt&&!st)||C.push(q))}return this.spawn(C,!0)}}we(K1,{connectedEdges:ap(function(y){for(var p=[],x=this,C=0;C<x.length;C++){var L=x[C];if(L.isNode())for(var O=L._private.edges,N=0;N<O.length;N++){var j=O[N];p.push(j)}}return this.spawn(p,!0).filter(y)},"connectedEdges"),connectedNodes:ap(function(y){for(var p=[],x=this,C=0;C<x.length;C++){var L=x[C];L.isEdge()&&(p.push(L.source()[0]),p.push(L.target()[0]))}return this.spawn(p,!0).filter(y)},"connectedNodes"),parallelEdges:ap(rj(),"parallelEdges"),codirectedEdges:ap(rj({codirected:!0}),"codirectedEdges")});function rj(y){var p={codirected:!1};return y=we({},p,y),function(C){for(var L=[],O=this.edges(),N=y,j=0;j<O.length;j++)for(var H=O[j],q=H._private,W=q.source,Z=W._private.data.id,st=q.data.target,bt=W._private.edges,pt=0;pt<bt.length;pt++){var _t=bt[pt],St=_t._private.data,Et=St.target,Nt=St.source,Pt=Et===st&&Nt===Z,qt=Z===Et&&st===Nt;(N.codirected&&Pt||!N.codirected&&(Pt||qt))&&L.push(_t)}return this.spawn(L,!0).filter(C)}}we(K1,{components:function(p){var x=this,C=x.cy(),L=C.collection(),O=p==null?x.nodes():p.nodes(),N=[];p!=null&&O.empty()&&(O=p.sources());var j=function(W,Z){L.merge(W),O.unmerge(W),Z.merge(W)};if(O.empty())return x.spawn();var H=function(){var W=C.collection();N.push(W);var Z=O[0];j(Z,W),x.bfs({directed:!1,roots:Z,visit:function(bt){return j(bt,W)}}),W.forEach(function(st){st.connectedEdges().forEach(function(bt){x.has(bt)&&W.has(bt.source())&&W.has(bt.target())&&W.merge(bt)})})};do H();while(O.length>0);return N},component:function(){var p=this[0];return p.cy().mutableElements().components(p)[0]}}),K1.componentsOf=K1.components;var w1=function(p,x){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(p===void 0){$l("A collection must have a reference to the core");return}var O=new F2,N=!1;if(!x)x=[];else if(x.length>0&&it(x[0])&&!V(x[0])){N=!0;for(var j=[],H=new Wx,q=0,W=x.length;q<W;q++){var Z=x[q];Z.data==null&&(Z.data={});var st=Z.data;if(st.id==null)st.id=MB();else if(p.hasElementWithId(st.id)||H.has(st.id))continue;var bt=new K9(p,Z,!1);j.push(bt),H.add(st.id)}x=j}this.length=0;for(var pt=0,_t=x.length;pt<_t;pt++){var St=x[pt][0];if(St!=null){var Et=St._private.data.id;(!C||!O.has(Et))&&(C&&O.set(Et,{index:this.length,ele:St}),this[this.length]=St,this.length++)}}this._private={eles:this,cy:p,get map(){return this.lazyMap==null&&this.rebuildMap(),this.lazyMap},set map(Nt){this.lazyMap=Nt},rebuildMap:function(){for(var Pt=this.lazyMap=new F2,qt=this.eles,re=0;re<qt.length;re++){var ee=qt[re];Pt.set(ee.id(),{index:re,ele:ee})}}},C&&(this._private.map=O),N&&!L&&this.restore()},Bu=K9.prototype=w1.prototype=Object.create(Array.prototype);Bu.instanceString=function(){return"collection"},Bu.spawn=function(y,p){return new w1(this.cy(),y,p)},Bu.spawnSelf=function(){return this.spawn(this)},Bu.cy=function(){return this._private.cy},Bu.renderer=function(){return this._private.cy.renderer()},Bu.element=function(){return this[0]},Bu.collection=function(){return Ot(this)?this:new w1(this._private.cy,[this])},Bu.unique=function(){return new w1(this._private.cy,this,!0)},Bu.hasElementWithId=function(y){return y=""+y,this._private.map.has(y)},Bu.getElementById=function(y){y=""+y;var p=this._private.cy,x=this._private.map.get(y);return x?x.ele:new w1(p)},Bu.$id=Bu.getElementById,Bu.poolIndex=function(){var y=this._private.cy,p=y._private.elements,x=this[0]._private.data.id;return p._private.map.get(x).index},Bu.indexOf=function(y){var p=y[0]._private.data.id;return this._private.map.get(p).index},Bu.indexOfId=function(y){return y=""+y,this._private.map.get(y).index},Bu.json=function(y){var p=this.element(),x=this.cy();if(p==null&&y)return this;if(p!=null){var C=p._private;if(it(y)){if(x.startBatch(),y.data){p.data(y.data);var L=C.data;if(p.isEdge()){var O=!1,N={},j=y.data.source,H=y.data.target;j!=null&&j!=L.source&&(N.source=""+j,O=!0),H!=null&&H!=L.target&&(N.target=""+H,O=!0),O&&(p=p.move(N))}else{var q="parent"in y.data,W=y.data.parent;q&&(W!=null||L.parent!=null)&&W!=L.parent&&(W===void 0&&(W=null),W!=null&&(W=""+W),p=p.move({parent:W}))}}y.position&&p.position(y.position);var Z=function(_t,St,Et){var Nt=y[_t];Nt!=null&&Nt!==C[_t]&&(Nt?p[St]():p[Et]())};return Z("removed","remove","restore"),Z("selected","select","unselect"),Z("selectable","selectify","unselectify"),Z("locked","lock","unlock"),Z("grabbable","grabify","ungrabify"),Z("pannable","panify","unpanify"),y.classes!=null&&p.classes(y.classes),x.endBatch(),this}else if(y===void 0){var st={data:P2(C.data),position:P2(C.position),group:C.group,removed:C.removed,selected:C.selected,selectable:C.selectable,locked:C.locked,grabbable:C.grabbable,pannable:C.pannable,classes:null};st.classes="";var bt=0;return C.classes.forEach(function(pt){return st.classes+=bt++===0?pt:" "+pt}),st}}},Bu.jsons=function(){for(var y=[],p=0;p<this.length;p++){var x=this[p],C=x.json();y.push(C)}return y},Bu.clone=function(){for(var y=this.cy(),p=[],x=0;x<this.length;x++){var C=this[x],L=C.json(),O=new K9(y,L,!1);p.push(O)}return new w1(y,p)},Bu.copy=Bu.clone,Bu.restore=function(){for(var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,x=this,C=x.cy(),L=C._private,O=[],N=[],j,H=0,q=x.length;H<q;H++){var W=x[H];p&&!W.removed()||(W.isNode()?O.push(W):N.push(W))}j=O.concat(N);var Z,st=function(){j.splice(Z,1),Z--};for(Z=0;Z<j.length;Z++){var bt=j[Z],pt=bt._private,_t=pt.data;if(bt.clearTraversalCache(),!(!p&&!pt.removed)){if(_t.id===void 0)_t.id=MB();else if(Q(_t.id))_t.id=""+_t.id;else if(Ft(_t.id)||!mt(_t.id)){$l("Can not create element with invalid string ID `"+_t.id+"`"),st();continue}else if(C.hasElementWithId(_t.id)){$l("Can not create second element with ID `"+_t.id+"`"),st();continue}}var St=_t.id;if(bt.isNode()){var Et=pt.position;Et.x==null&&(Et.x=0),Et.y==null&&(Et.y=0)}if(bt.isEdge()){for(var Nt=bt,Pt=["source","target"],qt=Pt.length,re=!1,ee=0;ee<qt;ee++){var Ut=Pt[ee],de=_t[Ut];Q(de)&&(de=_t[Ut]=""+_t[Ut]),de==null||de===""?($l("Can not create edge `"+St+"` with unspecified "+Ut),re=!0):C.hasElementWithId(de)||($l("Can not create edge `"+St+"` with nonexistant "+Ut+" `"+de+"`"),re=!0)}if(re){st();continue}var Yt=C.getElementById(_t.source),Ee=C.getElementById(_t.target);Yt.same(Ee)?Yt._private.edges.push(Nt):(Yt._private.edges.push(Nt),Ee._private.edges.push(Nt)),Nt._private.source=Yt,Nt._private.target=Ee}pt.map=new F2,pt.map.set(St,{ele:bt,index:0}),pt.removed=!1,p&&C.addToPool(bt)}for(var Te=0;Te<O.length;Te++){var ie=O[Te],ze=ie._private.data;Q(ze.parent)&&(ze.parent=""+ze.parent);var me=ze.parent,yn=me!=null;if(yn||ie._private.parent){var nn=ie._private.parent?C.collection().merge(ie._private.parent):C.getElementById(me);if(nn.empty())ze.parent=void 0;else if(nn[0].removed())Gc("Node added with missing parent, reference to parent removed"),ze.parent=void 0,ie._private.parent=null;else{for(var qe=!1,Tn=nn;!Tn.empty();){if(ie.same(Tn)){qe=!0,ze.parent=void 0;break}Tn=Tn.parent()}qe||(nn[0]._private.children.push(ie),ie._private.parent=nn[0],L.hasCompoundNodes=!0)}}}if(j.length>0){for(var Xn=j.length===x.length?x:new w1(C,j),lr=0;lr<Xn.length;lr++){var Sn=Xn[lr];Sn.isNode()||(Sn.parallelEdges().clearTraversalCache(),Sn.source().clearTraversalCache(),Sn.target().clearTraversalCache())}var or;L.hasCompoundNodes?or=C.collection().merge(Xn).merge(Xn.connectedNodes()).merge(Xn.parent()):or=Xn,or.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(y),y?Xn.emitAndNotify("add"):p&&Xn.emit("add")}return x},Bu.removed=function(){var y=this[0];return y&&y._private.removed},Bu.inside=function(){var y=this[0];return y&&!y._private.removed},Bu.remove=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,x=this,C=[],L={},O=x._private.cy;function N(me){for(var yn=me._private.edges,nn=0;nn<yn.length;nn++)H(yn[nn])}function j(me){for(var yn=me._private.children,nn=0;nn<yn.length;nn++)H(yn[nn])}function H(me){var yn=L[me.id()];p&&me.removed()||yn||(L[me.id()]=!0,me.isNode()?(C.push(me),N(me),j(me)):C.unshift(me))}for(var q=0,W=x.length;q<W;q++){var Z=x[q];H(Z)}function st(me,yn){var nn=me._private.edges;oy(nn,yn),me.clearTraversalCache()}function bt(me){me.clearTraversalCache()}var pt=[];pt.ids={};function _t(me,yn){yn=yn[0],me=me[0];var nn=me._private.children,qe=me.id();oy(nn,yn),yn._private.parent=null,pt.ids[qe]||(pt.ids[qe]=!0,pt.push(me))}x.dirtyCompoundBoundsCache(),p&&O.removeFromPool(C);for(var St=0;St<C.length;St++){var Et=C[St];if(Et.isEdge()){var Nt=Et.source()[0],Pt=Et.target()[0];st(Nt,Et),st(Pt,Et);for(var qt=Et.parallelEdges(),re=0;re<qt.length;re++){var ee=qt[re];bt(ee),ee.isBundledBezier()&&ee.dirtyBoundingBoxCache()}}else{var Ut=Et.parent();Ut.length!==0&&_t(Ut,Et)}p&&(Et._private.removed=!0)}var de=O._private.elements;O._private.hasCompoundNodes=!1;for(var Yt=0;Yt<de.length;Yt++){var Ee=de[Yt];if(Ee.isParent()){O._private.hasCompoundNodes=!0;break}}var Te=new w1(this.cy(),C);Te.size()>0&&(y?Te.emitAndNotify("remove"):p&&Te.emit("remove"));for(var ie=0;ie<pt.length;ie++){var ze=pt[ie];(!p||!ze.removed())&&ze.updateStyle()}return Te},Bu.move=function(y){var p=this._private.cy,x=this,C=!1,L=!1,O=function(pt){return pt==null?pt:""+pt};if(y.source!==void 0||y.target!==void 0){var N=O(y.source),j=O(y.target),H=N!=null&&p.hasElementWithId(N),q=j!=null&&p.hasElementWithId(j);(H||q)&&(p.batch(function(){x.remove(C,L),x.emitAndNotify("moveout");for(var bt=0;bt<x.length;bt++){var pt=x[bt],_t=pt._private.data;pt.isEdge()&&(H&&(_t.source=N),q&&(_t.target=j))}x.restore(C,L)}),x.emitAndNotify("move"))}else if(y.parent!==void 0){var W=O(y.parent),Z=W===null||p.hasElementWithId(W);if(Z){var st=W===null?void 0:W;p.batch(function(){var bt=x.remove(C,L);bt.emitAndNotify("moveout");for(var pt=0;pt<x.length;pt++){var _t=x[pt],St=_t._private.data;_t.isNode()&&(St.parent=st)}bt.restore(C,L)}),x.emitAndNotify("move")}}return this},[aR,ktt,lC,hy,a6,fy,q8,sM,QR,aM,oM,pC,bC,b1,x0,K1].forEach(function(y){we(Bu,y)});var set={add:function(p){var x,C=this;if(yt(p)){var L=p;if(L._private.cy===C)x=L.restore();else{for(var O=[],N=0;N<L.length;N++){var j=L[N];O.push(j.json())}x=new w1(C,O)}}else if(rt(p)){var H=p;x=new w1(C,H)}else if(it(p)&&(rt(p.nodes)||rt(p.edges))){for(var q=p,W=[],Z=["nodes","edges"],st=0,bt=Z.length;st<bt;st++){var pt=Z[st],_t=q[pt];if(rt(_t))for(var St=0,Et=_t.length;St<Et;St++){var Nt=we({group:pt},_t[St]);W.push(Nt)}}x=new w1(C,W)}else{var Pt=p;x=new K9(C,Pt).collection()}return x},remove:function(p){if(!yt(p)){if(mt(p)){var x=p;p=this.$(x)}}return p.remove()}};/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */function aet(y,p,x,C){var L=4,O=.001,N=1e-7,j=10,H=11,q=1/(H-1),W=typeof Float32Array<"u";if(arguments.length!==4)return!1;for(var Z=0;Z<4;++Z)if(typeof arguments[Z]!="number"||isNaN(arguments[Z])||!isFinite(arguments[Z]))return!1;y=Math.min(y,1),x=Math.min(x,1),y=Math.max(y,0),x=Math.max(x,0);var st=W?new Float32Array(H):new Array(H);function bt(Ee,Te){return 1-3*Te+3*Ee}function pt(Ee,Te){return 3*Te-6*Ee}function _t(Ee){return 3*Ee}function St(Ee,Te,ie){return((bt(Te,ie)*Ee+pt(Te,ie))*Ee+_t(Te))*Ee}function Et(Ee,Te,ie){return 3*bt(Te,ie)*Ee*Ee+2*pt(Te,ie)*Ee+_t(Te)}function Nt(Ee,Te){for(var ie=0;ie<L;++ie){var ze=Et(Te,y,x);if(ze===0)return Te;var me=St(Te,y,x)-Ee;Te-=me/ze}return Te}function Pt(){for(var Ee=0;Ee<H;++Ee)st[Ee]=St(Ee*q,y,x)}function qt(Ee,Te,ie){var ze,me,yn=0;do me=Te+(ie-Te)/2,ze=St(me,y,x)-Ee,ze>0?ie=me:Te=me;while(Math.abs(ze)>N&&++yn<j);return me}function re(Ee){for(var Te=0,ie=1,ze=H-1;ie!==ze&&st[ie]<=Ee;++ie)Te+=q;--ie;var me=(Ee-st[ie])/(st[ie+1]-st[ie]),yn=Te+me*q,nn=Et(yn,y,x);return nn>=O?Nt(Ee,yn):nn===0?yn:qt(Ee,Te,Te+q)}var ee=!1;function Ut(){ee=!0,(y!==p||x!==C)&&Pt()}var de=function(Te){return ee||Ut(),y===p&&x===C?Te:Te===0?0:Te===1?1:St(re(Te),p,C)};de.getControlPoints=function(){return[{x:y,y:p},{x,y:C}]};var Yt="generateBezier("+[y,p,x,C]+")";return de.toString=function(){return Yt},de}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var oet=function(){function y(C){return-C.tension*C.x-C.friction*C.v}function p(C,L,O){var N={x:C.x+O.dx*L,v:C.v+O.dv*L,tension:C.tension,friction:C.friction};return{dx:N.v,dv:y(N)}}function x(C,L){var O={dx:C.v,dv:y(C)},N=p(C,L*.5,O),j=p(C,L*.5,N),H=p(C,L,j),q=1/6*(O.dx+2*(N.dx+j.dx)+H.dx),W=1/6*(O.dv+2*(N.dv+j.dv)+H.dv);return C.x=C.x+q*L,C.v=C.v+W*L,C}return function C(L,O,N){var j={x:-1,v:0,tension:null,friction:null},H=[0],q=0,W=1/1e4,Z=16/1e3,st,bt,pt;for(L=parseFloat(L)||500,O=parseFloat(O)||20,N=N||null,j.tension=L,j.friction=O,st=N!==null,st?(q=C(L,O),bt=q/N*Z):bt=Z;pt=x(pt||j,bt),H.push(1+pt.x),q+=16,Math.abs(pt.x)>W&&Math.abs(pt.v)>W;);return st?function(_t){return H[_t*(H.length-1)|0]}:q}}(),Ru=function(p,x,C,L){var O=aet(p,x,C,L);return function(N,j,H){return N+(j-N)*O(H)}},yC={linear:function(p,x,C){return p+(x-p)*C},ease:Ru(.25,.1,.25,1),"ease-in":Ru(.42,0,1,1),"ease-out":Ru(0,0,.58,1),"ease-in-out":Ru(.42,0,.58,1),"ease-in-sine":Ru(.47,0,.745,.715),"ease-out-sine":Ru(.39,.575,.565,1),"ease-in-out-sine":Ru(.445,.05,.55,.95),"ease-in-quad":Ru(.55,.085,.68,.53),"ease-out-quad":Ru(.25,.46,.45,.94),"ease-in-out-quad":Ru(.455,.03,.515,.955),"ease-in-cubic":Ru(.55,.055,.675,.19),"ease-out-cubic":Ru(.215,.61,.355,1),"ease-in-out-cubic":Ru(.645,.045,.355,1),"ease-in-quart":Ru(.895,.03,.685,.22),"ease-out-quart":Ru(.165,.84,.44,1),"ease-in-out-quart":Ru(.77,0,.175,1),"ease-in-quint":Ru(.755,.05,.855,.06),"ease-out-quint":Ru(.23,1,.32,1),"ease-in-out-quint":Ru(.86,0,.07,1),"ease-in-expo":Ru(.95,.05,.795,.035),"ease-out-expo":Ru(.19,1,.22,1),"ease-in-out-expo":Ru(1,0,0,1),"ease-in-circ":Ru(.6,.04,.98,.335),"ease-out-circ":Ru(.075,.82,.165,1),"ease-in-out-circ":Ru(.785,.135,.15,.86),spring:function(p,x,C){if(C===0)return yC.linear;var L=oet(p,x,C);return function(O,N,j){return O+(N-O)*L(j)}},"cubic-bezier":Ru};function ij(y,p,x,C,L){if(C===1||p===x)return x;var O=L(p,x,C);return y==null||((y.roundValue||y.color)&&(O=Math.round(O)),y.min!==void 0&&(O=Math.max(O,y.min)),y.max!==void 0&&(O=Math.min(O,y.max))),O}function sj(y,p){return y.pfValue!=null||y.value!=null?y.pfValue!=null&&(p==null||p.type.units!=="%")?y.pfValue:y.value:y}function h6(y,p,x,C,L){var O=L!=null?L.type:null;x<0?x=0:x>1&&(x=1);var N=sj(y,L),j=sj(p,L);if(Q(N)&&Q(j))return ij(O,N,j,x,C);if(rt(N)&&rt(j)){for(var H=[],q=0;q<j.length;q++){var W=N[q],Z=j[q];if(W!=null&&Z!=null){var st=ij(O,W,Z,x,C);H.push(st)}else H.push(Z)}return H}}function cet(y,p,x,C){var L=!C,O=y._private,N=p._private,j=N.easing,H=N.startTime,q=C?y:y.cy(),W=q.style();if(!N.easingImpl)if(j==null)N.easingImpl=yC.linear;else{var Z;if(mt(j)){var st=W.parse("transition-timing-function",j);Z=st.value}else Z=j;var bt,pt;mt(Z)?(bt=Z,pt=[]):(bt=Z[1],pt=Z.slice(2).map(function(Xn){return+Xn})),pt.length>0?(bt==="spring"&&pt.push(N.duration),N.easingImpl=yC[bt].apply(null,pt)):N.easingImpl=yC[bt]}var _t=N.easingImpl,St;if(N.duration===0?St=1:St=(x-H)/N.duration,N.applying&&(St=N.progress),St<0?St=0:St>1&&(St=1),N.delay==null){var Et=N.startPosition,Nt=N.position;if(Nt&&L&&!y.locked()){var Pt={};X8(Et.x,Nt.x)&&(Pt.x=h6(Et.x,Nt.x,St,_t)),X8(Et.y,Nt.y)&&(Pt.y=h6(Et.y,Nt.y,St,_t)),y.position(Pt)}var qt=N.startPan,re=N.pan,ee=O.pan,Ut=re!=null&&C;Ut&&(X8(qt.x,re.x)&&(ee.x=h6(qt.x,re.x,St,_t)),X8(qt.y,re.y)&&(ee.y=h6(qt.y,re.y,St,_t)),y.emit("pan"));var de=N.startZoom,Yt=N.zoom,Ee=Yt!=null&&C;Ee&&(X8(de,Yt)&&(O.zoom=P8(O.minZoom,h6(de,Yt,St,_t),O.maxZoom)),y.emit("zoom")),(Ut||Ee)&&y.emit("viewport");var Te=N.style;if(Te&&Te.length>0&&L){for(var ie=0;ie<Te.length;ie++){var ze=Te[ie],me=ze.name,yn=ze,nn=N.startStyle[me],qe=W.properties[nn.name],Tn=h6(nn,yn,St,_t,qe);W.overrideBypass(y,me,Tn)}y.emit("style")}}return N.progress=St,St}function X8(y,p){return y==null||p==null?!1:Q(y)&&Q(p)?!0:!!(y&&p)}function uet(y,p,x,C){var L=p._private;L.started=!0,L.startTime=x-L.progress*L.duration}function aj(y,p){var x=p._private.aniEles,C=[];function L(W,Z){var st=W._private,bt=st.animation.current,pt=st.animation.queue,_t=!1;if(bt.length===0){var St=pt.shift();St&&bt.push(St)}for(var Et=function(ee){for(var Ut=ee.length-1;Ut>=0;Ut--){var de=ee[Ut];de()}ee.splice(0,ee.length)},Nt=bt.length-1;Nt>=0;Nt--){var Pt=bt[Nt],qt=Pt._private;if(qt.stopped){bt.splice(Nt,1),qt.hooked=!1,qt.playing=!1,qt.started=!1,Et(qt.frames);continue}!qt.playing&&!qt.applying||(qt.playing&&qt.applying&&(qt.applying=!1),qt.started||uet(W,Pt,y),cet(W,Pt,y,Z),qt.applying&&(qt.applying=!1),Et(qt.frames),qt.step!=null&&qt.step(y),Pt.completed()&&(bt.splice(Nt,1),qt.hooked=!1,qt.playing=!1,qt.started=!1,Et(qt.completes)),_t=!0)}return!Z&&bt.length===0&&pt.length===0&&C.push(W),_t}for(var O=!1,N=0;N<x.length;N++){var j=x[N],H=L(j);O=O||H}var q=L(p,!0);(O||q)&&(x.length>0?p.notify("draw",x):p.notify("draw")),x.unmerge(C),p.emit("step")}var het={animate:Kc.animate(),animation:Kc.animation(),animated:Kc.animated(),clearQueue:Kc.clearQueue(),delay:Kc.delay(),delayAnimation:Kc.delayAnimation(),stop:Kc.stop(),addToAnimationPool:function(p){var x=this;x.styleEnabled()&&x._private.aniEles.merge(p)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var p=this;if(p._private.animationsRunning=!0,!p.styleEnabled())return;function x(){p._private.animationsRunning&&g1(function(O){aj(O,p),x()})}var C=p.renderer();C&&C.beforeRender?C.beforeRender(function(O,N){aj(N,p)},C.beforeRenderPriorities.animations):x()}},fet={qualifierCompare:function(p,x){return p==null||x==null?p==null&&x==null:p.sameText(x)},eventMatches:function(p,x,C){var L=x.qualifier;return L!=null?p!==C.target&&V(C.target)&&L.matches(C.target):!0},addEventFields:function(p,x){x.cy=p,x.target=p},callbackContext:function(p,x,C){return x.qualifier!=null?C.target:p}},xC=function(p){return mt(p)?new ly(p):p},oj={createEmitter:function(){var p=this._private;return p.emitter||(p.emitter=new dC(fet,this)),this},emitter:function(){return this._private.emitter},on:function(p,x,C){return this.emitter().on(p,xC(x),C),this},removeListener:function(p,x,C){return this.emitter().removeListener(p,xC(x),C),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(p,x,C){return this.emitter().one(p,xC(x),C),this},once:function(p,x,C){return this.emitter().one(p,xC(x),C),this},emit:function(p,x){return this.emitter().emit(p,x),this},emitAndNotify:function(p,x){return this.emit(p),this.notify(p,x),this}};Kc.eventAliasesOn(oj);var hM={png:function(p){var x=this._private.renderer;return p=p||{},x.png(p)},jpg:function(p){var x=this._private.renderer;return p=p||{},p.bg=p.bg||"#fff",x.jpg(p)}};hM.jpeg=hM.jpg;var kC={layout:function(p){var x=this;if(p==null){$l("Layout options must be specified to make a layout");return}if(p.name==null){$l("A `name` must be specified to make a layout");return}var C=p.name,L=x.extension("layout",C);if(L==null){$l("No such layout `"+C+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var O;mt(p.eles)?O=x.$(p.eles):O=p.eles!=null?p.eles:x.$();var N=new L(we({},p,{cy:x,eles:O}));return N}};kC.createLayout=kC.makeLayout=kC.layout;var det={notify:function(p,x){var C=this._private;if(this.batching()){C.batchNotifications=C.batchNotifications||{};var L=C.batchNotifications[p]=C.batchNotifications[p]||this.collection();x!=null&&L.merge(x);return}if(C.notificationsEnabled){var O=this.renderer();this.destroyed()||!O||O.notify(p,x)}},notifications:function(p){var x=this._private;return p===void 0?x.notificationsEnabled:(x.notificationsEnabled=!!p,this)},noNotifications:function(p){this.notifications(!1),p(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var p=this._private;return p.batchCount==null&&(p.batchCount=0),p.batchCount===0&&(p.batchStyleEles=this.collection(),p.batchNotifications={}),p.batchCount++,this},endBatch:function(){var p=this._private;if(p.batchCount===0)return this;if(p.batchCount--,p.batchCount===0){p.batchStyleEles.updateStyle();var x=this.renderer();Object.keys(p.batchNotifications).forEach(function(C){var L=p.batchNotifications[C];L.empty()?x.notify(C):x.notify(C,L)})}return this},batch:function(p){return this.startBatch(),p(),this.endBatch(),this},batchData:function(p){var x=this;return this.batch(function(){for(var C=Object.keys(p),L=0;L<C.length;L++){var O=C[L],N=p[O],j=x.getElementById(O);j.data(N)}})}},get=p1({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1}),fM={renderTo:function(p,x,C,L){var O=this._private.renderer;return O.renderTo(p,x,C,L),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(p){var x=this,C=x.extension("renderer",p.name);if(C==null){$l("Can not initialise: No such renderer `".concat(p.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));return}p.wheelSensitivity!==void 0&&Gc("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var L=get(p);L.cy=x,x._private.renderer=new C(L),this.notify("init")},destroyRenderer:function(){var p=this;p.notify("destroy");var x=p.container();if(x)for(x._cyreg=null;x.childNodes.length>0;)x.removeChild(x.childNodes[0]);p._private.renderer=null,p.mutableElements().forEach(function(C){var L=C._private;L.rscratch={},L.rstyle={},L.animation.current=[],L.animation.queue=[]})},onRender:function(p){return this.on("render",p)},offRender:function(p){return this.off("render",p)}};fM.invalidateDimensions=fM.resize;var EC={collection:function(p,x){return mt(p)?this.$(p):yt(p)?p.collection():rt(p)?(x||(x={}),new w1(this,p,x.unique,x.removed)):new w1(this)},nodes:function(p){var x=this.$(function(C){return C.isNode()});return p?x.filter(p):x},edges:function(p){var x=this.$(function(C){return C.isEdge()});return p?x.filter(p):x},$:function(p){var x=this._private.elements;return p?x.filter(p):x.spawnSelf()},mutableElements:function(){return this._private.elements}};EC.elements=EC.filter=EC.$;var W1={},Q8="t",pet="f";W1.apply=function(y){for(var p=this,x=p._private,C=x.cy,L=C.collection(),O=0;O<y.length;O++){var N=y[O],j=p.getContextMeta(N);if(!j.empty){var H=p.getContextStyle(j),q=p.applyContextStyle(j,H,N);N._private.appliedInitStyle?p.updateTransitions(N,q.diffProps):N._private.appliedInitStyle=!0;var W=p.updateStyleHints(N);W&&L.push(N)}}return L},W1.getPropertiesDiff=function(y,p){var x=this,C=x._private.propDiffs=x._private.propDiffs||{},L=y+"-"+p,O=C[L];if(O)return O;for(var N=[],j={},H=0;H<x.length;H++){var q=x[H],W=y[H]===Q8,Z=p[H]===Q8,st=W!==Z,bt=q.mappedProperties.length>0;if(st||Z&&bt){var pt=void 0;st&&bt||st?pt=q.properties:bt&&(pt=q.mappedProperties);for(var _t=0;_t<pt.length;_t++){for(var St=pt[_t],Et=St.name,Nt=!1,Pt=H+1;Pt<x.length;Pt++){var qt=x[Pt],re=p[Pt]===Q8;if(re&&(Nt=qt.properties[St.name]!=null,Nt))break}!j[Et]&&!Nt&&(j[Et]=!0,N.push(Et))}}}return C[L]=N,N},W1.getContextMeta=function(y){for(var p=this,x="",C,L=y._private.styleCxtKey||"",O=0;O<p.length;O++){var N=p[O],j=N.selector&&N.selector.matches(y);j?x+=Q8:x+=pet}return C=p.getPropertiesDiff(L,x),y._private.styleCxtKey=x,{key:x,diffPropNames:C,empty:C.length===0}},W1.getContextStyle=function(y){var p=y.key,x=this,C=this._private.contextStyles=this._private.contextStyles||{};if(C[p])return C[p];for(var L={_private:{key:p}},O=0;O<x.length;O++){var N=x[O],j=p[O]===Q8;if(j)for(var H=0;H<N.properties.length;H++){var q=N.properties[H];L[q.name]=q}}return C[p]=L,L},W1.applyContextStyle=function(y,p,x){for(var C=this,L=y.diffPropNames,O={},N=C.types,j=0;j<L.length;j++){var H=L[j],q=p[H],W=x.pstyle(H);if(!q)if(W)W.bypass?q={name:H,deleteBypassed:!0}:q={name:H,delete:!0};else continue;if(W!==q){if(q.mapped===N.fn&&W!=null&&W.mapping!=null&&W.mapping.value===q.value){var Z=W.mapping,st=Z.fnValue=q.value(x);if(st===Z.prevFnValue)continue}var bt=O[H]={prev:W};C.applyParsedProperty(x,q),bt.next=x.pstyle(H),bt.next&&bt.next.bypass&&(bt.next=bt.next.bypassed)}}return{diffProps:O}},W1.updateStyleHints=function(y){var p=y._private,x=this,C=x.propertyGroupNames,L=x.propertyGroupKeys,O=function(gi,ss,na){return x.getPropertiesHash(gi,ss,na)},N=p.styleKey;if(y.removed())return!1;var j=p.group==="nodes",H=y._private.style;C=Object.keys(H);for(var q=0;q<L.length;q++){var W=L[q];p.styleKeys[W]=[sy,g4]}for(var Z=function(gi,ss){return p.styleKeys[ss][0]=fg(gi,p.styleKeys[ss][0])},st=function(gi,ss){return p.styleKeys[ss][1]=O2(gi,p.styleKeys[ss][1])},bt=function(gi,ss){Z(gi,ss),st(gi,ss)},pt=function(gi,ss){for(var na=0;na<gi.length;na++){var vi=gi.charCodeAt(na);Z(vi,ss),st(vi,ss)}},_t=2e9,St=function(gi){return-128<gi&&gi<128&&Math.floor(gi)!==gi?_t-(gi*1024|0):gi},Et=0;Et<C.length;Et++){var Nt=C[Et],Pt=H[Nt];if(Pt!=null){var qt=this.properties[Nt],re=qt.type,ee=qt.groupKey,Ut=void 0;qt.hashOverride!=null?Ut=qt.hashOverride(y,Pt):Pt.pfValue!=null&&(Ut=Pt.pfValue);var de=qt.enums==null?Pt.value:null,Yt=Ut!=null,Ee=de!=null,Te=Yt||Ee,ie=Pt.units;if(re.number&&Te&&!re.multiple){var ze=Yt?Ut:de;bt(St(ze),ee),!Yt&&ie!=null&&pt(ie,ee)}else pt(Pt.strValue,ee)}}for(var me=[sy,g4],yn=0;yn<L.length;yn++){var nn=L[yn],qe=p.styleKeys[nn];me[0]=fg(qe[0],me[0]),me[1]=O2(qe[1],me[1])}p.styleKey=M8(me[0],me[1]);var Tn=p.styleKeys;p.labelDimsKey=N2(Tn.labelDimensions);var Xn=O(y,["label"],Tn.labelDimensions);if(p.labelKey=N2(Xn),p.labelStyleKey=N2(p4(Tn.commonLabel,Xn)),!j){var lr=O(y,["source-label"],Tn.labelDimensions);p.sourceLabelKey=N2(lr),p.sourceLabelStyleKey=N2(p4(Tn.commonLabel,lr));var Sn=O(y,["target-label"],Tn.labelDimensions);p.targetLabelKey=N2(Sn),p.targetLabelStyleKey=N2(p4(Tn.commonLabel,Sn))}if(j){var or=p.styleKeys,pr=or.nodeBody,kr=or.nodeBorder,wr=or.nodeOutline,Cr=or.backgroundImage,$n=or.compound,cr=or.pie,mr=[pr,kr,wr,Cr,$n,cr].filter(function(Sr){return Sr!=null}).reduce(p4,[sy,g4]);p.nodeKey=N2(mr),p.hasPie=cr!=null&&cr[0]!==sy&&cr[1]!==g4}return N!==p.styleKey},W1.clearStyleHints=function(y){var p=y._private;p.styleCxtKey="",p.styleKeys={},p.styleKey=null,p.labelKey=null,p.labelStyleKey=null,p.sourceLabelKey=null,p.sourceLabelStyleKey=null,p.targetLabelKey=null,p.targetLabelStyleKey=null,p.nodeKey=null,p.hasPie=null},W1.applyParsedProperty=function(y,p){var x=this,C=p,L=y._private.style,O,N=x.types,j=x.properties[C.name].type,H=C.bypass,q=L[C.name],W=q&&q.bypass,Z=y._private,st="mapping",bt=function(pr){return pr==null?null:pr.pfValue!=null?pr.pfValue:pr.value},pt=function(){var pr=bt(q),kr=bt(C);x.checkTriggers(y,C.name,pr,kr)};if(p.name==="curve-style"&&y.isEdge()&&(p.value!=="bezier"&&y.isLoop()||p.value==="haystack"&&(y.source().isParent()||y.target().isParent()))&&(C=p=this.parse(p.name,"bezier",H)),C.delete)return L[C.name]=void 0,pt(),!0;if(C.deleteBypassed)return q?q.bypass?(q.bypassed=void 0,pt(),!0):!1:(pt(),!0);if(C.deleteBypass)return q?q.bypass?(L[C.name]=q.bypassed,pt(),!0):!1:(pt(),!0);var _t=function(){Gc("Do not assign mappings to elements without corresponding data (i.e. ele `"+y.id()+"` has no mapping for property `"+C.name+"` with data field `"+C.field+"`); try a `["+C.field+"]` selector to limit scope to elements with `"+C.field+"` defined")};switch(C.mapped){case N.mapData:{for(var St=C.field.split("."),Et=Z.data,Nt=0;Nt<St.length&&Et;Nt++){var Pt=St[Nt];Et=Et[Pt]}if(Et==null)return _t(),!1;var qt;if(Q(Et)){var re=C.fieldMax-C.fieldMin;re===0?qt=0:qt=(Et-C.fieldMin)/re}else return Gc("Do not use continuous mappers without specifying numeric data (i.e. `"+C.field+": "+Et+"` for `"+y.id()+"` is non-numeric)"),!1;if(qt<0?qt=0:qt>1&&(qt=1),j.color){var ee=C.valueMin[0],Ut=C.valueMax[0],de=C.valueMin[1],Yt=C.valueMax[1],Ee=C.valueMin[2],Te=C.valueMax[2],ie=C.valueMin[3]==null?1:C.valueMin[3],ze=C.valueMax[3]==null?1:C.valueMax[3],me=[Math.round(ee+(Ut-ee)*qt),Math.round(de+(Yt-de)*qt),Math.round(Ee+(Te-Ee)*qt),Math.round(ie+(ze-ie)*qt)];O={bypass:C.bypass,name:C.name,value:me,strValue:"rgb("+me[0]+", "+me[1]+", "+me[2]+")"}}else if(j.number){var yn=C.valueMin+(C.valueMax-C.valueMin)*qt;O=this.parse(C.name,yn,C.bypass,st)}else return!1;if(!O)return _t(),!1;O.mapping=C,C=O;break}case N.data:{for(var nn=C.field.split("."),qe=Z.data,Tn=0;Tn<nn.length&&qe;Tn++){var Xn=nn[Tn];qe=qe[Xn]}if(qe!=null&&(O=this.parse(C.name,qe,C.bypass,st)),!O)return _t(),!1;O.mapping=C,C=O;break}case N.fn:{var lr=C.value,Sn=C.fnValue!=null?C.fnValue:lr(y);if(C.prevFnValue=Sn,Sn==null)return Gc("Custom function mappers may not return null (i.e. `"+C.name+"` for ele `"+y.id()+"` is null)"),!1;if(O=this.parse(C.name,Sn,C.bypass,st),!O)return Gc("Custom function mappers may not return invalid values for the property type (i.e. `"+C.name+"` for ele `"+y.id()+"` is invalid)"),!1;O.mapping=P2(C),C=O;break}case void 0:break;default:return!1}return H?(W?C.bypassed=q.bypassed:C.bypassed=q,L[C.name]=C):W?q.bypassed=C:L[C.name]=C,pt(),!0},W1.cleanElements=function(y,p){for(var x=0;x<y.length;x++){var C=y[x];if(this.clearStyleHints(C),C.dirtyCompoundBoundsCache(),C.dirtyBoundingBoxCache(),!p)C._private.style={};else for(var L=C._private.style,O=Object.keys(L),N=0;N<O.length;N++){var j=O[N],H=L[j];H!=null&&(H.bypass?H.bypassed=null:L[j]=null)}}},W1.update=function(){var y=this._private.cy,p=y.mutableElements();p.updateStyle()},W1.updateTransitions=function(y,p){var x=this,C=y._private,L=y.pstyle("transition-property").value,O=y.pstyle("transition-duration").pfValue,N=y.pstyle("transition-delay").pfValue;if(L.length>0&&O>0){for(var j={},H=!1,q=0;q<L.length;q++){var W=L[q],Z=y.pstyle(W),st=p[W];if(st){var bt=st.prev,pt=bt,_t=st.next!=null?st.next:Z,St=!1,Et=void 0,Nt=1e-6;pt&&(Q(pt.pfValue)&&Q(_t.pfValue)?(St=_t.pfValue-pt.pfValue,Et=pt.pfValue+Nt*St):Q(pt.value)&&Q(_t.value)?(St=_t.value-pt.value,Et=pt.value+Nt*St):rt(pt.value)&&rt(_t.value)&&(St=pt.value[0]!==_t.value[0]||pt.value[1]!==_t.value[1]||pt.value[2]!==_t.value[2],Et=pt.strValue),St&&(j[W]=_t.strValue,this.applyBypass(y,W,Et),H=!0))}}if(!H)return;C.transitioning=!0,new e6(function(Pt){N>0?y.delayAnimation(N).play().promise().then(Pt):Pt()}).then(function(){return y.animation({style:j,duration:O,easing:y.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){x.removeBypasses(y,L),y.emitAndNotify("style"),C.transitioning=!1})}else C.transitioning&&(this.removeBypasses(y,L),y.emitAndNotify("style"),C.transitioning=!1)},W1.checkTrigger=function(y,p,x,C,L,O){var N=this.properties[p],j=L(N);j!=null&&j(x,C)&&O(N)},W1.checkZOrderTrigger=function(y,p,x,C){var L=this;this.checkTrigger(y,p,x,C,function(O){return O.triggersZOrder},function(){L._private.cy.notify("zorder",y)})},W1.checkBoundsTrigger=function(y,p,x,C){this.checkTrigger(y,p,x,C,function(L){return L.triggersBounds},function(L){y.dirtyCompoundBoundsCache(),y.dirtyBoundingBoxCache(),L.triggersBoundsOfParallelBeziers&&p==="curve-style"&&(x==="bezier"||C==="bezier")&&y.parallelEdges().forEach(function(O){O.isBundledBezier()&&O.dirtyBoundingBoxCache()}),L.triggersBoundsOfConnectedEdges&&p==="display"&&(x==="none"||C==="none")&&y.connectedEdges().forEach(function(O){O.dirtyBoundingBoxCache()})})},W1.checkTriggers=function(y,p,x,C){y.dirtyStyleCache(),this.checkZOrderTrigger(y,p,x,C),this.checkBoundsTrigger(y,p,x,C)};var J8={};J8.applyBypass=function(y,p,x,C){var L=this,O=[],N=!0;if(p==="*"||p==="**"){if(x!==void 0)for(var j=0;j<L.properties.length;j++){var H=L.properties[j],q=H.name,W=this.parse(q,x,!0);W&&O.push(W)}}else if(mt(p)){var Z=this.parse(p,x,!0);Z&&O.push(Z)}else if(it(p)){var st=p;C=x;for(var bt=Object.keys(st),pt=0;pt<bt.length;pt++){var _t=bt[pt],St=st[_t];if(St===void 0&&(St=st[Ae(_t)]),St!==void 0){var Et=this.parse(_t,St,!0);Et&&O.push(Et)}}}else return!1;if(O.length===0)return!1;for(var Nt=!1,Pt=0;Pt<y.length;Pt++){for(var qt=y[Pt],re={},ee=void 0,Ut=0;Ut<O.length;Ut++){var de=O[Ut];if(C){var Yt=qt.pstyle(de.name);ee=re[de.name]={prev:Yt}}Nt=this.applyParsedProperty(qt,P2(de))||Nt,C&&(ee.next=qt.pstyle(de.name))}Nt&&this.updateStyleHints(qt),C&&this.updateTransitions(qt,re,N)}return Nt},J8.overrideBypass=function(y,p,x){p=pn(p);for(var C=0;C<y.length;C++){var L=y[C],O=L._private.style[p],N=this.properties[p].type,j=N.color,H=N.mutiple,q=O?O.pfValue!=null?O.pfValue:O.value:null;!O||!O.bypass?this.applyBypass(L,p,x):(O.value=x,O.pfValue!=null&&(O.pfValue=x),j?O.strValue="rgb("+x.join(",")+")":H?O.strValue=x.join(" "):O.strValue=""+x,this.updateStyleHints(L)),this.checkTriggers(L,p,q,x)}},J8.removeAllBypasses=function(y,p){return this.removeBypasses(y,this.propertyNames,p)},J8.removeBypasses=function(y,p,x){for(var C=!0,L=0;L<y.length;L++){for(var O=y[L],N={},j=0;j<p.length;j++){var H=p[j],q=this.properties[H],W=O.pstyle(q.name);if(!(!W||!W.bypass)){var Z="",st=this.parse(H,Z,!0),bt=N[q.name]={prev:W};this.applyParsedProperty(O,st),bt.next=O.pstyle(q.name)}}this.updateStyleHints(O),x&&this.updateTransitions(O,N,C)}};var dM={};dM.getEmSizeInPixels=function(){var y=this.containerCss("font-size");return y!=null?parseFloat(y):1},dM.containerCss=function(y){var p=this._private.cy,x=p.container(),C=p.window();if(C&&x&&C.getComputedStyle)return C.getComputedStyle(x).getPropertyValue(y)};var R2={};R2.getRenderedStyle=function(y,p){return p?this.getStylePropertyValue(y,p,!0):this.getRawStyle(y,!0)},R2.getRawStyle=function(y,p){var x=this;if(y=y[0],y){for(var C={},L=0;L<x.properties.length;L++){var O=x.properties[L],N=x.getStylePropertyValue(y,O.name,p);N!=null&&(C[O.name]=N,C[Ae(O.name)]=N)}return C}},R2.getIndexedStyle=function(y,p,x,C){var L=y.pstyle(p)[x][C];return L??y.cy().style().getDefaultProperty(p)[x][0]},R2.getStylePropertyValue=function(y,p,x){var C=this;if(y=y[0],y){var L=C.properties[p];L.alias&&(L=L.pointsTo);var O=L.type,N=y.pstyle(L.name);if(N){var j=N.value,H=N.units,q=N.strValue;if(x&&O.number&&j!=null&&Q(j)){var W=y.cy().zoom(),Z=function(St){return St*W},st=function(St,Et){return Z(St)+Et},bt=rt(j),pt=bt?H.every(function(_t){return _t!=null}):H!=null;return pt?bt?j.map(function(_t,St){return st(_t,H[St])}).join(" "):st(j,H):bt?j.map(function(_t){return mt(_t)?_t:""+Z(_t)}).join(" "):""+Z(j)}else if(q!=null)return q}return null}},R2.getAnimationStartStyle=function(y,p){for(var x={},C=0;C<p.length;C++){var L=p[C],O=L.name,N=y.pstyle(O);N!==void 0&&(it(N)?N=this.parse(O,N.strValue):N=this.parse(O,N)),N&&(x[O]=N)}return x},R2.getPropsList=function(y){var p=this,x=[],C=y,L=p.properties;if(C)for(var O=Object.keys(C),N=0;N<O.length;N++){var j=O[N],H=C[j],q=L[j]||L[pn(j)],W=this.parse(q.name,H);W&&x.push(W)}return x},R2.getNonDefaultPropertiesHash=function(y,p,x){var C=x.slice(),L,O,N,j,H,q;for(H=0;H<p.length;H++)if(L=p[H],O=y.pstyle(L,!1),O!=null)if(O.pfValue!=null)C[0]=fg(j,C[0]),C[1]=O2(j,C[1]);else for(N=O.strValue,q=0;q<N.length;q++)j=N.charCodeAt(q),C[0]=fg(j,C[0]),C[1]=O2(j,C[1]);return C},R2.getPropertiesHash=R2.getNonDefaultPropertiesHash;var TC={};TC.appendFromJson=function(y){for(var p=this,x=0;x<y.length;x++){var C=y[x],L=C.selector,O=C.style||C.css,N=Object.keys(O);p.selector(L);for(var j=0;j<N.length;j++){var H=N[j],q=O[H];p.css(H,q)}}return p},TC.fromJson=function(y){var p=this;return p.resetToDefault(),p.appendFromJson(y),p},TC.json=function(){for(var y=[],p=this.defaultLength;p<this.length;p++){for(var x=this[p],C=x.selector,L=x.properties,O={},N=0;N<L.length;N++){var j=L[N];O[j.name]=j.strValue}y.push({selector:C?C.toString():"core",style:O})}return y};var gM={};gM.appendFromString=function(y){var p=this,x=this,C=""+y,L,O,N;C=C.replace(/[/][*](\s|.)+?[*][/]/g,"");function j(){C.length>L.length?C=C.substr(L.length):C=""}function H(){O.length>N.length?O=O.substr(N.length):O=""}for(;;){var q=C.match(/^\s*$/);if(q)break;var W=C.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!W){Gc("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+C);break}L=W[0];var Z=W[1];if(Z!=="core"){var st=new ly(Z);if(st.invalid){Gc("Skipping parsing of block: Invalid selector found in string stylesheet: "+Z),j();continue}}var bt=W[2],pt=!1;O=bt;for(var _t=[];;){var St=O.match(/^\s*$/);if(St)break;var Et=O.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!Et){Gc("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+bt),pt=!0;break}N=Et[0];var Nt=Et[1],Pt=Et[2],qt=p.properties[Nt];if(!qt){Gc("Skipping property: Invalid property name in: "+N),H();continue}var re=x.parse(Nt,Pt);if(!re){Gc("Skipping property: Invalid property definition in: "+N),H();continue}_t.push({name:Nt,val:Pt}),H()}if(pt){j();break}x.selector(Z);for(var ee=0;ee<_t.length;ee++){var Ut=_t[ee];x.css(Ut.name,Ut.val)}j()}return x},gM.fromString=function(y){var p=this;return p.resetToDefault(),p.appendFromString(y),p};var m1={};(function(){var y=sn,p=Ne,x=_e,C=xe,L=Mn,O=function(mr){return"^"+mr+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},N=function(mr){var Sr=y+"|\\w+|"+p+"|"+x+"|"+C+"|"+L;return"^"+mr+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+y+")\\s*\\,\\s*("+y+")\\s*,\\s*("+Sr+")\\s*\\,\\s*("+Sr+")\\)$"},j=[`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`,"^(none)$","^(.+)$"];m1.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi"]},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},justification:{enums:["left","center","right","auto"]},text:{string:!0},data:{mapping:!0,regex:O("data")},layoutData:{mapping:!0,regex:O("layoutData")},scratch:{mapping:!0,regex:O("scratch")},mapData:{mapping:!0,regex:N("mapData")},mapLayoutData:{mapping:!0,regex:N("mapLayoutData")},mapScratch:{mapping:!0,regex:N("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:j,singleRegexMatchValue:!0},urls:{regexes:j,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(mr,Sr){switch(mr.length){case 2:return Sr[0]!=="deg"&&Sr[0]!=="rad"&&Sr[1]!=="deg"&&Sr[1]!=="rad";case 1:return mt(mr[0])||Sr[0]==="deg"||Sr[0]==="rad";default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+y+")\\s*,\\s*("+y+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+y+")\\s*,\\s*("+y+")\\s*,\\s*("+y+")\\s*,\\s*("+y+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(mr){var Sr=mr.length;return Sr===1||Sr===2||Sr===4}}};var H={zeroNonZero:function(mr,Sr){return(mr==null||Sr==null)&&mr!==Sr||mr==0&&Sr!=0?!0:mr!=0&&Sr==0},any:function(mr,Sr){return mr!=Sr},emptyNonEmpty:function(mr,Sr){var gi=Ft(mr),ss=Ft(Sr);return gi&&!ss||!gi&&ss}},q=m1.types,W=[{name:"label",type:q.text,triggersBounds:H.any,triggersZOrder:H.emptyNonEmpty},{name:"text-rotation",type:q.textRotation,triggersBounds:H.any},{name:"text-margin-x",type:q.bidirectionalSize,triggersBounds:H.any},{name:"text-margin-y",type:q.bidirectionalSize,triggersBounds:H.any}],Z=[{name:"source-label",type:q.text,triggersBounds:H.any},{name:"source-text-rotation",type:q.textRotation,triggersBounds:H.any},{name:"source-text-margin-x",type:q.bidirectionalSize,triggersBounds:H.any},{name:"source-text-margin-y",type:q.bidirectionalSize,triggersBounds:H.any},{name:"source-text-offset",type:q.size,triggersBounds:H.any}],st=[{name:"target-label",type:q.text,triggersBounds:H.any},{name:"target-text-rotation",type:q.textRotation,triggersBounds:H.any},{name:"target-text-margin-x",type:q.bidirectionalSize,triggersBounds:H.any},{name:"target-text-margin-y",type:q.bidirectionalSize,triggersBounds:H.any},{name:"target-text-offset",type:q.size,triggersBounds:H.any}],bt=[{name:"font-family",type:q.fontFamily,triggersBounds:H.any},{name:"font-style",type:q.fontStyle,triggersBounds:H.any},{name:"font-weight",type:q.fontWeight,triggersBounds:H.any},{name:"font-size",type:q.size,triggersBounds:H.any},{name:"text-transform",type:q.textTransform,triggersBounds:H.any},{name:"text-wrap",type:q.textWrap,triggersBounds:H.any},{name:"text-overflow-wrap",type:q.textOverflowWrap,triggersBounds:H.any},{name:"text-max-width",type:q.size,triggersBounds:H.any},{name:"text-outline-width",type:q.size,triggersBounds:H.any},{name:"line-height",type:q.positiveNumber,triggersBounds:H.any}],pt=[{name:"text-valign",type:q.valign,triggersBounds:H.any},{name:"text-halign",type:q.halign,triggersBounds:H.any},{name:"color",type:q.color},{name:"text-outline-color",type:q.color},{name:"text-outline-opacity",type:q.zeroOneNumber},{name:"text-background-color",type:q.color},{name:"text-background-opacity",type:q.zeroOneNumber},{name:"text-background-padding",type:q.size,triggersBounds:H.any},{name:"text-border-opacity",type:q.zeroOneNumber},{name:"text-border-color",type:q.color},{name:"text-border-width",type:q.size,triggersBounds:H.any},{name:"text-border-style",type:q.borderStyle,triggersBounds:H.any},{name:"text-background-shape",type:q.textBackgroundShape,triggersBounds:H.any},{name:"text-justification",type:q.justification}],_t=[{name:"events",type:q.bool,triggersZOrder:H.any},{name:"text-events",type:q.bool,triggersZOrder:H.any}],St=[{name:"display",type:q.display,triggersZOrder:H.any,triggersBounds:H.any,triggersBoundsOfConnectedEdges:!0},{name:"visibility",type:q.visibility,triggersZOrder:H.any},{name:"opacity",type:q.zeroOneNumber,triggersZOrder:H.zeroNonZero},{name:"text-opacity",type:q.zeroOneNumber},{name:"min-zoomed-font-size",type:q.size},{name:"z-compound-depth",type:q.zCompoundDepth,triggersZOrder:H.any},{name:"z-index-compare",type:q.zIndexCompare,triggersZOrder:H.any},{name:"z-index",type:q.number,triggersZOrder:H.any}],Et=[{name:"overlay-padding",type:q.size,triggersBounds:H.any},{name:"overlay-color",type:q.color},{name:"overlay-opacity",type:q.zeroOneNumber,triggersBounds:H.zeroNonZero},{name:"overlay-shape",type:q.overlayShape,triggersBounds:H.any}],Nt=[{name:"underlay-padding",type:q.size,triggersBounds:H.any},{name:"underlay-color",type:q.color},{name:"underlay-opacity",type:q.zeroOneNumber,triggersBounds:H.zeroNonZero},{name:"underlay-shape",type:q.overlayShape,triggersBounds:H.any}],Pt=[{name:"transition-property",type:q.propList},{name:"transition-duration",type:q.time},{name:"transition-delay",type:q.time},{name:"transition-timing-function",type:q.easing}],qt=function(mr,Sr){return Sr.value==="label"?-mr.poolIndex():Sr.pfValue},re=[{name:"height",type:q.nodeSize,triggersBounds:H.any,hashOverride:qt},{name:"width",type:q.nodeSize,triggersBounds:H.any,hashOverride:qt},{name:"shape",type:q.nodeShape,triggersBounds:H.any},{name:"shape-polygon-points",type:q.polygonPointList,triggersBounds:H.any},{name:"background-color",type:q.color},{name:"background-fill",type:q.fill},{name:"background-opacity",type:q.zeroOneNumber},{name:"background-blacken",type:q.nOneOneNumber},{name:"background-gradient-stop-colors",type:q.colors},{name:"background-gradient-stop-positions",type:q.percentages},{name:"background-gradient-direction",type:q.gradientDirection},{name:"padding",type:q.sizeMaybePercent,triggersBounds:H.any},{name:"padding-relative-to",type:q.paddingRelativeTo,triggersBounds:H.any},{name:"bounds-expansion",type:q.boundsExpansion,triggersBounds:H.any}],ee=[{name:"border-color",type:q.color},{name:"border-opacity",type:q.zeroOneNumber},{name:"border-width",type:q.size,triggersBounds:H.any},{name:"border-style",type:q.borderStyle}],Ut=[{name:"outline-color",type:q.color},{name:"outline-opacity",type:q.zeroOneNumber},{name:"outline-width",type:q.size,triggersBounds:H.any},{name:"outline-style",type:q.borderStyle},{name:"outline-offset",type:q.size,triggersBounds:H.any}],de=[{name:"background-image",type:q.urls},{name:"background-image-crossorigin",type:q.bgCrossOrigin},{name:"background-image-opacity",type:q.zeroOneNumbers},{name:"background-image-containment",type:q.bgContainment},{name:"background-image-smoothing",type:q.bools},{name:"background-position-x",type:q.bgPos},{name:"background-position-y",type:q.bgPos},{name:"background-width-relative-to",type:q.bgRelativeTo},{name:"background-height-relative-to",type:q.bgRelativeTo},{name:"background-repeat",type:q.bgRepeat},{name:"background-fit",type:q.bgFit},{name:"background-clip",type:q.bgClip},{name:"background-width",type:q.bgWH},{name:"background-height",type:q.bgWH},{name:"background-offset-x",type:q.bgPos},{name:"background-offset-y",type:q.bgPos}],Yt=[{name:"position",type:q.position,triggersBounds:H.any},{name:"compound-sizing-wrt-labels",type:q.compoundIncludeLabels,triggersBounds:H.any},{name:"min-width",type:q.size,triggersBounds:H.any},{name:"min-width-bias-left",type:q.sizeMaybePercent,triggersBounds:H.any},{name:"min-width-bias-right",type:q.sizeMaybePercent,triggersBounds:H.any},{name:"min-height",type:q.size,triggersBounds:H.any},{name:"min-height-bias-top",type:q.sizeMaybePercent,triggersBounds:H.any},{name:"min-height-bias-bottom",type:q.sizeMaybePercent,triggersBounds:H.any}],Ee=[{name:"line-style",type:q.lineStyle},{name:"line-color",type:q.color},{name:"line-fill",type:q.fill},{name:"line-cap",type:q.lineCap},{name:"line-opacity",type:q.zeroOneNumber},{name:"line-dash-pattern",type:q.numbers},{name:"line-dash-offset",type:q.number},{name:"line-gradient-stop-colors",type:q.colors},{name:"line-gradient-stop-positions",type:q.percentages},{name:"curve-style",type:q.curveStyle,triggersBounds:H.any,triggersBoundsOfParallelBeziers:!0},{name:"haystack-radius",type:q.zeroOneNumber,triggersBounds:H.any},{name:"source-endpoint",type:q.edgeEndpoint,triggersBounds:H.any},{name:"target-endpoint",type:q.edgeEndpoint,triggersBounds:H.any},{name:"control-point-step-size",type:q.size,triggersBounds:H.any},{name:"control-point-distances",type:q.bidirectionalSizes,triggersBounds:H.any},{name:"control-point-weights",type:q.numbers,triggersBounds:H.any},{name:"segment-distances",type:q.bidirectionalSizes,triggersBounds:H.any},{name:"segment-weights",type:q.numbers,triggersBounds:H.any},{name:"taxi-turn",type:q.bidirectionalSizeMaybePercent,triggersBounds:H.any},{name:"taxi-turn-min-distance",type:q.size,triggersBounds:H.any},{name:"taxi-direction",type:q.axisDirection,triggersBounds:H.any},{name:"edge-distances",type:q.edgeDistances,triggersBounds:H.any},{name:"arrow-scale",type:q.positiveNumber,triggersBounds:H.any},{name:"loop-direction",type:q.angle,triggersBounds:H.any},{name:"loop-sweep",type:q.angle,triggersBounds:H.any},{name:"source-distance-from-node",type:q.size,triggersBounds:H.any},{name:"target-distance-from-node",type:q.size,triggersBounds:H.any}],Te=[{name:"ghost",type:q.bool,triggersBounds:H.any},{name:"ghost-offset-x",type:q.bidirectionalSize,triggersBounds:H.any},{name:"ghost-offset-y",type:q.bidirectionalSize,triggersBounds:H.any},{name:"ghost-opacity",type:q.zeroOneNumber}],ie=[{name:"selection-box-color",type:q.color},{name:"selection-box-opacity",type:q.zeroOneNumber},{name:"selection-box-border-color",type:q.color},{name:"selection-box-border-width",type:q.size},{name:"active-bg-color",type:q.color},{name:"active-bg-opacity",type:q.zeroOneNumber},{name:"active-bg-size",type:q.size},{name:"outside-texture-bg-color",type:q.color},{name:"outside-texture-bg-opacity",type:q.zeroOneNumber}],ze=[];m1.pieBackgroundN=16,ze.push({name:"pie-size",type:q.sizeMaybePercent});for(var me=1;me<=m1.pieBackgroundN;me++)ze.push({name:"pie-"+me+"-background-color",type:q.color}),ze.push({name:"pie-"+me+"-background-size",type:q.percent}),ze.push({name:"pie-"+me+"-background-opacity",type:q.zeroOneNumber});var yn=[],nn=m1.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:q.arrowShape,triggersBounds:H.any},{name:"arrow-color",type:q.color},{name:"arrow-fill",type:q.arrowFill},{name:"arrow-width",type:q.arrowWidth}].forEach(function(cr){nn.forEach(function(mr){var Sr=mr+"-"+cr.name,gi=cr.type,ss=cr.triggersBounds;yn.push({name:Sr,type:gi,triggersBounds:ss})})},{});var qe=m1.properties=[].concat(_t,Pt,St,Et,Nt,Te,pt,bt,W,Z,st,re,ee,Ut,de,ze,Yt,Ee,yn,ie),Tn=m1.propertyGroups={behavior:_t,transition:Pt,visibility:St,overlay:Et,underlay:Nt,ghost:Te,commonLabel:pt,labelDimensions:bt,mainLabel:W,sourceLabel:Z,targetLabel:st,nodeBody:re,nodeBorder:ee,nodeOutline:Ut,backgroundImage:de,pie:ze,compound:Yt,edgeLine:Ee,edgeArrow:yn,core:ie},Xn=m1.propertyGroupNames={},lr=m1.propertyGroupKeys=Object.keys(Tn);lr.forEach(function(cr){Xn[cr]=Tn[cr].map(function(mr){return mr.name}),Tn[cr].forEach(function(mr){return mr.groupKey=cr})});var Sn=m1.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];m1.propertyNames=qe.map(function(cr){return cr.name});for(var or=0;or<qe.length;or++){var pr=qe[or];qe[pr.name]=pr}for(var kr=0;kr<Sn.length;kr++){var wr=Sn[kr],Cr=qe[wr.pointsTo],$n={name:wr.name,alias:!0,pointsTo:Cr};qe.push($n),qe[wr.name]=$n}})(),m1.getDefaultProperty=function(y){return this.getDefaultProperties()[y]},m1.getDefaultProperties=function(){var y=this._private;if(y.defaultProperties!=null)return y.defaultProperties;for(var p=we({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(H,q){for(var W=1;W<=m1.pieBackgroundN;W++){var Z=q.name.replace("{{i}}",W),st=q.value;H[Z]=st}return H},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"taxi-turn":"50%","taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(H,q){return m1.arrowPrefixes.forEach(function(W){var Z=W+"-"+q.name,st=q.value;H[Z]=st}),H},{})),x={},C=0;C<this.properties.length;C++){var L=this.properties[C];if(!L.pointsTo){var O=L.name,N=p[O],j=this.parse(O,N);x[O]=j}}return y.defaultProperties=x,y.defaultProperties},m1.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var CC={};CC.parse=function(y,p,x,C){var L=this;if(ct(p))return L.parseImplWarn(y,p,x,C);var O=C==="mapping"||C===!0||C===!1||C==null?"dontcare":C,N=x?"t":"f",j=""+p,H=Pd(y,j,N,O),q=L.propCache=L.propCache||[],W;return(W=q[H])||(W=q[H]=L.parseImplWarn(y,p,x,C)),(x||C==="mapping")&&(W=P2(W),W&&(W.value=P2(W.value))),W},CC.parseImplWarn=function(y,p,x,C){var L=this.parseImpl(y,p,x,C);return!L&&p!=null&&Gc("The style property `".concat(y,": ").concat(p,"` is invalid")),L&&(L.name==="width"||L.name==="height")&&p==="label"&&Gc("The style value of `label` is deprecated for `"+L.name+"`"),L},CC.parseImpl=function(y,p,x,C){var L=this;y=pn(y);var O=L.properties[y],N=p,j=L.types;if(!O||p===void 0)return null;O.alias&&(O=O.pointsTo,y=O.name);var H=mt(p);H&&(p=p.trim());var q=O.type;if(!q)return null;if(x&&(p===""||p===null))return{name:y,value:p,bypass:!0,deleteBypass:!0};if(ct(p))return{name:y,value:p,strValue:"fn",mapped:j.fn,bypass:x};var W,Z;if(!(!H||C||p.length<7||p[1]!=="a")){if(p.length>=7&&p[0]==="d"&&(W=new RegExp(j.data.regex).exec(p))){if(x)return!1;var st=j.data;return{name:y,value:W,strValue:""+p,mapped:st,field:W[1],bypass:x}}else if(p.length>=10&&p[0]==="m"&&(Z=new RegExp(j.mapData.regex).exec(p))){if(x||q.multiple)return!1;var bt=j.mapData;if(!(q.color||q.number))return!1;var pt=this.parse(y,Z[4]);if(!pt||pt.mapped)return!1;var _t=this.parse(y,Z[5]);if(!_t||_t.mapped)return!1;if(pt.pfValue===_t.pfValue||pt.strValue===_t.strValue)return Gc("`"+y+": "+p+"` is not a valid mapper because the output range is zero; converting to `"+y+": "+pt.strValue+"`"),this.parse(y,pt.strValue);if(q.color){var St=pt.value,Et=_t.value,Nt=St[0]===Et[0]&&St[1]===Et[1]&&St[2]===Et[2]&&(St[3]===Et[3]||(St[3]==null||St[3]===1)&&(Et[3]==null||Et[3]===1));if(Nt)return!1}return{name:y,value:Z,strValue:""+p,mapped:bt,field:Z[1],fieldMin:parseFloat(Z[2]),fieldMax:parseFloat(Z[3]),valueMin:pt.value,valueMax:_t.value,bypass:x}}}if(q.multiple&&C!=="multiple"){var Pt;if(H?Pt=p.split(/\s+/):rt(p)?Pt=p:Pt=[p],q.evenMultiple&&Pt.length%2!==0)return null;for(var qt=[],re=[],ee=[],Ut="",de=!1,Yt=0;Yt<Pt.length;Yt++){var Ee=L.parse(y,Pt[Yt],x,"multiple");de=de||mt(Ee.value),qt.push(Ee.value),ee.push(Ee.pfValue!=null?Ee.pfValue:Ee.value),re.push(Ee.units),Ut+=(Yt>0?" ":"")+Ee.strValue}return q.validate&&!q.validate(qt,re)?null:q.singleEnum&&de?qt.length===1&&mt(qt[0])?{name:y,value:qt[0],strValue:qt[0],bypass:x}:null:{name:y,value:qt,pfValue:ee,strValue:Ut,bypass:x,units:re}}var Te=function(){for(var mr=0;mr<q.enums.length;mr++){var Sr=q.enums[mr];if(Sr===p)return{name:y,value:p,strValue:""+p,bypass:x}}return null};if(q.number){var ie,ze="px";if(q.units&&(ie=q.units),q.implicitUnits&&(ze=q.implicitUnits),!q.unitless)if(H){var me="px|em"+(q.allowPercent?"|\\%":"");ie&&(me=ie);var yn=p.match("^("+sn+")("+me+")?$");yn&&(p=yn[1],ie=yn[2]||ze)}else(!ie||q.implicitUnits)&&(ie=ze);if(p=parseFloat(p),isNaN(p)&&q.enums===void 0)return null;if(isNaN(p)&&q.enums!==void 0)return p=N,Te();if(q.integer&&!dt(p)||q.min!==void 0&&(p<q.min||q.strictMin&&p===q.min)||q.max!==void 0&&(p>q.max||q.strictMax&&p===q.max))return null;var nn={name:y,value:p,strValue:""+p+(ie||""),units:ie,bypass:x};return q.unitless||ie!=="px"&&ie!=="em"?nn.pfValue=p:nn.pfValue=ie==="px"||!ie?p:this.getEmSizeInPixels()*p,(ie==="ms"||ie==="s")&&(nn.pfValue=ie==="ms"?p:1e3*p),(ie==="deg"||ie==="rad")&&(nn.pfValue=ie==="rad"?p:lQ(p)),ie==="%"&&(nn.pfValue=p/100),nn}else if(q.propList){var qe=[],Tn=""+p;if(Tn!=="none"){for(var Xn=Tn.split(/\s*,\s*|\s+/),lr=0;lr<Xn.length;lr++){var Sn=Xn[lr].trim();L.properties[Sn]?qe.push(Sn):Gc("`"+Sn+"` is not a valid property name")}if(qe.length===0)return null}return{name:y,value:qe,strValue:qe.length===0?"none":qe.join(" "),bypass:x}}else if(q.color){var or=za(p);return or?{name:y,value:or,pfValue:or,strValue:"rgb("+or[0]+","+or[1]+","+or[2]+")",bypass:x}:null}else if(q.regex||q.regexes){if(q.enums){var pr=Te();if(pr)return pr}for(var kr=q.regexes?q.regexes:[q.regex],wr=0;wr<kr.length;wr++){var Cr=new RegExp(kr[wr]),$n=Cr.exec(p);if($n)return{name:y,value:q.singleRegexMatchValue?$n[1]:$n,strValue:""+p,bypass:x}}return null}else return q.string?{name:y,value:""+p,strValue:""+p,bypass:x}:q.enums?Te():null};var Y1=function y(p){if(!(this instanceof y))return new y(p);if(!It(p)){$l("A style must have a core reference");return}this._private={cy:p,coreStyle:{}},this.length=0,this.resetToDefault()},X1=Y1.prototype;X1.instanceString=function(){return"style"},X1.clear=function(){for(var y=this._private,p=y.cy,x=p.elements(),C=0;C<this.length;C++)this[C]=void 0;return this.length=0,y.contextStyles={},y.propDiffs={},this.cleanElements(x,!0),x.forEach(function(L){var O=L[0]._private;O.styleDirty=!0,O.appliedInitStyle=!1}),this},X1.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},X1.core=function(y){return this._private.coreStyle[y]||this.getDefaultProperty(y)},X1.selector=function(y){var p=y==="core"?null:new ly(y),x=this.length++;return this[x]={selector:p,properties:[],mappedProperties:[],index:x},this},X1.css=function(){var y=this,p=arguments;if(p.length===1)for(var x=p[0],C=0;C<y.properties.length;C++){var L=y.properties[C],O=x[L.name];O===void 0&&(O=x[Ae(L.name)]),O!==void 0&&this.cssRule(L.name,O)}else p.length===2&&this.cssRule(p[0],p[1]);return this},X1.style=X1.css,X1.cssRule=function(y,p){var x=this.parse(y,p);if(x){var C=this.length-1;this[C].properties.push(x),this[C].properties[x.name]=x,x.name.match(/pie-(\d+)-background-size/)&&x.value&&(this._private.hasPie=!0),x.mapped&&this[C].mappedProperties.push(x);var L=!this[C].selector;L&&(this._private.coreStyle[x.name]=x)}return this},X1.append=function(y){return jt(y)?y.appendToStyle(this):rt(y)?this.appendFromJson(y):mt(y)&&this.appendFromString(y),this},Y1.fromJson=function(y,p){var x=new Y1(y);return x.fromJson(p),x},Y1.fromString=function(y,p){return new Y1(y).fromString(p)},[W1,J8,dM,R2,TC,gM,m1,CC].forEach(function(y){we(X1,y)}),Y1.types=X1.types,Y1.properties=X1.properties,Y1.propertyGroups=X1.propertyGroups,Y1.propertyGroupNames=X1.propertyGroupNames,Y1.propertyGroupKeys=X1.propertyGroupKeys;var bet={style:function(p){if(p){var x=this.setStyle(p);x.update()}return this._private.style},setStyle:function(p){var x=this._private;return jt(p)?x.style=p.generateStyle(this):rt(p)?x.style=Y1.fromJson(this,p):mt(p)?x.style=Y1.fromString(this,p):x.style=Y1(this),x.style},updateStyle:function(){this.mutableElements().updateStyle()}},wet="single",T4={autolock:function(p){if(p!==void 0)this._private.autolock=!!p;else return this._private.autolock;return this},autoungrabify:function(p){if(p!==void 0)this._private.autoungrabify=!!p;else return this._private.autoungrabify;return this},autounselectify:function(p){if(p!==void 0)this._private.autounselectify=!!p;else return this._private.autounselectify;return this},selectionType:function(p){var x=this._private;if(x.selectionType==null&&(x.selectionType=wet),p!==void 0)(p==="additive"||p==="single")&&(x.selectionType=p);else return x.selectionType;return this},panningEnabled:function(p){if(p!==void 0)this._private.panningEnabled=!!p;else return this._private.panningEnabled;return this},userPanningEnabled:function(p){if(p!==void 0)this._private.userPanningEnabled=!!p;else return this._private.userPanningEnabled;return this},zoomingEnabled:function(p){if(p!==void 0)this._private.zoomingEnabled=!!p;else return this._private.zoomingEnabled;return this},userZoomingEnabled:function(p){if(p!==void 0)this._private.userZoomingEnabled=!!p;else return this._private.userZoomingEnabled;return this},boxSelectionEnabled:function(p){if(p!==void 0)this._private.boxSelectionEnabled=!!p;else return this._private.boxSelectionEnabled;return this},pan:function(){var p=arguments,x=this._private.pan,C,L,O,N,j;switch(p.length){case 0:return x;case 1:if(mt(p[0]))return C=p[0],x[C];if(it(p[0])){if(!this._private.panningEnabled)return this;O=p[0],N=O.x,j=O.y,Q(N)&&(x.x=N),Q(j)&&(x.y=j),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;C=p[0],L=p[1],(C==="x"||C==="y")&&Q(L)&&(x[C]=L),this.emit("pan viewport");break}return this.notify("viewport"),this},panBy:function(p,x){var C=arguments,L=this._private.pan,O,N,j,H,q;if(!this._private.panningEnabled)return this;switch(C.length){case 1:it(p)&&(j=C[0],H=j.x,q=j.y,Q(H)&&(L.x+=H),Q(q)&&(L.y+=q),this.emit("pan viewport"));break;case 2:O=p,N=x,(O==="x"||O==="y")&&Q(N)&&(L[O]+=N),this.emit("pan viewport");break}return this.notify("viewport"),this},fit:function(p,x){var C=this.getFitViewport(p,x);if(C){var L=this._private;L.zoom=C.zoom,L.pan=C.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(p,x){if(Q(p)&&x===void 0&&(x=p,p=void 0),!(!this._private.panningEnabled||!this._private.zoomingEnabled)){var C;if(mt(p)){var L=p;p=this.$(L)}else if(kt(p)){var O=p;C={x1:O.x1,y1:O.y1,x2:O.x2,y2:O.y2},C.w=C.x2-C.x1,C.h=C.y2-C.y1}else yt(p)||(p=this.mutableElements());if(!(yt(p)&&p.empty())){C=C||p.boundingBox();var N=this.width(),j=this.height(),H;if(x=Q(x)?x:0,!isNaN(N)&&!isNaN(j)&&N>0&&j>0&&!isNaN(C.w)&&!isNaN(C.h)&&C.w>0&&C.h>0){H=Math.min((N-2*x)/C.w,(j-2*x)/C.h),H=H>this._private.maxZoom?this._private.maxZoom:H,H=H<this._private.minZoom?this._private.minZoom:H;var q={x:(N-H*(C.x1+C.x2))/2,y:(j-H*(C.y1+C.y2))/2};return{zoom:H,pan:q}}}}},zoomRange:function(p,x){var C=this._private;if(x==null){var L=p;p=L.min,x=L.max}return Q(p)&&Q(x)&&p<=x?(C.minZoom=p,C.maxZoom=x):Q(p)&&x===void 0&&p<=C.maxZoom?C.minZoom=p:Q(x)&&p===void 0&&x>=C.minZoom&&(C.maxZoom=x),this},minZoom:function(p){return p===void 0?this._private.minZoom:this.zoomRange({min:p})},maxZoom:function(p){return p===void 0?this._private.maxZoom:this.zoomRange({max:p})},getZoomedViewport:function(p){var x=this._private,C=x.pan,L=x.zoom,O,N,j=!1;if(x.zoomingEnabled||(j=!0),Q(p)?N=p:it(p)&&(N=p.level,p.position!=null?O=W9(p.position,L,C):p.renderedPosition!=null&&(O=p.renderedPosition),O!=null&&!x.panningEnabled&&(j=!0)),N=N>x.maxZoom?x.maxZoom:N,N=N<x.minZoom?x.minZoom:N,j||!Q(N)||N===L||O!=null&&(!Q(O.x)||!Q(O.y)))return null;if(O!=null){var H=C,q=L,W=N,Z={x:-W/q*(O.x-H.x)+O.x,y:-W/q*(O.y-H.y)+O.y};return{zoomed:!0,panned:!0,zoom:W,pan:Z}}else return{zoomed:!0,panned:!1,zoom:N,pan:C}},zoom:function(p){if(p===void 0)return this._private.zoom;var x=this.getZoomedViewport(p),C=this._private;return x==null||!x.zoomed?this:(C.zoom=x.zoom,x.panned&&(C.pan.x=x.pan.x,C.pan.y=x.pan.y),this.emit("zoom"+(x.panned?" pan":"")+" viewport"),this.notify("viewport"),this)},viewport:function(p){var x=this._private,C=!0,L=!0,O=[],N=!1,j=!1;if(!p)return this;if(Q(p.zoom)||(C=!1),it(p.pan)||(L=!1),!C&&!L)return this;if(C){var H=p.zoom;H<x.minZoom||H>x.maxZoom||!x.zoomingEnabled?N=!0:(x.zoom=H,O.push("zoom"))}if(L&&(!N||!p.cancelOnFailedZoom)&&x.panningEnabled){var q=p.pan;Q(q.x)&&(x.pan.x=q.x,j=!1),Q(q.y)&&(x.pan.y=q.y,j=!1),j||O.push("pan")}return O.length>0&&(O.push("viewport"),this.emit(O.join(" ")),this.notify("viewport")),this},center:function(p){var x=this.getCenterPan(p);return x&&(this._private.pan=x,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(p,x){if(this._private.panningEnabled){if(mt(p)){var C=p;p=this.mutableElements().filter(C)}else yt(p)||(p=this.mutableElements());if(p.length!==0){var L=p.boundingBox(),O=this.width(),N=this.height();x=x===void 0?this._private.zoom:x;var j={x:(O-x*(L.x1+L.x2))/2,y:(N-x*(L.y1+L.y2))/2};return j}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var p=this._private,x=p.container,C=this;return p.sizeCache=p.sizeCache||(x?function(){var L=C.window().getComputedStyle(x),O=function(j){return parseFloat(L.getPropertyValue(j))};return{width:x.clientWidth-O("padding-left")-O("padding-right"),height:x.clientHeight-O("padding-top")-O("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var p=this._private.pan,x=this._private.zoom,C=this.renderedExtent(),L={x1:(C.x1-p.x)/x,x2:(C.x2-p.x)/x,y1:(C.y1-p.y)/x,y2:(C.y2-p.y)/x};return L.w=L.x2-L.x1,L.h=L.y2-L.y1,L},renderedExtent:function(){var p=this.width(),x=this.height();return{x1:0,y1:0,x2:p,y2:x,w:p,h:x}},multiClickDebounceTime:function(p){if(p)this._private.multiClickDebounceTime=p;else return this._private.multiClickDebounceTime;return this}};T4.centre=T4.center,T4.autolockNodes=T4.autolock,T4.autoungrabifyNodes=T4.autoungrabify;var Z8={data:Kc.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Kc.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Kc.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Kc.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Z8.attr=Z8.data,Z8.removeAttr=Z8.removeData;var tE=function(p){var x=this;p=we({},p);var C=p.container;C&&!K(C)&&K(C[0])&&(C=C[0]);var L=C?C._cyreg:null;L=L||{},L&&L.cy&&(L.cy.destroy(),L={});var O=L.readies=L.readies||[];C&&(C._cyreg=L),L.cy=x;var N=B!==void 0&&C!==void 0&&!p.headless,j=p;j.layout=we({name:N?"grid":"null"},j.layout),j.renderer=we({name:N?"canvas":"null"},j.renderer);var H=function(pt,_t,St){return _t!==void 0?_t:St!==void 0?St:pt},q=this._private={container:C,ready:!1,options:j,elements:new w1(this),listeners:[],aniEles:new w1(this),data:j.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:H(!0,j.zoomingEnabled),userZoomingEnabled:H(!0,j.userZoomingEnabled),panningEnabled:H(!0,j.panningEnabled),userPanningEnabled:H(!0,j.userPanningEnabled),boxSelectionEnabled:H(!0,j.boxSelectionEnabled),autolock:H(!1,j.autolock,j.autolockNodes),autoungrabify:H(!1,j.autoungrabify,j.autoungrabifyNodes),autounselectify:H(!1,j.autounselectify),styleEnabled:j.styleEnabled===void 0?N:j.styleEnabled,zoom:Q(j.zoom)?j.zoom:1,pan:{x:it(j.pan)&&Q(j.pan.x)?j.pan.x:0,y:it(j.pan)&&Q(j.pan.y)?j.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:H(250,j.multiClickDebounceTime)};this.createEmitter(),this.selectionType(j.selectionType),this.zoomRange({min:j.minZoom,max:j.maxZoom});var W=function(pt,_t){var St=pt.some(Gt);if(St)return e6.all(pt).then(_t);_t(pt)};q.styleEnabled&&x.setStyle([]);var Z=we({},j,j.renderer);x.initRenderer(Z);var st=function(pt,_t,St){x.notifications(!1);var Et=x.mutableElements();Et.length>0&&Et.remove(),pt!=null&&(it(pt)||rt(pt))&&x.add(pt),x.one("layoutready",function(Pt){x.notifications(!0),x.emit(Pt),x.one("load",_t),x.emitAndNotify("load")}).one("layoutstop",function(){x.one("done",St),x.emit("done")});var Nt=we({},x._private.options.layout);Nt.eles=x.elements(),x.layout(Nt).run()};W([j.style,j.elements],function(bt){var pt=bt[0],_t=bt[1];q.styleEnabled&&x.style().append(pt),st(_t,function(){x.startAnimationLoop(),q.ready=!0,ct(j.ready)&&x.on("ready",j.ready);for(var St=0;St<O.length;St++){var Et=O[St];x.on("ready",Et)}L&&(L.readies=[]),x.emit("ready")},j.done)})},SC=tE.prototype;we(SC,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(p){return this.isReady()?this.emitter().emit("ready",[],p):this.on("ready",p),this},destroy:function(){var p=this;if(!p.destroyed())return p.stopAnimationLoop(),p.destroyRenderer(),this.emit("destroy"),p._private.destroyed=!0,p},hasElementWithId:function(p){return this._private.elements.hasElementWithId(p)},getElementById:function(p){return this._private.elements.getElementById(p)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(p){return this._private.elements.merge(p),this},removeFromPool:function(p){return this._private.elements.unmerge(p),this},container:function(){return this._private.container||null},window:function(){var p=this._private.container;if(p==null)return B;var x=this._private.container.ownerDocument;return x===void 0||x==null?B:x.defaultView||B},mount:function(p){if(p!=null){var x=this,C=x._private,L=C.options;return!K(p)&&K(p[0])&&(p=p[0]),x.stopAnimationLoop(),x.destroyRenderer(),C.container=p,C.styleEnabled=!0,x.invalidateSize(),x.initRenderer(we({},L,L.renderer,{name:L.renderer.name==="null"?"canvas":L.renderer.name})),x.startAnimationLoop(),x.style(L.style),x.emit("mount"),x}},unmount:function(){var p=this;return p.stopAnimationLoop(),p.destroyRenderer(),p.initRenderer({name:"null"}),p.emit("unmount"),p},options:function(){return P2(this._private.options)},json:function(p){var x=this,C=x._private,L=x.mutableElements(),O=function(qt){return x.getElementById(qt.id())};if(it(p)){if(x.startBatch(),p.elements){var N={},j=function(qt,re){for(var ee=[],Ut=[],de=0;de<qt.length;de++){var Yt=qt[de];if(!Yt.data.id){Gc("cy.json() cannot handle elements without an ID attribute");continue}var Ee=""+Yt.data.id,Te=x.getElementById(Ee);N[Ee]=!0,Te.length!==0?Ut.push({ele:Te,json:Yt}):(re&&(Yt.group=re),ee.push(Yt))}x.add(ee);for(var ie=0;ie<Ut.length;ie++){var ze=Ut[ie],me=ze.ele,yn=ze.json;me.json(yn)}};if(rt(p.elements))j(p.elements);else for(var H=["nodes","edges"],q=0;q<H.length;q++){var W=H[q],Z=p.elements[W];rt(Z)&&j(Z,W)}var st=x.collection();L.filter(function(Pt){return!N[Pt.id()]}).forEach(function(Pt){Pt.isParent()?st.merge(Pt):Pt.remove()}),st.forEach(function(Pt){return Pt.children().move({parent:null})}),st.forEach(function(Pt){return O(Pt).remove()})}p.style&&x.style(p.style),p.zoom!=null&&p.zoom!==C.zoom&&x.zoom(p.zoom),p.pan&&(p.pan.x!==C.pan.x||p.pan.y!==C.pan.y)&&x.pan(p.pan),p.data&&x.data(p.data);for(var bt=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],pt=0;pt<bt.length;pt++){var _t=bt[pt];p[_t]!=null&&x[_t](p[_t])}return x.endBatch(),this}else{var St=!!p,Et={};St?Et.elements=this.elements().map(function(Pt){return Pt.json()}):(Et.elements={},L.forEach(function(Pt){var qt=Pt.group();Et.elements[qt]||(Et.elements[qt]=[]),Et.elements[qt].push(Pt.json())})),this._private.styleEnabled&&(Et.style=x.style().json()),Et.data=P2(x.data());var Nt=C.options;return Et.zoomingEnabled=C.zoomingEnabled,Et.userZoomingEnabled=C.userZoomingEnabled,Et.zoom=C.zoom,Et.minZoom=C.minZoom,Et.maxZoom=C.maxZoom,Et.panningEnabled=C.panningEnabled,Et.userPanningEnabled=C.userPanningEnabled,Et.pan=P2(C.pan),Et.boxSelectionEnabled=C.boxSelectionEnabled,Et.renderer=P2(Nt.renderer),Et.hideEdgesOnViewport=Nt.hideEdgesOnViewport,Et.textureOnViewport=Nt.textureOnViewport,Et.wheelSensitivity=Nt.wheelSensitivity,Et.motionBlur=Nt.motionBlur,Et.multiClickDebounceTime=Nt.multiClickDebounceTime,Et}}}),SC.$id=SC.getElementById,[set,het,oj,hM,kC,det,fM,EC,bet,T4,Z8].forEach(function(y){we(SC,y)});var met={fit:!0,directed:!1,padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}},vet={maximal:!1,acyclic:!1},f6=function(p){return p.scratch("breadthfirst")},cj=function(p,x){return p.scratch("breadthfirst",x)};function uj(y){this.options=we({},met,vet,y)}uj.prototype.run=function(){var y=this.options,p=y,x=y.cy,C=p.eles,L=C.nodes().filter(function(vi){return!vi.isParent()}),O=C,N=p.directed,j=p.acyclic||p.maximal||p.maximalAdjustments>0,H=v0(p.boundingBox?p.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()}),q;if(yt(p.roots))q=p.roots;else if(rt(p.roots)){for(var W=[],Z=0;Z<p.roots.length;Z++){var st=p.roots[Z],bt=x.getElementById(st);W.push(bt)}q=x.collection(W)}else if(mt(p.roots))q=x.$(p.roots);else if(N)q=L.roots();else{var pt=C.components();q=x.collection();for(var _t=function(si){var Qi=pt[si],ks=Qi.maxDegree(!1),as=Qi.filter(function(Es){return Es.degree(!1)===ks});q=q.add(as)},St=0;St<pt.length;St++)_t(St)}var Et=[],Nt={},Pt=function(si,Qi){Et[Qi]==null&&(Et[Qi]=[]);var ks=Et[Qi].length;Et[Qi].push(si),cj(si,{index:ks,depth:Qi})},qt=function(si,Qi){var ks=f6(si),as=ks.depth,Es=ks.index;Et[as][Es]=null,Pt(si,Qi)};O.bfs({roots:q,directed:p.directed,visit:function(si,Qi,ks,as,Es){var eo=si[0],Ta=eo.id();Pt(eo,Es),Nt[Ta]=!0}});for(var re=[],ee=0;ee<L.length;ee++){var Ut=L[ee];Nt[Ut.id()]||re.push(Ut)}var de=function(si){for(var Qi=Et[si],ks=0;ks<Qi.length;ks++){var as=Qi[ks];if(as==null){Qi.splice(ks,1),ks--;continue}cj(as,{depth:si,index:ks})}},Yt=function(){for(var si=0;si<Et.length;si++)de(si)},Ee=function(si,Qi){for(var ks=f6(si),as=si.incomers().filter(function(G){return G.isNode()&&C.has(G)}),Es=-1,eo=si.id(),Ta=0;Ta<as.length;Ta++){var pa=as[Ta],mo=f6(pa);Es=Math.max(Es,mo.depth)}if(ks.depth<=Es){if(!p.acyclic&&Qi[eo])return null;var Kn=Es+1;return qt(si,Kn),Qi[eo]=Kn,!0}return!1};if(N&&j){var Te=[],ie={},ze=function(si){return Te.push(si)},me=function(){return Te.shift()};for(L.forEach(function(vi){return Te.push(vi)});Te.length>0;){var yn=me(),nn=Ee(yn,ie);if(nn)yn.outgoers().filter(function(vi){return vi.isNode()&&C.has(vi)}).forEach(ze);else if(nn===null){Gc("Detected double maximal shift for node `"+yn.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}Yt();var qe=0;if(p.avoidOverlap)for(var Tn=0;Tn<L.length;Tn++){var Xn=L[Tn],lr=Xn.layoutDimensions(p),Sn=lr.w,or=lr.h;qe=Math.max(qe,Sn,or)}var pr={},kr=function(si){if(pr[si.id()])return pr[si.id()];for(var Qi=f6(si).depth,ks=si.neighborhood(),as=0,Es=0,eo=0;eo<ks.length;eo++){var Ta=ks[eo];if(!(Ta.isEdge()||Ta.isParent()||!L.has(Ta))){var pa=f6(Ta);if(pa!=null){var mo=pa.index,Kn=pa.depth;if(!(mo==null||Kn==null)){var G=Et[Kn].length;Kn<Qi&&(as+=mo/G,Es++)}}}}return Es=Math.max(1,Es),as=as/Es,Es===0&&(as=0),pr[si.id()]=as,as},wr=function(si,Qi){var ks=kr(si),as=kr(Qi),Es=ks-as;return Es===0?ce(si.id(),Qi.id()):Es};p.depthSort!==void 0&&(wr=p.depthSort);for(var Cr=0;Cr<Et.length;Cr++)Et[Cr].sort(wr),de(Cr);for(var $n=[],cr=0;cr<re.length;cr++)$n.push(re[cr]);Et.unshift($n),Yt();for(var mr=0,Sr=0;Sr<Et.length;Sr++)mr=Math.max(Et[Sr].length,mr);var gi={x:H.x1+H.w/2,y:H.x1+H.h/2},ss=Et.reduce(function(vi,si){return Math.max(vi,si.length)},0),na=function(si){var Qi=f6(si),ks=Qi.depth,as=Qi.index,Es=Et[ks].length,eo=Math.max(H.w/((p.grid?ss:Es)+1),qe),Ta=Math.max(H.h/(Et.length+1),qe),pa=Math.min(H.w/2/Et.length,H.h/2/Et.length);if(pa=Math.max(pa,qe),p.circle){var Kn=pa*ks+pa-(Et.length>0&&Et[0].length<=3?pa/2:0),G=2*Math.PI/Et[ks].length*as;return ks===0&&Et[0].length===1&&(Kn=1),{x:gi.x+Kn*Math.cos(G),y:gi.y+Kn*Math.sin(G)}}else{var mo={x:gi.x+(as+1-(Es+1)/2)*eo,y:(ks+1)*Ta};return mo}};return C.nodes().layoutPositions(this,p,na),this};var yet={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}};function lj(y){this.options=we({},yet,y)}lj.prototype.run=function(){var y=this.options,p=y,x=y.cy,C=p.eles,L=p.counterclockwise!==void 0?!p.counterclockwise:p.clockwise,O=C.nodes().not(":parent");p.sort&&(O=O.sort(p.sort));for(var N=v0(p.boundingBox?p.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()}),j={x:N.x1+N.w/2,y:N.y1+N.h/2},H=p.sweep===void 0?2*Math.PI-2*Math.PI/O.length:p.sweep,q=H/Math.max(1,O.length-1),W,Z=0,st=0;st<O.length;st++){var bt=O[st],pt=bt.layoutDimensions(p),_t=pt.w,St=pt.h;Z=Math.max(Z,_t,St)}if(Q(p.radius)?W=p.radius:O.length<=1?W=0:W=Math.min(N.h,N.w)/2-Z,O.length>1&&p.avoidOverlap){Z*=1.75;var Et=Math.cos(q)-Math.cos(0),Nt=Math.sin(q)-Math.sin(0),Pt=Math.sqrt(Z*Z/(Et*Et+Nt*Nt));W=Math.max(Pt,W)}var qt=function(ee,Ut){var de=p.startAngle+Ut*q*(L?1:-1),Yt=W*Math.cos(de),Ee=W*Math.sin(de),Te={x:j.x+Yt,y:j.y+Ee};return Te};return C.nodes().layoutPositions(this,p,qt),this};var xet={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(p){return p.degree()},levelWidth:function(p){return p.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}};function hj(y){this.options=we({},xet,y)}hj.prototype.run=function(){for(var y=this.options,p=y,x=p.counterclockwise!==void 0?!p.counterclockwise:p.clockwise,C=y.cy,L=p.eles,O=L.nodes().not(":parent"),N=v0(p.boundingBox?p.boundingBox:{x1:0,y1:0,w:C.width(),h:C.height()}),j={x:N.x1+N.w/2,y:N.y1+N.h/2},H=[],q=0,W=0;W<O.length;W++){var Z=O[W],st=void 0;st=p.concentric(Z),H.push({value:st,node:Z}),Z._private.scratch.concentric=st}O.updateStyle();for(var bt=0;bt<O.length;bt++){var pt=O[bt],_t=pt.layoutDimensions(p);q=Math.max(q,_t.w,_t.h)}H.sort(function(vi,si){return si.value-vi.value});for(var St=p.levelWidth(O),Et=[[]],Nt=Et[0],Pt=0;Pt<H.length;Pt++){var qt=H[Pt];if(Nt.length>0){var re=Math.abs(Nt[0].value-qt.value);re>=St&&(Nt=[],Et.push(Nt))}Nt.push(qt)}var ee=q+p.minNodeSpacing;if(!p.avoidOverlap){var Ut=Et.length>0&&Et[0].length>1,de=Math.min(N.w,N.h)/2-ee,Yt=de/(Et.length+Ut?1:0);ee=Math.min(ee,Yt)}for(var Ee=0,Te=0;Te<Et.length;Te++){var ie=Et[Te],ze=p.sweep===void 0?2*Math.PI-2*Math.PI/ie.length:p.sweep,me=ie.dTheta=ze/Math.max(1,ie.length-1);if(ie.length>1&&p.avoidOverlap){var yn=Math.cos(me)-Math.cos(0),nn=Math.sin(me)-Math.sin(0),qe=Math.sqrt(ee*ee/(yn*yn+nn*nn));Ee=Math.max(qe,Ee)}ie.r=Ee,Ee+=ee}if(p.equidistant){for(var Tn=0,Xn=0,lr=0;lr<Et.length;lr++){var Sn=Et[lr],or=Sn.r-Xn;Tn=Math.max(Tn,or)}Xn=0;for(var pr=0;pr<Et.length;pr++){var kr=Et[pr];pr===0&&(Xn=kr.r),kr.r=Xn,Xn+=Tn}}for(var wr={},Cr=0;Cr<Et.length;Cr++)for(var $n=Et[Cr],cr=$n.dTheta,mr=$n.r,Sr=0;Sr<$n.length;Sr++){var gi=$n[Sr],ss=p.startAngle+(x?1:-1)*cr*Sr,na={x:j.x+mr*Math.cos(ss),y:j.y+mr*Math.sin(ss)};wr[gi.node.id()]=na}return L.nodes().layoutPositions(this,p,function(vi){var si=vi.id();return wr[si]}),this};var pM,ket={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(p,x){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(p){return 2048},nodeOverlap:4,idealEdgeLength:function(p){return 32},edgeElasticity:function(p){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function _C(y){this.options=we({},ket,y),this.options.layout=this;var p=this.options.eles.nodes(),x=this.options.eles.edges(),C=x.filter(function(L){var O=L.source().data("id"),N=L.target().data("id"),j=p.some(function(q){return q.data("id")===O}),H=p.some(function(q){return q.data("id")===N});return!j||!H});this.options.eles=this.options.eles.not(C)}_C.prototype.run=function(){var y=this.options,p=y.cy,x=this;x.stopped=!1,(y.animate===!0||y.animate===!1)&&x.emit({type:"layoutstart",layout:x}),y.debug===!0?pM=!0:pM=!1;var C=Eet(p,x,y);pM&&_et(C),y.randomize&&Aet(C);var L=ip(),O=function(){Let(C,p,y),y.fit===!0&&p.fit(y.padding)},N=function(st){return!(x.stopped||st>=y.numIter||(Det(C,y),C.temperature=C.temperature*y.coolingFactor,C.temperature<y.minTemp))},j=function(){if(y.animate===!0||y.animate===!1)O(),x.one("layoutstop",y.stop),x.emit({type:"layoutstop",layout:x});else{var st=y.eles.nodes(),bt=fj(C,y,st);st.layoutPositions(x,y,bt)}},H=0,q=!0;if(y.animate===!0){var W=function Z(){for(var st=0;q&&st<y.refresh;)q=N(H),H++,st++;if(!q)gj(C,y),j();else{var bt=ip();bt-L>=y.animationThreshold&&O(),g1(Z)}};W()}else{for(;q;)q=N(H),H++;gj(C,y),j()}return this},_C.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},_C.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Eet=function(p,x,C){for(var L=C.eles.edges(),O=C.eles.nodes(),N=v0(C.boundingBox?C.boundingBox:{x1:0,y1:0,w:p.width(),h:p.height()}),j={isCompound:p.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:O.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:L.size(),temperature:C.initialTemp,clientWidth:N.w,clientHeight:N.h,boundingBox:N},H=C.eles.components(),q={},W=0;W<H.length;W++)for(var Z=H[W],st=0;st<Z.length;st++){var bt=Z[st];q[bt.id()]=W}for(var W=0;W<j.nodeSize;W++){var pt=O[W],_t=pt.layoutDimensions(C),St={};St.isLocked=pt.locked(),St.id=pt.data("id"),St.parentId=pt.data("parent"),St.cmptId=q[pt.id()],St.children=[],St.positionX=pt.position("x"),St.positionY=pt.position("y"),St.offsetX=0,St.offsetY=0,St.height=_t.w,St.width=_t.h,St.maxX=St.positionX+St.width/2,St.minX=St.positionX-St.width/2,St.maxY=St.positionY+St.height/2,St.minY=St.positionY-St.height/2,St.padLeft=parseFloat(pt.style("padding")),St.padRight=parseFloat(pt.style("padding")),St.padTop=parseFloat(pt.style("padding")),St.padBottom=parseFloat(pt.style("padding")),St.nodeRepulsion=ct(C.nodeRepulsion)?C.nodeRepulsion(pt):C.nodeRepulsion,j.layoutNodes.push(St),j.idToIndex[St.id]=W}for(var Et=[],Nt=0,Pt=-1,qt=[],W=0;W<j.nodeSize;W++){var pt=j.layoutNodes[W],re=pt.parentId;re!=null?j.layoutNodes[j.idToIndex[re]].children.push(pt.id):(Et[++Pt]=pt.id,qt.push(pt.id))}for(j.graphSet.push(qt);Nt<=Pt;){var ee=Et[Nt++],Ut=j.idToIndex[ee],bt=j.layoutNodes[Ut],de=bt.children;if(de.length>0){j.graphSet.push(de);for(var W=0;W<de.length;W++)Et[++Pt]=de[W]}}for(var W=0;W<j.graphSet.length;W++)for(var Yt=j.graphSet[W],st=0;st<Yt.length;st++){var Ee=j.idToIndex[Yt[st]];j.indexToGraph[Ee]=W}for(var W=0;W<j.edgeSize;W++){var Te=L[W],ie={};ie.id=Te.data("id"),ie.sourceId=Te.data("source"),ie.targetId=Te.data("target");var ze=ct(C.idealEdgeLength)?C.idealEdgeLength(Te):C.idealEdgeLength,me=ct(C.edgeElasticity)?C.edgeElasticity(Te):C.edgeElasticity,yn=j.idToIndex[ie.sourceId],nn=j.idToIndex[ie.targetId],qe=j.indexToGraph[yn],Tn=j.indexToGraph[nn];if(qe!=Tn){for(var Xn=Tet(ie.sourceId,ie.targetId,j),lr=j.graphSet[Xn],Sn=0,St=j.layoutNodes[yn];lr.indexOf(St.id)===-1;)St=j.layoutNodes[j.idToIndex[St.parentId]],Sn++;for(St=j.layoutNodes[nn];lr.indexOf(St.id)===-1;)St=j.layoutNodes[j.idToIndex[St.parentId]],Sn++;ze*=Sn*C.nestingFactor}ie.idealLength=ze,ie.elasticity=me,j.layoutEdges.push(ie)}return j},Tet=function(p,x,C){var L=Cet(p,x,0,C);return 2>L.count?0:L.graph},Cet=function y(p,x,C,L){var O=L.graphSet[C];if(-1<O.indexOf(p)&&-1<O.indexOf(x))return{count:2,graph:C};for(var N=0,j=0;j<O.length;j++){var H=O[j],q=L.idToIndex[H],W=L.layoutNodes[q].children;if(W.length!==0){var Z=L.indexToGraph[L.idToIndex[W[0]]],st=y(p,x,Z,L);if(st.count!==0)if(st.count===1){if(N++,N===2)break}else return st}}return{count:N,graph:C}},_et,Aet=function(p,x){for(var C=p.clientWidth,L=p.clientHeight,O=0;O<p.nodeSize;O++){var N=p.layoutNodes[O];N.children.length===0&&!N.isLocked&&(N.positionX=Math.random()*C,N.positionY=Math.random()*L)}},fj=function(p,x,C){var L=p.boundingBox,O={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return x.boundingBox&&(C.forEach(function(N){var j=p.layoutNodes[p.idToIndex[N.data("id")]];O.x1=Math.min(O.x1,j.positionX),O.x2=Math.max(O.x2,j.positionX),O.y1=Math.min(O.y1,j.positionY),O.y2=Math.max(O.y2,j.positionY)}),O.w=O.x2-O.x1,O.h=O.y2-O.y1),function(N,j){var H=p.layoutNodes[p.idToIndex[N.data("id")]];if(x.boundingBox){var q=(H.positionX-O.x1)/O.w,W=(H.positionY-O.y1)/O.h;return{x:L.x1+q*L.w,y:L.y1+W*L.h}}else return{x:H.positionX,y:H.positionY}}},Let=function(p,x,C){var L=C.layout,O=C.eles.nodes(),N=fj(p,C,O);O.positions(N),p.ready!==!0&&(p.ready=!0,L.one("layoutready",C.ready),L.emit({type:"layoutready",layout:this}))},Det=function(p,x,C){Met(p,x),Net(p),Pet(p,x),Fet(p),Bet(p)},Met=function(p,x){for(var C=0;C<p.graphSet.length;C++)for(var L=p.graphSet[C],O=L.length,N=0;N<O;N++)for(var j=p.layoutNodes[p.idToIndex[L[N]]],H=N+1;H<O;H++){var q=p.layoutNodes[p.idToIndex[L[H]]];Iet(j,q,p,x)}},dj=function(p){return-p+2*p*Math.random()},Iet=function(p,x,C,L){var O=p.cmptId,N=x.cmptId;if(!(O!==N&&!C.isCompound)){var j=x.positionX-p.positionX,H=x.positionY-p.positionY,q=1;j===0&&H===0&&(j=dj(q),H=dj(q));var W=Oet(p,x,j,H);if(W>0)var Z=L.nodeOverlap*W,st=Math.sqrt(j*j+H*H),bt=Z*j/st,pt=Z*H/st;else var _t=AC(p,j,H),St=AC(x,-1*j,-1*H),Et=St.x-_t.x,Nt=St.y-_t.y,Pt=Et*Et+Nt*Nt,st=Math.sqrt(Pt),Z=(p.nodeRepulsion+x.nodeRepulsion)/Pt,bt=Z*Et/st,pt=Z*Nt/st;p.isLocked||(p.offsetX-=bt,p.offsetY-=pt),x.isLocked||(x.offsetX+=bt,x.offsetY+=pt)}},Oet=function(p,x,C,L){if(C>0)var O=p.maxX-x.minX;else var O=x.maxX-p.minX;if(L>0)var N=p.maxY-x.minY;else var N=x.maxY-p.minY;return O>=0&&N>=0?Math.sqrt(O*O+N*N):0},AC=function(p,x,C){var L=p.positionX,O=p.positionY,N=p.height||1,j=p.width||1,H=C/x,q=N/j,W={};return x===0&&0<C||x===0&&0>C?(W.x=L,W.y=O+N/2,W):0<x&&-1*q<=H&&H<=q?(W.x=L+j/2,W.y=O+j*C/2/x,W):0>x&&-1*q<=H&&H<=q?(W.x=L-j/2,W.y=O-j*C/2/x,W):0<C&&(H<=-1*q||H>=q)?(W.x=L+N*x/2/C,W.y=O+N/2,W):(0>C&&(H<=-1*q||H>=q)&&(W.x=L-N*x/2/C,W.y=O-N/2),W)},Net=function(p,x){for(var C=0;C<p.edgeSize;C++){var L=p.layoutEdges[C],O=p.idToIndex[L.sourceId],N=p.layoutNodes[O],j=p.idToIndex[L.targetId],H=p.layoutNodes[j],q=H.positionX-N.positionX,W=H.positionY-N.positionY;if(!(q===0&&W===0)){var Z=AC(N,q,W),st=AC(H,-1*q,-1*W),bt=st.x-Z.x,pt=st.y-Z.y,_t=Math.sqrt(bt*bt+pt*pt),St=Math.pow(L.idealLength-_t,2)/L.elasticity;if(_t!==0)var Et=St*bt/_t,Nt=St*pt/_t;else var Et=0,Nt=0;N.isLocked||(N.offsetX+=Et,N.offsetY+=Nt),H.isLocked||(H.offsetX-=Et,H.offsetY-=Nt)}}},Pet=function(p,x){if(x.gravity!==0)for(var C=1,L=0;L<p.graphSet.length;L++){var O=p.graphSet[L],N=O.length;if(L===0)var j=p.clientHeight/2,H=p.clientWidth/2;else var q=p.layoutNodes[p.idToIndex[O[0]]],W=p.layoutNodes[p.idToIndex[q.parentId]],j=W.positionX,H=W.positionY;for(var Z=0;Z<N;Z++){var st=p.layoutNodes[p.idToIndex[O[Z]]];if(!st.isLocked){var bt=j-st.positionX,pt=H-st.positionY,_t=Math.sqrt(bt*bt+pt*pt);if(_t>C){var St=x.gravity*bt/_t,Et=x.gravity*pt/_t;st.offsetX+=St,st.offsetY+=Et}}}}},Fet=function(p,x){var C=[],L=0,O=-1;for(C.push.apply(C,p.graphSet[0]),O+=p.graphSet[0].length;L<=O;){var N=C[L++],j=p.idToIndex[N],H=p.layoutNodes[j],q=H.children;if(0<q.length&&!H.isLocked){for(var W=H.offsetX,Z=H.offsetY,st=0;st<q.length;st++){var bt=p.layoutNodes[p.idToIndex[q[st]]];bt.offsetX+=W,bt.offsetY+=Z,C[++O]=q[st]}H.offsetX=0,H.offsetY=0}}},Bet=function(p,x){for(var C=0;C<p.nodeSize;C++){var L=p.layoutNodes[C];0<L.children.length&&(L.maxX=void 0,L.minX=void 0,L.maxY=void 0,L.minY=void 0)}for(var C=0;C<p.nodeSize;C++){var L=p.layoutNodes[C];if(!(0<L.children.length||L.isLocked)){var O=Ret(L.offsetX,L.offsetY,p.temperature);L.positionX+=O.x,L.positionY+=O.y,L.offsetX=0,L.offsetY=0,L.minX=L.positionX-L.width,L.maxX=L.positionX+L.width,L.minY=L.positionY-L.height,L.maxY=L.positionY+L.height,jet(L,p)}}for(var C=0;C<p.nodeSize;C++){var L=p.layoutNodes[C];0<L.children.length&&!L.isLocked&&(L.positionX=(L.maxX+L.minX)/2,L.positionY=(L.maxY+L.minY)/2,L.width=L.maxX-L.minX,L.height=L.maxY-L.minY)}},Ret=function(p,x,C){var L=Math.sqrt(p*p+x*x);if(L>C)var O={x:C*p/L,y:C*x/L};else var O={x:p,y:x};return O},jet=function y(p,x){var C=p.parentId;if(C!=null){var L=x.layoutNodes[x.idToIndex[C]],O=!1;if((L.maxX==null||p.maxX+L.padRight>L.maxX)&&(L.maxX=p.maxX+L.padRight,O=!0),(L.minX==null||p.minX-L.padLeft<L.minX)&&(L.minX=p.minX-L.padLeft,O=!0),(L.maxY==null||p.maxY+L.padBottom>L.maxY)&&(L.maxY=p.maxY+L.padBottom,O=!0),(L.minY==null||p.minY-L.padTop<L.minY)&&(L.minY=p.minY-L.padTop,O=!0),O)return y(L,x)}},gj=function(p,x){for(var C=p.layoutNodes,L=[],O=0;O<C.length;O++){var N=C[O],j=N.cmptId,H=L[j]=L[j]||[];H.push(N)}for(var q=0,O=0;O<L.length;O++){var W=L[O];if(W){W.x1=1/0,W.x2=-1/0,W.y1=1/0,W.y2=-1/0;for(var Z=0;Z<W.length;Z++){var st=W[Z];W.x1=Math.min(W.x1,st.positionX-st.width/2),W.x2=Math.max(W.x2,st.positionX+st.width/2),W.y1=Math.min(W.y1,st.positionY-st.height/2),W.y2=Math.max(W.y2,st.positionY+st.height/2)}W.w=W.x2-W.x1,W.h=W.y2-W.y1,q+=W.w*W.h}}L.sort(function(Nt,Pt){return Pt.w*Pt.h-Nt.w*Nt.h});for(var bt=0,pt=0,_t=0,St=0,Et=Math.sqrt(q)*p.clientWidth/p.clientHeight,O=0;O<L.length;O++){var W=L[O];if(W){for(var Z=0;Z<W.length;Z++){var st=W[Z];st.isLocked||(st.positionX+=bt-W.x1,st.positionY+=pt-W.y1)}bt+=W.w+x.componentSpacing,_t+=W.w+x.componentSpacing,St=Math.max(St,W.h),_t>Et&&(pt+=St+x.componentSpacing,bt=0,_t=0,St=0)}}},$et={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(p){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}};function pj(y){this.options=we({},$et,y)}pj.prototype.run=function(){var y=this.options,p=y,x=y.cy,C=p.eles,L=C.nodes().not(":parent");p.sort&&(L=L.sort(p.sort));var O=v0(p.boundingBox?p.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()});if(O.h===0||O.w===0)C.nodes().layoutPositions(this,p,function(pr){return{x:O.x1,y:O.y1}});else{var N=L.size(),j=Math.sqrt(N*O.h/O.w),H=Math.round(j),q=Math.round(O.w/O.h*j),W=function(kr){if(kr==null)return Math.min(H,q);var wr=Math.min(H,q);wr==H?H=kr:q=kr},Z=function(kr){if(kr==null)return Math.max(H,q);var wr=Math.max(H,q);wr==H?H=kr:q=kr},st=p.rows,bt=p.cols!=null?p.cols:p.columns;if(st!=null&&bt!=null)H=st,q=bt;else if(st!=null&&bt==null)H=st,q=Math.ceil(N/H);else if(st==null&&bt!=null)q=bt,H=Math.ceil(N/q);else if(q*H>N){var pt=W(),_t=Z();(pt-1)*_t>=N?W(pt-1):(_t-1)*pt>=N&&Z(_t-1)}else for(;q*H<N;){var St=W(),Et=Z();(Et+1)*St>=N?Z(Et+1):W(St+1)}var Nt=O.w/q,Pt=O.h/H;if(p.condense&&(Nt=0,Pt=0),p.avoidOverlap)for(var qt=0;qt<L.length;qt++){var re=L[qt],ee=re._private.position;(ee.x==null||ee.y==null)&&(ee.x=0,ee.y=0);var Ut=re.layoutDimensions(p),de=p.avoidOverlapPadding,Yt=Ut.w+de,Ee=Ut.h+de;Nt=Math.max(Nt,Yt),Pt=Math.max(Pt,Ee)}for(var Te={},ie=function(kr,wr){return!!Te["c-"+kr+"-"+wr]},ze=function(kr,wr){Te["c-"+kr+"-"+wr]=!0},me=0,yn=0,nn=function(){yn++,yn>=q&&(yn=0,me++)},qe={},Tn=0;Tn<L.length;Tn++){var Xn=L[Tn],lr=p.position(Xn);if(lr&&(lr.row!==void 0||lr.col!==void 0)){var Sn={row:lr.row,col:lr.col};if(Sn.col===void 0)for(Sn.col=0;ie(Sn.row,Sn.col);)Sn.col++;else if(Sn.row===void 0)for(Sn.row=0;ie(Sn.row,Sn.col);)Sn.row++;qe[Xn.id()]=Sn,ze(Sn.row,Sn.col)}}var or=function(kr,wr){var Cr,$n;if(kr.locked()||kr.isParent())return!1;var cr=qe[kr.id()];if(cr)Cr=cr.col*Nt+Nt/2+O.x1,$n=cr.row*Pt+Pt/2+O.y1;else{for(;ie(me,yn);)nn();Cr=yn*Nt+Nt/2+O.x1,$n=me*Pt+Pt/2+O.y1,ze(me,yn),nn()}return{x:Cr,y:$n}};L.layoutPositions(this,p,or)}return this};var zet={ready:function(){},stop:function(){}};function bM(y){this.options=we({},zet,y)}bM.prototype.run=function(){var y=this.options,p=y.eles,x=this;return y.cy,x.emit("layoutstart"),p.nodes().positions(function(){return{x:0,y:0}}),x.one("layoutready",y.ready),x.emit("layoutready"),x.one("layoutstop",y.stop),x.emit("layoutstop"),this},bM.prototype.stop=function(){return this};var qet={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}};function bj(y){this.options=we({},qet,y)}bj.prototype.run=function(){var y=this.options,p=y.eles,x=p.nodes(),C=ct(y.positions);function L(O){if(y.positions==null)return sQ(O.position());if(C)return y.positions(O);var N=y.positions[O._private.data.id];return N??null}return x.layoutPositions(this,y,function(O,N){var j=L(O);return O.locked()||j==null?!1:j}),this};var Het={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}};function wj(y){this.options=we({},Het,y)}wj.prototype.run=function(){var y=this.options,p=y.cy,x=y.eles,C=v0(y.boundingBox?y.boundingBox:{x1:0,y1:0,w:p.width(),h:p.height()}),L=function(N,j){return{x:C.x1+Math.round(Math.random()*C.w),y:C.y1+Math.round(Math.random()*C.h)}};return x.nodes().layoutPositions(this,y,L),this};var Vet=[{name:"breadthfirst",impl:uj},{name:"circle",impl:lj},{name:"concentric",impl:hj},{name:"cose",impl:_C},{name:"grid",impl:pj},{name:"null",impl:bM},{name:"preset",impl:bj},{name:"random",impl:wj}];function mj(y){this.options=y,this.notifications=0}var vj=function(){},yj=function(){throw new Error("A headless instance can not render images")};mj.prototype={recalculateRenderedStyle:vj,notify:function(){this.notifications++},init:vj,isHeadless:function(){return!0},png:yj,jpg:yj};var wM={};wM.arrowShapeWidth=.3,wM.registerArrowShapes=function(){var y=this.arrowShapes={},p=this,x=function(q,W,Z,st,bt,pt,_t){var St=bt.x-Z/2-_t,Et=bt.x+Z/2+_t,Nt=bt.y-Z/2-_t,Pt=bt.y+Z/2+_t,qt=St<=q&&q<=Et&&Nt<=W&&W<=Pt;return qt},C=function(q,W,Z,st,bt){var pt=q*Math.cos(st)-W*Math.sin(st),_t=q*Math.sin(st)+W*Math.cos(st),St=pt*Z,Et=_t*Z,Nt=St+bt.x,Pt=Et+bt.y;return{x:Nt,y:Pt}},L=function(q,W,Z,st){for(var bt=[],pt=0;pt<q.length;pt+=2){var _t=q[pt],St=q[pt+1];bt.push(C(_t,St,W,Z,st))}return bt},O=function(q){for(var W=[],Z=0;Z<q.length;Z++){var st=q[Z];W.push(st.x,st.y)}return W},N=function(q){return q.pstyle("width").pfValue*q.pstyle("arrow-scale").pfValue*2},j=function(q,W){mt(W)&&(W=y[W]),y[q]=we({name:q,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(st,bt,pt,_t,St,Et){var Nt=O(L(this.points,pt+2*Et,_t,St)),Pt=y0(st,bt,Nt);return Pt},roughCollide:x,draw:function(st,bt,pt,_t){var St=L(this.points,bt,pt,_t);p.arrowShapeImpl("polygon")(st,St)},spacing:function(st){return 0},gap:N},W)};j("none",{collide:ay,roughCollide:ay,draw:BD,spacing:sp,gap:sp}),j("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),j("arrow","triangle"),j("triangle-backcurve",{points:y.triangle.points,controlPoint:[0,-.15],roughCollide:x,draw:function(q,W,Z,st,bt){var pt=L(this.points,W,Z,st),_t=this.controlPoint,St=C(_t[0],_t[1],W,Z,st);p.arrowShapeImpl(this.name)(q,pt,St)},gap:function(q){return N(q)*.8}}),j("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(q,W,Z,st,bt,pt,_t){var St=O(L(this.points,Z+2*_t,st,bt)),Et=O(L(this.pointsTee,Z+2*_t,st,bt)),Nt=y0(q,W,St)||y0(q,W,Et);return Nt},draw:function(q,W,Z,st,bt){var pt=L(this.points,W,Z,st),_t=L(this.pointsTee,W,Z,st);p.arrowShapeImpl(this.name)(q,pt,_t)}}),j("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(q,W,Z,st,bt,pt,_t){var St=bt,Et=Math.pow(St.x-q,2)+Math.pow(St.y-W,2)<=Math.pow((Z+2*_t)*this.radius,2),Nt=O(L(this.points,Z+2*_t,st,bt));return y0(q,W,Nt)||Et},draw:function(q,W,Z,st,bt){var pt=L(this.pointsTr,W,Z,st);p.arrowShapeImpl(this.name)(q,pt,st.x,st.y,this.radius*W)},spacing:function(q){return p.getArrowWidth(q.pstyle("width").pfValue,q.pstyle("arrow-scale").value)*this.radius}}),j("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(q,W){var Z=this.baseCrossLinePts.slice(),st=W/q,bt=3,pt=5;return Z[bt]=Z[bt]-st,Z[pt]=Z[pt]-st,Z},collide:function(q,W,Z,st,bt,pt,_t){var St=O(L(this.points,Z+2*_t,st,bt)),Et=O(L(this.crossLinePts(Z,pt),Z+2*_t,st,bt)),Nt=y0(q,W,St)||y0(q,W,Et);return Nt},draw:function(q,W,Z,st,bt){var pt=L(this.points,W,Z,st),_t=L(this.crossLinePts(W,bt),W,Z,st);p.arrowShapeImpl(this.name)(q,pt,_t)}}),j("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(q){return N(q)*.525}}),j("circle",{radius:.15,collide:function(q,W,Z,st,bt,pt,_t){var St=bt,Et=Math.pow(St.x-q,2)+Math.pow(St.y-W,2)<=Math.pow((Z+2*_t)*this.radius,2);return Et},draw:function(q,W,Z,st,bt){p.arrowShapeImpl(this.name)(q,st.x,st.y,this.radius*W)},spacing:function(q){return p.getArrowWidth(q.pstyle("width").pfValue,q.pstyle("arrow-scale").value)*this.radius}}),j("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(q){return 1},gap:function(q){return 1}}),j("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),j("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(q){return q.pstyle("width").pfValue*q.pstyle("arrow-scale").value}}),j("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(q){return .95*q.pstyle("width").pfValue*q.pstyle("arrow-scale").value}})};var C4={};C4.projectIntoViewport=function(y,p){var x=this.cy,C=this.findContainerClientCoords(),L=C[0],O=C[1],N=C[4],j=x.pan(),H=x.zoom(),q=((y-L)/N-j.x)/H,W=((p-O)/N-j.y)/H;return[q,W]},C4.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var y=this.container,p=y.getBoundingClientRect(),x=this.cy.window().getComputedStyle(y),C=function(Et){return parseFloat(x.getPropertyValue(Et))},L={left:C("padding-left"),right:C("padding-right"),top:C("padding-top"),bottom:C("padding-bottom")},O={left:C("border-left-width"),right:C("border-right-width"),top:C("border-top-width"),bottom:C("border-bottom-width")},N=y.clientWidth,j=y.clientHeight,H=L.left+L.right,q=L.top+L.bottom,W=O.left+O.right,Z=p.width/(N+W),st=N-H,bt=j-q,pt=p.left+L.left+O.left,_t=p.top+L.top+O.top;return this.containerBB=[pt,_t,st,bt,Z]},C4.invalidateContainerClientCoordsCache=function(){this.containerBB=null},C4.findNearestElement=function(y,p,x,C){return this.findNearestElements(y,p,x,C)[0]},C4.findNearestElements=function(y,p,x,C){var L=this,O=this,N=O.getCachedZSortedEles(),j=[],H=O.cy.zoom(),q=O.cy.hasCompoundNodes(),W=(C?24:8)/H,Z=(C?8:2)/H,st=(C?8:2)/H,bt=1/0,pt,_t;x&&(N=N.interactive);function St(Ut,de){if(Ut.isNode()){if(_t)return;_t=Ut,j.push(Ut)}if(Ut.isEdge()&&(de==null||de<bt))if(pt){if(pt.pstyle("z-compound-depth").value===Ut.pstyle("z-compound-depth").value&&pt.pstyle("z-compound-depth").value===Ut.pstyle("z-compound-depth").value){for(var Yt=0;Yt<j.length;Yt++)if(j[Yt].isEdge()){j[Yt]=Ut,pt=Ut,bt=de??bt;break}}}else j.push(Ut),pt=Ut,bt=de??bt}function Et(Ut){var de=Ut.outerWidth()+2*Z,Yt=Ut.outerHeight()+2*Z,Ee=de/2,Te=Yt/2,ie=Ut.position();if(ie.x-Ee<=y&&y<=ie.x+Ee&&ie.y-Te<=p&&p<=ie.y+Te){var ze=O.nodeShapes[L.getNodeShape(Ut)];if(ze.checkPoint(y,p,0,de,Yt,ie.x,ie.y))return St(Ut,0),!0}}function Nt(Ut){var de=Ut._private,Yt=de.rscratch,Ee=Ut.pstyle("width").pfValue,Te=Ut.pstyle("arrow-scale").value,ie=Ee/2+W,ze=ie*ie,me=ie*2,Tn=de.source,Xn=de.target,yn;if(Yt.edgeType==="segments"||Yt.edgeType==="straight"||Yt.edgeType==="haystack"){for(var nn=Yt.allpts,qe=0;qe+3<nn.length;qe+=2)if(mQ(y,p,nn[qe],nn[qe+1],nn[qe+2],nn[qe+3],me)&&ze>(yn=EQ(y,p,nn[qe],nn[qe+1],nn[qe+2],nn[qe+3])))return St(Ut,yn),!0}else if(Yt.edgeType==="bezier"||Yt.edgeType==="multibezier"||Yt.edgeType==="self"||Yt.edgeType==="compound"){for(var nn=Yt.allpts,qe=0;qe+5<Yt.allpts.length;qe+=4)if(vQ(y,p,nn[qe],nn[qe+1],nn[qe+2],nn[qe+3],nn[qe+4],nn[qe+5],me)&&ze>(yn=kQ(y,p,nn[qe],nn[qe+1],nn[qe+2],nn[qe+3],nn[qe+4],nn[qe+5])))return St(Ut,yn),!0}for(var Tn=Tn||de.source,Xn=Xn||de.target,lr=L.getArrowWidth(Ee,Te),Sn=[{name:"source",x:Yt.arrowStartX,y:Yt.arrowStartY,angle:Yt.srcArrowAngle},{name:"target",x:Yt.arrowEndX,y:Yt.arrowEndY,angle:Yt.tgtArrowAngle},{name:"mid-source",x:Yt.midX,y:Yt.midY,angle:Yt.midsrcArrowAngle},{name:"mid-target",x:Yt.midX,y:Yt.midY,angle:Yt.midtgtArrowAngle}],qe=0;qe<Sn.length;qe++){var or=Sn[qe],pr=O.arrowShapes[Ut.pstyle(or.name+"-arrow-shape").value],kr=Ut.pstyle("width").pfValue;if(pr.roughCollide(y,p,lr,or.angle,{x:or.x,y:or.y},kr,W)&&pr.collide(y,p,lr,or.angle,{x:or.x,y:or.y},kr,W))return St(Ut),!0}q&&j.length>0&&(Et(Tn),Et(Xn))}function Pt(Ut,de,Yt){return fb(Ut,de,Yt)}function qt(Ut,de){var Yt=Ut._private,Ee=st,Te;de?Te=de+"-":Te="",Ut.boundingBox();var ie=Yt.labelBounds[de||"main"],ze=Ut.pstyle(Te+"label").value,me=Ut.pstyle("text-events").strValue==="yes";if(!(!me||!ze)){var yn=Pt(Yt.rscratch,"labelX",de),nn=Pt(Yt.rscratch,"labelY",de),qe=Pt(Yt.rscratch,"labelAngle",de),Tn=Ut.pstyle(Te+"text-margin-x").pfValue,Xn=Ut.pstyle(Te+"text-margin-y").pfValue,lr=ie.x1-Ee-Tn,Sn=ie.x2+Ee-Tn,or=ie.y1-Ee-Xn,pr=ie.y2+Ee-Xn;if(qe){var kr=Math.cos(qe),wr=Math.sin(qe),Cr=function(na,vi){return na=na-yn,vi=vi-nn,{x:na*kr-vi*wr+yn,y:na*wr+vi*kr+nn}},$n=Cr(lr,or),cr=Cr(lr,pr),mr=Cr(Sn,or),Sr=Cr(Sn,pr),gi=[$n.x+Tn,$n.y+Xn,mr.x+Tn,mr.y+Xn,Sr.x+Tn,Sr.y+Xn,cr.x+Tn,cr.y+Xn];if(y0(y,p,gi))return St(Ut),!0}else if(Qx(ie,y,p))return St(Ut),!0}}for(var re=N.length-1;re>=0;re--){var ee=N[re];ee.isNode()?Et(ee)||qt(ee):Nt(ee)||qt(ee)||qt(ee,"source")||qt(ee,"target")}return j},C4.getAllInBox=function(y,p,x,C){var L=this.getCachedZSortedEles().interactive,O=[],N=Math.min(y,x),j=Math.max(y,x),H=Math.min(p,C),q=Math.max(p,C);y=N,x=j,p=H,C=q;for(var W=v0({x1:y,y1:p,x2:x,y2:C}),Z=0;Z<L.length;Z++){var st=L[Z];if(st.isNode()){var bt=st,pt=bt.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:!1});$D(W,pt)&&!jB(pt,W)&&O.push(bt)}else{var _t=st,St=_t._private,Et=St.rscratch;if(Et.startX!=null&&Et.startY!=null&&!Qx(W,Et.startX,Et.startY)||Et.endX!=null&&Et.endY!=null&&!Qx(W,Et.endX,Et.endY))continue;if(Et.edgeType==="bezier"||Et.edgeType==="multibezier"||Et.edgeType==="self"||Et.edgeType==="compound"||Et.edgeType==="segments"||Et.edgeType==="haystack"){for(var Nt=St.rstyle.bezierPts||St.rstyle.linePts||St.rstyle.haystackPts,Pt=!0,qt=0;qt<Nt.length;qt++)if(!wQ(W,Nt[qt])){Pt=!1;break}Pt&&O.push(_t)}else(Et.edgeType==="haystack"||Et.edgeType==="straight")&&O.push(_t)}}return O};var LC={};LC.calculateArrowAngles=function(y){var p=y._private.rscratch,x=p.edgeType==="haystack",C=p.edgeType==="bezier",L=p.edgeType==="multibezier",O=p.edgeType==="segments",N=p.edgeType==="compound",j=p.edgeType==="self",H,q,W,Z,st,bt,Et,Nt;if(x?(W=p.haystackPts[0],Z=p.haystackPts[1],st=p.haystackPts[2],bt=p.haystackPts[3]):(W=p.arrowStartX,Z=p.arrowStartY,st=p.arrowEndX,bt=p.arrowEndY),Et=p.midX,Nt=p.midY,O)H=W-p.segpts[0],q=Z-p.segpts[1];else if(L||N||j||C){var pt=p.allpts,_t=Lf(pt[0],pt[2],pt[4],.1),St=Lf(pt[1],pt[3],pt[5],.1);H=W-_t,q=Z-St}else H=W-Et,q=Z-Nt;p.srcArrowAngle=Y9(H,q);var Et=p.midX,Nt=p.midY;if(x&&(Et=(W+st)/2,Nt=(Z+bt)/2),H=st-W,q=bt-Z,O){var pt=p.allpts;if(pt.length/2%2===0){var Pt=pt.length/2,qt=Pt-2;H=pt[Pt]-pt[qt],q=pt[Pt+1]-pt[qt+1]}else{var Pt=pt.length/2-1,qt=Pt-2,re=Pt+2;H=pt[Pt]-pt[qt],q=pt[Pt+1]-pt[qt+1]}}else if(L||N||j){var pt=p.allpts,ee=p.ctrlpts,Ut,de,Yt,Ee;if(ee.length/2%2===0){var Te=pt.length/2-1,ie=Te+2,ze=ie+2;Ut=Lf(pt[Te],pt[ie],pt[ze],0),de=Lf(pt[Te+1],pt[ie+1],pt[ze+1],0),Yt=Lf(pt[Te],pt[ie],pt[ze],1e-4),Ee=Lf(pt[Te+1],pt[ie+1],pt[ze+1],1e-4)}else{var ie=pt.length/2-1,Te=ie-2,ze=ie+2;Ut=Lf(pt[Te],pt[ie],pt[ze],.4999),de=Lf(pt[Te+1],pt[ie+1],pt[ze+1],.4999),Yt=Lf(pt[Te],pt[ie],pt[ze],.5),Ee=Lf(pt[Te+1],pt[ie+1],pt[ze+1],.5)}H=Yt-Ut,q=Ee-de}if(p.midtgtArrowAngle=Y9(H,q),p.midDispX=H,p.midDispY=q,H*=-1,q*=-1,O){var pt=p.allpts;if(pt.length/2%2!==0){var Pt=pt.length/2-1,re=Pt+2;H=-(pt[re]-pt[Pt]),q=-(pt[re+1]-pt[Pt+1])}}if(p.midsrcArrowAngle=Y9(H,q),O)H=st-p.segpts[p.segpts.length-2],q=bt-p.segpts[p.segpts.length-1];else if(L||N||j||C){var pt=p.allpts,me=pt.length,_t=Lf(pt[me-6],pt[me-4],pt[me-2],.9),St=Lf(pt[me-5],pt[me-3],pt[me-1],.9);H=st-_t,q=bt-St}else H=st-Et,q=bt-Nt;p.tgtArrowAngle=Y9(H,q)},LC.getArrowWidth=LC.getArrowHeight=function(y,p){var x=this.arrowWidthCache=this.arrowWidthCache||{},C=x[y+", "+p];return C||(C=Math.max(Math.pow(y*13.37,.9),29)*p,x[y+", "+p]=C,C)};var Q1={};Q1.findMidptPtsEtc=function(y,p){var x=p.posPts,C=p.intersectionPts,L=p.vectorNormInverse,O,N=y.pstyle("source-endpoint"),j=y.pstyle("target-endpoint"),H=N.units!=null&&j.units!=null,q=function(re,ee,Ut,de){var Yt=de-ee,Ee=Ut-re,Te=Math.sqrt(Ee*Ee+Yt*Yt);return{x:-Yt/Te,y:Ee/Te}},W=y.pstyle("edge-distances").value;switch(W){case"node-position":O=x;break;case"intersection":O=C;break;case"endpoints":{if(H){var Z=this.manualEndptToPx(y.source()[0],N),st=E(Z,2),bt=st[0],pt=st[1],_t=this.manualEndptToPx(y.target()[0],j),St=E(_t,2),Et=St[0],Nt=St[1],Pt={x1:bt,y1:pt,x2:Et,y2:Nt};L=q(bt,pt,Et,Nt),O=Pt}else Gc("Edge ".concat(y.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),O=C;break}}return{midptPts:O,vectorNormInverse:L}},Q1.findHaystackPoints=function(y){for(var p=0;p<y.length;p++){var x=y[p],C=x._private,L=C.rscratch;if(!L.haystack){var O=Math.random()*2*Math.PI;L.source={x:Math.cos(O),y:Math.sin(O)},O=Math.random()*2*Math.PI,L.target={x:Math.cos(O),y:Math.sin(O)}}var N=C.source,j=C.target,H=N.position(),q=j.position(),W=N.width(),Z=j.width(),st=N.height(),bt=j.height(),pt=x.pstyle("haystack-radius").value,_t=pt/2;L.haystackPts=L.allpts=[L.source.x*W*_t+H.x,L.source.y*st*_t+H.y,L.target.x*Z*_t+q.x,L.target.y*bt*_t+q.y],L.midX=(L.allpts[0]+L.allpts[2])/2,L.midY=(L.allpts[1]+L.allpts[3])/2,L.edgeType="haystack",L.haystack=!0,this.storeEdgeProjections(x),this.calculateArrowAngles(x),this.recalculateEdgeLabelProjections(x),this.calculateLabelAngles(x)}},Q1.findSegmentsPoints=function(y,p){var x=y._private.rscratch,C=y.pstyle("segment-weights"),L=y.pstyle("segment-distances"),O=Math.min(C.pfValue.length,L.pfValue.length);x.edgeType="segments",x.segpts=[];for(var N=0;N<O;N++){var j=C.pfValue[N],H=L.pfValue[N],q=1-j,W=j,Z=this.findMidptPtsEtc(y,p),st=Z.midptPts,bt=Z.vectorNormInverse,pt={x:st.x1*q+st.x2*W,y:st.y1*q+st.y2*W};x.segpts.push(pt.x+bt.x*H,pt.y+bt.y*H)}},Q1.findLoopPoints=function(y,p,x,C){var L=y._private.rscratch,O=p.dirCounts,N=p.srcPos,j=y.pstyle("control-point-distances"),H=j?j.pfValue[0]:void 0,q=y.pstyle("loop-direction").pfValue,W=y.pstyle("loop-sweep").pfValue,Z=y.pstyle("control-point-step-size").pfValue;L.edgeType="self";var st=x,bt=Z;C&&(st=0,bt=H);var pt=q-Math.PI/2,_t=pt-W/2,St=pt+W/2,Et=q+"_"+W;st=O[Et]===void 0?O[Et]=0:++O[Et],L.ctrlpts=[N.x+Math.cos(_t)*1.4*bt*(st/3+1),N.y+Math.sin(_t)*1.4*bt*(st/3+1),N.x+Math.cos(St)*1.4*bt*(st/3+1),N.y+Math.sin(St)*1.4*bt*(st/3+1)]},Q1.findCompoundLoopPoints=function(y,p,x,C){var L=y._private.rscratch;L.edgeType="compound";var O=p.srcPos,N=p.tgtPos,j=p.srcW,H=p.srcH,q=p.tgtW,W=p.tgtH,Z=y.pstyle("control-point-step-size").pfValue,st=y.pstyle("control-point-distances"),bt=st?st.pfValue[0]:void 0,pt=x,_t=Z;C&&(pt=0,_t=bt);var St=50,Et={x:O.x-j/2,y:O.y-H/2},Nt={x:N.x-q/2,y:N.y-W/2},Pt={x:Math.min(Et.x,Nt.x),y:Math.min(Et.y,Nt.y)},qt=.5,re=Math.max(qt,Math.log(j*.01)),ee=Math.max(qt,Math.log(q*.01));L.ctrlpts=[Pt.x,Pt.y-(1+Math.pow(St,1.12)/100)*_t*(pt/3+1)*re,Pt.x-(1+Math.pow(St,1.12)/100)*_t*(pt/3+1)*ee,Pt.y]},Q1.findStraightEdgePoints=function(y){y._private.rscratch.edgeType="straight"},Q1.findBezierPoints=function(y,p,x,C,L){var O=y._private.rscratch,N=y.pstyle("control-point-step-size").pfValue,j=y.pstyle("control-point-distances"),H=y.pstyle("control-point-weights"),q=j&&H?Math.min(j.value.length,H.value.length):1,W=j?j.pfValue[0]:void 0,Z=H.value[0],st=C;O.edgeType=st?"multibezier":"bezier",O.ctrlpts=[];for(var bt=0;bt<q;bt++){var pt=(.5-p.eles.length/2+x)*N*(L?-1:1),_t=void 0,St=FB(pt);st&&(W=j?j.pfValue[bt]:N,Z=H.value[bt]),C?_t=W:_t=W!==void 0?St*W:void 0;var Et=_t!==void 0?_t:pt,Nt=1-Z,Pt=Z,qt=this.findMidptPtsEtc(y,p),re=qt.midptPts,ee=qt.vectorNormInverse,Ut={x:re.x1*Nt+re.x2*Pt,y:re.y1*Nt+re.y2*Pt};O.ctrlpts.push(Ut.x+ee.x*Et,Ut.y+ee.y*Et)}},Q1.findTaxiPoints=function(y,p){var x=y._private.rscratch;x.edgeType="segments";var C="vertical",L="horizontal",O="leftward",N="rightward",j="downward",H="upward",q="auto",W=p.posPts,Z=p.srcW,st=p.srcH,bt=p.tgtW,pt=p.tgtH,_t=y.pstyle("edge-distances").value,St=_t!=="node-position",Et=y.pstyle("taxi-direction").value,Nt=Et,Pt=y.pstyle("taxi-turn"),qt=Pt.units==="%",re=Pt.pfValue,ee=re<0,Ut=y.pstyle("taxi-turn-min-distance").pfValue,de=St?(Z+bt)/2:0,Yt=St?(st+pt)/2:0,Ee=W.x2-W.x1,Te=W.y2-W.y1,ie=function(hr,us){return hr>0?Math.max(hr-us,0):Math.min(hr+us,0)},ze=ie(Ee,de),me=ie(Te,Yt),yn=!1;Nt===q?Et=Math.abs(ze)>Math.abs(me)?L:C:Nt===H||Nt===j?(Et=C,yn=!0):(Nt===O||Nt===N)&&(Et=L,yn=!0);var nn=Et===C,qe=nn?me:ze,Tn=nn?Te:Ee,Xn=FB(Tn),lr=!1;!(yn&&(qt||ee))&&(Nt===j&&Tn<0||Nt===H&&Tn>0||Nt===O&&Tn>0||Nt===N&&Tn<0)&&(Xn*=-1,qe=Xn*Math.abs(qe),lr=!0);var Sn;if(qt){var or=re<0?1+re:re;Sn=or*qe}else{var pr=re<0?qe:0;Sn=pr+re*Xn}var kr=function(hr){return Math.abs(hr)<Ut||Math.abs(hr)>=Math.abs(qe)},wr=kr(Sn),Cr=kr(Math.abs(qe)-Math.abs(Sn)),$n=wr||Cr;if($n&&!lr)if(nn){var cr=Math.abs(Tn)<=st/2,mr=Math.abs(Ee)<=bt/2;if(cr){var Sr=(W.x1+W.x2)/2,gi=W.y1,ss=W.y2;x.segpts=[Sr,gi,Sr,ss]}else if(mr){var na=(W.y1+W.y2)/2,vi=W.x1,si=W.x2;x.segpts=[vi,na,si,na]}else x.segpts=[W.x1,W.y2]}else{var Qi=Math.abs(Tn)<=Z/2,ks=Math.abs(Te)<=pt/2;if(Qi){var as=(W.y1+W.y2)/2,Es=W.x1,eo=W.x2;x.segpts=[Es,as,eo,as]}else if(ks){var Ta=(W.x1+W.x2)/2,pa=W.y1,mo=W.y2;x.segpts=[Ta,pa,Ta,mo]}else x.segpts=[W.x2,W.y1]}else if(nn){var Kn=W.y1+Sn+(St?st/2*Xn:0),G=W.x1,Vn=W.x2;x.segpts=[G,Kn,Vn,Kn]}else{var gr=W.x1+Sn+(St?Z/2*Xn:0),nr=W.y1,Be=W.y2;x.segpts=[gr,nr,gr,Be]}},Q1.tryToCorrectInvalidPoints=function(y,p){var x=y._private.rscratch;if(x.edgeType==="bezier"){var C=p.srcPos,L=p.tgtPos,O=p.srcW,N=p.srcH,j=p.tgtW,H=p.tgtH,q=p.srcShape,W=p.tgtShape,Z=!Q(x.startX)||!Q(x.startY),st=!Q(x.arrowStartX)||!Q(x.arrowStartY),bt=!Q(x.endX)||!Q(x.endY),pt=!Q(x.arrowEndX)||!Q(x.arrowEndY),_t=3,St=this.getArrowWidth(y.pstyle("width").pfValue,y.pstyle("arrow-scale").value)*this.arrowShapeWidth,Et=_t*St,Nt=w4({x:x.ctrlpts[0],y:x.ctrlpts[1]},{x:x.startX,y:x.startY}),Pt=Nt<Et,qt=w4({x:x.ctrlpts[0],y:x.ctrlpts[1]},{x:x.endX,y:x.endY}),re=qt<Et,ee=!1;if(Z||st||Pt){ee=!0;var Ut={x:x.ctrlpts[0]-C.x,y:x.ctrlpts[1]-C.y},de=Math.sqrt(Ut.x*Ut.x+Ut.y*Ut.y),Yt={x:Ut.x/de,y:Ut.y/de},Ee=Math.max(O,N),Te={x:x.ctrlpts[0]+Yt.x*2*Ee,y:x.ctrlpts[1]+Yt.y*2*Ee},ie=q.intersectLine(C.x,C.y,O,N,Te.x,Te.y,0);Pt?(x.ctrlpts[0]=x.ctrlpts[0]+Yt.x*(Et-Nt),x.ctrlpts[1]=x.ctrlpts[1]+Yt.y*(Et-Nt)):(x.ctrlpts[0]=ie[0]+Yt.x*Et,x.ctrlpts[1]=ie[1]+Yt.y*Et)}if(bt||pt||re){ee=!0;var ze={x:x.ctrlpts[0]-L.x,y:x.ctrlpts[1]-L.y},me=Math.sqrt(ze.x*ze.x+ze.y*ze.y),yn={x:ze.x/me,y:ze.y/me},nn=Math.max(O,N),qe={x:x.ctrlpts[0]+yn.x*2*nn,y:x.ctrlpts[1]+yn.y*2*nn},Tn=W.intersectLine(L.x,L.y,j,H,qe.x,qe.y,0);re?(x.ctrlpts[0]=x.ctrlpts[0]+yn.x*(Et-qt),x.ctrlpts[1]=x.ctrlpts[1]+yn.y*(Et-qt)):(x.ctrlpts[0]=Tn[0]+yn.x*Et,x.ctrlpts[1]=Tn[1]+yn.y*Et)}ee&&this.findEndpoints(y)}},Q1.storeAllpts=function(y){var p=y._private.rscratch;if(p.edgeType==="multibezier"||p.edgeType==="bezier"||p.edgeType==="self"||p.edgeType==="compound"){p.allpts=[],p.allpts.push(p.startX,p.startY);for(var x=0;x+1<p.ctrlpts.length;x+=2)p.allpts.push(p.ctrlpts[x],p.ctrlpts[x+1]),x+3<p.ctrlpts.length&&p.allpts.push((p.ctrlpts[x]+p.ctrlpts[x+2])/2,(p.ctrlpts[x+1]+p.ctrlpts[x+3])/2);p.allpts.push(p.endX,p.endY);var C,L;p.ctrlpts.length/2%2===0?(C=p.allpts.length/2-1,p.midX=p.allpts[C],p.midY=p.allpts[C+1]):(C=p.allpts.length/2-3,L=.5,p.midX=Lf(p.allpts[C],p.allpts[C+2],p.allpts[C+4],L),p.midY=Lf(p.allpts[C+1],p.allpts[C+3],p.allpts[C+5],L))}else if(p.edgeType==="straight")p.allpts=[p.startX,p.startY,p.endX,p.endY],p.midX=(p.startX+p.endX+p.arrowStartX+p.arrowEndX)/4,p.midY=(p.startY+p.endY+p.arrowStartY+p.arrowEndY)/4;else if(p.edgeType==="segments")if(p.allpts=[],p.allpts.push(p.startX,p.startY),p.allpts.push.apply(p.allpts,p.segpts),p.allpts.push(p.endX,p.endY),p.segpts.length%4===0){var O=p.segpts.length/2,N=O-2;p.midX=(p.segpts[N]+p.segpts[O])/2,p.midY=(p.segpts[N+1]+p.segpts[O+1])/2}else{var j=p.segpts.length/2-1;p.midX=p.segpts[j],p.midY=p.segpts[j+1]}},Q1.checkForInvalidEdgeWarning=function(y){var p=y[0]._private.rscratch;p.nodesOverlap||Q(p.startX)&&Q(p.startY)&&Q(p.endX)&&Q(p.endY)?p.loggedErr=!1:p.loggedErr||(p.loggedErr=!0,Gc("Edge `"+y.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))},Q1.findEdgeControlPoints=function(y){var p=this;if(!(!y||y.length===0)){for(var x=this,C=x.cy,L=C.hasCompoundNodes(),O={map:new F2,get:function(Ut){var de=this.map.get(Ut[0]);return de!=null?de.get(Ut[1]):null},set:function(Ut,de){var Yt=this.map.get(Ut[0]);Yt==null&&(Yt=new F2,this.map.set(Ut[0],Yt)),Yt.set(Ut[1],de)}},N=[],j=[],H=0;H<y.length;H++){var q=y[H],W=q._private,Z=q.pstyle("curve-style").value;if(!(q.removed()||!q.takesUpSpace())){if(Z==="haystack"){j.push(q);continue}var st=Z==="unbundled-bezier"||Z==="segments"||Z==="straight"||Z==="straight-triangle"||Z==="taxi",bt=Z==="unbundled-bezier"||Z==="bezier",pt=W.source,_t=W.target,St=pt.poolIndex(),Et=_t.poolIndex(),Nt=[St,Et].sort(),Pt=O.get(Nt);Pt==null&&(Pt={eles:[]},O.set(Nt,Pt),N.push(Nt)),Pt.eles.push(q),st&&(Pt.hasUnbundled=!0),bt&&(Pt.hasBezier=!0)}}for(var qt=function(Ut){var de=N[Ut],Yt=O.get(de),Ee=void 0;if(!Yt.hasUnbundled){var Te=Yt.eles[0].parallelEdges().filter(function(mo){return mo.isBundledBezier()});G9(Yt.eles),Te.forEach(function(mo){return Yt.eles.push(mo)}),Yt.eles.sort(function(mo,Kn){return mo.poolIndex()-Kn.poolIndex()})}var ie=Yt.eles[0],ze=ie.source(),me=ie.target();if(ze.poolIndex()>me.poolIndex()){var yn=ze;ze=me,me=yn}var nn=Yt.srcPos=ze.position(),qe=Yt.tgtPos=me.position(),Tn=Yt.srcW=ze.outerWidth(),Xn=Yt.srcH=ze.outerHeight(),lr=Yt.tgtW=me.outerWidth(),Sn=Yt.tgtH=me.outerHeight(),or=Yt.srcShape=x.nodeShapes[p.getNodeShape(ze)],pr=Yt.tgtShape=x.nodeShapes[p.getNodeShape(me)];Yt.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var kr=0;kr<Yt.eles.length;kr++){var wr=Yt.eles[kr],Cr=wr[0]._private.rscratch,$n=wr.pstyle("curve-style").value,cr=$n==="unbundled-bezier"||$n==="segments"||$n==="taxi",mr=!ze.same(wr.source());if(!Yt.calculatedIntersection&&ze!==me&&(Yt.hasBezier||Yt.hasUnbundled)){Yt.calculatedIntersection=!0;var Sr=or.intersectLine(nn.x,nn.y,Tn,Xn,qe.x,qe.y,0),gi=Yt.srcIntn=Sr,ss=pr.intersectLine(qe.x,qe.y,lr,Sn,nn.x,nn.y,0),na=Yt.tgtIntn=ss,vi=Yt.intersectionPts={x1:Sr[0],x2:ss[0],y1:Sr[1],y2:ss[1]},si=Yt.posPts={x1:nn.x,x2:qe.x,y1:nn.y,y2:qe.y},Qi=ss[1]-Sr[1],ks=ss[0]-Sr[0],as=Math.sqrt(ks*ks+Qi*Qi),Es=Yt.vector={x:ks,y:Qi},eo=Yt.vectorNorm={x:Es.x/as,y:Es.y/as},Ta={x:-eo.y,y:eo.x};Yt.nodesOverlap=!Q(as)||pr.checkPoint(Sr[0],Sr[1],0,lr,Sn,qe.x,qe.y)||or.checkPoint(ss[0],ss[1],0,Tn,Xn,nn.x,nn.y),Yt.vectorNormInverse=Ta,Ee={nodesOverlap:Yt.nodesOverlap,dirCounts:Yt.dirCounts,calculatedIntersection:!0,hasBezier:Yt.hasBezier,hasUnbundled:Yt.hasUnbundled,eles:Yt.eles,srcPos:qe,tgtPos:nn,srcW:lr,srcH:Sn,tgtW:Tn,tgtH:Xn,srcIntn:na,tgtIntn:gi,srcShape:pr,tgtShape:or,posPts:{x1:si.x2,y1:si.y2,x2:si.x1,y2:si.y1},intersectionPts:{x1:vi.x2,y1:vi.y2,x2:vi.x1,y2:vi.y1},vector:{x:-Es.x,y:-Es.y},vectorNorm:{x:-eo.x,y:-eo.y},vectorNormInverse:{x:-Ta.x,y:-Ta.y}}}var pa=mr?Ee:Yt;Cr.nodesOverlap=pa.nodesOverlap,Cr.srcIntn=pa.srcIntn,Cr.tgtIntn=pa.tgtIntn,L&&(ze.isParent()||ze.isChild()||me.isParent()||me.isChild())&&(ze.parents().anySame(me)||me.parents().anySame(ze)||ze.same(me)&&ze.isParent())?p.findCompoundLoopPoints(wr,pa,kr,cr):ze===me?p.findLoopPoints(wr,pa,kr,cr):$n==="segments"?p.findSegmentsPoints(wr,pa):$n==="taxi"?p.findTaxiPoints(wr,pa):$n==="straight"||!cr&&Yt.eles.length%2===1&&kr===Math.floor(Yt.eles.length/2)?p.findStraightEdgePoints(wr):p.findBezierPoints(wr,pa,kr,cr,mr),p.findEndpoints(wr),p.tryToCorrectInvalidPoints(wr,pa),p.checkForInvalidEdgeWarning(wr),p.storeAllpts(wr),p.storeEdgeProjections(wr),p.calculateArrowAngles(wr),p.recalculateEdgeLabelProjections(wr),p.calculateLabelAngles(wr)}},re=0;re<N.length;re++)qt(re);this.findHaystackPoints(j)}};function xj(y){var p=[];if(y!=null){for(var x=0;x<y.length;x+=2){var C=y[x],L=y[x+1];p.push({x:C,y:L})}return p}}Q1.getSegmentPoints=function(y){var p=y[0]._private.rscratch,x=p.edgeType;if(x==="segments")return this.recalculateRenderedStyle(y),xj(p.segpts)},Q1.getControlPoints=function(y){var p=y[0]._private.rscratch,x=p.edgeType;if(x==="bezier"||x==="multibezier"||x==="self"||x==="compound")return this.recalculateRenderedStyle(y),xj(p.ctrlpts)},Q1.getEdgeMidpoint=function(y){var p=y[0]._private.rscratch;return this.recalculateRenderedStyle(y),{x:p.midX,y:p.midY}};var eE={};eE.manualEndptToPx=function(y,p){var x=this,C=y.position(),L=y.outerWidth(),O=y.outerHeight();if(p.value.length===2){var N=[p.pfValue[0],p.pfValue[1]];return p.units[0]==="%"&&(N[0]=N[0]*L),p.units[1]==="%"&&(N[1]=N[1]*O),N[0]+=C.x,N[1]+=C.y,N}else{var j=p.pfValue[0];j=-Math.PI/2+j;var H=2*Math.max(L,O),q=[C.x+Math.cos(j)*H,C.y+Math.sin(j)*H];return x.nodeShapes[this.getNodeShape(y)].intersectLine(C.x,C.y,L,O,q[0],q[1],0)}},eE.findEndpoints=function(y){var p=this,x,C=y.source()[0],L=y.target()[0],O=C.position(),N=L.position(),j=y.pstyle("target-arrow-shape").value,H=y.pstyle("source-arrow-shape").value,q=y.pstyle("target-distance-from-node").pfValue,W=y.pstyle("source-distance-from-node").pfValue,Z=y.pstyle("curve-style").value,st=y._private.rscratch,bt=st.edgeType,pt=Z==="taxi",_t=bt==="self"||bt==="compound",St=bt==="bezier"||bt==="multibezier"||_t,Et=bt!=="bezier",Nt=bt==="straight"||bt==="segments",Pt=bt==="segments",qt=St||Et||Nt,re=_t||pt,ee=y.pstyle("source-endpoint"),Ut=re?"outside-to-node":ee.value,de=y.pstyle("target-endpoint"),Yt=re?"outside-to-node":de.value;st.srcManEndpt=ee,st.tgtManEndpt=de;var Ee,Te,ie,ze;if(St){var me=[st.ctrlpts[0],st.ctrlpts[1]],yn=Et?[st.ctrlpts[st.ctrlpts.length-2],st.ctrlpts[st.ctrlpts.length-1]]:me;Ee=yn,Te=me}else if(Nt){var nn=Pt?st.segpts.slice(0,2):[N.x,N.y],qe=Pt?st.segpts.slice(st.segpts.length-2):[O.x,O.y];Ee=qe,Te=nn}if(Yt==="inside-to-node")x=[N.x,N.y];else if(de.units)x=this.manualEndptToPx(L,de);else if(Yt==="outside-to-line")x=st.tgtIntn;else if(Yt==="outside-to-node"||Yt==="outside-to-node-or-label"?ie=Ee:(Yt==="outside-to-line"||Yt==="outside-to-line-or-label")&&(ie=[O.x,O.y]),x=p.nodeShapes[this.getNodeShape(L)].intersectLine(N.x,N.y,L.outerWidth(),L.outerHeight(),ie[0],ie[1],0),Yt==="outside-to-node-or-label"||Yt==="outside-to-line-or-label"){var Tn=L._private.rscratch,Xn=Tn.labelWidth,lr=Tn.labelHeight,Sn=Tn.labelX,or=Tn.labelY,pr=Xn/2,kr=lr/2,wr=L.pstyle("text-valign").value;wr==="top"?or-=kr:wr==="bottom"&&(or+=kr);var Cr=L.pstyle("text-halign").value;Cr==="left"?Sn-=pr:Cr==="right"&&(Sn+=pr);var $n=B8(ie[0],ie[1],[Sn-pr,or-kr,Sn+pr,or-kr,Sn+pr,or+kr,Sn-pr,or+kr],N.x,N.y);if($n.length>0){var cr=O,mr=m4(cr,Yx(x)),Sr=m4(cr,Yx($n)),gi=mr;if(Sr<mr&&(x=$n,gi=Sr),$n.length>2){var ss=m4(cr,{x:$n[2],y:$n[3]});ss<gi&&(x=[$n[2],$n[3]])}}}var na=tC(x,Ee,p.arrowShapes[j].spacing(y)+q),vi=tC(x,Ee,p.arrowShapes[j].gap(y)+q);if(st.endX=vi[0],st.endY=vi[1],st.arrowEndX=na[0],st.arrowEndY=na[1],Ut==="inside-to-node")x=[O.x,O.y];else if(ee.units)x=this.manualEndptToPx(C,ee);else if(Ut==="outside-to-line")x=st.srcIntn;else if(Ut==="outside-to-node"||Ut==="outside-to-node-or-label"?ze=Te:(Ut==="outside-to-line"||Ut==="outside-to-line-or-label")&&(ze=[N.x,N.y]),x=p.nodeShapes[this.getNodeShape(C)].intersectLine(O.x,O.y,C.outerWidth(),C.outerHeight(),ze[0],ze[1],0),Ut==="outside-to-node-or-label"||Ut==="outside-to-line-or-label"){var si=C._private.rscratch,Qi=si.labelWidth,ks=si.labelHeight,as=si.labelX,Es=si.labelY,eo=Qi/2,Ta=ks/2,pa=C.pstyle("text-valign").value;pa==="top"?Es-=Ta:pa==="bottom"&&(Es+=Ta);var mo=C.pstyle("text-halign").value;mo==="left"?as-=eo:mo==="right"&&(as+=eo);var Kn=B8(ze[0],ze[1],[as-eo,Es-Ta,as+eo,Es-Ta,as+eo,Es+Ta,as-eo,Es+Ta],O.x,O.y);if(Kn.length>0){var G=N,Vn=m4(G,Yx(x)),gr=m4(G,Yx(Kn)),nr=Vn;if(gr<Vn&&(x=[Kn[0],Kn[1]],nr=gr),Kn.length>2){var Be=m4(G,{x:Kn[2],y:Kn[3]});Be<nr&&(x=[Kn[2],Kn[3]])}}}var Ls=tC(x,Te,p.arrowShapes[H].spacing(y)+W),hr=tC(x,Te,p.arrowShapes[H].gap(y)+W);st.startX=hr[0],st.startY=hr[1],st.arrowStartX=Ls[0],st.arrowStartY=Ls[1],qt&&(!Q(st.startX)||!Q(st.startY)||!Q(st.endX)||!Q(st.endY)?st.badLine=!0:st.badLine=!1)},eE.getSourceEndpoint=function(y){var p=y[0]._private.rscratch;switch(this.recalculateRenderedStyle(y),p.edgeType){case"haystack":return{x:p.haystackPts[0],y:p.haystackPts[1]};default:return{x:p.arrowStartX,y:p.arrowStartY}}},eE.getTargetEndpoint=function(y){var p=y[0]._private.rscratch;switch(this.recalculateRenderedStyle(y),p.edgeType){case"haystack":return{x:p.haystackPts[2],y:p.haystackPts[3]};default:return{x:p.arrowEndX,y:p.arrowEndY}}};var mM={};function kj(y,p,x){for(var C=function(q,W,Z,st){return Lf(q,W,Z,st)},L=p._private,O=L.rstyle.bezierPts,N=0;N<y.bezierProjPcts.length;N++){var j=y.bezierProjPcts[N];O.push({x:C(x[0],x[2],x[4],j),y:C(x[1],x[3],x[5],j)})}}mM.storeEdgeProjections=function(y){var p=y._private,x=p.rscratch,C=x.edgeType;if(p.rstyle.bezierPts=null,p.rstyle.linePts=null,p.rstyle.haystackPts=null,C==="multibezier"||C==="bezier"||C==="self"||C==="compound"){p.rstyle.bezierPts=[];for(var L=0;L+5<x.allpts.length;L+=4)kj(this,y,x.allpts.slice(L,L+6))}else if(C==="segments")for(var O=p.rstyle.linePts=[],L=0;L+1<x.allpts.length;L+=2)O.push({x:x.allpts[L],y:x.allpts[L+1]});else if(C==="haystack"){var N=x.haystackPts;p.rstyle.haystackPts=[{x:N[0],y:N[1]},{x:N[2],y:N[3]}]}p.rstyle.arrowWidth=this.getArrowWidth(y.pstyle("width").pfValue,y.pstyle("arrow-scale").value)*this.arrowShapeWidth},mM.recalculateEdgeProjections=function(y){this.findEdgeControlPoints(y)};var j2={};j2.recalculateNodeLabelProjection=function(y){var p=y.pstyle("label").strValue;if(!Ft(p)){var x,C,L=y._private,O=y.width(),N=y.height(),j=y.padding(),H=y.position(),q=y.pstyle("text-halign").strValue,W=y.pstyle("text-valign").strValue,Z=L.rscratch,st=L.rstyle;switch(q){case"left":x=H.x-O/2-j;break;case"right":x=H.x+O/2+j;break;default:x=H.x}switch(W){case"top":C=H.y-N/2-j;break;case"bottom":C=H.y+N/2+j;break;default:C=H.y}Z.labelX=x,Z.labelY=C,st.labelX=x,st.labelY=C,this.calculateLabelAngles(y),this.applyLabelDimensions(y)}};var Ej=function(p,x){var C=Math.atan(x/p);return p===0&&C<0&&(C=C*-1),C},DC=function(p,x){var C=x.x-p.x,L=x.y-p.y;return Ej(C,L)},Uet=function(p,x,C,L){var O=P8(0,L-.001,1),N=P8(0,L+.001,1),j=Xx(p,x,C,O),H=Xx(p,x,C,N);return DC(j,H)};j2.recalculateEdgeLabelProjections=function(y){var p,x=y._private,C=x.rscratch,L=this,O={mid:y.pstyle("label").strValue,source:y.pstyle("source-label").strValue,target:y.pstyle("target-label").strValue};if(O.mid||O.source||O.target){p={x:C.midX,y:C.midY};var N=function(Z,st,bt){cy(x.rscratch,Z,st,bt),cy(x.rstyle,Z,st,bt)};N("labelX",null,p.x),N("labelY",null,p.y);var j=Ej(C.midDispX,C.midDispY);N("labelAutoAngle",null,j);var H=function W(){if(W.cache)return W.cache;for(var Z=[],st=0;st+5<C.allpts.length;st+=4){var bt={x:C.allpts[st],y:C.allpts[st+1]},pt={x:C.allpts[st+2],y:C.allpts[st+3]},_t={x:C.allpts[st+4],y:C.allpts[st+5]};Z.push({p0:bt,p1:pt,p2:_t,startDist:0,length:0,segments:[]})}var St=x.rstyle.bezierPts,Et=L.bezierProjPcts.length;function Nt(Ut,de,Yt,Ee,Te){var ie=w4(de,Yt),ze=Ut.segments[Ut.segments.length-1],me={p0:de,p1:Yt,t0:Ee,t1:Te,startDist:ze?ze.startDist+ze.length:0,length:ie};Ut.segments.push(me),Ut.length+=ie}for(var Pt=0;Pt<Z.length;Pt++){var qt=Z[Pt],re=Z[Pt-1];re&&(qt.startDist=re.startDist+re.length),Nt(qt,qt.p0,St[Pt*Et],0,L.bezierProjPcts[0]);for(var ee=0;ee<Et-1;ee++)Nt(qt,St[Pt*Et+ee],St[Pt*Et+ee+1],L.bezierProjPcts[ee],L.bezierProjPcts[ee+1]);Nt(qt,St[Pt*Et+Et-1],qt.p2,L.bezierProjPcts[Et-1],1)}return W.cache=Z},q=function(Z){var st,bt=Z==="source";if(O[Z]){var pt=y.pstyle(Z+"-text-offset").pfValue;switch(C.edgeType){case"self":case"compound":case"bezier":case"multibezier":{for(var _t=H(),St,Et=0,Nt=0,Pt=0;Pt<_t.length;Pt++){for(var qt=_t[bt?Pt:_t.length-1-Pt],re=0;re<qt.segments.length;re++){var ee=qt.segments[bt?re:qt.segments.length-1-re],Ut=Pt===_t.length-1&&re===qt.segments.length-1;if(Et=Nt,Nt+=ee.length,Nt>=pt||Ut){St={cp:qt,segment:ee};break}}if(St)break}var de=St.cp,Yt=St.segment,Ee=(pt-Et)/Yt.length,Te=Yt.t1-Yt.t0,ie=bt?Yt.t0+Te*Ee:Yt.t1-Te*Ee;ie=P8(0,ie,1),p=Xx(de.p0,de.p1,de.p2,ie),st=Uet(de.p0,de.p1,de.p2,ie);break}case"straight":case"segments":case"haystack":{for(var ze=0,me,yn,nn,qe,Tn=C.allpts.length,Xn=0;Xn+3<Tn&&(bt?(nn={x:C.allpts[Xn],y:C.allpts[Xn+1]},qe={x:C.allpts[Xn+2],y:C.allpts[Xn+3]}):(nn={x:C.allpts[Tn-2-Xn],y:C.allpts[Tn-1-Xn]},qe={x:C.allpts[Tn-4-Xn],y:C.allpts[Tn-3-Xn]}),me=w4(nn,qe),yn=ze,ze+=me,!(ze>=pt));Xn+=2);var lr=pt-yn,Sn=lr/me;Sn=P8(0,Sn,1),p=fQ(nn,qe,Sn),st=DC(nn,qe);break}}N("labelX",Z,p.x),N("labelY",Z,p.y),N("labelAutoAngle",Z,st)}};q("source"),q("target"),this.applyLabelDimensions(y)}},j2.applyLabelDimensions=function(y){this.applyPrefixedLabelDimensions(y),y.isEdge()&&(this.applyPrefixedLabelDimensions(y,"source"),this.applyPrefixedLabelDimensions(y,"target"))},j2.applyPrefixedLabelDimensions=function(y,p){var x=y._private,C=this.getLabelText(y,p),L=this.calculateLabelDimensions(y,C),O=y.pstyle("line-height").pfValue,N=y.pstyle("text-wrap").strValue,j=fb(x.rscratch,"labelWrapCachedLines",p)||[],H=N!=="wrap"?1:Math.max(j.length,1),q=L.height/H,W=q*O,Z=L.width,st=L.height+(H-1)*(O-1)*q;cy(x.rstyle,"labelWidth",p,Z),cy(x.rscratch,"labelWidth",p,Z),cy(x.rstyle,"labelHeight",p,st),cy(x.rscratch,"labelHeight",p,st),cy(x.rscratch,"labelLineHeight",p,W)},j2.getLabelText=function(y,p){var x=y._private,C=p?p+"-":"",L=y.pstyle(C+"label").strValue,O=y.pstyle("text-transform").value,N=function(lr,Sn){return Sn?(cy(x.rscratch,lr,p,Sn),Sn):fb(x.rscratch,lr,p)};if(!L)return"";O=="none"||(O=="uppercase"?L=L.toUpperCase():O=="lowercase"&&(L=L.toLowerCase()));var j=y.pstyle("text-wrap").value;if(j==="wrap"){var H=N("labelKey");if(H!=null&&N("labelWrapKey")===H)return N("labelWrapCachedText");for(var q="​",W=L.split(`
1545 `),Z=y.pstyle("text-max-width").pfValue,st=y.pstyle("text-overflow-wrap").value,bt=st==="anywhere",pt=[],_t=/[\s\u200b]+/,St=bt?"":" ",Et=0;Et<W.length;Et++){var Nt=W[Et],Pt=this.calculateLabelDimensions(y,Nt),qt=Pt.width;if(bt){var re=Nt.split("").join(q);Nt=re}if(qt>Z){for(var ee=Nt.split(_t),Ut="",de=0;de<ee.length;de++){var Yt=ee[de],Ee=Ut.length===0?Yt:Ut+St+Yt,Te=this.calculateLabelDimensions(y,Ee),ie=Te.width;ie<=Z?Ut+=Yt+St:(Ut&&pt.push(Ut),Ut=Yt+St)}Ut.match(/^[\s\u200b]+$/)||pt.push(Ut)}else pt.push(Nt)}N("labelWrapCachedLines",pt),L=N("labelWrapCachedText",pt.join(`
1547 `),Et=0;Et<St.length;Et++){var Nt=St[Et],Pt=st.measureText(Nt),qt=Math.ceil(Pt.width),re=H;pt=Math.max(qt,pt),_t+=re}return pt+=N,_t+=N,L[C]={width:pt,height:_t}},j2.calculateLabelAngle=function(y,p){var x=y._private,C=x.rscratch,L=y.isEdge(),O=p?p+"-":"",N=y.pstyle(O+"text-rotation"),j=N.strValue;return j==="none"?0:L&&j==="autorotate"?C.labelAutoAngle:j==="autorotate"?0:N.pfValue},j2.calculateLabelAngles=function(y){var p=this,x=y.isEdge(),C=y._private,L=C.rscratch;L.labelAngle=p.calculateLabelAngle(y),x&&(L.sourceLabelAngle=p.calculateLabelAngle(y,"source"),L.targetLabelAngle=p.calculateLabelAngle(y,"target"))};var Tj={},Cj=28,Sj=!1;Tj.getNodeShape=function(y){var p=this,x=y.pstyle("shape").value;if(x==="cutrectangle"&&(y.width()<Cj||y.height()<Cj))return Sj||(Gc("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),Sj=!0),"rectangle";if(y.isParent())return x==="rectangle"||x==="roundrectangle"||x==="round-rectangle"||x==="cutrectangle"||x==="cut-rectangle"||x==="barrel"?x:"rectangle";if(x==="polygon"){var C=y.pstyle("shape-polygon-points").value;return p.nodeShapes.makePolygon(C).name}return x};var MC={};MC.registerCalculationListeners=function(){var y=this.cy,p=y.collection(),x=this,C=function(N){var j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(p.merge(N),j)for(var H=0;H<N.length;H++){var q=N[H],W=q._private,Z=W.rstyle;Z.clean=!1,Z.cleanConnected=!1}};x.binder(y).on("bounds.* dirty.*",function(N){var j=N.target;C(j)}).on("style.* background.*",function(N){var j=N.target;C(j,!1)});var L=function(N){if(N){var j=x.onUpdateEleCalcsFns;p.cleanStyle();for(var H=0;H<p.length;H++){var q=p[H],W=q._private.rstyle;q.isNode()&&!W.cleanConnected&&(C(q.connectedEdges()),W.cleanConnected=!0)}if(j)for(var Z=0;Z<j.length;Z++){var st=j[Z];st(N,p)}x.recalculateRenderedStyle(p),p=y.collection()}};x.flushRenderedStyleQueue=function(){L(!0)},x.beforeRender(L,x.beforeRenderPriorities.eleCalcs)},MC.onUpdateEleCalcs=function(y){var p=this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[];p.push(y)},MC.recalculateRenderedStyle=function(y,p){var x=function(qt){return qt._private.rstyle.cleanConnected},C=[],L=[];if(!this.destroyed){p===void 0&&(p=!0);for(var O=0;O<y.length;O++){var N=y[O],j=N._private,H=j.rstyle;N.isEdge()&&(!x(N.source())||!x(N.target()))&&(H.clean=!1),!(p&&H.clean||N.removed())&&N.pstyle("display").value!=="none"&&(j.group==="nodes"?L.push(N):C.push(N),H.clean=!0)}for(var q=0;q<L.length;q++){var W=L[q],Z=W._private,st=Z.rstyle,bt=W.position();this.recalculateNodeLabelProjection(W),st.nodeX=bt.x,st.nodeY=bt.y,st.nodeW=W.pstyle("width").pfValue,st.nodeH=W.pstyle("height").pfValue}this.recalculateEdgeProjections(C);for(var pt=0;pt<C.length;pt++){var _t=C[pt],St=_t._private,Et=St.rstyle,Nt=St.rscratch;Et.srcX=Nt.arrowStartX,Et.srcY=Nt.arrowStartY,Et.tgtX=Nt.arrowEndX,Et.tgtY=Nt.arrowEndY,Et.midX=Nt.midX,Et.midY=Nt.midY,Et.labelAngle=Nt.labelAngle,Et.sourceLabelAngle=Nt.sourceLabelAngle,Et.targetLabelAngle=Nt.targetLabelAngle}}};var IC={};IC.updateCachedGrabbedEles=function(){var y=this.cachedZSortedEles;if(y){y.drag=[],y.nondrag=[];for(var p=[],x=0;x<y.length;x++){var C=y[x],L=C._private.rscratch;C.grabbed()&&!C.isParent()?p.push(C):L.inDragLayer?y.drag.push(C):y.nondrag.push(C)}for(var x=0;x<p.length;x++){var C=p[x];y.drag.push(C)}}},IC.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null},IC.getCachedZSortedEles=function(y){if(y||!this.cachedZSortedEles){var p=this.cy.mutableElements().toArray();p.sort(cM),p.interactive=p.filter(function(x){return x.interactive()}),this.cachedZSortedEles=p,this.updateCachedGrabbedEles()}else p=this.cachedZSortedEles;return p};var _j={};[C4,LC,Q1,eE,mM,j2,Tj,MC,IC].forEach(function(y){we(_j,y)});var Aj={};Aj.getCachedImage=function(y,p,x){var C=this,L=C.imageCache=C.imageCache||{},O=L[y];if(O)return O.image.complete||O.image.addEventListener("load",x),O.image;O=L[y]=L[y]||{};var N=O.image=new Image;N.addEventListener("load",x),N.addEventListener("error",function(){N.error=!0});var j="data:",H=y.substring(0,j.length).toLowerCase()===j;return H||(p=p==="null"?null:p,N.crossOrigin=p),N.src=y,N};var d6={};d6.registerBinding=function(y,p,x,C){var L=Array.prototype.slice.apply(arguments,[1]),O=this.binder(y);return O.on.apply(O,L)},d6.binder=function(y){var p=this,x=p.cy.window(),C=y===x||y===x.document||y===x.document.body||Ct(y);if(p.supportsPassiveEvents==null){var L=!1;try{var O=Object.defineProperty({},"passive",{get:function(){return L=!0,!0}});x.addEventListener("test",null,O)}catch{}p.supportsPassiveEvents=L}var N=function(H,q,W){var Z=Array.prototype.slice.call(arguments);return C&&p.supportsPassiveEvents&&(Z[2]={capture:W??!1,passive:!1,once:!1}),p.bindings.push({target:y,args:Z}),(y.addEventListener||y.on).apply(y,Z),this};return{on:N,addEventListener:N,addListener:N,bind:N}},d6.nodeIsDraggable=function(y){return y&&y.isNode()&&!y.locked()&&y.grabbable()},d6.nodeIsGrabbable=function(y){return this.nodeIsDraggable(y)&&y.interactive()},d6.load=function(){var y=this,p=y.cy.window(),x=function(G){return G.selected()},C=function(G,Vn,gr,nr){G==null&&(G=y.cy);for(var Be=0;Be<Vn.length;Be++){var Ls=Vn[Be];G.emit({originalEvent:gr,type:Ls,position:nr})}},L=function(G){return G.shiftKey||G.metaKey||G.ctrlKey},O=function(G,Vn){var gr=!0;if(y.cy.hasCompoundNodes()&&G&&G.pannable())for(var nr=0;Vn&&nr<Vn.length;nr++){var G=Vn[nr];if(G.isNode()&&G.isParent()&&!G.pannable()){gr=!1;break}}else gr=!0;return gr},N=function(G){G[0]._private.grabbed=!0},j=function(G){G[0]._private.grabbed=!1},H=function(G){G[0]._private.rscratch.inDragLayer=!0},q=function(G){G[0]._private.rscratch.inDragLayer=!1},W=function(G){G[0]._private.rscratch.isGrabTarget=!0},Z=function(G){G[0]._private.rscratch.isGrabTarget=!1},st=function(G,Vn){var gr=Vn.addToList,nr=gr.has(G);!nr&&G.grabbable()&&!G.locked()&&(gr.merge(G),N(G))},bt=function(G,Vn){if(G.cy().hasCompoundNodes()&&!(Vn.inDragLayer==null&&Vn.addToList==null)){var gr=G.descendants();Vn.inDragLayer&&(gr.forEach(H),gr.connectedEdges().forEach(H)),Vn.addToList&&st(gr,Vn)}},pt=function(G,Vn){Vn=Vn||{};var gr=G.cy().hasCompoundNodes();Vn.inDragLayer&&(G.forEach(H),G.neighborhood().stdFilter(function(nr){return!gr||nr.isEdge()}).forEach(H)),Vn.addToList&&G.forEach(function(nr){st(nr,Vn)}),bt(G,Vn),Et(G,{inDragLayer:Vn.inDragLayer}),y.updateCachedGrabbedEles()},_t=pt,St=function(G){G&&(y.getCachedZSortedEles().forEach(function(Vn){j(Vn),q(Vn),Z(Vn)}),y.updateCachedGrabbedEles())},Et=function(G,Vn){if(!(Vn.inDragLayer==null&&Vn.addToList==null)&&G.cy().hasCompoundNodes()){var gr=G.ancestors().orphans();if(!gr.same(G)){var nr=gr.descendants().spawnSelf().merge(gr).unmerge(G).unmerge(G.descendants()),Be=nr.connectedEdges();Vn.inDragLayer&&(Be.forEach(H),nr.forEach(H)),Vn.addToList&&nr.forEach(function(Ls){st(Ls,Vn)})}}},Nt=function(){document.activeElement!=null&&document.activeElement.blur!=null&&document.activeElement.blur()},Pt=typeof MutationObserver<"u",qt=typeof ResizeObserver<"u";Pt?(y.removeObserver=new MutationObserver(function(Kn){for(var G=0;G<Kn.length;G++){var Vn=Kn[G],gr=Vn.removedNodes;if(gr)for(var nr=0;nr<gr.length;nr++){var Be=gr[nr];if(Be===y.container){y.destroy();break}}}}),y.container.parentNode&&y.removeObserver.observe(y.container.parentNode,{childList:!0})):y.registerBinding(y.container,"DOMNodeRemoved",function(Kn){y.destroy()});var re=pu(function(){y.cy.resize()},100);Pt&&(y.styleObserver=new MutationObserver(re),y.styleObserver.observe(y.container,{attributes:!0})),y.registerBinding(p,"resize",re),qt&&(y.resizeObserver=new ResizeObserver(re),y.resizeObserver.observe(y.container));var ee=function(G,Vn){for(;G!=null;)Vn(G),G=G.parentNode},Ut=function(){y.invalidateContainerClientCoordsCache()};ee(y.container,function(Kn){y.registerBinding(Kn,"transitionend",Ut),y.registerBinding(Kn,"animationend",Ut),y.registerBinding(Kn,"scroll",Ut)}),y.registerBinding(y.container,"contextmenu",function(Kn){Kn.preventDefault()});var de=function(){return y.selection[4]!==0},Yt=function(G){for(var Vn=y.findContainerClientCoords(),gr=Vn[0],nr=Vn[1],Be=Vn[2],Ls=Vn[3],hr=G.touches?G.touches:[G],us=!1,Ya=0;Ya<hr.length;Ya++){var kc=hr[Ya];if(gr<=kc.clientX&&kc.clientX<=gr+Be&&nr<=kc.clientY&&kc.clientY<=nr+Ls){us=!0;break}}if(!us)return!1;for(var Ca=y.container,oc=G.target,ra=oc.parentNode,no=!1;ra;){if(ra===Ca){no=!0;break}ra=ra.parentNode}return!!no};y.registerBinding(y.container,"mousedown",function(G){if(Yt(G)){G.preventDefault(),Nt(),y.hoverData.capture=!0,y.hoverData.which=G.which;var Vn=y.cy,gr=[G.clientX,G.clientY],nr=y.projectIntoViewport(gr[0],gr[1]),Be=y.selection,Ls=y.findNearestElements(nr[0],nr[1],!0,!1),hr=Ls[0],us=y.dragData.possibleDragElements;y.hoverData.mdownPos=nr,y.hoverData.mdownGPos=gr;var Ya=function(){y.hoverData.tapholdCancelled=!1,clearTimeout(y.hoverData.tapholdTimeout),y.hoverData.tapholdTimeout=setTimeout(function(){if(!y.hoverData.tapholdCancelled){var ql=y.hoverData.down;ql?ql.emit({originalEvent:G,type:"taphold",position:{x:nr[0],y:nr[1]}}):Vn.emit({originalEvent:G,type:"taphold",position:{x:nr[0],y:nr[1]}})}},y.tapholdDuration)};if(G.which==3){y.hoverData.cxtStarted=!0;var kc={originalEvent:G,type:"cxttapstart",position:{x:nr[0],y:nr[1]}};hr?(hr.activate(),hr.emit(kc),y.hoverData.down=hr):Vn.emit(kc),y.hoverData.downTime=new Date().getTime(),y.hoverData.cxtDragged=!1}else if(G.which==1){hr&&hr.activate();{if(hr!=null&&y.nodeIsGrabbable(hr)){var Ca=function(ql){return{originalEvent:G,type:ql,position:{x:nr[0],y:nr[1]}}},oc=function(ql){ql.emit(Ca("grab"))};if(W(hr),!hr.selected())us=y.dragData.possibleDragElements=Vn.collection(),_t(hr,{addToList:us}),hr.emit(Ca("grabon")).emit(Ca("grab"));else{us=y.dragData.possibleDragElements=Vn.collection();var ra=Vn.$(function(no){return no.isNode()&&no.selected()&&y.nodeIsGrabbable(no)});pt(ra,{addToList:us}),hr.emit(Ca("grabon")),ra.forEach(oc)}y.redrawHint("eles",!0),y.redrawHint("drag",!0)}y.hoverData.down=hr,y.hoverData.downs=Ls,y.hoverData.downTime=new Date().getTime()}C(hr,["mousedown","tapstart","vmousedown"],G,{x:nr[0],y:nr[1]}),hr==null?(Be[4]=1,y.data.bgActivePosistion={x:nr[0],y:nr[1]},y.redrawHint("select",!0),y.redraw()):hr.pannable()&&(Be[4]=1),Ya()}Be[0]=Be[2]=nr[0],Be[1]=Be[3]=nr[1]}},!1),y.registerBinding(p,"mousemove",function(G){var Vn=y.hoverData.capture;if(!(!Vn&&!Yt(G))){var gr=!1,nr=y.cy,Be=nr.zoom(),Ls=[G.clientX,G.clientY],hr=y.projectIntoViewport(Ls[0],Ls[1]),us=y.hoverData.mdownPos,Ya=y.hoverData.mdownGPos,kc=y.selection,Ca=null;!y.hoverData.draggingEles&&!y.hoverData.dragging&&!y.hoverData.selecting&&(Ca=y.findNearestElement(hr[0],hr[1],!0,!1));var oc=y.hoverData.last,ra=y.hoverData.down,no=[hr[0]-kc[2],hr[1]-kc[3]],ql=y.dragData.possibleDragElements,Sl;if(Ya){var mb=Ls[0]-Ya[0],vb=mb*mb,v1=Ls[1]-Ya[1],up=v1*v1,Bd=vb+up;y.hoverData.isOverThresholdDrag=Sl=Bd>=y.desktopTapThreshold2}var cm=L(G);Sl&&(y.hoverData.tapholdCancelled=!0);var py=function(){var $2=y.hoverData.dragDelta=y.hoverData.dragDelta||[];$2.length===0?($2.push(no[0]),$2.push(no[1])):($2[0]+=no[0],$2[1]+=no[1])};gr=!0,C(Ca,["mousemove","vmousemove","tapdrag"],G,{x:hr[0],y:hr[1]});var y6=function(){y.data.bgActivePosistion=void 0,y.hoverData.selecting||nr.emit({originalEvent:G,type:"boxstart",position:{x:hr[0],y:hr[1]}}),kc[4]=1,y.hoverData.selecting=!0,y.redrawHint("select",!0),y.redraw()};if(y.hoverData.which===3){if(Sl){var _4={originalEvent:G,type:"cxtdrag",position:{x:hr[0],y:hr[1]}};ra?ra.emit(_4):nr.emit(_4),y.hoverData.cxtDragged=!0,(!y.hoverData.cxtOver||Ca!==y.hoverData.cxtOver)&&(y.hoverData.cxtOver&&y.hoverData.cxtOver.emit({originalEvent:G,type:"cxtdragout",position:{x:hr[0],y:hr[1]}}),y.hoverData.cxtOver=Ca,Ca&&Ca.emit({originalEvent:G,type:"cxtdragover",position:{x:hr[0],y:hr[1]}}))}}else if(y.hoverData.dragging){if(gr=!0,nr.panningEnabled()&&nr.userPanningEnabled()){var x6;if(y.hoverData.justStartedPan){var BC=y.hoverData.mdownPos;x6={x:(hr[0]-BC[0])*Be,y:(hr[1]-BC[1])*Be},y.hoverData.justStartedPan=!1}else x6={x:no[0]*Be,y:no[1]*Be};nr.panBy(x6),nr.emit("dragpan"),y.hoverData.dragged=!0}hr=y.projectIntoViewport(G.clientX,G.clientY)}else if(kc[4]==1&&(ra==null||ra.pannable())){if(Sl){if(!y.hoverData.dragging&&nr.boxSelectionEnabled()&&(cm||!nr.panningEnabled()||!nr.userPanningEnabled()))y6();else if(!y.hoverData.selecting&&nr.panningEnabled()&&nr.userPanningEnabled()){var A4=O(ra,y.hoverData.downs);A4&&(y.hoverData.dragging=!0,y.hoverData.justStartedPan=!0,kc[4]=0,y.data.bgActivePosistion=Yx(us),y.redrawHint("select",!0),y.redraw())}ra&&ra.pannable()&&ra.active()&&ra.unactivate()}}else{if(ra&&ra.pannable()&&ra.active()&&ra.unactivate(),(!ra||!ra.grabbed())&&Ca!=oc&&(oc&&C(oc,["mouseout","tapdragout"],G,{x:hr[0],y:hr[1]}),Ca&&C(Ca,["mouseover","tapdragover"],G,{x:hr[0],y:hr[1]}),y.hoverData.last=Ca),ra)if(Sl){if(nr.boxSelectionEnabled()&&cm)ra&&ra.grabbed()&&(St(ql),ra.emit("freeon"),ql.emit("free"),y.dragData.didDrag&&(ra.emit("dragfreeon"),ql.emit("dragfree"))),y6();else if(ra&&ra.grabbed()&&y.nodeIsDraggable(ra)){var k0=!y.dragData.didDrag;k0&&y.redrawHint("eles",!0),y.dragData.didDrag=!0,y.hoverData.draggingEles||pt(ql,{inDragLayer:!0});var J1={x:0,y:0};if(Q(no[0])&&Q(no[1])&&(J1.x+=no[0],J1.y+=no[1],k0)){var E0=y.hoverData.dragDelta;E0&&Q(E0[0])&&Q(E0[1])&&(J1.x+=E0[0],J1.y+=E0[1])}y.hoverData.draggingEles=!0,ql.silentShift(J1).emit("position drag"),y.redrawHint("drag",!0),y.redraw()}}else py();gr=!0}if(kc[2]=hr[0],kc[3]=hr[1],gr)return G.stopPropagation&&G.stopPropagation(),G.preventDefault&&G.preventDefault(),!1}},!1);var Ee,Te,ie;y.registerBinding(p,"mouseup",function(G){var Vn=y.hoverData.capture;if(Vn){y.hoverData.capture=!1;var gr=y.cy,nr=y.projectIntoViewport(G.clientX,G.clientY),Be=y.selection,Ls=y.findNearestElement(nr[0],nr[1],!0,!1),hr=y.dragData.possibleDragElements,us=y.hoverData.down,Ya=L(G);if(y.data.bgActivePosistion&&(y.redrawHint("select",!0),y.redraw()),y.hoverData.tapholdCancelled=!0,y.data.bgActivePosistion=void 0,us&&us.unactivate(),y.hoverData.which===3){var kc={originalEvent:G,type:"cxttapend",position:{x:nr[0],y:nr[1]}};if(us?us.emit(kc):gr.emit(kc),!y.hoverData.cxtDragged){var Ca={originalEvent:G,type:"cxttap",position:{x:nr[0],y:nr[1]}};us?us.emit(Ca):gr.emit(Ca)}y.hoverData.cxtDragged=!1,y.hoverData.which=null}else if(y.hoverData.which===1){if(C(Ls,["mouseup","tapend","vmouseup"],G,{x:nr[0],y:nr[1]}),!y.dragData.didDrag&&!y.hoverData.dragged&&!y.hoverData.selecting&&!y.hoverData.isOverThresholdDrag&&(C(us,["click","tap","vclick"],G,{x:nr[0],y:nr[1]}),Te=!1,G.timeStamp-ie<=gr.multiClickDebounceTime()?(Ee&&clearTimeout(Ee),Te=!0,ie=null,C(us,["dblclick","dbltap","vdblclick"],G,{x:nr[0],y:nr[1]})):(Ee=setTimeout(function(){Te||C(us,["oneclick","onetap","voneclick"],G,{x:nr[0],y:nr[1]})},gr.multiClickDebounceTime()),ie=G.timeStamp)),us==null&&!y.dragData.didDrag&&!y.hoverData.selecting&&!y.hoverData.dragged&&!L(G)&&(gr.$(x).unselect(["tapunselect"]),hr.length>0&&y.redrawHint("eles",!0),y.dragData.possibleDragElements=hr=gr.collection()),Ls==us&&!y.dragData.didDrag&&!y.hoverData.selecting&&Ls!=null&&Ls._private.selectable&&(y.hoverData.dragging||(gr.selectionType()==="additive"||Ya?Ls.selected()?Ls.unselect(["tapunselect"]):Ls.select(["tapselect"]):Ya||(gr.$(x).unmerge(Ls).unselect(["tapunselect"]),Ls.select(["tapselect"]))),y.redrawHint("eles",!0)),y.hoverData.selecting){var oc=gr.collection(y.getAllInBox(Be[0],Be[1],Be[2],Be[3]));y.redrawHint("select",!0),oc.length>0&&y.redrawHint("eles",!0),gr.emit({type:"boxend",originalEvent:G,position:{x:nr[0],y:nr[1]}});var ra=function(Sl){return Sl.selectable()&&!Sl.selected()};gr.selectionType()==="additive"||Ya||gr.$(x).unmerge(oc).unselect(),oc.emit("box").stdFilter(ra).select().emit("boxselect"),y.redraw()}if(y.hoverData.dragging&&(y.hoverData.dragging=!1,y.redrawHint("select",!0),y.redrawHint("eles",!0),y.redraw()),!Be[4]){y.redrawHint("drag",!0),y.redrawHint("eles",!0);var no=us&&us.grabbed();St(hr),no&&(us.emit("freeon"),hr.emit("free"),y.dragData.didDrag&&(us.emit("dragfreeon"),hr.emit("dragfree")))}}Be[4]=0,y.hoverData.down=null,y.hoverData.cxtStarted=!1,y.hoverData.draggingEles=!1,y.hoverData.selecting=!1,y.hoverData.isOverThresholdDrag=!1,y.dragData.didDrag=!1,y.hoverData.dragged=!1,y.hoverData.dragDelta=[],y.hoverData.mdownPos=null,y.hoverData.mdownGPos=null}},!1);var ze=function(G){if(!y.scrollingPage){var Vn=y.cy,gr=Vn.zoom(),nr=Vn.pan(),Be=y.projectIntoViewport(G.clientX,G.clientY),Ls=[Be[0]*gr+nr.x,Be[1]*gr+nr.y];if(y.hoverData.draggingEles||y.hoverData.dragging||y.hoverData.cxtStarted||de()){G.preventDefault();return}if(Vn.panningEnabled()&&Vn.userPanningEnabled()&&Vn.zoomingEnabled()&&Vn.userZoomingEnabled()){G.preventDefault(),y.data.wheelZooming=!0,clearTimeout(y.data.wheelTimeout),y.data.wheelTimeout=setTimeout(function(){y.data.wheelZooming=!1,y.redrawHint("eles",!0),y.redraw()},150);var hr;G.deltaY!=null?hr=G.deltaY/-250:G.wheelDeltaY!=null?hr=G.wheelDeltaY/1e3:hr=G.wheelDelta/1e3,hr=hr*y.wheelSensitivity;var us=G.deltaMode===1;us&&(hr*=33);var Ya=Vn.zoom()*Math.pow(10,hr);G.type==="gesturechange"&&(Ya=y.gestureStartZoom*G.scale),Vn.zoom({level:Ya,renderedPosition:{x:Ls[0],y:Ls[1]}}),Vn.emit(G.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};y.registerBinding(y.container,"wheel",ze,!0),y.registerBinding(p,"scroll",function(G){y.scrollingPage=!0,clearTimeout(y.scrollingPageTimeout),y.scrollingPageTimeout=setTimeout(function(){y.scrollingPage=!1},250)},!0),y.registerBinding(y.container,"gesturestart",function(G){y.gestureStartZoom=y.cy.zoom(),y.hasTouchStarted||G.preventDefault()},!0),y.registerBinding(y.container,"gesturechange",function(Kn){y.hasTouchStarted||ze(Kn)},!0),y.registerBinding(y.container,"mouseout",function(G){var Vn=y.projectIntoViewport(G.clientX,G.clientY);y.cy.emit({originalEvent:G,type:"mouseout",position:{x:Vn[0],y:Vn[1]}})},!1),y.registerBinding(y.container,"mouseover",function(G){var Vn=y.projectIntoViewport(G.clientX,G.clientY);y.cy.emit({originalEvent:G,type:"mouseover",position:{x:Vn[0],y:Vn[1]}})},!1);var me,yn,nn,qe,Tn,Xn,lr,Sn,or,pr,kr,wr,Cr,$n=function(G,Vn,gr,nr){return Math.sqrt((gr-G)*(gr-G)+(nr-Vn)*(nr-Vn))},cr=function(G,Vn,gr,nr){return(gr-G)*(gr-G)+(nr-Vn)*(nr-Vn)},mr;y.registerBinding(y.container,"touchstart",mr=function(G){if(y.hasTouchStarted=!0,!!Yt(G)){Nt(),y.touchData.capture=!0,y.data.bgActivePosistion=void 0;var Vn=y.cy,gr=y.touchData.now,nr=y.touchData.earlier;if(G.touches[0]){var Be=y.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);gr[0]=Be[0],gr[1]=Be[1]}if(G.touches[1]){var Be=y.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);gr[2]=Be[0],gr[3]=Be[1]}if(G.touches[2]){var Be=y.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);gr[4]=Be[0],gr[5]=Be[1]}if(G.touches[1]){y.touchData.singleTouchMoved=!0,St(y.dragData.touchDragEles);var Ls=y.findContainerClientCoords();or=Ls[0],pr=Ls[1],kr=Ls[2],wr=Ls[3],me=G.touches[0].clientX-or,yn=G.touches[0].clientY-pr,nn=G.touches[1].clientX-or,qe=G.touches[1].clientY-pr,Cr=0<=me&&me<=kr&&0<=nn&&nn<=kr&&0<=yn&&yn<=wr&&0<=qe&&qe<=wr;var hr=Vn.pan(),us=Vn.zoom();Tn=$n(me,yn,nn,qe),Xn=cr(me,yn,nn,qe),lr=[(me+nn)/2,(yn+qe)/2],Sn=[(lr[0]-hr.x)/us,(lr[1]-hr.y)/us];var Ya=200,kc=Ya*Ya;if(Xn<kc&&!G.touches[2]){var Ca=y.findNearestElement(gr[0],gr[1],!0,!0),oc=y.findNearestElement(gr[2],gr[3],!0,!0);Ca&&Ca.isNode()?(Ca.activate().emit({originalEvent:G,type:"cxttapstart",position:{x:gr[0],y:gr[1]}}),y.touchData.start=Ca):oc&&oc.isNode()?(oc.activate().emit({originalEvent:G,type:"cxttapstart",position:{x:gr[0],y:gr[1]}}),y.touchData.start=oc):Vn.emit({originalEvent:G,type:"cxttapstart",position:{x:gr[0],y:gr[1]}}),y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxt=!0,y.touchData.cxtDragged=!1,y.data.bgActivePosistion=void 0,y.redraw();return}}if(G.touches[2])Vn.boxSelectionEnabled()&&G.preventDefault();else if(!G.touches[1]){if(G.touches[0]){var ra=y.findNearestElements(gr[0],gr[1],!0,!0),no=ra[0];if(no!=null&&(no.activate(),y.touchData.start=no,y.touchData.starts=ra,y.nodeIsGrabbable(no))){var ql=y.dragData.touchDragEles=Vn.collection(),Sl=null;y.redrawHint("eles",!0),y.redrawHint("drag",!0),no.selected()?(Sl=Vn.$(function(Bd){return Bd.selected()&&y.nodeIsGrabbable(Bd)}),pt(Sl,{addToList:ql})):_t(no,{addToList:ql}),W(no);var mb=function(cm){return{originalEvent:G,type:cm,position:{x:gr[0],y:gr[1]}}};no.emit(mb("grabon")),Sl?Sl.forEach(function(Bd){Bd.emit(mb("grab"))}):no.emit(mb("grab"))}C(no,["touchstart","tapstart","vmousedown"],G,{x:gr[0],y:gr[1]}),no==null&&(y.data.bgActivePosistion={x:Be[0],y:Be[1]},y.redrawHint("select",!0),y.redraw()),y.touchData.singleTouchMoved=!1,y.touchData.singleTouchStartTime=+new Date,clearTimeout(y.touchData.tapholdTimeout),y.touchData.tapholdTimeout=setTimeout(function(){y.touchData.singleTouchMoved===!1&&!y.pinching&&!y.touchData.selecting&&C(y.touchData.start,["taphold"],G,{x:gr[0],y:gr[1]})},y.tapholdDuration)}}if(G.touches.length>=1){for(var vb=y.touchData.startPosition=[null,null,null,null,null,null],v1=0;v1<gr.length;v1++)vb[v1]=nr[v1]=gr[v1];var up=G.touches[0];y.touchData.startGPosition=[up.clientX,up.clientY]}}},!1);var Sr;y.registerBinding(window,"touchmove",Sr=function(G){var Vn=y.touchData.capture;if(!(!Vn&&!Yt(G))){var gr=y.selection,nr=y.cy,Be=y.touchData.now,Ls=y.touchData.earlier,hr=nr.zoom();if(G.touches[0]){var us=y.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);Be[0]=us[0],Be[1]=us[1]}if(G.touches[1]){var us=y.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);Be[2]=us[0],Be[3]=us[1]}if(G.touches[2]){var us=y.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);Be[4]=us[0],Be[5]=us[1]}var Ya=y.touchData.startGPosition,kc;if(Vn&&G.touches[0]&&Ya){for(var Ca=[],oc=0;oc<Be.length;oc++)Ca[oc]=Be[oc]-Ls[oc];var ra=G.touches[0].clientX-Ya[0],no=ra*ra,ql=G.touches[0].clientY-Ya[1],Sl=ql*ql,mb=no+Sl;kc=mb>=y.touchTapThreshold2}if(Vn&&y.touchData.cxt){G.preventDefault();var vb=G.touches[0].clientX-or,v1=G.touches[0].clientY-pr,up=G.touches[1].clientX-or,Bd=G.touches[1].clientY-pr,cm=cr(vb,v1,up,Bd),py=cm/Xn,y6=150,_4=y6*y6,x6=1.5,BC=x6*x6;if(py>=BC||cm>=_4){y.touchData.cxt=!1,y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var A4={originalEvent:G,type:"cxttapend",position:{x:Be[0],y:Be[1]}};y.touchData.start?(y.touchData.start.unactivate().emit(A4),y.touchData.start=null):nr.emit(A4)}}if(Vn&&y.touchData.cxt){var A4={originalEvent:G,type:"cxtdrag",position:{x:Be[0],y:Be[1]}};y.data.bgActivePosistion=void 0,y.redrawHint("select",!0),y.touchData.start?y.touchData.start.emit(A4):nr.emit(A4),y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxtDragged=!0;var k0=y.findNearestElement(Be[0],Be[1],!0,!0);(!y.touchData.cxtOver||k0!==y.touchData.cxtOver)&&(y.touchData.cxtOver&&y.touchData.cxtOver.emit({originalEvent:G,type:"cxtdragout",position:{x:Be[0],y:Be[1]}}),y.touchData.cxtOver=k0,k0&&k0.emit({originalEvent:G,type:"cxtdragover",position:{x:Be[0],y:Be[1]}}))}else if(Vn&&G.touches[2]&&nr.boxSelectionEnabled())G.preventDefault(),y.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,y.touchData.selecting||nr.emit({originalEvent:G,type:"boxstart",position:{x:Be[0],y:Be[1]}}),y.touchData.selecting=!0,y.touchData.didSelect=!0,gr[4]=1,!gr||gr.length===0||gr[0]===void 0?(gr[0]=(Be[0]+Be[2]+Be[4])/3,gr[1]=(Be[1]+Be[3]+Be[5])/3,gr[2]=(Be[0]+Be[2]+Be[4])/3+1,gr[3]=(Be[1]+Be[3]+Be[5])/3+1):(gr[2]=(Be[0]+Be[2]+Be[4])/3,gr[3]=(Be[1]+Be[3]+Be[5])/3),y.redrawHint("select",!0),y.redraw();else if(Vn&&G.touches[1]&&!y.touchData.didSelect&&nr.zoomingEnabled()&&nr.panningEnabled()&&nr.userZoomingEnabled()&&nr.userPanningEnabled()){G.preventDefault(),y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var J1=y.dragData.touchDragEles;if(J1){y.redrawHint("drag",!0);for(var E0=0;E0<J1.length;E0++){var by=J1[E0]._private;by.grabbed=!1,by.rscratch.inDragLayer=!1}}var $2=y.touchData.start,vb=G.touches[0].clientX-or,v1=G.touches[0].clientY-pr,up=G.touches[1].clientX-or,Bd=G.touches[1].clientY-pr,Zj=$n(vb,v1,up,Bd),Mnt=Zj/Tn;if(Cr){var Int=vb-me,RC=v1-yn,Ont=up-nn,Nnt=Bd-qe,L4=(Int+Ont)/2,t$=(RC+Nnt)/2,lE=nr.zoom(),SM=lE*Mnt,jC=nr.pan(),e$=Sn[0]*lE+jC.x,n$=Sn[1]*lE+jC.y,Pnt={x:-SM/lE*(e$-jC.x-L4)+e$,y:-SM/lE*(n$-jC.y-t$)+n$};if($2&&$2.active()){var J1=y.dragData.touchDragEles;St(J1),y.redrawHint("drag",!0),y.redrawHint("eles",!0),$2.unactivate().emit("freeon"),J1.emit("free"),y.dragData.didDrag&&($2.emit("dragfreeon"),J1.emit("dragfree"))}nr.viewport({zoom:SM,pan:Pnt,cancelOnFailedZoom:!0}),nr.emit("pinchzoom"),Tn=Zj,me=vb,yn=v1,nn=up,qe=Bd,y.pinching=!0}if(G.touches[0]){var us=y.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);Be[0]=us[0],Be[1]=us[1]}if(G.touches[1]){var us=y.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);Be[2]=us[0],Be[3]=us[1]}if(G.touches[2]){var us=y.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);Be[4]=us[0],Be[5]=us[1]}}else if(G.touches[0]&&!y.touchData.didSelect){var lp=y.touchData.start,$C=y.touchData.last,k0;if(!y.hoverData.draggingEles&&!y.swipePanning&&(k0=y.findNearestElement(Be[0],Be[1],!0,!0)),Vn&&lp!=null&&G.preventDefault(),Vn&&lp!=null&&y.nodeIsDraggable(lp))if(kc){var J1=y.dragData.touchDragEles,_M=!y.dragData.didDrag;_M&&pt(J1,{inDragLayer:!0}),y.dragData.didDrag=!0;var z2={x:0,y:0};if(Q(Ca[0])&&Q(Ca[1])&&(z2.x+=Ca[0],z2.y+=Ca[1],_M)){y.redrawHint("eles",!0);var T0=y.touchData.dragDelta;T0&&Q(T0[0])&&Q(T0[1])&&(z2.x+=T0[0],z2.y+=T0[1])}y.hoverData.draggingEles=!0,J1.silentShift(z2).emit("position drag"),y.redrawHint("drag",!0),y.touchData.startPosition[0]==Ls[0]&&y.touchData.startPosition[1]==Ls[1]&&y.redrawHint("eles",!0),y.redraw()}else{var T0=y.touchData.dragDelta=y.touchData.dragDelta||[];T0.length===0?(T0.push(Ca[0]),T0.push(Ca[1])):(T0[0]+=Ca[0],T0[1]+=Ca[1])}if(C(lp||k0,["touchmove","tapdrag","vmousemove"],G,{x:Be[0],y:Be[1]}),(!lp||!lp.grabbed())&&k0!=$C&&($C&&$C.emit({originalEvent:G,type:"tapdragout",position:{x:Be[0],y:Be[1]}}),k0&&k0.emit({originalEvent:G,type:"tapdragover",position:{x:Be[0],y:Be[1]}})),y.touchData.last=k0,Vn)for(var E0=0;E0<Be.length;E0++)Be[E0]&&y.touchData.startPosition[E0]&&kc&&(y.touchData.singleTouchMoved=!0);if(Vn&&(lp==null||lp.pannable())&&nr.panningEnabled()&&nr.userPanningEnabled()){var D4=O(lp,y.touchData.starts);D4&&(G.preventDefault(),y.data.bgActivePosistion||(y.data.bgActivePosistion=Yx(y.touchData.startPosition)),y.swipePanning?(nr.panBy({x:Ca[0]*hr,y:Ca[1]*hr}),nr.emit("dragpan")):kc&&(y.swipePanning=!0,nr.panBy({x:ra*hr,y:ql*hr}),nr.emit("dragpan"),lp&&(lp.unactivate(),y.redrawHint("select",!0),y.touchData.start=null)));var us=y.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);Be[0]=us[0],Be[1]=us[1]}}for(var oc=0;oc<Be.length;oc++)Ls[oc]=Be[oc];Vn&&G.touches.length>0&&!y.hoverData.draggingEles&&!y.swipePanning&&y.data.bgActivePosistion!=null&&(y.data.bgActivePosistion=void 0,y.redrawHint("select",!0),y.redraw())}},!1);var gi;y.registerBinding(p,"touchcancel",gi=function(G){var Vn=y.touchData.start;y.touchData.capture=!1,Vn&&Vn.unactivate()});var ss,na,vi,si;if(y.registerBinding(p,"touchend",ss=function(G){var Vn=y.touchData.start,gr=y.touchData.capture;if(gr)G.touches.length===0&&(y.touchData.capture=!1),G.preventDefault();else return;var nr=y.selection;y.swipePanning=!1,y.hoverData.draggingEles=!1;var Be=y.cy,Ls=Be.zoom(),hr=y.touchData.now,us=y.touchData.earlier;if(G.touches[0]){var Ya=y.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);hr[0]=Ya[0],hr[1]=Ya[1]}if(G.touches[1]){var Ya=y.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);hr[2]=Ya[0],hr[3]=Ya[1]}if(G.touches[2]){var Ya=y.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);hr[4]=Ya[0],hr[5]=Ya[1]}Vn&&Vn.unactivate();var kc;if(y.touchData.cxt){if(kc={originalEvent:G,type:"cxttapend",position:{x:hr[0],y:hr[1]}},Vn?Vn.emit(kc):Be.emit(kc),!y.touchData.cxtDragged){var Ca={originalEvent:G,type:"cxttap",position:{x:hr[0],y:hr[1]}};Vn?Vn.emit(Ca):Be.emit(Ca)}y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxt=!1,y.touchData.start=null,y.redraw();return}if(!G.touches[2]&&Be.boxSelectionEnabled()&&y.touchData.selecting){y.touchData.selecting=!1;var oc=Be.collection(y.getAllInBox(nr[0],nr[1],nr[2],nr[3]));nr[0]=void 0,nr[1]=void 0,nr[2]=void 0,nr[3]=void 0,nr[4]=0,y.redrawHint("select",!0),Be.emit({type:"boxend",originalEvent:G,position:{x:hr[0],y:hr[1]}});var ra=function(_4){return _4.selectable()&&!_4.selected()};oc.emit("box").stdFilter(ra).select().emit("boxselect"),oc.nonempty()&&y.redrawHint("eles",!0),y.redraw()}if(Vn!=null&&Vn.unactivate(),G.touches[2])y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);else if(!G.touches[1]){if(!G.touches[0]){if(!G.touches[0]){y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var no=y.dragData.touchDragEles;if(Vn!=null){var ql=Vn._private.grabbed;St(no),y.redrawHint("drag",!0),y.redrawHint("eles",!0),ql&&(Vn.emit("freeon"),no.emit("free"),y.dragData.didDrag&&(Vn.emit("dragfreeon"),no.emit("dragfree"))),C(Vn,["touchend","tapend","vmouseup","tapdragout"],G,{x:hr[0],y:hr[1]}),Vn.unactivate(),y.touchData.start=null}else{var Sl=y.findNearestElement(hr[0],hr[1],!0,!0);C(Sl,["touchend","tapend","vmouseup","tapdragout"],G,{x:hr[0],y:hr[1]})}var mb=y.touchData.startPosition[0]-hr[0],vb=mb*mb,v1=y.touchData.startPosition[1]-hr[1],up=v1*v1,Bd=vb+up,cm=Bd*Ls*Ls;y.touchData.singleTouchMoved||(Vn||Be.$(":selected").unselect(["tapunselect"]),C(Vn,["tap","vclick"],G,{x:hr[0],y:hr[1]}),na=!1,G.timeStamp-si<=Be.multiClickDebounceTime()?(vi&&clearTimeout(vi),na=!0,si=null,C(Vn,["dbltap","vdblclick"],G,{x:hr[0],y:hr[1]})):(vi=setTimeout(function(){na||C(Vn,["onetap","voneclick"],G,{x:hr[0],y:hr[1]})},Be.multiClickDebounceTime()),si=G.timeStamp)),Vn!=null&&!y.dragData.didDrag&&Vn._private.selectable&&cm<y.touchTapThreshold2&&!y.pinching&&(Be.selectionType()==="single"?(Be.$(x).unmerge(Vn).unselect(["tapunselect"]),Vn.select(["tapselect"])):Vn.selected()?Vn.unselect(["tapunselect"]):Vn.select(["tapselect"]),y.redrawHint("eles",!0)),y.touchData.singleTouchMoved=!0}}}for(var py=0;py<hr.length;py++)us[py]=hr[py];y.dragData.didDrag=!1,G.touches.length===0&&(y.touchData.dragDelta=[],y.touchData.startPosition=[null,null,null,null,null,null],y.touchData.startGPosition=null,y.touchData.didSelect=!1),G.touches.length<2&&(G.touches.length===1&&(y.touchData.startGPosition=[G.touches[0].clientX,G.touches[0].clientY]),y.pinching=!1,y.redrawHint("eles",!0),y.redraw())},!1),typeof TouchEvent>"u"){var Qi=[],ks=function(G){return{clientX:G.clientX,clientY:G.clientY,force:1,identifier:G.pointerId,pageX:G.pageX,pageY:G.pageY,radiusX:G.width/2,radiusY:G.height/2,screenX:G.screenX,screenY:G.screenY,target:G.target}},as=function(G){return{event:G,touch:ks(G)}},Es=function(G){Qi.push(as(G))},eo=function(G){for(var Vn=0;Vn<Qi.length;Vn++){var gr=Qi[Vn];if(gr.event.pointerId===G.pointerId){Qi.splice(Vn,1);return}}},Ta=function(G){var Vn=Qi.filter(function(gr){return gr.event.pointerId===G.pointerId})[0];Vn.event=G,Vn.touch=ks(G)},pa=function(G){G.touches=Qi.map(function(Vn){return Vn.touch})},mo=function(G){return G.pointerType==="mouse"||G.pointerType===4};y.registerBinding(y.container,"pointerdown",function(Kn){mo(Kn)||(Kn.preventDefault(),Es(Kn),pa(Kn),mr(Kn))}),y.registerBinding(y.container,"pointerup",function(Kn){mo(Kn)||(eo(Kn),pa(Kn),ss(Kn))}),y.registerBinding(y.container,"pointercancel",function(Kn){mo(Kn)||(eo(Kn),pa(Kn),gi(Kn))}),y.registerBinding(y.container,"pointermove",function(Kn){mo(Kn)||(Kn.preventDefault(),Ta(Kn),pa(Kn),Sr(Kn))})}};var om={};om.generatePolygon=function(y,p){return this.nodeShapes[y]={renderer:this,name:y,points:p,draw:function(C,L,O,N,j){this.renderer.nodeShapeImpl("polygon",C,L,O,N,j,this.points)},intersectLine:function(C,L,O,N,j,H,q){return B8(j,H,this.points,C,L,O/2,N/2,q)},checkPoint:function(C,L,O,N,j,H,q){return sm(C,L,this.points,H,q,N,j,[0,-1],O)}}},om.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(p,x,C,L,O){this.renderer.nodeShapeImpl(this.name,p,x,C,L,O)},intersectLine:function(p,x,C,L,O,N,j){return CQ(O,N,p,x,C/2+j,L/2+j)},checkPoint:function(p,x,C,L,O,N,j){return v4(p,x,L,O,N,j,C)}}},om.generateRoundPolygon=function(y,p){for(var x=new Array(p.length*2),C=0;C<p.length/2;C++){var L=C*2,O=void 0;C<p.length/2-1?O=(C+1)*2:O=0,x[C*4]=p[L],x[C*4+1]=p[L+1];var N=p[O]-p[L],j=p[O+1]-p[L+1],H=Math.sqrt(N*N+j*j);x[C*4+2]=N/H,x[C*4+3]=j/H}return this.nodeShapes[y]={renderer:this,name:y,points:x,draw:function(W,Z,st,bt,pt){this.renderer.nodeShapeImpl("round-polygon",W,Z,st,bt,pt,this.points)},intersectLine:function(W,Z,st,bt,pt,_t,St){return SQ(pt,_t,this.points,W,Z,st,bt)},checkPoint:function(W,Z,st,bt,pt,_t,St){return TQ(W,Z,this.points,_t,St,bt,pt)}}},om.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:Fd(4,0),draw:function(p,x,C,L,O){this.renderer.nodeShapeImpl(this.name,p,x,C,L,O)},intersectLine:function(p,x,C,L,O,N,j){return $B(O,N,p,x,C,L,j)},checkPoint:function(p,x,C,L,O,N,j){var H=R8(L,O),q=H*2;return!!(sm(p,x,this.points,N,j,L,O-q,[0,-1],C)||sm(p,x,this.points,N,j,L-q,O,[0,-1],C)||v4(p,x,q,q,N-L/2+H,j-O/2+H,C)||v4(p,x,q,q,N+L/2-H,j-O/2+H,C)||v4(p,x,q,q,N+L/2-H,j+O/2-H,C)||v4(p,x,q,q,N-L/2+H,j+O/2-H,C))}}},om.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:qB(),points:Fd(4,0),draw:function(p,x,C,L,O){this.renderer.nodeShapeImpl(this.name,p,x,C,L,O)},generateCutTrianglePts:function(p,x,C,L){var O=this.cornerLength,N=x/2,j=p/2,H=C-j,q=C+j,W=L-N,Z=L+N;return{topLeft:[H,W+O,H+O,W,H+O,W+O],topRight:[q-O,W,q,W+O,q-O,W+O],bottomRight:[q,Z-O,q-O,Z,q-O,Z-O],bottomLeft:[H+O,Z,H,Z-O,H+O,Z-O]}},intersectLine:function(p,x,C,L,O,N,j){var H=this.generateCutTrianglePts(C+2*j,L+2*j,p,x),q=[].concat.apply([],[H.topLeft.splice(0,4),H.topRight.splice(0,4),H.bottomRight.splice(0,4),H.bottomLeft.splice(0,4)]);return B8(O,N,q,p,x)},checkPoint:function(p,x,C,L,O,N,j){if(sm(p,x,this.points,N,j,L,O-2*this.cornerLength,[0,-1],C)||sm(p,x,this.points,N,j,L-2*this.cornerLength,O,[0,-1],C))return!0;var H=this.generateCutTrianglePts(L,O,N,j);return y0(p,x,H.topLeft)||y0(p,x,H.topRight)||y0(p,x,H.bottomRight)||y0(p,x,H.bottomLeft)}}},om.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:Fd(4,0),draw:function(p,x,C,L,O){this.renderer.nodeShapeImpl(this.name,p,x,C,L,O)},intersectLine:function(p,x,C,L,O,N,j){var H=.15,q=.5,W=.85,Z=this.generateBarrelBezierPts(C+2*j,L+2*j,p,x),st=function(_t){var St=Xx({x:_t[0],y:_t[1]},{x:_t[2],y:_t[3]},{x:_t[4],y:_t[5]},H),Et=Xx({x:_t[0],y:_t[1]},{x:_t[2],y:_t[3]},{x:_t[4],y:_t[5]},q),Nt=Xx({x:_t[0],y:_t[1]},{x:_t[2],y:_t[3]},{x:_t[4],y:_t[5]},W);return[_t[0],_t[1],St.x,St.y,Et.x,Et.y,Nt.x,Nt.y,_t[4],_t[5]]},bt=[].concat(st(Z.topLeft),st(Z.topRight),st(Z.bottomRight),st(Z.bottomLeft));return B8(O,N,bt,p,x)},generateBarrelBezierPts:function(p,x,C,L){var O=x/2,N=p/2,j=C-N,H=C+N,q=L-O,W=L+O,Z=VD(p,x),st=Z.heightOffset,bt=Z.widthOffset,pt=Z.ctrlPtOffsetPct*p,_t={topLeft:[j,q+st,j+pt,q,j+bt,q],topRight:[H-bt,q,H-pt,q,H,q+st],bottomRight:[H,W-st,H-pt,W,H-bt,W],bottomLeft:[j+bt,W,j+pt,W,j,W-st]};return _t.topLeft.isTop=!0,_t.topRight.isTop=!0,_t.bottomLeft.isBottom=!0,_t.bottomRight.isBottom=!0,_t},checkPoint:function(p,x,C,L,O,N,j){var H=VD(L,O),q=H.heightOffset,W=H.widthOffset;if(sm(p,x,this.points,N,j,L,O-2*q,[0,-1],C)||sm(p,x,this.points,N,j,L-2*W,O,[0,-1],C))return!0;for(var Z=this.generateBarrelBezierPts(L,O,N,j),st=function(Ut,de,Yt){var Ee=Yt[4],Te=Yt[2],ie=Yt[0],ze=Yt[5],me=Yt[1],yn=Math.min(Ee,ie),nn=Math.max(Ee,ie),qe=Math.min(ze,me),Tn=Math.max(ze,me);if(yn<=Ut&&Ut<=nn&&qe<=de&&de<=Tn){var Xn=_Q(Ee,Te,ie),lr=yQ(Xn[0],Xn[1],Xn[2],Ut),Sn=lr.filter(function(or){return 0<=or&&or<=1});if(Sn.length>0)return Sn[0]}return null},bt=Object.keys(Z),pt=0;pt<bt.length;pt++){var _t=bt[pt],St=Z[_t],Et=st(p,x,St);if(Et!=null){var Nt=St[5],Pt=St[3],qt=St[1],re=Lf(Nt,Pt,qt,Et);if(St.isTop&&re<=x||St.isBottom&&x<=re)return!0}}return!1}}},om.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:Fd(4,0),draw:function(p,x,C,L,O){this.renderer.nodeShapeImpl(this.name,p,x,C,L,O)},intersectLine:function(p,x,C,L,O,N,j){var H=p-(C/2+j),q=x-(L/2+j),W=q,Z=p+(C/2+j),st=uy(O,N,p,x,H,q,Z,W,!1);return st.length>0?st:$B(O,N,p,x,C,L,j)},checkPoint:function(p,x,C,L,O,N,j){var H=R8(L,O),q=2*H;if(sm(p,x,this.points,N,j,L,O-q,[0,-1],C)||sm(p,x,this.points,N,j,L-q,O,[0,-1],C))return!0;var W=L/2+2*C,Z=O/2+2*C,st=[N-W,j-Z,N-W,j,N+W,j,N+W,j-Z];return!!(y0(p,x,st)||v4(p,x,q,q,N+L/2-H,j+O/2-H,C)||v4(p,x,q,q,N-L/2+H,j+O/2-H,C))}}},om.registerNodeShapes=function(){var y=this.nodeShapes={},p=this;this.generateEllipse(),this.generatePolygon("triangle",Fd(3,0)),this.generateRoundPolygon("round-triangle",Fd(3,0)),this.generatePolygon("rectangle",Fd(4,0)),y.square=y.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var x=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",x),this.generateRoundPolygon("round-diamond",x)}this.generatePolygon("pentagon",Fd(5,0)),this.generateRoundPolygon("round-pentagon",Fd(5,0)),this.generatePolygon("hexagon",Fd(6,0)),this.generateRoundPolygon("round-hexagon",Fd(6,0)),this.generatePolygon("heptagon",Fd(7,0)),this.generateRoundPolygon("round-heptagon",Fd(7,0)),this.generatePolygon("octagon",Fd(8,0)),this.generateRoundPolygon("round-octagon",Fd(8,0));var C=new Array(20);{var L=qD(5,0),O=qD(5,Math.PI/5),N=.5*(3-Math.sqrt(5));N*=1.57;for(var j=0;j<O.length/2;j++)O[j*2]*=N,O[j*2+1]*=N;for(var j=0;j<20/4;j++)C[j*4]=L[j*2],C[j*4+1]=L[j*2+1],C[j*4+2]=O[j*2],C[j*4+3]=O[j*2+1]}C=zB(C),this.generatePolygon("star",C),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);{var H=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",H),this.generateRoundPolygon("round-tag",H)}y.makePolygon=function(q){var W=q.join("$"),Z="polygon-"+W,st;return(st=this[Z])?st:p.generatePolygon(Z,q)}};var nE={};nE.timeToRender=function(){return this.redrawTotalTime/this.redrawCount},nE.redraw=function(y){y=y||IB();var p=this;p.averageRedrawTime===void 0&&(p.averageRedrawTime=0),p.lastRedrawTime===void 0&&(p.lastRedrawTime=0),p.lastDrawTime===void 0&&(p.lastDrawTime=0),p.requestedFrame=!0,p.renderOptions=y},nE.beforeRender=function(y,p){if(!this.destroyed){p==null&&$l("Priority is not optional for beforeRender");var x=this.beforeRenderCallbacks;x.push({fn:y,priority:p}),x.sort(function(C,L){return L.priority-C.priority})}};var Lj=function(p,x,C){for(var L=p.beforeRenderCallbacks,O=0;O<L.length;O++)L[O].fn(x,C)};nE.startRenderLoop=function(){var y=this,p=y.cy;if(!y.renderLoopStarted){y.renderLoopStarted=!0;var x=function C(L){if(!y.destroyed){if(!p.batching())if(y.requestedFrame&&!y.skipFrame){Lj(y,!0,L);var O=ip();y.render(y.renderOptions);var N=y.lastDrawTime=ip();y.averageRedrawTime===void 0&&(y.averageRedrawTime=N-O),y.redrawCount===void 0&&(y.redrawCount=0),y.redrawCount++,y.redrawTotalTime===void 0&&(y.redrawTotalTime=0);var j=N-O;y.redrawTotalTime+=j,y.lastRedrawTime=j,y.averageRedrawTime=y.averageRedrawTime/2+j/2,y.requestedFrame=!1}else Lj(y,!1,L);y.skipFrame=!1,g1(C)}};g1(x)}};var Get=function(p){this.init(p)},Dj=Get,g6=Dj.prototype;g6.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],g6.init=function(y){var p=this;p.options=y,p.cy=y.cy;var x=p.container=y.cy.container(),C=p.cy.window();if(C){var L=C.document,O=L.head,N="__________cytoscape_stylesheet",j="__________cytoscape_container",H=L.getElementById(N)!=null;if(x.className.indexOf(j)<0&&(x.className=(x.className||"")+" "+j),!H){var q=L.createElement("style");q.id=N,q.textContent="."+j+" { position: relative; }",O.insertBefore(q,O.children[0])}var W=C.getComputedStyle(x),Z=W.getPropertyValue("position");Z==="static"&&Gc("A Cytoscape container has style position:static and so can not use UI extensions properly")}p.selection=[void 0,void 0,void 0,void 0,0],p.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],p.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},p.dragData={possibleDragElements:[]},p.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},p.redraws=0,p.showFps=y.showFps,p.debug=y.debug,p.hideEdgesOnViewport=y.hideEdgesOnViewport,p.textureOnViewport=y.textureOnViewport,p.wheelSensitivity=y.wheelSensitivity,p.motionBlurEnabled=y.motionBlur,p.forcedPixelRatio=Q(y.pixelRatio)?y.pixelRatio:null,p.motionBlur=y.motionBlur,p.motionBlurOpacity=y.motionBlurOpacity,p.motionBlurTransparency=1-p.motionBlurOpacity,p.motionBlurPxRatio=1,p.mbPxRBlurry=1,p.minMbLowQualFrames=4,p.fullQualityMb=!1,p.clearedForMotionBlur=[],p.desktopTapThreshold=y.desktopTapThreshold,p.desktopTapThreshold2=y.desktopTapThreshold*y.desktopTapThreshold,p.touchTapThreshold=y.touchTapThreshold,p.touchTapThreshold2=y.touchTapThreshold*y.touchTapThreshold,p.tapholdDuration=500,p.bindings=[],p.beforeRenderCallbacks=[],p.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},p.registerNodeShapes(),p.registerArrowShapes(),p.registerCalculationListeners()},g6.notify=function(y,p){var x=this,C=x.cy;if(!this.destroyed){if(y==="init"){x.load();return}if(y==="destroy"){x.destroy();return}(y==="add"||y==="remove"||y==="move"&&C.hasCompoundNodes()||y==="load"||y==="zorder"||y==="mount")&&x.invalidateCachedZSortedEles(),y==="viewport"&&x.redrawHint("select",!0),(y==="load"||y==="resize"||y==="mount")&&(x.invalidateContainerClientCoordsCache(),x.matchCanvasSize(x.container)),x.redrawHint("eles",!0),x.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},g6.destroy=function(){var y=this;y.destroyed=!0,y.cy.stopAnimationLoop();for(var p=0;p<y.bindings.length;p++){var x=y.bindings[p],C=x,L=C.target;(L.off||L.removeEventListener).apply(L,C.args)}if(y.bindings=[],y.beforeRenderCallbacks=[],y.onUpdateEleCalcsFns=[],y.removeObserver&&y.removeObserver.disconnect(),y.styleObserver&&y.styleObserver.disconnect(),y.resizeObserver&&y.resizeObserver.disconnect(),y.labelCalcDiv)try{document.body.removeChild(y.labelCalcDiv)}catch{}},g6.isHeadless=function(){return!1},[wM,_j,Aj,d6,om,nE].forEach(function(y){we(g6,y)});var vM=1e3/60,Mj={setupDequeueing:function(p){return function(){var C=this,L=this.renderer;if(!C.dequeueingSetup){C.dequeueingSetup=!0;var O=pu(function(){L.redrawHint("eles",!0),L.redrawHint("drag",!0),L.redraw()},p.deqRedrawThreshold),N=function(q,W){var Z=ip(),st=L.averageRedrawTime,bt=L.lastRedrawTime,pt=[],_t=L.cy.extent(),St=L.getPixelRatio();for(q||L.flushRenderedStyleQueue();;){var Et=ip(),Nt=Et-Z,Pt=Et-W;if(bt<vM){var qt=vM-(q?st:0);if(Pt>=p.deqFastCost*qt)break}else if(q){if(Nt>=p.deqCost*bt||Nt>=p.deqAvgCost*st)break}else if(Pt>=p.deqNoDrawCost*vM)break;var re=p.deq(C,St,_t);if(re.length>0)for(var ee=0;ee<re.length;ee++)pt.push(re[ee]);else break}pt.length>0&&(p.onDeqd(C,pt),!q&&p.shouldRedraw(C,pt,St,_t)&&O())},j=p.priority||BD;L.beforeRender(N,j(C))}}}},Ket=function(){function y(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ay;g(this,y),this.idsByKey=new F2,this.keyForId=new F2,this.cachesByLvl=new F2,this.lvls=[],this.getKey=p,this.doesEleInvalidateKey=x}return v(y,[{key:"getIdsFor",value:function(x){x==null&&$l("Can not get id list for null key");var C=this.idsByKey,L=this.idsByKey.get(x);return L||(L=new Wx,C.set(x,L)),L}},{key:"addIdForKey",value:function(x,C){x!=null&&this.getIdsFor(x).add(C)}},{key:"deleteIdForKey",value:function(x,C){x!=null&&this.getIdsFor(x).delete(C)}},{key:"getNumberOfIdsForKey",value:function(x){return x==null?0:this.getIdsFor(x).size}},{key:"updateKeyMappingFor",value:function(x){var C=x.id(),L=this.keyForId.get(C),O=this.getKey(x);this.deleteIdForKey(L,C),this.addIdForKey(O,C),this.keyForId.set(C,O)}},{key:"deleteKeyMappingFor",value:function(x){var C=x.id(),L=this.keyForId.get(C);this.deleteIdForKey(L,C),this.keyForId.delete(C)}},{key:"keyHasChangedFor",value:function(x){var C=x.id(),L=this.keyForId.get(C),O=this.getKey(x);return L!==O}},{key:"isInvalid",value:function(x){return this.keyHasChangedFor(x)||this.doesEleInvalidateKey(x)}},{key:"getCachesAt",value:function(x){var C=this.cachesByLvl,L=this.lvls,O=C.get(x);return O||(O=new F2,C.set(x,O),L.push(x)),O}},{key:"getCache",value:function(x,C){return this.getCachesAt(C).get(x)}},{key:"get",value:function(x,C){var L=this.getKey(x),O=this.getCache(L,C);return O!=null&&this.updateKeyMappingFor(x),O}},{key:"getForCachedKey",value:function(x,C){var L=this.keyForId.get(x.id()),O=this.getCache(L,C);return O}},{key:"hasCache",value:function(x,C){return this.getCachesAt(C).has(x)}},{key:"has",value:function(x,C){var L=this.getKey(x);return this.hasCache(L,C)}},{key:"setCache",value:function(x,C,L){L.key=x,this.getCachesAt(C).set(x,L)}},{key:"set",value:function(x,C,L){var O=this.getKey(x);this.setCache(O,C,L),this.updateKeyMappingFor(x)}},{key:"deleteCache",value:function(x,C){this.getCachesAt(C).delete(x)}},{key:"delete",value:function(x,C){var L=this.getKey(x);this.deleteCache(L,C)}},{key:"invalidateKey",value:function(x){var C=this;this.lvls.forEach(function(L){return C.deleteCache(x,L)})}},{key:"invalidate",value:function(x){var C=x.id(),L=this.keyForId.get(C);this.deleteKeyMappingFor(x);var O=this.doesEleInvalidateKey(x);return O&&this.invalidateKey(L),O||this.getNumberOfIdsForKey(L)===0}}]),y}(),Ij=25,OC=50,NC=-4,yM=3,Wet=7.99,Yet=8,Xet=1024,Qet=1024,Jet=1024,Zet=.2,tnt=.8,ent=10,nnt=.15,rnt=.1,int=.9,snt=.9,ant=100,ont=1,p6={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},cnt=p1({getKey:null,doesEleInvalidateKey:ay,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:b4,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),rE=function(p,x){var C=this;C.renderer=p,C.onDequeues=[];var L=cnt(x);we(C,L),C.lookup=new Ket(L.getKey,L.doesEleInvalidateKey),C.setupDequeueing()},Jh=rE.prototype;Jh.reasons=p6,Jh.getTextureQueue=function(y){var p=this;return p.eleImgCaches=p.eleImgCaches||{},p.eleImgCaches[y]=p.eleImgCaches[y]||[]},Jh.getRetiredTextureQueue=function(y){var p=this,x=p.eleImgCaches.retired=p.eleImgCaches.retired||{},C=x[y]=x[y]||[];return C},Jh.getElementQueue=function(){var y=this,p=y.eleCacheQueue=y.eleCacheQueue||new N8(function(x,C){return C.reqs-x.reqs});return p},Jh.getElementKeyToQueue=function(){var y=this,p=y.eleKeyToCacheQueue=y.eleKeyToCacheQueue||{};return p},Jh.getElement=function(y,p,x,C,L){var O=this,N=this.renderer,j=N.cy.zoom(),H=this.lookup;if(!p||p.w===0||p.h===0||isNaN(p.w)||isNaN(p.h)||!y.visible()||y.removed()||!O.allowEdgeTxrCaching&&y.isEdge()||!O.allowParentTxrCaching&&y.isParent())return null;if(C==null&&(C=Math.ceil(jD(j*x))),C<NC)C=NC;else if(j>=Wet||C>yM)return null;var q=Math.pow(2,C),W=p.h*q,Z=p.w*q,st=N.eleTextBiggerThanMin(y,q);if(!this.isVisible(y,st))return null;var bt=H.get(y,C);if(bt&&bt.invalidated&&(bt.invalidated=!1,bt.texture.invalidatedWidth-=bt.width),bt)return bt;var pt;if(W<=Ij?pt=Ij:W<=OC?pt=OC:pt=Math.ceil(W/OC)*OC,W>Jet||Z>Qet)return null;var _t=O.getTextureQueue(pt),St=_t[_t.length-2],Et=function(){return O.recycleTexture(pt,Z)||O.addTexture(pt,Z)};St||(St=_t[_t.length-1]),St||(St=Et()),St.width-St.usedWidth<Z&&(St=Et());for(var Nt=function(nn){return nn&&nn.scaledLabelShown===st},Pt=L&&L===p6.dequeue,qt=L&&L===p6.highQuality,re=L&&L===p6.downscale,ee,Ut=C+1;Ut<=yM;Ut++){var de=H.get(y,Ut);if(de){ee=de;break}}var Yt=ee&&ee.level===C+1?ee:null,Ee=function(){St.context.drawImage(Yt.texture.canvas,Yt.x,0,Yt.width,Yt.height,St.usedWidth,0,Z,W)};if(St.context.setTransform(1,0,0,1,0,0),St.context.clearRect(St.usedWidth,0,Z,pt),Nt(Yt))Ee();else if(Nt(ee))if(qt){for(var Te=ee.level;Te>C;Te--)Yt=O.getElement(y,p,x,Te,p6.downscale);Ee()}else return O.queueElement(y,ee.level-1),ee;else{var ie;if(!Pt&&!qt&&!re)for(var ze=C-1;ze>=NC;ze--){var me=H.get(y,ze);if(me){ie=me;break}}if(Nt(ie))return O.queueElement(y,C),ie;St.context.translate(St.usedWidth,0),St.context.scale(q,q),this.drawElement(St.context,y,p,st,!1),St.context.scale(1/q,1/q),St.context.translate(-St.usedWidth,0)}return bt={x:St.usedWidth,texture:St,level:C,scale:q,width:Z,height:W,scaledLabelShown:st},St.usedWidth+=Math.ceil(Z+Yet),St.eleCaches.push(bt),H.set(y,C,bt),O.checkTextureFullness(St),bt},Jh.invalidateElements=function(y){for(var p=0;p<y.length;p++)this.invalidateElement(y[p])},Jh.invalidateElement=function(y){var p=this,x=p.lookup,C=[],L=x.isInvalid(y);if(L){for(var O=NC;O<=yM;O++){var N=x.getForCachedKey(y,O);N&&C.push(N)}var j=x.invalidate(y);if(j)for(var H=0;H<C.length;H++){var q=C[H],W=q.texture;W.invalidatedWidth+=q.width,q.invalidated=!0,p.checkTextureUtility(W)}p.removeFromQueue(y)}},Jh.checkTextureUtility=function(y){y.invalidatedWidth>=Zet*y.width&&this.retireTexture(y)},Jh.checkTextureFullness=function(y){var p=this,x=p.getTextureQueue(y.height);y.usedWidth/y.width>tnt&&y.fullnessChecks>=ent?oy(x,y):y.fullnessChecks++},Jh.retireTexture=function(y){var p=this,x=y.height,C=p.getTextureQueue(x),L=this.lookup;oy(C,y),y.retired=!0;for(var O=y.eleCaches,N=0;N<O.length;N++){var j=O[N];L.deleteCache(j.key,j.level)}G9(O);var H=p.getRetiredTextureQueue(x);H.push(y)},Jh.addTexture=function(y,p){var x=this,C=x.getTextureQueue(y),L={};return C.push(L),L.eleCaches=[],L.height=y,L.width=Math.max(Xet,p),L.usedWidth=0,L.invalidatedWidth=0,L.fullnessChecks=0,L.canvas=x.renderer.makeOffscreenCanvas(L.width,L.height),L.context=L.canvas.getContext("2d"),L},Jh.recycleTexture=function(y,p){for(var x=this,C=x.getTextureQueue(y),L=x.getRetiredTextureQueue(y),O=0;O<L.length;O++){var N=L[O];if(N.width>=p)return N.retired=!1,N.usedWidth=0,N.invalidatedWidth=0,N.fullnessChecks=0,G9(N.eleCaches),N.context.setTransform(1,0,0,1,0,0),N.context.clearRect(0,0,N.width,N.height),oy(L,N),C.push(N),N}},Jh.queueElement=function(y,p){var x=this,C=x.getElementQueue(),L=x.getElementKeyToQueue(),O=this.getKey(y),N=L[O];if(N)N.level=Math.max(N.level,p),N.eles.merge(y),N.reqs++,C.updateItem(N);else{var j={eles:y.spawn().merge(y),level:p,reqs:1,key:O};C.push(j),L[O]=j}},Jh.dequeue=function(y){for(var p=this,x=p.getElementQueue(),C=p.getElementKeyToQueue(),L=[],O=p.lookup,N=0;N<ont&&x.size()>0;N++){var j=x.pop(),H=j.key,q=j.eles[0],W=O.hasCache(q,j.level);if(C[H]=null,W)continue;L.push(j);var Z=p.getBoundingBox(q);p.getElement(q,Z,y,j.level,p6.dequeue)}return L},Jh.removeFromQueue=function(y){var p=this,x=p.getElementQueue(),C=p.getElementKeyToQueue(),L=this.getKey(y),O=C[L];O!=null&&(O.eles.length===1?(O.reqs=Kx,x.updateItem(O),x.pop(),C[L]=null):O.eles.unmerge(y))},Jh.onDequeue=function(y){this.onDequeues.push(y)},Jh.offDequeue=function(y){oy(this.onDequeues,y)},Jh.setupDequeueing=Mj.setupDequeueing({deqRedrawThreshold:ant,deqCost:nnt,deqAvgCost:rnt,deqNoDrawCost:int,deqFastCost:snt,deq:function(p,x,C){return p.dequeue(x,C)},onDeqd:function(p,x){for(var C=0;C<p.onDequeues.length;C++){var L=p.onDequeues[C];L(x)}},shouldRedraw:function(p,x,C,L){for(var O=0;O<x.length;O++)for(var N=x[O].eles,j=0;j<N.length;j++){var H=N[j].boundingBox();if($D(H,L))return!0}return!1},priority:function(p){return p.renderer.beforeRenderPriorities.eleTxrDeq}});var unt=1,iE=-4,PC=2,lnt=3.99,hnt=50,fnt=50,Zh=.15,dnt=.1,gnt=.9,Oj=.9,pnt=1,Nj=250,Pj=4e3*4e3,Fj=!0,Bj=function(p){var x=this,C=x.renderer=p,L=C.cy;x.layersByLevel={},x.firstGet=!0,x.lastInvalidationTime=ip()-2*Nj,x.skipping=!1,x.eleTxrDeqs=L.collection(),x.scheduleElementRefinement=pu(function(){x.refineElementTextures(x.eleTxrDeqs),x.eleTxrDeqs.unmerge(x.eleTxrDeqs)},fnt),C.beforeRender(function(N,j){j-x.lastInvalidationTime<=Nj?x.skipping=!0:x.skipping=!1},C.beforeRenderPriorities.lyrTxrSkip);var O=function(j,H){return H.reqs-j.reqs};x.layersQueue=new N8(O),x.setupDequeueing()},Df=Bj.prototype,Rj=0,FC=Math.pow(2,53)-1;Df.makeLayer=function(y,p){var x=Math.pow(2,p),C=Math.ceil(y.w*x),L=Math.ceil(y.h*x),O=this.renderer.makeOffscreenCanvas(C,L),N={id:Rj=++Rj%FC,bb:y,level:p,width:C,height:L,canvas:O,context:O.getContext("2d"),eles:[],elesQueue:[],reqs:0},j=N.context,H=-N.bb.x1,q=-N.bb.y1;return j.scale(x,x),j.translate(H,q),N},Df.getLayers=function(y,p,x){var C=this,L=C.renderer,O=L.cy,N=O.zoom(),j=C.firstGet;if(C.firstGet=!1,x==null){if(x=Math.ceil(jD(N*p)),x<iE)x=iE;else if(N>=lnt||x>PC)return null}C.validateLayersElesOrdering(x,y);var H=C.layersByLevel,q=Math.pow(2,x),W=H[x]=H[x]||[],Z,st=C.levelIsComplete(x,y),bt,pt=function(){var Ee=function(yn){if(C.validateLayersElesOrdering(yn,y),C.levelIsComplete(yn,y))return bt=H[yn],!0},Te=function(yn){if(!bt)for(var nn=x+yn;iE<=nn&&nn<=PC&&!Ee(nn);nn+=yn);};Te(1),Te(-1);for(var ie=W.length-1;ie>=0;ie--){var ze=W[ie];ze.invalid&&oy(W,ze)}};if(!st)pt();else return W;var _t=function(){if(!Z){Z=v0();for(var Ee=0;Ee<y.length;Ee++)BB(Z,y[Ee].boundingBox())}return Z},St=function(Ee){Ee=Ee||{};var Te=Ee.after;_t();var ie=Z.w*q*(Z.h*q);if(ie>Pj)return null;var ze=C.makeLayer(Z,x);if(Te!=null){var me=W.indexOf(Te)+1;W.splice(me,0,ze)}else(Ee.insert===void 0||Ee.insert)&&W.unshift(ze);return ze};if(C.skipping&&!j)return null;for(var Et=null,Nt=y.length/unt,Pt=!j,qt=0;qt<y.length;qt++){var re=y[qt],ee=re._private.rscratch,Ut=ee.imgLayerCaches=ee.imgLayerCaches||{},de=Ut[x];if(de){Et=de;continue}if((!Et||Et.eles.length>=Nt||!jB(Et.bb,re.boundingBox()))&&(Et=St({insert:!0,after:Et}),!Et))return null;bt||Pt?C.queueLayer(Et,re):C.drawEleInLayer(Et,re,x,p),Et.eles.push(re),Ut[x]=Et}return bt||(Pt?null:W)},Df.getEleLevelForLayerLevel=function(y,p){return y},Df.drawEleInLayer=function(y,p,x,C){var L=this,O=this.renderer,N=y.context,j=p.boundingBox();j.w===0||j.h===0||!p.visible()||(x=L.getEleLevelForLayerLevel(x,C),O.setImgSmoothing(N,!1),O.drawCachedElement(N,p,null,null,x,Fj),O.setImgSmoothing(N,!0))},Df.levelIsComplete=function(y,p){var x=this,C=x.layersByLevel[y];if(!C||C.length===0)return!1;for(var L=0,O=0;O<C.length;O++){var N=C[O];if(N.reqs>0||N.invalid)return!1;L+=N.eles.length}return L===p.length},Df.validateLayersElesOrdering=function(y,p){var x=this.layersByLevel[y];if(x)for(var C=0;C<x.length;C++){for(var L=x[C],O=-1,N=0;N<p.length;N++)if(L.eles[0]===p[N]){O=N;break}if(O<0){this.invalidateLayer(L);continue}for(var j=O,N=0;N<L.eles.length;N++)if(L.eles[N]!==p[j+N]){this.invalidateLayer(L);break}}},Df.updateElementsInLayers=function(y,p){for(var x=this,C=V(y[0]),L=0;L<y.length;L++)for(var O=C?null:y[L],N=C?y[L]:y[L].ele,j=N._private.rscratch,H=j.imgLayerCaches=j.imgLayerCaches||{},q=iE;q<=PC;q++){var W=H[q];W&&(O&&x.getEleLevelForLayerLevel(W.level)!==O.level||p(W,N,O))}},Df.haveLayers=function(){for(var y=this,p=!1,x=iE;x<=PC;x++){var C=y.layersByLevel[x];if(C&&C.length>0){p=!0;break}}return p},Df.invalidateElements=function(y){var p=this;y.length!==0&&(p.lastInvalidationTime=ip(),!(y.length===0||!p.haveLayers())&&p.updateElementsInLayers(y,function(C,L,O){p.invalidateLayer(C)}))},Df.invalidateLayer=function(y){if(this.lastInvalidationTime=ip(),!y.invalid){var p=y.level,x=y.eles,C=this.layersByLevel[p];oy(C,y),y.elesQueue=[],y.invalid=!0,y.replacement&&(y.replacement.invalid=!0);for(var L=0;L<x.length;L++){var O=x[L]._private.rscratch.imgLayerCaches;O&&(O[p]=null)}}},Df.refineElementTextures=function(y){var p=this;p.updateElementsInLayers(y,function(C,L,O){var N=C.replacement;if(N||(N=C.replacement=p.makeLayer(C.bb,C.level),N.replaces=C,N.eles=C.eles),!N.reqs)for(var j=0;j<N.eles.length;j++)p.queueLayer(N,N.eles[j])})},Df.enqueueElementRefinement=function(y){this.eleTxrDeqs.merge(y),this.scheduleElementRefinement()},Df.queueLayer=function(y,p){var x=this,C=x.layersQueue,L=y.elesQueue,O=L.hasId=L.hasId||{};if(!y.replacement){if(p){if(O[p.id()])return;L.push(p),O[p.id()]=!0}y.reqs?(y.reqs++,C.updateItem(y)):(y.reqs=1,C.push(y))}},Df.dequeue=function(y){for(var p=this,x=p.layersQueue,C=[],L=0;L<pnt&&x.size()!==0;){var O=x.peek();if(O.replacement){x.pop();continue}if(O.replaces&&O!==O.replaces.replacement){x.pop();continue}if(O.invalid){x.pop();continue}var N=O.elesQueue.shift();N&&(p.drawEleInLayer(O,N,O.level,y),L++),C.length===0&&C.push(!0),O.elesQueue.length===0&&(x.pop(),O.reqs=0,O.replaces&&p.applyLayerReplacement(O),p.requestRedraw())}return C},Df.applyLayerReplacement=function(y){var p=this,x=p.layersByLevel[y.level],C=y.replaces,L=x.indexOf(C);if(!(L<0||C.invalid)){x[L]=y;for(var O=0;O<y.eles.length;O++){var N=y.eles[O]._private,j=N.imgLayerCaches=N.imgLayerCaches||{};j&&(j[y.level]=y)}p.requestRedraw()}},Df.requestRedraw=pu(function(){var y=this.renderer;y.redrawHint("eles",!0),y.redrawHint("drag",!0),y.redraw()},100),Df.setupDequeueing=Mj.setupDequeueing({deqRedrawThreshold:hnt,deqCost:Zh,deqAvgCost:dnt,deqNoDrawCost:gnt,deqFastCost:Oj,deq:function(p,x){return p.dequeue(x)},onDeqd:BD,shouldRedraw:b4,priority:function(p){return p.renderer.beforeRenderPriorities.lyrTxrDeq}});var jj={},$j;function bnt(y,p){for(var x=0;x<p.length;x++){var C=p[x];y.lineTo(C.x,C.y)}}function wnt(y,p,x){for(var C,L=0;L<p.length;L++){var O=p[L];L===0&&(C=O),y.lineTo(O.x,O.y)}y.quadraticCurveTo(x.x,x.y,C.x,C.y)}function zj(y,p,x){y.beginPath&&y.beginPath();for(var C=p,L=0;L<C.length;L++){var O=C[L];y.lineTo(O.x,O.y)}var N=x,j=x[0];y.moveTo(j.x,j.y);for(var L=1;L<N.length;L++){var O=N[L];y.lineTo(O.x,O.y)}y.closePath&&y.closePath()}function mnt(y,p,x,C,L){y.beginPath&&y.beginPath(),y.arc(x,C,L,0,Math.PI*2,!1);var O=p,N=O[0];y.moveTo(N.x,N.y);for(var j=0;j<O.length;j++){var H=O[j];y.lineTo(H.x,H.y)}y.closePath&&y.closePath()}function qj(y,p,x,C){y.arc(p,x,C,0,Math.PI*2,!1)}jj.arrowShapeImpl=function(y){return($j||($j={polygon:bnt,"triangle-backcurve":wnt,"triangle-tee":zj,"circle-triangle":mnt,"triangle-cross":zj,circle:qj}))[y]};var bb={};bb.drawElement=function(y,p,x,C,L,O){var N=this;p.isNode()?N.drawNode(y,p,x,C,L,O):N.drawEdge(y,p,x,C,L,O)},bb.drawElementOverlay=function(y,p){var x=this;p.isNode()?x.drawNodeOverlay(y,p):x.drawEdgeOverlay(y,p)},bb.drawElementUnderlay=function(y,p){var x=this;p.isNode()?x.drawNodeUnderlay(y,p):x.drawEdgeUnderlay(y,p)},bb.drawCachedElementPortion=function(y,p,x,C,L,O,N,j){var H=this,q=x.getBoundingBox(p);if(!(q.w===0||q.h===0)){var W=x.getElement(p,q,C,L,O);if(W!=null){var Z=j(H,p);if(Z===0)return;var st=N(H,p),bt=q.x1,pt=q.y1,_t=q.w,St=q.h,Et,Nt,Pt,qt,re;if(st!==0){var ee=x.getRotationPoint(p);Pt=ee.x,qt=ee.y,y.translate(Pt,qt),y.rotate(st),re=H.getImgSmoothing(y),re||H.setImgSmoothing(y,!0);var Ut=x.getRotationOffset(p);Et=Ut.x,Nt=Ut.y}else Et=bt,Nt=pt;var de;Z!==1&&(de=y.globalAlpha,y.globalAlpha=de*Z),y.drawImage(W.texture.canvas,W.x,0,W.width,W.height,Et,Nt,_t,St),Z!==1&&(y.globalAlpha=de),st!==0&&(y.rotate(-st),y.translate(-Pt,-qt),re||H.setImgSmoothing(y,!1))}else x.drawElement(y,p)}};var vnt=function(){return 0},ynt=function(p,x){return p.getTextAngle(x,null)},xM=function(p,x){return p.getTextAngle(x,"source")},xnt=function(p,x){return p.getTextAngle(x,"target")},knt=function(p,x){return x.effectiveOpacity()},sE=function(p,x){return x.pstyle("text-opacity").pfValue*x.effectiveOpacity()};bb.drawCachedElement=function(y,p,x,C,L,O){var N=this,j=N.data,H=j.eleTxrCache,q=j.lblTxrCache,W=j.slbTxrCache,Z=j.tlbTxrCache,st=p.boundingBox(),bt=O===!0?H.reasons.highQuality:null;if(!(st.w===0||st.h===0||!p.visible())&&(!C||$D(st,C))){var pt=p.isEdge(),_t=p.element()._private.rscratch.badLine;N.drawElementUnderlay(y,p),N.drawCachedElementPortion(y,p,H,x,L,bt,vnt,knt),(!pt||!_t)&&N.drawCachedElementPortion(y,p,q,x,L,bt,ynt,sE),pt&&!_t&&(N.drawCachedElementPortion(y,p,W,x,L,bt,xM,sE),N.drawCachedElementPortion(y,p,Z,x,L,bt,xnt,sE)),N.drawElementOverlay(y,p)}},bb.drawElements=function(y,p){for(var x=this,C=0;C<p.length;C++){var L=p[C];x.drawElement(y,L)}},bb.drawCachedElements=function(y,p,x,C){for(var L=this,O=0;O<p.length;O++){var N=p[O];L.drawCachedElement(y,N,x,C)}},bb.drawCachedNodes=function(y,p,x,C){for(var L=this,O=0;O<p.length;O++){var N=p[O];N.isNode()&&L.drawCachedElement(y,N,x,C)}},bb.drawLayeredElements=function(y,p,x,C){var L=this,O=L.data.lyrTxrCache.getLayers(p,x);if(O)for(var N=0;N<O.length;N++){var j=O[N],H=j.bb;H.w===0||H.h===0||y.drawImage(j.canvas,H.x1,H.y1,H.w,H.h)}else L.drawCachedElements(y,p,x,C)};var wb={};wb.drawEdge=function(y,p,x){var C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,j=p._private.rscratch;if(!(O&&!p.visible())&&!(j.badLine||j.allpts==null||isNaN(j.allpts[0]))){var H;x&&(H=x,y.translate(-H.x1,-H.y1));var q=O?p.pstyle("opacity").value:1,W=O?p.pstyle("line-opacity").value:1,Z=p.pstyle("curve-style").value,st=p.pstyle("line-style").value,bt=p.pstyle("width").pfValue,pt=p.pstyle("line-cap").value,_t=q*W,St=q*W,Et=function(){var ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_t;Z==="straight-triangle"?(N.eleStrokeStyle(y,p,ie),N.drawEdgeTrianglePath(p,y,j.allpts)):(y.lineWidth=bt,y.lineCap=pt,N.eleStrokeStyle(y,p,ie),N.drawEdgePath(p,y,j.allpts,st),y.lineCap="butt")},Nt=function(){L&&N.drawEdgeOverlay(y,p)},Pt=function(){L&&N.drawEdgeUnderlay(y,p)},qt=function(){var ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:St;N.drawArrowheads(y,p,ie)},re=function(){N.drawElementText(y,p,null,C)};y.lineJoin="round";var ee=p.pstyle("ghost").value==="yes";if(ee){var Ut=p.pstyle("ghost-offset-x").pfValue,de=p.pstyle("ghost-offset-y").pfValue,Yt=p.pstyle("ghost-opacity").value,Ee=_t*Yt;y.translate(Ut,de),Et(Ee),qt(Ee),y.translate(-Ut,-de)}Pt(),Et(),qt(),Nt(),re(),x&&y.translate(H.x1,H.y1)}};var Hj=function(p){if(!["overlay","underlay"].includes(p))throw new Error("Invalid state");return function(x,C){if(C.visible()){var L=C.pstyle("".concat(p,"-opacity")).value;if(L!==0){var O=this,N=O.usePaths(),j=C._private.rscratch,H=C.pstyle("".concat(p,"-padding")).pfValue,q=2*H,W=C.pstyle("".concat(p,"-color")).value;x.lineWidth=q,j.edgeType==="self"&&!N?x.lineCap="butt":x.lineCap="round",O.colorStrokeStyle(x,W[0],W[1],W[2],L),O.drawEdgePath(C,x,j.allpts,"solid")}}}};wb.drawEdgeOverlay=Hj("overlay"),wb.drawEdgeUnderlay=Hj("underlay"),wb.drawEdgePath=function(y,p,x,C){var L=y._private.rscratch,O=p,N,j=!1,H=this.usePaths(),q=y.pstyle("line-dash-pattern").pfValue,W=y.pstyle("line-dash-offset").pfValue;if(H){var Z=x.join("$"),st=L.pathCacheKey&&L.pathCacheKey===Z;st?(N=p=L.pathCache,j=!0):(N=p=new Path2D,L.pathCacheKey=Z,L.pathCache=N)}if(O.setLineDash)switch(C){case"dotted":O.setLineDash([1,1]);break;case"dashed":O.setLineDash(q),O.lineDashOffset=W;break;case"solid":O.setLineDash([]);break}if(!j&&!L.badLine)switch(p.beginPath&&p.beginPath(),p.moveTo(x[0],x[1]),L.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var bt=2;bt+3<x.length;bt+=4)p.quadraticCurveTo(x[bt],x[bt+1],x[bt+2],x[bt+3]);break;case"straight":case"segments":case"haystack":for(var pt=2;pt+1<x.length;pt+=2)p.lineTo(x[pt],x[pt+1]);break}p=O,H?p.stroke(N):p.stroke(),p.setLineDash&&p.setLineDash([])},wb.drawEdgeTrianglePath=function(y,p,x){p.fillStyle=p.strokeStyle;for(var C=y.pstyle("width").pfValue,L=0;L+1<x.length;L+=2){var O=[x[L+2]-x[L],x[L+3]-x[L+1]],N=Math.sqrt(O[0]*O[0]+O[1]*O[1]),j=[O[1]/N,-O[0]/N],H=[j[0]*C/2,j[1]*C/2];p.beginPath(),p.moveTo(x[L]-H[0],x[L+1]-H[1]),p.lineTo(x[L]+H[0],x[L+1]+H[1]),p.lineTo(x[L+2],x[L+3]),p.closePath(),p.fill()}},wb.drawArrowheads=function(y,p,x){var C=p._private.rscratch,L=C.edgeType==="haystack";L||this.drawArrowhead(y,p,"source",C.arrowStartX,C.arrowStartY,C.srcArrowAngle,x),this.drawArrowhead(y,p,"mid-target",C.midX,C.midY,C.midtgtArrowAngle,x),this.drawArrowhead(y,p,"mid-source",C.midX,C.midY,C.midsrcArrowAngle,x),L||this.drawArrowhead(y,p,"target",C.arrowEndX,C.arrowEndY,C.tgtArrowAngle,x)},wb.drawArrowhead=function(y,p,x,C,L,O,N){if(!(isNaN(C)||C==null||isNaN(L)||L==null||isNaN(O)||O==null)){var j=this,H=p.pstyle(x+"-arrow-shape").value;if(H!=="none"){var q=p.pstyle(x+"-arrow-fill").value==="hollow"?"both":"filled",W=p.pstyle(x+"-arrow-fill").value,Z=p.pstyle("width").pfValue,st=p.pstyle(x+"-arrow-width"),bt=st.value==="match-line"?Z:st.pfValue;st.units==="%"&&(bt*=Z);var pt=p.pstyle("opacity").value;N===void 0&&(N=pt);var _t=y.globalCompositeOperation;(N!==1||W==="hollow")&&(y.globalCompositeOperation="destination-out",j.colorFillStyle(y,255,255,255,1),j.colorStrokeStyle(y,255,255,255,1),j.drawArrowShape(p,y,q,Z,H,bt,C,L,O),y.globalCompositeOperation=_t);var St=p.pstyle(x+"-arrow-color").value;j.colorFillStyle(y,St[0],St[1],St[2],N),j.colorStrokeStyle(y,St[0],St[1],St[2],N),j.drawArrowShape(p,y,W,Z,H,bt,C,L,O)}}},wb.drawArrowShape=function(y,p,x,C,L,O,N,j,H){var q=this,W=this.usePaths()&&L!=="triangle-cross",Z=!1,st,bt=p,pt={x:N,y:j},_t=y.pstyle("arrow-scale").value,St=this.getArrowWidth(C,_t),Et=q.arrowShapes[L];if(W){var Nt=q.arrowPathCache=q.arrowPathCache||[],Pt=Nd(L),qt=Nt[Pt];qt!=null?(st=p=qt,Z=!0):(st=p=new Path2D,Nt[Pt]=st)}Z||(p.beginPath&&p.beginPath(),W?Et.draw(p,1,0,{x:0,y:0},1):Et.draw(p,St,H,pt,C),p.closePath&&p.closePath()),p=bt,W&&(p.translate(N,j),p.rotate(H),p.scale(St,St)),(x==="filled"||x==="both")&&(W?p.fill(st):p.fill()),(x==="hollow"||x==="both")&&(p.lineWidth=O/(W?St:1),p.lineJoin="miter",W?p.stroke(st):p.stroke()),W&&(p.scale(1/St,1/St),p.rotate(-H),p.translate(-N,-j))};var aE={};aE.safeDrawImage=function(y,p,x,C,L,O,N,j,H,q){if(!(L<=0||O<=0||H<=0||q<=0))try{y.drawImage(p,x,C,L,O,N,j,H,q)}catch(W){Gc(W)}},aE.drawInscribedImage=function(y,p,x,C,L){var O=this,N=x.position(),j=N.x,H=N.y,q=x.cy().style(),W=q.getIndexedStyle.bind(q),Z=W(x,"background-fit","value",C),st=W(x,"background-repeat","value",C),bt=x.width(),pt=x.height(),_t=x.padding()*2,St=bt+(W(x,"background-width-relative-to","value",C)==="inner"?0:_t),Et=pt+(W(x,"background-height-relative-to","value",C)==="inner"?0:_t),Nt=x._private.rscratch,Pt=W(x,"background-clip","value",C),qt=Pt==="node",re=W(x,"background-image-opacity","value",C)*L,ee=W(x,"background-image-smoothing","value",C),Ut=p.width||p.cachedW,de=p.height||p.cachedH;(Ut==null||de==null)&&(document.body.appendChild(p),Ut=p.cachedW=p.width||p.offsetWidth,de=p.cachedH=p.height||p.offsetHeight,document.body.removeChild(p));var Yt=Ut,Ee=de;if(W(x,"background-width","value",C)!=="auto"&&(W(x,"background-width","units",C)==="%"?Yt=W(x,"background-width","pfValue",C)*St:Yt=W(x,"background-width","pfValue",C)),W(x,"background-height","value",C)!=="auto"&&(W(x,"background-height","units",C)==="%"?Ee=W(x,"background-height","pfValue",C)*Et:Ee=W(x,"background-height","pfValue",C)),!(Yt===0||Ee===0)){if(Z==="contain"){var Te=Math.min(St/Yt,Et/Ee);Yt*=Te,Ee*=Te}else if(Z==="cover"){var Te=Math.max(St/Yt,Et/Ee);Yt*=Te,Ee*=Te}var ie=j-St/2,ze=W(x,"background-position-x","units",C),me=W(x,"background-position-x","pfValue",C);ze==="%"?ie+=(St-Yt)*me:ie+=me;var yn=W(x,"background-offset-x","units",C),nn=W(x,"background-offset-x","pfValue",C);yn==="%"?ie+=(St-Yt)*nn:ie+=nn;var qe=H-Et/2,Tn=W(x,"background-position-y","units",C),Xn=W(x,"background-position-y","pfValue",C);Tn==="%"?qe+=(Et-Ee)*Xn:qe+=Xn;var lr=W(x,"background-offset-y","units",C),Sn=W(x,"background-offset-y","pfValue",C);lr==="%"?qe+=(Et-Ee)*Sn:qe+=Sn,Nt.pathCache&&(ie-=j,qe-=H,j=0,H=0);var or=y.globalAlpha;y.globalAlpha=re;var pr=O.getImgSmoothing(y),kr=!1;if(ee==="no"&&pr?(O.setImgSmoothing(y,!1),kr=!0):ee==="yes"&&!pr&&(O.setImgSmoothing(y,!0),kr=!0),st==="no-repeat")qt&&(y.save(),Nt.pathCache?y.clip(Nt.pathCache):(O.nodeShapes[O.getNodeShape(x)].draw(y,j,H,St,Et),y.clip())),O.safeDrawImage(y,p,0,0,Ut,de,ie,qe,Yt,Ee),qt&&y.restore();else{var wr=y.createPattern(p,st);y.fillStyle=wr,O.nodeShapes[O.getNodeShape(x)].draw(y,j,H,St,Et),y.translate(ie,qe),y.fill(),y.translate(-ie,-qe)}y.globalAlpha=or,kr&&O.setImgSmoothing(y,pr)}};var S4={};S4.eleTextBiggerThanMin=function(y,p){if(!p){var x=y.cy().zoom(),C=this.getPixelRatio(),L=Math.ceil(jD(x*C));p=Math.pow(2,L)}var O=y.pstyle("font-size").pfValue*p,N=y.pstyle("min-zoomed-font-size").pfValue;return!(O<N)},S4.drawElementText=function(y,p,x,C,L){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this;if(C==null){if(O&&!N.eleTextBiggerThanMin(p))return}else if(C===!1)return;if(p.isNode()){var j=p.pstyle("label");if(!j||!j.value)return;var H=N.getLabelJustification(p);y.textAlign=H,y.textBaseline="bottom"}else{var q=p.element()._private.rscratch.badLine,W=p.pstyle("label"),Z=p.pstyle("source-label"),st=p.pstyle("target-label");if(q||(!W||!W.value)&&(!Z||!Z.value)&&(!st||!st.value))return;y.textAlign="center",y.textBaseline="bottom"}var bt=!x,pt;x&&(pt=x,y.translate(-pt.x1,-pt.y1)),L==null?(N.drawText(y,p,null,bt,O),p.isEdge()&&(N.drawText(y,p,"source",bt,O),N.drawText(y,p,"target",bt,O))):N.drawText(y,p,L,bt,O),x&&y.translate(pt.x1,pt.y1)},S4.getFontCache=function(y){var p;this.fontCaches=this.fontCaches||[];for(var x=0;x<this.fontCaches.length;x++)if(p=this.fontCaches[x],p.context===y)return p;return p={context:y},this.fontCaches.push(p),p},S4.setupTextStyle=function(y,p){var x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,C=p.pstyle("font-style").strValue,L=p.pstyle("font-size").pfValue+"px",O=p.pstyle("font-family").strValue,N=p.pstyle("font-weight").strValue,j=x?p.effectiveOpacity()*p.pstyle("text-opacity").value:1,H=p.pstyle("text-outline-opacity").value*j,q=p.pstyle("color").value,W=p.pstyle("text-outline-color").value;y.font=C+" "+N+" "+L+" "+O,y.lineJoin="round",this.colorFillStyle(y,q[0],q[1],q[2],j),this.colorStrokeStyle(y,W[0],W[1],W[2],H)};function kM(y,p,x,C,L){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,N=arguments.length>6?arguments[6]:void 0;y.beginPath(),y.moveTo(p+O,x),y.lineTo(p+C-O,x),y.quadraticCurveTo(p+C,x,p+C,x+O),y.lineTo(p+C,x+L-O),y.quadraticCurveTo(p+C,x+L,p+C-O,x+L),y.lineTo(p+O,x+L),y.quadraticCurveTo(p,x+L,p,x+L-O),y.lineTo(p,x+O),y.quadraticCurveTo(p,x,p+O,x),y.closePath(),N?y.stroke():y.fill()}S4.getTextAngle=function(y,p){var x,C=y._private,L=C.rscratch,O=p?p+"-":"",N=y.pstyle(O+"text-rotation"),j=fb(L,"labelAngle",p);return N.strValue==="autorotate"?x=y.isEdge()?j:0:N.strValue==="none"?x=0:x=N.pfValue,x},S4.drawText=function(y,p,x){var C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=p._private,N=O.rscratch,j=L?p.effectiveOpacity():1;if(!(L&&(j===0||p.pstyle("text-opacity").value===0))){x==="main"&&(x=null);var H=fb(N,"labelX",x),q=fb(N,"labelY",x),W,Z,st=this.getLabelText(p,x);if(st!=null&&st!==""&&!isNaN(H)&&!isNaN(q)){this.setupTextStyle(y,p,L);var bt=x?x+"-":"",pt=fb(N,"labelWidth",x),_t=fb(N,"labelHeight",x),St=p.pstyle(bt+"text-margin-x").pfValue,Et=p.pstyle(bt+"text-margin-y").pfValue,Nt=p.isEdge(),Pt=p.pstyle("text-halign").value,qt=p.pstyle("text-valign").value;Nt&&(Pt="center",qt="center"),H+=St,q+=Et;var re;switch(C?re=this.getTextAngle(p,x):re=0,re!==0&&(W=H,Z=q,y.translate(W,Z),y.rotate(re),H=0,q=0),qt){case"top":break;case"center":q+=_t/2;break;case"bottom":q+=_t;break}var ee=p.pstyle("text-background-opacity").value,Ut=p.pstyle("text-border-opacity").value,de=p.pstyle("text-border-width").pfValue,Yt=p.pstyle("text-background-padding").pfValue,Ee=p.pstyle("text-background-shape").strValue,Te=Ee.indexOf("round")===0,ie=2;if(ee>0||de>0&&Ut>0){var ze=H-Yt;switch(Pt){case"left":ze-=pt;break;case"center":ze-=pt/2;break}var me=q-_t-Yt,yn=pt+2*Yt,nn=_t+2*Yt;if(ee>0){var qe=y.fillStyle,Tn=p.pstyle("text-background-color").value;y.fillStyle="rgba("+Tn[0]+","+Tn[1]+","+Tn[2]+","+ee*j+")",Te?kM(y,ze,me,yn,nn,ie):y.fillRect(ze,me,yn,nn),y.fillStyle=qe}if(de>0&&Ut>0){var Xn=y.strokeStyle,lr=y.lineWidth,Sn=p.pstyle("text-border-color").value,or=p.pstyle("text-border-style").value;if(y.strokeStyle="rgba("+Sn[0]+","+Sn[1]+","+Sn[2]+","+Ut*j+")",y.lineWidth=de,y.setLineDash)switch(or){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"double":y.lineWidth=de/4,y.setLineDash([]);break;case"solid":y.setLineDash([]);break}if(Te?kM(y,ze,me,yn,nn,ie,"stroke"):y.strokeRect(ze,me,yn,nn),or==="double"){var pr=de/2;Te?kM(y,ze+pr,me+pr,yn-pr*2,nn-pr*2,ie,"stroke"):y.strokeRect(ze+pr,me+pr,yn-pr*2,nn-pr*2)}y.setLineDash&&y.setLineDash([]),y.lineWidth=lr,y.strokeStyle=Xn}}var kr=2*p.pstyle("text-outline-width").pfValue;if(kr>0&&(y.lineWidth=kr),p.pstyle("text-wrap").value==="wrap"){var wr=fb(N,"labelWrapCachedLines",x),Cr=fb(N,"labelLineHeight",x),$n=pt/2,cr=this.getLabelJustification(p);switch(cr==="auto"||(Pt==="left"?cr==="left"?H+=-pt:cr==="center"&&(H+=-$n):Pt==="center"?cr==="left"?H+=-$n:cr==="right"&&(H+=$n):Pt==="right"&&(cr==="center"?H+=$n:cr==="right"&&(H+=pt))),qt){case"top":q-=(wr.length-1)*Cr;break;case"center":case"bottom":q-=(wr.length-1)*Cr;break}for(var mr=0;mr<wr.length;mr++)kr>0&&y.strokeText(wr[mr],H,q),y.fillText(wr[mr],H,q),q+=Cr}else kr>0&&y.strokeText(st,H,q),y.fillText(st,H,q);re!==0&&(y.rotate(-re),y.translate(-W,-Z))}}};var b6={};b6.drawNode=function(y,p,x){var C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,j,H,q=p._private,W=q.rscratch,Z=p.position();if(!(!Q(Z.x)||!Q(Z.y))&&!(O&&!p.visible())){var st=O?p.effectiveOpacity():1,bt=N.usePaths(),pt,_t=!1,St=p.padding();j=p.width()+2*St,H=p.height()+2*St;var Et;x&&(Et=x,y.translate(-Et.x1,-Et.y1));for(var Nt=p.pstyle("background-image"),Pt=Nt.value,qt=new Array(Pt.length),re=new Array(Pt.length),ee=0,Ut=0;Ut<Pt.length;Ut++){var de=Pt[Ut],Yt=qt[Ut]=de!=null&&de!=="none";if(Yt){var Ee=p.cy().style().getIndexedStyle(p,"background-image-crossorigin","value",Ut);ee++,re[Ut]=N.getCachedImage(de,Ee,function(){q.backgroundTimestamp=Date.now(),p.emitAndNotify("background")})}}var Te=p.pstyle("background-blacken").value,ie=p.pstyle("border-width").pfValue,ze=p.pstyle("background-opacity").value*st,me=p.pstyle("border-color").value,yn=p.pstyle("border-style").value,nn=p.pstyle("border-opacity").value*st,qe=p.pstyle("outline-width").pfValue,Tn=p.pstyle("outline-color").value,Xn=p.pstyle("outline-style").value,lr=p.pstyle("outline-opacity").value*st,Sn=p.pstyle("outline-offset").value;y.lineJoin="miter";var or=function(){var Kn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ze;N.eleFillStyle(y,p,Kn)},pr=function(){var Kn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:nn;N.colorStrokeStyle(y,me[0],me[1],me[2],Kn)},kr=function(){var Kn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:lr;N.colorStrokeStyle(y,Tn[0],Tn[1],Tn[2],Kn)},wr=function(Kn,G,Vn,gr){var nr=N.nodePathCache=N.nodePathCache||[],Be=Pd(Vn==="polygon"?Vn+","+gr.join(","):Vn,""+G,""+Kn),Ls=nr[Be],hr,us=!1;return Ls!=null?(hr=Ls,us=!0,W.pathCache=hr):(hr=new Path2D,nr[Be]=W.pathCache=hr),{path:hr,cacheHit:us}},Cr=p.pstyle("shape").strValue,$n=p.pstyle("shape-polygon-points").pfValue;if(bt){y.translate(Z.x,Z.y);var cr=wr(j,H,Cr,$n);pt=cr.path,_t=cr.cacheHit}var mr=function(){if(!_t){var Kn=Z;bt&&(Kn={x:0,y:0}),N.nodeShapes[N.getNodeShape(p)].draw(pt||y,Kn.x,Kn.y,j,H)}bt?y.fill(pt):y.fill()},Sr=function(){for(var Kn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:st,G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Vn=q.backgrounding,gr=0,nr=0;nr<re.length;nr++){var Be=p.cy().style().getIndexedStyle(p,"background-image-containment","value",nr);if(G&&Be==="over"||!G&&Be==="inside"){gr++;continue}qt[nr]&&re[nr].complete&&!re[nr].error&&(gr++,N.drawInscribedImage(y,re[nr],p,nr,Kn))}q.backgrounding=gr!==ee,Vn!==q.backgrounding&&p.updateStyle(!1)},gi=function(){var Kn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:st;N.hasPie(p)&&(N.drawPie(y,p,G),Kn&&(bt||N.nodeShapes[N.getNodeShape(p)].draw(y,Z.x,Z.y,j,H)))},ss=function(){var Kn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:st,G=(Te>0?Te:-Te)*Kn,Vn=Te>0?0:255;Te!==0&&(N.colorFillStyle(y,Vn,Vn,Vn,G),bt?y.fill(pt):y.fill())},na=function(){if(ie>0){if(y.lineWidth=ie,y.lineCap="butt",y.setLineDash)switch(yn){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"solid":case"double":y.setLineDash([]);break}if(bt?y.stroke(pt):y.stroke(),yn==="double"){y.lineWidth=ie/3;var Kn=y.globalCompositeOperation;y.globalCompositeOperation="destination-out",bt?y.stroke(pt):y.stroke(),y.globalCompositeOperation=Kn}y.setLineDash&&y.setLineDash([])}},vi=function(){if(qe>0){if(y.lineWidth=qe,y.lineCap="butt",y.setLineDash)switch(Xn){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"solid":case"double":y.setLineDash([]);break}var Kn=Z;bt&&(Kn={x:0,y:0});var G=N.getNodeShape(p),Vn=(j+ie+(qe+Sn))/j,gr=(H+ie+(qe+Sn))/H,nr=j*Vn,Be=H*gr,Ls=N.nodeShapes[G].points,hr;if(bt){var us=wr(nr,Be,G,Ls);hr=us.path}if(G==="ellipse")N.drawEllipsePath(hr||y,Kn.x,Kn.y,nr,Be);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(G)){var Ya=0,kc=0,Ca=0;G==="round-diamond"?Ya=(ie+Sn+qe)*1.4:G==="round-heptagon"?(Ya=(ie+Sn+qe)*1.075,Ca=-(ie/2+Sn+qe)/35):G==="round-hexagon"?Ya=(ie+Sn+qe)*1.12:G==="round-pentagon"?(Ya=(ie+Sn+qe)*1.13,Ca=-(ie/2+Sn+qe)/15):G==="round-tag"?(Ya=(ie+Sn+qe)*1.12,kc=(ie/2+qe+Sn)*.07):G==="round-triangle"&&(Ya=(ie+Sn+qe)*(Math.PI/2),Ca=-(ie+Sn/2+qe)/Math.PI),Ya!==0&&(Vn=(j+Ya)/j,gr=(H+Ya)/H),N.drawRoundPolygonPath(hr||y,Kn.x+kc,Kn.y+Ca,j*Vn,H*gr,Ls)}else if(["roundrectangle","round-rectangle"].includes(G))N.drawRoundRectanglePath(hr||y,Kn.x,Kn.y,nr,Be);else if(["cutrectangle","cut-rectangle"].includes(G))N.drawCutRectanglePath(hr||y,Kn.x,Kn.y,nr,Be);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(G))N.drawBottomRoundRectanglePath(hr||y,Kn.x,Kn.y,nr,Be);else if(G==="barrel")N.drawBarrelPath(hr||y,Kn.x,Kn.y,nr,Be);else if(G.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(G)){var oc=(ie+qe+Sn)/j;Ls=J9(Z9(Ls,oc)),N.drawPolygonPath(hr||y,Kn.x,Kn.y,j,H,Ls)}else{var ra=(ie+qe+Sn)/j;Ls=J9(Z9(Ls,-ra)),N.drawPolygonPath(hr||y,Kn.x,Kn.y,j,H,Ls)}if(bt?y.stroke(hr):y.stroke(),Xn==="double"){y.lineWidth=ie/3;var no=y.globalCompositeOperation;y.globalCompositeOperation="destination-out",bt?y.stroke(hr):y.stroke(),y.globalCompositeOperation=no}y.setLineDash&&y.setLineDash([])}},si=function(){L&&N.drawNodeOverlay(y,p,Z,j,H)},Qi=function(){L&&N.drawNodeUnderlay(y,p,Z,j,H)},ks=function(){N.drawElementText(y,p,null,C)},as=p.pstyle("ghost").value==="yes";if(as){var Es=p.pstyle("ghost-offset-x").pfValue,eo=p.pstyle("ghost-offset-y").pfValue,Ta=p.pstyle("ghost-opacity").value,pa=Ta*st;y.translate(Es,eo),kr(),vi(),or(Ta*ze),mr(),Sr(pa,!0),pr(Ta*nn),na(),gi(Te!==0||ie!==0),Sr(pa,!1),ss(pa),y.translate(-Es,-eo)}bt&&y.translate(-Z.x,-Z.y),Qi(),bt&&y.translate(Z.x,Z.y),kr(),vi(),or(),mr(),Sr(st,!0),pr(),na(),gi(Te!==0||ie!==0),Sr(st,!1),ss(),bt&&y.translate(-Z.x,-Z.y),ks(),si(),x&&y.translate(Et.x1,Et.y1)}};var EM=function(p){if(!["overlay","underlay"].includes(p))throw new Error("Invalid state");return function(x,C,L,O,N){var j=this;if(C.visible()){var H=C.pstyle("".concat(p,"-padding")).pfValue,q=C.pstyle("".concat(p,"-opacity")).value,W=C.pstyle("".concat(p,"-color")).value,Z=C.pstyle("".concat(p,"-shape")).value;if(q>0){if(L=L||C.position(),O==null||N==null){var st=C.padding();O=C.width()+2*st,N=C.height()+2*st}j.colorFillStyle(x,W[0],W[1],W[2],q),j.nodeShapes[Z].draw(x,L.x,L.y,O+H*2,N+H*2),x.fill()}}}};b6.drawNodeOverlay=EM("overlay"),b6.drawNodeUnderlay=EM("underlay"),b6.hasPie=function(y){return y=y[0],y._private.hasPie},b6.drawPie=function(y,p,x,C){p=p[0],C=C||p.position();var L=p.cy().style(),O=p.pstyle("pie-size"),N=C.x,j=C.y,H=p.width(),q=p.height(),W=Math.min(H,q)/2,Z=0,st=this.usePaths();st&&(N=0,j=0),O.units==="%"?W=W*O.pfValue:O.pfValue!==void 0&&(W=O.pfValue/2);for(var bt=1;bt<=L.pieBackgroundN;bt++){var pt=p.pstyle("pie-"+bt+"-background-size").value,_t=p.pstyle("pie-"+bt+"-background-color").value,St=p.pstyle("pie-"+bt+"-background-opacity").value*x,Et=pt/100;Et+Z>1&&(Et=1-Z);var Nt=1.5*Math.PI+2*Math.PI*Z,Pt=2*Math.PI*Et,qt=Nt+Pt;pt===0||Z>=1||Z+Et>1||(y.beginPath(),y.moveTo(N,j),y.arc(N,j,W,Nt,qt),y.closePath(),this.colorFillStyle(y,_t[0],_t[1],_t[2],St),y.fill(),Z+=Et)}};var dg={},Ent=100;dg.getPixelRatio=function(){var y=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var p=y.backingStorePixelRatio||y.webkitBackingStorePixelRatio||y.mozBackingStorePixelRatio||y.msBackingStorePixelRatio||y.oBackingStorePixelRatio||y.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/p},dg.paintCache=function(y){for(var p=this.paintCaches=this.paintCaches||[],x=!0,C,L=0;L<p.length;L++)if(C=p[L],C.context===y){x=!1;break}return x&&(C={context:y},p.push(C)),C},dg.createGradientStyleFor=function(y,p,x,C,L){var O,N=this.usePaths(),j=x.pstyle(p+"-gradient-stop-colors").value,H=x.pstyle(p+"-gradient-stop-positions").pfValue;if(C==="radial-gradient")if(x.isEdge()){var q=x.sourceEndpoint(),W=x.targetEndpoint(),Z=x.midpoint(),st=w4(q,Z),bt=w4(W,Z);O=y.createRadialGradient(Z.x,Z.y,0,Z.x,Z.y,Math.max(st,bt))}else{var pt=N?{x:0,y:0}:x.position(),_t=x.paddedWidth(),St=x.paddedHeight();O=y.createRadialGradient(pt.x,pt.y,0,pt.x,pt.y,Math.max(_t,St))}else if(x.isEdge()){var Et=x.sourceEndpoint(),Nt=x.targetEndpoint();O=y.createLinearGradient(Et.x,Et.y,Nt.x,Nt.y)}else{var Pt=N?{x:0,y:0}:x.position(),qt=x.paddedWidth(),re=x.paddedHeight(),ee=qt/2,Ut=re/2,de=x.pstyle("background-gradient-direction").value;switch(de){case"to-bottom":O=y.createLinearGradient(Pt.x,Pt.y-Ut,Pt.x,Pt.y+Ut);break;case"to-top":O=y.createLinearGradient(Pt.x,Pt.y+Ut,Pt.x,Pt.y-Ut);break;case"to-left":O=y.createLinearGradient(Pt.x+ee,Pt.y,Pt.x-ee,Pt.y);break;case"to-right":O=y.createLinearGradient(Pt.x-ee,Pt.y,Pt.x+ee,Pt.y);break;case"to-bottom-right":case"to-right-bottom":O=y.createLinearGradient(Pt.x-ee,Pt.y-Ut,Pt.x+ee,Pt.y+Ut);break;case"to-top-right":case"to-right-top":O=y.createLinearGradient(Pt.x-ee,Pt.y+Ut,Pt.x+ee,Pt.y-Ut);break;case"to-bottom-left":case"to-left-bottom":O=y.createLinearGradient(Pt.x+ee,Pt.y-Ut,Pt.x-ee,Pt.y+Ut);break;case"to-top-left":case"to-left-top":O=y.createLinearGradient(Pt.x+ee,Pt.y+Ut,Pt.x-ee,Pt.y-Ut);break}}if(!O)return null;for(var Yt=H.length===j.length,Ee=j.length,Te=0;Te<Ee;Te++)O.addColorStop(Yt?H[Te]:Te/(Ee-1),"rgba("+j[Te][0]+","+j[Te][1]+","+j[Te][2]+","+L+")");return O},dg.gradientFillStyle=function(y,p,x,C){var L=this.createGradientStyleFor(y,"background",p,x,C);if(!L)return null;y.fillStyle=L},dg.colorFillStyle=function(y,p,x,C,L){y.fillStyle="rgba("+p+","+x+","+C+","+L+")"},dg.eleFillStyle=function(y,p,x){var C=p.pstyle("background-fill").value;if(C==="linear-gradient"||C==="radial-gradient")this.gradientFillStyle(y,p,C,x);else{var L=p.pstyle("background-color").value;this.colorFillStyle(y,L[0],L[1],L[2],x)}},dg.gradientStrokeStyle=function(y,p,x,C){var L=this.createGradientStyleFor(y,"line",p,x,C);if(!L)return null;y.strokeStyle=L},dg.colorStrokeStyle=function(y,p,x,C,L){y.strokeStyle="rgba("+p+","+x+","+C+","+L+")"},dg.eleStrokeStyle=function(y,p,x){var C=p.pstyle("line-fill").value;if(C==="linear-gradient"||C==="radial-gradient")this.gradientStrokeStyle(y,p,C,x);else{var L=p.pstyle("line-color").value;this.colorStrokeStyle(y,L[0],L[1],L[2],x)}},dg.matchCanvasSize=function(y){var p=this,x=p.data,C=p.findContainerClientCoords(),L=C[2],O=C[3],N=p.getPixelRatio(),j=p.motionBlurPxRatio;(y===p.data.bufferCanvases[p.MOTIONBLUR_BUFFER_NODE]||y===p.data.bufferCanvases[p.MOTIONBLUR_BUFFER_DRAG])&&(N=j);var H=L*N,q=O*N,W;if(!(H===p.canvasWidth&&q===p.canvasHeight)){p.fontCaches=null;var Z=x.canvasContainer;Z.style.width=L+"px",Z.style.height=O+"px";for(var st=0;st<p.CANVAS_LAYERS;st++)W=x.canvases[st],W.width=H,W.height=q,W.style.width=L+"px",W.style.height=O+"px";for(var st=0;st<p.BUFFER_COUNT;st++)W=x.bufferCanvases[st],W.width=H,W.height=q,W.style.width=L+"px",W.style.height=O+"px";p.textureMult=1,N<=1&&(W=x.bufferCanvases[p.TEXTURE_BUFFER],p.textureMult=2,W.width=H*p.textureMult,W.height=q*p.textureMult),p.canvasWidth=H,p.canvasHeight=q}},dg.renderTo=function(y,p,x,C){this.render({forcedContext:y,forcedZoom:p,forcedPan:x,drawAllLayers:!0,forcedPxRatio:C})},dg.render=function(y){y=y||IB();var p=y.forcedContext,x=y.drawAllLayers,C=y.drawOnlyNodeLayer,L=y.forcedZoom,O=y.forcedPan,N=this,j=y.forcedPxRatio===void 0?this.getPixelRatio():y.forcedPxRatio,H=N.cy,q=N.data,W=q.canvasNeedsRedraw,Z=N.textureOnViewport&&!p&&(N.pinching||N.hoverData.dragging||N.swipePanning||N.data.wheelZooming),st=y.motionBlur!==void 0?y.motionBlur:N.motionBlur,bt=N.motionBlurPxRatio,pt=H.hasCompoundNodes(),_t=N.hoverData.draggingEles,St=!!(N.hoverData.selecting||N.touchData.selecting);st=st&&!p&&N.motionBlurEnabled&&!St;var Et=st;p||(N.prevPxRatio!==j&&(N.invalidateContainerClientCoordsCache(),N.matchCanvasSize(N.container),N.redrawHint("eles",!0),N.redrawHint("drag",!0)),N.prevPxRatio=j),!p&&N.motionBlurTimeout&&clearTimeout(N.motionBlurTimeout),st&&(N.mbFrames==null&&(N.mbFrames=0),N.mbFrames++,N.mbFrames<3&&(Et=!1),N.mbFrames>N.minMbLowQualFrames&&(N.motionBlurPxRatio=N.mbPxRBlurry)),N.clearingMotionBlur&&(N.motionBlurPxRatio=1),N.textureDrawLastFrame&&!Z&&(W[N.NODE]=!0,W[N.SELECT_BOX]=!0);var Nt=H.style(),Pt=H.zoom(),qt=L!==void 0?L:Pt,re=H.pan(),ee={x:re.x,y:re.y},Ut={zoom:Pt,pan:{x:re.x,y:re.y}},de=N.prevViewport,Yt=de===void 0||Ut.zoom!==de.zoom||Ut.pan.x!==de.pan.x||Ut.pan.y!==de.pan.y;!Yt&&!(_t&&!pt)&&(N.motionBlurPxRatio=1),O&&(ee=O),qt*=j,ee.x*=j,ee.y*=j;var Ee=N.getCachedZSortedEles();function Te(vi,si,Qi,ks,as){var Es=vi.globalCompositeOperation;vi.globalCompositeOperation="destination-out",N.colorFillStyle(vi,255,255,255,N.motionBlurTransparency),vi.fillRect(si,Qi,ks,as),vi.globalCompositeOperation=Es}function ie(vi,si){var Qi,ks,as,Es;!N.clearingMotionBlur&&(vi===q.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]||vi===q.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG])?(Qi={x:re.x*bt,y:re.y*bt},ks=Pt*bt,as=N.canvasWidth*bt,Es=N.canvasHeight*bt):(Qi=ee,ks=qt,as=N.canvasWidth,Es=N.canvasHeight),vi.setTransform(1,0,0,1,0,0),si==="motionBlur"?Te(vi,0,0,as,Es):!p&&(si===void 0||si)&&vi.clearRect(0,0,as,Es),x||(vi.translate(Qi.x,Qi.y),vi.scale(ks,ks)),O&&vi.translate(O.x,O.y),L&&vi.scale(L,L)}if(Z||(N.textureDrawLastFrame=!1),Z){if(N.textureDrawLastFrame=!0,!N.textureCache){N.textureCache={},N.textureCache.bb=H.mutableElements().boundingBox(),N.textureCache.texture=N.data.bufferCanvases[N.TEXTURE_BUFFER];var ze=N.data.bufferContexts[N.TEXTURE_BUFFER];ze.setTransform(1,0,0,1,0,0),ze.clearRect(0,0,N.canvasWidth*N.textureMult,N.canvasHeight*N.textureMult),N.render({forcedContext:ze,drawOnlyNodeLayer:!0,forcedPxRatio:j*N.textureMult});var Ut=N.textureCache.viewport={zoom:H.zoom(),pan:H.pan(),width:N.canvasWidth,height:N.canvasHeight};Ut.mpan={x:(0-Ut.pan.x)/Ut.zoom,y:(0-Ut.pan.y)/Ut.zoom}}W[N.DRAG]=!1,W[N.NODE]=!1;var me=q.contexts[N.NODE],yn=N.textureCache.texture,Ut=N.textureCache.viewport;me.setTransform(1,0,0,1,0,0),st?Te(me,0,0,Ut.width,Ut.height):me.clearRect(0,0,Ut.width,Ut.height);var nn=Nt.core("outside-texture-bg-color").value,qe=Nt.core("outside-texture-bg-opacity").value;N.colorFillStyle(me,nn[0],nn[1],nn[2],qe),me.fillRect(0,0,Ut.width,Ut.height);var Pt=H.zoom();ie(me,!1),me.clearRect(Ut.mpan.x,Ut.mpan.y,Ut.width/Ut.zoom/j,Ut.height/Ut.zoom/j),me.drawImage(yn,Ut.mpan.x,Ut.mpan.y,Ut.width/Ut.zoom/j,Ut.height/Ut.zoom/j)}else N.textureOnViewport&&!p&&(N.textureCache=null);var Tn=H.extent(),Xn=N.pinching||N.hoverData.dragging||N.swipePanning||N.data.wheelZooming||N.hoverData.draggingEles||N.cy.animated(),lr=N.hideEdgesOnViewport&&Xn,Sn=[];if(Sn[N.NODE]=!W[N.NODE]&&st&&!N.clearedForMotionBlur[N.NODE]||N.clearingMotionBlur,Sn[N.NODE]&&(N.clearedForMotionBlur[N.NODE]=!0),Sn[N.DRAG]=!W[N.DRAG]&&st&&!N.clearedForMotionBlur[N.DRAG]||N.clearingMotionBlur,Sn[N.DRAG]&&(N.clearedForMotionBlur[N.DRAG]=!0),W[N.NODE]||x||C||Sn[N.NODE]){var or=st&&!Sn[N.NODE]&&bt!==1,me=p||(or?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]:q.contexts[N.NODE]),pr=st&&!or?"motionBlur":void 0;ie(me,pr),lr?N.drawCachedNodes(me,Ee.nondrag,j,Tn):N.drawLayeredElements(me,Ee.nondrag,j,Tn),N.debug&&N.drawDebugPoints(me,Ee.nondrag),!x&&!st&&(W[N.NODE]=!1)}if(!C&&(W[N.DRAG]||x||Sn[N.DRAG])){var or=st&&!Sn[N.DRAG]&&bt!==1,me=p||(or?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG]:q.contexts[N.DRAG]);ie(me,st&&!or?"motionBlur":void 0),lr?N.drawCachedNodes(me,Ee.drag,j,Tn):N.drawCachedElements(me,Ee.drag,j,Tn),N.debug&&N.drawDebugPoints(me,Ee.drag),!x&&!st&&(W[N.DRAG]=!1)}if(N.showFps||!C&&W[N.SELECT_BOX]&&!x){var me=p||q.contexts[N.SELECT_BOX];if(ie(me),N.selection[4]==1&&(N.hoverData.selecting||N.touchData.selecting)){var Pt=N.cy.zoom(),kr=Nt.core("selection-box-border-width").value/Pt;me.lineWidth=kr,me.fillStyle="rgba("+Nt.core("selection-box-color").value[0]+","+Nt.core("selection-box-color").value[1]+","+Nt.core("selection-box-color").value[2]+","+Nt.core("selection-box-opacity").value+")",me.fillRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]),kr>0&&(me.strokeStyle="rgba("+Nt.core("selection-box-border-color").value[0]+","+Nt.core("selection-box-border-color").value[1]+","+Nt.core("selection-box-border-color").value[2]+","+Nt.core("selection-box-opacity").value+")",me.strokeRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]))}if(q.bgActivePosistion&&!N.hoverData.selecting){var Pt=N.cy.zoom(),wr=q.bgActivePosistion;me.fillStyle="rgba("+Nt.core("active-bg-color").value[0]+","+Nt.core("active-bg-color").value[1]+","+Nt.core("active-bg-color").value[2]+","+Nt.core("active-bg-opacity").value+")",me.beginPath(),me.arc(wr.x,wr.y,Nt.core("active-bg-size").pfValue/Pt,0,2*Math.PI),me.fill()}var Cr=N.lastRedrawTime;if(N.showFps&&Cr){Cr=Math.round(Cr);var $n=Math.round(1e3/Cr);me.setTransform(1,0,0,1,0,0),me.fillStyle="rgba(255, 0, 0, 0.75)",me.strokeStyle="rgba(255, 0, 0, 0.75)",me.lineWidth=1,me.fillText("1 frame = "+Cr+" ms = "+$n+" fps",0,20);var cr=60;me.strokeRect(0,30,250,20),me.fillRect(0,30,250*Math.min($n/cr,1),20)}x||(W[N.SELECT_BOX]=!1)}if(st&&bt!==1){var mr=q.contexts[N.NODE],Sr=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_NODE],gi=q.contexts[N.DRAG],ss=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_DRAG],na=function(si,Qi,ks){si.setTransform(1,0,0,1,0,0),ks||!Et?si.clearRect(0,0,N.canvasWidth,N.canvasHeight):Te(si,0,0,N.canvasWidth,N.canvasHeight);var as=bt;si.drawImage(Qi,0,0,N.canvasWidth*as,N.canvasHeight*as,0,0,N.canvasWidth,N.canvasHeight)};(W[N.NODE]||Sn[N.NODE])&&(na(mr,Sr,Sn[N.NODE]),W[N.NODE]=!1),(W[N.DRAG]||Sn[N.DRAG])&&(na(gi,ss,Sn[N.DRAG]),W[N.DRAG]=!1)}N.prevViewport=Ut,N.clearingMotionBlur&&(N.clearingMotionBlur=!1,N.motionBlurCleared=!0,N.motionBlur=!0),st&&(N.motionBlurTimeout=setTimeout(function(){N.motionBlurTimeout=null,N.clearedForMotionBlur[N.NODE]=!1,N.clearedForMotionBlur[N.DRAG]=!1,N.motionBlur=!1,N.clearingMotionBlur=!Z,N.mbFrames=0,W[N.NODE]=!0,W[N.DRAG]=!0,N.redraw()},Ent)),p||H.emit("render")};var gy={};gy.drawPolygonPath=function(y,p,x,C,L,O){var N=C/2,j=L/2;y.beginPath&&y.beginPath(),y.moveTo(p+N*O[0],x+j*O[1]);for(var H=1;H<O.length/2;H++)y.lineTo(p+N*O[H*2],x+j*O[H*2+1]);y.closePath()},gy.drawRoundPolygonPath=function(y,p,x,C,L,O){var N=C/2,j=L/2,H=HD(C,L);y.beginPath&&y.beginPath();for(var q=0;q<O.length/4;q++){var W=void 0,Z=void 0;q===0?W=O.length-2:W=q*4-2,Z=q*4+2;var st=p+N*O[q*4],bt=x+j*O[q*4+1],pt=-O[W]*O[Z]-O[W+1]*O[Z+1],_t=H/Math.tan(Math.acos(pt)/2),St=st-_t*O[W],Et=bt-_t*O[W+1],Nt=st+_t*O[Z],Pt=bt+_t*O[Z+1];q===0?y.moveTo(St,Et):y.lineTo(St,Et),y.arcTo(st,bt,Nt,Pt,H)}y.closePath()},gy.drawRoundRectanglePath=function(y,p,x,C,L){var O=C/2,N=L/2,j=R8(C,L);y.beginPath&&y.beginPath(),y.moveTo(p,x-N),y.arcTo(p+O,x-N,p+O,x,j),y.arcTo(p+O,x+N,p,x+N,j),y.arcTo(p-O,x+N,p-O,x,j),y.arcTo(p-O,x-N,p,x-N,j),y.lineTo(p,x-N),y.closePath()},gy.drawBottomRoundRectanglePath=function(y,p,x,C,L){var O=C/2,N=L/2,j=R8(C,L);y.beginPath&&y.beginPath(),y.moveTo(p,x-N),y.lineTo(p+O,x-N),y.lineTo(p+O,x),y.arcTo(p+O,x+N,p,x+N,j),y.arcTo(p-O,x+N,p-O,x,j),y.lineTo(p-O,x-N),y.lineTo(p,x-N),y.closePath()},gy.drawCutRectanglePath=function(y,p,x,C,L){var O=C/2,N=L/2,j=qB();y.beginPath&&y.beginPath(),y.moveTo(p-O+j,x-N),y.lineTo(p+O-j,x-N),y.lineTo(p+O,x-N+j),y.lineTo(p+O,x+N-j),y.lineTo(p+O-j,x+N),y.lineTo(p-O+j,x+N),y.lineTo(p-O,x+N-j),y.lineTo(p-O,x-N+j),y.closePath()},gy.drawBarrelPath=function(y,p,x,C,L){var O=C/2,N=L/2,j=p-O,H=p+O,q=x-N,W=x+N,Z=VD(C,L),st=Z.widthOffset,bt=Z.heightOffset,pt=Z.ctrlPtOffsetPct*st;y.beginPath&&y.beginPath(),y.moveTo(j,q+bt),y.lineTo(j,W-bt),y.quadraticCurveTo(j+pt,W,j+st,W),y.lineTo(H-st,W),y.quadraticCurveTo(H-pt,W,H,W-bt),y.lineTo(H,q+bt),y.quadraticCurveTo(H-pt,q,H-st,q),y.lineTo(j+st,q),y.quadraticCurveTo(j+pt,q,j,q+bt),y.closePath()};for(var Vj=Math.sin(0),Uj=Math.cos(0),TM={},CM={},Gj=Math.PI/40,w6=0*Math.PI;w6<2*Math.PI;w6+=Gj)TM[w6]=Math.sin(w6),CM[w6]=Math.cos(w6);gy.drawEllipsePath=function(y,p,x,C,L){if(y.beginPath&&y.beginPath(),y.ellipse)y.ellipse(p,x,C/2,L/2,0,0,2*Math.PI);else for(var O,N,j=C/2,H=L/2,q=0*Math.PI;q<2*Math.PI;q+=Gj)O=p-j*TM[q]*Vj+j*CM[q]*Uj,N=x+H*CM[q]*Vj+H*TM[q]*Uj,q===0?y.moveTo(O,N):y.lineTo(O,N);y.closePath()};var oE={};oE.createBuffer=function(y,p){var x=document.createElement("canvas");return x.width=y,x.height=p,[x,x.getContext("2d")]},oE.bufferCanvasImage=function(y){var p=this.cy,x=p.mutableElements(),C=x.boundingBox(),L=this.findContainerClientCoords(),O=y.full?Math.ceil(C.w):L[2],N=y.full?Math.ceil(C.h):L[3],j=Q(y.maxWidth)||Q(y.maxHeight),H=this.getPixelRatio(),q=1;if(y.scale!==void 0)O*=y.scale,N*=y.scale,q=y.scale;else if(j){var W=1/0,Z=1/0;Q(y.maxWidth)&&(W=q*y.maxWidth/O),Q(y.maxHeight)&&(Z=q*y.maxHeight/N),q=Math.min(W,Z),O*=q,N*=q}j||(O*=H,N*=H,q*=H);var st=document.createElement("canvas");st.width=O,st.height=N,st.style.width=O+"px",st.style.height=N+"px";var bt=st.getContext("2d");if(O>0&&N>0){bt.clearRect(0,0,O,N),bt.globalCompositeOperation="source-over";var pt=this.getCachedZSortedEles();if(y.full)bt.translate(-C.x1*q,-C.y1*q),bt.scale(q,q),this.drawElements(bt,pt),bt.scale(1/q,1/q),bt.translate(C.x1*q,C.y1*q);else{var _t=p.pan(),St={x:_t.x*q,y:_t.y*q};q*=p.zoom(),bt.translate(St.x,St.y),bt.scale(q,q),this.drawElements(bt,pt),bt.scale(1/q,1/q),bt.translate(-St.x,-St.y)}y.bg&&(bt.globalCompositeOperation="destination-over",bt.fillStyle=y.bg,bt.rect(0,0,O,N),bt.fill())}return st};function Tnt(y,p){for(var x=atob(y),C=new ArrayBuffer(x.length),L=new Uint8Array(C),O=0;O<x.length;O++)L[O]=x.charCodeAt(O);return new Blob([C],{type:p})}function Kj(y){var p=y.indexOf(",");return y.substr(p+1)}function Wj(y,p,x){var C=function(){return p.toDataURL(x,y.quality)};switch(y.output){case"blob-promise":return new e6(function(L,O){try{p.toBlob(function(N){N!=null?L(N):O(new Error("`canvas.toBlob()` sent a null value in its callback"))},x,y.quality)}catch(N){O(N)}});case"blob":return Tnt(Kj(C()),x);case"base64":return Kj(C());case"base64uri":default:return C()}}oE.png=function(y){return Wj(y,this.bufferCanvasImage(y),"image/png")},oE.jpg=function(y){return Wj(y,this.bufferCanvasImage(y),"image/jpeg")};var Yj={};Yj.nodeShapeImpl=function(y,p,x,C,L,O,N){switch(y){case"ellipse":return this.drawEllipsePath(p,x,C,L,O);case"polygon":return this.drawPolygonPath(p,x,C,L,O,N);case"round-polygon":return this.drawRoundPolygonPath(p,x,C,L,O,N);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(p,x,C,L,O);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(p,x,C,L,O);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(p,x,C,L,O);case"barrel":return this.drawBarrelPath(p,x,C,L,O)}};var Xj=cE,xc=cE.prototype;xc.CANVAS_LAYERS=3,xc.SELECT_BOX=0,xc.DRAG=1,xc.NODE=2,xc.BUFFER_COUNT=3,xc.TEXTURE_BUFFER=0,xc.MOTIONBLUR_BUFFER_NODE=1,xc.MOTIONBLUR_BUFFER_DRAG=2;function cE(y){var p=this;p.data={canvases:new Array(xc.CANVAS_LAYERS),contexts:new Array(xc.CANVAS_LAYERS),canvasNeedsRedraw:new Array(xc.CANVAS_LAYERS),bufferCanvases:new Array(xc.BUFFER_COUNT),bufferContexts:new Array(xc.CANVAS_LAYERS)};var x="-webkit-tap-highlight-color",C="rgba(0,0,0,0)";p.data.canvasContainer=document.createElement("div");var L=p.data.canvasContainer.style;p.data.canvasContainer.style[x]=C,L.position="relative",L.zIndex="0",L.overflow="hidden";var O=y.cy.container();O.appendChild(p.data.canvasContainer),O.style[x]=C;var N={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};Fe()&&(N["-ms-touch-action"]="none",N["touch-action"]="none");for(var j=0;j<xc.CANVAS_LAYERS;j++){var H=p.data.canvases[j]=document.createElement("canvas");p.data.contexts[j]=H.getContext("2d"),Object.keys(N).forEach(function(Cr){H.style[Cr]=N[Cr]}),H.style.position="absolute",H.setAttribute("data-id","layer"+j),H.style.zIndex=String(xc.CANVAS_LAYERS-j),p.data.canvasContainer.appendChild(H),p.data.canvasNeedsRedraw[j]=!1}p.data.topCanvas=p.data.canvases[0],p.data.canvases[xc.NODE].setAttribute("data-id","layer"+xc.NODE+"-node"),p.data.canvases[xc.SELECT_BOX].setAttribute("data-id","layer"+xc.SELECT_BOX+"-selectbox"),p.data.canvases[xc.DRAG].setAttribute("data-id","layer"+xc.DRAG+"-drag");for(var j=0;j<xc.BUFFER_COUNT;j++)p.data.bufferCanvases[j]=document.createElement("canvas"),p.data.bufferContexts[j]=p.data.bufferCanvases[j].getContext("2d"),p.data.bufferCanvases[j].style.position="absolute",p.data.bufferCanvases[j].setAttribute("data-id","buffer"+j),p.data.bufferCanvases[j].style.zIndex=String(-j-1),p.data.bufferCanvases[j].style.visibility="hidden";p.pathsEnabled=!0;var q=v0(),W=function($n){return{x:($n.x1+$n.x2)/2,y:($n.y1+$n.y2)/2}},Z=function($n){return{x:-$n.w/2,y:-$n.h/2}},st=function($n){var cr=$n[0]._private,mr=cr.oldBackgroundTimestamp===cr.backgroundTimestamp;return!mr},bt=function($n){return $n[0]._private.nodeKey},pt=function($n){return $n[0]._private.labelStyleKey},_t=function($n){return $n[0]._private.sourceLabelStyleKey},St=function($n){return $n[0]._private.targetLabelStyleKey},Et=function($n,cr,mr,Sr,gi){return p.drawElement($n,cr,mr,!1,!1,gi)},Nt=function($n,cr,mr,Sr,gi){return p.drawElementText($n,cr,mr,Sr,"main",gi)},Pt=function($n,cr,mr,Sr,gi){return p.drawElementText($n,cr,mr,Sr,"source",gi)},qt=function($n,cr,mr,Sr,gi){return p.drawElementText($n,cr,mr,Sr,"target",gi)},re=function($n){return $n.boundingBox(),$n[0]._private.bodyBounds},ee=function($n){return $n.boundingBox(),$n[0]._private.labelBounds.main||q},Ut=function($n){return $n.boundingBox(),$n[0]._private.labelBounds.source||q},de=function($n){return $n.boundingBox(),$n[0]._private.labelBounds.target||q},Yt=function($n,cr){return cr},Ee=function($n){return W(re($n))},Te=function($n,cr,mr){var Sr=$n?$n+"-":"";return{x:cr.x+mr.pstyle(Sr+"text-margin-x").pfValue,y:cr.y+mr.pstyle(Sr+"text-margin-y").pfValue}},ie=function($n,cr,mr){var Sr=$n[0]._private.rscratch;return{x:Sr[cr],y:Sr[mr]}},ze=function($n){return Te("",ie($n,"labelX","labelY"),$n)},me=function($n){return Te("source",ie($n,"sourceLabelX","sourceLabelY"),$n)},yn=function($n){return Te("target",ie($n,"targetLabelX","targetLabelY"),$n)},nn=function($n){return Z(re($n))},qe=function($n){return Z(Ut($n))},Tn=function($n){return Z(de($n))},Xn=function($n){var cr=ee($n),mr=Z(ee($n));if($n.isNode()){switch($n.pstyle("text-halign").value){case"left":mr.x=-cr.w;break;case"right":mr.x=0;break}switch($n.pstyle("text-valign").value){case"top":mr.y=-cr.h;break;case"bottom":mr.y=0;break}}return mr},lr=p.data.eleTxrCache=new rE(p,{getKey:bt,doesEleInvalidateKey:st,drawElement:Et,getBoundingBox:re,getRotationPoint:Ee,getRotationOffset:nn,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),Sn=p.data.lblTxrCache=new rE(p,{getKey:pt,drawElement:Nt,getBoundingBox:ee,getRotationPoint:ze,getRotationOffset:Xn,isVisible:Yt}),or=p.data.slbTxrCache=new rE(p,{getKey:_t,drawElement:Pt,getBoundingBox:Ut,getRotationPoint:me,getRotationOffset:qe,isVisible:Yt}),pr=p.data.tlbTxrCache=new rE(p,{getKey:St,drawElement:qt,getBoundingBox:de,getRotationPoint:yn,getRotationOffset:Tn,isVisible:Yt}),kr=p.data.lyrTxrCache=new Bj(p);p.onUpdateEleCalcs(function($n,cr){lr.invalidateElements(cr),Sn.invalidateElements(cr),or.invalidateElements(cr),pr.invalidateElements(cr),kr.invalidateElements(cr);for(var mr=0;mr<cr.length;mr++){var Sr=cr[mr]._private;Sr.oldBackgroundTimestamp=Sr.backgroundTimestamp}});var wr=function($n){for(var cr=0;cr<$n.length;cr++)kr.enqueueElementRefinement($n[cr].ele)};lr.onDequeue(wr),Sn.onDequeue(wr),or.onDequeue(wr),pr.onDequeue(wr)}xc.redrawHint=function(y,p){var x=this;switch(y){case"eles":x.data.canvasNeedsRedraw[xc.NODE]=p;break;case"drag":x.data.canvasNeedsRedraw[xc.DRAG]=p;break;case"select":x.data.canvasNeedsRedraw[xc.SELECT_BOX]=p;break}};var uE=typeof Path2D<"u";xc.path2dEnabled=function(y){if(y===void 0)return this.pathsEnabled;this.pathsEnabled=!!y},xc.usePaths=function(){return uE&&this.pathsEnabled},xc.setImgSmoothing=function(y,p){y.imageSmoothingEnabled!=null?y.imageSmoothingEnabled=p:(y.webkitImageSmoothingEnabled=p,y.mozImageSmoothingEnabled=p,y.msImageSmoothingEnabled=p)},xc.getImgSmoothing=function(y){return y.imageSmoothingEnabled!=null?y.imageSmoothingEnabled:y.webkitImageSmoothingEnabled||y.mozImageSmoothingEnabled||y.msImageSmoothingEnabled},xc.makeOffscreenCanvas=function(y,p){var x;return(typeof OffscreenCanvas>"u"?"undefined":f(OffscreenCanvas))!=="undefined"?x=new OffscreenCanvas(y,p):(x=document.createElement("canvas"),x.width=y,x.height=p),x},[jj,bb,wb,aE,S4,b6,dg,gy,oE,Yj].forEach(function(y){we(xc,y)});var cp=[{name:"null",impl:mj},{name:"base",impl:Dj},{name:"canvas",impl:Xj}],Cnt=[{type:"layout",extensions:Vet},{type:"renderer",extensions:cp}],Snt={},_nt={};function Ant(y,p,x){var C=x,L=function(de){Gc("Can not register `"+p+"` for `"+y+"` since `"+de+"` already exists in the prototype and can not be overridden")};if(y==="core"){if(tE.prototype[p])return L(p);tE.prototype[p]=x}else if(y==="collection"){if(w1.prototype[p])return L(p);w1.prototype[p]=x}else if(y==="layout"){for(var O=function(de){this.options=de,x.call(this,de),it(this._private)||(this._private={}),this._private.cy=de.cy,this._private.listeners=[],this.createEmitter()},N=O.prototype=Object.create(x.prototype),j=[],H=0;H<j.length;H++){var q=j[H];N[q]=N[q]||function(){return this}}N.start&&!N.run?N.run=function(){return this.start(),this}:!N.start&&N.run&&(N.start=function(){return this.run(),this});var W=x.prototype.stop;N.stop=function(){var Ut=this.options;if(Ut&&Ut.animate){var de=this.animations;if(de)for(var Yt=0;Yt<de.length;Yt++)de[Yt].stop()}return W?W.call(this):this.emit("layoutstop"),this},N.destroy||(N.destroy=function(){return this}),N.cy=function(){return this._private.cy};var Z=function(de){return de._private.cy},st={addEventFields:function(de,Yt){Yt.layout=de,Yt.cy=Z(de),Yt.target=de},bubble:function(){return!0},parent:function(de){return Z(de)}};we(N,{createEmitter:function(){return this._private.emitter=new dC(st,this),this},emitter:function(){return this._private.emitter},on:function(de,Yt){return this.emitter().on(de,Yt),this},one:function(de,Yt){return this.emitter().one(de,Yt),this},once:function(de,Yt){return this.emitter().one(de,Yt),this},removeListener:function(de,Yt){return this.emitter().removeListener(de,Yt),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(de,Yt){return this.emitter().emit(de,Yt),this}}),Kc.eventAliasesOn(N),C=O}else if(y==="renderer"&&p!=="null"&&p!=="base"){var bt=Lnt("renderer","base"),pt=bt.prototype,_t=x,St=x.prototype,Et=function(){bt.apply(this,arguments),_t.apply(this,arguments)},Nt=Et.prototype;for(var Pt in pt){var qt=pt[Pt],re=St[Pt]!=null;if(re)return L(Pt);Nt[Pt]=qt}for(var ee in St)Nt[ee]=St[ee];pt.clientFunctions.forEach(function(Ut){Nt[Ut]=Nt[Ut]||function(){$l("Renderer does not implement `renderer."+Ut+"()` on its prototype")}}),C=Et}else if(y==="__proto__"||y==="constructor"||y==="prototype")return $l(y+" is an illegal type to be registered, possibly lead to prototype pollutions");return An({map:Snt,keys:[y,p],value:C})}function Lnt(y,p){return Nn({map:Snt,keys:[y,p]})}function Qj(y,p,x,C,L){return An({map:_nt,keys:[y,p,x,C],value:L})}function L2t(y,p,x,C){return Nn({map:_nt,keys:[y,p,x,C]})}var Jj=function(){if(arguments.length===2)return Lnt.apply(null,arguments);if(arguments.length===3)return Ant.apply(null,arguments);if(arguments.length===4)return L2t.apply(null,arguments);if(arguments.length===5)return Qj.apply(null,arguments);$l("Invalid extension access syntax")};tE.prototype.extension=Jj,Cnt.forEach(function(y){y.extensions.forEach(function(p){Ant(y.type,p.name,p.impl)})});var Dnt=function y(){if(!(this instanceof y))return new y;this.length=0},m6=Dnt.prototype;m6.instanceString=function(){return"stylesheet"},m6.selector=function(y){var p=this.length++;return this[p]={selector:y,properties:[]},this},m6.css=function(y,p){var x=this.length-1;if(mt(y))this[x].properties.push({name:y,value:p});else if(it(y))for(var C=y,L=Object.keys(C),O=0;O<L.length;O++){var N=L[O],j=C[N];if(j!=null){var H=Y1.properties[N]||Y1.properties[Ae(N)];if(H!=null){var q=H.name,W=j;this[x].properties.push({name:q,value:W})}}}return this},m6.style=m6.css,m6.generateStyle=function(y){var p=new Y1(y);return this.appendToStyle(p)},m6.appendToStyle=function(y){for(var p=0;p<this.length;p++){var x=this[p],C=x.selector,L=x.properties;y.selector(C);for(var O=0;O<L.length;O++){var N=L[O];y.css(N.name,N.value)}}return y};var D2t="3.28.1",v6=function(p){if(p===void 0&&(p={}),it(p))return new tE(p);if(mt(p))return Jj.apply(Jj,arguments)};return v6.use=function(y){var p=Array.prototype.slice.call(arguments,1);return p.unshift(v6),y.apply(null,p),this},v6.warnings=function(y){return U9(y)},v6.version=D2t,v6.stylesheet=v6.Stylesheet=Dnt,v6})})(GHt);var een=GHt.exports;const KHt=e9(een);var WHt={exports:{}},p2t={exports:{}},b2t={exports:{}},YHt;function nen(){return YHt||(YHt=1,function(i,a){(function(g,w){i.exports=w()})(Z0,function(){return function(f){var g={};function w(v){if(g[v])return g[v].exports;var b=g[v]={i:v,l:!1,exports:{}};return f[v].call(b.exports,b,b.exports,w),b.l=!0,b.exports}return w.m=f,w.c=g,w.i=function(v){return v},w.d=function(v,b,E){w.o(v,b)||Object.defineProperty(v,b,{configurable:!1,enumerable:!0,get:E})},w.n=function(v){var b=v&&v.__esModule?function(){return v.default}:function(){return v};return w.d(b,"a",b),b},w.o=function(v,b){return Object.prototype.hasOwnProperty.call(v,b)},w.p="",w(w.s=26)}([function(f,g,w){function v(){}v.QUALITY=1,v.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,v.DEFAULT_INCREMENTAL=!1,v.DEFAULT_ANIMATION_ON_LAYOUT=!0,v.DEFAULT_ANIMATION_DURING_LAYOUT=!1,v.DEFAULT_ANIMATION_PERIOD=50,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,v.DEFAULT_GRAPH_MARGIN=15,v.NODE_DIMENSIONS_INCLUDE_LABELS=!1,v.SIMPLE_NODE_SIZE=40,v.SIMPLE_NODE_HALF_SIZE=v.SIMPLE_NODE_SIZE/2,v.EMPTY_COMPOUND_NODE_SIZE=40,v.MIN_EDGE_LENGTH=1,v.WORLD_BOUNDARY=1e6,v.INITIAL_WORLD_BOUNDARY=v.WORLD_BOUNDARY/1e3,v.WORLD_CENTER_X=1200,v.WORLD_CENTER_Y=900,f.exports=v},function(f,g,w){var v=w(2),b=w(8),E=w(9);function S(M,F,R){v.call(this,R),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=R,this.bendpoints=[],this.source=M,this.target=F}S.prototype=Object.create(v.prototype);for(var _ in v)S[_]=v[_];S.prototype.getSource=function(){return this.source},S.prototype.getTarget=function(){return this.target},S.prototype.isInterGraph=function(){return this.isInterGraph},S.prototype.getLength=function(){return this.length},S.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},S.prototype.getBendpoints=function(){return this.bendpoints},S.prototype.getLca=function(){return this.lca},S.prototype.getSourceInLca=function(){return this.sourceInLca},S.prototype.getTargetInLca=function(){return this.targetInLca},S.prototype.getOtherEnd=function(M){if(this.source===M)return this.target;if(this.target===M)return this.source;throw"Node is not incident with this edge"},S.prototype.getOtherEndInGraph=function(M,F){for(var R=this.getOtherEnd(M),B=F.getGraphManager().getRoot();;){if(R.getOwner()==F)return R;if(R.getOwner()==B)break;R=R.getOwner().getParent()}return null},S.prototype.updateLength=function(){var M=new Array(4);this.isOverlapingSourceAndTarget=b.getIntersection(this.target.getRect(),this.source.getRect(),M),this.isOverlapingSourceAndTarget||(this.lengthX=M[0]-M[2],this.lengthY=M[1]-M[3],Math.abs(this.lengthX)<1&&(this.lengthX=E.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=E.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},S.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=E.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=E.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},f.exports=S},function(f,g,w){function v(b){this.vGraphObject=b}f.exports=v},function(f,g,w){var v=w(2),b=w(10),E=w(13),S=w(0),_=w(16),M=w(4);function F(B,z,Y,nt){Y==null&&nt==null&&(nt=z),v.call(this,nt),B.graphManager!=null&&(B=B.graphManager),this.estimatedSize=b.MIN_VALUE,this.inclusionTreeDepth=b.MAX_VALUE,this.vGraphObject=nt,this.edges=[],this.graphManager=B,Y!=null&&z!=null?this.rect=new E(z.x,z.y,Y.width,Y.height):this.rect=new E}F.prototype=Object.create(v.prototype);for(var R in v)F[R]=v[R];F.prototype.getEdges=function(){return this.edges},F.prototype.getChild=function(){return this.child},F.prototype.getOwner=function(){return this.owner},F.prototype.getWidth=function(){return this.rect.width},F.prototype.setWidth=function(B){this.rect.width=B},F.prototype.getHeight=function(){return this.rect.height},F.prototype.setHeight=function(B){this.rect.height=B},F.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},F.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},F.prototype.getCenter=function(){return new M(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},F.prototype.getLocation=function(){return new M(this.rect.x,this.rect.y)},F.prototype.getRect=function(){return this.rect},F.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},F.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},F.prototype.setRect=function(B,z){this.rect.x=B.x,this.rect.y=B.y,this.rect.width=z.width,this.rect.height=z.height},F.prototype.setCenter=function(B,z){this.rect.x=B-this.rect.width/2,this.rect.y=z-this.rect.height/2},F.prototype.setLocation=function(B,z){this.rect.x=B,this.rect.y=z},F.prototype.moveBy=function(B,z){this.rect.x+=B,this.rect.y+=z},F.prototype.getEdgeListToNode=function(B){var z=[],Y=this;return Y.edges.forEach(function(nt){if(nt.target==B){if(nt.source!=Y)throw"Incorrect edge source!";z.push(nt)}}),z},F.prototype.getEdgesBetween=function(B){var z=[],Y=this;return Y.edges.forEach(function(nt){if(!(nt.source==Y||nt.target==Y))throw"Incorrect edge source and/or target";(nt.target==B||nt.source==B)&&z.push(nt)}),z},F.prototype.getNeighborsList=function(){var B=new Set,z=this;return z.edges.forEach(function(Y){if(Y.source==z)B.add(Y.target);else{if(Y.target!=z)throw"Incorrect incidency!";B.add(Y.source)}}),B},F.prototype.withChildren=function(){var B=new Set,z,Y;if(B.add(this),this.child!=null)for(var nt=this.child.getNodes(),ot=0;ot<nt.length;ot++)z=nt[ot],Y=z.withChildren(),Y.forEach(function(ft){B.add(ft)});return B},F.prototype.getNoOfChildren=function(){var B=0,z;if(this.child==null)B=1;else for(var Y=this.child.getNodes(),nt=0;nt<Y.length;nt++)z=Y[nt],B+=z.getNoOfChildren();return B==0&&(B=1),B},F.prototype.getEstimatedSize=function(){if(this.estimatedSize==b.MIN_VALUE)throw"assert failed";return this.estimatedSize},F.prototype.calcEstimatedSize=function(){return this.child==null?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},F.prototype.scatter=function(){var B,z,Y=-S.INITIAL_WORLD_BOUNDARY,nt=S.INITIAL_WORLD_BOUNDARY;B=S.WORLD_CENTER_X+_.nextDouble()*(nt-Y)+Y;var ot=-S.INITIAL_WORLD_BOUNDARY,ft=S.INITIAL_WORLD_BOUNDARY;z=S.WORLD_CENTER_Y+_.nextDouble()*(ft-ot)+ot,this.rect.x=B,this.rect.y=z},F.prototype.updateBounds=function(){if(this.getChild()==null)throw"assert failed";if(this.getChild().getNodes().length!=0){var B=this.getChild();if(B.updateBounds(!0),this.rect.x=B.getLeft(),this.rect.y=B.getTop(),this.setWidth(B.getRight()-B.getLeft()),this.setHeight(B.getBottom()-B.getTop()),S.NODE_DIMENSIONS_INCLUDE_LABELS){var z=B.getRight()-B.getLeft(),Y=B.getBottom()-B.getTop();this.labelWidth>z&&(this.rect.x-=(this.labelWidth-z)/2,this.setWidth(this.labelWidth)),this.labelHeight>Y&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-Y)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-Y),this.setHeight(this.labelHeight))}}},F.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==b.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},F.prototype.transform=function(B){var z=this.rect.x;z>S.WORLD_BOUNDARY?z=S.WORLD_BOUNDARY:z<-S.WORLD_BOUNDARY&&(z=-S.WORLD_BOUNDARY);var Y=this.rect.y;Y>S.WORLD_BOUNDARY?Y=S.WORLD_BOUNDARY:Y<-S.WORLD_BOUNDARY&&(Y=-S.WORLD_BOUNDARY);var nt=new M(z,Y),ot=B.inverseTransformPoint(nt);this.setLocation(ot.x,ot.y)},F.prototype.getLeft=function(){return this.rect.x},F.prototype.getRight=function(){return this.rect.x+this.rect.width},F.prototype.getTop=function(){return this.rect.y},F.prototype.getBottom=function(){return this.rect.y+this.rect.height},F.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},f.exports=F},function(f,g,w){function v(b,E){b==null&&E==null?(this.x=0,this.y=0):(this.x=b,this.y=E)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(b){this.x=b},v.prototype.setY=function(b){this.y=b},v.prototype.getDifference=function(b){return new DimensionD(this.x-b.x,this.y-b.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(b){return this.x+=b.width,this.y+=b.height,this},f.exports=v},function(f,g,w){var v=w(2),b=w(10),E=w(0),S=w(6),_=w(3),M=w(1),F=w(13),R=w(12),B=w(11);function z(nt,ot,ft){v.call(this,ft),this.estimatedSize=b.MIN_VALUE,this.margin=E.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=nt,ot!=null&&ot instanceof S?this.graphManager=ot:ot!=null&&ot instanceof Layout&&(this.graphManager=ot.graphManager)}z.prototype=Object.create(v.prototype);for(var Y in v)z[Y]=v[Y];z.prototype.getNodes=function(){return this.nodes},z.prototype.getEdges=function(){return this.edges},z.prototype.getGraphManager=function(){return this.graphManager},z.prototype.getParent=function(){return this.parent},z.prototype.getLeft=function(){return this.left},z.prototype.getRight=function(){return this.right},z.prototype.getTop=function(){return this.top},z.prototype.getBottom=function(){return this.bottom},z.prototype.isConnected=function(){return this.isConnected},z.prototype.add=function(nt,ot,ft){if(ot==null&&ft==null){var wt=nt;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(wt)>-1)throw"Node already in graph!";return wt.owner=this,this.getNodes().push(wt),wt}else{var mt=nt;if(!(this.getNodes().indexOf(ot)>-1&&this.getNodes().indexOf(ft)>-1))throw"Source or target not in graph!";if(!(ot.owner==ft.owner&&ot.owner==this))throw"Both owners must be this graph!";return ot.owner!=ft.owner?null:(mt.source=ot,mt.target=ft,mt.isInterGraph=!1,this.getEdges().push(mt),ot.edges.push(mt),ft!=ot&&ft.edges.push(mt),mt)}},z.prototype.remove=function(nt){var ot=nt;if(nt instanceof _){if(ot==null)throw"Node is null!";if(!(ot.owner!=null&&ot.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var ft=ot.edges.slice(),wt,mt=ft.length,ct=0;ct<mt;ct++)wt=ft[ct],wt.isInterGraph?this.graphManager.remove(wt):wt.source.owner.remove(wt);var rt=this.nodes.indexOf(ot);if(rt==-1)throw"Node not in owner node list!";this.nodes.splice(rt,1)}else if(nt instanceof M){var wt=nt;if(wt==null)throw"Edge is null!";if(!(wt.source!=null&&wt.target!=null))throw"Source and/or target is null!";if(!(wt.source.owner!=null&&wt.target.owner!=null&&wt.source.owner==this&&wt.target.owner==this))throw"Source and/or target owner is invalid!";var it=wt.source.edges.indexOf(wt),gt=wt.target.edges.indexOf(wt);if(!(it>-1&&gt>-1))throw"Source and/or target doesn't know this edge!";wt.source.edges.splice(it,1),wt.target!=wt.source&&wt.target.edges.splice(gt,1);var rt=wt.source.owner.getEdges().indexOf(wt);if(rt==-1)throw"Not in owner's edge list!";wt.source.owner.getEdges().splice(rt,1)}},z.prototype.updateLeftTop=function(){for(var nt=b.MAX_VALUE,ot=b.MAX_VALUE,ft,wt,mt,ct=this.getNodes(),rt=ct.length,it=0;it<rt;it++){var gt=ct[it];ft=gt.getTop(),wt=gt.getLeft(),nt>ft&&(nt=ft),ot>wt&&(ot=wt)}return nt==b.MAX_VALUE?null:(ct[0].getParent().paddingLeft!=null?mt=ct[0].getParent().paddingLeft:mt=this.margin,this.left=ot-mt,this.top=nt-mt,new R(this.left,this.top))},z.prototype.updateBounds=function(nt){for(var ot=b.MAX_VALUE,ft=-b.MAX_VALUE,wt=b.MAX_VALUE,mt=-b.MAX_VALUE,ct,rt,it,gt,Q,dt=this.nodes,K=dt.length,yt=0;yt<K;yt++){var V=dt[yt];nt&&V.child!=null&&V.updateBounds(),ct=V.getLeft(),rt=V.getRight(),it=V.getTop(),gt=V.getBottom(),ot>ct&&(ot=ct),ft<rt&&(ft=rt),wt>it&&(wt=it),mt<gt&&(mt=gt)}var Ot=new F(ot,wt,ft-ot,mt-wt);ot==b.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),dt[0].getParent().paddingLeft!=null?Q=dt[0].getParent().paddingLeft:Q=this.margin,this.left=Ot.x-Q,this.right=Ot.x+Ot.width+Q,this.top=Ot.y-Q,this.bottom=Ot.y+Ot.height+Q},z.calculateBounds=function(nt){for(var ot=b.MAX_VALUE,ft=-b.MAX_VALUE,wt=b.MAX_VALUE,mt=-b.MAX_VALUE,ct,rt,it,gt,Q=nt.length,dt=0;dt<Q;dt++){var K=nt[dt];ct=K.getLeft(),rt=K.getRight(),it=K.getTop(),gt=K.getBottom(),ot>ct&&(ot=ct),ft<rt&&(ft=rt),wt>it&&(wt=it),mt<gt&&(mt=gt)}var yt=new F(ot,wt,ft-ot,mt-wt);return yt},z.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},z.prototype.getEstimatedSize=function(){if(this.estimatedSize==b.MIN_VALUE)throw"assert failed";return this.estimatedSize},z.prototype.calcEstimatedSize=function(){for(var nt=0,ot=this.nodes,ft=ot.length,wt=0;wt<ft;wt++){var mt=ot[wt];nt+=mt.calcEstimatedSize()}return nt==0?this.estimatedSize=E.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=nt/Math.sqrt(this.nodes.length),this.estimatedSize},z.prototype.updateConnected=function(){var nt=this;if(this.nodes.length==0){this.isConnected=!0;return}var ot=new B,ft=new Set,wt=this.nodes[0],mt,ct,rt=wt.withChildren();for(rt.forEach(function(yt){ot.push(yt),ft.add(yt)});ot.length!==0;){wt=ot.shift(),mt=wt.getEdges();for(var it=mt.length,gt=0;gt<it;gt++){var Q=mt[gt];if(ct=Q.getOtherEndInGraph(wt,this),ct!=null&&!ft.has(ct)){var dt=ct.withChildren();dt.forEach(function(yt){ot.push(yt),ft.add(yt)})}}}if(this.isConnected=!1,ft.size>=this.nodes.length){var K=0;ft.forEach(function(yt){yt.owner==nt&&K++}),K==this.nodes.length&&(this.isConnected=!0)}},f.exports=z},function(f,g,w){var v,b=w(1);function E(S){v=w(5),this.layout=S,this.graphs=[],this.edges=[]}E.prototype.addRoot=function(){var S=this.layout.newGraph(),_=this.layout.newNode(null),M=this.add(S,_);return this.setRootGraph(M),this.rootGraph},E.prototype.add=function(S,_,M,F,R){if(M==null&&F==null&&R==null){if(S==null)throw"Graph is null!";if(_==null)throw"Parent node is null!";if(this.graphs.indexOf(S)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(S),S.parent!=null)throw"Already has a parent!";if(_.child!=null)throw"Already has a child!";return S.parent=_,_.child=S,S}else{R=M,F=_,M=S;var B=F.getOwner(),z=R.getOwner();if(!(B!=null&&B.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(z!=null&&z.getGraphManager()==this))throw"Target not in this graph mgr!";if(B==z)return M.isInterGraph=!1,B.add(M,F,R);if(M.isInterGraph=!0,M.source=F,M.target=R,this.edges.indexOf(M)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(M),!(M.source!=null&&M.target!=null))throw"Edge source and/or target is null!";if(!(M.source.edges.indexOf(M)==-1&&M.target.edges.indexOf(M)==-1))throw"Edge already in source and/or target incidency list!";return M.source.edges.push(M),M.target.edges.push(M),M}},E.prototype.remove=function(S){if(S instanceof v){var _=S;if(_.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(_==this.rootGraph||_.parent!=null&&_.parent.graphManager==this))throw"Invalid parent node!";var M=[];M=M.concat(_.getEdges());for(var F,R=M.length,B=0;B<R;B++)F=M[B],_.remove(F);var z=[];z=z.concat(_.getNodes());var Y;R=z.length;for(var B=0;B<R;B++)Y=z[B],_.remove(Y);_==this.rootGraph&&this.setRootGraph(null);var nt=this.graphs.indexOf(_);this.graphs.splice(nt,1),_.parent=null}else if(S instanceof b){if(F=S,F==null)throw"Edge is null!";if(!F.isInterGraph)throw"Not an inter-graph edge!";if(!(F.source!=null&&F.target!=null))throw"Source and/or target is null!";if(!(F.source.edges.indexOf(F)!=-1&&F.target.edges.indexOf(F)!=-1))throw"Source and/or target doesn't know this edge!";var nt=F.source.edges.indexOf(F);if(F.source.edges.splice(nt,1),nt=F.target.edges.indexOf(F),F.target.edges.splice(nt,1),!(F.source.owner!=null&&F.source.owner.getGraphManager()!=null))throw"Edge owner graph or owner graph manager is null!";if(F.source.owner.getGraphManager().edges.indexOf(F)==-1)throw"Not in owner graph manager's edge list!";var nt=F.source.owner.getGraphManager().edges.indexOf(F);F.source.owner.getGraphManager().edges.splice(nt,1)}},E.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},E.prototype.getGraphs=function(){return this.graphs},E.prototype.getAllNodes=function(){if(this.allNodes==null){for(var S=[],_=this.getGraphs(),M=_.length,F=0;F<M;F++)S=S.concat(_[F].getNodes());this.allNodes=S}return this.allNodes},E.prototype.resetAllNodes=function(){this.allNodes=null},E.prototype.resetAllEdges=function(){this.allEdges=null},E.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},E.prototype.getAllEdges=function(){if(this.allEdges==null){var S=[],_=this.getGraphs();_.length;for(var M=0;M<_.length;M++)S=S.concat(_[M].getEdges());S=S.concat(this.edges),this.allEdges=S}return this.allEdges},E.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},E.prototype.setAllNodesToApplyGravitation=function(S){if(this.allNodesToApplyGravitation!=null)throw"assert failed";this.allNodesToApplyGravitation=S},E.prototype.getRoot=function(){return this.rootGraph},E.prototype.setRootGraph=function(S){if(S.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=S,S.parent==null&&(S.parent=this.layout.newNode("Root node"))},E.prototype.getLayout=function(){return this.layout},E.prototype.isOneAncestorOfOther=function(S,_){if(!(S!=null&&_!=null))throw"assert failed";if(S==_)return!0;var M=S.getOwner(),F;do{if(F=M.getParent(),F==null)break;if(F==_)return!0;if(M=F.getOwner(),M==null)break}while(!0);M=_.getOwner();do{if(F=M.getParent(),F==null)break;if(F==S)return!0;if(M=F.getOwner(),M==null)break}while(!0);return!1},E.prototype.calcLowestCommonAncestors=function(){for(var S,_,M,F,R,B=this.getAllEdges(),z=B.length,Y=0;Y<z;Y++){if(S=B[Y],_=S.source,M=S.target,S.lca=null,S.sourceInLca=_,S.targetInLca=M,_==M){S.lca=_.getOwner();continue}for(F=_.getOwner();S.lca==null;){for(S.targetInLca=M,R=M.getOwner();S.lca==null;){if(R==F){S.lca=R;break}if(R==this.rootGraph)break;if(S.lca!=null)throw"assert failed";S.targetInLca=R.getParent(),R=S.targetInLca.getOwner()}if(F==this.rootGraph)break;S.lca==null&&(S.sourceInLca=F.getParent(),F=S.sourceInLca.getOwner())}if(S.lca==null)throw"assert failed"}},E.prototype.calcLowestCommonAncestor=function(S,_){if(S==_)return S.getOwner();var M=S.getOwner();do{if(M==null)break;var F=_.getOwner();do{if(F==null)break;if(F==M)return F;F=F.getParent().getOwner()}while(!0);M=M.getParent().getOwner()}while(!0);return M},E.prototype.calcInclusionTreeDepths=function(S,_){S==null&&_==null&&(S=this.rootGraph,_=1);for(var M,F=S.getNodes(),R=F.length,B=0;B<R;B++)M=F[B],M.inclusionTreeDepth=_,M.child!=null&&this.calcInclusionTreeDepths(M.child,_+1)},E.prototype.includesInvalidEdge=function(){for(var S,_=this.edges.length,M=0;M<_;M++)if(S=this.edges[M],this.isOneAncestorOfOther(S.source,S.target))return!0;return!1},f.exports=E},function(f,g,w){var v=w(0);function b(){}for(var E in v)b[E]=v[E];b.MAX_ITERATIONS=2500,b.DEFAULT_EDGE_LENGTH=50,b.DEFAULT_SPRING_STRENGTH=.45,b.DEFAULT_REPULSION_STRENGTH=4500,b.DEFAULT_GRAVITY_STRENGTH=.4,b.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,b.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,b.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,b.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,b.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,b.COOLING_ADAPTATION_FACTOR=.33,b.ADAPTATION_LOWER_NODE_LIMIT=1e3,b.ADAPTATION_UPPER_NODE_LIMIT=5e3,b.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,b.MAX_NODE_DISPLACEMENT=b.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,b.MIN_REPULSION_DIST=b.DEFAULT_EDGE_LENGTH/10,b.CONVERGENCE_CHECK_PERIOD=100,b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,b.MIN_EDGE_LENGTH=1,b.GRID_CALCULATION_CHECK_PERIOD=10,f.exports=b},function(f,g,w){var v=w(12);function b(){}b.calcSeparationAmount=function(E,S,_,M){if(!E.intersects(S))throw"assert failed";var F=new Array(2);this.decideDirectionsForOverlappingNodes(E,S,F),_[0]=Math.min(E.getRight(),S.getRight())-Math.max(E.x,S.x),_[1]=Math.min(E.getBottom(),S.getBottom())-Math.max(E.y,S.y),E.getX()<=S.getX()&&E.getRight()>=S.getRight()?_[0]+=Math.min(S.getX()-E.getX(),E.getRight()-S.getRight()):S.getX()<=E.getX()&&S.getRight()>=E.getRight()&&(_[0]+=Math.min(E.getX()-S.getX(),S.getRight()-E.getRight())),E.getY()<=S.getY()&&E.getBottom()>=S.getBottom()?_[1]+=Math.min(S.getY()-E.getY(),E.getBottom()-S.getBottom()):S.getY()<=E.getY()&&S.getBottom()>=E.getBottom()&&(_[1]+=Math.min(E.getY()-S.getY(),S.getBottom()-E.getBottom()));var R=Math.abs((S.getCenterY()-E.getCenterY())/(S.getCenterX()-E.getCenterX()));S.getCenterY()===E.getCenterY()&&S.getCenterX()===E.getCenterX()&&(R=1);var B=R*_[0],z=_[1]/R;_[0]<z?z=_[0]:B=_[1],_[0]=-1*F[0]*(z/2+M),_[1]=-1*F[1]*(B/2+M)},b.decideDirectionsForOverlappingNodes=function(E,S,_){E.getCenterX()<S.getCenterX()?_[0]=-1:_[0]=1,E.getCenterY()<S.getCenterY()?_[1]=-1:_[1]=1},b.getIntersection2=function(E,S,_){var M=E.getCenterX(),F=E.getCenterY(),R=S.getCenterX(),B=S.getCenterY();if(E.intersects(S))return _[0]=M,_[1]=F,_[2]=R,_[3]=B,!0;var z=E.getX(),Y=E.getY(),nt=E.getRight(),ot=E.getX(),ft=E.getBottom(),wt=E.getRight(),mt=E.getWidthHalf(),ct=E.getHeightHalf(),rt=S.getX(),it=S.getY(),gt=S.getRight(),Q=S.getX(),dt=S.getBottom(),K=S.getRight(),yt=S.getWidthHalf(),V=S.getHeightHalf(),Ot=!1,It=!1;if(M===R){if(F>B)return _[0]=M,_[1]=Y,_[2]=R,_[3]=dt,!1;if(F<B)return _[0]=M,_[1]=ft,_[2]=R,_[3]=it,!1}else if(F===B){if(M>R)return _[0]=z,_[1]=F,_[2]=gt,_[3]=B,!1;if(M<R)return _[0]=nt,_[1]=F,_[2]=rt,_[3]=B,!1}else{var jt=E.height/E.width,xt=S.height/S.width,Ft=(B-F)/(R-M),Ct=void 0,kt=void 0,Gt=void 0,Fe=void 0,Mt=void 0,pn=void 0;if(-jt===Ft?M>R?(_[0]=ot,_[1]=ft,Ot=!0):(_[0]=nt,_[1]=Y,Ot=!0):jt===Ft&&(M>R?(_[0]=z,_[1]=Y,Ot=!0):(_[0]=wt,_[1]=ft,Ot=!0)),-xt===Ft?R>M?(_[2]=Q,_[3]=dt,It=!0):(_[2]=gt,_[3]=it,It=!0):xt===Ft&&(R>M?(_[2]=rt,_[3]=it,It=!0):(_[2]=K,_[3]=dt,It=!0)),Ot&&It)return!1;if(M>R?F>B?(Ct=this.getCardinalDirection(jt,Ft,4),kt=this.getCardinalDirection(xt,Ft,2)):(Ct=this.getCardinalDirection(-jt,Ft,3),kt=this.getCardinalDirection(-xt,Ft,1)):F>B?(Ct=this.getCardinalDirection(-jt,Ft,1),kt=this.getCardinalDirection(-xt,Ft,3)):(Ct=this.getCardinalDirection(jt,Ft,2),kt=this.getCardinalDirection(xt,Ft,4)),!Ot)switch(Ct){case 1:Fe=Y,Gt=M+-ct/Ft,_[0]=Gt,_[1]=Fe;break;case 2:Gt=wt,Fe=F+mt*Ft,_[0]=Gt,_[1]=Fe;break;case 3:Fe=ft,Gt=M+ct/Ft,_[0]=Gt,_[1]=Fe;break;case 4:Gt=ot,Fe=F+-mt*Ft,_[0]=Gt,_[1]=Fe;break}if(!It)switch(kt){case 1:pn=it,Mt=R+-V/Ft,_[2]=Mt,_[3]=pn;break;case 2:Mt=K,pn=B+yt*Ft,_[2]=Mt,_[3]=pn;break;case 3:pn=dt,Mt=R+V/Ft,_[2]=Mt,_[3]=pn;break;case 4:Mt=Q,pn=B+-yt*Ft,_[2]=Mt,_[3]=pn;break}}return!1},b.getCardinalDirection=function(E,S,_){return E>S?_:1+_%4},b.getIntersection=function(E,S,_,M){if(M==null)return this.getIntersection2(E,S,_);var F=E.x,R=E.y,B=S.x,z=S.y,Y=_.x,nt=_.y,ot=M.x,ft=M.y,wt=void 0,mt=void 0,ct=void 0,rt=void 0,it=void 0,gt=void 0,Q=void 0,dt=void 0,K=void 0;return ct=z-R,it=F-B,Q=B*R-F*z,rt=ft-nt,gt=Y-ot,dt=ot*nt-Y*ft,K=ct*gt-rt*it,K===0?null:(wt=(it*dt-gt*Q)/K,mt=(rt*Q-ct*dt)/K,new v(wt,mt))},b.angleOfVector=function(E,S,_,M){var F=void 0;return E!==_?(F=Math.atan((M-S)/(_-E)),_<E?F+=Math.PI:M<S&&(F+=this.TWO_PI)):M<S?F=this.ONE_AND_HALF_PI:F=this.HALF_PI,F},b.doIntersect=function(E,S,_,M){var F=E.x,R=E.y,B=S.x,z=S.y,Y=_.x,nt=_.y,ot=M.x,ft=M.y,wt=(B-F)*(ft-nt)-(ot-Y)*(z-R);if(wt===0)return!1;var mt=((ft-nt)*(ot-F)+(Y-ot)*(ft-R))/wt,ct=((R-z)*(ot-F)+(B-F)*(ft-R))/wt;return 0<mt&&mt<1&&0<ct&&ct<1},b.HALF_PI=.5*Math.PI,b.ONE_AND_HALF_PI=1.5*Math.PI,b.TWO_PI=2*Math.PI,b.THREE_PI=3*Math.PI,f.exports=b},function(f,g,w){function v(){}v.sign=function(b){return b>0?1:b<0?-1:0},v.floor=function(b){return b<0?Math.ceil(b):Math.floor(b)},v.ceil=function(b){return b<0?Math.floor(b):Math.ceil(b)},f.exports=v},function(f,g,w){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,f.exports=v},function(f,g,w){var v=function(){function F(R,B){for(var z=0;z<B.length;z++){var Y=B[z];Y.enumerable=Y.enumerable||!1,Y.configurable=!0,"value"in Y&&(Y.writable=!0),Object.defineProperty(R,Y.key,Y)}}return function(R,B,z){return B&&F(R.prototype,B),z&&F(R,z),R}}();function b(F,R){if(!(F instanceof R))throw new TypeError("Cannot call a class as a function")}var E=function(R){return{value:R,next:null,prev:null}},S=function(R,B,z,Y){return R!==null?R.next=B:Y.head=B,z!==null?z.prev=B:Y.tail=B,B.prev=R,B.next=z,Y.length++,B},_=function(R,B){var z=R.prev,Y=R.next;return z!==null?z.next=Y:B.head=Y,Y!==null?Y.prev=z:B.tail=z,R.prev=R.next=null,B.length--,R},M=function(){function F(R){var B=this;b(this,F),this.length=0,this.head=null,this.tail=null,R!=null&&R.forEach(function(z){return B.push(z)})}return v(F,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(B,z){return S(z.prev,E(B),z,this)}},{key:"insertAfter",value:function(B,z){return S(z,E(B),z.next,this)}},{key:"insertNodeBefore",value:function(B,z){return S(z.prev,B,z,this)}},{key:"insertNodeAfter",value:function(B,z){return S(z,B,z.next,this)}},{key:"push",value:function(B){return S(this.tail,E(B),null,this)}},{key:"unshift",value:function(B){return S(null,E(B),this.head,this)}},{key:"remove",value:function(B){return _(B,this)}},{key:"pop",value:function(){return _(this.tail,this).value}},{key:"popNode",value:function(){return _(this.tail,this)}},{key:"shift",value:function(){return _(this.head,this).value}},{key:"shiftNode",value:function(){return _(this.head,this)}},{key:"get_object_at",value:function(B){if(B<=this.length()){for(var z=1,Y=this.head;z<B;)Y=Y.next,z++;return Y.value}}},{key:"set_object_at",value:function(B,z){if(B<=this.length()){for(var Y=1,nt=this.head;Y<B;)nt=nt.next,Y++;nt.value=z}}}]),F}();f.exports=M},function(f,g,w){function v(b,E,S){this.x=null,this.y=null,b==null&&E==null&&S==null?(this.x=0,this.y=0):typeof b=="number"&&typeof E=="number"&&S==null?(this.x=b,this.y=E):b.constructor.name=="Point"&&E==null&&S==null&&(S=b,this.x=S.x,this.y=S.y)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.getLocation=function(){return new v(this.x,this.y)},v.prototype.setLocation=function(b,E,S){b.constructor.name=="Point"&&E==null&&S==null?(S=b,this.setLocation(S.x,S.y)):typeof b=="number"&&typeof E=="number"&&S==null&&(parseInt(b)==b&&parseInt(E)==E?this.move(b,E):(this.x=Math.floor(b+.5),this.y=Math.floor(E+.5)))},v.prototype.move=function(b,E){this.x=b,this.y=E},v.prototype.translate=function(b,E){this.x+=b,this.y+=E},v.prototype.equals=function(b){if(b.constructor.name=="Point"){var E=b;return this.x==E.x&&this.y==E.y}return this==b},v.prototype.toString=function(){return new v().constructor.name+"[x="+this.x+",y="+this.y+"]"},f.exports=v},function(f,g,w){function v(b,E,S,_){this.x=0,this.y=0,this.width=0,this.height=0,b!=null&&E!=null&&S!=null&&_!=null&&(this.x=b,this.y=E,this.width=S,this.height=_)}v.prototype.getX=function(){return this.x},v.prototype.setX=function(b){this.x=b},v.prototype.getY=function(){return this.y},v.prototype.setY=function(b){this.y=b},v.prototype.getWidth=function(){return this.width},v.prototype.setWidth=function(b){this.width=b},v.prototype.getHeight=function(){return this.height},v.prototype.setHeight=function(b){this.height=b},v.prototype.getRight=function(){return this.x+this.width},v.prototype.getBottom=function(){return this.y+this.height},v.prototype.intersects=function(b){return!(this.getRight()<b.x||this.getBottom()<b.y||b.getRight()<this.x||b.getBottom()<this.y)},v.prototype.getCenterX=function(){return this.x+this.width/2},v.prototype.getMinX=function(){return this.getX()},v.prototype.getMaxX=function(){return this.getX()+this.width},v.prototype.getCenterY=function(){return this.y+this.height/2},v.prototype.getMinY=function(){return this.getY()},v.prototype.getMaxY=function(){return this.getY()+this.height},v.prototype.getWidthHalf=function(){return this.width/2},v.prototype.getHeightHalf=function(){return this.height/2},f.exports=v},function(f,g,w){var v=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(E){return typeof E}:function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E};function b(){}b.lastID=0,b.createID=function(E){return b.isPrimitive(E)?E:(E.uniqueID!=null||(E.uniqueID=b.getString(),b.lastID++),E.uniqueID)},b.getString=function(E){return E==null&&(E=b.lastID),"Object#"+E},b.isPrimitive=function(E){var S=typeof E>"u"?"undefined":v(E);return E==null||S!="object"&&S!="function"},f.exports=b},function(f,g,w){function v(Y){if(Array.isArray(Y)){for(var nt=0,ot=Array(Y.length);nt<Y.length;nt++)ot[nt]=Y[nt];return ot}else return Array.from(Y)}var b=w(0),E=w(6),S=w(3),_=w(1),M=w(5),F=w(4),R=w(17),B=w(27);function z(Y){B.call(this),this.layoutQuality=b.QUALITY,this.createBendsAsNeeded=b.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=b.DEFAULT_INCREMENTAL,this.animationOnLayout=b.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=b.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=b.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=b.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new E(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,Y!=null&&(this.isRemoteUse=Y)}z.RANDOM_SEED=1,z.prototype=Object.create(B.prototype),z.prototype.getGraphManager=function(){return this.graphManager},z.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},z.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},z.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},z.prototype.newGraphManager=function(){var Y=new E(this);return this.graphManager=Y,Y},z.prototype.newGraph=function(Y){return new M(null,this.graphManager,Y)},z.prototype.newNode=function(Y){return new S(this.graphManager,Y)},z.prototype.newEdge=function(Y){return new _(null,null,Y)},z.prototype.checkLayoutSuccess=function(){return this.graphManager.getRoot()==null||this.graphManager.getRoot().getNodes().length==0||this.graphManager.includesInvalidEdge()},z.prototype.runLayout=function(){this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters();var Y;return this.checkLayoutSuccess()?Y=!1:Y=this.layout(),b.ANIMATE==="during"?!1:(Y&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,Y)},z.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},z.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var Y=this.graphManager.getAllEdges(),nt=0;nt<Y.length;nt++)Y[nt];for(var ot=this.graphManager.getRoot().getNodes(),nt=0;nt<ot.length;nt++)ot[nt];this.update(this.graphManager.getRoot())}},z.prototype.update=function(Y){if(Y==null)this.update2();else if(Y instanceof S){var nt=Y;if(nt.getChild()!=null)for(var ot=nt.getChild().getNodes(),ft=0;ft<ot.length;ft++)update(ot[ft]);if(nt.vGraphObject!=null){var wt=nt.vGraphObject;wt.update(nt)}}else if(Y instanceof _){var mt=Y;if(mt.vGraphObject!=null){var ct=mt.vGraphObject;ct.update(mt)}}else if(Y instanceof M){var rt=Y;if(rt.vGraphObject!=null){var it=rt.vGraphObject;it.update(rt)}}},z.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=b.QUALITY,this.animationDuringLayout=b.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=b.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=b.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=b.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=b.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=b.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},z.prototype.transform=function(Y){if(Y==null)this.transform(new F(0,0));else{var nt=new R,ot=this.graphManager.getRoot().updateLeftTop();if(ot!=null){nt.setWorldOrgX(Y.x),nt.setWorldOrgY(Y.y),nt.setDeviceOrgX(ot.x),nt.setDeviceOrgY(ot.y);for(var ft=this.getAllNodes(),wt,mt=0;mt<ft.length;mt++)wt=ft[mt],wt.transform(nt)}}},z.prototype.positionNodesRandomly=function(Y){if(Y==null)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var nt,ot,ft=Y.getNodes(),wt=0;wt<ft.length;wt++)nt=ft[wt],ot=nt.getChild(),ot==null||ot.getNodes().length==0?nt.scatter():(this.positionNodesRandomly(ot),nt.updateBounds())},z.prototype.getFlatForest=function(){for(var Y=[],nt=!0,ot=this.graphManager.getRoot().getNodes(),ft=!0,wt=0;wt<ot.length;wt++)ot[wt].getChild()!=null&&(ft=!1);if(!ft)return Y;var mt=new Set,ct=[],rt=new Map,it=[];for(it=it.concat(ot);it.length>0&&nt;){for(ct.push(it[0]);ct.length>0&&nt;){var gt=ct[0];ct.splice(0,1),mt.add(gt);for(var Q=gt.getEdges(),wt=0;wt<Q.length;wt++){var dt=Q[wt].getOtherEnd(gt);if(rt.get(gt)!=dt)if(!mt.has(dt))ct.push(dt),rt.set(dt,gt);else{nt=!1;break}}}if(!nt)Y=[];else{var K=[].concat(v(mt));Y.push(K);for(var wt=0;wt<K.length;wt++){var yt=K[wt],V=it.indexOf(yt);V>-1&&it.splice(V,1)}mt=new Set,rt=new Map}}return Y},z.prototype.createDummyNodesForBendpoints=function(Y){for(var nt=[],ot=Y.source,ft=this.graphManager.calcLowestCommonAncestor(Y.source,Y.target),wt=0;wt<Y.bendpoints.length;wt++){var mt=this.newNode(null);mt.setRect(new Point(0,0),new Dimension(1,1)),ft.add(mt);var ct=this.newEdge(null);this.graphManager.add(ct,ot,mt),nt.add(mt),ot=mt}var ct=this.newEdge(null);return this.graphManager.add(ct,ot,Y.target),this.edgeToDummyNodes.set(Y,nt),Y.isInterGraph()?this.graphManager.remove(Y):ft.remove(Y),nt},z.prototype.createBendpointsFromDummyNodes=function(){var Y=[];Y=Y.concat(this.graphManager.getAllEdges()),Y=[].concat(v(this.edgeToDummyNodes.keys())).concat(Y);for(var nt=0;nt<Y.length;nt++){var ot=Y[nt];if(ot.bendpoints.length>0){for(var ft=this.edgeToDummyNodes.get(ot),wt=0;wt<ft.length;wt++){var mt=ft[wt],ct=new F(mt.getCenterX(),mt.getCenterY()),rt=ot.bendpoints.get(wt);rt.x=ct.x,rt.y=ct.y,mt.getOwner().remove(mt)}this.graphManager.add(ot,ot.source,ot.target)}}},z.transform=function(Y,nt,ot,ft){if(ot!=null&&ft!=null){var wt=nt;if(Y<=50){var mt=nt/ot;wt-=(nt-mt)/50*(50-Y)}else{var ct=nt*ft;wt+=(ct-nt)/50*(Y-50)}return wt}else{var rt,it;return Y<=50?(rt=9*nt/500,it=nt/10):(rt=9*nt/50,it=-8*nt),rt*Y+it}},z.findCenterOfTree=function(Y){var nt=[];nt=nt.concat(Y);var ot=[],ft=new Map,wt=!1,mt=null;(nt.length==1||nt.length==2)&&(wt=!0,mt=nt[0]);for(var ct=0;ct<nt.length;ct++){var rt=nt[ct],it=rt.getNeighborsList().size;ft.set(rt,rt.getNeighborsList().size),it==1&&ot.push(rt)}var gt=[];for(gt=gt.concat(ot);!wt;){var Q=[];Q=Q.concat(gt),gt=[];for(var ct=0;ct<nt.length;ct++){var rt=nt[ct],dt=nt.indexOf(rt);dt>=0&&nt.splice(dt,1);var K=rt.getNeighborsList();K.forEach(function(Ot){if(ot.indexOf(Ot)<0){var It=ft.get(Ot),jt=It-1;jt==1&&gt.push(Ot),ft.set(Ot,jt)}})}ot=ot.concat(gt),(nt.length==1||nt.length==2)&&(wt=!0,mt=nt[0])}return mt},z.prototype.setGraphManager=function(Y){this.graphManager=Y},f.exports=z},function(f,g,w){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},f.exports=v},function(f,g,w){var v=w(4);function b(E,S){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}b.prototype.getWorldOrgX=function(){return this.lworldOrgX},b.prototype.setWorldOrgX=function(E){this.lworldOrgX=E},b.prototype.getWorldOrgY=function(){return this.lworldOrgY},b.prototype.setWorldOrgY=function(E){this.lworldOrgY=E},b.prototype.getWorldExtX=function(){return this.lworldExtX},b.prototype.setWorldExtX=function(E){this.lworldExtX=E},b.prototype.getWorldExtY=function(){return this.lworldExtY},b.prototype.setWorldExtY=function(E){this.lworldExtY=E},b.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},b.prototype.setDeviceOrgX=function(E){this.ldeviceOrgX=E},b.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},b.prototype.setDeviceOrgY=function(E){this.ldeviceOrgY=E},b.prototype.getDeviceExtX=function(){return this.ldeviceExtX},b.prototype.setDeviceExtX=function(E){this.ldeviceExtX=E},b.prototype.getDeviceExtY=function(){return this.ldeviceExtY},b.prototype.setDeviceExtY=function(E){this.ldeviceExtY=E},b.prototype.transformX=function(E){var S=0,_=this.lworldExtX;return _!=0&&(S=this.ldeviceOrgX+(E-this.lworldOrgX)*this.ldeviceExtX/_),S},b.prototype.transformY=function(E){var S=0,_=this.lworldExtY;return _!=0&&(S=this.ldeviceOrgY+(E-this.lworldOrgY)*this.ldeviceExtY/_),S},b.prototype.inverseTransformX=function(E){var S=0,_=this.ldeviceExtX;return _!=0&&(S=this.lworldOrgX+(E-this.ldeviceOrgX)*this.lworldExtX/_),S},b.prototype.inverseTransformY=function(E){var S=0,_=this.ldeviceExtY;return _!=0&&(S=this.lworldOrgY+(E-this.ldeviceOrgY)*this.lworldExtY/_),S},b.prototype.inverseTransformPoint=function(E){var S=new v(this.inverseTransformX(E.x),this.inverseTransformY(E.y));return S},f.exports=b},function(f,g,w){function v(B){if(Array.isArray(B)){for(var z=0,Y=Array(B.length);z<B.length;z++)Y[z]=B[z];return Y}else return Array.from(B)}var b=w(15),E=w(7),S=w(0),_=w(8),M=w(9);function F(){b.call(this),this.useSmartIdealEdgeLengthCalculation=E.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=E.DEFAULT_EDGE_LENGTH,this.springConstant=E.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=E.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=E.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=E.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=E.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=E.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*E.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=E.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=E.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=E.MAX_ITERATIONS}F.prototype=Object.create(b.prototype);for(var R in b)F[R]=b[R];F.prototype.initParameters=function(){b.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=E.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},F.prototype.calcIdealEdgeLengths=function(){for(var B,z,Y,nt,ot,ft,wt=this.getGraphManager().getAllEdges(),mt=0;mt<wt.length;mt++)B=wt[mt],B.idealLength=this.idealEdgeLength,B.isInterGraph&&(Y=B.getSource(),nt=B.getTarget(),ot=B.getSourceInLca().getEstimatedSize(),ft=B.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(B.idealLength+=ot+ft-2*S.SIMPLE_NODE_SIZE),z=B.getLca().getInclusionTreeDepth(),B.idealLength+=E.DEFAULT_EDGE_LENGTH*E.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(Y.getInclusionTreeDepth()+nt.getInclusionTreeDepth()-2*z))},F.prototype.initSpringEmbedder=function(){var B=this.getAllNodes().length;this.incremental?(B>E.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*E.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(B-E.ADAPTATION_LOWER_NODE_LIMIT)/(E.ADAPTATION_UPPER_NODE_LIMIT-E.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-E.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=E.MAX_NODE_DISPLACEMENT_INCREMENTAL):(B>E.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(E.COOLING_ADAPTATION_FACTOR,1-(B-E.ADAPTATION_LOWER_NODE_LIMIT)/(E.ADAPTATION_UPPER_NODE_LIMIT-E.ADAPTATION_LOWER_NODE_LIMIT)*(1-E.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=E.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},F.prototype.calcSpringForces=function(){for(var B=this.getAllEdges(),z,Y=0;Y<B.length;Y++)z=B[Y],this.calcSpringForce(z,z.idealLength)},F.prototype.calcRepulsionForces=function(){var B=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Y,nt,ot,ft,wt=this.getAllNodes(),mt;if(this.useFRGridVariant)for(this.totalIterations%E.GRID_CALCULATION_CHECK_PERIOD==1&&B&&this.updateGrid(),mt=new Set,Y=0;Y<wt.length;Y++)ot=wt[Y],this.calculateRepulsionForceOfANode(ot,mt,B,z),mt.add(ot);else for(Y=0;Y<wt.length;Y++)for(ot=wt[Y],nt=Y+1;nt<wt.length;nt++)ft=wt[nt],ot.getOwner()==ft.getOwner()&&this.calcRepulsionForce(ot,ft)},F.prototype.calcGravitationalForces=function(){for(var B,z=this.getAllNodesToApplyGravitation(),Y=0;Y<z.length;Y++)B=z[Y],this.calcGravitationalForce(B)},F.prototype.moveNodes=function(){for(var B=this.getAllNodes(),z,Y=0;Y<B.length;Y++)z=B[Y],z.move()},F.prototype.calcSpringForce=function(B,z){var Y=B.getSource(),nt=B.getTarget(),ot,ft,wt,mt;if(this.uniformLeafNodeSizes&&Y.getChild()==null&&nt.getChild()==null)B.updateLengthSimple();else if(B.updateLength(),B.isOverlapingSourceAndTarget)return;ot=B.getLength(),ot!=0&&(ft=this.springConstant*(ot-z),wt=ft*(B.lengthX/ot),mt=ft*(B.lengthY/ot),Y.springForceX+=wt,Y.springForceY+=mt,nt.springForceX-=wt,nt.springForceY-=mt)},F.prototype.calcRepulsionForce=function(B,z){var Y=B.getRect(),nt=z.getRect(),ot=new Array(2),ft=new Array(4),wt,mt,ct,rt,it,gt,Q;if(Y.intersects(nt)){_.calcSeparationAmount(Y,nt,ot,E.DEFAULT_EDGE_LENGTH/2),gt=2*ot[0],Q=2*ot[1];var dt=B.noOfChildren*z.noOfChildren/(B.noOfChildren+z.noOfChildren);B.repulsionForceX-=dt*gt,B.repulsionForceY-=dt*Q,z.repulsionForceX+=dt*gt,z.repulsionForceY+=dt*Q}else this.uniformLeafNodeSizes&&B.getChild()==null&&z.getChild()==null?(wt=nt.getCenterX()-Y.getCenterX(),mt=nt.getCenterY()-Y.getCenterY()):(_.getIntersection(Y,nt,ft),wt=ft[2]-ft[0],mt=ft[3]-ft[1]),Math.abs(wt)<E.MIN_REPULSION_DIST&&(wt=M.sign(wt)*E.MIN_REPULSION_DIST),Math.abs(mt)<E.MIN_REPULSION_DIST&&(mt=M.sign(mt)*E.MIN_REPULSION_DIST),ct=wt*wt+mt*mt,rt=Math.sqrt(ct),it=this.repulsionConstant*B.noOfChildren*z.noOfChildren/ct,gt=it*wt/rt,Q=it*mt/rt,B.repulsionForceX-=gt,B.repulsionForceY-=Q,z.repulsionForceX+=gt,z.repulsionForceY+=Q},F.prototype.calcGravitationalForce=function(B){var z,Y,nt,ot,ft,wt,mt,ct;z=B.getOwner(),Y=(z.getRight()+z.getLeft())/2,nt=(z.getTop()+z.getBottom())/2,ot=B.getCenterX()-Y,ft=B.getCenterY()-nt,wt=Math.abs(ot)+B.getWidth()/2,mt=Math.abs(ft)+B.getHeight()/2,B.getOwner()==this.graphManager.getRoot()?(ct=z.getEstimatedSize()*this.gravityRangeFactor,(wt>ct||mt>ct)&&(B.gravitationForceX=-this.gravityConstant*ot,B.gravitationForceY=-this.gravityConstant*ft)):(ct=z.getEstimatedSize()*this.compoundGravityRangeFactor,(wt>ct||mt>ct)&&(B.gravitationForceX=-this.gravityConstant*ot*this.compoundGravityConstant,B.gravitationForceY=-this.gravityConstant*ft*this.compoundGravityConstant))},F.prototype.isConverged=function(){var B,z=!1;return this.totalIterations>this.maxIterations/3&&(z=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),B=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,B||z},F.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},F.prototype.calcNoOfChildrenForAllNodes=function(){for(var B,z=this.graphManager.getAllNodes(),Y=0;Y<z.length;Y++)B=z[Y],B.noOfChildren=B.getNoOfChildren()},F.prototype.calcGrid=function(B){var z=0,Y=0;z=parseInt(Math.ceil((B.getRight()-B.getLeft())/this.repulsionRange)),Y=parseInt(Math.ceil((B.getBottom()-B.getTop())/this.repulsionRange));for(var nt=new Array(z),ot=0;ot<z;ot++)nt[ot]=new Array(Y);for(var ot=0;ot<z;ot++)for(var ft=0;ft<Y;ft++)nt[ot][ft]=new Array;return nt},F.prototype.addNodeToGrid=function(B,z,Y){var nt=0,ot=0,ft=0,wt=0;nt=parseInt(Math.floor((B.getRect().x-z)/this.repulsionRange)),ot=parseInt(Math.floor((B.getRect().width+B.getRect().x-z)/this.repulsionRange)),ft=parseInt(Math.floor((B.getRect().y-Y)/this.repulsionRange)),wt=parseInt(Math.floor((B.getRect().height+B.getRect().y-Y)/this.repulsionRange));for(var mt=nt;mt<=ot;mt++)for(var ct=ft;ct<=wt;ct++)this.grid[mt][ct].push(B),B.setGridCoordinates(nt,ot,ft,wt)},F.prototype.updateGrid=function(){var B,z,Y=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),B=0;B<Y.length;B++)z=Y[B],this.addNodeToGrid(z,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},F.prototype.calculateRepulsionForceOfANode=function(B,z,Y,nt){if(this.totalIterations%E.GRID_CALCULATION_CHECK_PERIOD==1&&Y||nt){var ot=new Set;B.surrounding=new Array;for(var ft,wt=this.grid,mt=B.startX-1;mt<B.finishX+2;mt++)for(var ct=B.startY-1;ct<B.finishY+2;ct++)if(!(mt<0||ct<0||mt>=wt.length||ct>=wt[0].length)){for(var rt=0;rt<wt[mt][ct].length;rt++)if(ft=wt[mt][ct][rt],!(B.getOwner()!=ft.getOwner()||B==ft)&&!z.has(ft)&&!ot.has(ft)){var it=Math.abs(B.getCenterX()-ft.getCenterX())-(B.getWidth()/2+ft.getWidth()/2),gt=Math.abs(B.getCenterY()-ft.getCenterY())-(B.getHeight()/2+ft.getHeight()/2);it<=this.repulsionRange&&gt<=this.repulsionRange&&ot.add(ft)}}B.surrounding=[].concat(v(ot))}for(mt=0;mt<B.surrounding.length;mt++)this.calcRepulsionForce(B,B.surrounding[mt])},F.prototype.calcRepulsionRange=function(){return 0},f.exports=F},function(f,g,w){var v=w(1),b=w(7);function E(_,M,F){v.call(this,_,M,F),this.idealLength=b.DEFAULT_EDGE_LENGTH}E.prototype=Object.create(v.prototype);for(var S in v)E[S]=v[S];f.exports=E},function(f,g,w){var v=w(3);function b(S,_,M,F){v.call(this,S,_,M,F),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}b.prototype=Object.create(v.prototype);for(var E in v)b[E]=v[E];b.prototype.setGridCoordinates=function(S,_,M,F){this.startX=S,this.finishX=_,this.startY=M,this.finishY=F},f.exports=b},function(f,g,w){function v(b,E){this.width=0,this.height=0,b!==null&&E!==null&&(this.height=E,this.width=b)}v.prototype.getWidth=function(){return this.width},v.prototype.setWidth=function(b){this.width=b},v.prototype.getHeight=function(){return this.height},v.prototype.setHeight=function(b){this.height=b},f.exports=v},function(f,g,w){var v=w(14);function b(){this.map={},this.keys=[]}b.prototype.put=function(E,S){var _=v.createID(E);this.contains(_)||(this.map[_]=S,this.keys.push(E))},b.prototype.contains=function(E){return v.createID(E),this.map[E]!=null},b.prototype.get=function(E){var S=v.createID(E);return this.map[S]},b.prototype.keySet=function(){return this.keys},f.exports=b},function(f,g,w){var v=w(14);function b(){this.set={}}b.prototype.add=function(E){var S=v.createID(E);this.contains(S)||(this.set[S]=E)},b.prototype.remove=function(E){delete this.set[v.createID(E)]},b.prototype.clear=function(){this.set={}},b.prototype.contains=function(E){return this.set[v.createID(E)]==E},b.prototype.isEmpty=function(){return this.size()===0},b.prototype.size=function(){return Object.keys(this.set).length},b.prototype.addAllTo=function(E){for(var S=Object.keys(this.set),_=S.length,M=0;M<_;M++)E.push(this.set[S[M]])},b.prototype.size=function(){return Object.keys(this.set).length},b.prototype.addAll=function(E){for(var S=E.length,_=0;_<S;_++){var M=E[_];this.add(M)}},f.exports=b},function(f,g,w){var v=function(){function _(M,F){for(var R=0;R<F.length;R++){var B=F[R];B.enumerable=B.enumerable||!1,B.configurable=!0,"value"in B&&(B.writable=!0),Object.defineProperty(M,B.key,B)}}return function(M,F,R){return F&&_(M.prototype,F),R&&_(M,R),M}}();function b(_,M){if(!(_ instanceof M))throw new TypeError("Cannot call a class as a function")}var E=w(11),S=function(){function _(M,F){b(this,_),(F!==null||F!==void 0)&&(this.compareFunction=this._defaultCompareFunction);var R=void 0;M instanceof E?R=M.size():R=M.length,this._quicksort(M,0,R-1)}return v(_,[{key:"_quicksort",value:function(F,R,B){if(R<B){var z=this._partition(F,R,B);this._quicksort(F,R,z),this._quicksort(F,z+1,B)}}},{key:"_partition",value:function(F,R,B){for(var z=this._get(F,R),Y=R,nt=B;;){for(;this.compareFunction(z,this._get(F,nt));)nt--;for(;this.compareFunction(this._get(F,Y),z);)Y++;if(Y<nt)this._swap(F,Y,nt),Y++,nt--;else return nt}}},{key:"_get",value:function(F,R){return F instanceof E?F.get_object_at(R):F[R]}},{key:"_set",value:function(F,R,B){F instanceof E?F.set_object_at(R,B):F[R]=B}},{key:"_swap",value:function(F,R,B){var z=this._get(F,R);this._set(F,R,this._get(F,B)),this._set(F,B,z)}},{key:"_defaultCompareFunction",value:function(F,R){return R>F}}]),_}();f.exports=S},function(f,g,w){var v=function(){function S(_,M){for(var F=0;F<M.length;F++){var R=M[F];R.enumerable=R.enumerable||!1,R.configurable=!0,"value"in R&&(R.writable=!0),Object.defineProperty(_,R.key,R)}}return function(_,M,F){return M&&S(_.prototype,M),F&&S(_,F),_}}();function b(S,_){if(!(S instanceof _))throw new TypeError("Cannot call a class as a function")}var E=function(){function S(_,M){var F=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,R=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,B=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;b(this,S),this.sequence1=_,this.sequence2=M,this.match_score=F,this.mismatch_penalty=R,this.gap_penalty=B,this.iMax=_.length+1,this.jMax=M.length+1,this.grid=new Array(this.iMax);for(var z=0;z<this.iMax;z++){this.grid[z]=new Array(this.jMax);for(var Y=0;Y<this.jMax;Y++)this.grid[z][Y]=0}this.tracebackGrid=new Array(this.iMax);for(var nt=0;nt<this.iMax;nt++){this.tracebackGrid[nt]=new Array(this.jMax);for(var ot=0;ot<this.jMax;ot++)this.tracebackGrid[nt][ot]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return v(S,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var M=1;M<this.jMax;M++)this.grid[0][M]=this.grid[0][M-1]+this.gap_penalty,this.tracebackGrid[0][M]=[!1,!1,!0];for(var F=1;F<this.iMax;F++)this.grid[F][0]=this.grid[F-1][0]+this.gap_penalty,this.tracebackGrid[F][0]=[!1,!0,!1];for(var R=1;R<this.iMax;R++)for(var B=1;B<this.jMax;B++){var z=void 0;this.sequence1[R-1]===this.sequence2[B-1]?z=this.grid[R-1][B-1]+this.match_score:z=this.grid[R-1][B-1]+this.mismatch_penalty;var Y=this.grid[R-1][B]+this.gap_penalty,nt=this.grid[R][B-1]+this.gap_penalty,ot=[z,Y,nt],ft=this.arrayAllMaxIndexes(ot);this.grid[R][B]=ot[ft[0]],this.tracebackGrid[R][B]=[ft.includes(0),ft.includes(1),ft.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var M=[];for(M.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});M[0];){var F=M[0],R=this.tracebackGrid[F.pos[0]][F.pos[1]];R[0]&&M.push({pos:[F.pos[0]-1,F.pos[1]-1],seq1:this.sequence1[F.pos[0]-1]+F.seq1,seq2:this.sequence2[F.pos[1]-1]+F.seq2}),R[1]&&M.push({pos:[F.pos[0]-1,F.pos[1]],seq1:this.sequence1[F.pos[0]-1]+F.seq1,seq2:"-"+F.seq2}),R[2]&&M.push({pos:[F.pos[0],F.pos[1]-1],seq1:"-"+F.seq1,seq2:this.sequence2[F.pos[1]-1]+F.seq2}),F.pos[0]===0&&F.pos[1]===0&&this.alignments.push({sequence1:F.seq1,sequence2:F.seq2}),M.shift()}return this.alignments}},{key:"getAllIndexes",value:function(M,F){for(var R=[],B=-1;(B=M.indexOf(F,B+1))!==-1;)R.push(B);return R}},{key:"arrayAllMaxIndexes",value:function(M){return this.getAllIndexes(M,Math.max.apply(null,M))}}]),S}();f.exports=E},function(f,g,w){var v=function(){};v.FDLayout=w(18),v.FDLayoutConstants=w(7),v.FDLayoutEdge=w(19),v.FDLayoutNode=w(20),v.DimensionD=w(21),v.HashMap=w(22),v.HashSet=w(23),v.IGeometry=w(8),v.IMath=w(9),v.Integer=w(10),v.Point=w(12),v.PointD=w(4),v.RandomSeed=w(16),v.RectangleD=w(13),v.Transform=w(17),v.UniqueIDGeneretor=w(14),v.Quicksort=w(24),v.LinkedList=w(11),v.LGraphObject=w(2),v.LGraph=w(5),v.LEdge=w(1),v.LGraphManager=w(6),v.LNode=w(3),v.Layout=w(15),v.LayoutConstants=w(0),v.NeedlemanWunsch=w(25),f.exports=v},function(f,g,w){function v(){this.listeners=[]}var b=v.prototype;b.addListener=function(E,S){this.listeners.push({event:E,callback:S})},b.removeListener=function(E,S){for(var _=this.listeners.length;_>=0;_--){var M=this.listeners[_];M.event===E&&M.callback===S&&this.listeners.splice(_,1)}},b.emit=function(E,S){for(var _=0;_<this.listeners.length;_++){var M=this.listeners[_];E===M.event&&M.callback(S)}},f.exports=v}])})}(b2t)),b2t.exports}var XHt;function ren(){return XHt||(XHt=1,function(i,a){(function(g,w){i.exports=w(nen())})(Z0,function(f){return function(g){var w={};function v(b){if(w[b])return w[b].exports;var E=w[b]={i:b,l:!1,exports:{}};return g[b].call(E.exports,E,E.exports,v),E.l=!0,E.exports}return v.m=g,v.c=w,v.i=function(b){return b},v.d=function(b,E,S){v.o(b,E)||Object.defineProperty(b,E,{configurable:!1,enumerable:!0,get:S})},v.n=function(b){var E=b&&b.__esModule?function(){return b.default}:function(){return b};return v.d(E,"a",E),E},v.o=function(b,E){return Object.prototype.hasOwnProperty.call(b,E)},v.p="",v(v.s=7)}([function(g,w){g.exports=f},function(g,w,v){var b=v(0).FDLayoutConstants;function E(){}for(var S in b)E[S]=b[S];E.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,E.DEFAULT_RADIAL_SEPARATION=b.DEFAULT_EDGE_LENGTH,E.DEFAULT_COMPONENT_SEPERATION=60,E.TILE=!0,E.TILING_PADDING_VERTICAL=10,E.TILING_PADDING_HORIZONTAL=10,E.TREE_REDUCTION_ON_INCREMENTAL=!1,g.exports=E},function(g,w,v){var b=v(0).FDLayoutEdge;function E(_,M,F){b.call(this,_,M,F)}E.prototype=Object.create(b.prototype);for(var S in b)E[S]=b[S];g.exports=E},function(g,w,v){var b=v(0).LGraph;function E(_,M,F){b.call(this,_,M,F)}E.prototype=Object.create(b.prototype);for(var S in b)E[S]=b[S];g.exports=E},function(g,w,v){var b=v(0).LGraphManager;function E(_){b.call(this,_)}E.prototype=Object.create(b.prototype);for(var S in b)E[S]=b[S];g.exports=E},function(g,w,v){var b=v(0).FDLayoutNode,E=v(0).IMath;function S(M,F,R,B){b.call(this,M,F,R,B)}S.prototype=Object.create(b.prototype);for(var _ in b)S[_]=b[_];S.prototype.move=function(){var M=this.graphManager.getLayout();this.displacementX=M.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=M.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>M.coolingFactor*M.maxNodeDisplacement&&(this.displacementX=M.coolingFactor*M.maxNodeDisplacement*E.sign(this.displacementX)),Math.abs(this.displacementY)>M.coolingFactor*M.maxNodeDisplacement&&(this.displacementY=M.coolingFactor*M.maxNodeDisplacement*E.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),M.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},S.prototype.propogateDisplacementToChildren=function(M,F){for(var R=this.getChild().getNodes(),B,z=0;z<R.length;z++)B=R[z],B.getChild()==null?(B.moveBy(M,F),B.displacementX+=M,B.displacementY+=F):B.propogateDisplacementToChildren(M,F)},S.prototype.setPred1=function(M){this.pred1=M},S.prototype.getPred1=function(){return pred1},S.prototype.getPred2=function(){return pred2},S.prototype.setNext=function(M){this.next=M},S.prototype.getNext=function(){return next},S.prototype.setProcessed=function(M){this.processed=M},S.prototype.isProcessed=function(){return processed},g.exports=S},function(g,w,v){var b=v(0).FDLayout,E=v(4),S=v(3),_=v(5),M=v(2),F=v(1),R=v(0).FDLayoutConstants,B=v(0).LayoutConstants,z=v(0).Point,Y=v(0).PointD,nt=v(0).Layout,ot=v(0).Integer,ft=v(0).IGeometry,wt=v(0).LGraph,mt=v(0).Transform;function ct(){b.call(this),this.toBeTiled={}}ct.prototype=Object.create(b.prototype);for(var rt in b)ct[rt]=b[rt];ct.prototype.newGraphManager=function(){var it=new E(this);return this.graphManager=it,it},ct.prototype.newGraph=function(it){return new S(null,this.graphManager,it)},ct.prototype.newNode=function(it){return new _(this.graphManager,it)},ct.prototype.newEdge=function(it){return new M(null,null,it)},ct.prototype.initParameters=function(){b.prototype.initParameters.call(this,arguments),this.isSubLayout||(F.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=F.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=F.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=R.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=R.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=R.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=R.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=R.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=R.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/R.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=R.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},ct.prototype.layout=function(){var it=B.DEFAULT_CREATE_BENDS_AS_NEEDED;return it&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},ct.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(F.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var gt=new Set(this.getAllNodes()),Q=this.nodesWithGravity.filter(function(yt){return gt.has(yt)});this.graphManager.setAllNodesToApplyGravitation(Q)}}else{var it=this.getFlatForest();if(it.length>0)this.positionNodesRadially(it);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var gt=new Set(this.getAllNodes()),Q=this.nodesWithGravity.filter(function(dt){return gt.has(dt)});this.graphManager.setAllNodesToApplyGravitation(Q),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},ct.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%R.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var it=new Set(this.getAllNodes()),gt=this.nodesWithGravity.filter(function(K){return it.has(K)});this.graphManager.setAllNodesToApplyGravitation(gt),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=R.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=R.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var Q=!this.isTreeGrowing&&!this.isGrowthFinished,dt=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(Q,dt),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},ct.prototype.getPositionsData=function(){for(var it=this.graphManager.getAllNodes(),gt={},Q=0;Q<it.length;Q++){var dt=it[Q].rect,K=it[Q].id;gt[K]={id:K,x:dt.getCenterX(),y:dt.getCenterY(),w:dt.width,h:dt.height}}return gt},ct.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var it=!1;if(R.ANIMATE==="during")this.emit("layoutstarted");else{for(;!it;)it=this.tick();this.graphManager.updateBounds()}},ct.prototype.calculateNodesToApplyGravitationTo=function(){var it=[],gt,Q=this.graphManager.getGraphs(),dt=Q.length,K;for(K=0;K<dt;K++)gt=Q[K],gt.updateConnected(),gt.isConnected||(it=it.concat(gt.getNodes()));return it},ct.prototype.createBendpoints=function(){var it=[];it=it.concat(this.graphManager.getAllEdges());var gt=new Set,Q;for(Q=0;Q<it.length;Q++){var dt=it[Q];if(!gt.has(dt)){var K=dt.getSource(),yt=dt.getTarget();if(K==yt)dt.getBendpoints().push(new Y),dt.getBendpoints().push(new Y),this.createDummyNodesForBendpoints(dt),gt.add(dt);else{var V=[];if(V=V.concat(K.getEdgeListToNode(yt)),V=V.concat(yt.getEdgeListToNode(K)),!gt.has(V[0])){if(V.length>1){var Ot;for(Ot=0;Ot<V.length;Ot++){var It=V[Ot];It.getBendpoints().push(new Y),this.createDummyNodesForBendpoints(It)}}V.forEach(function(jt){gt.add(jt)})}}}if(gt.size==it.length)break}},ct.prototype.positionNodesRadially=function(it){for(var gt=new z(0,0),Q=Math.ceil(Math.sqrt(it.length)),dt=0,K=0,yt=0,V=new Y(0,0),Ot=0;Ot<it.length;Ot++){Ot%Q==0&&(yt=0,K=dt,Ot!=0&&(K+=F.DEFAULT_COMPONENT_SEPERATION),dt=0);var It=it[Ot],jt=nt.findCenterOfTree(It);gt.x=yt,gt.y=K,V=ct.radialLayout(It,jt,gt),V.y>dt&&(dt=Math.floor(V.y)),yt=Math.floor(V.x+F.DEFAULT_COMPONENT_SEPERATION)}this.transform(new Y(B.WORLD_CENTER_X-V.x/2,B.WORLD_CENTER_Y-V.y/2))},ct.radialLayout=function(it,gt,Q){var dt=Math.max(this.maxDiagonalInTree(it),F.DEFAULT_RADIAL_SEPARATION);ct.branchRadialLayout(gt,null,0,359,0,dt);var K=wt.calculateBounds(it),yt=new mt;yt.setDeviceOrgX(K.getMinX()),yt.setDeviceOrgY(K.getMinY()),yt.setWorldOrgX(Q.x),yt.setWorldOrgY(Q.y);for(var V=0;V<it.length;V++){var Ot=it[V];Ot.transform(yt)}var It=new Y(K.getMaxX(),K.getMaxY());return yt.inverseTransformPoint(It)},ct.branchRadialLayout=function(it,gt,Q,dt,K,yt){var V=(dt-Q+1)/2;V<0&&(V+=180);var Ot=(V+Q)%360,It=Ot*ft.TWO_PI/360,jt=K*Math.cos(It),xt=K*Math.sin(It);it.setCenter(jt,xt);var Ft=[];Ft=Ft.concat(it.getEdges());var Ct=Ft.length;gt!=null&&Ct--;for(var kt=0,Gt=Ft.length,Fe,Mt=it.getEdgesBetween(gt);Mt.length>1;){var pn=Mt[0];Mt.splice(0,1);var Ae=Ft.indexOf(pn);Ae>=0&&Ft.splice(Ae,1),Gt--,Ct--}gt!=null?Fe=(Ft.indexOf(Mt[0])+1)%Gt:Fe=0;for(var ye=Math.abs(dt-Q)/Ct,tn=Fe;kt!=Ct;tn=++tn%Gt){var sn=Ft[tn].getOtherEnd(it);if(sn!=gt){var be=(Q+kt*ye)%360,Ne=(be+ye)%360;ct.branchRadialLayout(sn,it,be,Ne,K+yt,yt),kt++}}},ct.maxDiagonalInTree=function(it){for(var gt=ot.MIN_VALUE,Q=0;Q<it.length;Q++){var dt=it[Q],K=dt.getDiagonal();K>gt&&(gt=K)}return gt},ct.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},ct.prototype.groupZeroDegreeMembers=function(){var it=this,gt={};this.memberGroups={},this.idToDummyNode={};for(var Q=[],dt=this.graphManager.getAllNodes(),K=0;K<dt.length;K++){var yt=dt[K],V=yt.getParent();this.getNodeDegreeWithChildren(yt)===0&&(V.id==null||!this.getToBeTiled(V))&&Q.push(yt)}for(var K=0;K<Q.length;K++){var yt=Q[K],Ot=yt.getParent().id;typeof gt[Ot]>"u"&&(gt[Ot]=[]),gt[Ot]=gt[Ot].concat(yt)}Object.keys(gt).forEach(function(It){if(gt[It].length>1){var jt="DummyCompound_"+It;it.memberGroups[jt]=gt[It];var xt=gt[It][0].getParent(),Ft=new _(it.graphManager);Ft.id=jt,Ft.paddingLeft=xt.paddingLeft||0,Ft.paddingRight=xt.paddingRight||0,Ft.paddingBottom=xt.paddingBottom||0,Ft.paddingTop=xt.paddingTop||0,it.idToDummyNode[jt]=Ft;var Ct=it.getGraphManager().add(it.newGraph(),Ft),kt=xt.getChild();kt.add(Ft);for(var Gt=0;Gt<gt[It].length;Gt++){var Fe=gt[It][Gt];kt.remove(Fe),Ct.add(Fe)}}})},ct.prototype.clearCompounds=function(){var it={},gt={};this.performDFSOnCompounds();for(var Q=0;Q<this.compoundOrder.length;Q++)gt[this.compoundOrder[Q].id]=this.compoundOrder[Q],it[this.compoundOrder[Q].id]=[].concat(this.compoundOrder[Q].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[Q].getChild()),this.compoundOrder[Q].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(it,gt)},ct.prototype.clearZeroDegreeMembers=function(){var it=this,gt=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(Q){var dt=it.idToDummyNode[Q];gt[Q]=it.tileNodes(it.memberGroups[Q],dt.paddingLeft+dt.paddingRight),dt.rect.width=gt[Q].width,dt.rect.height=gt[Q].height})},ct.prototype.repopulateCompounds=function(){for(var it=this.compoundOrder.length-1;it>=0;it--){var gt=this.compoundOrder[it],Q=gt.id,dt=gt.paddingLeft,K=gt.paddingTop;this.adjustLocations(this.tiledMemberPack[Q],gt.rect.x,gt.rect.y,dt,K)}},ct.prototype.repopulateZeroDegreeMembers=function(){var it=this,gt=this.tiledZeroDegreePack;Object.keys(gt).forEach(function(Q){var dt=it.idToDummyNode[Q],K=dt.paddingLeft,yt=dt.paddingTop;it.adjustLocations(gt[Q],dt.rect.x,dt.rect.y,K,yt)})},ct.prototype.getToBeTiled=function(it){var gt=it.id;if(this.toBeTiled[gt]!=null)return this.toBeTiled[gt];var Q=it.getChild();if(Q==null)return this.toBeTiled[gt]=!1,!1;for(var dt=Q.getNodes(),K=0;K<dt.length;K++){var yt=dt[K];if(this.getNodeDegree(yt)>0)return this.toBeTiled[gt]=!1,!1;if(yt.getChild()==null){this.toBeTiled[yt.id]=!1;continue}if(!this.getToBeTiled(yt))return this.toBeTiled[gt]=!1,!1}return this.toBeTiled[gt]=!0,!0},ct.prototype.getNodeDegree=function(it){it.id;for(var gt=it.getEdges(),Q=0,dt=0;dt<gt.length;dt++){var K=gt[dt];K.getSource().id!==K.getTarget().id&&(Q=Q+1)}return Q},ct.prototype.getNodeDegreeWithChildren=function(it){var gt=this.getNodeDegree(it);if(it.getChild()==null)return gt;for(var Q=it.getChild().getNodes(),dt=0;dt<Q.length;dt++){var K=Q[dt];gt+=this.getNodeDegreeWithChildren(K)}return gt},ct.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},ct.prototype.fillCompexOrderByDFS=function(it){for(var gt=0;gt<it.length;gt++){var Q=it[gt];Q.getChild()!=null&&this.fillCompexOrderByDFS(Q.getChild().getNodes()),this.getToBeTiled(Q)&&this.compoundOrder.push(Q)}},ct.prototype.adjustLocations=function(it,gt,Q,dt,K){gt+=dt,Q+=K;for(var yt=gt,V=0;V<it.rows.length;V++){var Ot=it.rows[V];gt=yt;for(var It=0,jt=0;jt<Ot.length;jt++){var xt=Ot[jt];xt.rect.x=gt,xt.rect.y=Q,gt+=xt.rect.width+it.horizontalPadding,xt.rect.height>It&&(It=xt.rect.height)}Q+=It+it.verticalPadding}},ct.prototype.tileCompoundMembers=function(it,gt){var Q=this;this.tiledMemberPack=[],Object.keys(it).forEach(function(dt){var K=gt[dt];Q.tiledMemberPack[dt]=Q.tileNodes(it[dt],K.paddingLeft+K.paddingRight),K.rect.width=Q.tiledMemberPack[dt].width,K.rect.height=Q.tiledMemberPack[dt].height})},ct.prototype.tileNodes=function(it,gt){var Q=F.TILING_PADDING_VERTICAL,dt=F.TILING_PADDING_HORIZONTAL,K={rows:[],rowWidth:[],rowHeight:[],width:0,height:gt,verticalPadding:Q,horizontalPadding:dt};it.sort(function(Ot,It){return Ot.rect.width*Ot.rect.height>It.rect.width*It.rect.height?-1:Ot.rect.width*Ot.rect.height<It.rect.width*It.rect.height?1:0});for(var yt=0;yt<it.length;yt++){var V=it[yt];K.rows.length==0?this.insertNodeToRow(K,V,0,gt):this.canAddHorizontal(K,V.rect.width,V.rect.height)?this.insertNodeToRow(K,V,this.getShortestRowIndex(K),gt):this.insertNodeToRow(K,V,K.rows.length,gt),this.shiftToLastRow(K)}return K},ct.prototype.insertNodeToRow=function(it,gt,Q,dt){var K=dt;if(Q==it.rows.length){var yt=[];it.rows.push(yt),it.rowWidth.push(K),it.rowHeight.push(0)}var V=it.rowWidth[Q]+gt.rect.width;it.rows[Q].length>0&&(V+=it.horizontalPadding),it.rowWidth[Q]=V,it.width<V&&(it.width=V);var Ot=gt.rect.height;Q>0&&(Ot+=it.verticalPadding);var It=0;Ot>it.rowHeight[Q]&&(It=it.rowHeight[Q],it.rowHeight[Q]=Ot,It=it.rowHeight[Q]-It),it.height+=It,it.rows[Q].push(gt)},ct.prototype.getShortestRowIndex=function(it){for(var gt=-1,Q=Number.MAX_VALUE,dt=0;dt<it.rows.length;dt++)it.rowWidth[dt]<Q&&(gt=dt,Q=it.rowWidth[dt]);return gt},ct.prototype.getLongestRowIndex=function(it){for(var gt=-1,Q=Number.MIN_VALUE,dt=0;dt<it.rows.length;dt++)it.rowWidth[dt]>Q&&(gt=dt,Q=it.rowWidth[dt]);return gt},ct.prototype.canAddHorizontal=function(it,gt,Q){var dt=this.getShortestRowIndex(it);if(dt<0)return!0;var K=it.rowWidth[dt];if(K+it.horizontalPadding+gt<=it.width)return!0;var yt=0;it.rowHeight[dt]<Q&&dt>0&&(yt=Q+it.verticalPadding-it.rowHeight[dt]);var V;it.width-K>=gt+it.horizontalPadding?V=(it.height+yt)/(K+gt+it.horizontalPadding):V=(it.height+yt)/it.width,yt=Q+it.verticalPadding;var Ot;return it.width<gt?Ot=(it.height+yt)/gt:Ot=(it.height+yt)/it.width,Ot<1&&(Ot=1/Ot),V<1&&(V=1/V),V<Ot},ct.prototype.shiftToLastRow=function(it){var gt=this.getLongestRowIndex(it),Q=it.rowWidth.length-1,dt=it.rows[gt],K=dt[dt.length-1],yt=K.width+it.horizontalPadding;if(it.width-it.rowWidth[Q]>yt&&gt!=Q){dt.splice(-1,1),it.rows[Q].push(K),it.rowWidth[gt]=it.rowWidth[gt]-yt,it.rowWidth[Q]=it.rowWidth[Q]+yt,it.width=it.rowWidth[instance.getLongestRowIndex(it)];for(var V=Number.MIN_VALUE,Ot=0;Ot<dt.length;Ot++)dt[Ot].height>V&&(V=dt[Ot].height);gt>0&&(V+=it.verticalPadding);var It=it.rowHeight[gt]+it.rowHeight[Q];it.rowHeight[gt]=V,it.rowHeight[Q]<K.height+it.verticalPadding&&(it.rowHeight[Q]=K.height+it.verticalPadding);var jt=it.rowHeight[gt]+it.rowHeight[Q];it.height+=jt-It,this.shiftToLastRow(it)}},ct.prototype.tilingPreLayout=function(){F.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},ct.prototype.tilingPostLayout=function(){F.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},ct.prototype.reduceTrees=function(){for(var it=[],gt=!0,Q;gt;){var dt=this.graphManager.getAllNodes(),K=[];gt=!1;for(var yt=0;yt<dt.length;yt++)Q=dt[yt],Q.getEdges().length==1&&!Q.getEdges()[0].isInterGraph&&Q.getChild()==null&&(K.push([Q,Q.getEdges()[0],Q.getOwner()]),gt=!0);if(gt==!0){for(var V=[],Ot=0;Ot<K.length;Ot++)K[Ot][0].getEdges().length==1&&(V.push(K[Ot]),K[Ot][0].getOwner().remove(K[Ot][0]));it.push(V),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=it},ct.prototype.growTree=function(it){for(var gt=it.length,Q=it[gt-1],dt,K=0;K<Q.length;K++)dt=Q[K],this.findPlaceforPrunedNode(dt),dt[2].add(dt[0]),dt[2].add(dt[1],dt[1].source,dt[1].target);it.splice(it.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},ct.prototype.findPlaceforPrunedNode=function(it){var gt,Q,dt=it[0];dt==it[1].source?Q=it[1].target:Q=it[1].source;var K=Q.startX,yt=Q.finishX,V=Q.startY,Ot=Q.finishY,It=0,jt=0,xt=0,Ft=0,Ct=[It,xt,jt,Ft];if(V>0)for(var kt=K;kt<=yt;kt++)Ct[0]+=this.grid[kt][V-1].length+this.grid[kt][V].length-1;if(yt<this.grid.length-1)for(var kt=V;kt<=Ot;kt++)Ct[1]+=this.grid[yt+1][kt].length+this.grid[yt][kt].length-1;if(Ot<this.grid[0].length-1)for(var kt=K;kt<=yt;kt++)Ct[2]+=this.grid[kt][Ot+1].length+this.grid[kt][Ot].length-1;if(K>0)for(var kt=V;kt<=Ot;kt++)Ct[3]+=this.grid[K-1][kt].length+this.grid[K][kt].length-1;for(var Gt=ot.MAX_VALUE,Fe,Mt,pn=0;pn<Ct.length;pn++)Ct[pn]<Gt?(Gt=Ct[pn],Fe=1,Mt=pn):Ct[pn]==Gt&&Fe++;if(Fe==3&&Gt==0)Ct[0]==0&&Ct[1]==0&&Ct[2]==0?gt=1:Ct[0]==0&&Ct[1]==0&&Ct[3]==0?gt=0:Ct[0]==0&&Ct[2]==0&&Ct[3]==0?gt=3:Ct[1]==0&&Ct[2]==0&&Ct[3]==0&&(gt=2);else if(Fe==2&&Gt==0){var Ae=Math.floor(Math.random()*2);Ct[0]==0&&Ct[1]==0?Ae==0?gt=0:gt=1:Ct[0]==0&&Ct[2]==0?Ae==0?gt=0:gt=2:Ct[0]==0&&Ct[3]==0?Ae==0?gt=0:gt=3:Ct[1]==0&&Ct[2]==0?Ae==0?gt=1:gt=2:Ct[1]==0&&Ct[3]==0?Ae==0?gt=1:gt=3:Ae==0?gt=2:gt=3}else if(Fe==4&&Gt==0){var Ae=Math.floor(Math.random()*4);gt=Ae}else gt=Mt;gt==0?dt.setCenter(Q.getCenterX(),Q.getCenterY()-Q.getHeight()/2-R.DEFAULT_EDGE_LENGTH-dt.getHeight()/2):gt==1?dt.setCenter(Q.getCenterX()+Q.getWidth()/2+R.DEFAULT_EDGE_LENGTH+dt.getWidth()/2,Q.getCenterY()):gt==2?dt.setCenter(Q.getCenterX(),Q.getCenterY()+Q.getHeight()/2+R.DEFAULT_EDGE_LENGTH+dt.getHeight()/2):dt.setCenter(Q.getCenterX()-Q.getWidth()/2-R.DEFAULT_EDGE_LENGTH-dt.getWidth()/2,Q.getCenterY())},g.exports=ct},function(g,w,v){var b={};b.layoutBase=v(0),b.CoSEConstants=v(1),b.CoSEEdge=v(2),b.CoSEGraph=v(3),b.CoSEGraphManager=v(4),b.CoSELayout=v(6),b.CoSENode=v(5),g.exports=b}])})}(p2t)),p2t.exports}(function(i,a){(function(g,w){i.exports=w(ren())})(Z0,function(f){return function(g){var w={};function v(b){if(w[b])return w[b].exports;var E=w[b]={i:b,l:!1,exports:{}};return g[b].call(E.exports,E,E.exports,v),E.l=!0,E.exports}return v.m=g,v.c=w,v.i=function(b){return b},v.d=function(b,E,S){v.o(b,E)||Object.defineProperty(b,E,{configurable:!1,enumerable:!0,get:S})},v.n=function(b){var E=b&&b.__esModule?function(){return b.default}:function(){return b};return v.d(E,"a",E),E},v.o=function(b,E){return Object.prototype.hasOwnProperty.call(b,E)},v.p="",v(v.s=1)}([function(g,w){g.exports=f},function(g,w,v){var b=v(0).layoutBase.LayoutConstants,E=v(0).layoutBase.FDLayoutConstants,S=v(0).CoSEConstants,_=v(0).CoSELayout,M=v(0).CoSENode,F=v(0).layoutBase.PointD,R=v(0).layoutBase.DimensionD,B={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function z(ft,wt){var mt={};for(var ct in ft)mt[ct]=ft[ct];for(var ct in wt)mt[ct]=wt[ct];return mt}function Y(ft){this.options=z(B,ft),nt(this.options)}var nt=function(wt){wt.nodeRepulsion!=null&&(S.DEFAULT_REPULSION_STRENGTH=E.DEFAULT_REPULSION_STRENGTH=wt.nodeRepulsion),wt.idealEdgeLength!=null&&(S.DEFAULT_EDGE_LENGTH=E.DEFAULT_EDGE_LENGTH=wt.idealEdgeLength),wt.edgeElasticity!=null&&(S.DEFAULT_SPRING_STRENGTH=E.DEFAULT_SPRING_STRENGTH=wt.edgeElasticity),wt.nestingFactor!=null&&(S.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=E.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=wt.nestingFactor),wt.gravity!=null&&(S.DEFAULT_GRAVITY_STRENGTH=E.DEFAULT_GRAVITY_STRENGTH=wt.gravity),wt.numIter!=null&&(S.MAX_ITERATIONS=E.MAX_ITERATIONS=wt.numIter),wt.gravityRange!=null&&(S.DEFAULT_GRAVITY_RANGE_FACTOR=E.DEFAULT_GRAVITY_RANGE_FACTOR=wt.gravityRange),wt.gravityCompound!=null&&(S.DEFAULT_COMPOUND_GRAVITY_STRENGTH=E.DEFAULT_COMPOUND_GRAVITY_STRENGTH=wt.gravityCompound),wt.gravityRangeCompound!=null&&(S.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=E.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=wt.gravityRangeCompound),wt.initialEnergyOnIncremental!=null&&(S.DEFAULT_COOLING_FACTOR_INCREMENTAL=E.DEFAULT_COOLING_FACTOR_INCREMENTAL=wt.initialEnergyOnIncremental),wt.quality=="draft"?b.QUALITY=0:wt.quality=="proof"?b.QUALITY=2:b.QUALITY=1,S.NODE_DIMENSIONS_INCLUDE_LABELS=E.NODE_DIMENSIONS_INCLUDE_LABELS=b.NODE_DIMENSIONS_INCLUDE_LABELS=wt.nodeDimensionsIncludeLabels,S.DEFAULT_INCREMENTAL=E.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=!wt.randomize,S.ANIMATE=E.ANIMATE=b.ANIMATE=wt.animate,S.TILE=wt.tile,S.TILING_PADDING_VERTICAL=typeof wt.tilingPaddingVertical=="function"?wt.tilingPaddingVertical.call():wt.tilingPaddingVertical,S.TILING_PADDING_HORIZONTAL=typeof wt.tilingPaddingHorizontal=="function"?wt.tilingPaddingHorizontal.call():wt.tilingPaddingHorizontal};Y.prototype.run=function(){var ft,wt,mt=this.options;this.idToLNode={};var ct=this.layout=new _,rt=this;rt.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var it=ct.newGraphManager();this.gm=it;var gt=this.options.eles.nodes(),Q=this.options.eles.edges();this.root=it.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(gt),ct);for(var dt=0;dt<Q.length;dt++){var K=Q[dt],yt=this.idToLNode[K.data("source")],V=this.idToLNode[K.data("target")];if(yt!==V&&yt.getEdgesBetween(V).length==0){var Ot=it.add(ct.newEdge(),yt,V);Ot.id=K.id()}}var It=function(Ft,Ct){typeof Ft=="number"&&(Ft=Ct);var kt=Ft.data("id"),Gt=rt.idToLNode[kt];return{x:Gt.getRect().getCenterX(),y:Gt.getRect().getCenterY()}},jt=function xt(){for(var Ft=function(){mt.fit&&mt.cy.fit(mt.eles,mt.padding),ft||(ft=!0,rt.cy.one("layoutready",mt.ready),rt.cy.trigger({type:"layoutready",layout:rt}))},Ct=rt.options.refresh,kt,Gt=0;Gt<Ct&&!kt;Gt++)kt=rt.stopped||rt.layout.tick();if(kt){ct.checkLayoutSuccess()&&!ct.isSubLayout&&ct.doPostLayout(),ct.tilingPostLayout&&ct.tilingPostLayout(),ct.isLayoutFinished=!0,rt.options.eles.nodes().positions(It),Ft(),rt.cy.one("layoutstop",rt.options.stop),rt.cy.trigger({type:"layoutstop",layout:rt}),wt&&cancelAnimationFrame(wt),ft=!1;return}var Fe=rt.layout.getPositionsData();mt.eles.nodes().positions(function(Mt,pn){if(typeof Mt=="number"&&(Mt=pn),!Mt.isParent()){for(var Ae=Mt.id(),ye=Fe[Ae],tn=Mt;ye==null&&(ye=Fe[tn.data("parent")]||Fe["DummyCompound_"+tn.data("parent")],Fe[Ae]=ye,tn=tn.parent()[0],tn!=null););return ye!=null?{x:ye.x,y:ye.y}:{x:Mt.position("x"),y:Mt.position("y")}}}),Ft(),wt=requestAnimationFrame(xt)};return ct.addListener("layoutstarted",function(){rt.options.animate==="during"&&(wt=requestAnimationFrame(jt))}),ct.runLayout(),this.options.animate!=="during"&&(rt.options.eles.nodes().not(":parent").layoutPositions(rt,rt.options,It),ft=!1),this},Y.prototype.getTopMostNodes=function(ft){for(var wt={},mt=0;mt<ft.length;mt++)wt[ft[mt].id()]=!0;var ct=ft.filter(function(rt,it){typeof rt=="number"&&(rt=it);for(var gt=rt.parent()[0];gt!=null;){if(wt[gt.id()])return!1;gt=gt.parent()[0]}return!0});return ct},Y.prototype.processChildrenList=function(ft,wt,mt){for(var ct=wt.length,rt=0;rt<ct;rt++){var it=wt[rt],gt=it.children(),Q,dt=it.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if(it.outerWidth()!=null&&it.outerHeight()!=null?Q=ft.add(new M(mt.graphManager,new F(it.position("x")-dt.w/2,it.position("y")-dt.h/2),new R(parseFloat(dt.w),parseFloat(dt.h)))):Q=ft.add(new M(this.graphManager)),Q.id=it.data("id"),Q.paddingLeft=parseInt(it.css("padding")),Q.paddingTop=parseInt(it.css("padding")),Q.paddingRight=parseInt(it.css("padding")),Q.paddingBottom=parseInt(it.css("padding")),this.options.nodeDimensionsIncludeLabels&&it.isParent()){var K=it.boundingBox({includeLabels:!0,includeNodes:!1}).w,yt=it.boundingBox({includeLabels:!0,includeNodes:!1}).h,V=it.css("text-halign");Q.labelWidth=K,Q.labelHeight=yt,Q.labelPos=V}if(this.idToLNode[it.data("id")]=Q,isNaN(Q.rect.x)&&(Q.rect.x=0),isNaN(Q.rect.y)&&(Q.rect.y=0),gt!=null&&gt.length>0){var Ot;Ot=mt.getGraphManager().add(mt.newGraph(),Q),this.processChildrenList(Ot,gt,mt)}}},Y.prototype.stop=function(){return this.stopped=!0,this};var ot=function(wt){wt("layout","cose-bilkent",Y)};typeof cytoscape<"u"&&ot(cytoscape),g.exports=ot}])})})(WHt);var ien=WHt.exports;const sen=e9(ien),aen=12,oen=function(i,a,f,g){a.append("path").attr("id","node-"+f.id).attr("class","node-bkg node-"+i.type2Str(f.type)).attr("d",`M0 ${f.height-5} v${-f.height+2*5} q0,-5 5,-5 h${f.width-2*5} q5,0 5,5 v${f.height-5} H0 Z`),a.append("line").attr("class","node-line-"+g).attr("x1",0).attr("y1",f.height).attr("x2",f.width).attr("y2",f.height)},cen=function(i,a,f){a.append("rect").attr("id","node-"+f.id).attr("class","node-bkg node-"+i.type2Str(f.type)).attr("height",f.height).attr("width",f.width)},uen=function(i,a,f){const g=f.width,w=f.height,v=.15*g,b=.25*g,E=.35*g,S=.2*g;a.append("path").attr("id","node-"+f.id).attr("class","node-bkg node-"+i.type2Str(f.type)).attr("d",`M0 0 a${v},${v} 0 0,1 ${g*.25},${-1*g*.1}